You are on page 1of 37

Informtica I

Instrucciones de Repeticin I
Instrucciones while / do-while

Mg. Ricardo Coppo

Departamento Ingeniera Electrnica


Universidad Tecnolgica Nacional
Baha Blanca - Argentina
rcoppo@frbb.utn.edu.ar
Temario

Arreglos
Declaracin e inicializacin

Instrucciones de ciclo
while
do while
continue / break

Algoritmos
Menu de opciones
Bsqueda secuencial de un dato en un arreglo
Bsqueda binaria

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
2 Universidad Tecnolgica Nacional - FRBB
Arreglos

Un arreglo es una estructura de informacin compuesta


por N elementos de un mismo tipo

Un arreglo tiene nombre, y todos los elementos del


arreglo se llaman igual que el arreglo.

Los elementos se distinguen entre s por un subndice


entero

Cada elemento del arreglo almacena un valor del tipo


correspondiente

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
3 Universidad Tecnolgica Nacional - FRBB
Arreglos

El nombre del arreglo Nombre a[0] -45


es a del arreglo
a[1] 6
a[2] 0

Posee 12 elementos a[3] 72

con subndice 0..11 a[4] 1543


a[5] -89
a[6] 0
El primer elemento es a[7] 62
a[0] y su valor es -45 a[8] -3
a[9] 1
a[10] 6453
El sexto elemento es
a[11] 78
a[5] y su valor es -89
Posicin
Subndice

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
4 Universidad Tecnolgica Nacional - FRBB
Arreglos

Como toda variable en C, se debe declarar el arreglo


antes de poder utilizarlo

En la declaracin se especifican el nombre y la


cantidad de elementos que posee

Ejemplos:

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
5 Universidad Tecnolgica Nacional - FRBB
Arreglos

Los arreglos se pueden inicializar en el momento de su


declaracin.

Inicializacin total

Inicializacin parcial

Sobre-inicializacin

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
6 Universidad Tecnolgica Nacional - FRBB
Instrucciones de ciclo

Un bucle, ciclo o lazo(loop) es una estructura de


repeticin de una instruccin llamada cuerpo.

Una expresin condicional acta como elemento


determinante para saber si se debe repetir el cuerpo o
no y si se debe terminar la repeticin

En cada iteracin se evala nuevamente la expresin y


si resulta verdadera se ejecuta el cuerpo otra vez

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
7 Universidad Tecnolgica Nacional - FRBB
Instrucciones de ciclo

C posee tres instrucciones de ciclo

Instruccin Uso caracterstico


Repetir mientras se cumpla una determinada
while condicin. No se sabe de antemano la cantidad
de interacciones.

Similar a la primera pero se garantiza la


do - while
ejecucin del cuerpo al menos una vez siempre

Repetir una instruccin una cantidad


for
predeterminada de veces.

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
8 Universidad Tecnolgica Nacional - FRBB
Instruccin while

while ( exprCond )
instruccin;
exprCond
while ( exprCond ) {
instruccin1;
instruccin2;

Cuerpo
}

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
9 Universidad Tecnolgica Nacional - FRBB
Instruccin while

Ejemplo:

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
10 Universidad Tecnolgica Nacional - FRBB
Instruccin while (mientras)

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
11 Universidad Tecnolgica Nacional - FRBB
Bsqueda del mximo elemento

Dado un arreglo de N=10 elementos se desea


encontrar el mximo valor almacenado en el mismo

Algoritmo

Inicializar una variable max en -1


Inicializar un contador (indice) en 0
Mientras el indice < N repetir
Si a[indice] > max entonces max = a[indice]
Incrementar indice
Imprimir max

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
12 Universidad Tecnolgica Nacional - FRBB
Bsqueda del mximo elemento

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
13 Universidad Tecnolgica Nacional - FRBB
Bsqueda del mximo elemento

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
14 Universidad Tecnolgica Nacional - FRBB
Instruccin do - while

do
instruccin;
while ( exprCond ) ;
Cuerpo

do {
instruccin1;
instruccin2; falso
exprCond
} while ( exprCond ) ;
verdad

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
15 Universidad Tecnolgica Nacional - FRBB
Instruccin do - while

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
16 Universidad Tecnolgica Nacional - FRBB
Men de opciones

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
17 Universidad Tecnolgica Nacional - FRBB
Men de opciones

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
18 Universidad Tecnolgica Nacional - FRBB
Adivinar el nmero secreto

Escribir un programa para generar en forma automtica


un nmero secreto (aleatoriamente) entre 0 y 99

En cada iteracin solicitar un nmero (intento) al


usuario.

Si el usuario adivina el nmero terminar el programa

Si el nmero es muy alto entonces pedirle un nmero mas bajo

Si el nmero es muy bajo entonces pedirle un nmero mas alto

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
19 Universidad Tecnolgica Nacional - FRBB
Adivinar el nmero secreto

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
20 Universidad Tecnolgica Nacional - FRBB
Adivinar el nmero secreto

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
21 Universidad Tecnolgica Nacional - FRBB
Adivinar un nmero secreto

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
22 Universidad Tecnolgica Nacional - FRBB
Instruccin break

En ciertas ocasiones se desea terminar un ciclo antes


que la condicin se vuelva a evaluar
Puede ser un caso de error o por un evento excepcional

La instruccin break hace que el programa siga en la


instruccin siguiente al switch, while, do-while o for

Dentro las instrucciones de ciclo siempre se utiliza en


una instruccin if

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
23 Universidad Tecnolgica Nacional - FRBB
Instruccin break

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
24 Universidad Tecnolgica Nacional - FRBB
Instruccin break

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
25 Universidad Tecnolgica Nacional - FRBB
Instruccin continue

Similar al break solamente que no finaliza el bucle.

Hace que el control de programa salte todas las


instrucciones que vienen a continuacin hasta el final
de la sentencia while, do-while o for

A igual que break, siempre debera usarse con una


instruccin if

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
26 Universidad Tecnolgica Nacional - FRBB
Instruccin continue

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
27 Universidad Tecnolgica Nacional - FRBB
Instruccin continue

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
28 Universidad Tecnolgica Nacional - FRBB
Algoritmo de bsqueda secuencial

Dado un arreglo de N nmeros se desea saber si un


determinado valor x se encuentra en el mismo

El algoritmo debe recorrer el arreglo comparando los


sucesivos valores a[i] con x.

Si se encuentra el valor de x se debe imprimir Encontrado e


indicar la posicin del arreglo en que se encontr el valor

Si NO se encuentra el valor de x (se recorrieron las N posiciones


del arreglo) entonces se imprime un cartel No encontrado

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
29 Universidad Tecnolgica Nacional - FRBB
Bsqueda secuencial

3 5 9 4 15 1

buscado = 9

pos = 0

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
30 Universidad Tecnolgica Nacional - FRBB
Bsqueda secuencial

3 5 9 4 15 1

buscado = 9

pos = 1

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
31 Universidad Tecnolgica Nacional - FRBB
Bsqueda secuencial

3 5 9 4 15 1

buscado = 9

pos = 2
Hallado!

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
32 Universidad Tecnolgica Nacional - FRBB
Buscar un valor en un arreglo

Bsqueda secuencial

Algoritmo
Guardar el valor a buscar en una variable ( x ).
Inicializar un ndice en 0 (posicin)
Mientras que el ndice(posicin) sea menor que N
Comparar arr[indice] con el valor buscado y si es igual terminar
Avanzar el ndice.
Imprimir Hallado en la posicin o No encontrado
Terminar.

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
33 Universidad Tecnolgica Nacional - FRBB
Bsqueda secuencial

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
34 Universidad Tecnolgica Nacional - FRBB
Bsqueda secuencial

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
35 Universidad Tecnolgica Nacional - FRBB
Bsqueda secuencial

Instrucciones de repeticin I Informtica I


Mg. Ricardo Coppo
36 Universidad Tecnolgica Nacional - FRBB
Informtica I

Instrucciones de Repeticin I
Instrucciones while / do-while

Mg. Ricardo Coppo

Departamento Ingeniera Electrnica


Universidad Tecnolgica Nacional
Baha Blanca - Argentina
rcoppo@frbb.utn.edu.ar

You might also like