0% encontró este documento útil (0 votos)
512 vistas15 páginas

Algoritmos Pseint

Este documento describe la estructura general de un algoritmo en pseudocódigo, incluyendo la definición de variables, tipos de datos, arrays, lectura y asignación de variables. Explica que un algoritmo comienza con la palabra "Algoritmo", contiene una secuencia de instrucciones y finaliza con "FinAlgoritmo". También describe cómo declarar y utilizar variables y arrays en un pseudocódigo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
512 vistas15 páginas

Algoritmos Pseint

Este documento describe la estructura general de un algoritmo en pseudocódigo, incluyendo la definición de variables, tipos de datos, arrays, lectura y asignación de variables. Explica que un algoritmo comienza con la palabra "Algoritmo", contiene una secuencia de instrucciones y finaliza con "FinAlgoritmo". También describe cómo declarar y utilizar variables y arrays en un pseudocódigo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 15

Forma General de un Algoritmo en Pseudocdigo

Todo algoritmo en pseudocdigo tiene la siguiente estructura general:


Algoritmo SinTitulo
Accin 1;
Accin 1;
.
Accin n;
FinAlgoritmo
Comienza con la palabra clave Algoritmo(o alternativamente Proceso, son sinnimos)
seguida del nombre del programa, luego le sigue una secuencia de instrucciones y finaliza
con la palabra FinAlgoritmo(o FinProceso). Una secuencia de instrucciones es una lista de una
o ms instrucciones y/o estructuras de control.
El ejemplo ms simple de esta ayuda, Suma, que muestra un pequeo algoritmo para
sumar dos nmeros y mostrar el resultado, sirve como ejemplo para observar la estructura
bsica de un programa. Adems de la sintaxis obligatoria, se incluyen comentarios que
ayudan a entender el cdigo, son el cdigo despus de: // NO SE EJECUTAN adems se
separan claramente las tres partes ms usuales: carga de datos, clculo, y presentacin del
resultado.

VARIABLES
Variables
Una variable en un algoritmo computacional es una posicin de memoria donde se puede
almacenar informacin. Por ejemplo, si un programa debe obtener el rea de un tringulo,
seguramente la base del mismo y su altura se carguen en memoria en dos variables para
poder realizar el clculo. El resultado, probablemente tambin se asigne en una variable luego
del clculo para luego informarlo al usuario. Como su nombre lo indica, el valor almacenado
en una variable puede ir variando a medida que el programa avanza. En un
pseudocdigo el concepto es similar. Una variable representa un lugar donde guardar
cierta informacin.
En un algoritmo o programa se hace referencia a una variable mediante un identificador
(el nombre de la variable). Un identificador debe comenzar con letras, y puede
contener solo letras, nmeros y el guion bajo. No puede contener ni espacios ni
operadores, ni coincidir con una palabra reservada o funcin del lenguaje, para no
generar ambigedad. Ejemplos de identificadores vlidos son: A, B, C, Lado1, Total,
Nombre_y_Apellido, DireccionCorreo, ... En la mayora de los lenguajes reales los nombres de
variables no pueden contener acentos, ni diresis, ni ees. En PSeInt, esto se permite,
dependiendo del perfil de lenguaje seleccionado (nosotros usamos flexible).
En PSeInt las variables tienen un tipo de dato asociado, por lo que durante la ejecucin
del algoritmo una variable deber guardar datos siempre del mismo tipo. Por ejemplo, si una
variable se utiliza para guardar nmeros, no puede utilizarse luego para guardar texto. Puede
declarar explcitamente el tipo de una variable con la palabra clave Definir, o puede dejar
que el intrprete intente deducirlo a partir de los datos que se guardan en la misma y la
forma en que se la utiliza en el algoritmo. Si utiliza el perfil de lenguaje por defecto
(Flexible), la definicin explicita es opcional, pero se puede configurar el lenguaje
para que la sea obligatoria.
Hay dos formas de crear una variable y/o asignarle un valor: la lectura y la
asignacin. (<-). Por ejemplo, la asignacin "A<-0;" est indicando implcitamente que la
variable A ser una variable numrica. Una vez determinado el tipo de dato, deber
permanecer constante durante toda la ejecucin del proceso; en caso contrario el
proceso ser interrumpido. Si se lee o asigna un valor en una variable que no existe,
esta se crea. Si la variable ya exista, esta toma el nuevo valor, perdiendo el viejo.
Por esto se dice que la asignacin y la lectura son acciones destructivas (aunque se debe
notar que en la asignacin pueden intervenir ms de una variable, y solo se destruye el
contenido previo de la que se encuentra a la izquierda del signo de asignacin). Una vez
inicializada, la variable puede utilizarse en cualquier expresin (para realizar un clculo en
una asignacin, para mostrar en pantalla, como condicin en una estructura de control, etc.)
Tipos de Datos
Los tipos de datos simples se determinan automticamente cuando se crean las variables.
Las dos acciones que pueden crear una variable son la lectura (leer) y la asignacin (<- o
:=). Por ejemplo, la asignacin "A<-0;" est indicando implcitamente que la variable A ser
una variable numrica. Una vez determinado el tipo de dato, deber permanecer constante
durante toda la ejecucin del proceso; en caso contrario el proceso ser interrumpido.
Se puede definir el tipo de una variable antes de utilizarla. Esta definicin puede ser
obligatoria u opcional dependiendo de la configuracin del lenguaje.
Tipos Simples: Numrico, Lgico, Carcter.
Numrico: nmeros, tanto enteros como reales. Para separar decimales se utiliza el punto.
Ejemplos: 23 0 -2.3 3.14

Lgico: solo puede tomar dos valores: VERDADERO o FALSO.


Carcter: caracteres o cadenas de caracteres encerrados entre comillas (pueden ser dobles
o simples). Ejemplos 'hola' "hola mundo" '123' 'FALSO' 'etc'

Estructuras de Datos: Arreglos. (arrays o vectores, LISTAS EN SCRATCH)


Los arreglos son estructuras de datos homogneas (todos sus datos son del mismo
tipo) que permiten almacenar un determinado nmero de datos bajo un mismo identificador,
para luego referirse a los mismos utilizando uno o ms subndices. Los arreglos pueden
pensarse como vectores, matrices, etc. Para poder utilizar un arreglo, primero es obligatorio
su dimensionamiento; es decir, declarar los rangos de sus subndices, lo cual determina
cuantos elementos se almacenarn y como se acceder a los mismos.
La instruccin Dimension permite declarar un arreglo, indicando sus dimensiones.
Dimension <identificador> (<maxl>,...,<maxN>); ejemplo: Dimension datos[200]
Esta instruccin define un arreglo con el nombre indicado en <identificador> y N
dimensiones. Los N parmetros indican la cantidad de dimensiones y el valor mximo de cada
una de ellas. La cantidad de dimensiones puede ser una o ms, y la mxima cantidad de
elementos debe ser una expresin numrica positiva.
Si se utilizan arreglos en base 0, al declarar un arreglo de, por ejemplo 15 elementos, los
ndices de elementos vlidos van de 0 a 14; mientras que si se utilizan arreglos en base 1 los
ndices vlidos van de 1 a 15. Esto se configura en el cuadro de Opciones del Pseudocdigo.
Se pueden declarar ms de un arreglo en una misma instruccin, separndolos con una
coma (,).
Dimension <ident1> (<max11>,...,<max1N>),..., <identM> (<maxM1>,...,<maxMN>)
En este ejemplo de pseudocodigo he definido un array llamado prec de dimensin 5 y con el
ciclo for le asigno sus cinco valores desde el teclado. En el ejemplo de scratch he creado una
lista y un ciclo que le va aadiendo distintos valores, hasta llegar a una dimensin de 15

Definicin de variables
La instruccin definir permite explicitar el tipo de una o ms variables. Esta definicin
puede ser opcional u obligatoria dependiendo de la configuracin del lenguaje. La sintaxis es:
Definir <var1> , <var2> , ... , <varN> Como [REAL/ENTERO/LOGICO/CARACTER];
Una variable debe definirse antes de ser utilizada por primera vez. Los arreglos, se definen
utilizando su identificador (sin subndices ni dimensiones) antes o despus de dimensionarlos,
y el tipo aplica para todos los elementos del mismo (ya que se trata de una estructura de
datos homognea).
Los tipos posibles son NUMERO, NUMERICO, REAL, ENTERO, LOGICO, CARACTER, TEXTO,
CADENA.
NUMERO, NUMERICO y REAL son sinnimos para el tipo de datos numrico bsico, que
puede almacenar tanto nmeros reales como enteros. El tipo ENTERO es una especializacin
que slo permite almacenar valores enteros; cualquier valor no entero que se lea o asigne en
una variable de este tipo ser truncado.
Una variable de tipo LOGICO slo puede tomar los valores VERDADERO y FALSO, pero
cuando se lee una variable ya definida como lgica, el usuario puede ingresar tambin las
abreviaciones V y F, o 0 y 1.
CARACTER, TEXTO y CADENA son sinnimos para definir variables de tipo carcter. Estas
pueden contener cero, uno o ms caracteres arbitrarios y no tienen una longitud mxima. Si
se declara una variable de este tipo y en una lectura el usuario ingresa un nmero o un valor
lgico, se asignar una cadena que contiene el texto ingresado (ejemplo: "1", "VERDADERO",
etc). Si se intenta asignar a una variable ya definida un dato de un tipo incorrecto se
producir un error en tiempo de ejecucin.
Cuando la configuracin del lenguaje habilita la sintaxis flexible, se pueden definir tipos de
variables de una forma alternativa y ms coloquial, mediante las palabras claves Es y Son,
como sigue:
<var> Es [REAL/ENTERO/LOGICA/CARACTER];
<var1> , <var2> , ... , <varN> Son [REALES/ENTEROS/LOGICAS/CARACTERES];
Lectura de variables

La instruccin Leer permite ingresar valor a una variable, por parte del programador.
Leer <variable1> , <variable2> , ... , <variableN> ;
Esta instruccin toma N valores desde 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. Si una variable donde se debe guardar el valor ledo no existe, se crea
durante la lectura.
Si se utiliza sintaxis flexible se permite opcionalmente separar las variables a leer
simplemente con espacios en lugar de comas. Esto se configura en el cuadro de Opciones del
Pseudocdigo.

El ejemplo Suma muestra un programa muy simple que lee dos nmeros y calcula y
muestra la suma de los mismos. Si la variable existe se pierde su valor anterior ya que
tomar el valor nuevo, razn por la cual se dice que la lectura es "destructiva"
(destruye el valor que tena previamente la variable). En el ejemplo siguiente
definimos la variable intentos como entero, le asignamos el valor 15 y en cada ciclo le
restamos 1 a su valor hasta que la intentos llegue a valor cero.

Asignacin
La instruccin de asignacin permite almacenar una valor en una variable.
<expresin> ;

<variable > <-

ej: numsecreto <- azar(600) , en scratch


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.
Si la variable de la izquierda no exista previamente a la asignacin, se crea. Si la variable
exista se pierde su valor anterior y toma el valor nuevo, razn por la cual se dice que la
asignacin es "destructiva" (destruye el valor que tena la variable de la izquierda). Los
contenidos de las variables que intervienen en la expresin de la derecha no se modifican.
Existen dos operadores de asignacin alternativos que pueden utilizarse indistintamente en
cualquier caso, pero la habilitacin del segundo (=) depende del perfil de lenguaje
seleccionado, NO es recomendable usarlo.
<variable> := <expresin> ;
<variable> = <expresin> ;

Escritura
La instruccin Escribir permite mostrar valores al monitor. Escribir <exprl> , <expr2> , ... ,
<exprN> ;

ej: escribe introduce el siguiente numero, en scratch


Esta instruccin informa al monitor de los valores obtenidos de evaluar N expresiones. Dado
que puede incluir una o ms expresiones, mostrar uno o ms valores. Si hay ms de una

expresin, se escriben una a continuacin de la otra sin separacin, por lo que el algoritmo
debe explicitar los espacios necesarios para diferenciar dos resultados si as lo requiere.
Si en algn punto de la lnea se encuentran las palabras clave "SIN SALTAR" o "SIN BAJAR"
los valores se muestran en la pantalla, pero no se avanza a la lnea siguiente, de modo que la
prxima accin de lectura o escritura continuar en la misma lnea. En caso contrario, se
aade un salto de lnea luego de las expresiones mostradas.
Escribir Sin Saltar <exprl> , ... , <exprN>;
Sin Saltar;

Escribir <exprl> , ... , <exprN>

Otras Acciones Secuenciales


La instruccin "Borrar Pantalla" (o "Limpiar Pantalla") permite, como su nombre lo indica,
borrar la pantalla y colocar el cursor en la esquina superior izquierda. Borrar Pantalla;
La instruccin "Esperar Tecla" detiene su algoritmo hasta que el usuario presione una tecla
cualquiera de su teclado. Esperar Tecla;
La instruccin "Esperar" tambin puede utilizarse para pausar el algoritmo durante un
intervalo de tiempo predefinido, indicando a continuacin de la palabra clave la longitud y
unidad de dicho intervalo. Las unidades vlidas son Segundos y Milisegundos Esperar 3
Segundos;
Estructuras de Control

Condicional Si-Entonces (IF)


La secuencia de instrucciones ejecutadas por la instruccin depende del valor de una
condicin lgica.

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

Se pueden anidar varias de estas estructuras de control.

Seleccin Mltiple (SEGN)


La secuencia de instrucciones ejecutada por una instruccin Segn depende del valor de
una variable numrica, NO de una variable lgica, es decir valor1, valor2, son valores
NUMERICOS

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. ES UN LAZO MUY BUENO PARA
PROGRAMAR MENUS
Este tipo de instruccin se podra realizar tambin con una secuencia tipo si
anidada, pero el cdigo nos quedara ms difcil.

LAZO MIENTRAS (WHILE)


La instruccin Mientras ejecuta una secuencia de instrucciones mientras una
condicin sea verdadera.

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.

LAZO REPETIR

(DO-WHILE)

La instruccin Repetir-Hasta Que ejecuta una secuencia de instrucciones hasta que la


condicin sea verdadera.

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.
Si se utiliza sintaxis flexible (ver Opciones del Pseudocdigo) se permite opcionalmente
utilizar Mientras Que en lugar de Hasta Que, de modo que el conjunto de acciones contenidas
en el bucle se ejecuta mientras que la condicin sea verdadera. Notar que la palabra Que es
la que diferencia el uso de la palabra Mientras en la estructura repetir de la estructura
Mientras. Es decir, si se omite la palabra que se considera como el comienzo de un bucle
Mientras en lugar del final de un bucle Repetir.
Podras diferenciar claramente este lazo del lazo mientras?

LAZO PARA (FOR)


La instruccin Para ejecuta una secuencia de instrucciones un nmero determinado de
veces.

Al ingresar al bloque, la variable <variable>, conocida como variable de control


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. Adems, con sintaxis flexible, si no se
especifica el paso pero el valor final es menor al inicial, el bucle recorrer los valores en orden
inverso como si el paso fuera -1. La segunda variante solo sirve para recorrer arreglos de una
o ms dimensiones. Se introduce con la construccin Para Cada seguida de un identificador, la
palabra clave De y otro identificador:
Para Cada <elemento> De <Arreglo> Hacer ...
El segundo identificador debe corresponder a un arreglo. El primero ser el que ir variando
en cada iteracin. El ciclo realizar tantas iteraciones como elementos contenga el arreglo y
en cada uno el primer identificador servir para referirse al elemento del arreglo en cuestin.

SUBPROCESOS
Si el perfil de lenguaje seleccionado lo permite (ver Opciones del Pseudocdigo), se pueden
declarar nuevas funciones o subprocesos en un algoritmo en Pseudocdigo. La sintaxis para
ello es la siguiente:
Funcion variable_de_retorno <- nombre_de_la_funcion ( argumento_1, argumento_2, ... )
accin 1;
accin 1;
.
accin n;
FinFuncion
Comienza con la palabra clave Funcion (alternativamente puede utilizarSubProceso
o SubAlgoritmo, son sinnimos) seguida de la variable de retorno, el signo de asignacin, el
nombre del subproceso, y finalmente, la lista de argumentos entre parntesis. Existen
variantes para esta estructura. Si la funcin no retorna ningn valor, pueden omitirse la
variable de retorno y el signo de asignacin. Es decir, se puede colocar directamente el
nombre y los argumentos a continuacin de la palabra clave Funcion. Si el subproceso no
recibe ningn valor pueden colocarse los parntesis vacos u omitirse, finalizando la primer
lnea con el nombre del subproceso. Las reglas para los nombres de subprocesos,

variables de retorno y argumentos son las mismas que para cualquier identificador
en pseudocdigo.
Adems, opcionalmente pueden agregarse las palabras claves Por Valor o Por Referencia
para indicar el tipo de pasaje en cada argumento. Si no se indica, los arreglos se pasan por
referencia, las dems expresiones por valor. El pasaje por referencia implica que si la funcin
modifica el argumento, se modificar en realidad la variable que se utiliz en la llamada,
mientras que el pasaje por valor implica que la funcin opera con una copia de la variable (o
el resultado de la expresin) que se utiliz en la llamada, por lo que las modificaciones que
aplique la funcin no se vern reflejadas fuera de la misma.
Para invocar a la funcin se debe utilizar su nombre y entre parntesis los
parmetros, que podrn ser expresiones slo si el tipo de pasaje es por referencia. Una
llamada puede ser en s una instruccin, pero si la funcin retorna algn valor, tambin puede
utilizarse como operando dentro de una expresin.

También podría gustarte