Sie sind auf Seite 1von 13

UNIVERSIDAD NACIONAL EXPERIMENTAL

"FRANCISCO DE MIRANDA"
COMPLEJO DOCENTE EL SABINO
DEPARTAMENTO DE GERENCIA

UNIDAD CURRICULAR: INFORMATICA

PROF. ING. EDITH SMITH

GUIA II: ESTRUCTURAS DE CONTROL


Las estructuras de control indican el orden, alternancia y repeticin de las distintas
instrucciones que componen un programa. Pueden ser: Estructuras de decisin o alternativas y
estructuras repetitivas.

En todos los algoritmos realizados hasta este punto, cada instruccin se ha ejecutado
exactamente una vez en el orden en que apareca. Sin embargo, con frecuencia, nos
encontraremos con situaciones en las que deben proporcionar instrucciones alternativas que
pueden o no ejecutarse dependiendo de los datos de entrada, reflejando el cumplimiento o no
de una determinada condicin.

Las estructuras de control condicionales o alternativas, como su nombre lo indican, son
estructuras que se usan en caso tal de que un algoritmo tenga alguna pregunta o tenga que
decidir sobre una operacin cualquiera.

Una condicin es una expresin lgica que se forma mediante el uso de operadores de
relacin o comparacin (IGUAL (=), MAYOR QUE (>), MENOR QUE (<), MAYOR IGUAL QUE
(> =), MENOR IGUAL QUE (<=) y DIFERENTE (<>) y operadores lgicos (Y, O,NO). Las
expresiones lgicas pueden combinarse para formar expresiones ms complejas; utilizando los
operadores lgicos.

A continuacin se detalla el fundamento de cada uno de ellos:
(Y) AND: Combina dos condiciones simples y produce un resultado verdadero si los dos
operandos son verdaderos.
(O) OR: ES verdadera si uno de los dos operandos es verdadero.
(NO) NOT: acta sobre una sola condicin simple u operando y lo que hace es negar su
valor o invertir su valor.

El resultado de una condicin es un valor de tipo lgico: verdadero o falso.

TIPOS DE ESTRUCTURAS DE DECISIN

Estructuras de Decisin Simples
Es cuando slo se requiere de una slo estructura o una sola pregunta. Su sintaxis es la
palabra SI, seguida de una pregunta o condicin (la cual va encerrada en medio de parntesis),
y por ltimo termina con la palabra ENTONCES.

Formato:
SI (CONDICIN) ENTONCES
...Instrucciones, clculos y/operaciones

En medio de la estructura, SOLO se colocan las instrucciones, clculos u operaciones que se
deban desarrollar cuando la pregunta sea verdadera. Las dems operaciones van fuera de la
estructura de decisin. Las instrucciones o clculos se deben colocar un poco corridos hacia la
derecha para identificar perfectamente donde empieza la estructura y donde termina. En caso
de tener desde dos instrucciones en adelante deben ir entre un nuevo inicio y un nuevo fin.

Ejemplo: Desarrolle un algoritmo que lea dos nmero y calcule divisin del primero por el
segundo. Tenga en cuenta que slo se puede dividir si el segundo nmero no es igual a cero.
(Se presenta un fragmento de cdigo)
INICIO
LEER num1, num2
SI (num2 <> O) ENTONCES
div = num1/num2
FIN

Estructuras de Decisin Dobles
Es cuando slo se requiere de dos estructuras, dos preguntas o slo se tienen dos
posibilidades. Su sintaxis es idntica a la estructura simple, slo que como ya se manejan dos
posibilidades se agrega la palabra SINO, en medio de la estructura.

Formato:
SI (CONDICIN) ENTONCES
...Instrucciones, clculos y/ operaciones (pregunta verdadera)
SINO
...Instrucciones, clculos y/ operaciones (pregunta falsa)

En este caso la primera instruccin se desarrollar cuando la pregunta sea verdadera, y la otra,
cuando sea falsa.

Ejemplo: Desarrolle un algoritmo que lea dos nmeros y calcule la divisin del primero por el
segundo slo si el segundo nmero no es igual a cero, de lo contrario calcule su multiplicacin.
(Se presenta un fragmento de cdigo)
INICIO
LEER num1, num2
SI (num2 <> O) ENTONCES
INICIO SI
div = num1 / num2
IMPRIMIR div
FIN SI
SINO
INICIO SINO
mult = num1 * num2
IMPRIMIR mult
FIN-SINO
FIN

Tenga en cuenta que si luego de la condicin del si o del sino si se van a ejecutar varias
acciones, estas deben encerrarse entre un inicio del si y un fin del si y si fuera el caso tambin
se cumple para el sino.

Estructuras de Decisin Mltiples o Anidadas: Es cuando se requiere el uso de mas
de dos estructuras, dos preguntas o tiene muchas posibilidades. Su sintaxis es una
combinacin de las dos estructuras anteriores. Se debe utilizar un SI-SINO para cada
una de las probabilidades, EXCEPTO PARA LA LTIMA. Cada estructura se debe
desplazar un poco hacia la derecha al momento de abrirla, pero se cierran hacia el lado
izquierdo.

Formato:
SI (CONDICIN1) ENTONCES
...Instrucciones, clculos y/ operaciones (pregunta1 verdadera)
SINO
SI (CONDICIN2) ENTONCES
...Instrucciones, clculos y/ operaciones (pregunta2 verdadera)
SINO
SI (CONDICIN-n) ENTONCES
...Instrucciones, clculos y/ operaciones (pregunta-n verdadera)

En este caso las primeras instrucciones se desarrollarn cuando la pregunta sea verdadera, y
las otras, cuando sea falsa.

Ejemplo: Desarrolle un algoritmo que lea dos nmero y calcule divisin del primero por el
segundo slo si el segundo es menor que el primero. Si el segundo es mayor que el primero
calcule su suma y si son iguales calcule su resta.

(Se presenta un fragmento de cdigo)

INICIO
LEER num1, num2
SI (num1 < num2) ENTONCES
INICIO SI
div = num1 / num2
IMPRIMIR div
FIN SI
SINO
SI (num2 > num1) ENTONCES
INICIO SI
sum = num1 + num2
IMPRIMIR sum
FIN SI
SINO
SI (num2 = num1) ENTONCES
INICIO SI
resta = num1 num2
IMPRIMIR resta
FIN-SI
FIN

EJERCICIOS RESUELTOS DE ESTRUCTURAS CONDICIONALES
1. Desarrolle un algoritmo que lea el valor del pasaje y el nmero de pasajeros que abordarn
un microbs. Calcular el valor total a pagar. Adems, imprima un mensaje que diga si tiene
sobre cupo o no. Tenga en cuenta que a un microbs le caben 20 pasajeros.
(Se presenta un fragmento de cdigo)
INICIO
LEER numpas, valpas
valtot = numpas * valpas
IMPRIMIR valtot
SI (numpas > 20) ENTONCES
IMPRIMIR TIENE SOBRECUPO
SINO
IMPRIMIR NO TIENE SOBRECUPO
FINSI
FIN

2. Calcular el salario neto de un empleado sabiendo que se le hace una retencin del 3% para
pensin y 5% para salud si su salario bsico no llega a los $400.000, si este es mayor a
$800.000 los porcentajes sern del 4% para pensin y 7% para salud; en caso contrario los
porcentajes sern 9% y 7% respectivamente. Se debe leer el valor de cada hora y el nmero
de horas trabajadas por el empleado.
(Se presenta un fragmento de cdigo)
INICIO
LEER vh, nht
sb = vh * nht
SI (sb < 400.000) ENTONCES
INICIO SI
pension = sb * 0.03
salud = sb * 0.05
FIN SI
SINO
SI (sb > 800.000) ENTONCES
INICIO SI
pension = sb * 0.04
salud = sb * 0.07
FIN SI
SINO
INICIO SINO
pension = sb * 0.09
salud = sb * 0.07
FINSINO
sneto = sb salud - pension
IMPRIMIR sneto
FIN

3. Leer la temperatura de un da (en grados centgrados). Imprimir un mensaje HACE FRIO si
la temperatura es menor a 23C, imprima ES UN BUEN DA si la temperatura es mayor e
igual que 23C e inferior a 30C. En caso que la temperatura sea igual o superior a 30C
imprima HACE CALOR.
(Se presenta un fragmento de cdigo)
INICIO
LEER tempgc
SI (tempgc < 23) ENTONCES
IMPRIMIR HACE FRIO
SINO
SI (tempgc < 30) ENTONCES
IMPRIMIR BUEN DA
SINO
IMPRIMIR HACE CALOR
FIN

4. Desarrolle un algoritmo que d solucin a la ecuacin contable ACTIVO = PASIVO +
PATRIMONIO. Adems, imprima si la empresa tiene saldo en cero, tiene perdida o tiene
alguna ganancia.
(Se presenta un fragmento de cdigo)
INICIO
LEER pas, pat
act = pas + pat
SI (act = 0) ENTONCES
IMPRIMIR EMPRESA TIENE SALDO EN CERO
SINO
SI (act < 0) ENTONCES
IMPRIMIR EMPRESA TIENE PERDIDA
SINO
IMPRIMIR EMPRESA TIENE GANANCIAS
FIN


EJERCICIOS PROPUESTOS DE ESTRUCTURAS DE CONTROL CONDICIONALES

1- Un atleta recorre tres distancias diferentes en tres competiciones distintas. Calcular e
imprimir la distancia promedio. Imprima Excelente distancia si el promedio es mayor a 12
kilmetros.
2- Leer la cdula, el nombre, la edad, el sexo y el estado civil de cualquier persona e imprimir el
nombre slo si la persona es una mujer, soltera, mayor de edad. Tenga en cuenta que la
variable sexo puede tomar dos valores: M si es Masculino o F es Femenino y la variable estado
civil se manejar: 1 si es casado, 2 si es soltero y 3 si es otro.
3- Elaborar un algoritmo que lea la cdula de un empleado, el nombre, el salario bsico por
hora y las horas trabajadas en la semana. Si el salario bruto es mayor a $250.000 la retencin
en la fuente es del 27% del salario bruto. Imprimir la cdula del empleado, el nombre, el salario
bruto, el valor de retencin y el salario neto.
4- Leer un nmero, imprimirlo y decir si es par o impar.
5- Leer un nmero, imprimirlo y decir si es positivo o negativo.
6- Leer un nmero y escribir el valor absoluto del mismo.
7- Una persona recibe una cantidad no conocida en dlares. Haga un algoritmo que determine
el valor equivalente en pesos, sabiendo que el dlar tiene un costo de $2.550 si se cambian
menos de 100 dlares, $2.600 si se cambian entre 100 y 350 y finalmente, cuestan $3.000 si
se cambian ms de 350.
8- Leer el nombre y la edad de cualquier persona. Imprimir el nombre slo si la personas es
mayor de edad, de lo contrario imprima un mensaje que diga NO PUEDE VOTAR.
9- Elaborar un algoritmo que lea la cdula de un empleado, el nombre, el salario bsico por
hora y las horas trabajadas en la semana. Calcular el salario neto sabiendo que si las horas
trabajadas en la semana es mayor a 48, esas horas dems se consideran como horas extras y
tienen un 35% de recargo. Se debe imprimir la cdula del empleado, el nombre y el salario
neto.
10- Un vendedor desea calcular la comisin sobre la venta de cualquier cantidad de un artculo.
El vendedor le corresponde el 5% de comisin si el valor unitario del artculo vendido es menor
a $350 y el 7% si el valor unitario es de $350 o ms. Se debe imprimir los datos del vendedor.
11- Hacer un algoritmo que calcule el total a pagar por la compra de camisas. Si se compran
tres camisas o mas se aplica un descuento del 20% sobre el total de la compra y si son menos
de tres camisas un descuento del 10%
12- Un hombre desea calcular la comisin sobre la venta de una cantidad no conocida de un
artculo. Al vendedor le corresponde el 5% de comisin si el valor de la venta total es menor o
igual a $545.000. Si el valor de la venta total es mayor a $545.000 y menor o igual a $750.000
la comisin ser del 7% y si la venta total es mayor a $750.000 la comisin ser del 9%. Se
debe leer el nombre del vendedor, la descripcin del artculo, la cantidad vendida, el valor
unitario. Imprimir todos los datos del vendedor.
13- Escribir una funcin tal que dada la temperatura mxima del mes y la temperatura medida
hoy, actualice el valor de la mxima si la temperatura leda hoy es mayor que dicho mximo.
14- Escribir una funcin tal que dados los goles del equipo local (gl) y los goles del equipo
visitante (gv), devuelva una cadena de caracteres indicando qu equipo ha ganado (resultados
posibles: local, visitante, empate).
15- Calcular el nmero de pulsaciones que debe tener una persona por cada 10 segundos de
ejercicio aerbico; la formula que se aplica cuando el sexo es femenino es:
num. pulsaciones = (220 - edad)/10 y
si el sexo es masculino: num. pulsaciones = (210 - edad)/10
16- Una compaa de seguros est abriendo un departamento. de finanzas y estableci un
programa para captar clientes, que consiste en lo siguiente: Si el monto por el que se efecta el
prstamo es menor que $500.000 la cuota a pagar ser por el 3% del monto, y si el monto es
mayor que $500.000 la cuota a pagar ser el 2% del monto. La compaa desea determinar
cul ser la cuota que debe pagar un cliente.
17- En una fbrica de computadoras se planea ofrecer a los clientes un descuento que
depender del nmero de computadoras que compre. Si las computadoras son menos de cinco
se les dar un 10% de descuento sobre el total de la compra; si el nmero de computadoras es
mayor o igual a cinco pero menos de diez se le otorga un 20% de descuento; y si son 10 o ms
se les da un 40% de descuento. El precio de cada computadora es de $1.150.000
18- Desarrolle un algoritmo que permita leer tres valores y almacenarlos en las variables A, B y
C respectivamente. El algoritmo debe imprimir cual es el mayor y cul es el menor. Recuerde
constatar que los tres valores introducidos por el teclado sean valores distintos. Presente un
mensaje de alerta en caso de que se detecte la introduccin de valores iguales.
19- Disee un algoritmo que califique el puntaje obtenido en el lanzamiento de tres dados en
funcin a la cantidad seis obtenidos, de acuerdo a lo siguiente:
- seis en los tres dados, excelente.
- seis en dos dados, muy bien.
- seis en un dado, regular.
- ningn seis, psimo.
20- Disee un algoritmo que lea tres longitudes de un triangulo y determine qu tipo de
tringulo es: equiltero (si tiene tres lados iguales), issceles (si tiene dos lados iguales) o
escaleno (si tiene tres lados desiguales).


ESTRUCTURAS DE CONTROL REPETITIVAS

Son aquellas en las que una sentencia o grupo de sentencias se ejecutan varias veces.

TERMINOS BASICOS

Bucle: una estructura de control que permite la repeticin de una serie determinada de
sentencias (Ciclo o Lazo)
Cuerpo del Bucle: Son todas las acciones que se repiten en un bucle.
Iteracin: Cada repeticin del cuerpo del bucle.
Contador: Un contador es una variable cuyo valor se incrementa o decrementa en una
cantidad constante cada vez que se produce un determinado suceso o accin. Los
contadores se utilizan con la finalidad de contar sucesos o acciones internas de un
bucle; deben realizar una operacin de inicializacin y posteriormente las sucesivas de
incremento o decremento del mismo. La inicializacin consiste en asignarle al contador
un valor.
Acumulador: Es una variable que almacena sobre s misma un conjunto de valores;
frecuentemente el resultado de operaciones matemticas. La diferencia entre un
contador y un acumulador es que mientras el primero va aumentando de uno en uno, el
acumulador va aumentando en una cantidad variable.

Existen tres estructuras bsicas de control: Ciclo Mientras, Ciclo Haga Para y Ciclo Repetir.

CICLO HAGA PARA
La estructura Haga Para suele utilizarse cuando se conoce con anterioridad el nmero de
veces que se ejecutar la accin. Se necesita una variable contadora (un ndice), para llevar la
cuenta de las veces que entramos al cuerpo del ciclo. Tambin es importante notar que esta
variable se inicializa antes de entrar al cuerpo del ciclo y dentro del cuerpo se incrementa en
una cantidad constante, por lo general en uno.

Formato:
1) Para i:= Vi hasta Vf hacer
Accin
2) Para i:= Vi hasta Vf hacer
Inicio desde
Accin1
Accin 2
Accin n
Fin desde
Donde i es la variable que controlar el ciclo, Vi es el
valor inicial que toma el ciclo y Vf es el valor final del
ciclo.
Ejemplos:
1- Calcular el promedio de notas de 5 notas ledas de un estudiante
Inicio del Algoritmo notas
Variables
suma, numero, i: entero
prom: real
INICIO
suma:=0
DESDE i:=1 HASTA 5 HACER
INICIO DESDE
IMPRIMIR ('Nota: '); LEER(nota)
suma:=suma+nota
FIN DESDE
Prom:= suma/5
IMPRIMIR ('El promedio es:',prom)
FIN

2- Sumar n cantidad de nmeros y mostrar el resultado.
Inicio del Algoritmo numeros
Variables
suma, numero, contador: entero;
INICIO
IMPRIMIR (Cuntos nmeros leer?)
LEER (n)
suma:=0
DESDE contador:=1 HASTA n HACER
INICIO DESDE
IMPRIMIR ('Numero: ');
LEER(numero)
suma:=suma+numero
FIN DESDE
IMPRIMIR ('Suma:',suma)
FIN

CICLO MIENTRAS
Se llama Mientras a la estructura algortmica que se ejecuta mientras la condicin evaluada
resulte verdadera. Se evala la expresin lgica y, si es cierta, se ejecuta la instruccin
especificada, llamada el cuerpo del bucle. Entonces se vuelve a evaluar la expresin lgica, y
si todava es cierta se ejecuta de nuevo el cuerpo. Este proceso de evaluacin de la expresin
lgica y ejecucin del cuerpo se repite mientras la expresin sea cierta.
Formato:
1) Mientras (condicin) hacer
Accin
2) Mientras (condicin) hacer
Inicio mientras
Accin 1
Accin 2
Accin n
Fin mientras
Ejemplos:
1- Programa que suma una cantidad n de edades

Inicio del Algoritmo edades
Variables
edad,total,cont,suma:entero;
INICIO
IMPRIMIR ('Cuantas edades desea sumar');
LEER (total);
suma:=0;
cont:=0;
MIENTRAS cont<total HACER
INICIO MIENTRAS
IMPRIMIR ('Escriba la edad');
LEER (edad);
suma:=suma+edad;
cont:=cont+1;
FIN MIENTRAS
IMPRIMIR ('La suma de edades es: ',suma);
FIN

2- Programa que calcula el cuadrado y cubo de 10 nmeros introducidos.

Inicio del Algoritmo cubos
Variables
cont,num:integer;
cuadrado,cubo: real;
INICIO
cont:=0;
cubo:=1;
MIENTRAS cont < 10 HACER
INICIO MIENTRAS
IMPRIMIR ('Introduzca el numero:');
LEER (num);
cuadrado:=num*num;
cubo:=num*num*num;
cont:=cont+1;
FIN MIENTRAS
IMPRIMIR ('El cuadrado del numero es:',cuadrado);
IMPRIMIR ('El cubo del numero es:',cubo);
FIN


CICLO REPETIR
Especifica un bucle condicional que se repite hasta que la condicin se hace verdadera.
La condicin se evala al final del bucle, despus de ejecutarse todas las sentencias, si la
condicin es falsa, se vuelve a repetir el bucle y se ejecutan todas las sentencias; si la
condicin es verdadera, el cuerpo del bucle habr sido ejecutado pero se detiene el bucle y se
ejecuta la accin siguiente al ciclo.

La sintaxis no requiere inicio de ciclo ni fin de ciclo; el cuerpo del bucle se ejecutar al menos
una vez a diferencia del ciclo mientras que evala la condicin al principio y si esta es falsa
simplemente no se ejecutan las instrucciones del cuerpo del bucle.

En estos ciclos (mientras y repetir) se deben evitar bucles infinitos, esto se logra asegurando
que la condicin contenga una variable cuyo valor se modifique en el cuerpo del bucle.
Formato:
Repetir
Accin 1
Accin 2
Accin n
Hasta que (condicin)


Ejemplos:
1- Escribir un programa en Pascal que calcule la media de 5 nmeros introducidos por el
teclado.

Inicio del Algoritmo numeros
Variables
i:INTEGER;
num,suma, prom:real
INICIO
i:=0
suma:=0
REPETIR
IMPRIMIR ('Introduzca un numero: '); LEER (num)
suma:=suma+num
i:=i+1;
HASTA QUE i=5
prom:= suma / 5
IMPRIMIR ('El promedio es: ', prom)
FIN
2- Programa que transforma metros a centmetros hasta que el usuario diga que no
desea seguir transformando.
Inicio del Algoritmo medidas
Variables
metros,centimetros:real;
resp: caracter;
INICIO
IMPRIMIR ('Este programa transforma metros a centimetros');
REPEAT
IMPRIMIR ('Introduzca la cantidad de metros a transformar');
LEER (metros) ;
centimetros:=metros*100;
IMPRIMIR (metros ,'metros equivale a: ',centimetros ,'cm');
IMPRIMIR ('Desea hacer otro calculo?');
LEER (resp);
HASTA QUE (resp= 'N') or (resp ='n')
FIN

EJERCICIOS PROPUESTOS DE ESTRUCTURAS DE CONTROL REPETITIVAS

1) 100 personas reciben una cantidad no conocida en dlares. Haga un algoritmo que
determine el valor equivalente en BsF, sabiendo que el dlar tiene un costo de 6.3 BsF.
2) En una competencia se inscribieron un nmero no conocido de atletas. Cada uno recorre
tres distancias diferentes en tres competiciones distintas. Calcular e imprimir la distancia
promedio.
3) Calcular el salario neto de N empleados sabiendo que se les hace una retencin del 3% para
pensin y 5% para salud. Se debe leer el valor de cada hora y el nmero de horas trabajadas
por los empleados.
4) Calcular el peso equivalente en Gramos de 250 frutas que tienen un peso no conocido en
Kilogramos.
5) Leer la fecha de nacimiento de 300 personas. Calcular e imprimir sus edades.
6) Leer la temperatura de N das (en grados centgrados). Convertir ese temperatura a K y F.
7) Leer 10 nmeros e imprimir solamente los nmeros positivos.
8) Leer 20 nmeros e imprimir cuantos son positivos, cuantos negativos y cuantos neutros.
9) Suponga que se tiene un conjunto de calificaciones de un grupo de 40 alumnos. Realizar un
algoritmo para calcular la calificacin promedio.
10) Una compaa de seguros tiene contratados a n vendedores. Cada uno hace tres ventas a
la semana. Su poltica de pagos es que un vendedor recibe un sueldo base, y un 10% extra por
comisiones de sus ventas. El gerente de su compaa desea saber cuanto dinero obtendr en
la semana cada vendedor por concepto de comisiones por las tres ventas realizadas, y cuanto
tomando en cuenta su sueldo base y sus comisiones.
11) Se tiene un conjunto de 1.000 tarjetas cada una contiene la informacin del censo para una
persona:
a.- Nmero de censo,
b.- Sexo
c.- Edad
d.- Estado civil (a.- soltero, b. Casado, c. Viudo, d. Divorciado)
Disee un pseudocdigo estructurado que lea todos estos datos, e imprima el nmero de
censo de todas las jvenes solteras que estn entre 16 y 21 aos.
12) El Dpto. de Transito desea saber, de los n autos que entran a la ciudad cuantos tienen
transito restringido en la ciudad de Bogot. Conociendo el ltimo dgito de la placa de cada
automvil se puede determinar utilizando la siguiente relacin:


DGITO COLOR
1 o 2 Lunes
3 o 4 Martes
5 o 6 Mircoles
7 o 8 Jueves
9 o 0 Viernes
13) Un Zologo pretende determinar el porcentaje de animales que hay en las siguientes tres
categoras de edades: de 0 a 1 ao, de ms de 1 ao y menos de 3 y de 3 o ms aos. El
zoolgico todava no est seguro del animal que va a estudiar. Si se decide por elefantes solo
tomara una muestra de 20 de ellos; si se decide por las jirafas, tomar 15 muestras, y si son
chimpancs tomara 40.
14) En una tienda de descuento las personas que van a pagar el importe de su compra llegan a
la caja y sacan una bolita de color, que les dir que descuento tendrn sobre el total de su
compra. Determinar la cantidad que pagara cada cliente desde que la tienda abre hasta que
cierra. Se sabe que si el color de la bolita es roja el cliente obtendr un 40% de descuento; si
es amarilla un 25% y si es blanca no obtendr descuento. Imprimir el total a pagar en cada
caso.
15) Disee un diagrama que lea los 2.500.000 votos otorgados a los 3 candidatos a gobernador
e imprima el nmero del candidato ganador y su cantidad de votos.

Das könnte Ihnen auch gefallen