Professional Documents
Culture Documents
^
FUNDAMENTOS DE PROGRAMACIÓN
INTRODUCCION
Período 2017 - 10
ALGORITMOS
CONCEPTOS
^
CARACTERISTICAS
EJEMPLOS
DIAGRAMAS DE FLUJO
RESOLVER PROBLEMAS
^
Éste describe un conjunto finito y ordenado de pasos, reglas o
instrucciones para producir la solución a un problema dado.
Un algoritmo puede ser definido como una secuencia de
instrucciones bien definidas y efectivas, y finaliza con la
producción del resultado esperado a partir de las entradas
dadas.
Algoritmo
^
Especificación Acción o Acción o Descripción del
de las entradas procedimiento ... procedimiento resultado o
efecto
Acción o Acción o
procedimiento procedimiento
^
Análisis resumido del problema
1. Inicio
2. Leer base y altura (b, a)
3. ar ← b*a
4. pe ← 2*(b + a)
5. Escribir “Área del rectángulo: ”, ar
6. Escribir “Perímetro del rectángulo: ”, pe
7. Fin
^
• Están bien definidos. Etapas bien definidas y concretas
^
Entrada Proceso Salida
^
Expresado Ejecutado
en en
Código en C
Computadora con
los compiladores
de C y Pascal
Algoritmo Código en
Pascal
Computadora con
Código en el compilador de
Fortran Fortran
^
resolver el problema. Es decir, antes de codificar un
programa se requiere diseñar el algoritmo.
Descripción y Programa en un
Diseño del
análisis del lenguaje de
algoritmo
problema programación
^
Análisis del problema
Datos a considerar:
Datos de entrada:
• Total de deportistas (N)
• Genero de la persona (S)
^
Datos de salida:
• Porcentaje de hombres (PM)
• Porcentaje de mujeres (PF)
Procesos:
• Contar la cantidad de personas del genero masculino (CM = CM + 1)
• Contar la cantidad de personas del genero femenino (CF = CF + 1)
• Calcular el porcentaje de hombres en el grupo (PM = CM/N*100)
• Calcular el porcentaje de mujeres en el grupo (PF = CF/N*100)
1. Inicio
2. Inicializar en cero el total de personas del sexo masculino: CM ← 0
3. Inicializar en cero el total de personas del sexo femenino: CF ← 0
4. Inicializar en cero el total de personas procesadas: TP ← 0
^
5. Leer total de deportistas (N)
6. MIENTRAS TP < N
6.1 Leer sexo de la persona (S)
6.2 SI S =‘M’, entonces CM ← CM + 1
6.3 SI S = ‘F’, entonces CF ← CF + 1
6.4 Incrementar en 1 el contador: TP ← TP + 1
FIN-MIENTRAS
7. Calcular porcentaje de hombres en el grupo: PM ← CM/N*100
8. Calcular porcentaje de mujeres en el grupo: PF ← CF/N*100
9. Escribir “Porcentaje de hombres en el grupo: ”, PM
10. Escribir “Porcentaje de mujeres en el grupo: ”, PF
11. Fin
^
2. Determinar si un número es primo ingresado por teclado
3. Cálculo del factorial de un número N
A desarrollar en clase:
^
3. Cambiar una bombilla.
4. Lavar un carro.
5. Acudir a clases por la mañana.
6. Conducir un auto.
^
El refinamiento del algoritmo se refiere a la conversión del
primer esbozo/versión del algoritmo en una versión más
detallada y completa, haciendo los pasos del algoritmo
más específicos.
^
representan operaciones específicas.
Los símbolos son producto de una normalización (ISO 5807).
Los símbolos se conectan entre ellos con flechas.
Las flechas indican la dirección de la próxima acción a
ejecutar.
Las flechas indican la secuencias de las operaciones a seguir.
Tienen un principio y tienen un fin.
^
algoritmo. El diagrama de flujo consiste de un conjunto de
símbolos (rectángulos, paralelogramos, rombos, etc.) y
flechas que conectan estos símbolos.
INICIO O FIN
^
Proceso
Decisión Lógica
Cálculo
^
res=1
Entrada i, res
Salida (pantalla)
i=i+1
NO
i>5
Comparación SI
Fin
UDLA – Fundamentos de Programación
Sequor ad Deus, ambulo in pacis
EJEMPLO… DIAGRAMAS DE FLUJO
1
Leer E, P
Inicio
SE <- SE+E
^
Leer N
SP <- SP+P
NE <- NE+1
NE <- 0
Si
NE <N
No
SE <- 0
ME <- SE/N
Escribir ME, MP
1
Fin
A desarrollar en clase:
^
Ingresar dos nombres por teclado y determinar si son
homónimos.