Programacion 2.2
Programacion 2.2
Programacion 2.2
¿ Que es un Algoritmo ?
Es una secuencia finita de pasos simples, logicos y ordenados con
los cuales se puede RESOLVER un PROBLEMA determinado.
Caracteristicas y propiedades
Las caracteristicas de los Algoritmos.-
• Debe ser PRECISO es por eso que se debe indicar el ORDEN
de realización de cada paso.
• Debe estar DEFINIDO. Si se sigue el algoritmo dos veces,
dado una serie de entradas, se debe obtener el mismo
resultado cada vez.
• Debe ser FINITO. Si se sigue el algoritmo en algun momento
este debe terminar, es decir debe tener un número finito de
pasos.
Propiedad de un buen Algoritmo.-
Debe ser CORRECTO. Si se sigue el algoritmo, dadas unas
ENTRADAS este debe arrojar una SALIDA que es la ESPERADA.
Caracteristicas y propiedades
Propiedad de un buen Algoritmo.-
Debe ser CORRECTO. Si se sigue el algoritmo, dadas unas
ENTRADAS este debe arrojar una SALIDA que es la ESPERADA.
Entrada: 3 Algoritmo
Entrada: 4 (multiplicar dos
numeros) salida=12
Como Usuario
El valor que ESPERAMOS es
12
Representación
Representación de los Algoritmos.-
• Pseudocodigo: Los pasos del algoritmo se describe a traves de
palabras. Ejm:
Inicio
Escribir “Ingrese primer numero:
Leer Num1
…
....
Fin
• Diagrama de flujo: Los pasos del algoritmo se describe a traves
de simbolos gráficos. Ejm:
Partes de un Algoritmo
Partes de un Algoritmo.-
constante 21
valor constante
Tipos de Datos
Toda variable o constante pertenece a un Tipo de Dato.
Define un conjunto
de valores y las Tipos de Datos
operaciones sobre
estos valores.
Numericos Alfanumericos
• Entero: ejm 234 • cadena: ejm Logicos
• Real: ejm 4.654 “casa”, “34234”, Toman valor de
• ”***” Verdad o Falso
• Caracter: ejm
‘e’,’4’,’*’.’ ‘
Operadores
Estos permiten realizar operaciones sobre las variables o constantes.
Símbolo que
indica qué
operación debe Si A=9, B=5, C=7
Tipos de Operadores (A>B) && (A>C)
llevarse a cabo Permiten realizar operaciones
aritméticas, lógicas o de
V && V
comparación con los diferentes V
tipos de datos
Aritméticos Lógicos:
Comparación NOT (!)Negación
+-*/ % = < > >= <= AND (&&) Conjunción
<> OR (||) Disyunción
Operadores
Como funcionan los operadores logicos, a traves de sus tablas de
verdad.
Y logico (&&) O logico (||)
P Q P && Q P Q P || Q
V V V V V V
V F F V F V
F V F F V V
F F F F F F
Negacion logica (!)
P !P
V F
F V
Expresiones y Operador de Asignación
Expresion
Son formulas que se construyen en base a variables, constantes,
operadores y algunas funciones especiales.
Al evaluar una expresion solo puede dar un UNICO valor.
Ejemplos:
edad = 21
edad = AñoActual – añoNacimiento
velocidad = distancia/ tiempo
…
Operador de Asignacion
A traves de este operador es que se puede dar (asignar) un valor a
una variable o constante. Su formato es:
variable = Expresion
EMPEZAR A RESOLVER PROBLEMAS PARA
ACTIVIDADES DEL DIARIO VIVIR.
AGENDA PARA HOY
Problema-2:
Elabore un algoritmo para prepararse un café.
Problema-3:
Elabore un algoritmo para preparar una limonada.
Algoritmos para nuestras actividades del diario
vivir
¿Estos algoritmos elaborados quien los puede ejecutar
sin ningun tipo de problemas?
• El ser HUMANO.
• La COMPUTADORA.
Justifique su respuesta.
EJERCICIOS
Problema-1:
Elabore un algoritmo para cambiar una llanta pinchada
de un automovil.
Problema-2:
Elabore un algoritmo para prepararse un sandwich de
mortadela.
Problema-3:
Elabore un algoritmo para cepillarse los dientes.
OTRO TIPO DE EJERCICIOS
Problema-4:
Un estudiante realiza cuatro examenes, los cuales tienen
la misma ponderacion. Se desea obtener el promedio de
las calificaciones obtenido por el estudiante.
AGENDA PARA HOY
(Repetición)
Programacion Estructurada
Accion1
Accion2
…....
........
........
AccionN
Programacion Estructurada
Estructuras Condicionales:
Las estructuras condicionales comparan una variable contra otro(s)
valor(es), para que, en base al resultado de esta comparación, se
siga un curso de acción dentro del programa, existen tres tipos :
SIMPLE
ESTRUCTURA
CONDICIONAL DOBLE
MULTIPLE
Programacion Estructurada
Estructuras Condicionales Simple:
Son aquellas que permiten una opcion o una alternativa possible,
en función del cumplimiento o no de una condicion.
La Accion1 se
Si (condicion) Entonces ejecuta si
condición es
Accion1 VERDAD
FinSi
Programacion Estructurada
Estructuras Condicionales Doble:
Son aquellas que permiten elegir entre dos opciones o alternativas
posibles en función del cumplimiento o no de una determinada
condición.
La Accion1 se
ejecuta si
Si (condicion) Entonces
condición es
VERDAD
Accion1
La Accion2 se
SiNo
ejecuta si
condición es
Accion2
FALSA
FinSi
Programacion Estructurada
Estructuras Condicionales Multiples:
Son aquellos que permiten elegir entre mas de dos opciones o
alternativas posibles en función del cumplimiento o no de
determinadas condiciones.
Si (condicion1) Entonces
Accion1
SiNo
Si (condicion2) Entonces
Accion2
SiNo
Si (condicion3) Entonces
Accion3
SiNo
…...
......
FinSi
FinSi
Programacion Estructurada
Estructuras Repetición (ciclicas):
Estas permiten repetir una secuencia de instrucciones un número
determinado de veces, para encontrar la solución a un problema,
estas son denominados tambien como bucles, entre los cuales
encontramos:
PARA
ESTRUCTURA MIENTRAS
REPETICION
Ejm
Dim edad, anio As Integer
Dim salario As Double
Dim nombre As String
Dim respuesta As Boolean
EJERCICIOS
Numero1
numero2 ? suma
Algoritmo SumarNumeros
Definir numero1,numero2, suma Como Entero Declaracion de variables
Escribir "Ingrese primer numero"
Leer numero1
Escribir "Ingrese segundo numero"
Leer numero2
suma= numero1 + numero2
Escribir "suma es: ",suma
FinAlgoritmo
EJERCICIOS
Problema-1:
Objetos necesarios
Label1
TextBox1
Label2
TextBox2
Label3
Label4
Button1 Evento “Click” del mouse
EJERCICIOS
Algoritmo SumarNumeros
Definir numero1,numero2, suma Como Entero
Escribir "Ingrese primer numero"
Leer numero1
Escribir "Ingrese segundo numero"
Leer numero2
suma= numero1 + numero2
Escribir "suma es: ",suma
FinAlgoritmo
EJERCICIOS
Numero1
numero2 ? Suma
Resta
Multi
divi
Suma =Numero1 + numero2
Resta = numero1 – numero2
Multi= numero1 * numero2
Divi= numero1 / numero2
EJERCICIOS
area
?
Base
altura
area=base *altura
EJERCICIOS
EJERCICIOS
Problema-3:
Una tienda ofrece un descuento del 15% sobre el total de la compra
y un cliente desea saber cuánto deberá pagar finalmente por su
compra.
totalCompra pagoFinalCompra
Problema-3:
Una tienda ofrece un descuento del 15% sobre el total de la compra
y un cliente desea saber cuánto deberá pagar finalmente por su
compra.
Despejando la incognita:
descuento = TotalCompra * 15 /100
PagoFinalCompra = TotalCompra - descuento
EJERCICIOS
Problema-4:
El dueño de una tienda compra un artículo a un precio
determinado. Obtener el precio en que lo debe vender para
obtener una ganancia del 30%.
precioArticuloOriginal
?
precioVentaArticulo
Ejercicios para PRACTICAR
Problema-4:
El dueño de una tienda compra un artículo a un precio
determinado. Obtener el precio en que lo debe vender para
obtener una ganancia del 30%.
¿Como se calcula el porcentaje de una cantidad ?
Podemos utilizar la Regla de tres simple..
Analizando:
ganancia -------------------------- 30%
?
PrecioArticuloOriginal ---------- 100%
Despejando la incognita:
ganancia = PrecioArticuloOriginal * 30 /100
PrecioVentaArticulo = PrecioArticuloOriginal + ganancia
AGENDA ADICIONAL PARA HOY: 24 marzo
Problema-1:
Elabore un algoritmo para calcular el perimetro de un circulo.
perimetro = 2 * 𝝅 ∗ 𝒓𝒂𝒅𝒊𝒐
radio
𝝅 = 𝟑, 𝟏𝟒𝟏𝟔
radio ? perimetro
PI<- 3.1416
Perimetro<- 2*PI*radio
Ejercicios para PRACTICAR
Problema-2:
Elabore un algoritmo para calcular el perimetro de un
rectangulo.
perimetro = 2 * ( base+altura)
a
Base ? perimetro
altura
Despejando:
IVA= cuentaIni *19/100
Lo mismo hacemos con la propina:
Propina=cuentaIni*10/100 ¿Cuál es el monto total no incluido?
montoNoIncluido= IVA + propina ¿Cuál es la cuenta final del grupo?
cuentaFinal= cuentaIni+ montoNoIncluido ¿cual es el pago final por persona?
pagoFinalPorPersona = cuentaFinal/ canAmigos
Ejercicios para PRACTICAR
Problema-4:
Jardines La Paz vende parcelas a crédito, donde el cliente da una cuota inicial y el
resto lo paga en 24 cuotas, pero con un incremento del 20% sobre lo que quedo
debiendo. Determine el precio final que se pagará por la parcela.
precioVentaParcela precioFinalPagarParcela
cuotaIni
?
Ejercicios para PRACTICAR
Problema-4:
Jardines La Paz vende parcelas a crédito, donde el cliente da una cuota inicial y el resto lo paga en 24
cuotas, pero con un incremento del 20% sobre lo que quedo debiendo. Determine el precio final que
se pagará por la parcela.
Proceso: ¿Cuál es el resto que debe todavia?
restoDebe= precioVentaParcela – cuotaIni ¿Cuál es el incremento del resto que
debe?
Aplicar Regla de tres simple:
incremento - - - - - - - - 20%
restoDebe - - - - - - - - - -100%
Despejando:
incremento= restoDebe *20/100 ¿Cuál es el resto incrementado que debe?
restoDebeIncrementado= restoDebe + incremento ¿Cuál es el precio final que
pagara por la parcela?
precioFinalPagarParcela= cuotaIni + restoDebeIncrementado
AGENDA ADICIONAL PARA HOY:
SIMPLE
ESTRUCTURA
DOBLE
CONDICIONAL
MULTIPLE
Programacion Estructurada
Estructuras Condicionales Simple:
Son aquellas que permiten una UNICA opcion o una UNICA
alternativa possible, en función del cumplimiento o no de una
condicion.
La Accion1 se
Si (condicion) Entonces ejecuta si
condición es
Accion1 VERDAD
FinSi
Programacion Estructurada
Estructuras Condicionales Doble:
Son aquellas que permiten elegir entre dos opciones o alternativas
posibles en función del cumplimiento o no de una determinada
condición.
La Accion1 se
ejecuta si
Si (condicion) Entonces
condición es
VERDAD
Accion1
La Accion2 se
SiNo
ejecuta si
condición es
Accion2
FALSA
FinSi
EJERCICIOS - CONDICIONAL
Problema-1:
Elabore un algoritmo que dado la edad de una persona, el algoritmo debe
verificar si dicha persona es “mayor de edad”, considerando que la
mayoria de edad es a partir de los 18 años.
1. Analisis del problema
edad
? Mensaje= “mayor de edad”
Algoritmo SumarNumeros
Declaracion de variables
Definir edad Como Entero
Escribir "Ingrese edad:"
Leer edad
Si (edad>=18) Entonces
Escribir “mayor de edad"
Fin si
FinAlgoritmo
EJERCICIOS
Problema-1:
Elabore un algoritmo que dado la edad de una persona, el algoritmo debe
verificar si dicha persona es “mayor de edad”, considerando que la mayoria de
edad es a partir de los 18 años
Algoritmo SumarNumeros
Definir edad Como Entero
Escribir "Ingrese edad:" Objetos necesarios
Leer edad Label1
Si (edad>=18) Entonces TextBox1
Escribir “mayor de edad" Label2
Fin si Button1
FinAlgoritmo
EJERCICIOS
Problema-1:
Elabore un algoritmo que dado la edad de una persona, el algoritmo debe
verificar si dicha persona es “mayor de edad”, considerando que la mayoria de
edad es a partir de los 18 años.
Ingrese edad:
Label2
Button1
Verificar
mayoría
de edad
EJERCICIOS
Problema-1:
Elabore un algoritmo que dado la edad de una persona, el algoritmo debe
verificar si dicha persona es “mayor de edad”, considerando que la mayoria de
edad es a partir de los 18 años.
Si ( condicion) Entonces
Paso2 solo se ejecuta si
Paso2 condición es VERDAD
FinSi
Paso3 Paso3 siempre se ejecuta
mensaje
“mayor de edad”
edad
? Hay un UNICA salida
/
¿Existen condiciones para obtener el mensaje?
¿Cuantas alternativas para obtener el mensaje existen?
“no es mayor de edad”
Si (edad >= 18) Entonces
mensaje= “mayor de edad”
SiNo
mensaje= “no es mayor de edad”
FinSi
EJERCICIOS - CONDICIONAL
Problema-2:
Elabore un algoritmo que dado la edad de una persona, el algoritmo debe verificar si dicha persona es “mayor de edad” o
“no es mayor de edad”, considerando que la mayoria de edad es a partir de los 18 años.
Estructura Condicional Doble
Si ( condicion) Entonces
Paso2 solo se ejecuta si
Paso2 condición es VERDAD
SiNo
Paso3 solo se ejecuta si
Paso3 condición es FALSO
FinSi
Paso4 Paso4 siempre se ejecuta
Termina devolviendo salida
EJERCICIOS - CONDICIONAL
Problema-3:
Elabore un algoritmo que dados dos números enteros, el algoritmo debe
hallar el mayor de dichos números.
?
Num1
num2 1ra Alternativa
Hay un UNICA salida
/
montoCompra canPagar
?
¿Existen condiciones para calcular la canPagar
/
15%
¿Cuantas alternativas existen para calcular canPagar? Existe una UNICA salida desc
canPagar
Si (montoCompra <=1000) Entonces
descuento = montoCompra * 10/100 20%
canPagar = montoCompra - descuento desc
canPagar
SiNo
Si (montoCompra>=1001 AND montoCompra<=3000) Entonces
descuento = montoCompta * 15 /100
canPagar = montoCompra – descuento
SiNo
descuento = montoCompta * 20 /100
canPagar = montoCompra – descuento
FinSi
FinSi
EJERCICIOS - CONDICIONAL
Problema-5:
En un almacen se hace un 10% de descuento a los clientes cuya compra no supere los 1000 Bs, se hace un 15% de descuento a
los clientes cuya compra este entre 1001 Bs y 3000 Bs y se se hace un 20% de descuento a los clientes cuya compra supere los
3000 Bs. ¿Cual sera la cantidad que pagara una persona por su compra ?
PRACTICA - CONDICIONAL
Problema-1:
Se lee el haber basico de un obrero y su cantidad de faltas. Si un
trabajador falta dos o mas veces al centro de trabajo, entonces se hace
acreedor a una amonestación del 5% del haber básico. Calcule la
amonestación y el monto final a pagar.
?
¿Existen condiciones para hallar la amonestación?
¿Cuantas alternativas de hallar la amonestación existen?
PRACTICA – CONDICIONAL
Problema-2:
Elabore un algoritmo que ingrese tres números, el algoritmo debe hallar
el mayor de dichos numeros.
Problema-3 :
El Índice de Masa Corporal (IMC, siglas en inglés: BMI -Body Mass Index-), es un
número que pretende determinar, a partir de la estatura y la masa, el rango más
saludable de masa que puede tener una persona. El IMC resulta de la división de
la masa en kilogramos entre el cuadrado de la estatura expresada en metros.
Por ejemplo, si una persona pesa 70 kg. y mide 1,7 m su IMC será:
PRACTICA–CONDICIONAL
Problema-3 (continuacion) :
Tabla de clasificación de OMS del IMC:
FinSi
FinSi
PasoN PasoN siempre se ejecuta
Termina devolviendo salida
EJERCICIO–CONDICIONAL-USO DE OPERADOR
LOGICO “O”
Problema-10 :
Hipermaxi realiza una promoción por la venta de carne, el día lunes y martes el precio de
kilo de carne es de 25 Bs, el jueves el precio de kilo de carne es de 30 Bs, el resto de la
semana el precio es de 50 Bs. Ingrese el día y el número de kilos a comprar, el algorítmo
debe calcular el monto a pagar por la compra de carne.
precKilo=25 Bs
Dia montoPagar
numeroKilos
? Existe una UNICA salida
/
precKilo=30 Bs
Al existir mas de dos alternativas o caminos se utlizara montoPagar
Una estructura condicional MULTIPLE
precKilo=50 Bs
Si (dia=“lunes” OR dia=“martes”) Entonces
montoPagar
precKilo = 25
montoPagar = numeroKilos*precKilo
SiNo
Si (dia=“jueves”) Entonces
precKilo =30
montoPagar = numeroKilos*precKilo
SiNo
precKilo =50
montoPagar = numeroKilos*precKilo
FinSi
FinSi
EJERCICIO–CONDICIONAL-USO DE OPERADOR
LOGICO “O”
Problema-10 :
Hipermaxi realiza una promoción por la venta de carne, el día lunes y martes el precio de kilo de carne es de 25 Bs, el
jueves el precio de kilo de carne es de 30 Bs, el resto de la semana el precio es de 50 Bs. Ingrese el día y el número de
kilos a comprar, el algorítmo debe calcular el monto a pagar por la compra de carne.
salarioSemanal
16 Bs y 20 Bs /hora
Si (hrsTrabajadas<=40) Entonces
salarioSemanal = hrsTrabajadas*16
SiNo
hrsExtras = hrsTrabajadas - 40
salarioSemanal = 40*16 + hrsExtra *20
FinSi
EJERCICIO–CONDICIONAL
Problema-11 :
Un obrero necesita calcular sus salario semanal, el cual se obtiene de la siguiente manera:
- Si trabaja 40 horas o menos se le paga 16 Bs por hora.
- Si trabaja mas de 40 horas se le paga 16 Bs por cada una de las primeras 40 horas y 20 Bs por cada hora extra.
Problema-12 :
Construya un algoritmo que resuelva el siguiente problema:
Una empresa de bienes raíces ofrece casas de interés social, bajo las siguientes
condiciones:
Si los ingresos del comprador son menores a 5000 Bs el enganche será del 15%
del costo de la casa y el resto se distribuirá en pagos mensuales, a pagar en diez
años.
Si los ingresos del comprador son 5000 Bs o mas, el enganche será del 30% del
costo de la casa y el resto se distribuirá en pagos mensuales, a pagar en siete
años.
Calcular el monto del pago mensual.