COMPUTACION 2009 Clase 4 Programa PASCAL SENTENCIAS Asignacin
- Slides: 45
COMPUTACION 2009 Clase 4
Programa PASCAL SENTENCIAS Asignación DATOS Decisión Tipos Declaración de variables Expresiones Aritméticas Del programador Enumerados Repetición Entrada/Salida String Subrangos Lógica Estandar Relacionales Real Boolean Caracter Char Integer
Marca Cilindrada Precio Stock HONDA 100 5000 $ 7 HONDA 220 7800. 50 $ 2 SUZUKI 450 14000 $ 3 HARLEY_D 800 KAWASAKI 650 9/26/2020 50000 $ 30000 $ Computación - Fac. Ingeniería UNMDP 0 3 3
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; 9/26/2020 Computación - Fac. Ingeniería UNMDP 4
Primera moto (moto: =1) Conocer datos de todas las motos que valgan menos de 20000 $ 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
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
Conocer datos de todas las motos que valgan menos de 20000 $ REPETIR CINCO VECES Este sentencia es una mejor opción (logramos lo READLN(precio, marca); mismo y NO repetimos IF precio<20000 codigo) THEN WRITELN(precio, marca); FIN REPETIR
Código para leer y sumar tres valores numéricos. Por ejemplo: 6, 12 y 2 SUMA: =0; Read(A); SUMA: =SUMA+A;
Código para leer y sumar tres valores numéricos SUMA: =0; Read(A); SUMA: =SUMA+A;
Código para leer y sumar tres valores numéricos SUMA: =0; REPETIR 3 VECES Read(A); SUMA: =SUMA+A; FIN REPETIR
Sentencias ejecutables de repetición ØLas sentencias de repetición especifican que ciertas sentencias (escritas una sola vez) deben ejecutarse 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 sea verdadera (o falsa) según el caso. ØEstas sentencias se conocen como CICLOS 9/26/2020 Computación - Fac. Ingeniería UNMDP 11
Sentencias ejecutables de REPETICION FOR WHILE REPEAT 9/26/2020 Computación - Fac. Ingeniería UNMDP 12
Si el número de repeticiones SI NO se conoce a-priori la construcción mas apropiada es WHILE o REPEAT. Se recomienda FOR.
Sentencias ejecutables de REPETICION FOR WHILE REPEAT 9/26/2020 Computación - Fac. Ingeniería UNMDP 14
Estructura de Control: WHILE-DO WHILE EXPRESION LOGICA TRUE DO La sentencia se ejecutó una vez Ejecutar SENTENCIA
Estructura de Control: WHILE-DO WHILE EXPRESION LOGICA TRUE DO La sentencia se ejecutó dos veces Ejecutar SENTENCIA
Estructura de Control: WHILE-DO WHILE FALSE EXPRESION LOGICA La sentencia no se ejecuta SIGUE EL PROGRAMA
Sentencia 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. 9/26/2020 Computación - Fac. Ingeniería UNMDP 18
Sintaxis de WHILE-DO WHILE expresión lógica Sentencia; DO WHILE expresión lógica DO begin Sentencia 1; Sentencia 2; . . . . ; Sentencian end;
Moto: =1; While moto<= 5 do begin readln(marca, precio); if precio< 20000 then writeln(marca, precio); moto: =moto+1 end;
Observaciones: Ø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. 9/26/2020 Computación - Fac. Ingeniería UNMDP 21
CICLOS TIPICOS Ciclo controlado por contador Ciclo controlado por centinela Ciclo contador Ciclo sumador
CICLO controlado por CONTADOR ØUn ciclo controlado por contador es aquel que se ejecuta un número determinado de veces. Este ciclo está vigilado por una variable de control. El ciclo consta de tres partes: Inicialización 9/26/2020 Evaluación Computación - Fac. Ingeniería UNMDP Incremento 23
Esquema del ciclo controlado por contador I: =1; {Inicialización } WHILE I<5 DO {Evaluación} Begin. . . I: =I+1 End; Variable de control 9/26/2020 {Incremento} Computación - Fac. Ingeniería UNMDP 24
Ejemplo: leer tres números enteros Lote de prueba: I I<=3 1 true -234, 1345, 20987 program itera; VAR I, A: integer; begin I: =1; WHILE I<=3 do begin READLN(A); I: =I+1; end. A -234 2 true 1345 3 true 20987 4 false Recordar que cada vez que A e I toma un nuevo valor, pierden el anterior
Ejemplo: leer N números enteros program iteratres; VAR I, N, A: integer; begin READLN(N); I: =1; WHILE I<=N do begin Lote de prueba: 5, -1, 3, 6, -234, 4 READLN(A); I: =I+1; end.
CICLO controlado por CENTINELA ØEl centinela es un valor específico que toma una variable (el centinela) en el momento que deseamos terminar una tarea específica. 9/26/2020 Computación - Fac. Ingeniería UNMDP 27
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.
Program lectura; {ESQUEMA DE LECTURA ADELANTADA} Var num: real; Begin Num num<>0 num>23 SALIDA WRITE('Ingresar un numero: '); 10 true false READLN(num); 30 true WHILE num <> 0 DO 30 Begin IF num>23 THEN 1234 true WRITELN(num); 1234 WRITE('Ingresar un numero: '); -98 false El códigotrue en azul se READLN(num); coloca antes 23 true defalse End ingresartrue al ciclotrue y se 33 End. repite como las ultimas 33 lineas dentro del 0 false cuerpo del ciclo Lote de prueba: 10, 30, 1234, -98, 23, 33, 0
Ciclo CONTADOR Ø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. 9/26/2020 Computación - Fac. Ingeniería UNMDP 30
Program cuenta; Lote de prueba: Var Contador: integer; 10, 189, 234, num: real; 155, 78 , 100, -9 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.
Ciclo SUMADOR (o acumulador) ØUn ciclo sumador suma un grupo de datos numéricos Ejemplo: Sumar 4 números enteros. Escribir el resultado de la suma 9/26/2020 Computación - Fac. Ingeniería UNMDP 32
I suma I<5 Program suma 1; 1 0 true var 234 I, A, suma: integer; 2 true BEGIN 200 I: =1; 3 true suma: =0; 218 WHILE I<5 do 4 true begin readln(A); 273 suma: =suma+A; 5 false I: =I+1; end; WRITELN('El valor de suma es: ', suma) end. Lote de prueba: 234, -34, 18, 55 A SALIDA 234 -34 18 55 273
Sentencias ejecutables de REPETICION FOR WHILE REPEAT 9/26/2020 Computación - Fac. Ingeniería UNMDP 34
Estructura de Control: REPEAT-UNTIL REPEAT Ejecución de SENTENCIA La sentencia se ejecutó UNTIL una vez EXPRESIÓN LÓGICA
Estructura de Control: REPEAT-UNTIL REPEAT Ejecución de SENTENCIA La sentencia se ejecutó UNTIL dos veces EXPRESIÓN LÓGICA FALSE
Estructura de Control: REPEAT-UNTIL REPEAT La sentencia no se ejecuta Fin del REPEAT (continúa el programa) TRUE EXPRESIÓN LÓGICA
Sentencia 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. 9/26/2020 Computación - Fac. Ingeniería UNMDP 38
Sentencia 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. 9/26/2020 Computación - Fac. Ingeniería UNMDP 39
Sintaxis de la estructura de control: REPEAT-UNTIL REPEAT Sentencia UNTIL Expresión Lógica; Sentencia_1; . . ; La sentencia es ejecutada, por lo menos, una vez Sentencia_n UNTIL Expresión lógica; Computación - Fac. Ingeniería 9/26/2020 UNMDP 40
Ejemplo: Escribir los cuatro primeros números naturales A program repeat 1; var A: integer; begin A: =1; repeat writeln(A); A: =A+1; until A>4; end. A>4 1 1 2 false 2 3 false 3 4 false 4 5 true
Comparación de repeat con while A program repeat 1; var A: integer; begin A: =1; repeat writeln(A); A: =A+1; until A>4; end. A>4 1 1 2 false 2 3 false 3 4 4 5 false true program repeat 1; var A: integer; begin A: =1; while A<=4 do begin writeln(A); A: =A+1; end. A A<=4 1 true 1 2 true 2 3 true 3 4 true 4 5 false
Ejemplo n n Hallar el máximo y el mínimo de un conjunto de datos reales. Hagamos un razonamiento top-down 9/26/2020 Computación - Fac. Ingeniería UNMDP 43
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. Computación - Fac. Ingeniería 9/26/2020 UNMDP 44
EJERCICIO 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.
- Asignacin
- Sentencias repetitivas
- Pseudocódig
- Lenguaje de alto nivel pascal
- Coto computacion
- Breve historia de la computación y sus pioneros
- Induccion matematica
- Generacion de computadoras
- Tarjeta madre de laptop y sus partes
- Tipos de lenguajes algoritmicos
- Curso de computacion
- Equipos de computacion
- Computacion y educacion
- La computacion en la nube
- Globale puntenenveloppe
- 7 adar 2009
- Coroners justice act 2009
- Aeis report 2009
- 2009 dress code
- Burnes 2009
- H2o2 sterilizer validation
- Permen 58 tentang kurikulum paud
- Reticolo di diffrazione zanichelli
- Delmar cengage learning medical terminology
- Salient features of right to education act 2009
- Msexchange mid-tier storage 2009
- Nice 2009
- Calendario pirelli 2009
- Xxxxxx 2009
- Rcfce act in odisha
- Nmc record keeping
- Iso guide 73
- Portaria 2048 de 2009
- 4 levels of feedback
- Uu no 44 tahun 2009
- Portaria 2048/09
- Undang undang 42 tahun 2009
- Uu no 41 tahun 2009
- Nfpa 101-2009
- Copyright 2009 pearson education inc
- Konzeptmatrix webster und watson
- Saunders lewis and thornhill 2009
- Oplan kandado rmo
- 2009
- Contoh soal analisis perubahan laba kotor
- Radford 2009