Lógica de
Programación I
Tema 5: Flujos de control
Mag. Daniel Pablo Noriega Aranda
Período académico: 2019-II
Objetivo de la sesión
Al término de la sesión, reconoce los tipos
de datos y comprende las estructuras
algorítmicas de programación.
RAZONAR
1. ¿Qué son las estructuras de Control de Flujo?
2. ¿Para qué sirven?
3. ¿Cuáles son?
RAZONAR
¿Qué son las estructuras de
Control de Flujo?
Las estructuras de control son modelos
lógicos que estándar que permiten modificar
el flujo de ejecución de las instrucciones de
un algoritmo o programa.
¿Para qué sirven?
Sirven para plantear soluciones lógicas y
eficientes de cualquier problema.
¿Cuáles son?
• Secuenciales.
• Selectivas, alternativas o de Decisión.
• Iterativas, repetitivas o cíclicas.
FLUJOS DE CONTROL
Los Flujos de Control son estructuras Algorítmicas que
permiten, mediante la manipulación de variables,
realizar procesos específicos que conducen a la
solución de problemas.
FLUJOS DE CONTROL
Estas estructuras se clasifican de acuerdo con su
complejidad en:
Simples
Secuenciales
Dobles
Selectivas,
condicionales o
de Decisión
Anidadas
Estructuras
Algorítmicas
Múltiples
Iteraciones
Iterativas, de determinadas
Repetición o
Cíclicas Iteraciones
indeterminadas
Secuencia Selección
Estructura if Estructura if/else
(selección simple) (selección doble)
N S
N
Estructura switch (selección múltiple)
S
break
N
S
break
N
S
break
N
Repetición
Estructura while Estr. do/while Estructura for
N S
S
N
N
Literales
• Elementos del lenguaje • Un literal entero se considera
que por sí mismos por defecto como de tipo int;
expresan un valor de pero se le puede forzar a ser
cualquiera de los tipos de tipo long :
vistos anteriormente.
long gran_numero;
int valor; gran_numero = 45L;
char letra; • Los literales de cadena
consisten en una serie de
boolean logico;
caracteres dentro de comillas
dobles :
valor = 4; String nombre, direccion
letra = “h”; nombre=“Juan Perez”
logico = false; direccion=“Av. XYZ 123”
Variables Modificadores
• Es la representación • Dos modificadores
concreta de un tipo de dato. aplicables a variables :
Ej.: final y static :
int entero; Ej.:
boolean valor_logico; final int edad = 27;
float numero_real;
• Declarar más de una • el valor de la variable
variable : edad no será alterado
Float presion, x, temp; durante la ejecución del
programa.
• Inicializar variables con un
valor :
String nombre = “Ana”;
Constantes
• Java no contempla la definición de constantes.
• final evita que el valor de una variable se modifique.
• Una variable que no puede cambiar de valor es una constante
• ...Y static ? Si se define una variable con el modificador static
, no se necesitará definir un objeto de la clase para poder
acceder a ella, sino que es posible el acceso directo mediante la
clase. También se les conoce como variables de clase.
public final class [Link]
extends [Link] {
public final static double E;
public final static double PI;
--------
longitud = 2*[Link]*radio
Operadores
Aritméticos Relación Lógicos
+ Suma >Mayor que && AND
- Resta <Menor que || OR
* Producto >=Mayor o igual que ! NOT
/ División <=Menor o igual que
% Resto != Diferente que
==Igual que
Asignaciones
• La potencia expresiva de Java permite que un determinado
conjunto de asignaciones pueda ser abreviado.
x=x+5; x += 5 ; Ejemplo :
x=x-5; x -= 5 ; x = 7;
x=x*5; x *= 5 ; y = x++;
x=x/5; x /= 5 ; ( y = 7 , x = 8)
x=0;
y=0; x=y=z=0; x = 7;
z=0; y = ++x;
x=x+1; x ++ ; ( y = 8 , x = 8) .
x=x-1; x -- ;
Ejercicio 1
Un padre repartirá una cantidad de dinero entre sus cinco
hijos. Cada uno recibirá una cantidad equivalente a:
• Tamar: 85% del monto recibido por Josué
• Josué: 27% de la cantidad a repartir
• Caleb: 23% del monto total recibido entre Josué y Daniel
• Daniel: 25% de la cantidad a repartir
• David: lo que queda del dinero a repartir
Dada la cantidad de dinero a repartir, diseñe el algoritmo y
el programa que determine cuánto de dinero recibirá cada
hijo.
Ejercicio 1
Algoritmo 1
// Declaración de variables
real dinero, dinTamar, dinJosue, dinCaleb, dinDaniel, dinDavid
// Entrada de datos
Leer dinero
// Proceso de cálculo
dinJosue = 0.27*dinero
dinTamar = 0.85*dinJosue
dinDaniel = 0.25*dinero
dinCaleb = 0.23*(dinJosue + dinDaniel)
dinDavid = dinero - (dinTamar + dinJosue + dinCaleb + dinDaniel)
// Salida de resultados
Imprimir dinJosue, dinTamar, dinDaniel, dinCaleb, dinDavid
Ejercicio 2
Una tienda ha puesto en oferta la venta de un producto
ofreciendo un 11% de descuento sobre el importe de la
compra.
El importe de la compra se calcula multiplicando el precio del
producto por la cantidad de unidades adquiridas. El importe a
pagar se calcula restando el importe de la compra menos el
importe del descuento.
Como incentivo especial, la tienda obsequia 2 caramelos por
cada unidad adquirida. Dado el precio del producto y la
cantidad de unidades adquiridas, diseñe un algoritmo que
determine el importe de la compra, el importe del descuento y
el importe a pagar.
Ejercicio 2
Algoritmo 2
Inicio
// Declaración de variables
real pre, impcom, impdes, imppag
entero can, car
// Entrada de datos
Leer pre, can
// Cálculo de importes
impcom = can*pre
impdes = 0.11*impcom
imppag = impcom – impdes
car = 2*can
// Salida de resultados
Imprimir impcom, impdes, imppag, car
Fin
Ejercicio 3
Una tienda ha puesto en oferta la venta de camisas ofreciendo un descuento, por
temporada de verano, denominado 7% + 7%. Los cálculos se efectúan de la
siguiente manera:
• El importe de la compra es igual al producto del precio de la camisa por la
cantidad de unidades adquiridas.
• El importe del primer descuento es igual al 7% del importe de la compra.
• El importe del segundo descuento es igual al 7% del lo que queda de restar el
importe de la compra menos el importe del primer descuento.
• El importe del descuento total es igual a la suma de los dos descuentos
anteriores.
El importe a pagar es igual al importe de la compra menos el importe del
descuento total.
Dado el precio del producto y la cantidad de unidades adquiridas, diseñe un
programa que determine el importe de la compra, el importe del primer
descuento, el importe del segundo descuento, el importe del descuento total y el
importe a pagar.
Ejercicio 3
Algoritmo 3
Inicio
// Declaración de variables
entero can
real pre, impcom, impdes, imppag, des1, des2
// Entrada de datos
Leer pre, can
// Proceso de cálculo
impcom = pre*can
des1 = 0.07*impcom
des2 = 0.07*(impcom - des1)
impdes = des1 + des2
imppag = impcom - impdes
// Salida de resultados
Imprimir impcom, des1, des2, impdes, imppag
Fin
Ejercicio 4
El cálculo del pago mensual de un empleado de una empresa se
efectúa de la siguiente manera:
• Sueldo básico: horas trabajadas por la tarifa horaria
• Bonificación: 20% del sueldo básico
• Sueldo bruto: sueldo básico más bonificación
• Descuento: 10% del sueldo bruto
• Sueldo neto: sueldo bruto menos descuento
Dadas las horas trabajadas y la tarifa horaria de un empleado,
diseñe un programa que determine el sueldo básico, la
bonificación, el sueldo bruto, el descuento y el sueldo neto que le
corresponden.
Ejercicio 4
Algoritmo 4
Inicio
// Declaración de variables
real horasTrab, tarifaHor
real sueldoBas, montoBoni, sueldoBru, montoDesc, sueldoNet
// Entrada de datos
Leer horasTrab, tarifaHor
// Proceso de cálculo
sueldoBas = horasTrab*tarifaHor
montoBoni = 0.20*sueldoBas
sueldoBru = sueldoBas+montoBoni
montoDesc = 0.10*sueldoBru
sueldoNet = sueldoBru-montoDesc
// Salida de resultados
Imprimir sueldoBas, montoBoni, sueldoBru, montoDesc,
sueldoNet
Fin
Ejercicio propuesto 1
Dadas las cantidades de dinero aportadas por Débora, Raquel y
Séfora para formar un capital.
Diseñe un programa que determine el monto del capital formado
y el porcentaje de dicho capital que aporta cada una.
Ejercicio propuesto 1
Ejercicio propuesto 2
Dada una cantidad de dinero y las edades de tres personas, diseñe
un programa que reparta el dinero en forma proporcional a las
edades.
El monto que le corresponde a cada persona se calcula con la
siguiente fórmula: .
Ejercicio propuesto 2