Resolución de Problemas y Algoritmos Uso de iteración con secuencias Departamento de Ciencias e...
-
Upload
gerardo-pelayo -
Category
Documents
-
view
228 -
download
0
Transcript of Resolución de Problemas y Algoritmos Uso de iteración con secuencias Departamento de Ciencias e...
![Page 1: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/1.jpg)
Resolución de Problemas y Algoritmos
Uso de iteración con secuencias
Departamento de Ciencias e Ingeniería de la ComputaciónUniversidad Nacional del Sur
Bahía Blanca - Argentina
![Page 2: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/2.jpg)
SecuenciasUn 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.
Conocer la cantidad de valores antes de comenzar a leerlosUtilizar un valor específico para indicar fin de la secuencia. Preguntarle al usuario luego de leer cada valor, si desea ingresar otro.
Cuando los valores se ingresan por consola es posible:
![Page 3: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/3.jpg)
Secuencias
Ingrese los valores:23Desea Ingresar otro (S/N):S4Desea Ingresar otro (S/N):S7……
Conocer la cantidad de valores antes de comenzar a leerlos
Ingrese la cantidad de valores: 4Ingrese los valores: 23 4 7 12 9
Utilizar un valor específico para indicar fin de la secuencia. Ingrese los valores, para finalizar ingrese 023 4 7 12 9 6 31 0
Preguntarle al usuario luego de leer cada valor, si desea ingresar otro.
![Page 4: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/4.jpg)
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
![Page 5: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/5.jpg)
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 dobegin read (x); writeln (x,sqr(x)); end
Observemos que en esta solución la variable de control no se usa en el bloque iterativo.
![Page 6: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/6.jpg)
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 begin read (x); writeln (x,sqr(x)); end;
end.
![Page 7: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/7.jpg)
Secuencias
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.
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.
![Page 8: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/8.jpg)
Secuencias
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.
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.
![Page 9: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/9.jpg)
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
Secuencias
![Page 10: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/10.jpg)
3 11 5 8 8 11 2 19 13 0
El usuario ingresa la secuencia completa.
Secuencias
![Page 11: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/11.jpg)
3 11 5 8 8 11 2 19 13 0
El programa lee 3
Por el momento es el mayor
Secuencias
![Page 12: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/12.jpg)
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
![Page 13: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/13.jpg)
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
![Page 14: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/14.jpg)
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
Secuencias
![Page 15: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/15.jpg)
3 11 5 8 8 11 2 19 13 0
read (numero);mayor := numero;
El programa lee un valor
Por el momento es el mayor
Necesitamos dos variables numero y mayor
Secuencias
![Page 16: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/16.jpg)
3 11 5 8 8 11 2 19 13 0
read (numero);mayor := numero;read (numero);if (numero > mayor)
El programa lee el segundo valor
Se compara el mayor con el último leído
Secuencias
![Page 17: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/17.jpg)
3 11 5 8 8 11 2 19 13 0
read (numero);mayor := numero;read (numero);if (numero > mayor) then mayor := numero;
El segundo es el mayor
Secuencias
![Page 18: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/18.jpg)
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
![Page 19: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/19.jpg)
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
![Page 20: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/20.jpg)
3 11 5 8 8 11 2 19 13 0
read (numero);mayor := numero;
read (numero); if (numero > mayor) then mayor := numero;while ( ) dobegin
end
Secuencias
![Page 21: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/21.jpg)
3 11 5 8 8 11 2 19 13 0
read (numero);mayor := numero;
read (numero); if (numero > mayor) then mayor := numero;while (numero <> 0) dobegin
end
Secuencias
Considere qué pasaría si la secuencia es: 0
![Page 22: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/22.jpg)
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
![Page 23: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/23.jpg)
Escriba un programa que genere un archivo de n números enteros ingresados por el usuario
Secuencias y archivos
Supongamos n= 4
Leer el 1er número de la secuenciaAgregarlo al archivo
Leer el 2er número de la secuenciaAgregarlo al archivo
Leer el 3er número de la secuenciaAgregarlo al archivo
Leer el 4er número de la secuenciaAgregarlo al archivo
![Page 24: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/24.jpg)
Escriba un programa que genere un archivo de n números enteros ingresados por el usuario
Secuencias y archivos
Leer la cantidad de números (n) que se van a ingresar
Repetir n vecesLeer un número enteroAlmacenar el número en el archivo
![Page 25: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/25.jpg)
Escriba un programa que genere un archivo de n números enteros ingresados por el usuario
Secuencias y archivos
Writeln(‘Ingrese la cantidad de elementos ‘);Readln(n);For i:=1 to n do begin
end
Read(num);Write(F,num)
Assign(F,’arch.dat’);Rewrite(F);
Close(F);
Program GeneraArch;Var F: File of integer; i,n,num:integer;Begin
End.
![Page 26: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/26.jpg)
Por ejemplo, dada la secuencia ingresada por consola
3 11 5 8 8 300 2 0
El archivo deberá quedar formado así
Secuencias y archivosEscriba un programa que lea una secuencia de números enteros terminada en 0 y genere un archivo con esos números.
3 11 5 8 8 300 2 <eof>Arch.dat
![Page 27: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/27.jpg)
Secuencias y archivosEscriba un programa que lea una secuencia de números enteros terminada en 0 y genere un archivo con esos números.
Repetir mientras el numero sea distinto de 0
Leer un número enteroAlmacenar el número en el archivo
Leer un número entero
![Page 28: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/28.jpg)
Secuencias y archivos
Writeln(‘Ingrese la secuencia terminada en 0‘);Read(num);While (num <> 0) do begin
endRead(num);Write(F,num)
Assign(F,’arch.dat’);Rewrite(F);
Close(F);
Program GeneraArch;Var F: File of integer; num:integer;Begin
End.
Escriba un programa que lea una secuencia de números enteros terminada en 0 y genere un archivo con esos números.
![Page 29: 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.](https://reader035.fdocumento.com/reader035/viewer/2022062500/5665b4571a28abb57c90abe8/html5/thumbnails/29.jpg)
Generador de Archivos