computacion 2009 c lase 4 programa pascal sentencias datos expresiones tipos declaración de...
TRANSCRIPT
![Page 1: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/1.jpg)
COMPUTACION2009
Clase 4
![Page 2: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/2.jpg)
Programa PASCAL Programa PASCAL SENTENCIASSENTENCIAS
DATOSDATOS
ExpresionesExpresionesTiposTipos Declaración de
variables
Declaración de variables
AsignaciónAsignación
Entrada/SalidaEntrada/Salida
AritméticasAritméticas
LógicaLógica
RelacionalesRelacionales
CaracterCaracter
EstandarEstandar
IntegerInteger
RealReal
CharCharBooleanBoolean
Del programadorDel programador
DecisiónDecisión
EnumeradosEnumerados
SubrangosSubrangos
StringString
Repetición
![Page 3: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/3.jpg)
04/21/23Computación - Fac. Ingeniería
- UNMDP 3
Marca Cilindrada Precio Stock
HONDA 100 5000 $ 7
HONDA 220 7800.50 $ 2
SUZUKI 450 14000 $ 3
HARLEY_D 800 50000 $ 0
KAWASAKI 650 30000 $ 3
Marca Cilindrada Precio Stock
HONDA 100 5000 $ 7
HONDA 220 7800.50 $ 2
SUZUKI 450 14000 $ 3
HARLEY_D 800 50000 $ 0
KAWASAKI 650 30000 $ 3
![Page 4: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/4.jpg)
04/21/23Computación - Fac. Ingeniería
- UNMDP 4
Problema 1:Problema 1: Queremos conocer marca y precio de
todas las motos que valga menos de 20000 $
Cómo lo averiguamos? Por cada moto, preguntamos usando
la siguiente decisión: Si el precio< 20000 entonces
imprimir marca y precio;
![Page 5: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/5.jpg)
Conocer datos de todas las motos que valgan menos de 20000 $
Conocer datos de todas las motos que valgan menos de 20000 $
Primera moto (moto:=1)
READLN(precio,marca);
IF precio<20000 THEN
WRITELN(precio,marca);
Segunda moto (moto:=2)
READLN(precio,marca);
IF precio<20000 THEN
WRITELN(precio,marca);
Según nuestros datos, en total tenemos cinco modelos
Según nuestros datos, en total tenemos cinco modelos
![Page 6: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/6.jpg)
Tercera moto (moto:=3)READLN(precio,marca);
IF precio<20000 THEN
WRITELN(precio,marca);
Cuarta moto (moto:=4)
READLN(precio,marca);
IF precio<20000 THEN
WRITELN(precio,marca);
Quinta moto (moto:=5)READLN(precio,marca);
IF precio<20000 THEN
WRITELN(precio,marca);
Para lograr la ejecución de la pregunta para cada moto, hemos repetido código 5 veces
![Page 7: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/7.jpg)
Conocer datos de todas las motos que valgan menos de 20000 $
Conocer datos de todas las motos que valgan menos de 20000 $
READLN(precio,marca);
IF precio<20000
THEN WRITELN(precio,marca);
REPETIR CINCO VECES
FIN REPETIR
Este sentencia es una mejor opción (logramos lo mismo y NO repetimos codigo)
![Page 8: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/8.jpg)
Código para leer y sumar tres valores numéricos. Por ejemplo: 6, 12 y 2Código para leer y sumar tres valores numéricos. Por ejemplo: 6, 12 y 2
SUMA:=0;
Read(A);
SUMA:=SUMA+A;
Read(A);
SUMA:=SUMA+A;
Read(A);
SUMA:=SUMA+A;
![Page 9: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/9.jpg)
Código para leer y sumar tres valores numéricosCódigo para leer y sumar tres valores numéricos
SUMA:=0;
Read(A);
SUMA:=SUMA+A;
Read(A);
SUMA:=SUMA+A;
Read(A);
SUMA:=SUMA+A;
![Page 10: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/10.jpg)
Código para leer y sumar tres valores numéricosCódigo para leer y sumar tres valores numéricos
SUMA:=0;
Read(A);
SUMA:=SUMA+A;
REPETIR 3 VECES
FIN REPETIR
![Page 11: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/11.jpg)
04/21/23Computación - Fac. Ingeniería
- UNMDP 11
Las sentencias de repetición especifican que ciertas sentencias (escritas una sola vez) deben ejecutarse en forma repetitivaejecutarse en forma repetitiva.
La ejecución repetitiva puede hacerse indicando la cantidad de veces (como en el ejemplo anterior) o señalando que se ejecute una sentencia (simple o compuesta) mientras una expresión lógica lógica sea verdadera (o falsa) según el caso.
Estas sentencias se conocen como CICLOS
Sentencias ejecutables de repetición
![Page 12: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/12.jpg)
04/21/23Computación - Fac. Ingeniería
- UNMDP 12
Sentencias ejecutables deREPETICION
WHILE
REPEAT
FOR
![Page 13: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/13.jpg)
la construcción mas apropiada es
WHILE o REPEAT.
la construcción mas apropiada es
WHILE o REPEAT.
Si el número de repeticiones
se conoce a-priori
Se recomienda FOR.
Se recomienda FOR.
NO SI
![Page 14: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/14.jpg)
04/21/23Computación - Fac. Ingeniería
- UNMDP 14
Sentencias ejecutables deREPETICION
WHILE
REPEAT
FOR
![Page 15: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/15.jpg)
WHILE
EXPRESIONLOGICA
EjecutarSENTENCIA
TRUE
Estructura de Control: WHILE-DOEstructura de Control: WHILE-DO
La sentencia se
ejecutó una vez
DO
![Page 16: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/16.jpg)
WHILE
EXPRESIONLOGICA
EjecutarSENTENCIA
TRUE
Estructura de Control: WHILE-DOEstructura de Control: WHILE-DO
La sentencia se
ejecutó dos veces
DO
![Page 17: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/17.jpg)
WHILE
EXPRESIONLOGICA
SIGUE EL PROGRAMA
FALSE
Estructura de Control: WHILE-DOEstructura de Control: WHILE-DO
La sentencia no
se ejecuta
![Page 18: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/18.jpg)
04/21/23Computación - Fac. Ingeniería
- UNMDP 18
Sentencia WHILE-DOSentencia WHILE-DO
La sentencia WHILE-DO provoca la ejecución de una sentencia mientras una expresión lógica sea verdadera.
Cuando la expresión lógica es falsa, termina la ejecución.
![Page 19: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/19.jpg)
Sintaxis de WHILE-DOSintaxis de WHILE-DO
WHILE expresión lógica DOSentencia;
WHILE expresión lógica DObegin Sentencia1; Sentencia2; .................; Sentencian
end;
![Page 20: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/20.jpg)
Moto:=1;
While moto<= 5 do
begin
readln(marca, precio);
if precio< 20000 then
writeln(marca,precio);
moto:=moto+1
end;
Moto:=1;
While moto<= 5 do
begin
readln(marca, precio);
if precio< 20000 then
writeln(marca,precio);
moto:=moto+1
end;
![Page 21: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/21.jpg)
04/21/23Computación - Fac. Ingeniería
- UNMDP 21
Notar que, si al iniciarse el ciclo WHILE la expresión lógica es falsa, no se ejecuta la/s sentencia/s.
En la expresión lógica debe figurar alguna/s variable/s que la modifiquen durante la ejecución del ciclo.
Observaciones:
![Page 22: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/22.jpg)
CICLOS TIPICOS
Ciclo controlado por contador
Ciclo controlado por centinela
Ciclo contador
Ciclo sumador
![Page 23: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/23.jpg)
04/21/23Computación - Fac. Ingeniería
- UNMDP 23
El ciclo consta de tres partes:El ciclo consta de tres partes:
InicializaciónInicializaciónEvaluaciónEvaluación
IncrementoIncremento
CICLO controlado por CICLO controlado por CONTADORCONTADORUn ciclo controlado por contador es aquel
que se
ejecuta un número determinado de veces. Este ciclo
está vigilado por una variable de control.
![Page 24: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/24.jpg)
04/21/23Computación - Fac. Ingeniería
- UNMDP 24
I:=1; {Inicialización }WHILE I<5 DO {Evaluación} Begin . . . . . . . . . . . . I:=I+1 {Incremento} End;
Esquema del ciclo controlado por Esquema del ciclo controlado por contadorcontador
Variable de control
![Page 25: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/25.jpg)
Ejemplo: leer tres númerosEjemplo: leer tres números enterosenteros
program itera; VAR I,A:integer;begin I:=1; WHILE I<=3 do begin READLN(A); I:=I+1; endend.
I I<=3 A
1
true
-234
2
true
1345
3
true
20987
4
false
Recordar que cada vez que A e I toma un nuevo valor, pierden el anterior
Lote de prueba:
-234,1345,20987
![Page 26: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/26.jpg)
Ejemplo: leer N números enterosEjemplo: leer N números enteros
program iteratres; VAR I,N,A:integer;begin READLN(N); I:=1; WHILE I<=N do begin READLN(A); I:=I+1; endend.
Lote de prueba:5, -1,3,6,-234,4
![Page 27: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/27.jpg)
04/21/23Computación - Fac. Ingeniería
- UNMDP 27
El centinela es un valor específico que toma una variable (el centinela) en el momento que deseamos terminar una tarea específica.
CICLO controlado por CENTINELACICLO controlado por CENTINELA
![Page 28: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/28.jpg)
EJEMPLO: Luego de leer una cantidad de datos cuya cantidad no se conoce de antemano (se sabe que los datos son distintos de cero), escribir los que sean mayores que 23.
Como todos los datos válidos a procesar
son distintos de cero, tomamos como
centinela al valor cero.
![Page 29: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/29.jpg)
El código en azul se coloca antes de ingresar al ciclo y se repite como las ultimas lineas dentro del cuerpo del ciclo
El código en azul se coloca antes de ingresar al ciclo y se repite como las ultimas lineas dentro del cuerpo del ciclo
Program lectura; {ESQUEMA DE LECTURA ADELANTADA} Var num: real;Begin WRITE('Ingresar un numero:'); READLN(num); WHILE num <> 0 DO Begin IF num>23 THEN WRITELN(num); WRITE('Ingresar un numero:'); READLN(num); End End.
Num num<>0 num>23 SALIDA
10 true false
30 true true
1234 true true
-98 true false
23 true false
33 true true
0 false
30
1234
33
Lote de prueba:10,30,1234,-98,23,33,0
![Page 30: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/30.jpg)
04/21/23Computación - Fac. Ingeniería
- UNMDP 30
Un ciclo contador cuenta la cantidad de veces que ocurre algún hecho.
Ejemplo: En un lote de números positivos, cuya cantidad no se conoce a-priori, contar cuantos números hay entre 100 y 200.
Ciclo CONTADORCiclo CONTADOR
![Page 31: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/31.jpg)
Program cuenta; Var Contador:integer; num:real; Begin Contador:=0; WRITE('Ingresar un numero:'); READLN(num); WHILE num>0 DO Begin IF (num>=100) AND (num<=200) THEN Contador:=Contador+1; WRITE('Ingresar un numero:'); READLN(num) End; WRITELN('La cantidad de datos es',Contador) End.
Lote de prueba:
10, 189, 234,
155, 78 ,100, -9
![Page 32: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/32.jpg)
04/21/23Computación - Fac. Ingeniería
- UNMDP 32
Un ciclo sumador suma un grupo de datos numéricos
Ejemplo: Sumar 4 números enteros. Escribir el resultado de la suma
Ejemplo: Sumar 4 números enteros. Escribir el resultado de la suma
Ciclo SUMADOR (o Ciclo SUMADOR (o acumulador)acumulador)
![Page 33: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/33.jpg)
Program suma1;var I,A,suma:integer; BEGIN I:=1; suma:=0; WHILE I<5 do begin readln(A); suma:=suma+A; I:=I+1; end; WRITELN('El valor de suma es:',suma) end.
I suma I<5 A SALIDA
1 0 true 234
234
2 true -34
200
3 true 18
218
4 true 55
273
5 false 273
Lote de prueba:234,-34,18,55
![Page 34: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/34.jpg)
04/21/23Computación - Fac. Ingeniería
- UNMDP 34
Sentencias ejecutables deREPETICION
WHILE
REPEAT
FOR
![Page 35: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/35.jpg)
Estructura de Control: REPEAT-UNTILEstructura de Control: REPEAT-UNTIL
REPEAT
Ejecución de SENTENCIA
EXPRESIÓN LÓGICA
UNTIL
La sentencia
se ejecutó
una vez
![Page 36: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/36.jpg)
Estructura de Control: REPEAT-UNTILEstructura de Control: REPEAT-UNTIL
REPEAT
Ejecución de SENTENCIA
EXPRESIÓN LÓGICA
FALSE
UNTIL
La sentencia
se ejecutó
dos veces
![Page 37: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/37.jpg)
Estructura de Control: REPEAT-UNTILEstructura de Control: REPEAT-UNTIL
REPEAT
EXPRESIÓN LÓGICA
La sentencia
no se ejecuta
TRUE
Fin del REPEAT (continúa el programa)
![Page 38: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/38.jpg)
04/21/23Computación - Fac. Ingeniería
- UNMDP 38
Sentencia REPEAT-UNTILSentencia REPEAT-UNTIL
La entrada a esta sentencia se hace por la palabra reservada REPEAT. Pascal ejecuta la sentencia/s entre REPEAT y UNTIL.
Luego evalúa la expresión lógica.
![Page 39: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/39.jpg)
04/21/23Computación - Fac. Ingeniería
- UNMDP 39
Sentencia REPEAT-UNTILSentencia REPEAT-UNTIL
Si esta es falsa, el control de ejecución vuelve a REPEAT y continúa ejecutando la sentencia/s. Este proceso continúa mientras la expresión lógica sea falsa (formándose así un ciclo)
Si esta es verdadera, termina el ciclo.
![Page 40: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/40.jpg)
04/21/23Computación - Fac. Ingeniería
- UNMDP 40
Sintaxis de la estructura de control: Sintaxis de la estructura de control: REPEAT-UNTILREPEAT-UNTIL
La sentencia es ejecutada, por lo menos, una vez
La sentencia es ejecutada, por lo menos, una vez
REPEAT
Sentencia_1;
..........;
Sentencia_n
UNTIL Expresión lógica;
REPEAT SentenciaUNTIL Expresión Lógica;
![Page 41: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/41.jpg)
program repeat1;var A:integer;begin A:=1; repeat writeln(A); A:=A+1; until A>4; end.
Ejemplo: Escribir los cuatro primeros números naturales
A A>4
1
2 false
3 false
4 false
5 true
1
2
3
4
![Page 42: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/42.jpg)
program repeat1;var A:integer;begin A:=1; repeat writeln(A); A:=A+1; until A>4; end.
Comparación de repeat con while
program repeat1;var A:integer;begin A:=1; while A<=4 do begin writeln(A); A:=A+1; endend.
A A>4
1
2 false
3 false
4 false
5 true
1
2
3
4
A A<=4
1 true
2 true
3 true
4 true
5 false
1
2
3
4
![Page 43: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/43.jpg)
Ejemplo Hallar el máximo y el mínimo de un
conjunto de datos reales. Hagamos un razonamiento top-down
04/21/23Computación - Fac. Ingeniería
- UNMDP 43
![Page 44: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/44.jpg)
04/21/23Computación - Fac. Ingeniería
- UNMDP 44
Program maxmin;Var cantnum,i:integer; num,max,min:real;BEGIN read(cantnum); read(num) min:=num; max:=num; i:=2; while i<=cantnum do begin read(num); if num<min then min:=num else if num>max then max:=num; i:=i+1 end;END.
Program maxmin;Var cantnum,i:integer; num,max,min:real;BEGIN read(cantnum); read(num) min:=num; max:=num; i:=2; while i<=cantnum do begin read(num); if num<min then min:=num else if num>max then max:=num; i:=i+1 end;END.
![Page 45: COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida](https://reader036.vdocumento.com/reader036/viewer/2022062500/5665b45f1a28abb57c90f491/html5/thumbnails/45.jpg)
Se lee una cantidad no conocida a priori de números reales positivos. Además se leen 4 reales positivos A,B,C y D tal que A<B<C<D.
Hacer un programa PASCAL para contar cuantos números reales positivos se encuentran en c/u los siguientes 3 sub-intervalos:
A B C D
Para contar no tener en cuenta a A,B,C y D. Para numeros menores que A y mayores que D no contar.
EJERCICIOEJERCICIO