0% encontró este documento útil (0 votos)
25 vistas8 páginas

Estructuras de Control en Pascal

tema3

Cargado por

Luis Huitra
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
25 vistas8 páginas

Estructuras de Control en Pascal

tema3

Cargado por

Luis Huitra
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Pensemos que hasta ahora veniamos escribiendo programas donde las

sentencias de código se ejecutan de manera secuencial en el orden en


el que aparecen. ¿Qué sucede si tenemos opciones para ejecutar
ciertas sentencias en el código de acuerdo a una determinada
condición?

Un ejemplo podría ser cuando llegamos un restaurant, hay una lista de


descuentos para alumnos del 30% sobre el precio final.

Ingresar Categoria
si Categoria = 'Estudiante' condición
entonces condición se cumple
total = subtotal * 0.7
sino condición no se cumple
total = subtotal
fin-si

Necesitamos preguntarnos ¿Es la categoría ingresada estudiante?,


en Pascal esto se realiza evaluando una expresión lógica.
Una condición implica comparar dos valores y utilizar un operador
de relación (Categoria='Estudiante'). La realización de sentencias
alternativas es en base a evaluar condiciones que son verdaderas o
falsas. Estas condiciones se llaman expresiones lógicas o
booleanas.

Algunas expresiones lógicas


edad >= 18 Si edad es 10 años, la expresión lógica es falsa.
contador < 10 Si contador es 8, la expresión lógica es verdadera.
respuesta = 'SI' Si respuesta es NO, la expresión lógica es falsa.
Operadores de relación

Se usan para expresar


condiciones y define una
relación entre dos valores.

Ejemplos
expresión valor
10=11 false
456>=89 true
- 0.002<0.001 true

Además se pueden comparar dos elementos de tipo


carácter. Se sigue el orden del código ASCII

Ejemplos

expresión valor
'0'<'4' true
'A'>='B' false
'C' = 'c' false
¿Qué pasa si combinamos expresiones lógicas en nuevas expresiones?,
para ello podemos utilizar los operadores lógicos and, or y not.

Tablas de verdad de operadores lógicos

Operador and A: Operando 1


B: Operando 2

Prioridad Operación
Operador or Alta not
and
Baja or

Operador not expresión valor


not( '0'<'4' ) false
( 'A'>='B' ) and ( 'C' = 'c' ) false

Prioridad completa de operadores Si existen paréntesis,


las expresiones que
Prioridad Operación
encierran se evaluan
Alta not primero
* , / , div, mod, and
+ , - , or
Baja < , <= , = , <> , >= , >
Evaluemos el siguiente código, ¿Qué valor tienen t y v?

La sentencia IF

Las expresiones lógicas pueden tomar dos valores true o false,


entonces necesitamos una estructura de control que permita ejecutar
una sentencia A si la expresión es verdadera y otra que permita
ejecutar una sentencia B si es falsa. En Pascal utilizamos para ello la
estructura o sentencia de control if-then-else
¿Cómo funciona la sentencia if?
if expresión lógica then Se evalua la expresión lógica,
Si la expresión es true ejecuta la sentencia A y el
sentencia A control pasa a la sentencia inmediatamente
else después de if-then-else (no se ejecuta la sentencia B).
sentencia B Si la expresión es false, ejecuta la sentencia B y pasa el
control a la siguiente sentencia del programa.

Veamos un ejemplo....

Evaluar x que representa la edad de una persona, si es mayor o igual a 10


entonces mostrar el mensaje Mayor de 10 años, caso contrario mostrar
Menor de 10 años
if x>=10 then
('Mayor de 10 años')
else
('Menor de 10 años')
¿Cómo lo implementamos en Delphi?

Necesitamos que el usuario del programa ingrese una edad, luego evaluamos esa
edad y mostramos en mensaje correspondiente.

No se coloca ;
en la sentencia anterior
al else

Omisión de la cláusula else

Existen casos donde una sentencia se ejecuta si


if expresión lógica then la expresión lógica es verdadera. En caso de que
sentencia sea falsa, no se ejecuta ninguna sentencia. En
este caso, se omite la cláusula else.
Sentencias compuestas

Existen casos, que cuando se cumple una condición en lugar


de realizar una acción es necesario llevar a cabo un conjunto
de ellas. Esto se realiza a través de sentencias compuestas.

begin
sentencia 1; Las sentencias tienen que
sentencia 2; estar separadas por punto y
coma y encerradas entre las
sentencia n palabras reservadas begin y
end end

Sentencias
Compuestas

Sentencia IF anidadas

if expresión lógica then


sentencia A
else
if expresión lógica then
sentencia B
else
sentencia C.....
La sentencia CASE

Esta sentencia se usa cuando necesito elegir entre varias


alternativas. Una sentencia CASE se compone de varias
sentencias simples. Cuando la sentencia se ejecuta una y
sólo una de las sentencias simples se ejecuta.
La expresión selector se evalua
y se compara con las listas de
Las listas de constantes
constantes.
son listas de uno o más
posibles valores de
case selector of selector.
lista constantes 1: sentencia 1;
lista constantes 2: sentencia 2; Solo se ejecuta una
sentencia, que puede
ser simple o
lista constantes n: sentencia n compuesta.
else
sentencia x; Las cláusula else es
end; opcional.

El selector debe ser un tipo


ordinal (integer, char,
boolean o enumerado)
Ejemplo uso de la estructura CASE

Ejemplo que permite realizar la suma, resta, multiplicación y división real


de dos números enteros. La operación a realizar es ingresada por el
usuario como +, -, * y /

También podría gustarte