2. ÍNDICE
1. Definiciones: Algoritmo y programa
2. Tipos de programación: Programación estructurada
3. Herramientas para la realización de un algoritmo:
3.1. Pseudocódigo
3.2. Diagrama de Flujo
4. Tabla de Objetos
5. Programación estructurada: estructuras de control
6. Traza de un programa
ING. CLAUDIA POLO JARABA
3. 1. DEFINICIONES: ALGORITMO Y
PROGRAMA
Un algoritmo: es un conjunto ordenado y finito
de instrucciones que permite hallar la solución
de un problema.
Un programa: es la codificación del algoritmo
en algún lenguaje de programación o en
lenguaje máquina.
Problema== Algoritmo== Programa
ING. CLAUDIA POLO JARABA
4. EJEMPLO DE ALGORITMO Y
PROGRAMA
Algoritmo
1. Si x es positivo, el resultado es, r x
2. Si no, el resultado es r –x
3. Fin
Programa:
int valor_absoluto(int x)
{
if(x>0)
r=x;
else
r=-x;
return x;
}
Problema: Hallar el valor absoluto de un número x
ING. CLAUDIA POLO JARABA
5. PARTES DE UN ALGORITMO
Un algoritmo utiliza un conjunto de datos de entrada y proporciona
unos datos de salida.
ENTRADA: Corresponde a los datos que requiere el proceso para
ofrecer los resultados esperados.
PROCESO: Pasos necesarios para obtener la solución del problema o
la situación planteada.
SALIDA: Datos presentados por el proceso como solución, resultado.
ING. CLAUDIA POLO JARABA
6. TIPOS DE PROGRAMACIÓN
Programación Convencional; el programador desarrollaba sin
preocuparse de su mantenimiento. (Desv. Localizar y corregir
errores, redundancia de código)
Programación Modular - estructurada; Descomposición del
programa en trozos mas pequeños denominados módulos o
subprogramas. (Vent. redundancia de código, ya que se aíslan las
secuencias de instrucciones mas usadas y que se repiten).
Programación Orientada a Objetos; Un objeto es una abstracción de
algún hecho o ente del mundo real, con atributos que representan
sus características o propiedades, y métodos que emulan su
comportamiento o actividad. Todas las propiedades y métodos
comunes a los objetos se encapsulan o agrupan en clases
ING. CLAUDIA POLO JARABA
7. CARACTERÍSTICAS DE UN
ALGORITMO ESTRUCTURADO
Finito: El algoritmo debe tener un número finito de pasos.
Eficientes: Deben ocupar la mínima memoria y minimizar el tiempo
de ejecución.
Legibles: El texto que lo describe debe ser claro, de forma que
permita entenderlo y leerlo fácilmente.
Modificables: Estarán diseñados de modo que sus posteriores
modificaciones sean fáciles de realizar, incluso por programadores
diferentes a sus propios autores.
Modulares: La filosofía utilizada para su diseño debe favorecer la
división del problema en módulos pequeños.
Único punto de entrada, único punto de salida: A los algoritmos y a
los módulos que lo integran, se entra por un solo punto (inicio) y seING. CLAUDIA POLO JARABA
8. ¿CÓMO CONSTRUIR ALGORITMOS
ESTRUCTURADOS?
Definición y análisis del problema: datos de entrada y salida
(resultados)
Aplicar la técnica de: “divide y vencerás”, que consiste en
descomponer el problema en subproblemas más sencillos
Resolución de los subproblemas: realización de los algoritmos
correspondientes a los subproblemas
Depurar (prueba de validez)el algoritmo resultante
ING. CLAUDIA POLO JARABA
9. ESTRUCTURAS ALGORÍTMICAS O
DE CONTROL
Secuenciales: cada acción se
realiza una sola vez y en un
determinado orden.
ING. CLAUDIA POLO JARABA
10. ESTRUCTURAS ALGORÍTMICAS O
DE CONTROL
Condicionales (selectivas): permiten seleccionar una acción a realizar
entre varias alternativas.
DobleSimple Múltiple
ING. CLAUDIA POLO JARABA
11. ESTRUCTURAS ALGORÍTMICAS O
DE CONTROL
Iterativas (repetitivas): una determinada acción se realiza más de una
vez.
Mientras (While) Hacer mientras (Do-while ) Para
ING. CLAUDIA POLO JARABA
12. HERRAMIENTAS PARA LA
REALIZACIÓN
DE ALGORITMOS
Existen diferentes métodos para representar un algoritmo, los
procedimientos más habituales son:
Pseudocódigo (herramienta no gráfica)
Diagrama de flujo (herramienta gráfica)
ING. CLAUDIA POLO JARABA
13. PSEUDOCÓDIGO
Un pseudocódigo, es una forma de representar un algoritmo
basándose en el lenguaje natural.
Problema: leer dos números enteros y escribir la suma.
Pseudocódigo:
1.Leer primer sumando, a.
2. Leer segundo sumando, b.
3. Hallar la suma de los sumandos, r a+b.
4. Escribir r.
5. Fin
ING. CLAUDIA POLO JARABA
14. ELEMENTOS BÁSICOS DE UN
ALGORITMO
DATOS: Todos los datos tienen un tipo asociado con ellos. Un dato puede ser
un simple carácter, tal como ‘b’, un valor entero tal como 35. El tipo de dato
determina la naturaleza del conjunto de valores que puede tomar una variable.
ING. CLAUDIA POLO JARABA
15. ELEMENTOS BÁSICOS DE UN
ALGORITMO
Datos Numéricos:
Permiten representar valores escalares de forma numérica, esto incluye a los
números enteros y los reales. Este tipo de datos permiten realizar
operaciones aritméticas comunes.
Datos lógicos:
Son aquellos que solo pueden tener dos valores (cierto o falso) ya que
representan el resultado de una comparación entre otros datos (numéricos o
alfanuméricos).
Datos alfanuméricos (string):
Es una secuencia de caracteres alfanuméricos que permiten representar
valores identificables de forma descriptiva, esto incluye nombres de
personas, direcciones, etc. Es posible representar números como
alfanuméricos, pero estos pierden su propiedad matemática, es decir no es
posible hacer operaciones con ellos. Este tipo de datos se representanING. CLAUDIA POLO JARABA
17. ELEMENTOS BÁSICOS DE UN
ALGORITMO
INSTRUCCIONES: asignación, operaciones aritméticas, lógicas.
ING. CLAUDIA POLO JARABA
18. DIAGRAMAS DE FLUJO
Los Diagramas de Flujo son herramientas gráficas para representar
algoritmos.
Están formados por una serie de símbolos, que tienen al menos una
flecha que viene
del paso anterior y otra que va al paso siguiente.
Los símbolos representan distintas acciones: lectura/escritura,
principio, fin, salto…
ING. CLAUDIA POLO JARABA
19. SÍMBOLOS DE UN DIAGRAMA DE
FLUJO
Condicional
ING. CLAUDIA POLO JARABA
20. REGLAS PARA CONSTRUCCIÓN DE
DIAGRAMAS DE FLUJO
1.Todo diagrama de flujo debe tener un inicio y un fin.
2. Las líneas utilizadas para indicar la dirección de flujo del diagrama
deben ser rectas, verticales y horizontales. No deben ser inclinadas y
tampoco se deben cruzar.
3. Las líneas utilizadas para indicar la dirección de flujo del diagrama
deben estar conectadas.
4. El diagrama de flujo debe ser construido de arriba hacia abajo
(top-down)
5. La notación utilizada en el diagrama de flujo debe ser
independiente del lenguaje de programación. La solución presentada
en el D.F. puede escribirse posterior y fácilmente en cualquier
lenguaje de programación
6. Es conveniente cuando realizamos una tarea compleja ponerING. CLAUDIA POLO JARABA
21. REGLAS PARA CONSTRUCCIÓN DE
DIAGRAMAS DE FLUJO
7. Si el DF requiere más de una hoja para su construcción, debemos
utilizar los conectores adecuados y enumerar las páginas
convenientemente.
8. No puede llegar más de una línea a un símbolo
ING. CLAUDIA POLO JARABA
22. EJEMPLO DE ALGORITMO CON
ESTRUCTURA SECUENCIAL
Problema: leer dos números enteros y
escribir la suma
ING. CLAUDIA POLO JARABA
23. La estructura selectiva SIMPLE sirve
para seguir una línea de ejecución
cuando se cumple una condición.
EJEMPLO DE ALGORITMO CON
ESTRUCTURA SELECTIVA
ING. CLAUDIA POLO JARABA
24. La estructura selectiva DOBLE sirve
para seguir una línea de ejecución
cuando se cumple la condición,
o seguir otra línea cuando No se cumple la condición.
EJEMPLO DE ALGORITMO CON
ESTRUCTURA SELECTIVA
ING. CLAUDIA POLO JARABA
25. La estructura selectiva ANIDADA
es una cadena de estructuras selectivas
que se conectan de la parte else de la
actual con la parte if de la siguiente.
EJEMPLO DE ALGORITMO CON
ESTRUCTURA SELECTIVA
ING. CLAUDIA POLO JARABA
26. La estructura selectiva MULTIPLE
es similar a la selectiva anidada, salvo
que las condiciones deben ser de alguno
de los tipos enteros o de tipo carácter.
EJEMPLO DE ALGORITMO CON
ESTRUCTURA SELECTIVA
ING. CLAUDIA POLO JARABA