Vous êtes sur la page 1sur 15

Universidad Nacional Pedro Ruiz Gallo

FACULTAD DE INGENIERIA CIVIL, SISTEMAS Y ARQUITECTURA


ESCUELA PROFESIONAL DE INGENIERIA CIVIL

Representacin Grfica de Algoritmos

DOCENTE:
Irma Capuay

INTEGRANTES:
Capitn Villegas Juan (160409E)
Chinchay Abad Joan Andr (160413B)
Galn Heredia Manuel Fabrizio (160416A)
Palacios Asenjo Ricardo Ral (165117B)
Ponce De Len Torres David Enrique (169056H)
Velsquez Snchez Jhonatan (145642D)

2017, 16 de Junio
Representacin Grfica de Algoritmos
Para representar un algoritmo se debe utilizar algn mtodo que
permita independizar dicho algoritmo del lenguaje de programacin
elegido. Ello permitir que un algoritmo pueda ser codificado
indistintamente en cualquier lenguaje. Para conseguir este objetivo
se precisa que el algoritmo sea representado grafica o
numricamente de modo que las sucesivas acciones no dependan
de la sintaxis de ningn lenguaje de programacin, sino que la
descripcin pueda servir fcilmente para su transformacin de en un
programa, es decir, su codificacin.
Los mtodos usuales para representar un algoritmo son:
Diagrama de flujo
Diagrama N-S (Nassi-Schneiderman)
Pseudocdigo o lenguaje de especificacin de algoritmos

Diagrama de flujo
Los diagramas de flujo son una manera de representar visualmente
el flujo de datos a travs de sistemas de tratamiento de informacin.
Los diagramas de flujo describen que operaciones y en que
secuencia se requieren para solucionar un problema dado.
Un diagrama de flujo u organigrama es una representacin
diagramtica que ilustra la secuencia de las operaciones que se
realizarn para conseguir la solucin de un problema.
Los diagramas de flujo se dibujan generalmente antes de comenzar
a programar el cdigo frente a la computadora. Los diagramas de
flujo facilitan la comunicacin entre los programadores y la gente del
negocio. Estos diagramas de flujo desempean un papel vital en la
programacin de un problema y facilitan la comprensin de
problemas complicados y sobre todo muy largos. Una vez que se
dibuja el diagrama de flujo, llega a ser fcil escribir el programa en
cualquier idioma de alto nivel. Vemos a menudo cmo los diagramas
de flujo nos dan ventaja al momento de explicar el programa a otros.
Por lo tanto, est correcto decir que un diagrama de flujo es una
necesidad para la documentacin mejor de un programa complejo.
A. Para su elaboracin se siguen ciertas reglas:
Los Diagramas de flujo deben escribirse de arriba hacia abajo,
y/o de izquierda a derecha.
Los smbolos se unen con lneas, las cuales tienen en la punta
una flecha que indica la direccin que fluye la informacin
procesos, se deben de utilizar solamente lneas de flujo
horizontal o verticales (nunca diagonales).
Se debe evitar el cruce de lneas, para lo cual se quisiera
separar el flujo del diagrama a un sitio distinto, se pudiera
realizar utilizando los conectores.
Se debe tener en cuenta que solo se van a utilizar conectores
cuando sea estrictamente necesario.
No deben quedar lneas de flujo sin conectar
Todo texto escrito dentro de un smbolo debe ser legible,
preciso, evitando el uso de muchas palabras.
Todos los smbolos pueden tener ms de una lnea de entrada,
a excepcin del smbolo final.
Solo los smbolos de decisin pueden y deben tener ms de
una lnea de flujo de salida.
Secuencia de flujo normal en una solucin de problema
Tiene un inicio
Una lectura o entrada de datos
El proceso de datos
Una salida de informacin
Un final
Simbologa para disear flujogramas
VENTAJAS DE USAR FLUJOGRAMAS
Rpida comprensin de las relaciones
Anlisis efectivo de las diferentes secciones del programa
Pueden usarse como modelos de trabajo en el diseo de
nuevos programas o sistemas
Comunicacin con el usuario
Documentacin adecuada de los programas
Codificacin eficaz de los programas
Depuracin y pruebas ordenadas de programas

DESVENTAJAS DE LOS FLUJOGRAMAS


Diagramas complejos y detallados suelen ser laboriosos en
su planteamiento y diseo
Acciones a seguir tras la salida de un smbolo de decisin,
pueden ser difciles de seguir si existen diferentes caminos
No existen normas fijas para la elaboracin de los diagramas
de flujo que permitan incluir todos los detalles que el usuario
desee introducir.
DIAGRAMA DE FLUJO:
EJERCICIO (01): DADO TRES NUMEROS ENTEROS, RESOLVER EL NUMERO
MAYOR.

INICIO

n1, n2, n3, m: Entero

Leer n1, n2, n3

F V
n1>n2

F V F V
n2>n3 n1>n3

m n3 m n2 m n3 m n1

Escribir m

FIN
EJERCICIO (02): Determinar si un nmero entero es negativo,
positivo o neutro.

INICIO

m : Entero
r : cadena

Leer m

F
m>0

r POSITIVO
V

F
m<0

r NEGATIVO
V

F
m=0

r NEUTRO
V

Escribir r

FIN
DIAGRAMAS NASSI-SCNEIDERMAN (N-S)
Fue desarrollado en 1972 por Isaac Nassi y Ben Shneiderman. Este diagrama
tambin es conocido como estructograma, ya que sirve para representar la
estructura de los programas. Combina la descripcin textual del pseudocdigo
con la representacin grfica del diagrama de flujo. Tambin conocido como
diagrama de Chapin, utiliza una serie de cajas, similar a los diagramas de flujos,
pero no requiere la utilizacin de flechas, debido a que su flujo siempre es
descendente.

Un algoritmo se representa de la manera siguiente:


Caractersticas de un buen diagrama Nassi-Schneiderman:

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.
Tipos de diagramas
Bloques de proceso:
El bloque de proceso representa el paso mas simple y no requiere ningn
anlisis especfico.Cuando un bloque de proceso es encontrado, la accin
dentro del bloque se realiza, y pasamos directamente al siguiente bloque

Bloques ramificados:
Hay dos tipos de estos bloques. El primero y ms sencillo de ellos es el
bloque verdadero-falso el cual ofrece al programa dos caminos para
tomar, dependiendo de si una determinada condicin ha sido
especificada. Estos bloques pueden ser usados como bucles que detienen
el programa hasta que una determinada condicin se cumpla.
El segundo tipo es un bloque ramificado mltiple. Este tipo de bloque es
utilizado cuando se necesita la seleccin de un caso en un programa. El
bloque suele contener una pregunta. Adems, el bloque le da al programa
una cadena de oportunidades y es generalmente usado en las
conjunciones con bloques de subprocesos para ahorrar espacio.

Bucles testeadores:
Las estructuras que repiten una secuencia de instrucciones un nmero
determinado de veces se denominan Bucles y se denomina Iteracin al
hecho de repetir la ejecucin de una secuencia de acciones.
Este bloque permite al programa repetir un bloque o un conjunto de
bloques hasta que una determinada condicin se haya cumplido.
Hay dos tipos de estos bloques: de testeo inicial y testeo final.
La nica diferencia entre los dos es el orden en el cual se completan los
pasos involucrados en el proceso. En los de la primera situacin, cuando el
programa encuentra el bloque, testea si la condicin necesaria se cumple,
si no, se repite le bucle.
El test se repite hasta que se cumpla dicha condicin. En el nivel que se
cumpla la condicin, el programa detiene la ejecucin del blucle y pasa a
analizar los bloques del siguiente nivel.
Los de testeo final operan al revs.

Ejercicio(01):
Determinar el rea y permetro de un campo de cultivo de forma de un
polgono de cuatro lados.
Inicio
Entero: b, h, a, p
Leer: b, h
a= b*h
p=2(b+h)
Escribir rea:, a
Escribir permetro:, p
Fin algoritmo

Ejercicio (02):
Hallar el valor absoluto de un nmero:
PSEUDOCODIGO
El pseudocdigo es un lenguaje de especificacin (descripcin) de algoritmos. El uso
de tal lenguaje hace el paso de codificacin final (esto es, la traduccin a un lenguaje
de programacin) relativamente fcil. Los lenguajes APL Pascal y Ada se utilizan a
veces como lenguajes de especificacin de algoritmos.

El pseudocdigo naci como un lenguaje similar al ingls y era un medio de


representar bsicamente las estructuras de control de programacin estructurada. Se
considera un primer borrador, dado que el pseudocdigo tiene que
traducirse posteriormente a un lenguaje de programacin. El pseudocdigo no puede
ser ejecutado por una computadora. La ventaja del pseudocdigo es que en su uso, en
la planificacin de un programa, el programador se puede concentrar en la lgica y en
las estructuras de control y no preocuparse de las reglas de un lenguaje especfico. Es
tambin fcil modificar el pseudocdigo si se descubren errores o anomalas en la
lgica del programa, mientras que en muchas ocasiones suele ser difcil el cambio en
la lgica, una vez que esta codificado en un lenguaje de programacin. Otra
ventaja del pseudocdigo es que puede ser traducido fcilmente a lenguajes
estructurados como Pascal, Fortran, Ada, C++, etc.

El pseudocdigo original utiliza para representar las acciones sucesivas palabras


reservadas en ingls similares a sus homnimas en los lenguajes de programacin-
tales como start, end, stop, if-then-else, will-end, repeat, until, etc. La escritura de
pseudocdigo existe normalmente la indentacin (sangra en el margen izquierdo) de
diferentes lneas.

El algoritmo comienza con la palabra start y finaliza con la palabra end, en ingls (en
espaol, inicio, fin).entre estas palabras, slo se escribe una instruccin o accin por
lnea. La lnea precedida por // se denomina comentario. Es una informacin al lector
del programa y no realiza ninguna instruccin ejecutable, slo tiene efecto de
documentacin interna del programa.
Algunos autores suelen utilizar corchetes y llaves. No es recomendable el uso de
apstrofes o simples comillas como representan en Basic de Microsoft los
comentarios, ya que este carcter es representativo de apertura o cierre de cadenas
de caracteres en lenguajes como Pascal y FORTRAN, y dara lugar a confusin.

Por fortuna, aunque el pseudocdigo naci como un sustituto del lenguaje de


programacin y, por consiguiente, sus palabras reservadas se conservaron o fueron
muy similares a las de dichos lenguajes, prcticamente el ingls, el uso del
pseudocdigo se ha extendido en la comunidad hispana con trminos en espaol,
como inicio , fin, parada, leer, escribir, si-entonces-si_no, mientras, fin_mientras,
repetir, hasta_que, etc. Sin duda, el uso de terminologa de pseudocdigo en espaol
ha facilitado y facilitar considerablemente el aprendizaje y uso diario de la
programacin.
Las palabras, smbolos y operadores ms utilizados en pseudocdigo son los
siguientes:

CARACTERISTICAS DEL PSEUDOCODIGO:


Se puede ejecutar en cualquier ordenador.
Es una forma de representacin sencilla de utilizar y de manipular.
Facilita el paso del programa al lenguaje de programacin.
Es independiente del lenguaje de programacin que vaya a utilizar.
Es un mtodo que facilita la programacin y solucin al problema.

No hay unas reglas fijas para escribir en pseudocdigo, pero la mayora de la gente
usa ms o menos el mismo vocabulario
No existe una sintaxis fija a la cual debes apegarte por completo, pero es comn que
por cuestiones de cortesa profesional se usen estructuras de pseudocdigo
estndares que puedan entender fcilmente otros.
Como ya sabemos se acostumbra a usar un grupo determinado de palabras.

VENTAJAS Y DESVENTAJAS
Sus principales ventajoas sbre las tcnicas diagramticas que veremos a continuacin
son su facilidad de creacin, evolucin y mantenimiento, y la facilidad para expresar el
pseudocdigo en cualquier lenguaje de programacin.
Sus mayores inconvenientes son su falta de estandarizacin y la dificultad para su
lectura cuando su tamao crece.
Ejercicio 01: Dado tres nmeros devolver los nmeros en forma
ascendentes.
Inicio
//Variables
n1, n2, n3, mayor, intermedio, menor: Entero
//Entrada
Leer n1, n2, n3
//Proceso
Si n1 > n2 y n1 > n3 Entonces
mayor n1
SiNo
n2 > n1 y n2 >n3 Entonces
mayor n2
SiNo
mayor n3
Fin si
Fin si
Si n1 < n2 y n1 < n3 Entonces
menor n1
SiNo
Si n2 < n1 y n2 < n3 Entonces
menor n2
SiNo
menor n3
Fin Si
Fin Si
inter (n1 + n2 + n3) (mayor + menor)
//Salida
Imprimir mayor, inter, menor
Fin
Ejercicio 02: En cierta universidad se ha establecido los siguientes puntajes de
ingreso a sus respectivas facultades

FACULTAD PUNTAJE MINIMO


Arquitectura 100
Agrcola 90
Industrias 80
Administracin 70

Inicio
//Variables
p : Entero
f : Cadena
//Entrada
Leer p
//Proceso
Si p >= 70 y p 79 Entones
f Administracin
SiNoSi p >= 80 89 Entonces
f Industrias
SiNoSi p >= 90 99 Entonces
f Agricola
SiNoSi p >= 100 Entonces
f Arquitectura
SiNo
f Ninguno
Fin Si
//Salida
Imprimir f
Fin

Vous aimerez peut-être aussi