You are on page 1of 30

UNIVERSIDAD PERUANA LOS

ANDES
ALGORITMO Y ESTRUCTURA
DE DATOS I

ESTRUCTURAS DE CONTROL
SELECTIVAS Y REPETITIVAS
Profesor: Ing. Ricardo Caro Navarro
Lima 2015

REPASANDO:
DIAGRAMA DE FLUJO
inicio

2,3

Suma=2+3

Suma

fin

Punto de inicio del


programa
Entrada de datos 2,3
Proceso
Imprime

Fin

DIAGRAMA DE FLUJO
Conector
A

Condicin

Decisin

ESTRUCTURAS DE CONTROL
Permiten elegir diferentes
caminos en funcin de los datos
que se evalan.
Estructuras

Selectivas

Estructuras

Repetitivas

ESTRUCTURAS SELECTIVAS
Permite definir que se desarrollen un conjunto de
instrucciones dentro de un algoritmo de acuerdo al
resultado de la evaluacin de una condicin y siempre
estarn enmarcadas dentro de un inicio y un fin

Eleccin simple-doble
Seleccin simple
If (SI)
2. Seleccin doble
If-else (SI-SINO)
Elseif (SINOSI)
1.

Eleccin mltiple
1.

Switch- Case(segn_sea - Caso)

IF (SI)
A

condicin

IF condicin
THEN
instruccion1
instruccion2
instruccin3
END IF

NO

SI
Instruccion1
Instruccion2
Instruccion3
B

IF (SI): EJEMPLO
Dada una variable cuyo valor es
ledo desde teclado, imprima por
pantalla si el numero es mayor que
0.

IF (SI): EJEMPLO
Dada una variable cuyo valor es leido desde teclado,
imprima por pantalla si el numero es mayor que 0.
Algoritmo MayorQue0
Variable
Entero: n
Inicio
Mostrar Escribe un numero
Leer n
Si (n>0) entonces
Escribe El numero es mayor que 0
Fin Si
Fin

IF-ELSE (SI-SINO)
A
NO

condicin

SI

instruccion1
instruccion2
instruccion3

instruccion4
instruccion5
instruccion6

IF condicin THEN
instruccion1
instruccion2
instruccin3
ELSE
instruccion1
instruccion2
instruccin3
END IF

IF-ELSE (SI-SINO): EJEMPLO


Dada una variable cuyo valor es
ledo desde teclado, imprima por
pantalla si el numero es mayor que
cero o si es menor o igual que cero

IF-ELSE (SI-SINO): EJEMPLO


Dada una variable cuyo valor es ledo desde teclado,
imprima por pantalla si el numero es mayor que cero o
si es menor o igual que cero.
Algoritmo MayorQue0
Variable
Entero: n
Inicio
Mostrar Escribe un numero
Leer n
Si (n>0) entonces
Escribe El numero es mayor que 0
Sino
Escribe El numero es menor o igual que 0
Fin Si
Fin

ELSEIF (SINOSI)
A
NO
condicin1

si

NO
condicin2

instruccion1

si

NO
condicin3

instruccion2

si
instruccion3

IF condicin1 THEN
instruccion1
ELSEIF condicion2
THEN
instruccion2
ELSEIF condicion3
THEN
instruccion3
END IF

ELSEIF (SINOSI): EJEMPLO


Comparar dos nmeros que
se ingresan por teclado, si
uno es mayor o menor o
igual que el otro.

ELSEIF (SINOSI): EJEMPLO


Comparar dos nmeros que se ingresan por teclado, si uno es
mayor o menor o igual que el otro.
Algoritmo ComparaDosNumeros
Variable
Entero: a,b
Inicio
Mostrar Ingresa dos numeros
Leer (a,b)
Si (a<b) entonces
Escribe a + es menor que + b
SinoSi (a>b)
Escribe a + es mayor que + b
sino

Escribe a + es igual que + b


Fin Si
Fin

SWITCH-CASE (SEGN_SEACASO)
SWITCH expresin
CASE 1 : instruccion1
break
CASE 2 : instruccion2
break
CASE 3 : instruccion3
break
DEFAULT :
instruccion4
END SWITCH

SWITCH-CASE (SEGN_SEACASO): EJEMPLO


Hallar la Suma o Resta de dos nmeros
ingresados por teclado, el operador se
ingresara por teclado (1 para suma y 2 para
resta), si se ingresa un operador invalido
indicar operador invalido

SWITCH-CASE (SEGN_SEACASO): EJEMPLO

Hallar la Suma o Resta de dos nmeros enteros ingresados por teclado, el operador
se ingresara por teclado (1 para suma y 2 para resta), si se ingresa un operador
invalido indicar operador invalido
Algoritmo CaculaSumaResta
Variable
Entero: a,b, operador, resultado
Inicio
Mostrar Ingresa dos numeros

Leer (a,b)
Mostrar Ingresa operador; 1 para sumar 2 para restar
Leer (operador)
Segn_sea(operador) hacer
Caso 1: resultado a+b
Escribir La suma de los valores ingresados es : , resultado
Salir
Caso 2: resultado a-b
Escribir La resta de los valores ingresados es : , resultado
Salir
Defecto: Escribir Operador no Valido
Fin Segn

ESTRUCTURAS REPETITIVAS
Son estructuras que solucionan problemas
cclicos utilizando un mismo conjunto de
acciones que se pueden ejecutar una
cantidad especifica de veces. Esta cantidad
puede ser fija(definida previamente) o
variable (en funcin a algn dato dentro del
programa)
While(Mientras)

Do-While(Hacer-Mientras)
For(Para)

Repeat-Until(Repetir-hasta)

WHILE (MIENTRAS)
A

NO

condicin

si
instruccion1
Instruccion2
instruccion3

WHILE condicin
instruccion1
instruccion2
instruccion3
END WHILE

WHILE(MIENTRAS): EJEMPLO
Hallar el producto de varios nmeros
positivos introducidos por teclado, de
manera que el proceso termina cuando
se ingresa el numero cero por teclado ,
tener en cuenta que si se ingresa cero
como primer valor el producto ser cero

WHILE(MIENTRAS): EJEMPLO
Hallar el producto de varios nmeros positivos introducidos por teclado, de manera

que el proceso termina cuando se ingresa el numero cero por teclado , tener en
cuenta que si se ingresa cero como primer valor el producto ser cero. En el
caso se ingrese un solo numero el producto es el mismo numero
Algoritmo producto_sucesivo
Variable
Entero: numero, producto
Inicio

producto1
Mostrar Ingresa nmero para la multiplicacin sucesiva
Leer (numero)
si (numero =0)
Escribir El producto es: , 0
sino
Mientras (numero != 0 ) hacer
producto producto*numero
Mostrar Ingresa nmero para la multiplicacin sucesiva

Leer (numero)
Fin Mientras
Escribir El producto es: , producto
fin si
Fin

DO-WHILE (HACER MIENTRAS)


A

instruccion1
Instruccion2
instruccion3

condicin

si
NO

DO
instruccion1
instruccion2
instruccion3
WHILE condicin

DO-WHILE (HACER MIENTRAS):


EJEMPLO

Mostrar el incremento de dos en dos


del numero cero hasta la cantidad
de veces del valor que ingrese por
teclado

DO-WHILE (HACER MIENTRAS):

Mostrar el incremento de dos en dos del numero cero hasta la cantidad


de veces del valor que ingrese por teclado
Algoritmo sumatoriauno
Variable
Entero: numero, sumatoria, inc, cont
Inicio
sumatoria0
inc 0
cont 1
Mostrar Ingrese el valor hasta donde sumar
Leer (numero)
si (numero = 0) entonces

mostrar la sumatoria es:0


sino
hacer
cont cont+1

inc inc + 2
sumatoria sumatoria+inc
Mientras(cont<numero)
Mostrar sumatoria

FOR (PARA)
A

inicializar
NO

condicin

si
instrucciones
incremento

FOR inicializar; condicin; incremento


instruccin1
instruccin2

instruccinN
END FOR

FOR (PARA) : EJEMPLO


Determinar cuales son los mltiplos
de 5 comprendidos entre 1 y N (N:
numero ingresado por teclado)

FOR (PARA) : EJEMPLO


Determinar cuales son los mltiplos de 5 comprendidos entre 1 y
N (N: numero ingresado por teclado)
Algoritmo Multiplos5
Variable
Entero: i, N
Inicio
Mostrar Ingrese el numero final del rango de 1 hasta N
Leer (N)
Para i 1 hasta N hacer
Si (resto de (i/5) = 0 ) entonces
Escribe i
Fin Si

Fin Para
Fin

REPEAT-UNTIL(REPETIR -HASTA)
A

REPEAT
instruccion1
instruccion2
instruccion3
UNTIL condicin

instruccion1
Instruccion2
instruccion3

condicin

No
SI
B

REPEAT-UNTIL(REPETIR HASTA): EJEMPLO


Dado un capital C, a un inters i, durante m aos, escriba un
algoritmo que valide las variables correctas y calcule en cuanto se
habr convertido ese capital en m aos sabiendo que es acumulativo
Algoritmo Interes
Variable
Entero: i, j,m
Real: C
Inicio
Repetir
Mostrar Ingrese el capital, el inters y el tiempo correctamente
Leer (C,i,m)
Hasta (C>0) y (i>0) y (m>0)
Para j 1 hasta m hacer

CC*(1+i/100)
Fin Para
Escribe Tienes , C, de capital
Fin

GRACIAS
PROFESOR:
ING. RICARDO CARO NAVARRO

LIMA 2015

You might also like