Vous êtes sur la page 1sur 36

[]APUNTE DE PSEUDOCODIGO

Informtica UNDAV

Apunte de Pseudocdigo

[]APUNTE DE PSEUDOCODIGO

Informtica UNDAV

ndice
Algoritmo............................................................................................................................................. 3 Pseudocdigo ...................................................................................................................................... 4 Variable ............................................................................................................................................... 4 Expresin ............................................................................................................................................. 5 Operadores.......................................................................................................................................... 5 Acciones de Secuencia: ....................................................................................................................... 6 Acciones de Seleccin: ........................................................................................................................ 8 Acciones de Iteracin ........................................................................................................................ 11 Sub Algoritmos .................................................................................................................................. 16 Ejercicios Integradores ...................................................................................................................... 20 Ejercicios Varios en Pseudocdigo (Resueltos y no resueltos) ......................................................... 26 Ejercicio Notas y Padrones ................................................................................................................ 28

Fuentes: Ctedra Mandrafina, Facultad de Ingeniera, UBA http://mis-algoritmos.com/aprenda-a-crear-diagramas-de-flujo

[]APUNTE DE PSEUDOCODIGO

Informtica UNDAV

Algoritmo
Algoritmo:
Secuencia finita de pasos (acciones) que sirven para resolver un problema.

Ejemplo de Rueda pinchada.

Algoritmo rueda pinchada Abrir bal Sacar rueda auxilio Sacar gato Levantar coche Repetir Sacar tuerca Hasta que No halla ms tuercas Sacar Rueda Poner Rueda de Auxilio Repetir Poner Tuerca Hasta que estn todas Bajar coche Guardar Rueda Guardar Gato Fin algoritmo

[]APUNTE DE PSEUDOCODIGO
Herramientas para construir Algoritmos: Diagrama de flujo, diagrama de Jackson,

Informtica UNDAV

Pseudocdigo
Pseudocdigo: Se utiliza durante toda la carrera. Se asemeja al lenguaje de prog..
Una vez construido el algoritmo en pseudocdigo, se traduce a un lenguaje que entiende la computadora quedando construido el programa.

Variable
Concepto de Variable: Casillero que tiene un Nombre (Referencia) y Contenido

Nombre: Identificador, debe ser una palabra compuesta slo por letras, el carcter _ y nmeros. No puede comenzar con un nmero.

Ej.

Hola, Letra, Let1, A , Z etc.

No pueden ser Nombres de variables: 1, 1Hola, f. Etc.

Contenido: Valor que contiene la variable (Casillero). Se pueden clasificar en los siguientes Tipos:

Nmeros: Ej. 4, 5, 6.7 etc. Caracteres: A, ., 2 Etc. (Existe una tabla que contiene todos los caracteres en orden) Lgicos: V o F.

[]APUNTE DE PSEUDOCODIGO

Informtica UNDAV

Expresin
Expresin: Representa un valor

Est formada por:

Valor o Variable Variable o Valor operador Expresin

Ej. De Valor: numricos: 4, caracteres: a, lgicos: V, F. Ej. De Variables: A, Hola etc.

Operadores
Los operadores pueden utilizarse:

Entre Nmeros: Deben estar entre expresiones numricas Enteros : +, - , *, Div, Mod Reales: +,-,*,% (Punto Flotantes) Entre valores Lgicos: Deben estar entre expresiones lgicas ^ , v, ~ Lgicos : >,<, >=, <=,==, +

[]APUNTE DE PSEUDOCODIGO

Informtica UNDAV

Acciones de Secuencia:
Asignar Leer Escribir

Escribir
Escribir: Permite exteriorizar una expresin. Sintaxis:

Escribir(Expresin o Expresiones (Separadas por comas))

Ejemplo: Escribir(Numero+3) Escribir(Letra, Numero+1, Hola)

Nota: Hola no es un valor de ningn tipo conocido, es decir, no es un carcter, pero se anotar de esta forma cuando se quiera escribir H, o, l, a.

Ejercicio: Ingresar un Nmero y luego imprimir el cubo del mismo.

Asignar

Asignar, Permite almacenar una expresin en una variable

[]APUNTE DE PSEUDOCODIGO
Sintaxis: Variable <- Expresin Ejemplo: Numero<-7 Letra<-s

Informtica UNDAV

Ejercicio: Almacenar en una variable el 8 * 62

Leer

Leer, Permite entrar un dato, y almacenarlo en una variable.

Sintaxis: Leer(Variable)

Ejemplo: Leer(Numero) Cuando se ejecuta la accin se ingresar un valor y quedar almacenado en la variable

Leer(Letra)

Ejercicio: Ingresar un Nmero y luego imprimir el cubo del mismo.

[]APUNTE DE PSEUDOCODIGO

Informtica UNDAV

Acciones de Seleccin:
Si
Si, Permite tomar una decisin a partir de una expresin lgica.

Sintaxis: Si <expresin lgica> Entonces Accin/es Fin si

Ejemplo: Si (Numero=4) Entonces Escribir(El nmero es un cuatro) Escribir(Ingrese otro nmero) Leer (Numero) Fin si

Ejercicio: Ingresar un Nmero y decir si es mayor menor o igual a cero

[]APUNTE DE PSEUDOCODIGO
Si/Si no, Permite tomar una decisin a partir de una expresin lgica.
Sintaxis: Si <expresin lgica> Entonces Accin/es Si no Accin/es Fin si

Informtica UNDAV

Ejemplo: Si (Numero>0) Entonces Escribir(El nmero es Positivo) Si no Si (Numero<0) Entonces Escribir(El nmero es Negativo) Si no Escribir (El nmero es cero) Fin si Fin si

Ejercicio: Ingresar un nmero N y otro M y decir cual es el mayor. Ingresar un nmero entre 1 y 3 y escribirlo en letras.

Segn

Segun, Permite tomar una decisin a partir expresin lgica.

[]APUNTE DE PSEUDOCODIGO

Informtica UNDAV

Sintaxis: Segn <expresin lgica> Hacer Valor/es: Accin/es Valor/es: Accin/es Si No Accin/es Fin Segn

Ejemplo: Segn (Numero) 1: Escribir(Uno) 2: Escribir(Dos) 3: Escribir(Tres) Si no Escribir(El nmero no est en el rango) Fin segn

Ejercicios:

1) 2) 3)

Disear un algoritmo que imprima un nmero entre 1 y 3 en letras. Ahora probar con un nmero entre 1 y 5 Ingresar un carcter e indicar si es un Nmero, Letra o signo.

[]APUNTE DE PSEUDOCODIGO

Informtica UNDAV

Acciones de Iteracin
Para
Para Permite realizar un ciclo definido por un rango de valores finito finita

Sintaxis

Para Variable<-Expresin (Valor Inicial) Hasta Expresin (Valor Final) hacer Accin/es Fin Para

Ejemplo

Leer 10 nmeros y escribir la suma de ellos.

Algoritmo Suma Escribir(Ingrese 10 nmero para poder realizar la suma de ellos) Suma<-0 Para i<-1 hasta 10 hacer Escribir(Ingrese un nmero) Leer(Nmero) Suma=Suma+numero Fin Para

Escribir (El resultado es,suma). Fin Algoritmo

[]APUNTE DE PSEUDOCODIGO

Informtica UNDAV

Para manejar un ciclo, en una estructura Para, existe la variable de control. Se debe iniciar el ciclo Para con la inicializacin de dicha variable (Variable<-Valor Inicial) y luego se ejecutarn la/s Accin/es (Valor Final - Valor Inicial) + 1 veces.

Nota:

- Nunca modificar la variable de control dentro del ciclo. - Cuando termina el ciclo la variable de control toma el valor final.

Ejercicios

1) 2) 3) 4) 5)

Disear un algoritmo lea 3 nmero y los sume. Ahora probar con 10 nmeros. Leer un nmero e imprimir sus divisores. Leer un nmero N y luego leer N nmero. Indicar cul fue el mayor. Leer un nmero e indicar si es primo.

Mientras

Mientras Permite realizar un ciclo con una o ms condiciones de corte.

Sintaxis

Mientras <Expresin lgica> hacer Accin/es Fin Mientras

El ciclo mientras iterar siempre y cuando la Expresin lgica sea verdadera. Nota: - Inicializar la/s variable/s de control antes de empezar el ciclo.

[]APUNTE DE PSEUDOCODIGO
- Modificar la/s variable/s de control dentro del ciclo.

Informtica UNDAV

Ejemplo

- Leer una serie de nmeros terminada en cero e imprimir el promedio

Algoritmo Promedio Escribir(Ingrese una serie de nmeros terminada en 0) Suma=0 Leer(Numero) Cantidad=0 Mientras Numero<>0 hacer Cantidad=Cantidad+1 Suma=Suma+Numero Leer(Numero) Fin Mientras Si Suma<>0 entonces Escribir (El promedio es:, Suma/Cantidad) Fin Algoritmo

Ejercicios

1) 2) 3) 4)

Leer una serie de nmeros terminada en 0 y sumarlos. Imprimir tres nmeros pares entre N y M. Leer un texto terminado en . e imprimir la cantidad de palabras. Leer dos nmero e indicar si son Coprimos.

[]APUNTE DE PSEUDOCODIGO
Repetir

Informtica UNDAV

Repetir Permite realizar un ciclo con una o ms condiciones de corte.

Sintaxis

Repetir Accin/es hasta <Expresin lgica>

El ciclo Repetir iterar siempre y cuando la Expresin lgica sea falsa. Nota: - Modificar la/s variable/s de control dentro del ciclo.

Ejemplo Leer un numero entre 1 y 100 y luego imprimir el cuadrado del nmero.

Algoritmo Cuadrado Repetir Escribir(Ingrese un nmero entre 1 y 100 para obtener el cuadrado del mismo) Leer(Numero) Hasta Numero>=1 y Numero<=100 Escribir (El cuadrado es:, Numero * Numero) Fin Algoritmo Ejercicios

1)

Leer un texto terminado en . e imprimir la cantidad de palabras.

[]APUNTE DE PSEUDOCODIGO
2) Leer dos nmero e indicar si son Coprimos.

Informtica UNDAV

[]APUNTE DE PSEUDOCODIGO

Informtica UNDAV

Sub Algoritmos
Ejercicio 1 Leer un nmero X entre 1 y 10 y luego leer N nmeros entre 1 y 10 e indicar cuales son coprimos con X.

En el problema descripto se pueden identificar problemas ms pequeos, es decir para solucionar el ejercicio se deberan solucionar los siguientes subproblemas (1-5): 1- Leer un nmero X entre 1 y 10 2- Leer nmero N 3- Leer N nmeros (4- entre 1 y 10) 5-ver si son cooprimos con X

Un subalgoritmos o accin es un conjunto de acciones que sirven para resolver un problema.

Sintaxis

Subalgoritmo <Nombre>

Accin/es

Fin Subalgoritmo <Nombre>

Para poder invocar (ejecutar) un subalgoritmo se debe escribir el nombre del mismo como si fuese una accin ms. Un subalgoritmo se puede invocar desde un algoritmo o desde otro subalgoritmo. Los subalgoritmos se escriben al final del algoritmo.

Ejemplo Leer un nmero par e imprimir sus divisores

[]APUNTE DE PSEUDOCODIGO

Informtica UNDAV

Algoritmo Ejemplo Escribir(Ingrese un nmero par) Leer_Par Para i<-1 hasta N Hacer Si (N mod i=0) entonces Escribir(i,Es divisor) Fin si Fin para Fin Algoritmo

Subalgoritmo Leer_Par Leer(N) Mientras N mod 2 <> 0 hacer Escribir(El nmero debe ser par) Leer(N) Fin mientras Fin Subalgoritmo Leer_Par

El algoritmo funciona ejecutando accin por accin, cuando llega al subalgoritmo (o accin) Leer_Par se ejecutan todas las acciones correspondientes a dicho subalgoritmo y luego continua el algoritmo a partir de la accin siguiente a la invocacin del subalgoritmo. Las variables se comparten entre el algoritmo y los subalgoritmos. El objetivo del uso de subalgoritmos es modularizar un algoritmo, es decir dividir al problema en subpromlemas, resolver el problema con un algoritmo y a los sobproblemas con subalgoritmos. De esta forma cuando resuelvo un problema me abstraigo de los pequeos detalles que no hacen en s al problema llamando a acciones (Subalgoritmos) que una vez resuelto el problema principal tendr que solucionar. La ventaja ms importante de modularizar es que los subprogramas se pueden reutilizar en el mismo algoritmo o en otros.

Veamos el ejemplo planteado al principio

[]APUNTE DE PSEUDOCODIGO

Informtica UNDAV

El algoritmo, con el uso de subalgoritmos quedara escrito de la siguiente forma.

Algoritmo Ejercicio_1 Leer_Y_Validar X<-Numero Escribir(Ingrese la cantidad de nmero que quiere ingresar) Leer(N) Para i<-1 hasta N Lee_y_Validar Ver_Cooprimos Si Son_Coopromos entonces Escribir(Los nmero son cooprimos) Si no Escribir(Los nmero no son cooprimos) Fin si Fin Para Fin Algoritmo Ejercicio_1

Subalgoritmo Leer_y_Validar Repetir Escribir(Ingrese un nmero entre 1 y 10) Leer(Numero) Hasta (Numero<=10) ^ (Numero>=1)

Fin Subalgoritmo Leer_y_Validar

[]APUNTE DE PSEUDOCODIGO
Subalgoritmo Ver_Cooprimos Son_Cooprimos<-V Si X<Numero entonces Min<-X Si no Min<-Numero Fin si i<-2 Mientras i<Min ^ Son_Cooprimos Hacer Si Min mod i = 0 Entonces Son_Cooprimos<-F Si no i<-i+1 fin si Fin Subalgoritmo Ver_Cooprimos

Informtica UNDAV

[]APUNTE DE PSEUDOCODIGO

Informtica UNDAV

Ejercicios Integradores
Ejercicio 1: Leer un nmero e indicar si es capica Solucin: para saber si un nmero es capica, se puede averiguar de dos formas, 1compara el primer nmero con el ltimo, si son iguales comparar el segundo con el anteltimo y as sucesivamente hasta que alguna comparacin difiera o se hallan comparado todas las cifras.
2

Otra forma, ms sencilla podra ser invertir el nmero y luego compararlo con el original.

1) Algoritmo Capicua_1 Escribir (Ingrese un nmero) Leer(Numero) Calcular_Cant_Cifras Es_Capicua<- V

Mientras Cant_Cifras>1 ^ Es_Capicua Hacer Hallar_Primera_Cifra Hallar_Ultima_Cifra Si Primera_Cifra=Ultima_Cifra entonces Cant_Cifras=Cant_Cifras-2 Sacar_Primera_Ultima Si no Es_Capicua<- F Fin si Fin Mientras

[]APUNTE DE PSEUDOCODIGO
Si Es_Capicua entonces Escribir(Es Capicua) Si no Escribir(Es Capicua) Fin si Fin Algoritmo

Informtica UNDAV

Notar que en mi algoritmo principal se describen slo los grandes pasos a seguir sin caer en la problemtica de resolver cada uno Ahora slo quedan disear los subalgoritmos, o acciones, para solucionar los subproblemas (grandes pasos) .

[]APUNTE DE PSEUDOCODIGO
Subalgoritmo Calcular_Cant_Cifras Cant_Cifras<-0 Numero_Aux<-Numero Mientras Num_Aux>9 Hacer Cant_Cifras<-Cant_Cifras+1 Num_Aux<_Num_Aux div 10 Fin Mientras Fin Subalgoritmo Calcular_Cant_Cifras

Informtica UNDAV

Subalgoritmo Hallar_Primera_Cifra Base<- 10 Exp<-Cant_Cifras-1 Potencia Primera_Cifra<-Numero div Resultado Fin Subalgoritmo Hallar_Primera_Cifra

Subalgoritmo Hallar_Ultima_Cifra Ultima_Cifra<-Nuero mod 10 Fin Subalgoritmo Hallar_Ultima_Cifra

Subalgoritmo Sacar_Primera_Ultima Numero<-Numero div 10 Exp<-Cant_Cifras-1 Potencia Numero<-Numero Mod Resultado Fin Subalgoritmo Sacar_Primera_Ultima

[]APUNTE DE PSEUDOCODIGO

Informtica UNDAV

Subalgoritmo Potencia Resultado<-1 Para i<-1 hasta Exponente Hacer Resultado<-Resultado*Base Fin para Fin Subalgoritmo Potencia

Nota : El algoritmo slo funciona con nmeros enteros y positivos.

2) Algoritmo Capicua_2 Escribir (Ingrese un nmero) Leer(Numero) Invertir_Numero Si Numero=Numero_Invertido entonces Escribir(Es Capicua) Si no Escribir(Es Capicua) Fin si

Fin Algoritmo

Notar que en este caso se resuelve el problema cambiando de problema, es decir el problema de saber si un nmero es capica lo reduzco al problema de invertir un nmero

Subalgoritmo Invertir_Numero Numero_Aux<-Numero

[]APUNTE DE PSEUDOCODIGO
Numero_Invertido<- Numero_Aux Mod 10 Mientras Numero_Aux>9 hacer Numero_Aux<-Numero_Aux div 10 Numero_Invertido<-Numero_Invertido* 10 + Numero_Aux Mod 10 Fin Mientras Fin Subalgoritmo Invertir_Numero

Informtica UNDAV

Ejercicio 2: Desarrollar un algoritmo que resuelva un polinomio de una sola variable

Ej. 3x+5x2+9x4

Algoritmo Polinomio Escribir (Este algoritmo resuelve un polinomio de una variable evaluada en Valor) Escribir(Ingrese grado del polinomio) Leer(Grado) Escribir(Ingrese Valor de X) Leer(X) Resultado<-0 Para i<-0 hasta Grado hacer Base<-X Exp<-i Potencia Escribir(Ingrese coeficiente ,i) Leer(Coeficiente) Resultado<-Resultado+Coeficiente*Res_Potencia

[]APUNTE DE PSEUDOCODIGO
Fin Para Escribir(El resultado es: ,Resultado) Fin Algoritmo

Informtica UNDAV

[]APUNTE DE PSEUDOCODIGO

Informtica UNDAV

Ejercicios Varios en Pseudocdigo (Resueltos y no resueltos)


1. Ingresar 2 nmeros distintos de cero e indicar cual es divisor de cual.

ALGORITMO Divisor ESCRIBIR ('Ingrese dos nmeros distintos de cero: ') LEER (NumUno, NumDos) SI (NumUno > NumDos) ENTONCES SI ((NumUno MOD NumDos) = 0) ENTONCES ESCRIBIR('El nmero: ', NumDos) ESCRIBIR('...es divisor de: ', NumUno) FIN SI FIN SI

SI (NumUno < NumDos) ENTONCES SI ((NumDos MOD NumUno) = 0) ENTONCES ESCRIBIR('El nmero: ',NumUno) ESCRIBIR('...es divisor de: ',NumDos) FIN SI FIN SI

SI (NumUno = NumDos) ENTONCES ESCRIBIR('Los nmeros son iguales.') FIN SI FIN ALGORITMO

[]APUNTE DE PSEUDOCODIGO
2. 3.

Informtica UNDAV

Dada una velocidad indicada en metros por segundo convertir la misma a kilmetros por hora. Ingresar un nmero, redondearlo e indicar si es par o impar.

4. Dadas las medidas de los lados de un tringulo indicar que tipo de tringulo es (equiltero, Escaleno o Isoceles). 5. Ingresar 3 nmeros por teclado e imprimirlos en forma ordenada. ALGORITMO Orden ESCRIBIR('Ingrese tres nmeros: ') LEER(A, B, C) ESCRIBIR('Los nmeros ordenados son: ') SI (A<B) Y (B<C) ENTONCES ESCRIBIR(A, B, C) SI (A<B) Y (C<B) ENTONCES ESCRIBIR(A, C, B) SI (B<A) Y (A<C) ENTONCES ESCRIBIR(B, A, C) SI (B<C) Y (C<A) ENTONCES ESCRIBIR(B, C, A) SI (C<A) Y (A<B) ENTONCES ESCRIBIR(C, A, B) SI (C<B) Y (B<A) ENTONCES ESCRIBIR(C, B, A) FIN ALGORITMO

6.

Efectuar un algoritmo que permita obtener el valor de la funcin 4x3 para un rango de valores ingresado. ALGORITMO Tabla Escribir('Indique el rango (Xi..Xf): ') Leer(Xi,Xf) Escribir('X:','Y:') Para X=Xi Hasta Xf Hacer Y=4*X*X*X Escribir(X,Y) Fin Para FIN ALGORITMO

[]APUNTE DE PSEUDOCODIGO

Informtica UNDAV

Ejercicio Notas y Padrones


{ ENUNCIADO ALGORITMOS Y PROGRAMACION I (75.40) CATEDRA MANDRAFINA-OTERO-SALVIA 19/03/2003 CESAR GAZZO HUCK

UN CURSO DESEA ANALIZAR LAS NOTAS OBTENIDAD POR SUS ALUMNOS SE PEDIRA EL INGRESO DEL PADRON Y LA NOTA OBTENIDA EN EL EXAMEN FINAL PARA OBTENER CUAL ES LA NOTA MAS ALTA DEL CURSO Y CUAL ES LA MAS BAJA CON SUS RESPECTIVOS PADRONES. ADEMAS OBTENER UN PROMEDIO GENERAL DEL CURSO }

ALGORITMO EJEMPLO

NOTA_MAX PADRON_MAX NOTA_MIN PADRON_MIN SUMATORIA

= 0 = 0 = 11 = 0 = 0

ESCRIBIR('INGRESE EL NUMERO DE ALUMNOS DEL CURSO')

[]APUNTE DE PSEUDOCODIGO
LEER(NUMERO_PADRONES)

Informtica UNDAV

PARA AUX = 1 HASTA NUMERO_PADRONES

ESCRIBIR('INGRESE EL PADRON DEL ALUMNO') LEER(PADRON)

ESCRIBIR('INGRESE LA NOTA PARA EL ALUMNO [',PADRON,']'); LEER(NOTA)

{ ANALIZAMOS LOS DATOS } SI NOTA => NOTA_MAX ENTONCES NOTA_MAX PADRON_MAX FIN SI = NOTA = PADRON

SI NOTA <= NOTA_MIN ENTONCES NOTA_MIN PADRON_MIN FIN SI = NOTA = PADRON

{ACUMULAMOS LAS NOTAS} SUMATORIA = SUMATORIA + NOTA

FIN PARA

[]APUNTE DE PSEUDOCODIGO
{MOSTRAMOS LOS RESULTADOS } SI NUMERO_PADRONES > 0 ENTONCES PROMEDIO = SUMATORIA/NUMERO_PADRONES ESCRIBIR('EL PROMEDIO DEL CURSO ES ESCRIBIR('LA NOTA MAS ALTA FUE A:',PADRON_MAX) ESCRIBIR('LA NOTA MAS BAJA FUE A:',PADRON_MIN) FIN SI :',PROMEDIO)

Informtica UNDAV

:',NOTA_MAX,' Y CORRESPONDE

:',NOTA_MIN,' Y CORRESPONDE

{ FIN DEL ALGORITMO } FIN ALGORITMO

{ ALGORITMO MEJORADO } { ESTE EJEMPLO FUE MEJORADO PERMITIENDO QUE EL USUARIO ABANDONE INGRESANDO UN PADRON = 0 }

ALGORITMO EJEMPLO

NOTA_MAX PADRON_MAX NOTA_MIN PADRON_MIN SUMATORIA NUMERO_PADRONES

= 0 = 0 = 11 = 0 = 0 = 0

ESCRIBIR('INGRESE EL PADRON DEL ALUMNO')

[]APUNTE DE PSEUDOCODIGO
LEER(PADRON)

Informtica UNDAV

MIENTRAS PADRON <> 0 HACER

{ SI EL USUARIO INGRESA CERO NO ENTRA AL CICLO}

NUMERO_PADRONES = NUMERO_PADRONES + 1

ESCRIBIR('INGRESE LA NOTA PARA EL ALUMNO [',PADRON,']'); LEER(NOTA)

{ ANALIZAMOS LOS DATOS } SI NOTA => NOTA_MAX ENTONCES NOTA_MAX PADRON_MAX FIN SI = NOTA = PADRON

SI NOTA <= NOTA_MIN ENTONCES NOTA_MIN PADRON_MIN FIN SI = NOTA = PADRON

{ACUMULAMOS LAS NOTAS} SUMATORIA = SUMATORIA + NOTA

ESCRIBIR('INGRESE EL PADRON DEL ALUMNO') LEER(PADRON)

[]APUNTE DE PSEUDOCODIGO
FIN MIENTRAS

Informtica UNDAV

{MOSTRAMOS LOS RESULTADOS } SI NUMERO_PADRONES > 0 ENTONCES PROMEDIO = SUMATORIA/NUMERO_PADRONES ESCRIBIR('EL PROMEDIO DEL CURSO ES ESCRIBIR('LA NOTA MAS ALTA FUE A:',PADRON_MAX) ESCRIBIR('LA NOTA MAS BAJA FUE A:',PADRON_MIN) FIN SI :',PROMEDIO) :',NOTA_MAX,' Y CORRESPONDE

:',NOTA_MIN,' Y CORRESPONDE

{ FIN DEL ALGORITMO} FIN ALGORITMO

[]APUNTE DE PSEUDOCODIGO

Informtica UNDAV

Diagramas de flujo

Introduccin. Los diagramas de flujo son una manera de representar visualmente el flujo de datos a travz de sistemas de tratamiento de informacin. Los diagramas de flujo describen que operacines 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 escribr el programa en cualquier idima 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. Reglas para dibujar un diagramas de flujo. Los Diagramas de flujo se dibujan generalmente usando algunos smbolos estndares; sin embargo, algunos smbolos especiales pueden tambin ser desarrollados cuando san requeridos. Algunos smbolos estndares, que se requieren con frecuencia para diagramar programas de computadora se muestran a continuacin:

Inicio o fin del programa

Pasos, procesos o lneas de instruccion de programa de computo

Operaciones de entrada y salida

Toma de desicines y Ramificacin

[]APUNTE DE PSEUDOCODIGO

Informtica UNDAV

Lneas de flujo

Anotacin

Observacin: Para obtener la correcta elaboracin de los smbolos, existen plantillas. Las puedes conseguir en Papeleras. Simbolos grficos Dentro de los simbolos fundamentales para la creaacin de diagramas de flujo, los smbolos grficos son utilizdos especificamente para para operacines aritmticas y relacines condicionales. La siguiente es una lista de los smbolos ms comunmente utilizados: + * / = > < >= <= Sumar Menos Multiplicacin Divisin Mas o menos Equivalente a Mayor que Menor que Mayor o igual que Menor o igual que

= o <> Diferente de Si No True False

[]APUNTE DE PSEUDOCODIGO
Reglas para la creacin de Diagramas 1. 2.

Informtica UNDAV

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).

3.

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 vana utilizar conectores cuando sea estrictamente necesario.

4. 5. 6. 7.

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 mas de una lnea de flujo de salida.

Ejemplos de diagramas de flujo Diagrama de flujo que encuentra la suma de los primeros 50 numeros naturales

[]APUNTE DE PSEUDOCODIGO
Bueno, y ahora la descripcin del diagrama anterior

Informtica UNDAV

Suma, es la variable a la que se le va agregando la valor de cada nmero natural. N, es el contador. ste recorrer lo nmeros hasta llegar al 50.

El primer bloque indica el inicio del Diagrama de flujo

El segundo bloque, es un Smbolo de procesos

En este bloque se asume

que las variables suma y N han sido declaradas previamente y las inicializa en 0 para comenzar a el conteo y la suma de valores (Para declararlas existe el bloque Tarjeta perforada).

El tercer bloque, es tambin un Smbolo de procesos

En ste paso se

incrementa en 1 la variable N (N = N + 1). Por lo que, en la primera pasada esta N valdr 1, ya que estaba inicializada en 0.

El cuarto bloque es exactamente lo mismo que el anterior

Pero en ste, ya

se le agrega el valor de N a la variable que contendr la suma (En el primer caso contendr 1, ya que N = 1). El quinto bloque es uno Smbolo de Toma de decisiones y Ramificacin Lo que hay dentro del bloque es una pregunta que se le hace a los valores que actualmente influyen en el proceso (Por decir algo, no se como

decirlo, soy muy sope :D)

Es N=50?, Obviamente la respuesta es no, ya

que N todava es 1. por lo que el flujo de nuestro programa se dirigir haca la parte en donde se observa la palabra no: Tercer Bloque, ste le sumar 1 (N=N+1) y vuelve a llegar a ste bloque, donde preguntar Es N=50?... No!, todava es 2. Ha pues, regresa al Tercer bloque y vuelve hacer lo mismo. Y as hasta llegar a 50, obteniendo as la suma de los primeros 50 primeros nmeros naturales.

Por ltimo indicamos que el resultado ser mostrado en la impresora (Este lo puedes cambiarlo por el display

para mostrar datos).

Fin del programa (o diagrama)

Vous aimerez peut-être aussi