La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Sesión 6 Sentencias de Repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.

Presentaciones similares


Presentación del tema: "Sesión 6 Sentencias de Repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal."— Transcripción de la presentación:

1 Sesión 6 Sentencias de Repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal

2 Sesión 6: Sentencias de Repetición Programación de Computadores Lenguaje Pascal TEMARIO Sentencias de Repetición FOR... TO... DO FOR... DOWNTO...DO Tipos definidos por el usuario Control

3 Definición : Hasta ahora se ha visto dos tipos de repeticiones que dependen de condiciones dadas por expresiones booleanas, por lo que el número de repeticiones es flexible. FOR... TO... DO Esta sentencia permite ejecutar un bloque de instrucciones una cantidad fija de veces, con un incremento implícito de un contador, en una unidad cada vez que se ejecuta el bloque. Se detiene cuando se ha repetido - veces. Sintaxis: FOR := TO ; : tipo Ordinal (INTEGER,CHAR, enumerados y subrango) : constantes o variables. Sesión 6: Estructuras de Control : Repetición Programación de Computadores Lenguaje Pascal

4 Ejercicio1 : Solicite un número positivo menor o igual a 33 y calcule el factorial. Puesto que la cantidad de multiplicaciones es fija, use la instrucciónFOR. Sesión 6: Estructuras de Control : Repetición Programación de Computadores Lenguaje Pascal PROGRAM factorFOR; VAR fact::REAL; numero,i:INTERGER; BEGIN WRITELN(‘Cálculo factorial. Ingrese número <=33’); READLN(numero); IF (numero > 33) OR (numero < 0) THEN WRITELN(‘Sólo se puede calcular hasta 33 y positivo’) ELSE BEGIN fact:=1; FOR i:=1 TO numero DO fact:=fact*i; WRITE(‘El factorial de ’,numero:2,es: ‘); WRITELN(fact:) END; END.

5 FOR... DOWNTO... DO Esta sentencia permite ejecutar un bloque de instrucciones una cantidad fija de veces, con un decremento implícito de un contador, en una unidad, cada vez que se ejecuta el bloque. Se detiene cuando se ha repetido - veces. Sintaxis: FOR := DOWNTO ; Sesión 6: Estructuras de Control : Repetición Programación de Computadores Lenguaje Pascal

6 Ejercicio2 : Desarrolle un programa PASCAL que escriba las letras mayúsculas del alfabeto al revez. Sesión 6: Estructuras de Control : Repetición Programación de Computadores Lenguaje Pascal PROGRAM alfabeto; VAR letra :CHAR; BEGIN FOR letra :=‘Z’ DOWNTO ‘A’ DO WRITE(‘ ’, letra); END. Tipos enumerados: se componen de una lista de identificadores encerrados entre paréntesis y separados por comas. Sintaxis: TYPE = (,,...., ); El orden de los elementos es relevante (ordinales), por lo que elemento 1 es menor que el elemento 2. Este orden depende del orden de la declaración. Un elemento de un tipo, no puede pertenecer a dos tipos enumerados distintos. No pueden leerse desde teclado ni imprimirse en pantalla.

7 Ejercicio3 : Desarrolle un programa PASCAL solicite el número del mes 1 a 12 y lo clasifique en una estación del año. Use tipos enumenrados. Sesión 6: Tipos definidos por el usuario : enumerados Programación de Computadores Lenguaje Pascal PROGRAM estaciones; TYPE meses = (enero,febrero,marzo,abril,mayo,junio,julio,septiembre,octubre noviembre,diciembre); Const N=12; VAR mes :meses; i,nummes:INTEGER; BEGIN WRIT(‘Ingrese mes:’); READLN(nummes); IF (nummes > 0) OR (nummes =< 12) THEN WRITELN(‘mes inválido’) ELSE BEGIN mes:=enero; FOR i:=1 TO nummes -1 DO {asocia numero mes con símbolo interno} mes:=SUCC(mes); { CASO MES 1 no entra a for caso mes 2 i:=1 to 1 entra 1 vez} CASE mes OF enero..marzo : WRITELN(‘Verano’) ; abril..junio : WRITELN(‘Otoño’) ; julio..septiembre : WRITELN(‘Invierno) ; octubre..diciembre: WRITELN(‘Primavera’) ; END; END.

8 Sesión 6: Tipos definidos por el usuario : sub rango Programación de Computadores Lenguaje Pascal Tipos sub-rango: es un subconjunto de un tipo ordinal INTEGER,BOOLEAN,CHAR,enumerado definido por el usuario. Se especifica indicando el primer y último elemento del conjunto. TYPE =.. ; Los conjuntos ordinales, permiten operaciones como sucesor SUCC(); cardinalidad ORD(); Si se asignan valores fuera de las cotas del subrango a una variable de este tipo, se producirá un error Run-Time.

9 Ejercicio4 : Desarrolle un programa PASCAL solicite 50 notas por teclado y entregue el promedio, las menores que 55 y las mayores a 55 Sesión 6: Tipos definidos por el usuario : enumerados Programación de Computadores Lenguaje Pascal PROGRAM estaciones; TYPE rangonotas = 0.. 100; Const N=50; VAR nota : rangonotas; i,acumnot,aprobados,reprobados:INTEGER; promedio:REAL; BEGIN acumnot:=0;aprobados:=0;reprobados:=0; WRITELN(‘Ingrese notas curso’); FOR i:=1 TO N DO BEGIN READLN(nota); acumnot := acumnot + nota; IF nota < 55 THEN reprobados:= reprobados+1 ELSE aprobados:= aprobados+1; END; {for} promedio:= ROUND(acumnot /N); WRITELN(‘Promedio:’,promedio:3:0,’>=55:’,aprobados:3,’<55:’,reprobados:3); END.

10 Fin Clase 6


Descargar ppt "Sesión 6 Sentencias de Repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal."

Presentaciones similares


Anuncios Google