Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


La composición iterativa, Apuntes de Informática

Asignatura: Fundamentos de informática, Profesor: Pedro Latorre, Carrera: Ingeniería de Tecnologías Industriales, Universidad: UniZar

Tipo: Apuntes

2012/2013

Subido el 23/01/2013

avavrm
avavrm 🇪🇸

4

(251)

58 documentos

1 / 48

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Fundamentos de Informática
Ingeniería en Tecnologías Industriales
Curso 2010-11
Grado en Ingeniería en Tecnologías Industriales
Lección 5: Composición iterativa
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30

Vista previa parcial del texto

¡Descarga La composición iterativa y más Apuntes en PDF de Informática solo en Docsity!

Fundamentos de Informática Ingeniería en Tecnologías Industriales Curso 2010-

Grado en Ingeniería en Tecnologías Industriales

Lección 5: Composición iterativa

Grado en Ingeniería de Tecnologías Industriales Fundamentos de Informática

Composición iterativa

  • (^) Índice:
    1. Necesidad de la composición iterativa
    2. Control del bucle a la entrada (sentencia mientrasQue-- hacer)
    3. Aplicación a la resolución de problemas
    4. Control del bucle a la salida (sentencia repetir—hasta que)
    5. Aplicación a la resolución de problemas
    6. Control del bucle con contador (sentencia desde—hasta-- hacer)
    7. Aplicación a la resolución de problemas

Grado en Ingeniería de Tecnologías Industriales Fundamentos de Informática

  • (^) Necesidad: Las composiciones secuencial y condicional no son suficientes para resolver una serie de problemas como los que se presentan a continuación. Problema 1 : Calcular el factorial de un número entero y positivo. n! COMPUTADOR n Necesidad de la composición iterativa

Grado en Ingeniería de Tecnologías Industriales Fundamentos de Informática Problema 2: Contar los caracteres de una secuencia que concluye con un punto. No debe incluirse el punto en la cuenta. 20 COMPUTADOR Ejemplo de secuencia. Necesidad de la composición iterativa

Grado en Ingeniería de Tecnologías Industriales Fundamentos de Informática Control del bucle a la entrada

  • (^) Una composición iterativa permite aplicar métodos de resolución de problemas mediante el método de inducción. Esta aproximación se puede esquematizar de la forma: “Calcular una primera aproximación S 0 a la solución del problema P” mientrasQue “la última solución obtenida no sea la solución del problema P” hacer “calcular una nueva aproximación Si de su solución, a partir de las soluciones previamente calculadas Si-1,Si-2,,S 0 ” finMQ

Grado en Ingeniería de Tecnologías Industriales Fundamentos de Informática

  • (^) Los puntos clave del método iterativo son:
    1. La identificación de una primera aproximación S 0 a la solución del problema P que constituya la base de un proceso inductivo para su resolución. Control del bucle a la entrada

Grado en Ingeniería de Tecnologías Industriales Fundamentos de Informática

  1. La identificación de una primera aproximación S 0 a la solución del problema P que constituya la base de un proceso inductivo para su resolución.
  2. Encontrar una ley de recurrencia que permita avanzar desde las soluciones solución parciales ya calculadas S 0 ,,Si-2,Si-1 hacia una nueva solución Si que esté más próxima que las anteriores a la solución definitiva del problema P.
  3. Expresar la condición C que determine si la última solución calculada constituye la solución del problema P o si, en caso de no satisfacerse, debe continuar el cálculo de nuevas aproximaciones a la solución del problema. Su negación lógica ¬ C constituye la condición para iterar.
  • (^) Los puntos clave del método iterativo son: Control del bucle a la entrada

Grado en Ingeniería de Tecnologías Industriales Fundamentos de Informática

  • (^) Esquema básico iterativo:

La sintaxis del esquema que se propone es la

siguiente:

mientras que hacer <instrucción> {<instrucción> } FMq Control del bucle a la entrada

Grado en Ingeniería de Tecnologías Industriales Fundamentos de Informática Ejemplo: Algoritmo de puesta en marcha de un coche

  1. Poner la llave.
  2. Asegurarse de que se está en punto muerto.
  3. Mientras el motor no haya arrancado hacer 3.1 Presionar el acelerador. 3.2 Girar la llave hasta la posición de arranque. 3.3 Si el motor arranca antes de seis segundos, entonces dejar la llave en posición de ignición. 3.4 Si no, parar y esperar diez segundos (un máximo de cinco veces).
  4. Si el coche no arranca, llamar a la grúa. Aplicación a la resolución de problemas

Grado en Ingeniería de Tecnologías Industriales Fundamentos de Informática

  • (^) Problema : Calcular el factorial de un número entero y positivo (<100). n! COMPUTADOR n algoritmo factorial {Pre: número entero y positivo menor que 100 Post: devuelve su factorial} variable número, factorial, i: entero; principio leer(número); i:=1; factorial:=1; {Solución de 0!} mientras que i<= número hacer factorial:=factorial *i; {Ley de recurrencia: i!= (i-1)! *i} i:=i + 1; fMq; escribir(factorial) {factorial=n!} fin. Aplicación a la resolución de problemas

Grado en Ingeniería de Tecnologías Industriales Fundamentos de Informática

  • (^) Ejemplo : Diseñar un algoritmo que sume una secuencia de enteros introducida por teclado terminada con un cero 13 3 18 85 11 5 -10 30 33 101 0 devuelve La suma es 289 Algoritmo suma_enteros; { Este algoritmo suma una secuencia de enteros introducida por teclado terminada con un cero Pre: secuencia de enteros terminada en cero Post: suma de la secuencia } Principio .... Fin Aplicación a la resolución de problemas

Grado en Ingeniería de Tecnologías Industriales Fundamentos de Informática algoritmo sumaSecuenciaEnteros { Pre: --- Post: Lee una secuencia de datos enteros que finaliza con un 0 y escribe por pantalla la suma de los datos leídos } variables número: entero; { último número leído } sumaAcumulada: entero; { acumula la suma de datos leídos } principio escribirCadena(pantalla,“Escriba una secuencia de enteros acabada con un cero: ”); sumaAcumulada:=0; { Base de la solución del problema } leerEntero(terminal,número); mientrasQue ¬(número=0) hacer { Ley de recurrencia que actualiza la solución del problema } sumaAcumulada:=sumaAcumulada+número; leerEntero(terminal,número); finMQ escribirCadena(pantalla,“Los datos leídos suman : ”); escribirEntero(pantalla,sumaAcumulada); fin Aplicación a la resolución de problemas

Grado en Ingeniería de Tecnologías Industriales Fundamentos de Informática

  • Problema:^ Contar los caracteres de una secuencia que termina con un punto. No debe incluirse el punto en la cuenta. 20 COMPUTADOR Ejemplo de secuencia. algoritmo contar_caracteres {Pre: secuencia de caracteres terminada con un punto Post: devuelve el número de caracteres en la secuencia} variable letra: caracter; contador: entero; principio leer(letra); contador:=0; {Solución del problema trivial} mientras que letra<>’.’ hacer contador:= contador + 1; {Ley de recurrencia} leer(letra) fmq; escribir(contador) fin. Aplicación a la resolución de problemas

Grado en Ingeniería de Tecnologías Industriales Fundamentos de Informática

  • Problema:^ Contar los caracteres de una secuencia que termina con un punto. No debe incluirse el punto en la cuenta. 20 COMPUTADOR Ejemplo de secuencia. algoritmo contar_caracteres {Pre: secuencia de caracteres terminada con un punto Post: devuelve el número de caracteres en la secuencia} variable letra: caracter; contador: entero; principio leer(letra); contador:=0; {Solución del problema trivial} mientras que letra<>’.’ hacer contador:= contador + 1; {Ley de recurrencia} leer(letra) fmq; escribir(contador) fin. Aplicación a la resolución de problemas