005 D. de Algoritmos Estructuras de Control Cap 3 y 4 PSeInt

52
PROGRAMACION Y COMPUTACION Departamento de Sistemas Universidad de la Frontera

Transcript of 005 D. de Algoritmos Estructuras de Control Cap 3 y 4 PSeInt

  • 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