• Concepto de algoritmo
• Propiedades de un algoritmo
• El rol del algoritmo en la resolución de
problemas
Concepto de algoritmo (I)
Algoritmo
Acción o Acción o
procedimiento procedimiento
Un primer ejemplo de algoritmo
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
Características de los algoritmos (I)
• Entrada
• Proceso
• Salida
Computadora con
Código en el compilador de
Fortran Fortran
El rol del algoritmo en la resolución de
problemas (I)
Descripción y Programa en un
Diseño del
análisis del lenguaje de
algoritmo
problema programación
Ejemplos de algoritmos (I.a.)
Datos de entrada:
• Total de deportistas (N)
• Sexo de la persona (S)
Procesos:
• Contar la cantidad de personas del sexo masculino (CM = CM + 1)
• Contar la cantidad de personas del sexo 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)
Ejemplos de algoritmos (I.c.)
Algoritmo:
1. Inicio
2. Leer total de deportistas (N)
3. MIENTRAS TP < N
Algoritmo (continuación):
4. Calcular porcentaje de hombres en el grupo: PM ← CM/N*100
5. Calcular porcentaje de mujeres en el grupo: PF ← CF/N*100
6. Escribir “Porcentaje de hombres en el grupo: ”, PM
7. Escribir “Porcentaje de mujeres en el grupo: ”, PF
8. Fin
Diseño del
algoritmo
Diseño Representación
descendente Refinamiento gráfica
Diseño de algoritmos (II)
Problema
Subproblema Subproblema
Diseño de algoritmos (IV)
U P2 P
X Y
P1 P4
V Q
P3
V R S Q
P31 P32 P33
Diseño de algoritmos (V)
1. Inicio
2. Leer cantidad de estudiantes
3. Leer edad y peso de los estudiantes
4. Calcular las medias de la edad y del peso
5. Escribir resultados
Diseño de algoritmos (VIII)
• Pseudocódigo
• Diagramas de flujo
• Diagramas de Nassi-Schneiderman (N-S)
Diseño de algoritmos (XI)
Especificación
Algoritmo en Programa
pseudocódigo
Diseño de algoritmos (XII)
start
read Comúnmente, la
write escritura del
pseudocódigo
If-then-else
requiere el uso de la
while-end indentación de las
repeat-until diferentes líneas
end
Diseño de algoritmos (XIII)
Begin
read N
NE ← 0
Algoritmo para el
SE ← 0
cálculo de la media y
SP ← 0 desviación estándar
while NE < N de la edad y peso de
read E, P un grupo de
estudiantes (versión
SE ← SE + E
en pseudocódigo)
SP ← SP + P
NE ← NE + 1
end while
Diseño de algoritmos (XIV)
Cuando se usa el
pseudocódigo como
ME ← SE/N lenguaje de
MP ← SP/N especificación de un
write “La edad promedio es: ”, ME algoritmo, el
programador puede
write “El peso promedio es: ”, MP concentrarse en la
end lógica y en las
estructuras de control
sin preocuparse por
la sintaxis y reglas
del lenguaje de
programación.
Diseño de algoritmos (XV)
1. Inicio
SE <- SE+E
2. Leer cantidad de estudiantes (N)
3. NE <- 0, SE <- 0, SP <- 0
SP <- SP+P
4. MIENTRAS NE < N
4.1 Leer edad y peso del estudiante (E, P) NE <- NE+1
4.2 SE <- SE + E
Si
4.3 SP <- SP + P NE <N
4.4 Incrementar el contador: NE <- NE + 1 No
FIN-MIENTRAS ME <- SE/N
5. Calcular la media de la edad: ME <- SE/N
6. Calcular la media del peso: MP <- SP/N MP <- SP/N
7. Escribir “La edad promedio es: ”, ME
Escribir
8. Escribir “El peso promedio es: ”, MP ME, MP
9. Fin
Fin