Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Ciclos y estructuras en programación




Enviado por Pablo Turmero



Partes: 1, 2

    Monografias.com

    Máquina de acceso secuencial
    Una secuencia es una colección de elementos del mismo tipo.
    Pueden representarse de diferentes formas. Para acceder al elemento de la posición p, hay que recorrer los p-1 elementos anteriores.
    El recorrido termina cuando se alcanza la marca de fin de secuencia.

    Monografias.com

    Primitivas para el acceso secuencial
    Nombre_Tipo = TIPO Secuencia de Tipo_Base
    SC = TIPO Secuencia de Carácter
    SR = TIPO Secuencia de Real
    Comenzar (S), Avanzar (S), EA (S), Crear(S), Registrar (S, e), Marcar (S)

    Monografias.com

    PROBLEMA: Dada una secuencia con solo ceros y unos, calcular el número de ceros y unos que contiene.
    LÉXICO
    S: Secuencia de carácter;
    NumCeros, NumUnos : Entero;
    ALGORITMO
    NumCeros = 0; NumUnos = 0;
    Comenzar (S);
    MIENTRAS EA (S) < > MarcaFin HACER
    SI EA (S) = ‘0’ ENTONCES numCeros = numCeros + 1
    SI_NO numUnos = numUnos + 1
    FIN_SI;
    AVANZAR (S)
    FIN_MIENTRAS;
    Escribir(“Ceros = ” , numCeros,unos = ” , numUnos)
    FIN

    Monografias.com

    Componentes de una iteración
    ü    Inicialización: instrucciones que se ejecutan para inicializar las variables que participan de la iteración.
    ü    Condición de terminación: expresión booleana que determina cuando acaba la iteración.
    ü    Cuerpo: conjunto de instrucciones que se ejecutan mientras no se cumple la condición de terminación.
    ü    Finalización: conjunto de instrucciones que deben ejecutarse cuando la iteración termina.

    Monografias.com

    Se presentan tres composiciones iterativas en las que la finalización viene determinada por una condición.
    Estas son la composición MIENTRAS, REPETIR, ITERAR.
    Lo que las diferencia es el lugar donde se comprueba la condición: al principio, al final, en un punto intermedio del ciclo. Y también si es una condición de terminación o de continuación.
    Composiciones iterativas condicionales

    Monografias.com

    Diseño iterativo: noción de invariante
    El invariante de un ciclo, INV, es una condición que se cumple al inicio y a cada paso de la iteración. Cuando finaliza la iteración, el hecho de que se satisfaga el invariante y la condición de terminación implica que se alcanzó la solución.

    Monografias.com

    Pasos para una solucion iterativa
    Dada una especificación de un problema de recorrido de secuencias, la estrategia de una solución iterativa consta de los siguientes pasos:
    Identificar qué variables son necesarias a partir de la poscondición.
    Establecer el invariante del ciclo.
    Aplicar un razonamiento inductivo.
    Escribir el algoritmo iterativo.

    Monografias.com

    Composicion MIENTRASEsquema General
    Aini;
    //E0
    MIENTRAS Cc HACER
    //Ek
    Acuerpo
    //Ek+1
    FIN_MIENTRAS;
    //En
    Afin

    Monografias.com

    EJERCICIO
    Dado un conjunto de valores enteros, calcular e imprimir : promedio de los valores positivos, sumatoria de negativos. El lote termina cuando se ingresa un valor cero.

    Monografias.com

    LEXICO
    SumaPos, CanPos, SumaNeg, Numero : Entero;
    ALGORITMO
    SumaPos? 0; CanPos ? 0; SumNeg ? 0;
    Leer(Numero);
    MIENTRAS Numero < > 0 HACER
    SI Numero > 0
    ENTONCES
    Inc(CanPos); SumaPos = SumaPos + Numero;
    SI_NO
    SumaNeg = SumaNeg + Numero
    FIN_SI
    FIN_MIENTRAS;
    Escribir(SumaPos, SumaNeg);
    FIN.

    Monografias.com

    Otros Ejemplos
    Escriba algoritmos que :
    Dado un numero entero en pesos lo desglose según los billetes legales.
    Dado un numero entero < = 106 descomponerlo en dd hh mm ss.

    Monografias.com

    LEXICO
    B100, B50, B20, B10, B5, B2, Monedas, Num : Entero;
    MAXIMO = 65000;
    Leer(Num)
    MIENTRAS Numero > 0 HACER
    SEGÚN Num
    Num 100 .. MAXIMO : B100?Num Div 100; Num?Num – B100*100;
    Num 50 .. 99 : B50?Num Div 50; Num?Num – B50*50;
    Num 20 .. 49 : B20?Num Div 20; Num?Num – B20*20;
    Num 10 .. 19 : B10?Num Div 10; Num?Num – B10*10;
    Num 5 .. 9 : B5?Num Div 5; Num?Num – B5*5;
    Num 2 .. 4 : B2?Num Div 2; Num?Num – B2*2;
    Num 1 : Monedas = 1; Num = 0;
    FIN_SEGUN
    FIN_MIENTRAS

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter