Está en la página 1de 12

UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE

INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS


ALGORITMIA Y PROGRAMACIÓN

ALGORITMOS

Las etapas en la resolución de problemas usando como herramienta la computadora son 3:


1) Análisis del Problema.
2) Diseño de un algoritmo.
3) Implementación de un programa para computadora.

1.- Análisis del Problema:


Exige la lectura previa del problema, las veces que sean necesarias, a fin de tener una idea
clara de lo que se solicita.
El problema debe ser definido y comprendido claramente. Se debe definir cuáles son las
entradas que se requieren y las salidas que se desean obtener.
El análisis debe permitir saber:
 ¿Qué información debe proporcionar la resolución del problema?
 ¿Qué datos se necesitan para resolver el problema?
 ¿Con qué datos se cuenta?
Como resultado del análisis del problema, se tiene el Esquema de Flujo de Datos (EFD),
que nos muestra cuales son los datos que ingresan y cuáles son los datos que se producen.
Además sirve como evidencia de haber realizado el análisis.
Representación del EFD:

Datos de Datos de
Entrada PROCESO Salida

Luego del análisis se puede pasar a la siguiente etapa : Diseño de un Algoritmo.

2.- Diseño de un Algoritmo:


Un algoritmo es un conjunto de reglas (sin ambigüedades) que se aplican paso a paso en
forma ordenada para solucionar un problema.

De manera general, en un algoritmo se deben definir claramente las siguientes partes:


Inicialización de variables.
 Entrada de datos.
 Procesos a seguir.
 Salida de resultados.

Al expresar un algoritmo hay que realizar una descripción de los pasos a seguir para
resolver un problema y recordar que las reglas del algoritmo deben seguir una secuencia
bien definida de pasos hasta que se obtenga un resultado y que sólo pueda ejecutarse una
operación a la vez.

Características de un Algoritmo
 Debe ser preciso: es decir debe indicar el orden exacto de realización de cada etapa,
evitando acciones innecesarias.

1
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
ALGORITMIA Y PROGRAMACIÓN

 Debe estar definido: significa que si se ejecuta un algoritmo 2 o más veces, con los
mismos valores iniciales, se debe obtener el mismo resultado todas las veces.
 Debe ser finito: esto significa que si se sigue un algoritmo, se debe terminar en algún
momento, es decir, debe tener un número finito de pasos.
 Debe tener un único punto de entrada o inicio y uno de salida o fin.
 Todas las etapas o pasos a seguir son ejecutables.
 Deben ser NO AMBIGUOS.

Herramientas para representar algoritmos


Un algoritmo se puede representar utilizando las siguientes herramientas:
 Lenguaje Natural
 Diagramas de Flujo
 Pseudocódigo
 Diagrama Estructurado (N-S).

3.-Implementación de un Programa para Computadora:


Después que el algoritmo se ha diseñado y representado mediante alguno de las
herramientas indicadas anteriormente, se debe elaborar un programa para computadora,
utilizando algún lenguaje de programación.
Esta fase se denomina Programación y consta de las siguientes partes:
a) Codificación
Es el proceso de convertir un algoritmo a un programa, escrito en un lenguaje de
programación. La codificación requiere el uso de un programa editor que permita
crear los programas a las que se denomina Programas Fuente.
b) Compilación y Ejecución
Una vez que se ha escrito el programa fuente, se debe traducir a lenguaje máquina,
para obtener el correspondiente programa objeto, que es el que ejecuta la
computadora.
Si durante la traducción se detectan errores de sintaxis, el compilador informa al
usuario cuáles son y cuál es su posible ubicación.
c) Depuración
Es el proceso de localizar y corregir errores.
Existen 3 posibles tipos de errores cuando se ejecuta un programa:
1. Errores de Sintaxis: Se generan por el uso incorrecto de las reglas de sintaxis del
lenguaje de programación. El compilador informa al programador acerca de la
existencia de estos errores. Se detectan en tiempo de compilación.
2. Errores de Ejecución: Se producen por instrucciones que el computador entiende
pero que no puede ejecutar. Por ejemplo una división por cero, sacar la raíz
cuadrada de un número negativo, almacenar un dato en una zona prohibida de
memoria, etc. Se detectan al momento de ejecutar el programa.
3. Errores Lógicos: Ocurren cuando se le da a la computadora una secuencia
incorrecta de instrucciones, aunque cada instrucción pueda ejecutarse sin ningún
problema. Estos errores son los más difíciles de ubicar.

2
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
ALGORITMIA Y PROGRAMACIÓN

d) Verificación
Consiste examinar lo que hace un programa, cómo lo hace. Constatar si
efectivamente hace lo que se desea, y si no lo hace, entonces determinar las causas
por las que falta.
e) Optimización
Cuando se consigue hace funcionar correctamente un programa, el paso siguiente es
perfeccionarlo para que funcione mejor.
La optimización es una etapa de refinamiento, que puede incluir: eliminar
instrucciones innecesarias, hacer mejores presentaciones de reportes, etc.
f) Documentación
La documentación sirve para describir lo que hace un programa, como fue
construido, para qué sirven determinadas variables o bloques de instrucciones y
como tiene que ser utilizado.
Una buena documentación ayuda a comprender, mejorar y modificar los programas.
Puede ser interna, mediante la inclusión de comentarios en el programa o puede ser
externa.

ESTRUCTURAS DE CONTROL BÁSICAS UTILIZADAS EN PROGRAMACIÓN


Todo problema se puede plantear en base a 3 tipos de instrucciones, independientemente
del tipo de problema. Estos tipos de instrucciones se denominan Estructuras Básicas de
Control y son las siguientes:

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.

3
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
ALGORITMIA Y PROGRAMACIÓN

HERRAMIENTAS PARA REPRESENTACIÓN DE ALGORITMOS


Son herramientas que permiten que la descripción de un algoritmo pueda servir más
fácilmente para su codificación en algún lenguaje de programación.
Las herramientas más utilizadas son:
 Lenguaje Natural
 Diagramas de Flujo
 Pseudocódigo
 Diagramas Estructurado (N-S).
Lenguaje Natural
Consiste en expresar el algoritmo, realizando una descripción paso a paso del
procedimiento a seguir, en nuestro propio lenguaje, utilizando nuestras propias palabras.
Característica:
Se pueden utilizar todas las palabras que se crean necesarias y convenientes.
Esto puede ser una ventaja pues permite explicar detalladamente los pasos a seguir.
También puede ser una desventaja, pues al usar demasiadas palabras puede causar
confusión, inducir a error e incluso ser tedioso de leer.
1) Calcular el área de un círculo de Radio R.
Análisis: EFD
R Aci
PROCESO

Diseño de Algoritmo
1.-Primero debo conocer el valor del radio del círculo.
2.-Luego conociendo el valor del radio del círculo, calcularé el área del círculo
utilizando la siguiente fórmula: Aci = π R2
3.-Finalmente escribir el área calculada.

2) Calcular el área y perímetro de un cuadrado de lado L.


Análisis: EFD
L PROCESO Ac, Pe

Diseño de Algoritmo
1.-Primero se debe conocer el valor del lado del cuadrado.
2.-Luego conociendo el valor del lado del cuadrado, calcular el área del cuadrado
utilizando la siguiente fórmula: Ac = L*L y luego calcular el perímetro del
cuadrado aplicando la fórmula Pe= 4L.
3.-Finalmente escribir el área y perímetro calculado.

4
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
ALGORITMIA Y PROGRAMACIÓN

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:

SÍMBOLO SIGNIFICADO

Sirve para indicar el Inicio o Fin del


algoritmo

Representa la entrada de datos o salida


de resultados. (Salida por pantalla).

Representa un proceso o secuencia. Una


de las 3 estructuras básicas de control.

F Representa una toma de Decisión o


Selección. Admite sólo dos posibles
respuestas SI / NO (V / F).

Representa un proceso predefinido o


Subprograma.

El círculo se usa como conector de


flujo.

Este símbolo representa salida de


resultados por Impresora.

La unión de todos estos símbolos por flechas nos indican cómo se ejecuta el algoritmo
desde el inicio hasta el final.

5
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
ALGORITMIA Y PROGRAMACIÓN

Ejemplos:
1) Calcular el área de un círculo de Radio R.
Análisis: EFD
R PROCESO Aci

Diseño de Algoritmo
Inicio

Variables: R, Aci

Leer R

Aci= Π*R*R

Escribir Aci

Fin

2) Calcular el área y perímetro de un cuadrado de lado L.


Análisis: EFD
L PROCESO Ac, Pe
Diseño de Algoritmo

Inicio

Variables: L, Ac, Pe

Leer L

Ac = L*L

Pe = 4L

Escribir Ac, Pe

Fin

6
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
ALGORITMIA Y 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.
Se utiliza palabras que son comunes en 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:

IF condición THEN instrucción 1 SI CONDICION ENTONCES


instrucción 2 SE CUMPLE REALIZAR
.................... instrucción 1
END _ THEN instrucción 2
....................
FIN _ ENTONCES
ELSE EN_CASO_CONTRARIO
instrucción 3 REALIZAR
instrucción 4 instrucción 3
.................... instrucción 4
END_ ELSE ...................
FIN _ CASO _ CONTRARIO

El uso ELSE es opcional El uso de EN CASO CONTRARIO, es opcional

IF condición THEN instrucción 1 SI condicion ENTONCES REALIZAR


instrucción 2 Se cumple instrucción 1
.................... Instrucción 2
END _ THEN FIN _ ENTONCES

NOTA: Si se va a ejecutar una sola instrucción entonces no es necesario el uso de END _


THEN ni de END _ ELSE.

7
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
ALGORITMIA Y PROGRAMACIÓN

3) ITERACIÓN o REPETICIÓN:

Utiliza las palabras reservadas: DO/WHILE, WHILE/DO Y FOR

Sintaxis: DO/WHILE Significado

DO HACER
acción 1 acción 1
acción 2 acción 2
............. .............
MIENTRAS se
WHILE condición cumpla una
condición

Sintaxis: WHILE/DO Significado:

MIENTRAS se cumpla HACER


WHILE condición DO condición
acción 1 acción 1
acción 2 acción 2
............. .............
............. .............
END _ DO FIN _ HACER

Sintaxis: FOR Significado:


FOR Expr1; Expr2; Expr3 PARA Expr1; Expr2; Expr3
acción1 acción1
acción2 acción2
acción3 acción3
………. ……….
END_FOR FIN_PARA

Expr1: Inicializar o asignar el valor inicial de una variable.


Expr2: valor final de la variable o una condición de término.
Expr3: Incremento de una variable

8
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
ALGORITMIA Y PROGRAMACIÓN

Ejemplos:
1) Calcular el área de un círculo de Radio R.
Análisis: EFD
R PROCESO Aci

Diseño de Algoritmo

Inicio
1,.Leer R
2.-Calcular Aci = π R2
3.-Escribir: Aci
Fin

2) Calcular el área y perímetro de un cuadrado de lado L.


Análisis: EFD
L PROCESO Ac, Pe

Diseño de Algoritmo

Inicio
1.-Leer L
2.-Calcular Ac = L*L
3.-Calcular Pe = 4L
3.-Escribir: Ac, Pe
Fin

3) Calcular el área de un triángulo de Base B y altura H.


Análisis: EFD
B,H PROCESO At

Diseño de Algoritmo

Inicio
1.-Leer B,H
2.-Calcular At = (B*H)/2
3.-Escribir: At
Fin

9
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
ALGORITMIA Y PROGRAMACIÓN

Diagrama Estructurado (NASSI-SCHNEIDERMAN o N-S )


Es otra forma de representar los algoritmos gráficamente.
Es un diagrama algo similar a los diagramas de flujo en el que se omiten las flechas y las
figuras que se usan son rectángulos contiguos.
Las estructuras Básicas de Control las representa de la siguiente forma:

1)PROCESOS o SECUENCIAS:
Se representa mediante un rectángulo.

2)DECISIÓN o SELECCIÓN:

Se representa mediante la siguiente figura: Es equivalente a: IF/THEN/ELSE

condición IF condición THEN acción 1


V F se cumple acción 2
acción 1 acción 3 ............
END_THEN
acción 2 acción 4
ELSE acción 3
........... ............ acción 4
.............
........... ........... END_ELSE

3)ITERACIÓN o REPETICIÓN:
Se representa mediante las siguientes figuras:

a)DO/WHILE Similar a DO/WHILE de Pseudocódigo.

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
ALGORITMIA Y PROGRAMACIÓN

b)WHILE Similar a: WHILE/DO de Pseudocódigo.


condición WHILE se cumpla DO
condición
acción 1
acción 1
acción 2
acción 2
acción 3
acción 3
............

............ END-DO

c)FOR Similar a: FOR de Pseudocódigo.


V= ValorInicio; Condición ; Incremento PARA V=ValorInicio, ValorFin, Incremento

acción 1 acción1

acción 2 acción2

acción 3 acción3
……….
............ FIN_PARA

NOTAS
 Las acciones sucesivas se representan en rectángulos sucesivos.
 Utilizando cualquiera de las herramientas: Diagramas de flujo, Pseudocódigo o
Diagramas N-S, se puede:
o Utilizar una selección dentro de otra selección (selecciones anidadas).
o Utilizar iteraciones dentro de otra iteración (iteraciones anidadas)
o Combinar selecciones, iteraciones y /o secuencias en cualquier orden.

 Cuando se desarrolla un algoritmo expresado de cualquier forma, es conveniente


colocar una ligera explicación de lo que significa cada variable que se usa, para que sea
fácil de entender a cualquier persona (documentar el algoritmo).

11
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERÍA DE COMPUTACIÓN Y SISTEMAS ALGORITMOS
ALGORITMIA Y PROGRAMACIÓN

Ejemplos:
1) Calcular el área de un círculo de Radio R.
Análisis: EFD
R PROCESO Aci

Diseño de Algoritmo
Inicio
Variables R, Aci
Leer: R
Aci = π R2
Escribir: Aci
Fin

2) Calcular el área y perímetro de un cuadrado de lado L.


Análisis: EFD
L PROCESO Ac, Pe

Diseño de Algoritmo

Inicio
Variables L, Ac, Pe
Leer: L
Ac = L*L
Pe = 4*L
Escribir: Ac, Pe
Fin

3) Calcular el área de un triángulo de Base B y altura H.


Análisis: EFD
B, H PROCESO At

Diseño de Algoritmo
Inicio
Variables B, H, At
Leer B, H
At = (B*H)/2
Escribir: At
Fin

12

También podría gustarte