Programa
Conjunto de instrucciones que producirán la ejecución de una
determinada tarea.
• Ordenes dadas a la máquina.
• Vb, java, C, entre otros.
COMPILADOR
0101011
0111000
1010100
1010011
EJECUTABLEALGORITMOPROGRAMA
Fases:
El proceso ÓPTIMO para elaborar PROGRAMAS informáticos:
D
O
C
U
M
E
N
T
A
C
I
Ó
N
M
A
N
T
E
N
I
M
I
E
N
T
O
Definición y Análisis
del problema
Diseño del Algoritmo.
Codificación del
Programa.
Depuración y
Verificación.
Partes de un programa
Entrada, Salida, y Algoritmo de Resolución = técnicas para
para obtener las salidas a partir de las entradas.
Entrada
PROGRAMA
(Algoritmo de
Resolución)
Salida
Datos:
Nombre ← “Carlos”
anoActual = 2009
anoNacim = 2001
cedula = 1102655103
Resultados:
Nombre ← “Carlos”
edad <- anoActual - anoNacim;
Leer anoNacim;
Escribir "Carlos tu edad es ", edad, " años";
Leer Lógica Escribir
Instrucciones
Cuanto escribimos un Algoritmo o lo codificación:
• Definimos las acciones o INSTRUCCIONES que resolverán
el problema, SECUENCIALMENTE.
asignación
lectura
escritura
fin
inicio algoritmo MiPrimerPrograma
var
entero: edad, anoNac
inicio
…..
fin
Proceso CalcularEdad
edad<-0;
…..
FinProceso
Module SumarDosNumeros
Public Sub Main()
Dim edad As Integer
.....
End Sub
End Module
Instrucciones
asignación
lectura
escritura
fin
inicio
leer (anoNac)
Leer anoNac;
anoNac = Console.ReadLine()
Cuanto escribimos un Algoritmo o lo codificación:
• Definimos las acciones o INSTRUCCIONES que resolverán
el problema, SECUENCIALMENTE.
Instrucciones
asignación
lectura
escritura
fin
inicio
edad  2014 – anoNac
edad  2014 – anoNac;
edad = 2014 – anoNac
Cuanto escribimos un Algoritmo o lo codificación:
• Definimos las acciones o INSTRUCCIONES que resolverán
el problema, SECUENCIALMENTE.
Instrucciones
asignación
lectura
escritura
fin
inicio
escribir (‘edad es: ’, edad)
Console.WriteLine(“edad es: " & respuesta)
Escribir "edad es ", edad, " años";
Cuanto escribimos un Algoritmo o lo codificación:
• Definimos las acciones o INSTRUCCIONES que resolverán
el problema, SECUENCIALMENTE.
Instrucciones
asignación
lectura
escritura
fin
inicio
algoritmo MiPrimerPrograma
var
entero: edad, anoNac
inicio
leer (anoNac)
edad  2014 – anoNac
escribir (‘edad es: ’, edad)
Fin
ALGORITMO GENERICO
Cuanto escribimos un Algoritmo o lo codificación:
• Definimos las acciones o INSTRUCCIONES que resolverán
el problema, SECUENCIALMENTE.
Instrucciones
asignación
lectura
escritura
fin
inicio
Proceso MiPrimerPrograma
edad <- 0;
Leer anoNac;
edad <- 2014 - anoNac;
Escribir "edad es ", edad, " años";
FinProceso
ALGORITMO PSeint
Cuanto escribimos un Algoritmo o lo codificación:
• Definimos las acciones o INSTRUCCIONES que resolverán
el problema, SECUENCIALMENTE.
Instrucciones
asignación
lectura
escritura
fin
inicio
Module MiPrimerPrograma
Public Sub Main()
Dim edad, anoNac As Integer
anoNac = Console.ReadLine()
edad = 2014 - anoNac
Console.WriteLine("edad es: " & edad)
Console.ReadLine()
End Sub
End Module
ALGORITMO CODIFICADO
Cuanto escribimos un Algoritmo o lo codificación:
• Definimos las acciones o INSTRUCCIONES que resolverán
el problema, SECUENCIALMENTE.
Elementos de un programa
Cada instrución puede estar compuesta por los siguientes
elementos:
Module MiPrimerPrograma
Public Sub Main()
Dim edad, anoNac, anoAct As Integer
Const anoAct as Integer = 2014
anoNac = Console.ReadLine()
edad = 2014 - anoNac
Console.WriteLine("edad es: " & edad)
Console.ReadLine()
End Sub
End Module
ALGORITMO CODIFICADO
Datos
Sin datos un programa no funcionaria correctamente
• Los programas manipulan los datos de forma diferente según el
tipo de dato del que se trate.
Module MiPrimerPrograma
Public Sub Main()
Dim edad, anoNac, anoAct As Integer
anoAct = 2014
anoNac = Console.ReadLine()
edad = 2014 - anoNac
Console.WriteLine("edad es: " & edad)
Console.ReadLine()
End Sub
End Module
ALGORITMO CODIFICADO
Dim edad, anoNac, anoAct As Integer
anoNac = Console.ReadLine()
edad = 2014 - anoNac
Tipos de datos
Los tipos de datos generales son:
• Numéricos (enteros, decimales), caracteres y lógicos.
Tipo de Visual Basic Intervalo de valores
Boolean True o False
Char (carácter individual) 0 a 65535 (sin signo)
Decimal
Double (punto flotante de precisión
doble)
4,94065645841246544E-324
-1,79769313486231570E+308
Integer
-2.147.483.648 a 2.147.483.647 (con
signo)
Long (entero largo)
String (longitud variable)
0 a 2.000 millones de caracteres
Unicode aprox.
Variables y constantes
Variable:
• Objeto de dato con un nombre, un tipo y un valor asociado que puede
modificarse libremente durante la ejecución de un programa.
Constate:
• Objeto de dato con un nombre, un tipo y un valor asociado que no
puede modificarse una vez definido.
Dim edad, anoNac, anoAct As Integer
anoNac = Console.ReadLine()
edad = 2014 - anoNac
Const anoAct As Integer = 2014
Const PI As Double = 3.1416
anoAct = 2015
Operadores
Es un símbolo formado por uno o más caracteres que
permite realizar una determinada operación entre uno o
más datos y producen un resultados.
Operador Significado Tipos de Operador Tipo de Resultado
^ Exponeciación Entero o real Entero o real
* Multiplicación Entero o real Entero o real
/ División Real Real
div,  División Entera Entero Entero
mod Módulo(resto) Entero Entero
+ Suma Entero o real Entero o real
- Resta Entero o real Entero o real
+, -, & Concatenación
de cadenas
cadenas cadenas
Operadores
Ejemplos:
Dim intNum1 As Integer = 5
Dim intNum2 As Integer = 8
Dim Respsta As Integer = 0
Respsta = intNum1 & intNum2
Console.WriteLine("Respsta = " & Respsta)
' The preceding statement sets Respsta to 58.
Respsta = intNum1 + intNum2
Console.WriteLine("Respsta = " & Respsta)
' The preceding statement sets Respsta to 13.
Dim z As Double
z = 23 ^ 3
Console.WriteLine("z = " & z)
' The preceding statement sets z to 12167 (the cube of 23).
Operadores
Ejemplos:
Dim x As Integer = 100
Dim y As Integer = 6
Dim z As Integer
z = x Mod y
' The preceding statement sets z to 4.
Dim k As Integer
k = 100  6
' The preceding statement sets k to 16.
100 6
40 16
36
04
Expresiones
Son combinación de:
• constantes, varíales, símbolos > <, símbolos de operación
+ - / *, paréntesis y nombres de funciones cos, tan, mod.
Expresión Resultado Expresión Resultado
10.5/3.0 3.5 -4*7+2^3/4-5
-4*7+8/4-5
-28+8/4-5
-28+2-5
-26 -5
-31
-31
10 div 3 3
18 div 2 9
10 mod 3 1 Siendo A=5 B=25 C=10
A+B mod C
5+25 mod 10
5+5
10
10 mod 2 0
6 mod 8 0
Operadores de relación
Permiten comparar datos de tipo numérico o caracter.
Expresan CONDICIONES en los Algoritmos.
Operador Condición que prueba Ejemplos
= (Igualdad) ¿Es igual el valor de la primera expresión que
el de la segunda?
23 = 23 ' True
23 = 12 ' False
<> (Desigualdad) ¿Es distinto el valor de la primera expresión
del valor de la segunda?
23 <> 33 ' True
23 <> 23 ' False
< (Menor que) ¿Es el valor de la primera expresión menor
que el valor de la segunda?
23 < 33 ' True
23 < 12 ' False
> (Mayor que) ¿Es el valor de la primera expresión mayor
que el valor de la segunda?
23 > 23 ' False
23 > 12 ' True
<= (Menor o igual que) ¿Es el valor de la primera expresión menor o
igual que el valor de la segunda?
23 <= 33 ' True
23 <= 23 ' True
23 <= 12 ' False
>= (Mayor o igual que) ¿Es el valor de la primera expresión mayor o
igual que el valor de la segunda?
23 >= 33 ' False
23 >= 12 ' True
Operadores lógicos
O llamados también Booleanos básicos: not, and or.
• En las expresiones lógicas se pueden mezclar operadores de Relacion y
Logicos
Operador Lógico Expresión Lógica Significado
no (not) no p (not p) Negación de p
y (and) p y q (p and q) Conjunción de p y q
o (or) p o q (p or q) Disyunción de p o q
Expresion Resultado
(10 > 5) y (5 < 10) Es verdadero
(5 > 10) o (‘A’ < ‘B’) Es verdadera, ya que ‘A’ es menor que
‘B’
Otras funciones internas
Operador Decripción
Tipo de
argumeto X
abs(x) Valor Adsoluto de X Entero o real
arctan(x) Arco tangente de X Entero o real
cos(x) Coseno de X Entero o real
exp(x) Exponencial de X Entero o real
cuadrado(x)
sqr(x)
Cudrado de X Entero o real
Cuando se nacesita mas que un operador aritmético
lógico básico.
Escritura de Algoritmos
PSeint:
• Intérprete de
pseudocódigo.
• Incluye
funcionalidades:
ayuda
integrada,
generación de
diagramas de
flujo o
exportación a
código C++.
Escritura de Algoritmos
algoritmo MiPrimerPrograma
var
entero: edad, anoNac
inicio
leer (anoNac)
edad  2009 – anoNac
escribir (‘edad es: ’, edad)
Fin
ALGORITMO GENERICO
Escritura de Algoritmos
Proceso MiPrimerPrograma
edad <- 0;
Leer anoNac;
edad <- 2009 - anoNac;
Escribir "edad es ", edad, " años";
FinProceso
ALGORITMO PSeint
Escritura de Algoritmos
DIAGRAMA DEL ALGORITMO PSeint
Codificación de Algoritmos
Module MiPrimerPrograma
Public Sub Main()
Dim edad, anoNac, anoAct As Integer
anoAct = 2009
anoNac = Console.ReadLine()
edad = 2009 - anoNac
Console.WriteLine("edad es: " & edad)
Console.ReadLine()
End Sub
End Module
ALGORITMO CODIFICADO
Ejercicios
 Elaborar un algoritmo que permita cambiar un vidrio
roto de una ventana
 Elaborar un algoritmo para hacer una llamada
telefónica.
 Elaborar un algoritmo que guie a una persona
normal a cambiar un foco.
 Muestre un algoritmo que lea 2 valores a, b y los
intercambie. Por ejemplo si a = 2 y b=5, el algoritmo
debe hacer que a = 5 y b=2.
 Muestre un algoritmo que permita hallar los n
primeros números naturales
 Muestre un algoritmo que calcule la suma de los
cuadrados de los primeros números naturales.

Fundamentosdeprogramacion 2

  • 3.
    Programa Conjunto de instruccionesque producirán la ejecución de una determinada tarea. • Ordenes dadas a la máquina. • Vb, java, C, entre otros. COMPILADOR 0101011 0111000 1010100 1010011 EJECUTABLEALGORITMOPROGRAMA
  • 4.
    Fases: El proceso ÓPTIMOpara elaborar PROGRAMAS informáticos: D O C U M E N T A C I Ó N M A N T E N I M I E N T O Definición y Análisis del problema Diseño del Algoritmo. Codificación del Programa. Depuración y Verificación.
  • 5.
    Partes de unprograma Entrada, Salida, y Algoritmo de Resolución = técnicas para para obtener las salidas a partir de las entradas. Entrada PROGRAMA (Algoritmo de Resolución) Salida Datos: Nombre ← “Carlos” anoActual = 2009 anoNacim = 2001 cedula = 1102655103 Resultados: Nombre ← “Carlos” edad <- anoActual - anoNacim; Leer anoNacim; Escribir "Carlos tu edad es ", edad, " años"; Leer Lógica Escribir
  • 6.
    Instrucciones Cuanto escribimos unAlgoritmo o lo codificación: • Definimos las acciones o INSTRUCCIONES que resolverán el problema, SECUENCIALMENTE. asignación lectura escritura fin inicio algoritmo MiPrimerPrograma var entero: edad, anoNac inicio ….. fin Proceso CalcularEdad edad<-0; ….. FinProceso Module SumarDosNumeros Public Sub Main() Dim edad As Integer ..... End Sub End Module
  • 7.
    Instrucciones asignación lectura escritura fin inicio leer (anoNac) Leer anoNac; anoNac= Console.ReadLine() Cuanto escribimos un Algoritmo o lo codificación: • Definimos las acciones o INSTRUCCIONES que resolverán el problema, SECUENCIALMENTE.
  • 8.
    Instrucciones asignación lectura escritura fin inicio edad  2014– anoNac edad  2014 – anoNac; edad = 2014 – anoNac Cuanto escribimos un Algoritmo o lo codificación: • Definimos las acciones o INSTRUCCIONES que resolverán el problema, SECUENCIALMENTE.
  • 9.
    Instrucciones asignación lectura escritura fin inicio escribir (‘edad es:’, edad) Console.WriteLine(“edad es: " & respuesta) Escribir "edad es ", edad, " años"; Cuanto escribimos un Algoritmo o lo codificación: • Definimos las acciones o INSTRUCCIONES que resolverán el problema, SECUENCIALMENTE.
  • 10.
    Instrucciones asignación lectura escritura fin inicio algoritmo MiPrimerPrograma var entero: edad,anoNac inicio leer (anoNac) edad  2014 – anoNac escribir (‘edad es: ’, edad) Fin ALGORITMO GENERICO Cuanto escribimos un Algoritmo o lo codificación: • Definimos las acciones o INSTRUCCIONES que resolverán el problema, SECUENCIALMENTE.
  • 11.
    Instrucciones asignación lectura escritura fin inicio Proceso MiPrimerPrograma edad <-0; Leer anoNac; edad <- 2014 - anoNac; Escribir "edad es ", edad, " años"; FinProceso ALGORITMO PSeint Cuanto escribimos un Algoritmo o lo codificación: • Definimos las acciones o INSTRUCCIONES que resolverán el problema, SECUENCIALMENTE.
  • 12.
    Instrucciones asignación lectura escritura fin inicio Module MiPrimerPrograma Public SubMain() Dim edad, anoNac As Integer anoNac = Console.ReadLine() edad = 2014 - anoNac Console.WriteLine("edad es: " & edad) Console.ReadLine() End Sub End Module ALGORITMO CODIFICADO Cuanto escribimos un Algoritmo o lo codificación: • Definimos las acciones o INSTRUCCIONES que resolverán el problema, SECUENCIALMENTE.
  • 13.
    Elementos de unprograma Cada instrución puede estar compuesta por los siguientes elementos: Module MiPrimerPrograma Public Sub Main() Dim edad, anoNac, anoAct As Integer Const anoAct as Integer = 2014 anoNac = Console.ReadLine() edad = 2014 - anoNac Console.WriteLine("edad es: " & edad) Console.ReadLine() End Sub End Module ALGORITMO CODIFICADO
  • 14.
    Datos Sin datos unprograma no funcionaria correctamente • Los programas manipulan los datos de forma diferente según el tipo de dato del que se trate. Module MiPrimerPrograma Public Sub Main() Dim edad, anoNac, anoAct As Integer anoAct = 2014 anoNac = Console.ReadLine() edad = 2014 - anoNac Console.WriteLine("edad es: " & edad) Console.ReadLine() End Sub End Module ALGORITMO CODIFICADO Dim edad, anoNac, anoAct As Integer anoNac = Console.ReadLine() edad = 2014 - anoNac
  • 15.
    Tipos de datos Lostipos de datos generales son: • Numéricos (enteros, decimales), caracteres y lógicos. Tipo de Visual Basic Intervalo de valores Boolean True o False Char (carácter individual) 0 a 65535 (sin signo) Decimal Double (punto flotante de precisión doble) 4,94065645841246544E-324 -1,79769313486231570E+308 Integer -2.147.483.648 a 2.147.483.647 (con signo) Long (entero largo) String (longitud variable) 0 a 2.000 millones de caracteres Unicode aprox.
  • 16.
    Variables y constantes Variable: •Objeto de dato con un nombre, un tipo y un valor asociado que puede modificarse libremente durante la ejecución de un programa. Constate: • Objeto de dato con un nombre, un tipo y un valor asociado que no puede modificarse una vez definido. Dim edad, anoNac, anoAct As Integer anoNac = Console.ReadLine() edad = 2014 - anoNac Const anoAct As Integer = 2014 Const PI As Double = 3.1416 anoAct = 2015
  • 17.
    Operadores Es un símboloformado por uno o más caracteres que permite realizar una determinada operación entre uno o más datos y producen un resultados. Operador Significado Tipos de Operador Tipo de Resultado ^ Exponeciación Entero o real Entero o real * Multiplicación Entero o real Entero o real / División Real Real div, División Entera Entero Entero mod Módulo(resto) Entero Entero + Suma Entero o real Entero o real - Resta Entero o real Entero o real +, -, & Concatenación de cadenas cadenas cadenas
  • 18.
    Operadores Ejemplos: Dim intNum1 AsInteger = 5 Dim intNum2 As Integer = 8 Dim Respsta As Integer = 0 Respsta = intNum1 & intNum2 Console.WriteLine("Respsta = " & Respsta) ' The preceding statement sets Respsta to 58. Respsta = intNum1 + intNum2 Console.WriteLine("Respsta = " & Respsta) ' The preceding statement sets Respsta to 13. Dim z As Double z = 23 ^ 3 Console.WriteLine("z = " & z) ' The preceding statement sets z to 12167 (the cube of 23).
  • 19.
    Operadores Ejemplos: Dim x AsInteger = 100 Dim y As Integer = 6 Dim z As Integer z = x Mod y ' The preceding statement sets z to 4. Dim k As Integer k = 100 6 ' The preceding statement sets k to 16. 100 6 40 16 36 04
  • 20.
    Expresiones Son combinación de: •constantes, varíales, símbolos > <, símbolos de operación + - / *, paréntesis y nombres de funciones cos, tan, mod. Expresión Resultado Expresión Resultado 10.5/3.0 3.5 -4*7+2^3/4-5 -4*7+8/4-5 -28+8/4-5 -28+2-5 -26 -5 -31 -31 10 div 3 3 18 div 2 9 10 mod 3 1 Siendo A=5 B=25 C=10 A+B mod C 5+25 mod 10 5+5 10 10 mod 2 0 6 mod 8 0
  • 21.
    Operadores de relación Permitencomparar datos de tipo numérico o caracter. Expresan CONDICIONES en los Algoritmos. Operador Condición que prueba Ejemplos = (Igualdad) ¿Es igual el valor de la primera expresión que el de la segunda? 23 = 23 ' True 23 = 12 ' False <> (Desigualdad) ¿Es distinto el valor de la primera expresión del valor de la segunda? 23 <> 33 ' True 23 <> 23 ' False < (Menor que) ¿Es el valor de la primera expresión menor que el valor de la segunda? 23 < 33 ' True 23 < 12 ' False > (Mayor que) ¿Es el valor de la primera expresión mayor que el valor de la segunda? 23 > 23 ' False 23 > 12 ' True <= (Menor o igual que) ¿Es el valor de la primera expresión menor o igual que el valor de la segunda? 23 <= 33 ' True 23 <= 23 ' True 23 <= 12 ' False >= (Mayor o igual que) ¿Es el valor de la primera expresión mayor o igual que el valor de la segunda? 23 >= 33 ' False 23 >= 12 ' True
  • 22.
    Operadores lógicos O llamadostambién Booleanos básicos: not, and or. • En las expresiones lógicas se pueden mezclar operadores de Relacion y Logicos Operador Lógico Expresión Lógica Significado no (not) no p (not p) Negación de p y (and) p y q (p and q) Conjunción de p y q o (or) p o q (p or q) Disyunción de p o q Expresion Resultado (10 > 5) y (5 < 10) Es verdadero (5 > 10) o (‘A’ < ‘B’) Es verdadera, ya que ‘A’ es menor que ‘B’
  • 23.
    Otras funciones internas OperadorDecripción Tipo de argumeto X abs(x) Valor Adsoluto de X Entero o real arctan(x) Arco tangente de X Entero o real cos(x) Coseno de X Entero o real exp(x) Exponencial de X Entero o real cuadrado(x) sqr(x) Cudrado de X Entero o real Cuando se nacesita mas que un operador aritmético lógico básico.
  • 24.
    Escritura de Algoritmos PSeint: •Intérprete de pseudocódigo. • Incluye funcionalidades: ayuda integrada, generación de diagramas de flujo o exportación a código C++.
  • 25.
    Escritura de Algoritmos algoritmoMiPrimerPrograma var entero: edad, anoNac inicio leer (anoNac) edad  2009 – anoNac escribir (‘edad es: ’, edad) Fin ALGORITMO GENERICO
  • 26.
    Escritura de Algoritmos ProcesoMiPrimerPrograma edad <- 0; Leer anoNac; edad <- 2009 - anoNac; Escribir "edad es ", edad, " años"; FinProceso ALGORITMO PSeint
  • 27.
  • 28.
    Codificación de Algoritmos ModuleMiPrimerPrograma Public Sub Main() Dim edad, anoNac, anoAct As Integer anoAct = 2009 anoNac = Console.ReadLine() edad = 2009 - anoNac Console.WriteLine("edad es: " & edad) Console.ReadLine() End Sub End Module ALGORITMO CODIFICADO
  • 30.
    Ejercicios  Elaborar unalgoritmo que permita cambiar un vidrio roto de una ventana  Elaborar un algoritmo para hacer una llamada telefónica.  Elaborar un algoritmo que guie a una persona normal a cambiar un foco.  Muestre un algoritmo que lea 2 valores a, b y los intercambie. Por ejemplo si a = 2 y b=5, el algoritmo debe hacer que a = 5 y b=2.  Muestre un algoritmo que permita hallar los n primeros números naturales  Muestre un algoritmo que calcule la suma de los cuadrados de los primeros números naturales.