Download - Fundamentosdeprogramacion 2
ProgramaConjunto 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 programaEntrada, Salida, y Algoritmo de Resolución = técnicas para para obtener las salidas a partir de las entradas.
EntradaPROGRAMA (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
…..
finProceso CalcularEdad
edad<-0;
…..
FinProcesoModule 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 programaCada instrución puede estar compuesta por los siguienteselementos:
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
DatosSin 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 constantesVariable:
• 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
OperadoresEs 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
OperadoresEjemplos:
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).
OperadoresEjemplos:
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 C5+25 mod 10
5+5
10
10 mod 2 0
6 mod 8 0
Operadores de relaciónPermiten 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ógicosO 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ónTipo 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 AlgoritmosDIAGRAMA 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.