Sie sind auf Seite 1von 22

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO

INTRODUCCIN
Los algoritmos pueden ser expresados de muchas maneras, incluyendo
al lenguaje natural,

pseudocdigo, diagramas de flujo

lenguajes de

programacin entre otros. Las descripciones en lenguaje natural tienden a


ser ambiguas y extensas. El usar pseudocdigo y diagramas de flujo evita
muchas ambigedades del lenguaje natural. Dichas expresiones son formas
ms estructuradas para representar algoritmos; no obstante, se mantienen
independientes de un lenguaje de programacin especfico.
La descripcin de un algoritmo usualmente se hace en tres niveles:

1. Descripcin de alto nivel. Se establece el problema, se


selecciona un modelo matemtico y se explica el algoritmo de
manera verbal, posiblemente con ilustraciones y omitiendo detalles.

2. Descripcin formal. Se usa pseudocdigo para describir la


secuencia de pasos que encuentran la solucin.

3. Implementacin. Se muestra el algoritmo expresado en un


lenguaje de programacin especfico o algn objeto capaz de llevar a
cabo instrucciones.
Tambin es posible incluir un teorema que demuestre que el algoritmo es
correcto, un anlisis de complejidad o ambos.

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO


1. LENGUAJE ALGORTMICO:
Es una serie de smbolos y reglas que se utilizan para describir de manera
explcita un proceso, que servirn de apoyo para describir las soluciones
que aqu se plantean.
Los algoritmos pueden describirse utilizando diversos lenguajes. Cada uno
de estos lenguajes permiten describir los pasos con mayor o menor detalle.
La clasificacin de los lenguajes para algoritmos puede enunciarse de la
siguiente manera

GRFICOS:
Este tipo de lenguaje tiende a representar a los algoritmos de una forma
grfica. De esta manera se hace ms fcil la representacin de cada uno de
los procesos que debe llevar a cabo una computadora para resolver
problema.

DIAGRAMAS DE FLUJO:
Un diagrama de flujo es la representacin grfica de un algoritmo. Tambin
se puede decir que es la representacin detallada en forma grfica de cmo
deben realizarse los pasos en la computadora para producir resultados.
Esta representacin grfica se da
cuando

varios

smbolos

(que

indican diferentes procesos en la


computadora),

se

relacionan

entre s mediante lneas que


indican el orden en que se deben
ejecutar los procesos.
Los smbolos utilizados han sido
normalizados

por

el

instituto

norteamericano de normalizacin
(ANSI).

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO

SMBOLO

DESCRIPCIN
Indica el inicio y el final de
nuestro diagrama de flujo.
Indica la entrada y salida de datos.

Smbolo de proceso y nos indica la


asignacin de un valor en la
memoria y/o la ejecucin de una
operacin aritmtica.
Smbolo
de
decisin
indica
la
realizacin de una comparacin de
valores.

Decisiones mltiple (en funcin del


valor de la comparacin seguir uno
de los diferentes caminos).

Se utiliza para representar los


subprogramas.

Se utilizan en estructuras repetitivas


Conector dentro de pgina.
Representa la continuidad del
diagrama dentro de la misma
pgina.
Conector fuera de pgina.
Representa la continuidad del
diagrama en otra pgina.
Indica la salida de informacin por
impresora.

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO

Teclado (Smbolo de E/S)


Indica la salida de informacin en
la pantalla o monitor.
Lneas de flujo o direccin. Indican la
Secuencia en que se realizan las
operaciones.

VENTAJAS DEL DIAGRAMA DE FLUJOS:

Favorecen la comprensin del proceso al mostrarlo como un dibujo. El


cerebro humano reconoce muy fcilmente los dibujos. Un buen
diagrama de flujo reemplaza varias pginas de texto.

Permiten identificar los problemas y las oportunidades de mejora del


proceso. Se identifican los pasos, los flujos de los reprocesos, los
conflictos de autoridad, las responsabilidades, los cuellos de botella, y
los puntos de decisin.

Son una excelente herramienta para capacitar a los nuevos


empleados y tambin a los que desarrollan la tarea, cuando se realizan
mejoras en el proceso.

Al igual que el pseudocdigo, el diagrama de flujo con fines de


anlisis

de algoritmos de programacin puede

ser

ejecutado

en

un ordenador.

TIPOS DE DIAGRAMAS DE FLUJOS:

Formato vertical: En l, el flujo y la secuencia de las operaciones,


va de arriba hacia abajo. Es una lista ordenada de las operaciones de un
proceso con toda la informacin que se considere necesaria, segn su
propsito.

Formato horizontal: En l, el flujo o la secuencia de las


operaciones, va de izquierda a derecha.

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO

Formato panormico: El proceso entero est representado en


una sola carta y puede apreciarse de una sola mirada mucho ms rpido
que leyendo el texto, lo que facilita su comprensin, aun para personas
no familiarizadas. Registra no solo en lnea vertical, sino tambin
horizontal, distintas acciones simultneas y la participacin de ms de
un puesto o departamento que el formato vertical no registra.

Formato Arquitectnico: Describe el itinerario de ruta de una


forma o persona sobre el plano arquitectnico del rea de trabajo. El
primero de los flujogramas es eminentemente descriptivo, mientras que
los utilizados son fundamentalmente representativos.

COMO SE CONSTRUYE:

Debe de indicar claramente dnde inicia y dnde termina el diagrama.

Cualquier camino del diagrama debe de llevarte siempre a la terminal de


fin.

Organizar los smbolos de tal forma que siga visualmente el flujo de arriba
hacia abajo y de izquierda a derecha.

No usar lenguaje de programacin dentro de los smbolos.

Centrar el diagrama en la pgina.

Las lneas deben ser verticales u horizontales, nunca diagonales.

No cruzar las lneas de flujo empleando los conectores adecuados sin hacer
uso excesivo de ellos.

No fraccionar el diagrama con el uso excesivo de conectores.

Solo debe llegar una sola lnea de flujo a un smbolo. Pero pueden llegar
muchas lneas de flujo a otras lneas.

Las lneas de flujo deben de entrar a un smbolo pro la parte superior y/o
izquierda y salir de l por la parte inferior y/o derecha.

Evitar que el diagrama sobrepase una pgina; de no ser posible, enumerar y


emplear los conectores correspondientes.

Usar lgica positiva, es decir, realizar procesos cuando es verdadera la


condicin y expresar las condiciones de manera clara (por ej., "no es a =/=
de b" ==> "a=b").

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO

Comentar al margen nicamente cuando sea necesario.

LAS ENTRADAS Y SALIDAS


Para las entradas y salidas se puede utilizar un smbolo general siempre que
se introduce informacin a la computadora, o bien si sale informacin. El
comentario indicara la operacin.

Imprime
NOMBRE_EMPRESA
PAGO-BRUTO

Si se necesita un smbolo ms especfico se pueden usar los


siguientes

Impresora

Teclado

Disquete

Casete

Disco

USB

Recomendaciones para el diseo de


Diagramas de Flujo

Se deben de usar solamente lneas de flujo horizontal y/o vertical. Se


debe evitar el cruce de lneas utilizando los conectores.

Se deben usar conectores solo cuando sea necesario. No deben


quedar lneas de flujo sin conectar.

Se deben trazar los smbolos de manera que se puedan leer de arriba


hacia abajo y de izquierda a derecha.

Todo texto escrito dentro de un smbolo deber ser escrito


claramente, evitando el uso de muchas palabras.

Ejemplo de diagrama de flujo.


Se desea realizar el algoritmo que resuelva el siguiente

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO


problema:
Clculos de los Salarios semanales de los empleados de una empresa,
sabiendo que estos se calculan en base a las horas semanales trabajadas y
de acuerdo a un precio especificado por cada hora. Si se pasa de 40 horas
semanales, las horas extraordinarias se pagan 1,5 veces la hora ordinaria.

Los clculos sern muy sencillos:


1. Leer datos del archivo de la empresa hasta que se encuentre la
ficha final del archivo. (HORAS, PRECIO_HORA, NOMBRE)
2. Si HORAS <= 40 entonces SALARIO es producto de HORAS por
PRECIO_HORA.
3. Si HORAS > 40 entonces SALARIO es la suma de 40 veces
PRECIO_HORA ms 1,5 veces PRECIO_HORA por (HORAS-40).

INICIO

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO


NO

ms datos?

Leer horas y
Precio-hora

Horas <=40

Salario=horas*precio-hora
SI

Salario=40*precio-hora
NO
+1.5*precio-hora*(horashombre)

Escribir salario

fin

NO GRFICOS: son utilizados para representar procesos informticos

ya ms especficos. Dicho de otra forma, para representar la


codificacin de un Representa en forma descriptiva las operaciones

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO


que debe realizar un algoritmo (seudocdigo) programa sin la
necesidad de conocer un lenguaje de programacin especfico.

PSEUDOCDIGOS

Mezcla de lenguaje de programacin y


espaol (o ingls o cualquier otro idioma) que
se emplea, dentro de la programacin
estructurada, para realizar el diseo de un
programa.
En esencial, el pseudocdigo se puede definir
como un lenguaje de especificaciones de
algoritmos. Es la representacin narrativa de
los pasos que debe seguir un algoritmo para
dar solucin a un problema determinado. El
pseudocdigo utiliza palabras que indican el
proceso a realizar.

Ventajas de utilizar un Pseudocdigo a un Diagrama de Flujo

Ocupa menos espacio en una hoja de papel


Permite representar en forma fcil operaciones repetitivas complejas.
Es muy fcil pasar de pseudocdigo a un programa en algn lenguaje
de Programacin.
Si se siguen las reglas se puede observar claramente los niveles que
tiene cada Operacin.

Uso de algunas palabras claves utilizadas de modo general en lenguaje de


programacin:
ESPAOL
INGLES
INICIO
BEGIN
FIN
END
LEER
READ/INPUT
ESCRIBIR
WRITE/PRINT
SI-ENTONCES
IF-THEN
DESDE
FOR
MIENTRAS
WHILE
REPETIR
REPEAT
PARADA, FIN
STOP, END
HASTA-QUE
UNTIL
Es importante en los pseudos-cdigos el uso de la indentacin o sangra

Indentacin
si x<5
entonces hacer N*5
si no hacer N/5
fin de si

Sin indentacin
si
si

x<5
entonces hacer N*5
no hacer N/5
fin de si

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO

DIAGRAMAS ESTRUCTURADOS (NASSISCHNEIDERMAN) O N-S

El diagrama N-S es una tcnica en la cual se combina la descripcin textual


que se utiliza en el pseudocdigo y la representacin grfica de los
diagramas de flujo. Este tipo de tcnica se presenta de una manera ms
compacta que las dos anteriores, contando con un conjunto de smbolos
muy limitado para la representacin de los pasos que se van a seguir por un
algoritmo; por consiguiente, para remediar esta situacin, se utilizan
expresiones del lenguaje natural, sinnimos de las palabras propias de un
lenguaje de programacin (leer, hacer, escribir, repetir, etctera). Por
ejemplo, se puede establecer la solucin del diagrama N/S para determinar
el volumen de una caja de dimensiones A, B y C como se muestra en la
figura 1.2. Como se puede ver de este ejemplo, los diagramas N/S son como
los diagramas de flujo en el que se omiten las flechas de unin y las cajas
son contiguas. Las acciones sucesivas se escriben dentro de las cajas
sucesivas y, como en los diagramas de flujo, se pueden escribir diferentes
acciones en una caja.
Establecer cul herramienta utilizar para representar los algoritmos
diseados para la solucin de problemas estar en funcin del gusto y
preferencia del programador, y quizs no tanto en funcin de la complejidad
de los problemas, ya que si bien es cierto que los diagramas N/S tienen
pocos smbolos, presentan la ventaja de que por lo compacto que resultan
sus representaciones suelen ser ms fciles de leer y de transcribir al
lenguaje de programacin que se utilizar, pero luego resulta complicado
acomodar las acciones al construir el diagrama. Los smbolos ms utilizados
en diagrama N/S corresponden a un tipo de estructura para la solucin del
problema, esas estructuras pueden ser: secuenciales de decisin y de ciclo.

En General
Inicio
Accion1
Accion2
...
Fin

Un Ejemplo
INICIO
Lee nombre, hrs, precio
Calcular salario = hrs*precio
Calcular =salario*0.15
Calcular neto = salario+imp
Escribir nombre, imp, SNET
fin

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO


ESTRUCTURAS SECUENCIALES: Son aquellas que se ejecutan
una despus de otra.
Ttulo del Algoritmo

Indica el inicio de un algoritmo.


Declaracin de Variables.
Indica la entrada de informacin
Indica la salida de informacin
Indica un proceso, una ejecucin de
una lnea de cdigo, que puede ser una
asignacin.
Indica el Fin de un algoritmo.

ESTRUCTURAS SELECTIVAS:

Las estructuras de decisin o tambin


llamadas de
Seleccin permiten que el algoritmo tome
decisiones y ejecute u omita algunos
Procesos dependiendo del cumplimiento
de una condicin. Se pueden manejar
tres
Tipos de decisiones: simple, doble y
mltiple.
Pueden ser:
Simples (si entonces)
Alternativas (si- entonces si no)
Mltiples (segn-sea, caso)

Alternativa simple:
La alternativa simple si entonces (if) ejecuta una determina accin cuando se
cumple una determinada accin cuando se cumple una determinada condicin.
La seleccin si entonces evala la condicin y
Si la condicin es verdadera, entonces ejecuta la accin si (o acciones
caso de ser si una accin compuesta y constar de varias accin )
Si la condicin es falsa entonces no hacer nada .

Cierto
falso

<Condicin>

Hacer <accin A>

falso cierto
hacer <accin B>

< condicin>

hacer < accin A>

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO


Entonces

si no

(Diagrama N-S) si entonces si no

entonces

(Diagrama N-S) si entonces

Caractersticas de un buen diagrama NassiSchneiderman:


En la primera caja debe ir el nombre o ttulo del algoritmo, en el
recuadro siguiente debe ir la palabra Inicio.
La ltima instruccin de un Diagrama NS debe ser el recuadro Fin.
Todas las declaraciones de variables, funciones deben estar
especificadas bajo el recuadro que contiene la palabra Inicio.
Las estructuras de seleccin y cclicas deben estar lo ms clara
posible
El diseo debe caer en una hoja, a excepcin de la utilizacin de
funciones, las cuales pueden estar en otra hoja, debido a que se
consideran un algoritmo diferente.

Desventajas de los diagramas NS:

En algoritmos extensos su diseo es muy difcil de comprender.


La mantencin modificacin de este tipo de diagramas es tediosa.
Requiere de hojas muy extensas para ser escrito, debido a que
carece de conectores
que permitan su conexin con otras hojas.

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO

PRUEBA DE ESCRITORIO
Es el desarrollo o comprobacin de un algoritmo para verificar si es correcto
o no lo es, y si cumple con la especificacin, sin necesidad de ejecutarlo en
una ejecucin a mano de un algoritmo.
Nos permite saber: si el programa hace lo que debera hacer y elegir los
datos apropiados para la prueba. De lo contrario nos detectara errores en
algn paso, orden, obviarse o faltase algo.
Por lo que la prueba de escritorio no es ms que efectuar un proceso de
simulacin con el algoritmo desarrollado (ver que hara la computadora)
Este trabajo se realiza en base a una tabla cuyos encabezados son las
variables que se usan en el algoritmo y debajo de cada una de ellas se van
colocando los valores que van tomando, paso a paso y siguiendo el flujo
indicado por el algoritmo hasta llegar al final.
Para realizar una prueba de escritorio se anota como primer elemento los
datos de entrada, los procesos y para finalizar a el resultado que se llegue
- Consiste en dar diferentes datos de entrada al diagrama y seguir la lgica
de programacin y que el resultado sea algo verdico.
- Tomando las variables involucradas en el mismo para as llegar al registr
de los valores
Ejemplo:

ALGORITMO
1.-Inicio
2.-Suma
3.-J=1
4.-Mientras (j=-2)
4.1-Dame calificacin
4.2.-Lee calif
4.3.-Suma=calif+suma
4.4.-J=j+1
Fin mientras
5.- prom=suma/2
6.- imprime prom

PRUEBA DE ESCRITORIO
J
1
2

J<=-2
J<=-2
J<=-2

CALIF
10
8

suma=10+8
suma=18
prom=18/2

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO

EJEMPLOS:
1. DETERMINAR SI UN MNUMERO ES PAR O IMPAR
EN PSEUDOCODIGO
Inicio
Leer x
SI (x % 2 =0)
Mostrar el nmero es par
DE LO CONTRARIO
Mostrar El nmero es impar
FIN SI
Fin

DIAGRAMA DE FLUJO
INICIO

USA X

INTRODU
CE UN
NMERO

LEE X

XMod=
NO

SI
ES PAR

FIN

ES IMPAR

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO


DIAGRAMA N_S

PRUEBA DE ESCRITORIO

X
2
3
4

Prueba de escritorio
Mod2=
Si
No
Si

Resultado
Par
Impar
Par

Ejercicio 2: Consideremos un crculo de 6 centmetros de radio

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO


rea del circulo = 3.1416 * 6*6= 113.0976
Longitud de la circunferencia = 2*3.1415 * 6 = 37.6992
Declaracin de los datos:
Dato de entrada r: radio del crculo, numrico
Datos de salida a: rea del crculo, numrico
l: Longitud de la circunferencia, numrico

Prueba de escritorio

PSEUDOCODIGO:

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO


1. Crear un algoritmo que proporcione el precio medio de un
producto,

calculado

partir

del

precio

del

mismo

en

tres

establecimientos distintos.
Definicin del problema
Calcular

el

precio

medio

de

un

producto

distribuido

en

establecimientos
Anlisis del problema
Datos de entrada: precio 1, precio 2, precio 3.
Datos de salida: precio medio del producto
Diseo de la solucin
1. Inicio [Pseudocdigo aprenderaprogramar.com]
2. Mostrar Introduzca el precio del producto en el establecimiento
nmero 1,: Pedir Precio1
3. Mostrar Introduzca el precio del producto en el establecimiento
nmero 2,: Pedir Precio2
4. Mostrar Introduzca el precio del producto en el establecimiento
nmero 3,: Pedir Precio3
5. Media = (Precio1 + Precio2 + Precio3) / 3
6. Mostrar El precio medio del producto es, Media
7. Fin

2. Crear un algoritmo que proporcione el volumen de un cilindro,


conocidos su altura y dimetro.

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO


Definicin del problema
Calcular el volumen de un cilindro
Anlisis del problema
Datos de entrada: dimetro, altura
Datos de salida: volumen
Diseo de la solucin
1. Inicio
2. Mostrar Introduzca el dimetro, en metros : Pedir D
3. Mostrar Introduzca la altura, en metros : Pedir H
4. R = D/2 : Pi = 3,141593
5. V = Pi * (R ^ 2) * H
6. Mostrar El volumen del cilindro es de, V, metros cbicos
7. Fin

DIAGRAMA DE FLUJO:

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO


1. Crear un diagrama de flujo de procesos en el que se almacenen 3
nmeros en 3 variables A, B y C. El diagrama debe decidir cul es el
mayor.
Definicin del problema
Mostrar la variable mayor de 3 variables A, B y C
Anlisis del problema
Datos de entrada: variables A, B y C.
Datos de salida: El nmero mayor.
Diseo de la solucin

2.

Desarrolle un algoritmo que permita determinar el rea y volumen de


un cilindro dado su radio (R) y altura (H)
Definicin del problema
Calcular el rea y el volumen de un cilindro.

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO


Anlisis del problema
Datos de entrada: Radio, altura
Datos de salida: rea, Volumen
Diseo de la solucin

DIAGRAMA DE NASSI SCHENEIDERMAN


1. Dados dos nmeros cul es mayor? y cul es menor?
Definicin del problema
Identificar el mayor y menor de dos nmeros

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO


Anlisis del problema
Datos de entrada: num1, num2
Datos salida: mayor, menor
Proceso: comparacin
Diseo de la solucin

CONCLUSIONES

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO

Las descripciones en lenguaje natural tienden a ser ambiguas y


extensas. El usar pseudocdigo y diagramas de flujo evita muchas

ambigedades del lenguaje natural


En el proceso de aprendizaje de pseudocdigos estamos ms cerca
de la codificacin en un lenguaje determinado, que cuando nos

iniciamos con los diagramas de flujo


Las descripciones en lenguaje natural tienden a ser ambiguas y
extensas. El usar pseudocdigo y diagramas de flujo evita muchas

ambigedades del lenguaje natural


Los diagramas de flujo son usados para representar algoritmos
pequeos, ya que abarcan mucho espacio y su construccin es
laboriosa.
El pseudocdigo facilitar a las personas el entendimiento de un
algoritmo, y por lo tanto puede omitir detalles irrelevantes que son
necesarios en una implementacin.

Das könnte Ihnen auch gefallen