COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio...

42
COMPUTACION 2009 Clase 3

Transcript of COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio...

Page 1: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

COMPUTACION2009

Clase 3

Page 2: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

04/22/23Computación - Fac. Ingeniería

- UNMDP 2

Marca Cilindrada Precio Stock

HONDA dax 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 dax 5000 $ 7

HONDA 220 7800.50 $ 2

SUZUKI 450 14000 $ 3

HARLEY_D 800 50000 $ 0

KAWASAKI 650 30000 $ 3

Page 3: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

04/22/23Computación - Fac. Ingeniería

- UNMDP 3

Problema 1:Problema 1:

Queremos una moto que valga menos de 20000 $

Cómo lo averiguamos? Preguntemos usando una expresión

relacional: Si el precio< 20000 entonces

compro la moto; sino, no la compro

Page 4: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

04/22/23Computación - Fac. Ingeniería

- UNMDP 4

Problema 2:Problema 2: Queremos una moto que valga menos de

20000 $ y que sea una HONDA Cómo lo averiguamos? Preguntemos usando una expresión lógica:

Si el (precio< 20000) AND (marca=HONDA)entonces compro la moto; sino, no la

compro

Page 5: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

04/22/23Computación - Fac. Ingeniería

- UNMDP 5

HD Procesador Monitor Precio

Quantu 160G Intel Pentium II 266 Samsung LCD 2700 $

IBM 9.1G Intel Celeron 466 Philips plano 1890.10 $

Compak 9G Athlon 2400 Viewsonic 17 2500 $

Carry 20G AMD 2000 Rowland 17 1500.90 $

Quantum 80G Intel P. CORE Duo Philips 17 2800 $

Page 6: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

04/22/23Computación - Fac. Ingeniería

- UNMDP 6

Problema 3:Problema 3: Queremos una computadora que tenga un

disco rígido con por lo menos 120 gigabaytes y que no valga mas de 2200 $.

Cómo lo averiguamos? Preguntemos usando una expresión lógica: Si el (HD> =120) AND (precio<=2200)entonces compro la computadora; sino, no la compro

Page 7: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

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

IntegerIntegerRealReal

CharCharBooleanBoolean

Del programadorDel programador

Decisión

EnumeradosEnumerados

SubrangosSubrangos

StringString

RepeticiónRepetición

Page 8: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

Sentencias de decisión (son dos)

IF-THEN-ELSE

CASE

Page 9: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

Precio < 20000 VERDADERA

Compro la moto

Continua el programa

Page 10: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

Precio<20000FALSA

No compro la moto

Continua el programa

Page 11: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

expresion logica verdadera

Ejecuta la sentencia1

Continua el programa

IF

Page 12: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

expresion logicafalsa

Ejecuta la sentencia2

Continua el programa

IF

Page 13: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

expresion logica verdaderafalsa

Ejecuta la sentencia1Ejecuta la sentencia2

Continua el programa

IF

Page 14: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

expresion logica THENELSE

Ejecuta la sentencia1Ejecuta la sentencia2

Continua el programa

IF

Page 15: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

04/22/23Computación - Fac. Ingeniería

- UNMDP 15

De aquí en mas se usará la palabra sentencia para indicar tanto una sentencia simple como compuesta ( o estructurada)

La sentencia IF especifica que sentencia1(que sigue a THEN) debe ejecutarse solo si una cierta condición (= expresión lógica) es verdadera.

Si es falsa, entonces se ejecuta sentencia2, que sigue al símbolo ELSE

Sentencia IF-THEN-Sentencia IF-THEN-ELSEELSE

Page 16: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

04/22/23Computación - Fac. Ingeniería

- UNMDP 16

Sentencia de decisiónSentencia de decisiónUna sentencia de decisión es una sentencia estructurada (o compuesta). Esto significa que esta sentencia contiene otras sentencias

Su función principal es decidir que sentencia/s se debe ejecutar siguiendo el resultado de una expresión.

Tener en cuenta que cada vez que se evalua la expresión logica, se ejecuta la sentencia que sigue a THEN o la sentencia que sigue a ELSE , pero NO AMBAS.

Page 17: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

04/22/23Computación - Fac. Ingeniería

- UNMDP 17

IF expresión lógica THEN sentencia1 ELSE sentencia2;

Sintaxis de la sentencia IF-Sintaxis de la sentencia IF-THEN-ELSETHEN-ELSE

Page 18: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

Program MotosMotos;Var precio:real; compro:boolean;Begin WRITE('Ingrese precio'); READLN(precio); IF precio<=20000 THEN compro:=true ELSE compro:=false;End.

Este punto y coma es obligatorio si a continuación hay otra sentencia; sino es asi, es opcional. Recordar que END no es sentencia

Este punto y coma es obligatorio si a continuación hay otra sentencia; sino es asi, es opcional. Recordar que END no es sentencia

Page 19: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

EJEMPLO: Se lee un par de coordenadas (x,y) de un punto del plano. Verificar si se encuentra en el interior o en el exterior de la circunferencia centrada en el origen y con radio 5. Escribir un cartel aclaratorio en cada caso.

EJEMPLO: Se lee un par de coordenadas (x,y) de un punto del plano. Verificar si se encuentra en el interior o en el exterior de la circunferencia centrada en el origen y con radio 5. Escribir un cartel aclaratorio en cada caso.Program circunferencia; Var x,y:real;Begin WRITE('Ingrese dos valores reales'); READLN(x,y); IF x*x+y*y<=25 THEN writeln('punto dentro de la circunfer.') ELSE writeln(‘punto fuera de la circunfer.’);End.

Page 20: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

EJEMPLO: Se lee un par de coordenadas (x,y) de un punto del plano.

Si el punto se encuentra en el interior de la circunferencia centrada en el origen y con radio 5 escribir el valor de x2+y2; en caso contrario aclararlo.

Escribir un cartel aclaratorio en los dos casos.

EJEMPLO: Se lee un par de coordenadas (x,y) de un punto del plano.

Si el punto se encuentra en el interior de la circunferencia centrada en el origen y con radio 5 escribir el valor de x2+y2; en caso contrario aclararlo.

Escribir un cartel aclaratorio en los dos casos.

Page 21: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

Program circunferencia; Var x,y,d:real;Begin WRITE('Ingrese dos valores reales'); READLN(x,y); d:=x*x+y*y; IF d<=25 THEN begin writeln('punto dentro circ.'); writeln(‘x*x+y*y=‘,d) end ELSE writeln(‘pto fuera de la circ.’)End.

Sentencia compuesta: debe encerrarse entre los parentesis begin y end. Significa que si la condición es verdadera debe ejecutarse dos sentencias

No se debe escribir punto y coma (;). Aquí no termina la sentencia IF-THEN-ELSE.

Se debe colocar ; para separar las dos sentencias

Page 22: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

04/22/23Computación - Fac. Ingeniería

- UNMDP 22

IF expresión lógica THEN sentencia;

Si solo nos interesa ejecutar una sentencia cuando la expresión booleana es verdadera, se usa una estructura IF simplificada. Esta sentencia simplificada solo posee la sentencia que sigue a THEN:

Sintaxis de la estructura IF-Sintaxis de la estructura IF-THENTHEN

Page 23: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

04/22/23Computación - Fac. Ingeniería

- UNMDP 23

Ejemplo de IF-THENEjemplo de IF-THEN

Dada una ecuación cuadrática, estimar e imprimir las raices complejas (solo parte de un programa). d:= b*b - 4*a*c ;

IF d < 0 THEN

begin

real:= -b/(2*a);

imag:= sqrt(abs(d))/(2*a);

writeln(‘x=‘,real,’+/-’,imag,’ i’)

end;

Page 24: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

ObservaciónObservación

Evitar el abuso de IF cuando se usa variables booleanas.

Veamoslo con un ejemplo: sea encontrado una variable booleana IF a=b THEN encontrado:= true ELSE encontrado:=false;

Mas simple y en forma equivalente tenemos: encontrado:= a=b;

Page 25: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

04/22/23Computación - Fac. Ingeniería

- UNMDP 25

Como ya vimos, sentencia1 y sentencia2 puede ser una sentencia simple o una estructurada. Por lo tanto la sentencia IF-THEN-ELSE puede ser otra estructura de decisión.

En este caso tendremos sentencias IF anidadas.

Sentencias condicionales Sentencias condicionales anidadasanidadas

Page 26: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

04/22/23Computación - Fac. Ingeniería

- UNMDP 26

IF expresion logica THEN

begin

sentencia/s (IF,asignacion,E/S)

end

ELSE

begin

sentencia/s (IF,asignacion,E/S)

END;

Page 27: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

Analizar si la suma de dos números cualesquiera es positiva o negativa. En caso de ser cero, indicar que estos son números opuestos.

Analizar si la suma de dos números cualesquiera es positiva o negativa. En caso de ser cero, indicar que estos son números opuestos.

Program anidamiento; Var a,b,suma:real;BEGIN READLN(a,b); suma:=a+b; IF suma>0 THEN writeln('suma positiva') ELSE IF suma<0 THEN writeln('suma Negativa') ELSE writeln('numeros Opuestos')END.

Page 28: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

En el ejemplo anterior hemos tenido 3 condiciones mutuamente excluyentes:

suma>0suma<0suma=0

Cada una de ellas desata acciones distintas. En estos casos el anidamiento de IF bien desarrollado evita preguntas superfluas (por ejemplo preguntar suma=0 porque la única opción que tenemos en el segundo ELSE es ese caso)

Observación 1Observación 1

Page 29: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

OBSERVACION 2OBSERVACION 2

A fin de evitar la ambigüedad sintáctica que surge de la construcción:

IF exp_booleana1 THEN IF exp_booleana2 THEN sentencia1 ELSE sentencia2;

Conviene usar la indentación y si desea puede poner los parentesis BEGIN/END a fin de incrementar la legibilidad y evitar la ambigüedad. Nos queda la construcción equivalente:IF exp_booleana1 THEN BEGIN IF exp_booleana2 THEN sentencia1 ELSE sentencia2 END;

Page 30: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

Podemos aumentar la legibilidad de un programa usando apropiadamente las expresiones booleanas.

OBSERVACION 3: el buen uso de OBSERVACION 3: el buen uso de las expresiones booleanaslas expresiones booleanas

Ejemplo:imprimir el mínimo de tres números a,b,c (solo un caso):

Podemos usar dos IF anidados IF a<b THEN IF a<c THEN writeln(a);

O bien definir una expresión booleana mas compleja y usar UN solo IF: IF (a<b) and (a<c) THEN writeln(a);

Page 31: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

04/22/23Computación - Fac. Ingeniería

- UNMDP 31

SENTENCIA CASE: estructura SENTENCIA CASE: estructura de decisión múltiplede decisión múltiple

Cuando tenemos varias sentencias mutuamente excluyentes (mas de dos), con probabilidad de selección pareja, usamos CASE (con algunas restricciones).

Page 32: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

04/22/23Computación - Fac. Ingeniería

- UNMDP 32

EjemploEjemplo

Un cobrador de peaje tiene el siguiente cuadro de categorías y lo que debe cobrar:

Categoría Vehículo Tarifa 1 y 2 Bici y motos Gratis 3 Autos 2.50 4 Autos con trailer 5 5 Camiones 10

Page 33: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

04/22/23Computación - Fac. Ingeniería

- UNMDP 33

PROGRAM peaje; TYPE Tipo=1..5;{tipo de dato enumerado} VAR Cate:tipo; Tarifa:real; error:boolean;

Programa PASCAL usando IF anidadosPrograma PASCAL usando IF anidados

Page 34: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

BEGINerror:=false;READLN(cate); IF (cate=1)or(cate=2)THEN tarifa:=0 ELSE IF cate=3 THEN tarifa:=2.5 ELSE IF cate=4 THEN Tarifa:=5 ELSE IF cate=5 THEN Tarifa:=10

ELSE error:=true;

IF error THEN WRITELN(‘Nro. Equivocado’) ELSE WRITELN(‘La TARIFA es =’,tarifa)END.

Page 35: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

04/22/23Computación - Fac. Ingeniería

- UNMDP 35

Selección múltiple: CASE

La sentencia CASE permite seleccionar una de entre varias sentencias según un selector.

El selector es una expresión ordinal. No puede ser del tipo real.

Page 36: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

04/22/23Computación - Fac. Ingeniería

- UNMDP 36

CASE selector OF Lista de ctes.1 : sentencia 1; Lista de ctes.2 : sentencia 2; ...................... Lista de ctes.n : sentencia n;

ELSE sentencia m END;

Sintaxis de CASE

Page 37: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

04/22/23Computación - Fac. Ingeniería

- UNMDP 37

PROGRAM peaje; TYPE Tipo=1..5; VAR Cate:tipo; Tarifa:real; error:boolean;BEGIN READLN(cate); error:=false; CASE cate OF 1,2 :tarifa:=0; 3 :tarifa:=2.5; 4 :tarifa:=5; 5 :tarifa:=10; ELSE error:=true END;IF error THEN WRITELN(‘Nro. Equivocado’) ELSE WRITELN(‘La tarifa es =’,tarifa)END.

Los IF anidados pueden ser llevados a la sentencia CASE equivalente:

Los IF anidados pueden ser llevados a la sentencia CASE equivalente:

Page 38: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

04/22/23Computación - Fac. Ingeniería

- UNMDP 38

CASE selecciona como siguiente sentencia a ejecutarse aquella cuya etiqueta (las ctes.) es igual al valor actual del selector

Si el valor actual de selector (que es una expresión) no encuentra un valor igual en alguna de las listas de constantes ejecuta la sentencia que sigue a ELSE.

ELSE es opcional

El tipo de dato de la expresion selector debe ser ordinal (se excluye el tipo real y string)

Cada constante debe ser única dentro de cada CASE.

No usar intervalos de la forma 0.5<x<2.5 como etiqueta (de la lista de constantes)

CASE selecciona como siguiente sentencia a ejecutarse aquella cuya etiqueta (las ctes.) es igual al valor actual del selector

Si el valor actual de selector (que es una expresión) no encuentra un valor igual en alguna de las listas de constantes ejecuta la sentencia que sigue a ELSE.

ELSE es opcional

El tipo de dato de la expresion selector debe ser ordinal (se excluye el tipo real y string)

Cada constante debe ser única dentro de cada CASE.

No usar intervalos de la forma 0.5<x<2.5 como etiqueta (de la lista de constantes)

OBSERVACIONES:

Page 39: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

04/22/23Computación - Fac. Ingeniería

- UNMDP 39

Sintaxis de CASE: tipos de selector y etiquetas constantes

Sintaxis de CASE: tipos de selector y etiquetas constantes

CASE selector OF ´a´..´z´ :sentencia1; ´A´..´J´ :sentencia 2; ´Z´ :sentencia 3; ´4´ :sentencia 4; ´1´,´2´,´3´ :sentencia 5; ELSE sentencia 6 END;

Tipo char

Page 40: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

04/22/23Computación - Fac. Ingeniería

- UNMDP 40

Sintaxis de CASE: tipos de selector y etiquetas constantes

Sintaxis de CASE: tipos de selector y etiquetas constantes

CASE selector OF 4,5,6 :sentencia1; 1 :sentencia 2; 10..30 :sentencia 3; ELSE sentencia 4

END;

Tipo integer

Page 41: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

04/22/23Computación - Fac. Ingeniería

- UNMDP 41

EjemploEjemplo

50<= cilindrada < 300 la moto es poco potente

300 <= cilindrada < 700 la moto es potente

700 <= cilindrada <1500 la moto es muy potente

Page 42: COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA 220 7800.50 $ 2 SUZUKI.

04/22/23Computación - Fac. Ingeniería

- UNMDP 42

PROGRAM motos; VAR Categoria:string[15]; cilindrada:integer; error:boolean;BEGIN READLN(cilindrada); error:=false; CASE cilindrada OF 50..299 :categoria:=‘poco potente’; 300..699 :categoria:=‘potente’; 700..1500 :categoria:=‘muy potente’; ELSE error:=true END;IF error THEN WRITELN(‘valor equivocado’) ELSE WRITELN(‘La categoria es =’, categoria)END.