Resolución de Problemas y Algoritmos Uso de iteración con secuencias

Slides:



Advertisements
Presentaciones similares
IBD Curso 2007 Clase 2.
Advertisements

Programación de Computadores
Sesión 13 Tipos de datos Estruturados Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Programación de Computadores
Programación de Computadores
Sesión 3 Estructuras Repetitivas
ALGORITMOS Y LENGUAJES Estructuras de Control CONDICIONAL
Estructuras de Decisión I IF - THEN - ELSE
Unidad 1 DISEÑO DE ALGORITMOS ING. Nelwi Baez. MSC
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.
Metodología de la Programación
Resolución de Problemas y Algoritmos Buffer - Read & Readln
Seminario de Actualización - Excel Avanzado y Macros
Resolución de Problemas y Algoritmos Lenguaje Pascal Entrada y Salida
Estructuras de Control
INFORMÁTICA PROGRAMACIÓN.
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Curso de Programación 1 Plan 97
Bloque 2: Divide y Vencerás
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 1: Introduccion Unidad 1: Consideraciones acerca de la eficiencia.
FORTRAN 90 arreglos.
Curso de Programación I Parte III
Estructuras de control
Metodología para la Construcción de Programas
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.
C lase 10 COMPUTACION /17/2014Computacion - Fac. Ingeniería2  Ademas de los ya vistos (tipos simples), puede usarse como parámetros variables.
Departamento de Informática Universidad Técnica Federico Santa María Tema 7: Subprogramas Programación de Computadores (IWI-131) Luis Pizarro Q.
Programación de Computadores
Sesión 6 Sentencias de Repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Departamento de Informática Universidad Técnica Federico Santa María Capítulo 2 “Subprogramas/Funciones - Arreglos” Arreglos-Arrays.
Programación en Matlab
Archivos.
Capítulo 1 “Elementos de Programación”
COMPUTACION 2009 Clase 6 Clase 7.
Programación I Universidad Nacional de Luján
Programación en Pascal
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Resolución de Problemas y Algoritmos Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca - Argentina.
Resolución de Problemas y Algoritmos Entorno de Programación Lazarus - FreePascal Año 2014 Departamento de Ciencias e Ingeniería de la Computación Universidad.
COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida.
75.40 Algoritmos y Programación I
1Hacer in programa que lea un número desconocido de datos reales de un disco y detecte el final de los datos en el archivo 2Definir entradas y salidas.
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
ESTRUCTURAS REPETITIVAS
Clase # 2 de Matlab Presentado por: Oscar Danilo Montoya Giraldo Sistemas de Transmisión de Energía Universidad Tecnológica de Pereira Septiembre de 2014.
Estructuras de Control.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 18/08/2006.
Programación I Arreglos. Los elementos de un arreglo son todos del mismo tipo de dato (todos integer o real o char o registros o aún arreglos)
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:
Conjuntos  Tipo estructurado  Es una lista encerrada entre corchetes  Deben ser elementos de igual tipo y Ordinales. Pueden especificarse subrangos.
Tema 8: Tipos de Datos Estructurados I
Vectores y Matrices.
Tema 6: Estructuras de Control
Departamento de Informática Universidad Técnica Federico Santa María Ejercicios Certamen 1: Programación de Computadores (IWI-131) Luis Pizarro Q.
Vectores y Matrices.
For variable = Valor_Inicial to Valor_Final Step Incremento Una o más instrucciones (1) Next Step Incremento, permite especificar si se requiere un incremento.
Ing. Johanna Macias Algoritmo, Estructura y Programación III.
29/5/2002 Sesión 18 Tipos de datos Estruturados Archivos de Caracteres Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Se pueden incluir comentarios en cualquier parte de un programa pero deben delimitarse con llaves o con paréntesis y asterisco:
Estructuras de Decisión
Lic. Carla Aguirre Montalvo
Visual Basic Prof.: Carol Briones García. Uso de Archivos  Definición  Es un conjunto de información que se almacena en algún medio de escritura que.
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.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
 Do- While y Do- Until Las instrucciones Do-while y Do-until permiten repetir un bloque de código mientras cierta condición sea True o hasta que cierta.
Ciclos condicionales y exactos Estructura de control de ciclos
Diego Hernández R. Archivos Diego Hernández R.
Transcripción de la presentación:

Resolución de Problemas y Algoritmos Uso de iteración con secuencias Resolución de Problemas y Algoritmos Dr. Alejandro J. García 13/04/2017 Resolución de Problemas y Algoritmos Uso de iteración con secuencias Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca - Argentina Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 1

Secuencias Un tipo particular de problemas para el cual resulta adecuada la iteración es el procesamiento de secuencias de valores. Los valores pueden ser leídos por consola (utilizando el buffer), o a través de algún otro dispositivo, como veremos más adelante. Cuando los valores se ingresan por consola es posible: Conocer la cantidad de valores antes de comenzar a leerlos Utilizar un valor específico para indicar fin de la secuencia. Preguntarle al usuario luego de leer cada valor, si desea ingresar otro.

Secuencias Conocer la cantidad de valores antes de comenzar a leerlos Ingrese la cantidad de valores: 4 Ingrese los valores: 23 4 7 12 9 Utilizar un valor específico para indicar fin de la secuencia. Ingrese los valores, para finalizar ingrese 0 23 4 7 12 9 6 31 0 Preguntarle al usuario luego de leer cada valor, si desea ingresar otro. Ingrese los valores: 23 Desea Ingresar otro (S/N):S 4 7 ……

Secuencias Escribir un programa que lea una secuencia de n valores reales y muestre cada uno de ellos seguido de su cuadrado. En este caso antes de comenzar a procesar la secuencia, se conoce el número de valores que van a leerse y procesarse.

Secuencias Escribir un programa que lea una secuencia de n valores reales y muestre cada uno de ellos seguido de su cuadrado. for i := 1 to n do begin read (x); writeln (x,sqr(x)); end Observemos que en esta solución la variable de control no se usa en el bloque iterativo.

Secuencias program cuadrados; {Muestra el cuadrado de cada número leído} var i,n : integer; x : real; begin write (‘Ingrese el valor de n ‘); readln (n); for i := 1 to n do read (x); writeln (x,sqr(x)); end; end.

Secuencias Escriba un programa que lea una secuencia de números enteros terminada con un 0 y muestre los que son múltiplos de n y mayores que 0. En este caso no conocemos antes de comenzar a iterar la cantidad de valores que forman la secuencia. Un valor específico termina la secuencia, sin formar parte de ella.

Secuencias Escriba un programa que lea una secuencia de números enteros terminada con un 0 y muestre los que son múltiplos de n y mayores que 0. repeat read(s); if (s > 0 ) and (s mod n = 0) then write (s,’ ‘); until (s = 0); La secuencia de valores ingresada por el usuario se mantiene en un área de memoria llamada buffer. La instrucción read consume el buffer.

Secuencias Escriba un programa que lea una secuencia de números positivos terminada en 0 y devuelva el mayor. Por ejemplo, dada la secuencia 3 11 5 8 8 11 2 19 13 0 El mayor es 19

El usuario ingresa la secuencia completa. Secuencias 3 11 5 8 8 11 2 19 13 0 El usuario ingresa la secuencia completa.

Secuencias 3 11 5 8 8 11 2 19 13 0 El programa lee 3 3 11 5 8 8 11 2 19 13 0 El programa lee 3 Por el momento es el mayor

Secuencias 3 11 5 8 8 11 2 19 13 0 El programa lee el 3 3 11 5 8 8 11 2 19 13 0 El programa lee el 3 Por el momento es el mayor El programa lee el 11 Se compara el 11 con el 3

Secuencias 3 11 5 8 8 11 2 19 13 0 El programa lee el 3 3 11 5 8 8 11 2 19 13 0 El programa lee el 3 Por el momento es el mayor El programa lee el 11 Se compara el 11 con el 3 El 11 es el mayor

Secuencias 3 11 5 8 8 11 2 19 13 0 El programa lee el 3 3 11 5 8 8 11 2 19 13 0 El programa lee el 3 Por el momento es el mayor El programa lee el 11 Se compara el 11 con el 3 El 11 es el mayor El programa lee el 5 Se compara el 5 con el 11 El mayor sigue siendo el 11

El programa lee un valor Secuencias 3 11 5 8 8 11 2 19 13 0 read (numero); mayor := numero; Necesitamos dos variables numero y mayor El programa lee un valor Por el momento es el mayor

Secuencias 3 11 5 8 8 11 2 19 13 0 read (numero); mayor := numero; 3 11 5 8 8 11 2 19 13 0 read (numero); mayor := numero; if (numero > mayor) El programa lee el segundo valor Se compara el mayor con el último leído

Secuencias 3 11 5 8 8 11 2 19 13 0 read (numero); mayor := numero; 3 11 5 8 8 11 2 19 13 0 read (numero); mayor := numero; if (numero > mayor) then mayor := numero; El segundo es el mayor

El programa lee el tercer valor Secuencias 3 11 5 8 8 11 2 19 13 0 read (numero) mayor := numero; read (numero); if (numero > mayor) then mayor := numero; read (numero); if (numero > mayor) then mayor := numero; El programa lee el tercer valor Se compara el mayor con el último leído, si el último es mayor se actualiza

Secuencias 3 11 5 8 8 11 2 19 13 0 read (numero) mayor := numero; 3 11 5 8 8 11 2 19 13 0 read (numero) mayor := numero; read (numero); if (numero > mayor) then mayor := numero; read (numero) if (numero > mayor) then mayor := numero;

Secuencias 3 11 5 8 8 11 2 19 13 0 read (numero); mayor := numero; 3 11 5 8 8 11 2 19 13 0 read (numero); mayor := numero; if (numero > mayor) then mayor := numero; while ( ) do begin end

Secuencias 3 11 5 8 8 11 2 19 13 0 read (numero); mayor := numero; 3 11 5 8 8 11 2 19 13 0 read (numero); mayor := numero; if (numero > mayor) then mayor := numero; while (numero <> 0) do begin end Considere qué pasaría si la secuencia es: 0

Secuencias Escriba un programa que lea una secuencia de números positivos terminada en 0 y devuelva la posición del mayor. Por ejemplo, dada la secuencia 3 11 5 8 8 11 2 19 13 0 La posición del mayor es 8

Secuencias y archivos Escriba un programa que genere un archivo de n números enteros ingresados por el usuario Supongamos n= 4 Leer el 1er número de la secuencia Agregarlo al archivo Leer el 2er número de la secuencia Agregarlo al archivo Leer el 3er número de la secuencia Agregarlo al archivo Leer el 4er número de la secuencia Agregarlo al archivo

Secuencias y archivos Escriba un programa que genere un archivo de n números enteros ingresados por el usuario Leer la cantidad de números (n) que se van a ingresar Repetir n veces Leer un número entero Almacenar el número en el archivo

Secuencias y archivos Escriba un programa que genere un archivo de n números enteros ingresados por el usuario Program GeneraArch; Var F: File of integer; i,n,num:integer; Begin Assign(F,’arch.dat’); Rewrite(F); Writeln(‘Ingrese la cantidad de elementos ‘); Readln(n); For i:=1 to n do begin end Read(num); Write(F,num) Close(F); End.

Secuencias y archivos Escriba un programa que lea una secuencia de números enteros terminada en 0 y genere un archivo con esos números. Por ejemplo, dada la secuencia ingresada por consola 3 11 5 8 8 300 2 0 El archivo deberá quedar formado así 3 11 5 8 8 300 2 <eof> Arch.dat

Secuencias y archivos Leer un número entero Escriba un programa que lea una secuencia de números enteros terminada en 0 y genere un archivo con esos números. Leer un número entero Repetir mientras el numero sea distinto de 0 Almacenar el número en el archivo Leer un número entero

Secuencias y archivos Escriba un programa que lea una secuencia de números enteros terminada en 0 y genere un archivo con esos números. Program GeneraArch; Var F: File of integer; num:integer; Begin Assign(F,’arch.dat’); Rewrite(F); Writeln(‘Ingrese la secuencia terminada en 0‘); Read(num); While (num <> 0) do begin end Write(F,num) Read(num); Close(F); End.

Generador de Archivos