Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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:
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.
Abrir bal
Sacar gato
Levantar coche
Repetir
Sacar tuerca
Sacar Rueda
Repetir
Poner Tuerca
Bajar coche
Guardar Rueda
Guardar Gato
Fin algoritmo
[]APUNTE DE PSEUDOCODIGO Informtica UNDAV
Pseudocdigo
Una vez construido el algoritmo en pseudocdigo, se traduce a un lenguaje que entiende la computadora
quedando construido el programa.
Variable
Nombre: Identificador, debe ser una palabra compuesta slo por letras, el carcter _ y nmeros. No
puede comenzar con un nmero.
Caracteres: A, ., 2 Etc. (Existe una tabla que contiene todos los caracteres en orden)
Lgicos: V o F.
[]APUNTE DE PSEUDOCODIGO Informtica UNDAV
Expresin
Valor o Variable
Operadores
^ , v, ~
Acciones de Secuencia:
Asignar
Leer
Escribir
Escribir
Sintaxis:
Ejemplo:
Escribir(Numero+3)
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:
Asignar
Sintaxis:
Ejemplo:
Numero<-7
Letra<-s
Ejercicio:
Leer
Sintaxis:
Leer(Variable)
Ejemplo:
Leer(Letra)
Ejercicio:
Acciones de Seleccin:
Si
Sintaxis:
Accin/es
Fin si
Ejemplo:
Si (Numero=4) Entonces
Leer (Numero)
Fin si
Ejercicio:
Si/Si no, Permite tomar una decisin a partir de una expresin lgica.
Sintaxis:
Accin/es
Si no
Accin/es
Fin si
Ejemplo:
Si (Numero>0) Entonces
Si no
Si (Numero<0) Entonces
Si no
Fin si
Fin si
Ejercicio:
Segn
Sintaxis:
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
Fin segn
Ejercicios:
Acciones de Iteracin
Para
Para Permite realizar un ciclo definido por un rango de valores finito finita
Sintaxis
Accin/es
Fin Para
Ejemplo
Algoritmo Suma
Suma<-0
Escribir(Ingrese un nmero)
Leer(Nmero)
Suma=Suma+numero
Fin Para
Fin Algoritmo
[]APUNTE DE PSEUDOCODIGO Informtica UNDAV
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.
Ejercicios
Mientras
Sintaxis
Accin/es
Fin Mientras
Ejemplo
Algoritmo Promedio
Suma=0
Leer(Numero)
Cantidad=0
Cantidad=Cantidad+1
Suma=Suma+Numero
Leer(Numero)
Fin Mientras
Si Suma<>0 entonces
Fin Algoritmo
Ejercicios
Repetir
Sintaxis
Repetir
Accin/es
Ejemplo
Algoritmo Cuadrado
Repetir
Leer(Numero)
Fin Algoritmo
Ejercicios
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):
2- Leer nmero N
Sintaxis
Subalgoritmo <Nombre>
Accin/es
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.
Ejemplo
Algoritmo Ejemplo
Leer_Par
Escribir(i,Es divisor)
Fin si
Fin para
Fin Algoritmo
Subalgoritmo Leer_Par
Leer(N)
Leer(N)
Fin mientras
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.
Algoritmo Ejercicio_1
Leer_Y_Validar
X<-Numero
Leer(N)
Lee_y_Validar
Ver_Cooprimos
Si Son_Coopromos entonces
Si no
Fin si
Fin Para
Subalgoritmo Leer_y_Validar
Repetir
Leer(Numero)
Subalgoritmo Ver_Cooprimos
Son_Cooprimos<-V
Si X<Numero entonces
Min<-X
Si no
Min<-Numero
Fin si
i<-2
Son_Cooprimos<-F
Si no
i<-i+1
fin si
Ejercicios Integradores
Ejercicio 1:
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
Leer(Numero)
Calcular_Cant_Cifras
Es_Capicua<- V
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 Informtica UNDAV
Si Es_Capicua entonces
Escribir(Es Capicua)
Si no
Escribir(Es Capicua)
Fin si
Fin Algoritmo
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 Informtica UNDAV
Subalgoritmo Calcular_Cant_Cifras
Cant_Cifras<-0
Numero_Aux<-Numero
Cant_Cifras<-Cant_Cifras+1
Num_Aux<_Num_Aux div 10
Fin Mientras
Subalgoritmo Hallar_Primera_Cifra
Base<- 10
Exp<-Cant_Cifras-1
Potencia
Subalgoritmo Hallar_Ultima_Cifra
Ultima_Cifra<-Nuero mod 10
Subalgoritmo Sacar_Primera_Ultima
Numero<-Numero div 10
Exp<-Cant_Cifras-1
Potencia
Subalgoritmo Potencia
Resultado<-1
Resultado<-Resultado*Base
Fin para
2)
Algoritmo Capicua_2
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 Informtica UNDAV
Numero_Aux<-Numero_Aux div 10
Fin Mientras
Ejercicio 2:
Ej. 3x+5x2+9x4
Algoritmo Polinomio
Leer(Grado)
Escribir(Ingrese Valor de X)
Leer(X)
Resultado<-0
Base<-X
Exp<-i
Potencia
Leer(Coeficiente)
Resultado<-Resultado+Coeficiente*Res_Potencia
[]APUNTE DE PSEUDOCODIGO Informtica UNDAV
Fin Para
Fin Algoritmo
[]APUNTE DE PSEUDOCODIGO Informtica UNDAV
ALGORITMO Divisor
FIN SI
FIN SI
FIN SI
FIN SI
FIN SI
FIN ALGORITMO
[]APUNTE DE PSEUDOCODIGO Informtica UNDAV
2. Dada una velocidad indicada en metros por segundo convertir la misma a kilmetros por hora.
4. Dadas las medidas de los lados de un tringulo indicar que tipo de tringulo es (equiltero, Escaleno o
Isoceles).
ALGORITMO Orden
LEER(A, B, C)
FIN ALGORITMO
6. Efectuar un algoritmo que permita obtener el valor de la funcin 4x3 para un rango de valores ingresado.
ALGORITMO Tabla
Leer(Xi,Xf)
Escribir('X:','Y:')
Y=4*X*X*X
Escribir(X,Y)
Fin Para
FIN ALGORITMO
[]APUNTE DE PSEUDOCODIGO Informtica UNDAV
{ ENUNCIADO
CATEDRA MANDRAFINA-OTERO-SALVIA
19/03/2003
PARA OBTENER CUAL ES LA NOTA MAS ALTA DEL CURSO Y CUAL ES LA MAS BAJA
ALGORITMO EJEMPLO
NOTA_MAX = 0
PADRON_MAX = 0
NOTA_MIN = 11
PADRON_MIN = 0
SUMATORIA = 0
LEER(NUMERO_PADRONES)
LEER(PADRON)
LEER(NOTA)
NOTA_MAX = NOTA
PADRON_MAX = PADRON
FIN SI
NOTA_MIN = NOTA
PADRON_MIN = PADRON
FIN SI
FIN PARA
[]APUNTE DE PSEUDOCODIGO Informtica UNDAV
PROMEDIO = SUMATORIA/NUMERO_PADRONES
FIN SI
FIN ALGORITMO
{ ALGORITMO MEJORADO }
ALGORITMO EJEMPLO
NOTA_MAX = 0
PADRON_MAX = 0
NOTA_MIN = 11
PADRON_MIN = 0
SUMATORIA = 0
NUMERO_PADRONES = 0
LEER(PADRON)
NUMERO_PADRONES = NUMERO_PADRONES + 1
LEER(NOTA)
NOTA_MAX = NOTA
PADRON_MAX = PADRON
FIN SI
NOTA_MIN = NOTA
PADRON_MIN = PADRON
FIN SI
LEER(PADRON)
[]APUNTE DE PSEUDOCODIGO Informtica UNDAV
FIN MIENTRAS
PROMEDIO = SUMATORIA/NUMERO_PADRONES
FIN SI
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
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.
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
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
+ Sumar
- Menos
* Multiplicacin
/ Divisin
Mas o menos
= Equivalente a
= o <> Diferente de
Si
No
True
False
[]APUNTE DE PSEUDOCODIGO Informtica UNDAV
1. Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda a derecha.
2. 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
5. Todo texto escrito dentro de un smbolo debe ser legible, preciso, evitando el uso de muchas palabras.
6. Todos los smbolos pueden tener ms de una lnea de entrada, a excepcin del smbolo final.
7. Solo los smbolos de decisin pueden y deben tener mas de una lnea de flujo de salida.
Suma, es la variable a la que se le va agregando la valor de cada nmero natural. N, es el contador. ste recorrer
que las variables suma y N han sido declaradas previamente y las inicializa en 0 para comenzar a el conteo y
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.
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
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
Por ltimo indicamos que el resultado ser mostrado en la impresora (Este lo puedes cambiarlo por el display