46
COMPUTACION 2009 Clase 2

COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

Embed Size (px)

Citation preview

Page 1: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

COMPUTACION2009

Clase 2

Page 2: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 2

Temas de la clase 2

El paradigma de la programación estructurada Resolución de un problema usando

un programa Pascal Datos string, enumerados y

subrango Expresiones

Page 3: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 3

Programación estructurada

La programación estructurada es un paradigma de programación (cuerpo teórico que sustenta un estilo de programación) donde se enfatiza el orden y agrupamiento de operaciones a realizar.

Sus componentes son:

Estructuras básicas de control

Recursos abstractos

Razonamiento top-down

Page 4: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 4

Estructuras básicas de control

Secuencia: conjunto ordenado de instrucciones

Decisión

Repetición

Page 5: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 5

Recursos abstractos

Consisten en concebir una acción compleja, no en términos de instrucciones de computadora, sino en términos de entidades naturales al mismo problema deducidas en una forma adecuada.

Page 6: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 6

Razonamiento top-down (deducción de arriba hacia abajo

Consisten en concebir una acción compleja, no en términos de instrucciones de computadora, sino en términos de entidades naturales al mismo problema deducidas en una forma adecuada.

El razonamiento top-down acompaña a los recursos abstractos usados

Page 7: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 7

Recurso abstracto vs. razonamiento top-down

Problema (enunciado Problema (enunciado general)general)

1er paso de su solución1er paso de su solución

2do paso de su solución2do paso de su solución

Solución finalSolución final

Problema (acción no primitiva)Problema (acción no primitiva)

1er división en acciones no 1er división en acciones no primitivasprimitivas

2da división en acciones no 2da división en acciones no primitivas y primitivasprimitivas y primitivas

3er división en acciones primitivas 3er división en acciones primitivas (algoritmo)(algoritmo)

Page 8: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 8

Ejemplo

Calcular el seno usando un polinomio de Taylor

Acciones primitivas del procesador: ingresar datos, escribir datos, sumar, restar, multiplicar y dividir

!7!5!3)()(

753

7

xxxxxpxseno

Page 9: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

ALGORITMO SENO1

• 1.  Leer x

• 2.  Calcular p7(x)

• 3.  Escribir el resultado

Acción no primitiva

ALGORITMO SENO2

  1.  Leer x

2.1 Calcular los términos de la serie

2.2 Sumar algebraicamente los términos de la serie

3. Escribir el resultado

Acciones no primitivas derivadas

Page 10: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

ALGORITMO SENO3

   1.   Leer x

2.1.1 a x3/3!

2.1.2 bx5/5!

2.1.3 c x7/7!

2.2 sen x - a + b-c

3 Escribir sen

Acciones no primitivas derivadas

Page 11: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

ALGORITMO SENO4

1. Leer x

2.1.1.1 pot1 x*x*x

2.1.1.2 fact1 3*2

2.1.1.3 a pot1/fact1

2.1.2.1 pot2 x*x*pot1

2.1.2.2    fact2 5*4*fact1

2.1.2.3    bpot2/fact2

2.1.3.1    pot3 x*x*pot2

2.1.3.2    fact3 7*6*fact2

2.1.3.3    cpot3/fact3

2.2 sen x - a + b-c

3 Escribir sen

Las acciones encontradas son primitivas.

Puede facilmente llevarse a un programa Pascal

Page 12: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

ALGORITMO SENO4

1. Leer x

2.1.1.1 pot1 x*x*x

2.1.1.2 fact1 3*2

2.1.1.3 a pot1/fact1

2.1.2.1 pot2 x*x*pot1

2.1.2.2    fact2 5*4*fact1

2.1.2.3    bpot2/fact2

2.1.3.1    pot3 x*x*pot2

2.1.3.2    fact3 7*6*fact2

2.1.3.3    cpot3/fact3

2.2 sen x - a + b-c

3 Escribir sen

Las acciones encontradas son primitivas.

Puede facilmente llevarse a un programa Pascal

Page 13: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 13

Cómo resolver un problema con un sistema informático? (I)

DEFINICION del problema (enunciado con especificaciones)

ANALISIS Y DISEÑO de un método estructurado de solución: ALGORITMO

CODIFICACION del algoritmo en un lenguaje de programación de alto nivel (como resultado se obtiene el PROGRAMA FUENTE). Ejemplo.pas

Page 14: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 14

Cómo resolver un problema con un sistema informático? (II)

COMPILACION del programa fuente (como resultado se obtiene PROGRAMA OBJETO).

EJECUCION a partir del programa objeto linkeditado se obtiene un archivo ejecutable (Ejemplo.exe). Ejecución + datos se obtienen los resultados.

Page 15: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 15

Cómo resolver un problema con un sistema informático? (III)

DEPURACION Eliminación y corrección de errores (debugger)

DOCUMENTACION Interna: comentarios en el programa fuente.

Externa: diagramas con el analisis de diseño, manuales, etc.

Page 16: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 16

Edición del programa fuente

Almacenamiento de la edición

Compilación del programa fuente. Se encontrarán errores SINTÁCTICOS.

Ejecución del programa. Se encontrarán errores SEMÁNTICOS

Visualización de los resultados

Depuración y modificación.

Ciclo de desarrollo de un PROGRAMA PASCAL

Page 17: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 17

ERRORES en ProgramaciónERRORES en Programación

Los errores sintácticos son los que se cometen cuando no se siguen exactamente las reglas de escritura de un lenguaje de programación.

(SINTAXIS: define como se combinan los símbolos, constantes, identificadores y palabras reservadas)

Los errores semánticos son los que se cometen cuando los resultados obtenidos no son los esperados como solución al problema planteado.

Page 18: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 18

PROGRAM Identificador(USES Identificador)

LABEL Declaración de etiquetas

CONST Definición de constantes

TYPE Declaración de tipos

VAR Declaración de variables

PROCEDURE Declaración de procedimientos

FUNCTION Declaración de funcionesBEGIN Sentencias ejecutablesEND.

Vamos a Vamos a estudiar la estudiar la sección de sección de declaración declaración de tipos de de tipos de datosdatos

Page 19: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 19

Para que PASCAL incorpore un nuevo tipo de datos le debemos dar un nombrenombre en una declaración de tipo.

La declaración del nuevo tipo debe hacerse en la sección TYPE.

Notar que esta declaración es distintadistinta a la declaración de variables.

Una vez que se declaró el nuevo tipo de dato, se deben declarar las variablesvariables que pertenezcan a esos tipos en la sección VAR

Uso de la sección TYPE: d de la sección TYPE: datos atos creados por el programadorcreados por el programador

Page 20: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 20

Tipo de dato creado por el programador: cadena o string

El tipo string string (palabra reservada) está formado por toda secuencia finita de caracteres (hasta 255) encerrada entre apóstrofos

Estas secuencias de caracteres se llaman cadenas (o string) constantes.

Ejemplos de constantes string:

‘Hoy es miercoles 18 de marzo del 2009’

‘KAWASAKI’

Page 21: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 21

Type Identificador de tipo = string[n];

{n indica la cantidad de caracteres de la cadena }

Declaración del tDeclaración del tipo cadena o ipo cadena o stringstring: sintaxis: sintaxis

Page 22: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 22

Program ejemplo1_string; TYPE

Marca_motos=string[10];{Hasta 10 caracteres}Facultades=string[25];{Hasta 25 caracteres}VARMi_moto:Marca_motos;Fac:Facultades;

BEGIN Mi_moto:= ‘SUSUKI’; Readln(Fac);END.

TTipo cadena o stringipo cadena o string: : ejemplo1ejemplo1 Declaración del tipo de

datos en TYPE

Declaración de variables usando el tipo declarado en TYPE

Page 23: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 23

Program ejemplo1_string; TYPE Nombre=string[25]; VAR apellido:Nombre; Linea:string;BEGIN apellido:= ‘Garcia Martinez’; Linea:=‘Este es un ejemplo de string. Puede contener hasta 255 caracteres’;END.

Observación: El tipo string (sin corchetes) indica una cadena de hasta 255 caracteres. Y Pascal lo tiene predefinido

TTipo cadena o stringipo cadena o string: : ejemplo2ejemplo2

Page 24: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 24

El tipo enumerado define un conjunto de valores definidos y ordenados por el programador(i.e. definidos por enumeraciónenumeración). Estos valores serán tomados por las variables de ese tipo

Datos enumerados

Sintaxis:

type Identificador de tipo=(const1,const2, ......,constn);

Page 25: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 25

Program ejemplo_enumerado;TYPE dias_semana=(lunes,martes,miercoles,jueves, viernes,sabado,domingo); facultades=(ingenieria,exactas,arquitectura, economicas);VAR dias:dias_semana; fac1,fac2:facultades;BEGIN fac1:=ingenieria; dias:=lunes;END.

Datos enumerados: ejemplo

La variable La variable dias solo solo puede tomar como valor puede tomar como valor lunes,martes,miercoles,jueves,viernes,sabado, domingo

Page 26: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 26

Datos Datos enumeradosenumerados: : observaciónobservación

Los identificadores de los valores no deben repetirse. El siguiente ejemplo es ilegal:

Typedias_semana=(lunes,martes,miercoles,jueves, viernes,sabado,domingo);

fin_semana=(sabado,domingo);

sabado, domingo son valores ambigüos.

Page 27: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 27

TYPE dias_semana=(lunes,martes,miercoles,jueves,viernes,sabado, domingo);facultades=(ingenieria,exactas, arquitectura, economicas);

VARsem1:dias_semana;f1,f2: facultades;Altura:real;

BEGINsem1:=ingenieria;{error, tipo mezclado}f2:=jueves; {error, tipo mezclado}Altura:=martes; {error, tipo mezclado}READLN(sem1); {error,No se puede leer}

Ejemplo Ejemplo del uso incorrecto de tiposdel uso incorrecto de tipos::

OBSERVACION: los datos de tipo

enumerado no pueden ser leidos

o escritos.

OBSERVACION: los datos de tipo

enumerado no pueden ser leidos

o escritos.

Page 28: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 28

Datos subrango

El tipo de dato SUBRANGO es un subconjunto de un tipo asociado (que comprenden a los tipos agrupados como escalares: INTEGER, Enumerado, CHAR)

Un tipo de dato puede definirse como un subintervalo de algún otro tipo escalar previamente definido, al que se llama su tipo escalar asociado.

Page 29: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 29

Datos Datos subrango

La definición de un tipo por subrango indica simplemente el valor menor y mayor en el subrango, teniendo en cuenta que la cota inferior no puede ser mayor que la cota superior.

No se permiten subrangos del tipo real.

Page 30: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 30

Datos subrango

Sintaxis:

TYPE Identificador de tipo=constante1..constante2;

Semánticamente, un tipo por subrango es una sustitución apropiada del tipo escalar asociado en todas las definiciones.

Estas constantes deben ser distintas y del mismo tipo

Page 31: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 31

TYPEMotos=(HONDA, SUSUKI, KAWASAKI, HARLEY_DAVIDSON);Motos_japonesas=HONDA..KAWASAKI;

dias_semana=(lunes,martes,miercoles,jueves,viernes, sabado, domingo);Dias_laborables=lunes..viernes; {subrango de dias_semana}

Siglo_XX=1901..2000;{subrango de integer}Minusculas='a'..'z'; {subrango de char}

VARD1,D2,D3:Dias_laborables;letra:Minusculas;

Ejemplo

Page 32: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 32

Datos escalares u ordinalesDatos escalares u ordinales

No es un tipo de dato.

Se clasifican como datos escalares a aquellos tipos de datos cuyos valores posee un orden determinado (predefinidos o definidos por el programador)

1. Todos los enteros2. Tipo char3. Tipo boolean4. Tipo enumerado5. Tipo subrango (de un tipo escalar 1, 2, o 4)

Page 33: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 33

Extendiendo el poder de constantes y variables: EXPRESIONES

La combinación de valores constantes y variables unidos mediante operadores generan expresiones

Amplían la manipulación de datos por parte del programador

La característica fundamental de una expresión es la obtención de un valor luego de su cálculo.

Page 34: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

Formato de las expresiones

operando operador operando

Expresión binaria

Expresión unaria

operador operandoEjemplo: - A

Ejemplo: A + B

Page 35: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

TIPOS DE EXPRESIONES

ARITMETICAS

RELACIONALES

LOGICAS

CARACTER

Recordar su uso en la asignación(para variable y expresión numérica):

A:=34.6*5/(D+25);

Page 36: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 36

Operandos de expresiones aritméticas

* multiplica div divide y trunca {solo para enteros} mod a mod b=a-[(a div b)*b] {solo para

enteros} + suma - resta / division (ambos operandos pueden ser

enteros, pero el resultado es siempre real)

Page 37: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 37

Ejemplos de expresiones aritméticasEjemplos de expresiones aritméticas

7 div 2

12/6.2

(7 div 2)+(12/6.2)

(7 div 2)+(12/6.2) - A*2.1

beta * alfa / 16.87654

El resultado de todas las

expresiones es un único

valor.

Page 38: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 38

Expresiones relacionales

Las expresiones relacionales se usan para comparar expresiones, obteniéndose como resultado un valor booleano (true o false).

Los operadores relacionales sirven para comparar dos valores por mayor, menor, igual , mayor o igual, menor o igual, o distinto.

Page 39: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

Operadores relacionalesOperadores relacionales

= igual <> distinto > mayor < menor <= menor o igual >= mayor o igual

4.5>22.3 resultará siempre false2.2=2.2 resultará siempre trueA<=2.3 el resultado depende del valor de A(w+7.8)=(a/b-9) el resultado depende de los valores de w,a y b.

Page 40: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 40

Expresiones lógicas

Las expresiones relacionales (con resultados booleanos, i.e., true o false) pueden combinarse mediante los operadores lógicos and(conjunción), or (disyunción) y not(negación).

Esta combinación origina las expresiones lógicas (o expresiones booleanas).

Page 41: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 41

Expresiones lógicas

Estas expresiones amplían las posibilidades para modelar predicados (o condiciones).

Estos predicados serán evaluados para fijar el control de flujo de ejecución del programa.

La importancia de las expresiones lógicas se verá con las sentencias ejecutables IF, WHILE y REPEAT.

Page 42: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 42

Para evaluar las expresiones lógicas se usan las tablas de verdad. Si p y q son operandos lógicos (= expresiones relacionales) tenemos las siguientes tablas de verdad:

p q p and q p or q not ptrue true true true falsetrue false false true false false true false true truefalse false false false true

Expresiones lógicas: tablas de verdad

Page 43: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 43

VARa,b,z1,z2,z3,z4,sigue:boolean;Altura,peso,zz,c:real;

{Ejemplos de expresiones logicas en asignaciones}sigue:=true;Z2:=a or b;Z3:=(peso>2) and Z2;Z1:=not sigue;Z4:=(Altura>=2)or((peso+2=c)and(zz/(5*c)>0));

Observación : Una constante y una variable se consideran expresiones (las mas elementales)

Observación : Una constante y una variable se consideran expresiones (las mas elementales)

Expresiones lógicas: ejemplos

Page 44: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 44

Cuando armamos expresiones debemos tener en cuenta las siguientes reglas de precedencia a fin de colocar correctamente los paréntesis:

Operador Prioridad Not 1 (la mas alta, se evalúa primero)*,/,div,mod,and 2+,-,or 3<,<=,=,<>,>=,< 4 (la mas baja, se evalúa al final)

Expresiones lógicas: reglas de precedencia

Page 45: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 45

Operador Prioridad Not 1 (la mas alta, se evalúa primero)*,/,div,mod,and 2+,-,or 3<,<=,=,<>,>=,< 4 (la mas baja, se evalúa al final)

Expresiones lógicas: reglas de precedencia

(Altura>=2) or peso+2=c and not(zz/5*c >0)Se evalúa primero. No hay error porque el operando es una expresión relacional

Cuando se evalúa and. Su operando derecho es correcto, pero el izquierdo es un valor real ( c ) tendremos error!

Page 46: COMPUTACION 2009 C lase 2 4/17/2015 Computación - Fac. Ingeniería - UNMDP2 Temas de la clase 2 è El paradigma de la programación estructurada è Resolución

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

- UNMDP 46

Expresiones caracter o cadenas

El operador usado es "+" y sirve para concatenar (unir) caracteres y/o cadenas de caracteres.Ejemplo:

'o'+'s'+'o' quedará 'oso'

'oso'+' '+'blanco' quedará 'oso blanco'