Iteración La iteración permite modelar problemas en los cuales una secuencia de instrucciones debe ejecutarse varias veces. La cantidad de iteraciones.

Slides:



Advertisements
Presentaciones similares
Capítulo 2 Algoritmos.
Advertisements

IBD Curso 2007 Clase 2.
ESTRUCTURAS DE PROGRAMACIÓN
Análisis Sintáctico Capítulo 4.
Programación de Computadores
Programación de Computadores
Programación de Computadores
PROGRAMACION ESTRUCTURADA
Sesión 3 Estructuras Repetitivas
Lenguaje PHP Capítulo 4.
Estructuras Repetitivas para
Estructuras de Decisión I IF - THEN - ELSE
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
Resolución de Problemas y Algoritmos Buffer - Read & Readln
Seminario de Actualización - Excel Avanzado y Macros
Estructuras de Control
INFORMÁTICA PROGRAMACIÓN.
Curso de Programación 1 Plan 97
Tema 2: Lenguaje PHP básico
Módulo 5: Estructuras de Decisión y Bucles
Descomponer un problema
FORTRAN 90 arreglos.
FORTRAN 77 y Cómputo Científico
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
VISUAL BASIC CONSOLA Todas las ordenes o instrucciones se digitan dentro de sub Main() y End Sub ÁREA DE TRABAJO: Las aplicaciones de consola son aquellas.
C lase 10 COMPUTACION /17/2014Computacion - Fac. Ingeniería2  Ademas de los ya vistos (tipos simples), puede usarse como parámetros variables.
ESCUELA: NOMBRES: LÓGICA DE LA PROGRAMACIÓN UNIDAD 2: Naturaleza de los Datos FECHA: Ing. Patricio Abad Espinoza OCTUBRE 2009 – FEBRERO Ciencias.
ALGORITMOS Y ESTRUCTURA DE DATOS
Departamento de Informática Universidad Técnica Federico Santa María Tema 7: Subprogramas Programación de Computadores (IWI-131) Luis Pizarro Q.
Fundamentos de Programación
CORPOCIDES Ing. Emilio Medina Baquero
UNIVERSIDAD DE MANAGUA I CUATRIMESTRE INTRODUCCION A LA PROGRAMACION
Estructuras de Control Iterativas
ESTRUCTURAS CONTROL SECUENCIAL
Programación de Computadores
Sesión 6 Sentencias de Repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Lenguaje C.
Programación en Matlab
Control de flujo: Bucles
Página Web del Lenguaje Pascal.
Capítulo 1 “Elementos de Programación”
COMPUTACION 2009 Clase 6 Clase 7.
Agosto 2010Programación I - Tipo de Datos1 Programación I Prof. Adjunto: Lic. Jorge O. Scucimarri Universidad Nacional de Luján Licenciatura en Sistemas.
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.
Resolución de Problemas y Algoritmos Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca - Argentina.
COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida.
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 de Control.
Control de Flujo.
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 8: Tipos de Datos Estructurados I
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Tema 6: Estructuras de Control
Clase 6 COMPUTACION 2009 C lase 8 Tipos de Datos PASCAL Estructurados Simples Primitivos No primitivos Integer Real Char Boolean String Archivos Registros.
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.
Contenido:  ¿Qué son los Punteros?  Los Procedimientos: New y Dispose.
 Un lenguaje se puede definir como un conjunto de palabras y formas de expresión por medio de las cuales se comunican y relacionan miembros de una comunidad.
29/5/2002 Sesión 18 Tipos de datos Estruturados Archivos de Caracteres Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
“variables , sentencia if y bucles”
Estructuras de Decisión
CICLOS EN C – PARTE 3.
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
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.
Unidad V: Estatutos en Basic De control o selección if. De ciclos: Do, for, while. Otros estatutos. Solución de problemas aplicando estatutos de control.
Transcripción de la presentación:

Iteración La iteración permite modelar problemas en los cuales una secuencia de instrucciones debe ejecutarse varias veces. La cantidad de iteraciones puede quedar determinada por una variable de control que toma valores dentro de un rango escalar o por una expresión lógica. En el primer caso hablamos de iteración con contador en el segundo de iteración con condición.

Iteración: for Escriba un programa en Pascal que lea dos valores enteros x y n y calcule y muestre: 𝑘=0 𝑛 𝑘.𝑥 −𝑥 n = 3 y x =5 Computa 0x5 – 5 + 1x5 – 5 + 2x5 – 5 + 3x5 – 5

Iteración: for Realizar una traza para dos casos de prueba. program Sigma1; var k,n: integer; x,suma:integer; begin … suma := 0; for k := 0 to n do suma := suma + k*x - x; writeln ('Suma ',suma:10); end. 𝑘=0 𝑛 𝑘.𝑥 −𝑥 Realizar una traza para dos casos de prueba.

Iteración: for Escriba un programa en Pascal que lea un valor entero n seguido por una secuencia de n enteros y compute: 𝑘=1 𝑛 𝑘.𝑥𝑘 n = 3 y la secuencia es 2 -5 7 Computa 1x2 + 2x-5 + 3x7

Iteración: for program Sigma2; var k,n: integer; x,suma:integer; begin writeln('Ingrese una secuencia de ',n:4,' elementos '); for k := 1 to n do readln(x); suma := suma + k*x ; end; writeln ('Suma ',suma:10); end. 𝑘=1 𝑛 𝑘.𝑥𝑘

Iteración: for Escriba un programa en Pascal que lea los valores de x, m y n y calcule y muestre: 𝑗=0 𝑚 𝑘=0 𝑛−1 (𝑚−𝑗). 𝑥 −𝑘.𝑥 Por ejemplo si m=2, n=3y x=5 (2x5 – 0x5)+ (2x5 – 1x5)+(2x5 – 2x5)+ (1x5 – 0x5)+ (1x5 – 1x5)+(1x5 – 2x5)+ (0x5 – 0x5)+ (0x5 – 1x5)+(0x5 – 2x5)

Iteración: for Realizar una traza para dos casos de prueba. program Sigma3; var j,k,n,m: integer; x,suma:integer; begin … suma := 0; for j := 0 to m do for k := 0 to n-1 do suma := suma + (m-j)*x - k*x; writeln ('Suma ',suma:10); end. 𝑗=0 𝑚 𝑘=0 𝑛−1 (𝑚−𝑗). 𝑥 −𝑘.𝑥 Realizar una traza para dos casos de prueba.

Iteración: for Escriba un programa en Pascal que lea un valor n y una secuencia de n ternas de valores y compute: 𝑗=1 𝑛 𝑘=1 3 𝑥𝑗,𝑘 𝑗=1 𝑛 𝑥𝑗,1 . 𝑥 𝑗,2 . 𝑥𝑗,3

Iteración: for program Sigma4; … suma:=0; 𝑗=1 𝑛 𝑘=1 3 𝑥𝑗,𝑘 for j := 1 to n do begin prod := 1; for k := 1 to 3 do read(x); prod := prod * x ; end; readln(); suma := suma + prod; end. 𝑗=1 𝑛 𝑘=1 3 𝑥𝑗,𝑘

Iteración: for Realizar una traza para dos casos de prueba. program Sigma4; var j,k,n: integer; x,suma,prod:integer; begin … end. Realizar una traza para dos casos de prueba.

Iteración: for Una fábrica asigna a cada artículo un código formado por tres caracteres. El primero es una letra A, B o C, el segundo carácter es un dígito 3, 4, 5 o 6, el tercer es nuevamente una letra x o y. Escriba un segmento de programa que muestre una tabla con todos los códigos posibles, agrupando los dos códigos que coinciden en los dos primeros caracteres en una misma línea.

A 3 x A 3 y A 4 x A 4 y A 5 x A 5 y A 6 x A 6 y B 3 x B 3 y Iteración: for A 3 x A 3 y A 4 x A 4 y A 5 x A 5 y A 6 x A 6 y B 3 x B 3 y writeln (letra,digito,’x’,’ ‘, letra,digito,’y’);

Iteración: for A 3 x A 3 y A 4 x A 4 y A 5 x A 5 y A 6 x A 6 y for digito := 3 to 6 do writeln (letra,digito,’x’,’ ‘, letra,digito,’y’);

Iteración: for A 3 x A 3 y A 4 x A 4 y A 5 x A 5 y A 6 x A 6 y B 3 x B 3 y B 4 x B 4 y B 5 x B 5 y B 6 x B 6 y

Iteración: for for letra := ‘A´ to ‘C’ do for digito := 3 to 6 writeln (letra,digito,’x’,’ ‘, letra,digito,’y’);

Iteración: for Una fábrica asigna a cada artículo un código formado por tres caracteres. El primero es una letra A, B o C, el segundo carácter es un dígito 3, 4, 5 o 6, el tercer es nuevamente una letra v, w, x, y y z. Escriba un segmento de programa que muestre una tabla con todos los códigos posibles, agrupando los cinco códigos que coinciden en los dos primeros caracteres en una misma línea.

Iteración: for for letra := ‘A´ to ‘C’ do for digito := 3 to 6 begin for tercer := ‘x’ to ‘z’ write(letra,digito,tercero, ’ ‘); writeln ; end

Escriba un programa que decida si un número N es primo. Iteración while Escriba un programa que decida si un número N es primo. Un números natural N es un número primo si tiene solo dos divisores, 1 y N. Una alternativa intuitiva para decidir si un número primo es hallar el conjunto de divisores. Una alternativa más eficiente es hallar un divisor distinto a 1 y a N porque en ese caso podemos asegurar que N no es primo.

Escriba un programa que decida si un número N es primo. Iteración while Escriba un programa que decida si un número N es primo. Si 2 es un divisor de N entonces N no es primo, no importa si tiene o no otros divisores. Análogamente si 3, 4, …, son divisores de N, entonces N no tiene divisores. Una alternativa aun más eficiente es saltear los números pares que no son primos, pero por el momento el principal objetivo es la iteración.

Iteración while Escriba un programa que decida si un número N entero positivo es primo. N mod 2 = 0 si computa true N no es primo N mod 3 = 0 si computa true N no es primo Para generalizar podemos usar dos variables, una variable entera y una variable booleana.

Iteración while {Procesamiento} d:=2; esPrimo := true; while (d < N) and (esPrimo = true) do if N mod d = 0 then esPrimo := false else d := d + 1;

Iteración while program NEsPrimo; {Decide si un número N ingresado por consola es primo, asumiendo N > 1} var N,d : integer; esPrimo : boolean; begin {Entrada} write ('Ingrese N '); readln (N); {Procesamiento} … {Salida} … end.

Iteración while program NEsPrimo; … begin {Entrada} … {Procesamiento} … {Salida} if esPrimo then writeln(n:4,' es primo ') else writeln(n:4,' no es primo') ; end.

Iteración while Hacemos la traza para N 4 19 45

Iteración while expresión while do lógica instrucción La instrucción del while es el bloque iterativo. Cuando la expresión lógica es falsa se produce la condición de corte de la iteración. En el bloque iterativo debe modificarse al menos una de las variables de la expresión lógica, para permitir que la expresión lógica se haga falsa y el bucle termine.

Iteración while Escriba un programa que muestre la suma de los dígitos de un número entero positivo N. Por ejemplo si N= 605 la suma es 11.

Iteración while Realizar una traza para dos casos de prueba. {Procesamiento} M:=N; suma := 0; while (M > 0) do begin suma := suma + M mod 10; M := M div 10; end; Realizar una traza para dos casos de prueba.

Iteración while Escriba un programa que decida si un dígito entre 1 y 9 está en un número entero positivo N. Por ejemplo si d=3 y N= 605 d no está en N. si d=3 y N= 305 d está en N. si d=3 y N= 6035 d está en N. si d=3 y N= 6053 d está en N. si d=3 y N= 6303 d está en N.

Iteración while {Procesamiento} esta:= false; M:=N; while (M > 0) and (esta = false) do if M mod 10 = d then esta := true else M := M div 10;

Iteración while program dEstaenN; {Decide si un dígito d está en N } var N,M,d : integer; esta : boolean; begin {Entrada} write ('Ingrese N '); readln (N); write ('Ingrese el dígito '); readln (d);

Iteración while program dEstaenN; … begin {Entrada} {Procesamiento} {Salida} if esta then writeln(d:4,' está en ',N:4) else writeln(d:4,' no está en ',N:4) ; end.

Iteración while Escriba un programa que muestre la posición menos significativa en la que aparece un dígito d en un número N. Si d no está en N, muestra 0. Por ejemplo si d=3 y N= 605 la salida es 0. si d=3 y N= 1305 la salida es 3. si d=3 y N= 6035 la salida es 2.