Post on 17-Dec-2015
description
ESTRUCTURAS DE CONTROL
SELECTIVAS Y REPETITIVAS
UNIVERSIDAD PERUANA LOS
ANDES
ALGORITMO Y ESTRUCTURA
DE DATOS I
Profesor: Ing. Ricardo Caro Navarro
Lima 2015
REPASANDO:
DIAGRAMA DE FLUJO
Punto de inicio del
programa
Entrada de datos 2,3
Proceso
Imprime
Fin
inicio
2,3
Suma=2+3
Suma
fin
DIAGRAMA DE FLUJO
Conector
Decisin
A
Condicin
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
1. Seleccin simple
If (SI)
2. Seleccin doble
If-else (SI-SINO)
Elseif (SINOSI)
Eleccin mltiple
1. Switch- Case(segn_sea - Caso)
IF (SI)
IF condicin
THEN
instruccion1
instruccion2
instruccin3
END IF
condicin NO
SI
Instruccion1
Instruccion2
Instruccion3
B
A
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) IF condicin THEN
instruccion1
instruccion2
instruccin3
ELSE
instruccion1
instruccion2
instruccin3
END IF
condicin
NO
SI
instruccion1
instruccion2
instruccion3
B
A
instruccion4
instruccion5
instruccion6
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)
IF condicin1 THEN
instruccion1
ELSEIF condicion2 THEN
instruccion2
ELSEIF condicion3 THEN
instruccion3
END IF
A
condicin1
condicin2
condicin3
instruccion1
instruccion2
instruccion3
B
si
si
si
NO
NO
NO
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 (ab)
Escribe a + es mayor que + b
sino
Escribe a + es igual que + b
Fin Si
Fin
SWITCH-CASE (SEGN_SEA-
CASO)
SWITCH expresin
CASE 1 : instruccion1
break
CASE 2 : instruccion2
break
CASE 3 : instruccion3
break
DEFAULT :
instruccion4
END SWITCH
SWITCH-CASE (SEGN_SEA-
CASO): 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_SEA-
CASO): 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
Fin
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)
WHILE condicin
instruccion1
instruccion2
instruccion3
END WHILE
A
condicin
instruccion1
Instruccion2
instruccion3
B
si
NO
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)
DO
instruccion1
instruccion2
instruccion3
WHILE condicin
A
condicin
instruccion1
Instruccion2
instruccion3
B
si
NO
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
FOR (PARA)
FOR inicializar; condicin; incremento
instruccin1
instruccin2
instruccinN
END FOR
A
condicin
instrucciones
B
si
NO
inicializar
incremento
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)
REPEAT
instruccion1
instruccion2
instruccion3
UNTIL condicin
A
condicin
instruccion1
Instruccion2
instruccion3
B
No
SI
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