PSeInt
PSEUDOCDIGO
Forma General de un algoritmo
Todo algoritmo en Pseudocdigo tiene la siguiente
estructura general:
Proceso SinTitulo
accion 1;
accion 1;
accion n;
FinProceso
Forma General de un algoritmo
Las acciones incluyen:
Operaciones de entrada y salida.
Asignaciones de variables.
Condicionales si-entonces o de seleccin mltiple y/o ciclos
mientras, repetir o para.
Ejemplo:
Proceso HolaMundo
Escribir "Hola, mundo"
FinProceso
Tipos de datos
Tipos simples:
Numrico.
Lgico.
Carcter.
Estructuras de datos:
Arreglos.
Tipos de datos
Los tipos de datos simples se determinan
automticamente cuando se crean las variables.
Las dos acciones para crear variable son la de lectura
y la de asignacin.
Una vez que se determina el tipo de datos de una
variable se mantiene constante a lo largo de todo el
programa, de lo contrario se indica un error.
Tipos de datos
Por ejemplo: cree un programa que solicite al
usuario su nombre y le de un saludo de bienvenida.
Proceso HolaMundo
mensaje <- "Bienvenido, "
Escribir "Por favor digite su nombre:"
Leer nombre
Escribir mensaje, " ", nombre
FinProceso
Tipos de datos - Numrico
Son los nmeros tanto enteros como decimales.
Para separar decimales se usa el punto.
Proceso HolaMundo
num_entero <- 5
num_decimal <- 3.5
Escribir num_entero + num_decimal
FinProceso
Tipos de datos - Lgico
Solo puede tomar dos valores:
VERDADERO.
FALSO.
Proceso HolaMundo
valor_verdadero <- Verdadero
valor_falso <- Falso
Escribir valor_verdadero & valor_falso
FinProceso
Tipos de datos - Caracter
Caracteres o cadenas de caracteres encerrados entre
comillas (pueden ser dobles o simples).
Proceso HolaMundo
mensaje <- 'Esto es un tipo caracter'
mensaje2 <- "Y esto tambin"
Escribir mensaje, " ", mensaje2
FinProceso
Tipos de datos - Arreglos
Los arreglos son estructuras de datos homogneas
(todos los elementos son del mismo tipo) que
permiten almacenar un determinado nmero de
datos bajo un mismo identificador, para luego
referirse a los mismos utilizando subndices.
Ser un tema posterior en el curso.
Operadores
En este pseudolenguaje se dispone de un conjunto
bsico de operadores que pueden ser utilizados para la
construccin de expresiones ms o menos complejas.
La jerarqua de operadores de operadores
matemticos es igual a la del lgebra, aunque puede
alterarse con parntesis.
Hay operadores de los siguientes tipos:
Relacionales.
Lgicos.
Algebraicos.
Operadores relacionales
>
<
=
>=
<=
Operadores lgicos
Y - &
O - |
NO - ~
Operadores Algebraicos
+ (Suma)
- (Resta)
* (Multiplicacin)
/ (Divisin)
^ (Potenciacin)
% - MOD (Mdulo)
Funciones
Hay disponibles una serie de funciones matemticas
(devuelven un resultado numrico) y reciben un
parmetro de tipo numrico.
Asignacin
La instruccin de asignacin permite almacenar una
valor en una variable.
<variable> <- <expresin> ;
Al ejecutarse la asignacin, primero se evala la
expresin de la derecha y luego se asigna el resultado
a la variable de la izquierda. El tipo de la variable y el
de la expresin deben coincidir.
Lectura
La instruccin Leer permite ingresar informacin
desde el ambiente.
Leer <variablel> , <variable2> , ... ,<variableN> ;
Esta instruccin lee N valores desde el ambiente (en
este caso el teclado) y los asigna a las N variables
mencionadas. Pueden incluirse una o ms variables,
por lo tanto el comando leer uno o ms valores.
Escritura
La instruccin Escribir permite mostrar valores al
ambiente.
Escribir <exprl> , <expr2> , ... , <exprN> ;
Esta instruccin imprime al ambiente (en este caso
en la pantalla) los valores obtenidos de evaluar N
expresiones. Dado que puede incluir una o ms
expresiones, mostrar uno o ms valores.
Estructuras de control
Las estructuras de control permiten modificar el flujo
de ejecucin de las instrucciones de un programa.
Con las estructuras de control se puede:
De acuerdo a una condicin ejecutar un grupo u otro de
sentencias.
Ejecutar un grupo de sentencias mientras se cumpla una
condicin.
Ejecutar un grupo de sentencias hasta que exista una condicin.
Ejecutar un grupo de sentencias un nmero determinado de
veces.
Estructuras de control
En PSeInt existen dos tipos de estructuras de
control:
Condicionales.
Si-Entonces.
Seleccin mltiple.
Repetitivas.
Mientras.
Repetir.
Para.
Si Entonces
La secuencia de instrucciones ejecutadas por la instruccin Si-Entonces-Sino
depende del valor de una condicin lgica.
Si <condicin>
Entonces
<instrucciones>
Sino
<instrucciones>
FinSi
Al ejecutarse esta instruccin, se evala la condicin y se ejecutan las instrucciones
que correspondan: las instrucciones que le siguen al Entonces si la condicin es
verdadera, o las instrucciones que le siguen al Sino si la condicin es falsa. La
condicin debe ser una expresin lgica, que al ser evaluada retorna Verdadero o
Falso. La clusula Entonces debe aparecer siempre, pero la clusla Sino puede no
estar. En ese caso, si la condicin es falsa no se ejecuta ninguna instruccin y la
ejecucin del programa contina con la instruccin siguiente.
Si - Entonces
Proceso HolaMundo
Escribir "Digite un nmero, resultante de lanzar un dado: "
Leer valor
si valor < 1 | valor > 6
Entonces
Escribir "Ese nmero no se obtiene de lanzar un dado!"
Sino
Escribir "El nmero en la cara opuesta es ", 7 - valor
FinSi
FinProceso
Segn
La secuencia de instrucciones ejecutada por una instruccin Segun depende del valor de una
variable numrica.
Segun <variable> Hacer
<nmero1>: <instrucciones>
<nmero2>,
<nmero3>: <instrucciones>
<...>
De Otro Modo: <instrucciones>
FinSegun
Esta instruccin permite ejecutar opcionalmente varias acciones posibles, dependiendo del
valor almacenado en una variable de tipo numrico. Al ejecutarse, se evala el contenido de
la variable y se ejecuta la secuencia de instrucciones asociada con dicho valor. Cada opcin
est formada por uno o ms nmeros separados por comas, dos puntos y una secuencia de
instrucciones. Si una opcin incluye varios nmeros, la secuencia de instrucciones asociada
se debe ejecutar cuando el valor de la variable es uno de esos nmeros. Opcionalmente, se
puede agregar una opcin final, denominada De Otro Modo, cuya secuencia de instrucciones
asociada se ejecutar slo si el valor almacenado en la variable no coincide con ninguna de
las opciones anteriores.
Segn
Proceso sin_titulo
Escribir "Seleccione una opcin entre las siguientes:";
Escribir "1. Piedra.";
Escribir "2. Papel.";
Escribir "3. Tijera";
Leer seleccion
Segun seleccion Hacer
1:
Escribir "Escogi Piedra";
2:
Escribir "Escogi Papel"
3:
Escribir "Escogi tijera"
De Otro Modo:
Escribir "Su seleccin no corresponde a las opciones"
FinSegun
FinProceso
Mientras
La instruccin Mientras ejecuta una secuencia de instrucciones mientras una condicin
sea verdadera.
Mientras <condicin> Hacer
<instrucciones>
FinMientras
Al ejecutarse esta instruccin, la condicin es evaluada. Si la condicin resulta
verdadera, se ejecuta una vez la secuencia de instrucciones que forman el cuerpo del
ciclo. Al finalizar la ejecucin del cuerpo del ciclo se vuelve a evaluar la condicin y, si es
verdadera, la ejecucin se repite. Estos pasos se repiten mientras la condicin sea
verdadera.
Note que las instrucciones del cuerpo del ciclo pueden no ejecutarse nunca, si al evaluar
por primera vez la condicin resulta ser falsa. Si la condicin siempre es verdadera, al
ejecutar esta instruccin se produce un ciclo infinito. A fin de evitarlo, las instrucciones
del cuerpo del ciclo deben contener alguna instruccin que modifique la o las variables
involucradas en la condicin, de modo que sta sea falsificada en algn momento y as
finalice la ejecucin del ciclo.
Mientras
Proceso HolaMundo
Escribir "Digite un nmero, resultante de lanzar un
dado: "
Leer valor
Mientras valor < 1 | valor > 6 Hacer
Escribir "Ese nmero no se obtiene de lanzar un dado!"
Leer valor
FinMientras
Escribir "El nmero en la cara opuesta es ", 7 - valor
FinProceso
Mientras
Proceso HolaMundo
valor <- 0
Mientras valor <= 100 Hacer
Escribir valor
valor <- valor +2
FinMientras
FinProceso
Repetir
La instruccin Repetir-Hasta Que ejecuta una secuencia de
instrucciones hasta que la condicin sea verdadera.
Repetir
secuencia_de_acciones
Hasta Que expresion_logica
Al ejecutarse esta instruccin, la secuencia de instrucciones que forma
el cuerpo del ciclo se ejecuta una vez y luego se evala la condicin. Si
la condicin es falsa, el cuerpo del ciclo se ejecuta nuevamente y se
vuelve a evaluar la condicin. Esto se repite hasta que la condicin sea
verdadera.
Note que, dado que la condicin se evala al final, las instrucciones
del cuerpo del ciclo sern ejecutadas al menos una vez. Adems, a
fin de evitar ciclos infinitos, el cuerpo del ciclo debe contener alguna
instruccin que modifique la o las variables involucradas en la
condicin de modo que en algn momento la condicin sea verdadera
y se finalice la ejecucin del ciclo.
Para
La instruccin Para tiene la siguiente estructura:
Para <variable> <- <inicial> Hasta <final> Con Paso <paso> Hacer
<instrucciones>
FinPara
Al ingresar al bloque, la variable <variable> recibe el valor <inicial> y se
ejecuta la secuencia de instrucciones que forma el cuerpo del ciclo. Luego
se incrementa la variable <variable> en <paso> unidades y se evala si el
valor almacenado en <variable> super al valor <final>. Si esto es falso se
repite hasta que <variable> supere a <final>. Si se omite la clusula Con
Paso <paso>, la variable <variable> se incrementar en 1.