Sunteți pe pagina 1din 15

LABORATORIO ALGORITMOS

PRACTICA No 2









ANDRES FERNANDO CARVAJAL RUEDA
GRUPO LABORATORIO No 4






GRUPO ALGORITMO VIRTUAL 301303_68





AFCARVAJALR@UNADVIRTUAL.EDU.CO




TUTOR VIRTUAL



IVAN ARTURO LOPEZ ORTIZ






UNIVERSIDAD NACIONAL
ABIERTA Y A DISTANCIA
UNAD
INGENIERIA DE SISTEMAS
ABRIL DE 2014
OBJETIVOS

Desarrollar habilidades en el uso de pseint y en elaboracin de pseudocdigos.

Desarrollar la capacidad analtica para analizar los problemas planteados y
encontrar una solucin a los mismos


Aplicar la capacidad convergente-divergente a la hora de solucionar problemas y
aplicarlos en la programacin.

















EJERCICIO 1

1. A un trabajador le pagan segn sus horas y una tarifa de pago por horas. Si la cantidad
de horas trabajadas es mayor a 40 horas. La tarifa se incrementa en un 50% para las
horas extras. Calcular el salario del trabajador dadas las horas trabajadas y la tarifa.

Proceso Salario_trabajador
//A un trabajador le pagan segn sus horas y una tarifa de pago por horas. Si la cantidad
de horas trabajadas es mayor a 40 horas.
//La tarifa se incrementa en un 50% para las horas extras. Calcular el salario del trabajador
dadas las horas trabajadas y la tarifa
//variables
//Entero: Hora_tr;V_trab;salario
Escribir "ingrese el numero de horas que trabajo"
Leer Hora_tr
Escribir "ingrese el valor de la hora"
Leer V_trab
Si Hora_tr>40 Entonces
salario<-(40*V_trab)+((Hora_tr-40)*2*V_trab)
Escribir "su salario es"," ","$",salario
Sino
salario<-(Hora_tr*V_trab)
Escribir "su salario es"," ","$",salario
Fin Si
FinProceso


EJERCICIO 2

2. Dado un tiempo en segundos, calcular los segundos restantes que le correspondan
para convertirse exactamente en minutos

//Dado un tiempo en segundos, calcular
//los segundos restantes que le correspondan para convertirse exactamente en minutos
//variables
//entero: seg; seg_restantes, minutos, complemento_min
Proceso calcular_segundos_faltantes_para_minuto
Escribir "ingrese el valor de los segundos"
Leer Seg
Si Seg<60 Entonces
Seg_restantes<-(60-Seg)
Escribir "hacen falta",Seg_restantes," ","segundos para convertirse en 1 minuto"
Sino
minutos<-(Seg-(seg%60))/60
Seg_restantes<-60-(seg%60)
complemento_min<-(minutos+1)
Escribir "equivale a"," ",minutos," minutos, y le hacen falta"," ",seg_restantes," ","
segundos, para convertirse en"," ",complemento_min," "," minutos"
Fin Si
FinProceso



EJERCICIO 3

3. Dado N notas de un estudiante calcular:

a) Cuantas notas tiene desaprobados, de acuerdo al reglamento UNAD.
b) Cuantos aprobados.
c) El promedio de notas.
d) El promedio de notas aprobadas y desaprobadas.





Proceso Calcular_notas
//Dado N notas de un estudiante calcular:
//a) Cuantas notas tiene desaprobados, de acuerdo al reglamento UNAD. b) Cuantos
aprobados.
//c.) El promedio de notas. d) El promedio de notas aprobadas y desaprobadas.
//variables
//entero:total_not;acu_nota1;acu_nota2
//real:promedio;suma_notas;porcen_aprob;porcen_desap
Escribir "escriba el numero de notas a ingresar"
leer total_not
Para i<-1 Hasta total_not Con Paso 1 Hacer
Escribir "ingrese la nota numero",i
leer nota
Si nota<3 Entonces
acu_nota1<-acu_nota1+1
Sino
acu_nota2<-acu_nota2+1
Fin Si
suma_notas<-suma_notas+nota
promedio<-suma_notas/total_not
porcen_aprob<-(acu_nota2*100)/total_not
porcen_desap<-(acu_nota1*100)/total_not
Fin Para
escribir " "
escribir "la cantidad de notas ingresadas son"," ",total_not
escribir "la cantidad de notas aprobadas son"," ",acu_nota2
escribir "la cantidad de notas desaprobadas son"," ",acu_nota1
escribir "el promedio de su nota final es"," ",promedio
escribir "el porcentaje de notas aprobadas es"," ",porcen_aprob, "%"
escribir "el porcentaje de notas desaprobadas es"," ",porcen_desap, "%"

FinProceso



EJERCICIO 4

4. Se trata de escribir el algoritmo que permita emitir la factura correspondiente a una
compra de un artculo determinado, del que se adquieren una o varias unidades. El IVA es
del 16% y si el precio bruto (precio venta ms IVA) es mayor de 50.000,00 pesos se debe
realizar un descuento del 5%.

Proceso calculo_facturas
//Se trata de escribir el algoritmo que permita emitir la factura
//correspondiente a una compra de un artculo determinado, del que se adquieren
//una o varias unidades. El IVA es del 16% y si el precio bruto (precio venta ms IVA)
// es mayor de 50.000,00 pesos se debe realizar un descuento del 5%
//variables
//enteros: cantidad
//real:precio_siniva;precio_total_siniva;iva;precio_bruto;descuento;precio_bruto_des
Escribir "ingrese el valor del articulo comprado sin iva"
Leer precio_siniva
Escribir "ingrese la cantidad de articulos comprados"
Leer cantidad
precio_total_siniva<-(precio_siniva*cantidad)
iva<-(precio_total_siniva*0.16)
precio_bruto<-(precio_total_siniva*0.16)+precio_total_siniva
Si precio_bruto<=50000 Entonces
Escribir "usted a comprado:"," ",cantidad," ", " productos, valor unitario:$","
",precio_siniva," ","precio total en factura sin iva:$"," ",precio_total_siniva," ","iva total:$"," ",iva
en factura," ","VALOR TOTAL A PAGAR:$"," ",precio_bruto," ","GRACIAS POR SU COMPRA"
Sino
descuento<-(precio_bruto*0.05)
precio_bruto_des<-(precio_bruto-descuento)
Escribir "usted a comprado:"," ",cantidad," ", " productos, valor unitario:$","
",precio_siniva," ","precio total en factura sin iva:$"," ",precio_total_siniva," ","iva total:$"," ",iva
en factura," ","valor total con iva:$"," ",precio_bruto," "," usted tiene derecho a un descuento
especial del 5 % equivalente a:$"," ",descuento," ","VALOR TOTAL A PAGAR:$","
",precio_bruto_des," ","GRACIAS POR SU COMPRA"
Fin Si
FinProceso



EJERCICIO 5

5. Se desea desarrollar un algoritmo que permita, desarrollar la tabla de multiplicar de un
determinado nmero (la tabla bsica va de 1 a9);

Proceso tabla_de_multiplicar
//Se desea desarrollar un algoritmo que permita,
//desarrollar la tabla de multiplicar de un determinado nmero (la tabla bsica va de 1 a9)
//variables
//entero: num;k
Escribir "Escriba el numero al que desea imprimir la tabla de multiplicar"
Leer num
Para k<-1 Hasta 9 Con Paso 1 Hacer
Escribir num,"*",k,"=",num*k
Fin Para

FinProceso

EJERCICIO 6
6. Variacin del ejercicio anterior, se debe desarrollar un algoritmo que permita mostrar
las tablas del 1 al 9

Proceso tablas_de_multiplicar_1al9
//se debe desarrollar un algoritmo que permita mostrar las tablas del 1 al 9
//variables
//enteros: j;k
Para k<-1 Hasta 9 Con Paso 1 Hacer
Para j<-1 Hasta 9 Con Paso 1 Hacer
Escribir j,"*",k,"=",j*k
Fin Para
Fin Para

FinProceso





EJERCICIO 7
7. una empresa con 20 empleados desea saber cuntos ganan menos de un salario
mnimo, cuantos tienen un salario entre uno y dos salarios mnimos y cuantos ganan ms
de tres salarios mnimos, adems cual es el valor actual de la nomina de la empresa,
cuanto aumentar la nomina mensual si se hace incrementos as; 20% a aquellos que
gana menos de un salario mnimo, 10% a los que ganan entre 1 y dos salarios mnimos y
5% a quienes gana ms de 3 salarios mnimos.
Se deben realizar los clculos, teniendo en cuenta el valor del salario mnimo legal vigente

Proceso Calculo_salario
//una empresa con 20 empleados desea saber cuntos ganan menos de un salario mnimo,
//cuantos tienen un salario entre uno y dos salarios mnimos y cuantos ganan ms de tres
salarios mnimos,
//adems cual es el valor actual de la nomina de la empresa, cuanto aumentar la nomina
mensual si se hace incrementos as;
//20% a aquellos que gana menos de un salario mnimo, 10% a los que ganan entre 1 y dos
salarios mnimos y 5% a quienes gana ms de 3 salarios mnimos.
//variables
//real:salario;acu;acu1;acu2;acu3;total_nom;nn;an;incremento
Escribir 'Ingrese el salario de cada empleado';
Escribir '';
Para i<-1 Hasta 20 Con Paso 1 Hacer
Escribir 'Ingrese el salario del empleado ',i;
Leer salario;
Si salario>0 & salario<=616000 Entonces
acu<-salario*0.20+salario
Escribir 'El nuevo salario para el empleado ',i ' es: ',acu;
acu1<-acu1+1
Sino
Escribir 'La cantidad de salario debe ser superior a 0';
FinSi
Escribir '';
Si salario>=616000 & salario<=1232000 Entonces
acu<-salario*0.10+salario
Escribir 'El nuevo salario para el empleado ',i ' es: ',acu;
acu2<-acu2+1
FinSi
Escribir '';
Si salario>1232001 Entonces
acu<-salario*0.5+salario
Escribir 'El nuevo salario para el empleado ',i ' es: ',acu;
acu3<-acu3+1
FinSi
total_nom<-total_nom+salario
nn<-nn+acu
an<-nn*100/total_nom-100
incremento<-nn-total_nom
FinPara
Escribir '';
Escribir 'El total de empleados que gana menos del mnimo es de: ',acu1;
Escribir '';
Escribir 'El total de empleados que ganan entre 1 y 2 salarios minmos es de: ',acu2;
Escribir '';
Escribir 'El total de empleados que gana ms de 2 salarios minmos es de: ',acu3;
Escribir '';
Escribir 'El total de la nomina actual es de: ',total_nom;
Escribir '';
Escribir 'El incremento porcentual de la nomina mensualmente es de: ',an,'%';
Escribir '';
Escribir 'El incremento en pesos de la nomina mensualmente es de: ',incremento,' pesos';
FinProceso


EJERCICIO 8

8. la serie fibonacci es un ejercicio interesante, el cual se construye a partir de los dos
primeros nmeros que son el 0 y 1, y apartir de ah se construye la serie ejemplo: 0,1, 0,
1, 1, 2, 3, 5, 8, 13, 21, 34.55.. Desarrollar un algoritmo que permita, calcular n nmeros de
esta serie

Proceso Calcular_numeros_fibonacci
//la serie fibonacci es un ejercicio interesante, el cual se construye a partir de los dos
primeros nmeros que son el 0 y 1,
//y apartir de ah se construye la serie ejemplo: 0,1, 0, 1, 1, 2, 3, 5, 8, 13, 21, 34.55..
//Desarrollar un algoritmo que permita, calcular n nmeros de esta serie
//variables
//enteros:n;c;f1;f2:f3
Escribir "ingrese la cantidad de numeros que quiere conocer de la Sucesin de Fibonacci (
numeros positivos)"
leer n
c<-0
f1<-1
f2<-0
Mientras c<n Hacer
escribir "numero"," ",c,"=",f2
f3<-f1+f2
f1<-f2
f2<-f3
c<-c+1

Fin Mientras
FinProceso

EJERCICIO 9

9. Para las elecciones presidenciales que se realizarn en Colombia, existen tres partidos

polticos aspirando con sus candidatos (1, 2,3). Uno de estos ha decidido realizar una
consulta (encuesta) a un cierto nmero de personas, para determinar las preferencias de
los electores

A cada persona se le pregunta:
Si va a votar,
En caso de que la respuesta se afirmativa, se le preguntar por qu partido
votar.
Elaborar un algoritmo, para llevar un control de la informacin y as obtener unos
resultados con prontitud
Nota: el dato partido solamente se lee si la persona entrevistada ha contestado que s
votar.
El algoritmo imprimir la siguiente informacin:



SI votaran?


Proceso Encuesta_votaciones
//Para las elecciones presidenciales que se realizarn en Colombia, existen tres partidos
//polticos aspirando con sus candidatos (1, 2,3). Uno de estos ha decidido realizar una
//consulta (encuesta) a un cierto nmero de personas, para determinar
//las preferencias de los electores. A cada persona se le pregunta:
//Si va a votar, En caso de que la respuesta se afirmativa, se le preguntar por qu partido
votar.
//El algoritmo imprimira la siguiente informacion: h .Cual es el partido que esta
repuntando?
//cul es % de abstencin? . Cul es % a favor de cada partido, teniendo en cuenta, las
entrevistas validas? . cual es el % de personas que SI votaran?
//variables
//cant_pers;voto;voto_pos;partido;voto_neg;partido_1;partido_2;partido_3;porc_part1;p
orc_part2;porc_part3;porc_votosi;porc_votono
Escribir "ingrese el numero de encuestados"
Leer cant_pers
escribir " LA PRIMERA ENCUESTA QUE INGRESE AL SISTEMA DEBE VOTAR, LUEGO PODRA
INGRESAR LAS QUE NO VAN A VOTAR"
Para i<-1 Hasta cant_pers Con Paso 1 Hacer
Escribir "encuestado numero"," ",i
escribir " usted va a votar(ingrese 1 si va a votar, si no va a votar ingrese 0"
leer voto
Si voto=1 Entonces
voto_pos<-voto_pos+1
escribir " porque partido votara ( si es colorado ingrese 1, si es
democraticos ingrese 2, si es partidarios ingrese 3"
leer partido
si partido=1
partido_1<-partido_1+1
FinSi
si partido=2
partido_2<-partido_2+1
FinSi
si partido=3
partido_3<-partido_3+1
FinSi

Sino
si voto=0
voto_neg<-voto_neg+1
Fin Si
Fin Si

Fin Para
si partido_1 > partido_2 & partido_1 >partido_3
Escribir " el partido que va de primero en las encuestas es el partido COLORADO"
FinSi
si partido_2 > partido_1 & partido_2 >partido_3
Escribir " el partido que va de primero en las encuestas es el partido
DEMOCRATICOS"
FinSi
si partido_3 > partido_1 & partido_3 >partido_2
Escribir " el partido que va de primero en las encuestas es el partido PARTIDARIOS"
FinSi
si partido_1 = partido_2 & partido_1 >partido_3
escribir " los partidos COLORADO Y DEMOCRATICOS comparten el primer lugar en las
encuestas"
FinSi
si partido_1 = partido_3 & partido_1 >partido_2
escribir " los partidos COLORADO Y PARTIDARIOS comparten el primer lugar en las
encuestas"
FinSi
si partido_2 = partido_3 & partido_2 >partido_1
escribir " los partidos DEMOCRATICOS Y PARTIDARIOS comparten el primer lugar en las
encuestas"
FinSi
porc_part1<-(partido_1*100)/voto_pos
porc_part2<-(partido_2*100)/voto_pos
porc_part3<-(partido_3*100)/voto_pos
porc_votosi<-(voto_pos*100)/cant_pers
porc_votono<-(voto_neg*100)/cant_pers
escribir " "
escribir " la cantidad de personas encuestadas es de", " ",cant_pers
escribir " el porcentaje de personas que votaran es", " ",porc_votosi,"%"
escribir " el porcentaje de personas que no votaran es", " ",porc_votono,"%"
escribir "el porcentaje de personas que votaran por el partido Colorado es"," ",porc_part1, " %"
escribir "el porcentaje de personas que votaran por el partido Democraticos es"," ",porc_part2, "
%"
escribir "el porcentaje de personas que votaran por el partido Partidarios es"," ",porc_part3, " %"
FinProceso

EJERCICIO 10

10. Hacer un algoritmo que calcule e imprima el costo de un terreno rectangular, teniendo
como datos la anchura y longitud en metros, y el costo del metro cuadrado

Proceso calculo_valor_terreno
//Hacer un algoritmo que calcule e imprima el costo de un terreno rectangular,
//teniendo como datos la anchura y longitud en metros, y el costo del metro cuadrado
//variables
//real:largo;valor_met;ancho;area;valor_total
Escribir " ingrese el largo del terreno"
leer largo
escribir "Ingrese el ancho del terreno"
leer ancho
escribir " ingrese el precio del metro cuadrado"
leer valor_met
area<-largo*ancho
valor_total<-valor_met*area
escribir " el area total del terreno es de", " ",area "m"
escribir " el valor total del terreno es de ","$"," ",valor_total

FinProceso







EJERCICIO 11

11. Sabiendo que el da 1 de enero de 1.583 fue sbado y que desde entonces no se han
producido modificaciones en el calendario, elaborar un algoritmo para calcular el da de la
semana en que cay o caer una fecha cualquiera posterior al 1 de enero de 1.583. Nota:
Un ao se considera bisiesto cuando es divisible por 400 o bien es divisible por 4 pero no
por 100.

Proceso Calcular_dia_semana
//Sabiendo que el da 1 de enero de 1.583 fue sbado y que desde entonces no se han
producido
//modificaciones en el calendario, elaborar un algoritmo para calcular el da de la semana
en que cay
//o caer una fecha cualquiera posterior al 1 de enero de 1.583.
//Nota: Un ao se considera bisiesto cuando es divisible por 400 o bien es divisible por 4
pero no por 100.

escribir "conocera el dia de la semana con solo ingresar la fecha ( fechas posteriores a
1583)"
escribir ' '
Escribir "ingrese el ao"
Leer A
Escribir "ingrese el numero del mes"
Leer M
Escribir "ingrese el dia en numeros"
Leer D
da<-(A - 1583) * 365
avi <- 1584
Mientras avi <= (a - 1) Hacer

si (avi Mod 100) <> 0 o (avi Mod 400) = 0 Entonces

da <- da + 1




FinSi


avi <- avi + 4
FinMientras

para mi<- 1 hasta m-1 Hacer
si mi = 2 Entonces

si (a Mod 4) = 0 y ((a Mod 100) <> 0 o (a Mod 400) = 0) entonces

da <- da + 29


sino
da <- da + 28
finsi
sino
si mi = 4 O mi = 6 O mi = 9 O mi = 11 entonces
da <- da + 30
sino
da <- da + 31
finsi
FinSi
FinPara


da <- da + (d - 1)


r <- da Mod 7


si r = 0 entonces

Escribir "Es sabado."

FINSI

si r = 1 entonces

Escribir "Es domingo."

FINSI

si r = 2 entonces
Escribir "Es lunes."
FINSI
si r = 3 entonces
Escribir "Es martes."
FINSI
si r = 4 entonces
Escribir "Es miercoles."
FINSI
si r = 5 entonces
Escribir "Es jueves."
FINSI
si r = 6 entonces
Escribir "Es viernes."
FINsi


FinProceso





















CONCLUSIONES

El desarrollo de este trabajo permiti desarrollar nueva habilidades en el uso de
pseint y en el uso de lenguaje de programacin

Se logr aplicar problemas prcticos y encontrar soluciones a todos y cada uno de
los problemas planteados.

S-ar putea să vă placă și