algoritmo

Anuncio
Algoritmos I
Lenguaje de Programación
Ingº JORGE AUGUSTO MARTEL TORRES
Ingenierías
CONTENIDO
•
Introducción
•
•
Algoritmo
Lenguaje de Programación
•
Resolución de Problemas con la PC
– Análisis del Problema,
– Diseño del Algoritmo,
– Resolución del Algoritmo
UNTELS
Jorge Augusto Martel Torres
2
ALGORITMO
•
•
•
Conjunto de Instrucciones que especifican la secuencia
de operaciones a realizar, pero en orden lógico para
resolver una clase de problema (o sistema específico).
Es un método, fórmula para resolver un problema
Son más importantes que los LP o las PC
CARACTERISTICAS
– Preciso.- Tiene orden de realización de cada paso.
– Definido.- Debe obtener resultados
– Finito.- Debe tener un número finito de pasos, se
debe terminar en algún momento
PARTES
– Entrada
– Proceso
– Salida
UNTELS
Jorge Augusto Martel Torres
3
LENGUAJE DE PROGRAMACION
• Es el conjunto limitado de palabras y de
símbolos que representan procedimientos,
cálculos, decisiones y otras operaciones que
pueden ejecutar con un ordenador
• Es el conjunto de reglas conocidas por sintaxis,
palabras y símbolos o instrucciones que se usa
en la computadora por el LP
• Es un medio para expresar un algoritmo
TIPOS DE LP
– Lenguaje Máquina. 00010001 11011112
– Lenguaje de Bajo Nivel. Add, Mov,
– Lenguaje de Alto Nivel. { }, cin, cout, ;
UNTELS
Jorge Augusto Martel Torres
4
TIPOS DE LP
DESARROLLADOR
USUARIO
BASIC, PASCAL
C, C++
ASSEMBLER
PROGRAMADOR
ALTO
NIVEL
L.NIVEL
INTERMEDIO
L.BAJO NIVEL
FASE DE TRADUCCION
PROGRAMA FUENTE
WRITE, READ
CIN, COUT
ADD, MOV, SUB
INTERPRETACION O
COMPILACION
00011100
L.MAQUINA
UNTELS
00011100
Jorge Augusto Martel Torres
PROGRAMA OBJETO
5
RESOLUCION DE
PROBLEMAS CON LA PC
?
FASES
I. Análisis del Problema
– Definición del Problema
– Especificaciones de Entrada
– Especificaciones de Salida
II. Diseño o desarrollo del Algoritmo
– Diseño descendente (Top-Down Design)
– Refinamiento de pasos (Stepwise Refinement)
– Usa Herramientas de Programación (PS. DF, D-NS)
III. Resolución del Algoritmo con la PC
– Codificación de Resolución del Algoritmo
– Ejecución del Programa
– Comprobación del Programa
UNTELS
Jorge Augusto Martel Torres
7
Fase I: Análisis del Problema
• El Propósito es ayudar al programador
para llegar a una cierta comprensión
de la naturaleza del programa
• El Problema necesita estar bien definido
si se desea llegar a una solución
satisfactoria
• Para definir con precisión el problema se
requiere que las especificaciones de
I/O sean descritas con detalle
UNTELS
Jorge Augusto Martel Torres
8
• Es necesario la lectura del problema:
– 1º Lectura, para obtener una idea del
problema
– 2º Lectura, para responder a las
preguntas
• ¿Que información debe proporcionar la
resolución del problema?
• ¿Que datos se necesita para resolver el
problema?
UNTELS
Jorge Augusto Martel Torres
9
FASES DEL ANALISIS DEL PROBLEMA
Que datos se necesitan
para resolver el problema?
ESPECIFICACIONES
DE ENTRADA
DE DATOS
UNTELS
Que información debe proporcionar
la resolución del problema?
PROBLEMA
Jorge Augusto Martel Torres
ESPECIFICACIONES
DE SALIDA
DE DATOS
Regresar
10
Fase II: DISEÑO DEL
ALGORITMO
P
R
O
B
L
E
M
A
UNTELS
• Usa el método divide y
vencerás.
– Los problemas complejos
se pueden resolver
eficazmente cuando se
rompen en subproblemas
que sean más fáciles de
solucionar que el original.
Y, esto puede continuar
hasta disminuir la
complejidad.
Jorge Augusto Martel Torres
11
• Usa el diseño descendente
(top-down design),
teniendo como ventaja la
solución modular del
problema y por ende su
solución es fácil.
UNTELS
Jorge Augusto Martel Torres
12
• Hace uso de niveles
de refinamiento
(stepwise
refinement) antes de
obtener un
algoritmo claro,
preciso y completo.
UNTELS
Jorge Augusto Martel Torres
13
• Utiliza
herramientas de
programación o
de solución de
problemas
UNTELS
Jorge Augusto Martel Torres
14
Técnicas de Diseño de Algoritmos
P
P
?
R
R
O
O
B
B
L
L
E
E
P
R
O
M
B
L
E
A
M
A
M
A
UNTELS
Jorge Augusto Martel Torres
Regresar
15
Fase III: RESOLUCIÓN DEL PROBLEMA
CON LA PC
• Una vez que el algoritmo esta diseñado y representado
gráficamente mediante una herramienta de programación, se
debe pasar a la fase de resolución práctica del problema con la
Computadora.
UNTELS
Jorge Augusto Martel Torres
16
• Se descompone en las
siguiente subfaces:
– Codificación del algoritmo
usando mediante un
programa usando un
Lenguaje de Programación
(Basic, C, Pascal, etc).
– Ejecución del Programa
– Comprobación del
Programa
UNTELS
Jorge Augusto Martel Torres
17
Descargar