Sei sulla pagina 1di 16

POLITÉCNICO COLOMBNIANO JAIME ISAZA CADAVID

Fundamentos de Programación 1

CICLOS PARA / CICLOS DESDE

Otra estructura de control disponible para la realización de ciclos o iteraciones es la


estructura desde ó para, dependiendo de la bibliografía consultada, se encontrará uno
de los dos términos, pero ambos se refieren a la misma estructura de control.

TEMAS Los ciclos desde son muy apropiados cuando se


conoce previamente el número exacto de
Estructura desde iteraciones que se necesitan en el algoritmo. Por
Sintaxis de la estructura desde ejemplo, si se sabe que debe realizarse la misma
Diferencias entre las operación cada uno de los días de la semana, se
estructuras desde y mientras sabe, entonces, que deben realizarse 7 iteraciones.
Seguimiento y prueba de Este es el caso típico en el que un ciclo desde es el
algoritmos con ciclos desde. más apropiado.

Un ciclo desde, sin embargo, tiene una variable de


control, una inicialización, una condición que determina la finalización del ciclo y una
actualización establecida siempre mediante un incremento.

EXPLICACION

SINTAXIS Una estructura desde, consta de las


palabras reservadas desde, hasta,
hacer y fin_desde
desde i  vi hasta vf hacer La palabra desde, identifica el
sentencia1 encabezado de la estructura repetitiva.
sentencia2 i es la variable de control, actúa como un
... contador que cuenta desde vi hasta vf.
sentenciaX vi, es un valor que representa el valor
fin_desde inicial que tomará la variable de control al
ingresar al ciclo.
vf , es el valor final que tomará la variable
de control durante la ejecución del ciclo.
Las sentencias sentencia1, sentencia2, . . .

EJEMPLO

Diseñar un algoritmo que imprima los números del 1 al 10.


OBSERVACION
Los ciclos desde no necesitan una
Algoritmo Desde01 instrucción de actualización,
Variables explícita dentro del cuerpo del ciclo.
entero : num Los ciclos desde actualizan
inicio automáticamente la variable de
para num 1 hasta 10 hacer control incrementándola en cada
escribir ( num ) iteración.
fin_para En los ciclos desde no es necesaria
fin la inicialización previa de la variable
de control, ésta se inicializa la
primera vez que se alcanza el
Luís Fernando González Alvarán Ciclos
encabezado del ciclo, en el valor
1 / 16
POLITÉCNICO COLOMBNIANO JAIME ISAZA CADAVID

Fundamentos de Programación 1

FUNCIONAMIENTO DE UN CICLO DESDE

Un ciclo desde se ejecuta mientras la variable de control no sobrepase el valor final


definido en el encabezado del ciclo.

Gráficamente, puede verse el funcionamiento de un ciclo desde así :

inicialización
valor
inicialización inicial
E
JEM
PLO para ivariable
 vi hasta vfnohacer valor
de final
control
D sentencia1
cuerpo
ise sentencia2 del
si
ñar ... ciclo
sentenciaX
un cuerpo del

fin_para

incremento de la
variable
Nota : Nodeescontrol
necesaria una sentencia de
actualización en un ciclo desde. La
actualización se realiza automáticamente
al finalizar cada iteración.
algoritmo que calcule y muestre la tabla de
multiplicar del 5.

Algoritmo Desde02
Variables
entero : num, multi
inicio
desde num 1 hasta 10 hacer
multi 5 * num
escribir ( num, " x 5 = ", multi)
fin_desde
fin

PREGUNTAS DE REVISIÓN

Cuál es la variable de control en éste ciclo ?


Cuál será el valor inicial de la variable de control ?
Qué valor tendrá la variable de control durante la última iteración ?
Realice una prueba de escritorio del algoritmo.
Cuál será el valor de la variable de control al finalizar el algoritmo ?

Luís Fernando González Alvarán Ciclos


2 / 16
POLITÉCNICO COLOMBNIANO JAIME ISAZA CADAVID

Fundamentos de Programación 1

DIFERENCIAS ENTRE CICLOS DESDE Y CICLOS MIENTRAS

En general los ciclos mientras y los ciclos desde son similares en cuanto al orden en el
que se ejecutan las sentencias, pero el cuerpo del ciclo es diferente : En los ciclos
mientras, es indispensable que una de las sentencias del cuerpo del ciclo sea la
actualización de la variable de control, ya sea a través de una operación de lectura o a
través de una operación de asignación, en cambio, en los ciclos desde, no debe
modificarse el valor de la variable de control dentro del cuerpo del ciclo, esto alteraría
por completo el funcionamiento normal de un ciclo desde.

característica ciclo desde ciclo mientras


Inicialización de la variable Es una de las expresiones Debe realizarse antes de
de control del encabezado del ciclo. alcanzar el ciclo.
Determinada por el valor
Establecida explícitamente
Expresión de prueba final establecido en el
en el encabezado del ciclo.
encabezado del ciclo.
Debe incluirse
explícitamente dentro del
Se realiza un incremento, cuerpo del ciclo. Pueden
Actualización de la variable
de forma automática en realizarse asignaciones a
de control.
cada iteración. través de operaciones de
asignación o a través de
operaciones de lectura.
Es la estructura repetitiva Puede utilizarse,
Se conoce previamente el más apropiada. Pues la garantizando el uso de un
número de iteraciones variable de control, actúa contador en el cuerpo del
necesarias automáticamente como ciclo, para ser usado como
contador. variable de control.
Puede utilizarse,
estableciendo
No se conoce previamente
Es difícil o imposible de apropiadamente la
el número de iteraciones
utilizar. condición de parada y la
necesarias.
actualización de la variable
de control.

EJEMPLO

Diseñar un algoritmo que permita calcular el promedio de notas de un grupo de N


estudiantes en la asignatura Matemáticas Fundamentales, conociendo la nota
definitiva de cada estudiante en esa asignatura.

Modelaje :

E/S/ Identificad Tipo Descripción


A or
E n entero Cantidad de estudiantes del grupo

Luís Fernando González Alvarán Ciclos


3 / 16
POLITÉCNICO COLOMBNIANO JAIME ISAZA CADAVID

Fundamentos de Programación 1

Acumulador que contendrá la suma de las notas de


A suma real
todos los estudiantes del grupo.
E nota real Nota de cada uno de los estudiantes.
A estudiante entero Contador de estudiantes. Controla el ciclo desde
S promedio real Promedio de las notas de la asignatura.

Especificación :

PRE : n, estudiante ∈ { Z, n > 0}


nota ∈ { R <= 0 <= 5.0 }
suma ∈ { R

POS : { promedio ∈ { R}

Procesos

Suma = (∑ nota)
promedio = suma/n

Algoritmo Promedio
variables
entero : estudiante, n
real : nota, promedio, suma
inicio
escribir (" Cuántos estudiantes hay en el grupo ?")
leer ( n )
suma 0
desde estudiante 1 hasta n hacer
escribir ("Nota del estudiante ", estudiante)
leer (nota)
suma suma + nota
fin_desde
promedio suma / n
escribir (" El promedio del grupo es : ", promedio)
fin

EJEMPLO
Diseñar un algoritmo que sume todos los números enteros en un intervalo definido por
el usuario.

Modelaje :
Identificad Tipo Descripción
E/S/A
or
enter
E A Límite del intervalo
o
enter
E B Límite del intervalo
o
S suma enter Acumulador usado para sumar todos los números del
Luís Fernando González Alvarán Ciclos
4 / 16
POLITÉCNICO COLOMBNIANO JAIME ISAZA CADAVID

Fundamentos de Programación 1

o intervalo
enter Contador, generador de los números del intervalo. Controla
A i
o el ciclo desde
enter Variable usada temporalmente para intercambiar los
A aux
o valores de a y b

Especificación :
PRE :

a, b,i aux ∈ {Z}

POS :

Suma ∈ {Z}
Procesos
i = 0,
aux = 0
suma = (∑ i ), a >= i >=b }

Algoritmo SumaDesde
variables
entero : a, b, suma, i, aux
inicio
escribir (" Límite del intervalo ?")
leer ( a )
escribir (" Límite del intervalo ?")
leer ( b )
suma 0
si (b > a) entonces
aux a
a b
b aux
fin_si
desde i b hasta a hacer
suma suma + i
fin_desde
escribir (" La suma es : ", suma)
fin

INCREMENTO EN LOS CICLOS DESDE

De forma predeterminada, el incremento en un ciclo desde, está establecido en 1, es


decir, que en cada iteración, la variable de control se incrementa en 1, sin embargo,
existe una cláusula opcional en la sintaxis de éstas estructuras repetitivas que permite
modificar éste valor.

Luís Fernando González Alvarán Ciclos


5 / 16
POLITÉCNICO COLOMBNIANO JAIME ISAZA CADAVID

Fundamentos de Programación 1

SINTAXIS

valor
inicialización inicial

para i  vi hasta vf incrementovalor


k hacer
final
sentencia1 cuerpo valor del
sentencia2 del incremento
... ciclo
sentenciaX

fin_para

El valor del incremento se especifica inmediatamente después de la palabra


incremento, de forma que en cada iteración la variable de control del ciclo se
incrementará de acuerdo con el valor establecido en esta cláusula. El incremento
puede ser cualquier valor positivo o negativo, incluso pueden ser valores de tipo real.
Si el incremento es negativo (decremento), la condición de parada se modifica y el
cuerpo del ciclo se ejecutará siempre que la variable de control sea mayor o igual que
el valor final.

EJEMPLO

Diseñar un algoritmo que muestre los múltiplos de 4 entre 7 y 57.

Algoritmo Multiplos4 La variable i, se inicializa en


Variables 8 y en cada iteración, se
entero : i incrementa en un valor de 4,
inicio generándose los números 8,
desde i 8 hasta 57 incremento 4 hacer 12, 16, 20, ...
escribir ( i ) El ciclo se ejecuta siempre
fin_desde que la variable de control sea
fin menor o igual que el valor
final, en este caso 57.
Diseñar un algoritmo que muestre en forma descendente los múltiplos de 3 menores
que 100.

Algoritmo Multiplos3 La variable i, se inicializa en 99


Variables y en cada iteración, se
entero i incrementa en un valor de –3, es
inicio decir, se decrementa en un
desde i 99 hasta 1 incremento –3 hacer valor de 3, generándose los
números 99, 96, 93, 90, ...
escribir (i)
El ciclo se ejecuta siempre que
fin_desde la variable de control sea mayor
o igual que el valor final, en este
Luís Fernando González Alvarán Ciclos
6 / 16
POLITÉCNICO COLOMBNIANO JAIME ISAZA CADAVID

Fundamentos de Programación 1

fin

CICLOS ANIDADOS

Al igual que con las otras estructuras de control, los ciclos pueden anidarse, es decir,
las instrucciones dentro del cuerpo de un ciclo pueden a su vez ser estructuras
repetitivas. Al utilizar estructuras anidadas, la estructura interna debe estar
completamente contenida en la estructura externa, no puede haber solapamiento o
cruces ente estas estructuras.

Al utilizar ciclos anidados debe tenerse en cuenta que no deben confundirse las
variables de control de cada uno de los ciclos. El ciclo o los ciclos internos se ejecutan
y terminan por completo en cada iteración del ciclo externo.

Los siguientes son algunos patrones posibles para estructuras anidadas:

En ningún caso pueden cruzarse las líneas que indican el inicio y el fin de dos ciclos
diferentes.

EJEMPLO

Se desea calcular el promedio de notas de los estudiantes de II semestre, donde cada


estudiante está cursando M materias. De cada materia se tiene la nota definitiva del
estudiante.

Análisis:
Para obtener el promedio de notas de los estudiantes de un semestre determinado,
debe tenerse primero el promedio de cada uno de los estudiantes, teniendo en cuenta
cada una de las materias que el estudiante haya tomado en el semestre.

Pueden usarse dos ciclos anidados: El ciclo externo se usa para los estudiantes y
dentro de él se usa un ciclo para calcular el promedio de un solo estudiante en todo el
semestre. En el ciclo externo, se van acumulando estos promedios individuales para
finalmente calcular el promedio del semestre.

Modelaje :

E/S/ Identificad Tipo Descripción


A or
E n entero Cantidad de estudiantes del semestre
E m entero Cantidad de materias de cada estudiante
Luís Fernando González Alvarán Ciclos
7 / 16
POLITÉCNICO COLOMBNIANO JAIME ISAZA CADAVID

Fundamentos de Programación 1

Cada una de las notas de un estudiante en cada


E nota real
materia.
Contador de estudiantes. Controla el ciclo desde
A estudiante entero
externo
Contador de materias de un estudiante. Controla ciclo
A materia entero
interno.
Acumulador que contendrá la suma de los promedios
A suma real
de cada uno de los estudiantes del semestre
Variable que se usa como acumulador para ir sumando
las notas de un estudiante en cada materia y
A prom_estu real
posteriormente para calcular el promedio de cada
estudiante en el semestre.
S promedio real Promedio de notas del semestre.

Especificación :

PRE : { n / n ∈ Z, n > 0, m / m ∈ Z, m > 0, nota / nota ∈ R, 0.0 <= nota <= 5.0 }

POS : { n = ∅, m = ∅, nota = ∅, promedio ∈ R, , 0.0 <= promedio <= 5.0 }

Algoritmo

Algoritmo PromedioSemestre
Variables
real : nota, suma, promedio, prom_estu
entero : estudiante, materia, m, n
inicio
escribir ("Cuántos estudiantes hay en segundo semestre ?")
leer (n)
suma 0
desde estudiante 1 hasta n hacer
escribir ("Materias del estudiante ", estudiante, " ? " )
leer ( m )
prom_estu 0
desde materia 1 hasta m hacer
escribir("Nota del estudiante",estudiante,"en la materia",
materia)
leer (nota)
prom_estu prom_estu + nota
fin_desde
prom_estu prom_estu / m
suma suma + prom_estu
fin_desde
promedio suma / n
escribir ("Promedio semestre = ", promedio)
fin

Prueba de escritorio

Luís Fernando González Alvarán Ciclos


8 / 16
POLITÉCNICO COLOMBNIANO JAIME ISAZA CADAVID

Fundamentos de Programación 1

materi
n estudiante m suma prom_estu nota promedio pantalla
a
# # # # # # # # Cuantos estudiantes ? 4
4 0
Materias estudiante 1 ?
1
2
2
0
Nota estudiante 1 en
1
materia 1 ? 3.2
3.2
3.2
Nota estudiante 1 en
2
materia 2 ? 4.8
4.8
8.0
3
4.0
4.0
Materias estudiante 2 ?
2
1
materi
n estudiante m suma prom_estu nota promedio pantalla
a
1
0
1
Nota estudiante 2 en
materia 1 ? 4.5
4.5
4.5
2
4.5
8.5
Materias estudiante 3 ?
3
3

PREGUNTAS DE REVISIÓN.

Termine el seguimiento (prueba de escritorio del algoritmo). Note que por cada
iteración del ciclo externo (controlado por estudiante), se realizan TODAS las
iteraciones del ciclo interno (controlado por materia).
Con qué valores finalizan las variables de control ?
Modifique el algoritmo, para que adicionalmente, muestre el promedio de cada
estudiante.

EJEMPLO

Luís Fernando González Alvarán Ciclos


9 / 16
POLITÉCNICO COLOMBNIANO JAIME ISAZA CADAVID

Fundamentos de Programación 1

Cuando se anidan ciclos, pueden combinarse los distintos tipos de ciclos. En este
ejemplo, se modifica el ejemplo anterior para validar las notas ingresadas por el
usuario, utilizando un ciclo mientras.

Algoritmo PromedioSemestreValidacion
Variables
real : nota, suma, promedio, prom_estu
entero : estudiante, materia, m, n
inicio
escribir ("Cuántos estudiantes hay en segundo semestre ?")
leer (n)
suma 0
desde estudiante 1 hasta n hacer
escribir ("Materias del estudiante ", estudiante, " ? " )
leer ( m )
prom_estu 0
desde materia 1 hasta m hacer
escribir("Nota del estudiante",estudiante,"en la materia",
materia)
leer (nota)
mientras (nota > 5.0 o nota < 0.0) hacer
escribir ("Nota incorrecta, ingrese una nota válida")
leer (nota)
fin_mientras
prom_estu prom_estu + nota
fin_desde
prom_estu prom_estu / m
suma suma + prom_estu
fin_desde
promedio suma / n
escribir ("Promedio semestre = ", promedio)
fin

En este ejemplo, se lee la nota y sólo se ejecuta el ciclo mientras si la nota está fuera
del rango válido, éste ciclo se sigue ejecutando si se siguen presentando notas por
fuera del rango válido. El ciclo deja de ejecutarse cuando la nota ingresada está en el
rango válido.

Luís Fernando González Alvarán Ciclos


10 / 16
POLITÉCNICO COLOMBNIANO JAIME ISAZA CADAVID

Fundamentos de Programación 1

EJEMPLOS TIPICOS DE PROGRAMACIÓN

CALCULO DE MÁXIMOS O MINIMOS

Diseñar un algoritmo que procese la estatura y el peso de todos los estudiantes de un


grupo e indique cuál la mayor estatura y cuál el menor peso entre los datos
registrados.

Análisis.

Se deben leer todos los datos correspondientes a estaturas y pesos de los estudiantes,
todos estos datos deben ser positivos. Deben compararse entre sí para determinar
cuál de todos los datos correspondientes a las estaturas es el mayor y cuál de todos
los datos correspondientes a los pesos es el menor.

Modelaje.

E/S/A Identificad Tipo Descripción


or
E h real Estatura (Altura) de cada uno de los estudiantes.
E w real Peso de cada uno de los estudiantes.
S maxh real Estatura máxima registrada.
S minw real Peso mínimo registrado.
E n enter Cantidad de estudiantes
o
A i enter Contador de estudiantes – Se usa para controlar el ciclo.
o

Especificación :

PRE : { h / h ∈ R, n / n ∈ Z, w / w ∈ R } POS : { h = ∅, n = ∅, w = ∅, maxh∈ R+,


minw ∈ R+ }

Plan de Solución

inicio
preguntar cuántos estudiantes hay en el grupo
validar la cantidad de estudiantes para garantizar que sea un valor positivo
pedir la estatura y el peso del primer estudiante
validar los datos para garantizar que son valores positivos
suponer que esos datos corresponden a la mayor estatura y al menor peso,
inicializando maxh y minw
utilizar un ciclo, controlado por contador (i), de 2 a n (desde el segundo estudiante,
hasta el último)
pedir la estatura y el peso para el estudiante i
validar los datos de estatura y peso
comparar el peso (w) con el valor minw: Si w < minw entonces
minw  w

Luís Fernando González Alvarán Ciclos


11 / 16
POLITÉCNICO COLOMBNIANO JAIME ISAZA CADAVID

Fundamentos de Programación 1

fin_si
comparar la estatura (h) con el valor maxh. Si h > maxh entonces
maxh h
fin_si
fin del ciclo.
mostrar los resultados almacenados en minw y maxh
fin

Para encontrar el valor máximo o el valor mínimo de un grupo de datos, es necesario


tener un valor de referencia para poder realizar las comparaciones del caso. Lo mejor,
es suponer que los primeros valores ingresados son el máximo o el mínimo, o ambos,
según sea el caso. En la peor situación, es decir, si sólo se leen esos datos, los valores
serán correctos, pero, si se leen nuevos valores, es posible comprobar si la suposición
inicial es o no verdadera, en caso de que esta suposición sea falsa, simplemente se
reemplazan los valores máximo o mínimo con los nuevos valores, según corresponda.

Algoritmo

Algoritmo Máximo_y_Minimo
Variables
entero : i, n
real : h, w, minw, maxh
inicio
escribir ("Cuántos estudiantes hay en el grupo ?)
leer (n)
mientras (n<=0) hacer
escribir ("La cantidad de estudiantes debe ser mayor que cero")
escribir("Cuántos estudiantes hay en el grupo ?")
leer (n)
fin_mientras
escribir ("Estatura del estudiante 1")
leer (h)
mientras ( h <=0 ) hacer
escribir ( "La estatura debe ser un valor mayor que cero" )
escribir ("Estatura del estudiante 1")
leer ( h )
fin_mientras
escribir ("Peso del estudiante 1")
leer (w)
mientras ( w <=0 ) hacer
escribir ( "El peso debe ser un valor mayor que cero" )
escribir ("Peso del estudiante 1")
leer ( w )
fin_mientras
maxh  h
minw  w
desde i  2 hasta n hacer
escribir ("Estatura del estudiante ", i)
leer (h)
mientras ( h <=0 ) hacer
Luís Fernando González Alvarán Ciclos
12 / 16
POLITÉCNICO COLOMBNIANO JAIME ISAZA CADAVID

Fundamentos de Programación 1

escribir ( "La estatura debe ser un valor mayor que cero" )


escribir ("Estatura del estudiante ", i)
leer ( h )
fin_mientras
escribir ("Peso del estudiante ", i)
leer (w)
mientras ( w <=0 ) hacer
escribir ( "El peso debe ser un valor mayor que cero" )
escribir ("Peso del estudiante ", i);
leer ( w )
fin_mientras
si h > maxh entonces
maxh  h
fin_si
si w < minw entonces
minw  w
fin_si
fin_desde
escribir ("El menor peso registrado es :", minw)
escribir ("La mayor estatura registrada es : ", maxh)
fin

GENERACIÓN DE SERIES

Se desean generar n términos de la siguiente sucesión :

15, 17, 14, 16, 13, 15, 12, . . .

Análisis.

Al enfrentarse a problemas que involucran series, debe buscarse la relación entre los
términos. Cuando se trata de series recursivas, un término puede generarse a partir
de los anteriores.

Por la definición de la serie se sabe que el primer término es 15, el segundo término es
17, el tercer término es 14, pero debe encontrarse la forma de calcular el n-ésimo
término. En este caso, se puede ver que el segundo término se genera restando dos al
primero y el siguiente se genera sumando tres al anterior y se repite la secuencia :
primero se resta dos y luego se suma tres.

Modelaje:

E/S/ Identificad Tipo Descripción


A or
enter
E n Término que desea calcularse
o
enter
A i Contador de términos
o
increment enter Valor que debe sumarse al término inmediatamente anterior
A
o o para generar el siguiente.
Luís Fernando González Alvarán Ciclos
13 / 16
POLITÉCNICO COLOMBNIANO JAIME ISAZA CADAVID

Fundamentos de Programación 1

enter Cada uno de los términos de la serie, a medida que se


S t
o generan.

Especificación:

PRE : { n / n ∈ Z }

POS : { n = ∅, t ∈ Z }

Plan de Solución

inicio
pedir al usuario el valor de n : El término que desea calcular
leer (n)
si n < 1 entonces
mostrar un mensaje de error
si_no
inicializar t en 15 (el valor para el primer término de la serie)
inicializar incremento en 2
utilizar un ciclo desde que vaya entre 1 y n, utilizando i como contador
escribir (t)
t  t + incremento
si incremento = 2 entonces
incremento  -3
si_no
incremento  2
fin_si
finalizar el ciclo
finalizar el primer condicional.
fin

Algoritmo

Algoritmo Serie1

Variables :
entero : n, i, incremento, t
inicio
escribir ("Cuántos términos desea de esta serie ?")
leer (n)
si n < 1 entonces
escribir ("Pueden calcularse desde el término 1 en adelante")
si_no
t 15
incremento 2
desde i 1 hasta n hacer
escribir (t)
t t + incremento
si incremento = 2 entonces
Luís Fernando González Alvarán Ciclos
14 / 16
POLITÉCNICO COLOMBNIANO JAIME ISAZA CADAVID

Fundamentos de Programación 1

incremento -3
si_no
incremento 2
fin_si
fin_desde
fin_si
fin

Prueba de Escritorio.

n i incremen t Pantalla
to
¿@# ¿@# ¿@# ¿@# Cuántos términos desea de esta serie ? 0
0 Puede calcularse desde el término 1 en
adelante

n i incremen t Pantalla
to
¿@# ¿@# ¿@# ¿@# Cuántos términos desea de esta serie ? 4
4
15
2
1 15
17
-3
2 17
14
2
3 14
16
-3
4 16
13
2
5

PREGUNTAS DE REVISIÒN

Suponga el siguiente segmento de programa, con las variables enteras a, b, c, d y e.

a = 2;
b = a++;
c = --a;
d += a;
e -= b;
a *= 3;

Luís Fernando González Alvarán Ciclos


15 / 16
POLITÉCNICO COLOMBNIANO JAIME ISAZA CADAVID

Fundamentos de Programación 1

Al ejecutarse éste segmento de programa, cuál será el valor final de cada una de las
variables involucradas ?
supon
En una estación meteorológica se registra la temperatura de una zona cada hora del
día. Es necesario diseñar un algoritmo que permita calcular el promedio de
temperaturas del día y el promedio del mes , así como el día en el que se registró un
mayor promedio de temperatura. (Suponga que el mes tiene 30 días, si hay varios días
en los que se presenta un mismo promedio de temperaturas y éste corresponde al
mayor promedio, sólo debe indicarse uno de los días)

BIBLIOGRAFÍA

FARREL, Joyce. Introducción a la programación : Lógica y diseño. Thompson, México,


2001. Págs 152 - 172

JOYANES, Luis. Fundamentos de Programación : Algoritmos y Estructura de Datos.


McGrawHill, Madrid, 1997, Segunda Edición. Págs 117 – 137.

JOYANES, Luis y ZAHONERO, Ignacio. Programación en C: Metodología, estructura de


datos y objetos. McGrawHill, Madrid, 2001. Págs 169 - 207

Luís Fernando González Alvarán Ciclos


16 / 16

Potrebbero piacerti anche