COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida.

Slides:



Advertisements
Presentaciones similares
Programación de Computadores
Advertisements

Sesión 3 Estructuras Repetitivas
Estructuras Repetitivas para
Programación Básica con NQC Pedro F. Toledo – Patricio Castillo 18/08/2006.
VBA – Iteración Indefinida
Estructuras de Repetición Algoritmos
Iteración La iteración permite modelar problemas en los cuales una secuencia de instrucciones debe ejecutarse varias veces. La cantidad de iteraciones.
Elementos de Pascal Escribir un programa en Pascal que lea los valores de los catetos de un triángulo rectángulo y calcule y muestre la hipotenusa. program.
Algoritmos & Estructuras de Datos
Fundamentos de Programación
CICLOS EN C – PARTE 2.
Seminario de Actualización - Excel Avanzado y Macros
Estructuras de Control
INFORMÁTICA PROGRAMACIÓN.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Estructuras de Control
Curso de Programación I Parte III
Estructuras de control
Estructuras de Repetición
INTRODUCCIÓN A LA COMPUTACIÓN 14va Semana – 24va Sesión Miércoles 01 de Junio del 2005 Juan José Montero Román
PARADIGMA Es un esquema de pensamiento que nos lleva a concebir las cosas de una manera determinada. el término paradigma puede indicar el concepto de esquema.
PSEUDOCÓDIGO. DISEÑO ESTRUCTURADO USANDO HERRAMIENTAS DE REPRESENTACIÓN DE ALGORITMOS.
Fundamentos de Programación

Son aquellas que van a ejecutar un número determinado de veces una instrucción o un conjunto de ellas. Un BUCLE O CICLO son las instrucciones a repetirse.
ESTRUCTURAS REPETITIVAS CICLOS O BUCLES EL MIENTRAS Y EL PARA
Estructuras de Control de Repetición
Programación de Computadores
Sesión 6 Sentencias de Repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Estructuras de Iteracion (Repetitivas ) while , for,, do-while
FUNDAMENTOS DE PROGRAMACIÓN
COMPUTACION 2009 Clase 2.
ESTRUCTURAS DO-WHILE Y FOR.
Capítulo 1 “Elementos de Programación”
Conversión cadena a número
Resolución de Problemas y Algoritmos Uso de iteración con secuencias
Programación en Pascal
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
COMPUTACION 2009 C lase 3 4/26/2015 Computación - Fac. Ingeniería - UNMDP2 Marca Cilindrada Precio Stock HONDA dax 5000 $ 7 HONDA $ 2 SUZUKI.
Scis.regis.edu ● CS-361: Estructuras de Control Semana Cinco Dr. Jesús Borrego Lead Faculty, COS Regis University 1.
Ciclos (Loops, Repeticiones) Permiten ejecutar una secuencia de sentencias mas de una vez. Hay 2 tipos de loops:  WHILE repite la acción un número indefinido.
Teoría – Alejandro Gonzalez
Estructura de Control Repeticiones(Loops) Ejercicios
ESTRUCTURAS REPETITIVAS

Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 18/08/2006.
Definir un vector Forma general Variable=[tipo]*tamaño Tipo: es el valor inicial con el cual quedarán llenas todas las posiciones creadas del vector. Tamaño:
Tema 6: Estructuras de Control
Estructuras de Repetición (Hacer-Mientras)
Tema ‧ Comando - while Repeticiones. Comando while ‧ Un ciclo es cualquier construcción de programa que repite una sentencia ó secuencia de sentencias.
Departamento de Informática Universidad Técnica Federico Santa María Ejercicios Certamen 1: Programación de Computadores (IWI-131) Luis Pizarro Q.
Estructuras de Repetición (Hacer-Mientras)
COMPUTO III Ing. Jimmy Ojeda Arnica.
Sesión 13: Python (4) – Estructura Repetición. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática.
Se pueden incluir comentarios en cualquier parte de un programa pero deben delimitarse con llaves o con paréntesis y asterisco:
ESTRUCTURAS REPETITIVAS
Estructuras de Decisión
Programación de Computadores
2011/1 - CLASE 12. AGENDA 1 Introducción 2 Sentencia while 3 Sentencia for 14 Sentencia do-while 5 Instrucciones Especiales 6 Ciclos anidados.
CICLOS EN C – PARTE 3.
Las funciones son librerías ya estandarizadas que permiten al usuario realizar sus respectivas programaciones. Una función es un conjunto de líneas de.
ESTRUCTURA DE CONTROL REPETITIVAS: WHILE, DO… WHILE
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
Page 1 Ciclo de Estructuras de Repetición Carlos Bautista García Unidad VI PROG 2270L.
Ciclos en Visual Basic Yaimira Pérez. Los ciclos son estructuras de repetición que ejecutan una o varias instrucciones durante la cantidad de veces que.
Tipos de ciclos en Visual Basic. Dinámicos y fijos. 6.1 Foro. Wuilson Valencia, Desarrollo de aplicaciones I y Laboratorio. 1.
CICLOS ESTRUCTURA DE REPETICIÓN PROG 2270LGUILLERMO SOLLA.
Ciclos condicionales y exactos Estructura de control de ciclos
Estructuras Repetitivas Consideraciones. Estructuras Repetitivas  Son aquellas que van a ejecutar un número determinado de veces una instrucción o un.
Transcripción de la presentación:

COMPUTACION 2009 C lase 4

Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida Aritméticas Lógica Relacionales Caracter Estandar Integer Real Char Boolean Del programador Decisión Enumerados Subrangos String Repetición

4/25/2015 Computación - Fac. Ingeniería - UNMDP3 Marca Cilindrada Precio Stock HONDA $ 7 HONDA $ 2 SUZUKI $ 3 HARLEY_D $ 0 KAWASAKI $ 3 Marca Cilindrada Precio Stock HONDA $ 7 HONDA $ 2 SUZUKI $ 3 HARLEY_D $ 0 KAWASAKI $ 3

4/25/2015 Computación - Fac. Ingeniería - UNMDP4 Problema 1:  Queremos conocer marca y precio de todas las motos que valga menos de $  Cómo lo averiguamos?  Por cada moto, preguntamos usando la siguiente decisión: Si el precio< entonces imprimir marca y precio;

Conocer datos de todas las motos que valgan menos de $ 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

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 $ 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)

Có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;

Có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;

Código para leer y sumar tres valores numéricos SUMA:=0; Read(A); SUMA:=SUMA+A; REPETIR 3 VECES FIN REPETIR

4/25/2015 Computación - Fac. Ingeniería - UNMDP11 ejecutarse en forma repetitiva  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 lógica sea verdadera (o falsa) según el caso.  Estas sentencias se conocen como CICLOS Sentencias ejecutables de repetición

4/25/2015 Computación - Fac. Ingeniería - UNMDP12 Sentencias ejecutables de REPETICION WHILE REPEAT FOR

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

4/25/2015 Computación - Fac. Ingeniería - UNMDP14 Sentencias ejecutables de REPETICION WHILE REPEAT FOR

WHILE EXPRESION LOGICA Ejecutar SENTENCIA TRUE Estructura de Control: WHILE-DO La sentencia se ejecutó una vez DO

WHILE EXPRESION LOGICA Ejecutar SENTENCIA TRUE Estructura de Control: WHILE-DO La sentencia se ejecutó dos veces DO

WHILE EXPRESION LOGICA SIGUE EL PROGRAMA FALSE Estructura de Control: WHILE-DO La sentencia no se ejecuta

4/25/2015 Computación - Fac. Ingeniería - UNMDP18 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.

Sintaxis de WHILE-DO WHILE expresión lógica DO Sentencia; WHILE expresión lógica DO begin Sentencia 1 ; Sentencia 2 ; ; Sentencia n end;

Moto:=1; While moto<= 5 do begin readln(marca, precio); if precio< then writeln(marca,precio); moto:=moto+1 end; Moto:=1; While moto<= 5 do begin readln(marca, precio); if precio< then writeln(marca,precio); moto:=moto+1 end;

4/25/2015 Computación - Fac. Ingeniería - UNMDP21  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:

CICLOS TIPICOS Ciclo controlado por contador Ciclo controlado por centinela Ciclo contador Ciclo sumador

4/25/2015 Computación - Fac. Ingeniería - UNMDP23 El ciclo consta de tres partes: Inicialización Evaluación Incremento 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.

4/25/2015 Computación - Fac. Ingeniería - UNMDP24 I:=1; {Inicialización } WHILE I<5 DO {Evaluación} Begin I:=I+1 {Incremento} End; Esquema del ciclo controlado por contador Variable de control

Ejemplo: leer tres números enteros enteros program itera; VAR I,A:integer; begin I:=1; WHILE I<=3 do begin READLN(A); I:=I+1; end end. I I<=3 A 1 true true true false Recordar que cada vez que A e I toma un nuevo valor, pierden el anterior Lote de prueba: -234,1345,20987

Ejemplo: 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; end end. Lote de prueba: 5, -1,3,6,-234,4

4/25/2015 Computación - Fac. Ingeniería - UNMDP27  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 CENTINELA

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.

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 Lote de prueba:10,30,1234,-98,23,33,0

4/25/2015 Computación - Fac. Ingeniería - UNMDP30  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 CONTADOR

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

4/25/2015 Computación - Fac. Ingeniería - UNMDP32  Un ciclo sumador suma un grupo de datos numéricos Ejemplo: Sumar 4 números enteros. Escribir el resultado de la suma Ciclo SUMADOR (o acumulador)

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 true true true false 273 Lote de prueba:234,-34,18,55

4/25/2015 Computación - Fac. Ingeniería - UNMDP34 Sentencias ejecutables de REPETICION WHILE REPEAT FOR

Estructura de Control: REPEAT-UNTIL REPEAT Ejecución de SENTENCIA EXPRESIÓN LÓGICA UNTIL La sentencia se ejecutó una vez

Estructura de Control: REPEAT-UNTIL REPEAT Ejecución de SENTENCIA EXPRESIÓN LÓGICA FALSE UNTIL La sentencia se ejecutó dos veces

Estructura de Control: REPEAT-UNTIL REPEAT EXPRESIÓN LÓGICA La sentencia no se ejecuta TRUE Fin del REPEAT (continúa el programa)

4/25/2015 Computación - Fac. Ingeniería - UNMDP38 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.

4/25/2015 Computación - Fac. Ingeniería - UNMDP39 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.

4/25/2015 Computación - Fac. Ingeniería - UNMDP40 Sintaxis de la estructura de control: REPEAT-UNTIL La sentencia es ejecutada, por lo menos, una vez REPEAT Sentencia_1; ; Sentencia_n UNTIL Expresión lógica; REPEAT Sentencia UNTIL Expresión Lógica;

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

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; end end. A A>4 1 2 false 3 false 4 false 5 true A A<=4 1 true 2 true 3 true 4 true 5 false

Ejemplo Hallar el máximo y el mínimo de un conjunto de datos reales. Hagamos un razonamiento top-down 4/25/2015 Computación - Fac. Ingeniería - UNMDP43

4/25/2015 Computación - Fac. Ingeniería - UNMDP44 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.

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. EJERCICIO