-
PROGRAMACION Y COMPUTACION
Departamento de Sistemas
Universidad de la Frontera
-
Captulo 4: Algoritmos - PSeIntAgenda:
Estructura de un Algoritmo en seudocdigo
PSeInt-PSeudo Interprete
Smbolos grficos
Operadores y funciones que soporta PSeInt Operadores y funciones que soporta PSeInt
Instrucciones secuenciales
Instrucciones de control
-
Algoritmos - PSeIntRepresentacin de un Algoritmo (recordatorio):
Lenguaje natural
Seudocdigo
Diagramas de flujo
Lenguajes de programacin
-
Algoritmos - PSeIntRepresentacin en Lenguaje natural
Problema: Sumar 2 nmeros.
- Inicio suma- Inicio suma
- Ingresar primer nmero
- Guardar nmero en variable a
- Ingresar segundo nmero
- Guardar nmero en variable b
- Sumar a y b
- Guardar resultado en c
- Mostrar c
- Fin
-
Algoritmos - PSeIntRepresentacin en Lenguaje natural
Desventaja:
AmbiguoAmbiguo
Extenso
-
Algoritmos - PSeIntRepresentacin en seudocdigo
La representacin del algoritmo que se asemeja a los lenguajes de programacin pero conserva elementos del lenguaje natural.
La estructura de un algoritmos en seudocdigo se compone de:
Cabecera
Declaraciones
Cuerpo
-
Algoritmos - PSeIntRepresentacin en seudocdigo
La cabecera es la parte del algoritmo que posee el nombre del algoritmo.
Las declaraciones son las variables y constantes que utilizar el algoritmo para resolver el problema.
El cuerpo son el conjunto de instrucciones o acciones que estn entre el Inicio y el Fin del algoritmo
-
Algoritmos - PSeIntPSeInt-PSeudo Interprete
http://pseint.sourceforge.net
PSeInt est pensado para asistir a los estudiantes que PSeInt est pensado para asistir a los estudiantes que se inician en la construccin de programas o algoritmos computacionales.
El seudocdigo se utiliza como primer contacto para introducir conceptos bsicos como el uso de estructuras de control, expresiones, variables, etc.
Este software facilita al principiante la tarea de escribiralgoritmos.
-
Algoritmos - PSeIntPSeInt-PSeudo Interprete
Permite generar y editar el diagrama de flujo del algoritmo.
Permite la edicin simultnea de mltiplesalgoritmos.algoritmos.
Determina y marca claramente errores de sintaxis (mientras escribe) y en tiempo de ejecucin.
Es multiplataforma (probado en Microsoft Windows, GNU/Linux y Mac OS X).
Es totalmente libre y gratuito (licencia GPL)
-
Algoritmos - PSeIntPSeInt tcnicamente:
Es un software que interpreta seudocdigo
Es de sintaxis sencilla
Maneja las estructuras de control bsicas Maneja las estructuras de control bsicas
Maneja solo 3 tipos de datos bsicos: numrico,
alfanumrico y lgico (verdadero-falso).
Maneja estructuras de datos: arreglos
-
Algoritmos - PSeIntEstructura del algoritmo en seudocdigo
La seccin Proceso SinTitulo es la cabecera del algoritmo
La seccin accin 1, accin 1, es el cuerpo del algoritmo
La seccin de declaraciones se omite dado que el software (PSeInt) se encarga de asignarle el tipo de dato a cada variable segn el uso.
-
Algoritmos - PSeIntEstructura del algoritmo en seudocdigo
Comienza con la palabra clave Proceso seguida del nombre del programa (algoritmo),
Le sigue una secuencia de acciones (instrucciones) cada una terminada en punto y coma.
Finaliza con la palabra clave FinProceso.
-
Algoritmos - PSeIntEstructura del algoritmo en seudocdigo
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.
-
Algoritmos - PSeIntEstructura del algoritmo seudocdigo, ejemplo
Estructura del algoritmo en Java
-
Algoritmos - PSeIntRepresentacin del algoritmo en diagrama de flujo
Para generar un diagrama de flujo
En PSeInt debemos presionar el
botn:
La representacin mediante diagrama de flujo es una descripcin grfica de un algoritmo utilizando smbolos.
-
Algoritmos - PSeIntSmbolos grficos para representar Diagramas de Flujo
-
Algoritmos - PSeIntOperadores que soporta PSeInt
-
Algoritmos - PSeIntFunciones que soporta PSeInt
-
Algoritmos - PSeIntCometarios de lnea:
El carcter que se usa para comentario de lnea es //
Puede ir al principio o a continuacin de una instruccin
Ejemplo (PSeInt, Java)
// Este es un comentario // Comentario // Comentario
Cometarios de prrafo :
El carcter que indica comentario de prrafo es: Inicio /* y
trmino */
Ejemplo (Java)
/* Este es un comentario de prrafo. til cuando se quiereDocumentar el programa */
-
Algoritmos - PSeIntIdentificadores
Los identificadores, o nombres de variables, deben constar slo de letras y nmeros,
Comienzan siempre con una letra, y no pueden ser palabras reservadas (como para, mientras, y, no, etc...)
FinProceso
No puede haber instrucciones fuera del programa, aunque si comentarios.
Constantes
Las constantes de tipo carcter se escriben entre comillas (").
En las constantes numricas, el punto ( . ) es el separador decimal.
Las constantes lgicas son Verdadero y Falso.
-
Algoritmos - PSeIntAsignacin
La instruccin de asignacin permite almacenar una
valor en una variable.
;
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.
-
Algoritmos - PSeIntEjemplo Prog00
-
Algoritmos - PSeIntEjemplo Prog00 Diagrama de Flujo
-
Algoritmos - PSeIntEntradas
La instruccin Leer permite ingresar informacin desde
el ambiente.
Leer , , ... , ;
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.
-
Algoritmos - PSeIntEjemplo Progr01
-
Algoritmos - PSeIntSalidas
La instruccin Escribir permite mostrar valores al ambiente.
Escribir , , ... , ;
Esta instruccin imprime al ambiente (en este caso en la 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.
-
Algoritmos - PSeIntEjemplo Prog02
-
Algoritmos - PSeIntCondicional Si-Entonces-Sino
La secuencia de instrucciones ejecutadas por la instruccin
Si-Entonces-Sino depende del valor de una condicin lgica.
Si Entonces
Sino
FinSi
Se evala la condicin y se ejecutan 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.
-
Algoritmos - PSeIntCondicional Si-Entonces-Sino
-
Algoritmos - PSeInt
-
Algoritmos - PSeIntCondicional Si-Entonces
La clusula Entonces es obligatoria, 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.instruccin siguiente.
Si Entonces
FinSi
-
Algoritmos - PSeIntCondicional Si-Entonces
Falso Verdadero
expLgica
acciones A
-
Algoritmos - PSeIntEjemplo Prog03
-
Algoritmos - PSeIntSeleccin Mltiple
La secuencia de instrucciones ejecutada por una
instruccin Segun depende del valor de una variable numrica.
Segun Hacer: : ,:
De Otro Modo:
FinSegun
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.
-
Algoritmos - PSeIntSeleccin Mltiple
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, 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.
Esta instruccin es recomendable para manejar Menu muy complejos.
Esta opcin se ocupa generalmente para capturar errores al ingresar una opcin no disponible y as avisarle al usuario.
-
Algoritmos - PSeIntSeleccin Mltiple, diagrama de flujo:
-
Algoritmos - PSeIntEjemplo Prog04
-
Algoritmos - PSeIntEjemplo Prog04
-
Algoritmos - PSeIntEjemplo Prog041
-
Algoritmos - PSeIntMientras-Hacer:
Mientras Hacer
FinMientras
La instruccin Mientras- Hacer ejecuta una secuencia de instrucciones mientras una condicin sea verdadera.
Al ejecutarse, primero que nada la condicin se evala.
Si la condicin resulta verdadera, se ejecuta una vez la secuencia de instrucciones que forman el cuerpo del ciclo.
-
Algoritmos - PSeIntMientras-Hacer:
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.verdadera.
Las instrucciones del cuerpo del ciclo pueden no ejecutarse nunca. Esto ocurre si al evaluar por primera vez la condicin resulta ser falsa.
Por otra parte, si la condicin siempre es verdadera (nunca cambia), se produce un ciclo infinito.
Importante: las instrucciones del cuerpo del ciclo deben contener alguna instruccin que modifique la o las variables involucradas en la condicin, de modo que en algn momento sea falsa y finalice el ciclo.
-
Algoritmos - PSeIntMientras-Hacer:
-
Algoritmos - PSeIntEjemplo Prog05
-
Algoritmos - PSeIntEjemplo Prog05
-
Algoritmos - PSeIntRepetir-Hasta
La instruccin Repetir-Hasta ejecuta una secuencia de
instrucciones hasta que la condicin sea verdadera.
Repetir
Hasta Que
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.
-
Algoritmos - PSeIntRepetir-Hasta
Important Hint: 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 momento la condicin sea verdadera y se finalice la ejecucin del ciclo.
-
Algoritmos - PSeIntEjemplo Prog06
-
Algoritmos - PSeIntEjemplo Prog06
-
Algoritmos - PSeIntPara
La instruccin Para ejecuta una secuencia de instrucciones un
nmero determinado de veces.
Para Hasta ( Con Paso ) Hacer
FinPara
Al ejecutarse, la variable recibe el valor y se ejecuta la secuencia de instrucciones que forma el cuerpo del ciclo.
Luego la variable se incrementa en unidades y se evala si el valor almacenado en super al valor .
-
Algoritmos - PSeIntPara
Si esto es falso se repite hasta que supere a .
Si se omite la clusula Con Paso , la variable se incrementar en 1 (por defecto).
-
Algoritmos - PSeIntEjemplo Prog07
-
Algoritmos - PSeIntAgenda:
Estructura de un Algoritmo en seudocdigo
PSeInt-PSeudo Interprete
Smbolos grficos
Operadores y funciones que soporta PSeInt Operadores y funciones que soporta PSeInt
Instrucciones secuenciales
Instrucciones de control