Para cada uno de los siguientes problemas planteados. Realizar.
a. Anlisis del problema b. Definicin de variables c. Diagrama de flujo d. Prueba de escritorio e. Algoritmo
1. En un almacn que vende computadores y accesorios, se hacen unos descuentos de acuerdo con el color de una balota, que saque el cliente, antes de pagar la cuenta total de la compra. Si la balota es blanca no habr descuentos. Si la balota es verde, el descuento ser del 10%. Si la balota es roja el descuento ser del 15%.
Anlisis Problema Color balota blanca No se efecta descuento Color balota verde descuento 10 % Color balota roja descuento 15 %
Dependiendo de la balota que se saque el cliente obtendr un descuento, de ah podemos observar que se trata de un ciclo si anidado, y pasamos al segundo paso.
Definicin Variable Pnc = Precio neto computador Dc = descuento computador Bb = balota color blanca bv = balota color verde br = balota color roja pp= precio pagar
Diagrama de flujo
Prueba de escritorio
Inicio Declaramos las variables Si balota es color blanca Si cumple entonces Su precio a pagar es igual al precio neto a pagar Si no cumple Si balota es color verde Si cumple Descuento sera igual a precio neto del computador por el 0.1 % que es el descuento Y el precio a pagar seria el precio neto menos el descuento Si no cumple La balota seria roja Descuento sera igual a precio neto del computador por el 0.1 % que es el Descuento. Y el precio a pagar seria el precio neto menos el descuento Finsi finsi
Algoritmo
Inicio b = 0; v = 1; r=2; pnc = int; dc = int; pp =0; n =int; if(n =0){ pp = pnc Escribir(Gracias por su compra) } Else{ If(n= 1){ DC = PNC * 0,1; PP = PNC DC; Escribir(Gracias por su compra, su descuento es de: ) } Else{ DC = PNC * 0,1; PP = PNC DC; Escribir(Gracias por su compra, su descuento es de: ) } } Fin
2. Imprima el nuevo sueldo del trabajador y su identificacin sabiendo que este se rige por los siguientes criterios. Sueldo < 3.000.000 tendr un incremento del 10 %. Sueldo = 3000.000 y < = 5000.000 tendr un incremento del 8 % Sueldo > 7000000 tendr un incremento el 6 %
Anlisis del problema
En este problema me piden sacar el nuevo sueldo de un trabajador con ciertas condiciones restricciones, de igual manera se introduce los datos del empleado para asi poder arrojar los datos con su nuevo sueldo
S < 3000000 desc 0,1 3000000 > = s <= S > 7000000
Definicin de variables
S = sueldo Nm = nombre trabajador Id = identificacin del trabajador Inc = incremento SP = sueldo a pagar
Diagrama de flujo
Prueba de escritorio
Inicio Ingreso el sueldo del trabajador Ingreso el nombre del trabajador Ingreso identificacin del trabajador Si sueldo es menor a 3.000.000 Si cumple entonces Incremento = sueldo por 0,1 sueldo a pagar seria = s + incremento si no cumple si sueldo es mayor e igual a 3.000.000 y menor e igual a 5.000.00 incremento = sueldo por 0,08 sueldo a pagar seria = s + incremento si no cumple Si sueldo es mayor a 7.000.000 Incremento = sueldo por 0.06 Sueldo a pagar seria = s + incremento Si no cumple El sueldo a pagar sera igual al sueldo sea si gana entre 5.000.001 y 7.000.000 no tiene inc
Algoritmo
Inicio S = float; Nm = sgtring; Id = int; Inc = float; Sp = float; If(s < 3.000.000){ Inc = 3.000.000 * 0.1; Sp = s + inc; } Else{ If(s >= 3.000.000 & s>= 5.000.000){ Inc = s * 0.08; Sp = s + inc; } Else{ If(s > 7.000.000){ Inc s * 0,06; Sp = s + inc; } Else{ Escribir(sueldo a pagar es igual a sueldo) } } }
3. Leer un nmero un nmero entero decimal entre 1 y 99 y obtenga la correspondiente representacin en el sistema romano y su decimal. Anlisis del problema
En este caso en el programa se ingresa un numero entero decimal entre 1 y 99, asignndole su respectiva representacin en romano, eso me lleva a pensar que como estamos trabajando con el ciclo de del s, divido los nmeros de esta manera, como los nmeros romanos son los mismos del uno (1) al nueve (9) en cada secuencia como unidad, y los nmeros mayores que 10 se diferencian como decenas; entonces parto desde este principio, unidades y decenas. Para hacer un ciclo ms pequeo.
decena(9)=('LXXX') decena(10)=('CD') Escribir 'Ingrese un numero entre el 1 y el 99: ' Leer n Si n >= 10 Entonces d=(n/10)+1 u=(n mod 10)+1 Escribir 'El numero Romano es: ',decena(trunc(d)), unidad(u) Escribir 'Que Corresponde al Numero decimal: ',n Sino u=(n+1) Escribir 'El numero Romano: ',Unidad(u) Escribir 'Que corresponde al Numero Decimal: ',n Fin Si FinProceso
4. Escriba en el cuadro la letra que corresponda. A. Serie de pasos ordenados y lgicos que llevan a la realizacin de una actividad o tarea, a la solucin de un problema o la obtencin de respuesta. B. Nombre que se le da a un campo en una memoria cuyo contenido puede cambiar o variar a travs de un proceso C. Es la representacin grfica de una serie de pasos ordenados y lgicos que llevan a la solucin de un problema, o la realizacin de una actividad.
Variable Algoritmo Diagrama de flujo
ACTIVIDAD DE APRENDIZAJE 2: Concepto de programa
5. Calcule e imprima la cantidad adicional que un trabajador recibe en el reparto anual de utilidades, si esta le asigna como porcentaje de su sueldo mensual de acuerdo a Menos de 1 ao 4% del sueldo 1 ao y menos de tres aos el 7% del sueldo 3 aos y hasta 6 aos el 10% del sueldo Ms de 6 aos 15 % del sueldo.
a. Anlisis del problema
Seria: tiempo servicio < 12 meses utilidad mensual = sueldo * 0,04; Adicional anual = utilidad mensual * 12 meses
Tiempo servicio > 12 meses y tiempo servicio < 36 meses ; B A C Utilidad mensual = sueldo * 0,07; Adicional anual = utilidad mensual * 12 meses;
Tiempo servicio >=36 meses y < 72 meses; Utilidad mensual = sueldo * 0,1; Adicional anual = utilidad mensual * 12 meses;
En este caso escojo que el ingreso del tiempo de servicio sea por meses para saber la utilidad mensual segn el porcentaje, de ah sacar el adicional anual, que lo multiplico por doce (12) que seran los meses del ao.
b. Definicin de variables Ts = tiempo de servicio; Um = utilidad mensual; Aa = adicional anual; S = sueldo;
c. Diagrama de flujo
d. Prueba de escritorio
Con valor 9 en la casilla de meses
Con valor 21 en la casilla de meses
e. Algoritmo
Proceso AumentoAnual aa<-0 um<-0 Escribir 'Ingrese el sueldo del empleado' Leer s Escribir 'Ingrese el Tiempo de Servicio en meses' Leer ts Si ts<12 Entonces um<-s*0.04 aa<-um*12 Escribir 'El aumento Anual del empleado es de: ',aa Sino Si ts>=12 && ts<36 Entonces um<-s*0.07 aa<-um*12 Escribir 'El aumento anual del empleado es de: ',aa Sino Si ts>=36 && ts<72 Entonces um=s*0.1 aa=um*12 Escribir "El aumento anual es de: ",aa Sino um=s*0.15 aa=um*12 Escribir 'el aumento anual es de: ',aa FinSi FinSi FinSi FinProceso
6. Leer un nombre, una nacionalidad y los datos necesarios para identificar a un apersona. Si la nacionalidad es colombiana, imprimir todos los datos anteriormente ledos, si no, imprimir el nombre y la nacionalidad. a. Anlisis del problema
Si se ingresa una nacionalidad a un programa y la nacionalidad de este no es colombiana solo imprimir el nombre y la nacionalidad de lo contrario el programa debe arrojar los datos de la persona, en este caso utilizo un arreglo, y le asigno un pas a cada arreglo
b. Definicin de variables
nom = nombre; nal = nacionalidad; ape= apellido; e = edad; cc = cedula de ciudadana;
c. Diagrama de flujo
d. Prueba de escritorio
cuando es nacionalidad colombiana
Cuando es de otra nacionalidad
e. Algoritmo
Proceso Nacionalidad nal<-0 Dimension pais(8) pais(1)<-(('colombia')) pais(2)<-(('peru')) pais(3)<-(('Brazil')) pais(4)<-(('Usa')) pais(5)<-(('Mexico')) pais(6)<-(('Ecuador')) pais(7)<-(('Argentina')) pais(8)<-(('Chile')) Escribir 'Ingrese el Nombre de la Persona' Leer nom Escribir 'Ingrese los apellidos' Leer ape Escribir 'Digite la Edad' Leer e Escribir 'Digite el numero de Cedula de Ciudadania' Leer cc Escribir 'Digite la Nacionalidad 1. Colombia, 2. Peru, 3. Brazil, 4. USA, 5. Mexico, 6. Ecuador, 7. Argentina, 8. Chile ' Leer nal Si nal=1 Entonces Escribir 'la persona que ingreso se llama: ',nom Escribir 'con apellidos: ',ape Escribir 'Tiene los siguientes anos: ',e Escribir 'se identifica con la cedula de ciudadania No. ',cc Sino Si nal=2 Entonces Escribir 'la persona que ingreso se llama: ',nom Escribir 'la persona es de nacionalidad: ',pais(2) Sino Si nal=3 Entonces Escribir 'la persona que ingreso se llama: ',nom Escribir 'la persona es de nacionalidad: ',pais(3) Sino Si nal=4 Entonces Escribir 'la persona que ingreso se llama: ',nom Escribir 'la persona es de nacionalidad: ',pais(4) Sino Si nal=5 Entonces Escribir 'la persona que ingreso se llama: ',nom Escribir 'la persona es de nacionalidad: ',pais(5) Sino Si nal=6 Entonces Escribir 'la persona que ingreso se llama: ',nom Escribir 'la persona es de nacionalidad: ',pais(6) Sino Si nal=7 Entonces Escribir 'la persona que ingreso se llama: ',nom Escribir 'la persona es de nacionalidad: ',pais(7) Sino Escribir 'la persona que ingreso se llama: ',nom Escribir 'la persona es de nacionalidad: ',pais(8) FinSi FinSi FinSi FinSi FinSi FinSi FinSi FinProceso
7. Determinar el deporte que sea apropiado practicar a una determinada temperatura, teniendo encuentra los siguientes datos. Natacin Temp >90 Tenis Temp > 70 y Temp < = 90 Golf Temp > 30 y Temp < = 80
a. Anlisis del problema
puedo observar que hay interseccin entre los dos ltimos juegos, entonces replanteo el problema, y me quedara de esta manera;
temp >90 natacin temp > 80 y temp < 90 tenis temp > 70 y temp <=80 tenis o Golf temp > 30 y temp <= 70 Golf
de ah saco un arreglo con cuatro variables o juegos, y dependiendo de la variable temperatura que me la lee como temp, sera el deporte adecuado a practicar
b. Definicin de variables
temp = temperatura deporte(1) = ('Natacion') deporte(2) = ('Tennis') deporte(3) = ('Tennis o Golf') deporte(4) = ('Golf')
c. Diagrama de flujo
d. Prueba de escritorio
e. Algoritmo
Proceso TemperaturaJuego Dimension deporte(4) deporte(1) = ('Natacion') deporte(2) = ('Tennis') deporte(3) = ('Tennis o Golf')
deporte(4) = ('Golf') Escribir 'Buenos Dias' Escribir 'Para determinar que Deporte es apropiado a esta Hora por Favor ingrese la Temperatura' leer temp Si temp > 90 Entonces Escribir 'Su deporte apropiado a esta temperatura es: ',deporte(1) Sino Si temp > 80 && temp <=90 Entonces Escribir 'Su deporte apropiado a esta temperatura es: ',deporte(2) Sino Si temp > 70 && temp <= 80 Entonces Escribir 'Su deporte apropiado a esta Temperatura es: ',deporte(3) Sino Si temp > 30 && temp <=70 Entonces Escribir 'Su deporte apropiado a esta Temperatura es: ',deporte(4) Sino Escribir 'Ingrese una Temperatura ambiente Normal' Fin Si Fin Si Fin Si
Fin Si FinProceso
8. Escriba en el cuadro la letra que corresponda.
a. Nombre que se le da a un campo en una memoria cuyo contenido no cambia a travs de un proceso.
b. Es una variable cuya misin es almacenar cantidades variables resultantes de sumas sucesivas. Realiza la misma funcin que un contador, con la diferencia de que el incremento o decremento de cada suma es variable, en lugar de constante como en el caso del contador.
c. Son datos relativos a las diferentes clases de nmeros.