You are on page 1of 4

Laboratorio LPP - Ejemplos (Evidencia)

A continuacion comparto algunos ejemplos de algoritmos desarrollados en LPP. Aunque, hacen parte de la evidencia del Laboratorio LPP de la tecnologia Anlisis y Desarrollo de
Sistemas de Informacin, no estan todos los que requiere el ejercicio, por supuesto, "Todo esta friamente calculado" (para que practiquen, que depronto se cansa el dedo de copiar
y pegar y pues mejor ejercitar la mente).

//Ejercicio 1 - Laboratorio 2
//Desarrollar un algoritmo que calcule el salario neto que debe recibir un vendedor de un almacn.
//Se debe tener en cuenta si tiene derecho o no al auxilio de transporte.
// Autor: Andres Maurcio Mendez
// Fecha: 16/Abr/2015

// Restricciones:
// 1. Se tiene derecho al auxilio de transporte cuando el trabajador devenga hasta dos salarios mnimos mensuales.(sulbasico*2)
// De manera que por LEY EN COLOMBIA, un empleado que supera los dos salarios mnimos incluyendo comisiones
// no tiene derecho al auxilio de transporte, toda vez que las comisiones son una forma de remuneracin de la jornada ordinaria.
// 2. Los dias laborados deben de estar entre 1 - 30
// 3. La comision es del 2% sobre las ventas del empleado.
// 4. Salario basico = Salario Mnimo Legal Vigente(2013): 589500.
// 5. Auxilio de Transporte = 70500 * das laborados / 30

// Definicion de Variables
entero suebasico, salario, dialaborados, auxtransporte, cedula, canprestamos
// suebasico = sueldo basico legal, estipulado en la restriccion 4 del programa
// salario= Almacena el valor del salario o sueldo mensual del empleado
// dialaborados= Almacena la cantid de dias laborados en el mes
// auxtransporte= Almacena el total del aux de transporte
// cedula= Almacena el numero de la cedula
// canprestamos= Almacena la cantidad de prestamos que tiene el empleado y seran desconados

real suedevengado, comventas, totdevengado, totdeducciones, salneto, ventas, prestamos


// suevengado= Almacena el valor del sueldo devengado (salario / 30 dias habiles) * dias laborados
// comventas= Almacena el total de la comision por ventas
// totdevengado= Almacena el total de las adiciones al salario, salario, comisiones, aux trans
// totdeducciones= Almacena la suma de todos los prestamos que tiene el empleado y seran descontados en esta nomina
// salneto= Salario neto del empleado
// ventas= total de ventas del empleado
// prestamos= valor de cada uno de los prestamos del empleado

cadena [30] nombre


// nombre= Cadena de texto para almacenar texto

//variables de verificacion
entero verificardias
// verificardias= controla si el numero de dias esta entre 1 y 30, segun restriccion del programa N 2

// Contadores
entero i
// i= contador para ciclo liquidar prestamos

//Inicio del programa


inicio
// Iniciacion de variables
totdevengado <- 0
totdeducciones <-0
// Asignacion del sueldo. Respecto a la restriccion numero 4 del programa
suebasico<-589500
//Muestra info del programa
escriba "Progama para calcular Salario del departamento de ventas."
// Funcion para romper linea
Llamar nueva_linea
escriba "VERSION 1.0"
Llamar nueva_linea
escriba "Desarrollo: Andres Mauricio Mendez"
Llamar nueva_linea
Llamar nueva_linea
// Captura de datos por teclado
escriba "Digite cedula: "
lea cedula
escriba "Digite nombre: "
lea nombre
escriba "Digite salario: "
lea salario
// Captura y verificacion de dias laborados segun restruccion numero 2
// Inicialicializa variable para controlar ciclo
verificardias<- 0
// Mientras no se ingrese un valor entre 1 -30 realice el siguiente siclo
mientras verificardias <= 0 haga
Escriba "Dias laborados: "
Lea dialaborados
si dialaborados > 0 entonces
si dialaborados <=30 entonces
// Si se cumple el requisito de dias laborados >0 y menor igual a 30, modificamos variable para salir del ciclo
verificardias<-1
// Calculamos el sueldo devengado del empleado respecto al numero de dias laborados
// Formula: sueldo devengado = (salario / 30 dias habiles) * dias laborados
suedevengado<- (salario/30)*dialaborados
//Incrementamos el total devengado
totdevengado<- totdevengado + suedevengado
sino
// Si no se cumple la condicion informamos al usuario
escriba "Se requiere un valor entre 1 y 30 para dias laborados."
Llamar nueva_linea
fin si
sino
// Si no se cumple la condicion informamos al usuario
escriba "Se requiere un valor entre 1 y 30 para dias laborados."
Llamar nueva_linea
fin si
fin mientras
// Capturamos las ventas del mes para calcular la comisin
escriba "Digite Total Ventas: "
lea ventas
// Calculamos la comision de ventas, en base al 2%
comventas<- (ventas*2)/100
// Incrementamos el total devengado con la comision ganada por ventas
totdevengado <- totdevengado + comventas
// Verificamos si tiene derecho a aux transporte, teniendo como base la restriccion numero 1
si totdevengado < (suebasico *2) entonces
// calculamos el axu, en base a la restriccion 5
// Auxilio de Transporte = 70500 * das laborados / 30
auxtransporte <- (70500 * dialaborados)/30
totdevengado <- totdevengado + auxtransporte
sino
auxtransporte <- 0
fin si
//Vamos a almacenar y calcular lo prestamos realizados
escriba "Digite el numero de prestamos del empleado a liquidar: "
lea canprestamos
para i<-1 hasta canprestamos haga
escriba "Digite valor del prestamo:"
lea prestamos
totdeducciones <-totdeducciones + prestamos
fin para
// Calculamos el salario total
salneto<-totdevengado - totdeducciones
//Imprimimo resultados
Llamar nueva_linea
Llamar nueva_linea
escriba "--------------- RESULTADOS ---------------"
Llamar nueva_linea
escriba "Cedula empleado: ",cedula
Llamar nueva_linea
escriba "Nombre Empleado: ", nombre
Llamar nueva_linea
escriba "Salario Basico: ", salario
Llamar nueva_linea
escriba "Dias laborados: ", dialaborados
Llamar nueva_linea
escriba "Salario devengado: ", suedevengado
Llamar nueva_linea
escriba "Auxilio de Transporte: ", auxtransporte
Llamar nueva_linea
escriba "Comision de Ventas: ", comventas
Llamar nueva_linea
escriba "Prestamos: ", totdeducciones
Llamar nueva_linea
escriba "Salario Neto a Recibir:", salneto
fin

******************************************************************************
//Ejercicio 2 - Laboratorio 2
//Hacer un algoritmo que imprima los primeros 20 trminos de la siguiente serie:
//1, 3, 6, 10, 15, 21, 28,..
// Autor: Andres Maurcio Mendez
// Fecha: 16/Abr/2015

// Definicion de Variables
entero res, varx, vary
//res= resultado de la funcion
//vary= variable auxiliar para la funcin
//varx= contador para incremento

//Inicio del programa


inicio
escriba "Algoritmo que impreme una serie los primeros numeros de una serie."
// Funcion para romper linea
Llamar nueva_linea
escriba "VERSION 1.0"
Llamar nueva_linea
escriba "Desarrollo: Andres Mauricio Mendez"
Llamar nueva_linea
Llamar nueva_linea
escriba "---------------------- INICIO ----------------------"
Llamar nueva_linea
//Ciclo que incrementa el contador x
//inicializamos variables
varx <-0
vary <-0
para varx<-0 hasta 19 haga
res <- varx + vary + 1 // hacemos la funcion r=y+x+1
vary<-res //incrementamos el valor de y
escriba res // imprimimos en pantalla
Llamar nueva_linea
fin para
escriba "---------------------- FINAL ----------------------"
fin

*************************************************************************

//Ejercicio 3 - Laboratorio 2
//Desarrollar un algoritmo que permita calcular los siguientes datos de una fiesta:
//Cuntas personas asistieron a la fiesta?
//Cuntos hombres y cuantas mujeres?
//-Promedio de edades por sexo
//-La edad de la persona ms joven que asisti
// Autor: Andres Maurcio Mendez
// Fecha: 16/Abr/2015

// Restricciones:
// 1. No se permiten menores de edad a la fiesta
// 2. Ingresar datos hasta que se ingrese una edad igual a cero
// Definicion de Variables
entero contador, conhombres, conmujeres, prohombres, promujeres, masjoven, edad, sexo, verificasexo, verificaprimero
// contador= contara el numero de personas asistentes
// conhombres= contara cuantos de los asistentes son hombres
// conmujeres= contara cuantas de los asistentes son mujeres
// prohombres= promedio de edad hombres
// promujeres= promerio de mujeres
// masjoven= edad de la persona mas joven
// edad= edad de la persona
// sexo= 1: masculino / 2: femenino
// verificasexo= para ciclo que verifica que hayan digitado 1 o 2 como sexo
// verificaprimero= verifica si es la primera persona que ingresa, 1 si, 2 no

//Inicio del programa


inicio
escriba "Algoritmo para calcular datos de una fiesta:"
// Funcion para romper linea
llamar nueva_linea
escriba "VERSION 1.0"
llamar nueva_linea
escriba "Desarrollo: Andres Mauricio Mendez"
llamar nueva_linea
llamar nueva_linea
escriba "Bienvenidos a la fiesta"
llamar nueva_linea
escriba "-----------------------"
llamar nueva_linea

// inicializar variables
verificasexo<- 1
verificaprimero<-1
sexo<- 0
edad<- -1 //inicializo en -1 para poder cumplir con restriccion 2 del programa
contador<-0
conhombres<-0
conmujeres<-0
prohombres<-0
promujeres<-0
masjoven<-0
// ciclo para ingresar personas a la fista, se ejecutara hasta que verifica =0

mientras edad <> 0 haga


escriba "Digite edad: "
lea edad
//condicionamos edad para que solo se ingrese numeros positivos
mientras edad < 0 haga
escriba "Digite edad: "
lea edad
fin mientras
// Dedidir si tiene autorizado ingresar, segun restriccion 1
si edad < 18 entonces
si edad > 0 entonces // ciclo para evitar mostrar mensaje cuando se digite 0 y se quiera terminar el programa
escriba "Ud no tiene permitido entrar, ud debe ser mayor de 18 aos"
llamar nueva_linea
//bloque para mejorar interfax grafica
escriba "-----------------------"
llamar nueva_linea
llamar nueva_linea
escriba "Siguiente persona"
llamar nueva_linea
//fin de bloque para mejorar interfax grafica
fin si
sino
//verifico si es la primera persona que ingreso
si verificaprimero=1 entonces
// si es la primera persona ingresa, pasa a ser la mas joven
masjoven<- edad
verificaprimero<-2 // modificamos variable porque ya no ing. la primera persona
sino
// verificamos edad y modif. variable de cumplirse la condicion
si edad < masjoven entonces
masjoven <- edad
fin si
fin si
// permitimos ingreso y preguntamos sexo
escriba "Ingreso permitico."
llamar nueva_linea
// ciclo para verificar que se digite 1 o 2 como sexo
mientras verificasexo = 1 haga
escriba "SEXO: 1 Mascululo, 2 Femenino: "
lea sexo
si sexo= 1 entonces
verificasexo<-2 //cambiamos el valor de la variable para salirnos del ciclo
contador <- contador +1 //cont. total personas
// verificamos sexo sumamos promedios e incrementamos contadores de hombres
conhombres<-conhombres+1
prohombres<-prohombres+edad
//bloque para mejorar interfax grafica
escriba "-----------------------"
llamar nueva_linea
llamar nueva_linea
escriba "Siguiente persona"
llamar nueva_linea
// fin de bloque para mejorar interfax grafica
sino
si sexo= 2 entonces
verificasexo<-2
contador <- contador +1
// verificamos sexo sumamos promedios e incrementamos contadores de mujeres
conmujeres<-conmujeres+1
promujeres<-promujeres+edad
//bloque para mejorar interfax grafica
escriba "-----------------------"
llamar nueva_linea
llamar nueva_linea
escriba "Siguiente persona"
llamar nueva_linea
// fin de bloque para mejorar interfax grafica
fin si
fin si
fin mientras
verificasexo<-1 // retornamos el valor de la variable a 1 para proxima persona
fin si
fin mientras
//bloque para mejorar interfax grafica
escriba "-----------------------"
llamar nueva_linea
escriba "UD No desea ingresar mas datos"
llamar nueva_linea
escriba "---------:::::::--------------"
llamar nueva_linea
// fin de bloque para mejorar interfax grafica
escriba "RESULTADOS"
//calculo promedios
prohombres <- prohombres / conhombres
promujeres <- promujeres / conmujeres
llamar nueva_linea
llamar nueva_linea
escriba "Total asistentes: ",contador
llamar nueva_linea
escriba "Total hombres: ", conhombres
llamar nueva_linea
escriba "Total mujeres: ", conmujeres
llamar nueva_linea
escriba "Promedio edad hombres: ", prohombres
llamar nueva_linea
escriba "Promedio edad mujeres: ", promujeres
llamar nueva_linea
escriba "Edad de persona mas joven: ", masjoven
fin

You might also like