Está en la página 1de 40

Universidad Nacional de Ingeniería

Facultad de Ingeniería Ambiental (FIA)

Mg. PD.Jorge Luis Huamán Vera


E-learning
Contenido
MÓDULO N 1: Algoritmos.

1. Terminología empleada en algoritmos. 3. Técnicas de Diagramación de Algoritmos.


1. Definición de problema. 1. Estructuras Algorítmicas.
2. Definición de algoritmo. 2. Lenguaje Natural.
3. Características de los algoritmos. 3. Lenguaje de Pseudocódigo.
4. Entidades Primitivas para el Desarrollo 4. Diagramas de Acción.
de Algoritmos. 5. Diagramas de Flujo.
1. Tipos de datos. 6. Diagramas Nassi/Scheiderman.
2. Expresiones.
3. Operadores y Operandos.

2. Metodología de solución de problemas.


1. Definición del Problema.
2. Análisis de Problema.
3. Diseño del Algoritmo.
4. Codificación del Programa.
5. Prueba y Depuración.
6. Documentación.
7. Mantenimiento.
MÓDULO N 1: ALGORITMOS.
1.1. Terminología empleada en algoritmos.
Asignación N 1: Realizar un Wiki con los siguientes Términos:
1. Acumulador. 16. Declaración.
2. Algoritmo. 17. Diagrama de Flujo.
3. Aplicación. 18. Hardware.
4. Bandera. 19. Operadores Lógicos.
5. Bucle. 20. Operadores Relacionales.
6. Condición Múltiple. 21. Palabra Reservada.
7. Condición Simple. 22. Proceso.
8. Conector. 23. Programa.
9. Constante. 24. Pseudocódigo.
10. Contador. 25. Salida.
11. Dato. 26. Software.
12. Datos Alfabéticos. 27. Valor.
13. Datos Alfanuméricos. 28. Variable de Trabajo.
14. Datos Lógicos. 29. Variable.
15. Datos Numéricos.

Nota: Utilice el sitio http://www.wikispaces.com/ u otro sitio en internet donde pueda hacerlo.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.

1. Definición de problema:
La solución a la medida de un problema por computadora, requiere como en otras disciplinas de una
metodología que nos enseñe de manera gradual, la forma de llegar a estas soluciones. La Metodología para la
solución de Problemas por computadora establece 7 pasos, dispuestos de tal forma que cada uno es
dependiente de los anteriores, lo cual indica que se trata de un proceso complementario y por lo tanto cada
paso exige el mismo cuidado en su elaboración.

1. Definición del problema.


2. Análisis del Problema.
3. Diseño del algoritmo.
4. Codificación del Programa.
5. Prueba y depuración.
6. Documentación.
7. Mantenimiento.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.

1.1.2 Definición de algoritmo.


“Un algoritmo se define como un método que se realiza paso a
paso para solucionar un problema que termina en un número
finito de pasos”.

“Es un conjunto de instrucciones o reglas bien definidas,


ordenadas y finitas que permite realizar una actividad mediante
pasos sucesivos que no generen dudas a quien lo ejecute. Los
Algoritmos tienen un inicio y una entrada, siguiendo los pasos
sucesivos por lo general ocurre un proceso y finalmente se
obtiene una salida o una solución del problema.”

“Es un Método para resolver un problema mediante una serie de


pasos precisos , definidos y finitos. Un algoritmo es una serie de
operaciones detalladas ,en otras palabras un algoritmo es un
conjunto de reglas para resolver una cierta clase de problemas y
se puede formular de muchas formas con el cuidado de que no
exista ambigüedad. “
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
3. Características de los algoritmos.
 Debe ser preciso. e indicar el orden de realización de cada
paso.
 Debe ser definido. Si se sigue un algoritmo dos veces, se
debe obtener el mismo resultado cada vez.
 Debe ser finito. Si se sigue un algoritmo, se debe terminar
en algún momento ; o sea debe tener un número finito de
pasos.
 Debe describir tres partes : Entrada, Proceso y Salida.
 Debe ser Sencillo , Legible.
 Debe ser Modular.
 Debe ser Eficiente y Efectivo.
 Debe desarrollarse en el menor tiempo posible. Romper
con el paradigma de Eficiencia vs Eficacia.
 Debe ser Correcto. Sin errores.
 Debe cero ó mas entradas.
 Debe tener al menos una salida y ésta debe ser tangible.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1. Algoritmos Cotidianos

En la vida cotidiana se emplean algoritmos en multitud de


ocasiones para resolver problemas. Algunos ejemplos son:

1. Los manuales de usuario, que muestran algoritmos para


usar un aparato, o
2. Las instrucciones que recibe un trabajador por parte de su
patrón.
3. Los pasos de una receta de una ensalada Cesar con Pollo.
4. El cambio de un neumático.
5. El lavar los platos en la cocina.
6. Los pasos a seguir en un día normal de trabajo.
7. El como cambiar una bombilla eléctrica.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1. Algoritmos Cotidianos

Diseñar un algoritmo para cambiar una llanta a un coche.

1. Inicio.
2. Traer gato.
3. Levantar el coche con el gato.
4. Aflojar tornillos de las llantas.
5. Sacar los tornillos de las llantas.
6. Quitar la llanta.
7. Poner la llanta de repuesto.
8. Poner los tornillos.
9. Apretar los tornillos.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.

1.1.3.2. Definición de los Lenguajes Algorítmicos.

El pseudocódigo es un lenguaje de programación


algorítmico; es un lenguaje intermedio entre el lenguaje
natural y cualquier lenguaje de programación específico,
como son: C, FORTRAN, Pascal, etc. No existe una notación
formal o estándar de pseudocódigo, sino que, cada
programador puede utilizar la suya propia.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.

1.1.3.3. Historia y Aplicación de los Lenguajes Algorítmicos.


La palabra algoritmo proviene del nombre del matemático persa llamado
Abu Abdullah Muhammad bin Musa al-Khwarizmi que vivió entre los
siglos VIII y IX. Su trabajo consistió en preservar y difundir el
conocimiento de la antigua Grecia y de la India. Sus libros eran de fácil
comprensión, he aquí que su principal valor no fuera el de crear nuevos
teoremas o nuevas corrientes de pensamiento, sino el simplificar las
matemáticas a un nivel lo suficientemente bajo para que pudiera ser
comprendido por un amplio público. Cabe destacar, como él señaló las
virtudes del sistema decimal indio, (en contra de los sistemas
tradicionales árabes) y como explicó que mediante una especificación
clara y concisa de cómo calcular sistemáticamente, se podrían definir
algoritmos que fueran usados en dispositivos mecánicos en vez de las
manos (por ejemplo, ábacos). También estudió la manera de reducir las
operaciones que formaban el cálculo. Es por esto que aun no siendo él el
creador del primer algoritmo, el concepto lleva aunque no su nombre, sí
su pseudónimo.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.

1.1.3.3. Historia y Aplicación de los Lenguajes Algorítmicos.


Así, de la palabra algoritmo que originalmente hacía referencia
a las reglas de uso de la aritmética utilizando dígitos arábigos,
se evolucionó a la palabra latina, derivación de al-Khwarizmi,
algobarismus, y luego más tarde mutó en algoritmo en el siglo
XVIII. La palabra ha cambiado de forma que en su definición se
incluyen a todos los procedimientos finitos para resolver
problemas.

Ya en el siglo XIX, se produjo el primer algoritmo escrito para


un computador. La autora fue Ada Byron en cuyos escritos se
detallaban la máquina analítica en 1842. Es por ello que es
considerada por muchos como la primera programadora
aunque, desde Charles Babbage nadie completó su máquina,
por lo que el algoritmo nunca se implementó.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.

4. Entidades Primitivas para el desarrollo de Algoritmos.

1. Tipos de datos.
2. Expresiones.
3. Operadores y Operandos.
INFORMÁTICA II.

1.1.3.4.1. Tipos de Datos.


Clasificación de los tipos de datos simples: Los tipos de
datos simples se clasifican en predefinidos y definidos por
el programador. La clasificación completa es:
INFORMÁTICA II.

2. Expresiones.

Las expresiones son combinaciones de constantes, variables, símbolos


de operación, paréntesis y nombres de funciones especiales. Por
ejemplo:

a+(b + 3)/c

Cada expresión toma un valor que se determina tomando los valores de las
variables y constantes implicadas y la ejecución de las operaciones indicadas.

Una expresión consta de operadores y operandos. Según sea el tipo de datos


que manipulan, se clasifican las expresiones en:

 Aritméticas.
 Relaciónales.
 Lógicas.
INFORMÁTICA II.

3. Operadores y Operandos.

Operadores: Son elementos que relacionan de forma


diferente, los valores de una o más variables y/o
constantes. Es decir, los operadores nos permiten
manipular valores.

Tipos de Operadores:
1. Operadores Aritméticos en pseudocódigo.
2. Operadores relacionales en pseudocódigo.
3. Operadores Lógicos en pseudocódigo.
4. Operadores de Cadena en pseudocódigo.
INFORMÁTICA II.

1.1.3.4.3. Operadores y Operandos.

Prioridad de los Operadores aritméticos, relacionales, lógicos y de cadena (de mayor a menor) en pseudocódigo).
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
2. Metodología de solución de problemas.

1. Definición del problema.

Esta fase está dada por el enunciado del problema, el cual


requiere una definición clara, precisa y completa. Es
importante conocer y delimitar por completo el problema y
que se desea que realice la computadora; mientras esto no
se conozca del todo no tiene mucho caso continuar con la
siguiente paso.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
2. Metodología de solución de problemas.
1.2.2 Análisis del problema.

Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:


a. Los datos de entrada.
b. Cual es la información que se desea producir (salida)
c. Los métodos y fórmulas que se necesitan para procesar los datos.
d. Una recomendación muy practica es el que nos pongamos en el lugar de la
computadora y analicemos que es lo que necesitamos que nos ordene y en que
secuencia para producir los resultados esperados.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
2. Metodología de solución de problemas.
3. Diseño del Algoritmo.

Las características de un buen algoritmo son:


a. Debe tener un punto particular de inicio.
b. Debe ser definido, no debe permitir dobles
interpretaciones.
c. Debe ser general, es decir, soportar la mayoría de
las variantes que se puedan presentar en la
definición del problema.
d. Debe ser finito en tamaño y tiempo de ejecución.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.2. Metodología de solución de problemas.
1.2.4 Codificación del Programa.

La codificación es la operación de escribir la solución del


problema (de acuerdo a la lógica del diagrama de flujo o
pseudocódigo), en una serie de instrucciones detalladas, en
un código reconocible por la computadora, la serie de
instrucciones detalladas se le conoce como código fuente, el
cual se escribe en un lenguaje de programación o lenguaje de
alto nivel.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.2. Metodología de solución de problemas.
1.2.5 Prueba y Depuración.
Los errores humanos dentro de la programación de computadoras son muchos y
aumentan considerablemente con la complejidad del problema. El proceso de
identificar y eliminar errores, para dar paso a una solución sin errores se le llama
depuración. La depuración o prueba resulta una tarea tan creativa como el
mismo desarrollo de la solución, por ello se debe considerar con el mismo
interés y entusiasmo. Resulta conveniente observar los siguientes principios al
realizar una depuración, ya que de este trabajo
depende el éxito de nuestra solución.
Prueba es el proceso de identificar los errores que se presenten durante la
ejecución del programa; es conveniente que cuando se pruebe un programa
se tomen en cuenta los siguientes puntos:

1. Tratar de iniciar la prueba con una mentalidad saboteadora, casi


disfrutando la tarea de encontrar un error.
2. Sospechar de todos los resultados que arroje la solución, con lo
cual se deberán verificar todos.
3. Considerar todas las situaciones posibles, normales y aún las
anormales.

La Depuración consiste en eliminar los errores que se hayan detectado


durante la prueba, para dar paso a una solución adecuada y sin errores.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.2. Metodología de solución de problemas.

1.2.6 Documentación.
Es la guía o comunicación escrita es sus variadas formas, ya sea en enunciados,
procedimientos, dibujos o diagramas. Es la guía o comunicación escrita que sirve
como ayuda para usar un programa, o facilitar futuras modificaciones. A menudo un
programa escrito por una persona es usado por muchas otras, por ello la
documentación es muy importante; ésta debe presentarse en tres formas: EXTERNA,
INTERNA y AL USUARIO FINAL.

 Documentación Interna: Consiste en los comentarios o mensajes que se


agregan al código del programa, que explican las funciones que realizan ciertos
procesos, cálculos o fórmulas para el entendimiento del mismo.

 Documentación Externa: También conocida como Manual Técnico, está


integrada por los siguientes elementos: Descripción del Problema, Nombre del
Autor, Diagrama del Flujo y/o Pseudocódigo, Lista de variables y constantes, y
Codificación del Programa, esto con la finalidad de permitir su posterior
adecuación a los cambios.

 Manual del Usuario: Es la documentación que se le proporciona al usuario final,


es una guía que indica el usuario como navegar en el programa, presentando
todas las pantallas y menús que se va a encontrar y una explicación de los
mismos, no contiene información de tipotécnico.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.2. Metodología de solución de problemas.
1.2.7 Mantenimiento.

Se lleva acabo después de terminado el programa, cuando se detecta


que es necesario hacer algún cambio, ajuste o complementación al
programa para que siga trabajando de manera correcta. Para poder
realizar este trabajo se requiere que el programa este correctamente
documentado.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
1.3.0. Estructuras Algorítmicas.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
1.3.0.1. Estructura Algorítmica Secuencial.

Inicio
Accion1
Accion2
.
.
Acción N
Fin
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
1.3.0. 2 Estructuras Algorítmicas Condicionales.

Si <condición> entonces Casos Variable


Acción(es) Op1: Acción(es)
si no Op2: Acción(es)
Acción(es)
OpN: acción
Fin−si
Si <condición> entonces Fin−casos
Acción(es) Si <condición> entonces
Fin−si Acción(es)
si no
Si <condición> entonces
Acción(es)
si no
.
. Varias condiciones
.
Fin−si
Fin−si
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
1.3.0.3. Estructuras Algorítmicas Cíclicas.
Hacer para V.C = L.I a L.S VC=LI
Accion1 Vc = LS V
Accion2 vc=vc+1
.
.F
.
Son aquellos en que el número de AccionN Cuerpo del ciclo)
iteraciones se conoce antes de Fin−para
ejecutarse el ciclo. La forma de esta
estructura es la siguiente: Donde:
 V.C Variable de control del ciclo
 L.I Limite inferior
 L.S Limite superior
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
1.3.0.4. Estructuras Algorítmicas Cíclicas.

Repetir−Hasta: Esta es una estructura similar en algunas Repetir


características, a la anterior. Repite un proceso una cantidad Acción 1
de veces, pero a diferencia del Hacer−Mientras, el Acción 2
Repetir−Hasta lo hace hasta que la condición se cumple y
.
no mientras, como en el Hacer−Mientras. Por otra parte,
esta estructura permite realizar el proceso cuando menos .
una vez, ya que la condición se evalúa al final del proceso, Acción N
mientras que en el Hacer−Mientras puede ser que nunca Hasta <condición> NO
llegue a entrar si la condición no se cumple desde un
principio. La forma de esta estructura es la siguiente:
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
1.3.0.5. Estructuras Algorítmicas Cíclicas.

Hacer mientras <condición>


Hacer−Mientras: Esta es una estructura que
Acción 1 NO
repetirá un proceso durante N veces, donde N
Acción2
puede ser fijo o variable. Para esto, la
.
instrucción se vale de una condición que es la
. SI
que debe cumplirse para que se siga
Acción N
ejecutando. Cuando la condición ya no se
Fin−mientras
cumple, entonces ya no se ejecuta el proceso.
La forma de esta estructura es la siguiente:
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
1.3.0.6. Estructuras Algorítmicas Cíclicas.

Repetir−Hasta: Esta es una estructura similar en algunas Repetir


características, a la anterior. Repite un proceso una cantidad de Acción 1
veces, pero a diferencia del Hacer−Mientras, el Repetir−Hasta lo Acción 2
hace hasta que la condición se cumple y no mientras, como en
.
el Hacer−Mientras. Por otra parte, esta estructura permite
realizar el proceso cuando menos una vez, ya que la condición .
se evalúa al final del proceso, mientras que en el Acción N
Hacer−Mientras puede ser que nunca llegue a entrar si la Hasta <condición> NO
condición no se cumple desde un principio. La forma de esta
estructura es la siguiente:
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
3. Técnicas de Diagramación de Algoritmos.
1. Lenguaje de Pseudocódigo

 Sintaxis de un Algoritmo en pseudocódigo.  Sintaxis de un Algoritmo en pseudocódigo.

inicio algoritmo <nombre_del_algoritmo>


acumulador ← 0
contador ← 0 [ constantes
hacer mientras <declaraciones_de_constantes>]
escribir( "Introduzca un número entero: " ) [ tipos_de_datos
leer( numero ) <declaraciones_de_tipos_de_datos> ]
acumulador ← acumulador + numero [ variables
contador ← contador + 1 <declaraciones_de_variables> ]
escribir( "Ha introducido ", contador, " número(s)" )
escribir( "La suma es ", acumulador ) inicio
escribir( "¿Desea introducir otro número (s/n)?: " ) <bloque_de_instrucciones>
leer( seguir ) fin
fin_mientras ( seguir <> 'n' )
escribir( "La media aritmética es ", acumulador / contador )
fin
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
3. Técnicas de Diagramación de Algoritmos.
1. Lenguaje de Pseudocódigo

Este algoritmo es caracterizado porque sigue un


proceso de ejecución común y lógico,
describiendo textualmente paso a paso cada
una de las actividades a realizar dentro de una
actividad determinada.
1. Levantarse.
2. Bañarse.
3. Vestirse.
4. Desayunar.
5. Cepillarse los dientes.
6. Salir de casa.
7. Tomar el autobús.
8. Llegar la Universidad.
9. Buscar el aula.
10. Ubicarse en un asiento.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
1.3.2. Diagramas de Acción.
 Estructura Condicional de un Diagrama de Acción.  Estructuras de Repetición de un Diagrama de Acción.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
1.3.2. Diagramas de Flujo.

Son la representación gráfica de la solución


algorítmica de un problema. Para diseñarlos se
utilizan determinados símbolos o figuras que
representan una acción dentro del procedimiento.
Utilizan unos símbolos normalizados, con los pasos
del algoritmo escritos en el símbolo adecuado y
los símbolos unidos con flechas, denominadas
líneas de flujo, que indican el orden en que los
pasos deben ser ejecutados.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
3. Técnicas de Diagramación de Algoritmos.
2. Diagramas de Flujo.

1. Se escribe de arriba hacia abajo y de izquierda a derecha .


2. Se deben usar solamente líneas de flujo horizontales y/o verticales.
3. Siempre se usan flechas verticales u horizontales, jamás curvas.
4. Evitar cruce de flujos.
5. En cada paso expresar una acción concreta .
6. Se deben usar conectores sólo cuando sea necesario.
7. Se debe evitar el cruce de líneas utilizando los conectores.
8. No deben quedar líneas de flujo sin conectar.
9. Se deben trazar los símbolos de manera que se puedan leer de arriba hacia
abajo y de izquierda a derecha.
10. Todo texto escrito dentro de un símbolo deberá ser escrito claramente,
evitando el uso de muchas palabra
11. La secuencia de flujo normal en una solución de problema .
a. Tiene un inicio.
b. Una lectura o entrada de datos.
c. El proceso de datos.
d. Una salida de información.
e. Un final.
12. Simbología para diseñar flujogramas.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
1.3.2. Simbología.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
1.3.2. Simbología.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
1.3.2. Diagramas de Flujo.

 Ventajas.
1. Rápida comprensión de las relaciones.
2. Análisis efectivo de las diferentes secciones del programa.
3. Pueden usarse como modelos de trabajo en el diseño de nuevos
programas o sistemas.
4. Comunicación con el usuario.
5. Documentación adecuada de los programas.
6. Codificación eficaz de los programas.
7. Depuración y pruebas ordenadas de programas.

 Desventajas.
1. Diagramas complejos y detallados suelen ser laboriosos en su
planteamiento y diseño.
2. Acciones a seguir tras la salida de un símbolo de decisión, pueden ser
difíciles de seguir si existen diferentes caminos .
3. No existen normas fijas para la elaboración de los diagramas de flujo
que permitan incluir todos los detalles que el usuario desee introducir.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
3. Técnicas de Diagramación de Algoritmos.
4. Diagramas N-S (Nassi-Schneiderman o de Chapin).

 Es una herramienta que favorece la programación estructurada y


reúne características gráficas propias de diagramas de flujo y
lingüísticas propias de pseudocódigos.

 Los diagramas N-S permiten representar de forma sencilla los pasos


que conforman un algoritmo y por su combinación de texto e imagen
son muy fáciles de interpretar.

 Constan de una serie de cajas contiguas que se leerán siempre de


arriba-abajo al igual que los diagramas de flujo poseen estructuras
lógicas y simbología.

 Es importante mencionar que el diseño de algoritmos no sólo requiere


conocer metodologías de representación, sino también desarrollar el
pensamiento lógico para generar soluciones y esto se consigue
mediante el desarrollo de ejercicios.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
3. Técnicas de Diagramación de Algoritmos.
4. Diagramas N-S (Nassi-Schneiderman o de Chapin).

Definición del problema: Leer 10 números y


sumarlos, determinar el promedio, el número menor
y el número mayor.

Análisis del problema:


Datos de entrada:
 Número

Datos de salida:
 Sumatoria, promedio, número menor y número
mayor.

Proceso:
suma = suma + número
promedio = suma / 10

También podría gustarte