Algoritmos
Algoritmos
Algoritmos
Edsger W. Dijsktra
2
METODOLOGIA PARA LA SOLUCION DE
PROBLEMAS POR MEDIO DE COMPUTADORAS
3
1. Definición del problema
4
2 Análisis de los datos
5
EJEMPLO: Calcular el Area de un Rectángulo y su Perimetro
Entonces:
ENTRADA : Base y Altura
6
3 Diseño de la solución
7
EJEMPLO: Calcular el Area de un Rectángulo y su Perimetro
ANÁLISIS
Los datos de ENTRADA depende de la Formula.
Formula: Area-Rectangulo = Base x Altura
Perimetro = 2 (Base + Altura)
Entonces:
ENTRADA : Base y Altura
8
4 Codificación
9
Programa Fuente
Esta escrito en un lenguaje de
programación. (C++, Delphi, Visual Basic,
etc).
Es entendible por el programador.
Programa Ejecutable
Está en lenguaje máquina.
Entendible por la máquina.
10
5 Prueba y depuración
11
FLUJOGRAMA
12
ALGORITMO
Conjunto de reglas para resolver un problema. Su
ejecución requiere unos recursos.
0 ó más 1 ó más
ALGORITMO
entradas salidas
Un algoritmo es mejor cuantos menos recursos
consuma. Pero....
Otros criterios: facilidad de programarlo, corto, fácil
13
1.1. Definición y propiedades - ALGORITMOS.
0 ó más 1 ó más
entradas ALGORITMO salidas
14
1.1. Definición y propiedades.
15
¿Cómo generar un Algoritmo?
16
TENICAS PARA LA FORMULACION DE ALGORITMOS
– Pseudocódigo
– Diagrama de flujo
– Diagramas estructurados
17
Diagramas de Flujo
18
Pseudocódigo
19
ESTRUCTURA
Inicio Características
acción1 1. Debe tener Un Inicio
acción2 y un Final
: 2. Secuencia Lógica
acción n 3. Debe ser Preciso
Fin 4. Es Definido
5. Debe ser efctivo y
eficiente
20
LENGUAJE DE PROGRAMACION
22
Que es programar?
23
Resolución de un Problema
Análisis
Correcciones
Fin Test
Compilación
Respuesta
= ‘2’
Ejecución y obtención
de resultados
24
Ciclo del proceso de aprendizaje en la
programacion es Iterativo e Incremental
Las actividades del aprendizaje se encadenan
en una mini-cascada con un alcance limitado
por los objetivos de la iteración al aprender.
Análisis
Diseño
Codific.
n veces Pruebas e
Integración
25
Curva de aprendizaje
El aprendizaje incluye tres aspectos:
- Manejo de Algoritmos en forma eficiente
- Metodología de programación.
- Conocimiento de un lenguaje Programación y -
Experiencia
Incomodidad
tiempo 26
Resolución de problemas
27
Fases en la solución de un problema
Problema
Análisis
Especificación
Diseño
Algoritmo
Programación Prueba
Programa
28
Diseño
Esta etapa consiste en el diseño de
la solución al problema planteado.
29
Diseño
Un algoritmo es una fórmula, un
conjunto de pasos para resolver
un problema.
•diseño
modular o
Resolución Diseño del descendente
de un algoritmo
•refinamiento por pasos
problema
31
Diseño
El Algoritmo , resultado de la fase de
Diseño, pasa a la fase de
Programación para ser traducido a
un lenguaje de programación.
Class Programa {
...........
Public static void
main() {
....
}
}
33
Desarrollo de Algoritmos
Si
e n ( c o nd
t
de once ición
l
acc co s acc )
o
ión ntr ión
2 ar i 1
o,
34
Pseudocódigo
Veamos un ejemplo..
MOSTRAR “Hola”
LA
HO
ESCRIBIR “Hola”
35
Pseudocódigo
Otro ejemplo..
2500
CALCULAR X A + B
Variables
40
Elementos de un programa
hora horaLlegada
41
Elementos de un programa
Expresiones
Son conjuntos de variables y/o
constantes unidas o relacionadas por
operadores.
Hay tres tipos de expresiones:
- Numéricas
- Alfanuméricas
- Lógicas
42
Elementos
de un
Expresiones Numéricas programa
Las que producen resultados de
tipo numérico.
XY+5–7+C
Para su construcción se utilizan los
Operadores aritméticos.
( ) Paréntesis
^
Potencia
*
Multiplicación
43
Elementos de un
programa
Expresiones Numéricas
Al evaluar expresiones numéricas
debemos tomar en cuenta el
orden de precedencia de las
operaciones:
1. Paréntesis
2. Potencias
3. Multiplicación y
División
4. Suma y Resta
44
Expresiones Numéricas
Supongamos tres variables con
sus valores.
var1 var 2 var3
5 8 3
suma 16 45
Expresiones Numéricas
Otros ejemplos:
var1 var 2 var3
5 8 3
Calcular
suma (var1 + var2) * var3 + ( var 2 / 2 )
suma
43
46
Elementos de
Expresiones Numéricas un programa
Otros ejemplos:
var1 var 2 var3
5 8 3
Calcular
suma var1 + ( var2 * var3) + ( var 2 / 2 )
suma
33
47
Elementos de un
programa
Expresiones Alfanuméricas
Las que producen resultados de
tipo alfanumérico.
Ejemplo:
48
Elementos de un programa
Expresiones Lógicas
Son las que producen resultados
de tipo lógico, es decir, Verdadero
o Falso. (True – False)
(A > 0)
(B < 5)
(C == D)
(F != E)
49
Expresiones Lógicas
Para su construcción se utilizan los
Operadores Relacionales.
= Igual
< Menor que
<= Menor o igual que
> Mayor que
>= Mayor o igual que
!= Distinto a
50
Expresiones Lógicas
( 7 != 3 ) Verdadero ( True )
51
Expresiones Lógicas
OR Disjunción
NOT Negación
Por ejemplo:
54
Expresiones Lógicas
Decisión
1. Inicio CalculoMonto
2. precio,monto: numérico
3. Leer precio
4. Si (precio > 10.000) entonces
4.1 Calcular monto (precio – (precio * 0.06))
sino
4.2 Calcular monto (precio – (precio * 0.05))
5. Mostrar (“El monto a pagar es:” , monto)
6. Terminar CalculoMonto
Salida: monto: numerico
57
Escribir un programa que lea tres números y los imprima .
Salida:
num1, num2, num3: numérico 58
Ejemplo
Escribir un programa que lea tres números, los sume e imprima el resultado de la
suma.
Salida:
suma: numérico
59
Ejercicio
ESCRIBIR UN PROGRAMA QUE LEA TRES NÚMEROS, LOS SUME
Y MULTIPLIQUE E IMPRIMA EL RESULTADO MAYOR.
Algoritmo
Entrada: 1.Inicio TresNumeros
num1, num2, num3:
numérico 2.num1,num2,num3,suma, multi: numérico
3.Leer num1,num2,num3
4.Calcular suma num1+num2+num3
5.Calcular multi num1*num2*num3
6.Si suma > multi entonces
Salida:
6.1 Escribir (“El resultado mayor es :” suma
suma, multi: numérico
Sino
6.2 Escribir (“El resultado mayor es :” multi
7. Terminar TresNumeros
60
Operaciones y Expresiones
61
Operadores Aritméticos
Operador Acción
+ Adición
- Substracción
* Multiplicación
/ División
% Resto de división
entera
++ Incremento
-- Decremento
62
Operadores Relacionales
Operador Acción
> Mayor que
>= Mayor que o igual
< Menor que
<= Menor que o igual
== Igual
!= No igual
63
Operadores Lógicos
Operador Acción
&& Y
|| O
! NO
&& Y
Tabla de Verdad
p q p&&q p||q !p
0 0 0 0 1
0 1 0 1 1
1 1 1 1 0
1 0 0 1 0
64
Tipos, Operadores y Expresiones.
Introducción
67
Tipos de Variables
Tipo Asignación
Nombre Comentario
69
Constantes
71
Constantes
72
Declaración de constantes
73
Declaración de variables
74
Declaraciones
75
Variables Locales vs. Globales
Nombre_de_variable = constante;
77
Comentarios
– Ejemplo:
…
/* Este es un comentario */
...
78
SHORTHAND
Shorthand Equivalente
i+=10 i=i+10
i*=10 i=i*10
i/=10 i=i/10
i%=10 i=i%10
79
INCREMENTO Y DECREMENTO
DECLARACION:
83
Variables Estáticas