Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ALGORITMOS
Para expresar un algoritmo hay que realizar una descripción paso a paso, en lenguaje
natural, de los pasos a seguir..
ELABORACIÓN DE ALGORITMOS
A continuación se trata de mostrar, con un ejemplo, la forma cómo se debe pensar al
plantear la solución del problema, aunque se debe tener en cuenta que pueden existir
muchas formas de solucionar un problema.
1
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
INTRODUCCIÓN A LA PROGRAMACIÓN
Ejemplo: Escribir un programa que lea notas de 25 alumnos y que se calcule e imprima:
- El N° de aprobados y el N° de desaprobados.
- La nota promedio.
- El % de aprobados y el % de desaprobados.
Las notas sólo deben estar en el rango de 0 a 20.
Solución:
- Según el enunciado del problema, se desea leer o ingresar notas de 25 alumnos y
luego calculas algunos datos.
- El ingreso de notas se hace una por una.
- Por cada nota que se ingrese, se debe ir llevando la cuenta del Número de notas
leídas.
- Además, por cada ingresada se debe ver si es aprobatoria (≥11) o desaprobatoria
(<11) e ir llevando la cuenta del Número de aprobados y desaprobados,
respectivamente.
- Para calcular la nota promedio se debe tener la suma de todas ingresadas y luego
se divide este valor entre el total de notas (25).
- Los porcentajes de aprobados y desaprobados se pueden calcular de la siguiente
manera:
N° total de alumnos
Entonces, lo que se hace es ingresar notas en forma repetitiva, hasta que se tengan las 25
notas y se va llevando la cuenta de cada factor antes indicado.
Al terminar de ingresar todas las notas, se puede calcular la nota promedio y los porcentajes
de aprobados y desaprobados.
2
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
INTRODUCCIÓN A LA PROGRAMACIÓN
ALGUNOS CONCEPTOS
Cuando se hacen algoritmos, generalmente se hace uso de una serie de variables y
operaciones que son comunes. Entre estas tenemos:
1.- Contador:
Es una variable que sirve para llevar la cuenta de las veces que se repite una
operación o procesos (o procesos).
Generalmente se incrementa o decrementa de uno en uno.
En el ejemplo, son contadores: apr , des , con .
2.- Acumulador:
Es una variable en la cual se va almacenando la suma de los valores sucesivos que
va tomando otra variable.
En el ejemplo, sum es un acumulador, que almacena la suma de los diferentes
valores que va tomando la variable nota.
3
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
INTRODUCCIÓN A LA PROGRAMACIÓN
a)Proceso o Secuencia
Es una operación sencilla. Indica un solo paso o acción a realizar.
Cuando se encuentra en el programa siempre se realiza.
Algunos ejemplos de procesos o secuencias son: Inicializar Variables, Entrada o
Salida de Datos, Operaciones Algebraicas, Incrementar Contadores , Llamadas a
Subprogramas, etc.
b)Decisión o Selección
Ocurre cuando una o más acciones se pueden llevar a cabo, dependiendo del valor
de una condición específica.
Cuando se tiene que tomar una decisión se admiten sólo dos posibles respuestas: SI
o NO o sus equivalentes VERDADERO o FALSO (V/F).
c)Iteración o Repetición
Se utiliza cuando ciertas acciones se Repiten mientras se cumpla una condición o
hasta que se cumpla una condición.
REPRESENTACIÓN DE ALGORITMOS
Se hace para que su descripción pueda servir más fácilmente para su codificación en algún
lenguaje de programación.
Los métodos más usados son:
- Diagramas de Flujo
- Pseudocódigo
- Diagramas Estructurado (N-S).
Diagrama de Flujo
Es un diagrama que representa en forma gráfica los pasos que se siguen para resolver un
problema. Consiste de un conjunto de símbolos que representan distintas clases de
operaciones, los cuales se encuentran unidos por flechas, las que indican cual es el flujo del
algoritmo.
Entre los principales símbolos se tiene:
4
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
INTRODUCCIÓN A LA PROGRAMACIÓN
SÍMBOLO SIGNIFICADO
La unión de todos estos símbolos por flechas nos indican cómo se ejecuta el algoritmo
desde el inicio hasta el final.
Por ejemplo, la representación del problema anterior mediante Diagrama de Flujo sería la
siguiente:
5
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
INTRODUCCIÓN A LA PROGRAMACIÓN
DIAGRAMA DE FLUJO
Inicio
apr ← 0, des ← 0
PROCESOS O
SECUENCIAS con ← 0, sum ← 0 (Inicialización de
Variables)
nota, prom, papr, pdes
ITERACIÓN O
V REPETICIÓN
nota < 0 V
nota >20 (Mientras nota sea <0 o
nota>20, leer otra vez
F nota )
con ← con + 1
V
con < 25
F
papr ← (apr / 25) * 100
PROCESOS O
SECUENCIAS
pdes ← (pdes / 25) * 100
prom ← sum / 25
Fin
6
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
INTRODUCCIÓN A LA PROGRAMACIÓN
Pseudocódigo
Es un lenguaje de especificación de algoritmos, que permite representar un algoritmo en
forma independiente de los lenguajes de programación.
Su uso permite concentrarse en la lógica del programa y en las estructuras de control sin
preocuparse por las reglas de un determinado lenguaje de programación.
También usa las 3 estructuras Básicas de Control: Secuencia o Proceso, Decisión o
Selección e Iteración o Repetición, las cuales las representa mediante un conjunto de
palabras Reservadas. Así se tiene:
1) PROCESOS:
No tiene palabras especiales.
2) DECISIÓN o SELECCIÓN:
Se representa mediante las palabras reservadas IF THEN ELSE
Sintaxis: Significado:
7
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
INTRODUCCIÓN A LA PROGRAMACIÓN
3) ITERACIÓN o REPETICIÓN:
DO HACER
acción 1 acción 1
acción 2 acción 2
............. .............
MIENTRAS se
WHILE condición cumpla una
condición
8
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
INTRODUCCIÓN A LA PROGRAMACIÓN
9
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
INTRODUCCIÓN A LA PROGRAMACIÓN
1)PROCESOS o SECUENCIAS:
Se representa mediante un rectángulo.
2)DECISIÓN o SELECCIÓN:
3)ITERACIÓN o REPETICIÓN:
Se representa mediante las siguientes figuras:
acción 1 DO acción 1
acción 2
acción 2 acción.3
............
acción 3
WHILE se cumple
............ condición
condición
10
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
INTRODUCCIÓN A LA PROGRAMACIÓN
............ END-DO
acción 1 acción1
acción 2 acción2
acción 3 acción3
……….
............ FIN_PARA
NOTA
1.- Las acciones sucesivas se representan en rectángulos sucesivos.
2.- En un solo rectángulo se pueden escribir diferentes acciones.
EN GENERAL
Utilizando cualquiera de las herramientas: Diagramas de flujo, Pseudocódigo o Diagramas
N-S, se pueden:
1.- Hacer una selección dentro de otra selección (selecciones anidadas).
2.- Hacer iteraciones dentro de otra iteración (iteraciones anidadas)
3.- Combinar selecciones, iteraciones y /o secuencias.
11
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
INTRODUCCIÓN A LA PROGRAMACIÓN
EJEMPLO:
Tomando el mismo caso de las 25 notas, el Diagrama Estructurado sería:
apr 0, des 0 PROCESOS o
SECUENCIAS
Inicio con 0, sum 0 (Inicialización de
Variables)
nota, prom, papr, pdes
Leer nota
ITERACIÓN o
nota < 0 V nota > 20 REPETICIÓN
con con + 1
PROCESOS o
sum sum + nota SECUENCIAS
nota ≥ 11
V F DECISIÓN o
SELECCIÓN
apr apr + 1 des des + 1
con < 25
prom sum/25
12
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
INTRODUCCIÓN A LA PROGRAMACIÓN
ESTRUCTURAS SECUENCIALES
Inicio
Variables total , sist , ele, civ
total = 300 + 450 + 800
Fin
Inicio
Variables sol, euro, dol
Leer sol
Fin
13
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
INTRODUCCIÓN A LA PROGRAMACIÓN
3.- Si se sabe que 1 mol de Calcio equivale a 40 gramos de calcio. Ingresar una cantidad X
de calcio expresada en gramos y calcular la cantidad de moles correspondiente.
Inicio
Variables grcal , molcal
Leer grcal
molcal = grcal / 40
Escribir: molcal
Fin
4.-Un cuerpo que tiene una masa de X gramos se desplaza a una velocidad de V cm/seg.
2 2
Calcular su energía cinética expresada en Ergios. (1 Ergio = 1 gr. cm /seg ).
Inicio
Variables X, V, Ec
Leer X, V
Ec = ½ * X * V*V
Escribir Ec
Fin
5.-Se desea colocar alfombra a un aula que tiene X metros de largo, Y metros de ancho y Z
metros de altura. Si el metro cuadrado de alfombra instalada cuesta W soles. Cuantos
dólares se gastarán en total? ( 1 dólar = 3.25 soles)
Inicio
Variables X, Y, W, soles, dolares
Leer X,Y,W
soles = (X * Y) * W
Escribir dolares
Fin
14
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
INTRODUCCIÓN A LA PROGRAMACIÓN
ESTRUCTURAS SELECTIVAS
1.- Escribir un programa que lea dos números n1 y n2. Si n1≤ n2 que calcule y reporte la
suma y resta en caso contrario debe calcular la multiplicación y división.
Inicio
Variables n1, n2
Leer n1, n2
V n1 ≤ n2 F
Fin
2.- Leer el lado de un cuadrado. Si lado> 0 debe calcular su área y su perímetro. En caso
contrario debe imprimir el mensaje “Valor Incorrecto”
Inicio
Variables : lado, area, per
Leer lado
V lado > 0 F
area= lado*lado
Escribir:
per = 4 *lado
“Valor Incorrecto”
Escribir: area, per
Fin
15
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
INTRODUCCIÓN A LA PROGRAMACIÓN
Inicio
Variables : Tkel
Leer Tkel
V Tkel > 0 F
4.- Leer el radio R de un círculo. Si R es >0 calcular el área del círculo y la longitud de la
circunferencia. En caso contrario Escribir “no se puede calcular”
Inicio
Variables R
Leer R
V R>0 F
Ac= 3.1416*R*R
Escribir : “No se
Lc= 2*2.1416*R puede calcular”
Escribir: Ac. Lc
Fin
16
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
INTRODUCCIÓN A LA PROGRAMACIÓN
5.- Leer una cantidad sol expresada en soles. Si es sol< 0 Escribir “Valor incorrecto”. En
caso contrario, si sol < 100 transformarla a su equivalente en dólares. sino expresarla
en Euros. (Considerar 1 $ = 3.25 soles , 1 Euro = 4.20 soles)
Inicio
Variables sol, dol, eu
Leer sol
V sol < 0 F
V sol< 100 F
Fin
ESTRUCTURAS REPETITIVAS
1.- Programa que escribe los n primeros números naturales : 1,2,3,..….n , y reporta su
suma.
Versión 1 Inicio
Utilizando
mientras Variables n, suma =0 , i = 0
(while )
Leer n
i< n
i= i+1
Escribir: i
suma = suma + i
Escribir : suma
Fin
17
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
INTRODUCCIÓN A LA PROGRAMACIÓN
2.- Programa que escribe los n primeros números naturales : 1,2,3,..….n , y reporta su
suma.
Versión 2 Inicio
Utilizando
hacer / mientras Variables n, suma =0 , i = 0
(do / while)
Leer n
i= i+1
Escribir : i
Suma = suma + i
i < n
Escribir : suma
Fin
3.- Programa que escribe los n primeros números naturales : 1,2,3,..….n , y reporta su
suma.
Versión 3 Inicio
Utilizando
para Variables n, suma =0 , i = 0
(for )
Leer n
i = 1, n , 1
Escribir i
suma = suma + i
Escribir : suma
Fin
18
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
INTRODUCCIÓN A LA PROGRAMACIÓN
4.- Programa que escribe los n primeros números naturales : 1,2,3,..….n , y reporta su
suma.
Versión 4 Inicio
Utilizando
para Variables n, suma =0 , i = 0
(for )
Validando que Leer n
n sea positivo,
usando n ≤ 0
hacer / mientras
(do / while) i = 1, n, 1
Escribir : i
suma = suma + i
Escribir : suma
Fin
En este último ejemplo se debe notar que si se desea escribir los n primeros números
naturales, se debe verificar que la cantidad de números debe ser un valor positivo.
Se puede pedir escribir los 5 primeros números naturales, pero no tendría sentidos pedir
que se escriban los -5 primeros números naturales.
19