Você está na página 1de 65

UNIVERSIDAD TECNOLGICA DEL NORTE DE GUANAJUATO (UTNG)

Metodologa de la programacin Grupo: GSI-0913

Profesor: Ing. Guillermo Ojeda.

Jos Sandoval Lpez No. Control: 1212100802

Dolores Hidalgo, C.I.N. Guanajuato a 06 de noviembre de 2012.

PROBLEMAS ESTRUCTURAS SECUENCIALES 1.- Dada un cantidad en pesos, obtener la equivalencia en dlares, asumiendo que la unidad cambiara es un dato desconocido.
Pseudocdigo: Proceso sin_titulo Escribir "Cantidad De Pesos "; Leer Pesos; Escribir "Tasa Cambiaria "; Leer Tasa; Dolares<-Pesos/Tasa; Escribir "Total de Pesos "; Escribir Pesos; Escribir "Tasa Cambiaria "; Escribir Tasa; Escribir "Equivalencia En Dolares "; Escribir Dolares; FinProceso

Corridas: Corrida 1 2 3 Datos Pesos 1500 50000 30000 Salida Tasa Equivalencia 11.5 130.434783 12 4166.66667 11.2 2678.57143

1.- Leer un nmero y escribir el valor absoluto del mismo. Pseudocdigo: Proceso sin_titulo Escribir "Ingrese el valor de numero:"; Leer numero; Si numero<0.0 Entonces absoluto <- -numero; SiNo absoluto <- numero; FinSi Escribir "Valor de absoluto: ", absoluto; FinProceso

Corrida 1 2 3

Datos Numero 1 45 1000

Salida Valor absoluto 1 45 1000

3) La presin, el volumen y la temperatura de una masa de aire se relacionan por la formula: Masa=(presin*volumen)/(0.37*(temperatura+460)) 1.-Proceso sin_titulo 2.3.4.5.6.7.8.9.10.11.12.13.- FinProceso CORRIDA 1 2 3 PRESIN 12 5 7 DATOS DE ENTRADA VOLUMEN TEMPERATURA 10 15 20 15 10 27 SALIDA MASA 0.682780512 0.5689900427 0.3884788279 Escribir "La masa correspondiente a los datos ingresados es de: ", masa; masa<-(Presion*volumen)/(0.37*(temperatura+460)); Escribir "Ingresa la presion"; Leer presion; Escribir "Ingresa volumen"; Leer volumen; Escribir "Ingresa temperatura"; Leer temperatura;

4) Calcular el nmero de pulsaciones que una persona debe tener por cada 10 segundos de ejercicio, si la formula es: Num pulsaciones=(220-edad)/10 Proceso sin_titulo Escribir "Ingresa la edad del paciente"; Leer edad; pulsaciones<-((220-edad)/10); Escribir "pulsaciones por cada 10 seg: ", pulsaciones; FinProceso

CORRIDA

1 2 3 4

DATOS SALIDA DE ENTRADA EDAD PULSACIONES 18 20 28 19 29 19 48 17

5) Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario anterior.
Proceso sin_titulo Escribir "introducir sueldo"; Leer SUE; Sup<-(SUE*.25)+SUE; Escribir "Nuevo sueldo es de " , Sup; FinProceso

Corrida 1 2 3

Datos Salida Sueldo Sueldo + Incremento 3000 3750 1500 1875 8000 10000

Proceso sin_titulo Escribir "introducir sueldo anual"; Leer HOSPITAL GIN<-(HOSPITAL*.40); TRA<-(HOSPITAL*.30); PED<-(HOSPITAL*.30); Escribir "Presupuesto de ginecologia es de",GIN; Escribir "Presupuesto de traumatologia es de",TRA; Escribir "Presupuesto de padiatria es de",PED; FinProceso

Corrida 1 2 3

Datos Sueldo Anual 150000 400000 456789

Salida Presupuesto Ginecologa 60000 160000 182715.6

Traumatologa 45000 120000 137036.7

Pediatra 45000 120000 137036.7

7.- El dueo de una tienda compra un articulo a un precio determinado. Obtener el precio en que lo debe vender para obtener una ganancia del 30%.

Pseudocdigo Inicio Escribir: precio del articulo Leer: precio Ganancia= precio*.30 Escribir: ganancia Total= ganancia+precio Escribir: total Fin Corrida Corridas Datos de Entrada 1 2 3 4 5 10 4 20

Salida

6.5 13 5.2 26

8.- Todos los lunes, mircoles y viernes, una persona corre la misma ruta y cronometra los tiempos obtenidos. Determinar el tiempo promedio que la persona tarda en recorrer la ruta en una semana cualquiera. Inicio

Escribir: tiempo del lunes Leer: uno


Escribir: tiempo del mircoles Leer: dos Escribir: tiempo del viernes Leer: tres Tiempo= uno+dos+tres Escribir: tiempo Fin Corridas Datos de a 1 3 2 4 Entrada Salida b 3 4 c 6 8

9.- Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas invierte una cantidad distinta. Obtener el porcentaje que cada quien invierte con respecto a la cantidad total invertida.
Proceso sin_titulo Escribir "cantidad 1"; Leer Cantidad1; Escribir "cantidad 2"; Leer Cantidad2; Escribir "cantidad 3"; Leer Cantidad3; Tot<-Cantidad1+Cantidad2+Cantidad3; Uno<-Cantidad1/Tot*100; Dos<-Cantidad2/Tot*100; Tre<-Cantidad3/Tot*100; Escribir "resultado 1 es.." ,Uno,"%"; Escribir "resultado 2 es..", Dos,"%"; Escribir "resultado 3 es...", Tre,"%"; FinProceso

9.-Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas invierte una cantidad distinta. Obtener el porcentaje que cada quien invierte con respecto a la cantidad total invertida Pseudocdigo Proceso sin_titulo Escribir "ingrese la cantidad de la persona 1" Leer per1 Escribir "ingrese la cantidad de la persona 2"

Leer per2 Escribir "ingrese la cantidad de la persona 3" Leer per3 cantidadto<-per1+per2+per3; pp1<-per1*100/cantidadto pp2<-per2*100/cantidadto pp3<-per3*100/cantidadto Escribir "porcentaje persona 1: ",pp1 Escribir "porcentaje persona 2: ",pp2 Escribir "porcentaje persona 3: ",pp3 FinProceso

Corrida 1 2

Entrada cantidad Persona 1 Persona 2 Persona 3 20 50 100 1000 2000 3000

Persona 1 11.76 16.67

Porcentaje Persona 2 29.41 33.33

Persona 3 58.82 50

10.-Un alumno desea saber cual ser su promedio general en la tres materias mas difciles que surca y cua ser el promedio que obtendr en cada una de ellas. Estas materias se evalan como se muestra a continuacin: La calificacin de matemticas se obtiene de la sig. Manera: Examen 90% Promedio de tareas 10% En esta materia se pidi un total de tres tareas La calificacin de fsica se obtiene de la sig. Manera: Examen 80% Promedio de tareas 20% En esta materia se pidi un total de dos tareas. La calificacin de qumica se obtiene de la sig. Manera: Examen 85%

Promedio de tareas 15% En esta materia se pidi un promedio de tres tareas

Pseudocdigo Proceso sin_titulo Escribir "escribe que sacaste en el examen de matematicas" Leer examate Escribir "escribe cuantas tareas entregaste" Leer matetare examate<- examate*90/100 matetare<- matetare*10/3 prommate<-(examate)+(matetare); Escribir "promedio de Mate: ",prommate

Escribir "escribe que sacaste en el examen de fisica" Leer exafisi Escribir "Escribe cuantas tareas entregaste" Leer fisitare exafisi<-exafisi*80/100 matetare<-fisitare*20/2 profisi<-exafisi+matetare Escribir "Promedio de Fisica",profisi

Escribir "Escribe que sacaste en el examen de quimica" Leer exaqui Escribir "escribe cuantas tareas entregaste" Leer quitare exaqui<-exaqui*85/100 quitare<-quitare*15/3 proqui<-exaqui+quitare Escribir "Promedio de quimica: ",proqui

proge<-(prommate+profisi+proqui)/3; Escribir "Tu Promedio General es: ",proge FinProceso

Corrida 1 2

Matemticas Examen Tareas 80 3 100 1

Fsica Examen 90 100

Tarea 2 0

Qumica Examen 95 100

Tarea 2 1

Promedio 88.25 87.77

ESTRUCTURAS DE DECISIN SIMPLES 1) Calcular el total que una persona debe pagar en un llantera, si el precio de cada llanta es de $800 si se compran menos de 5 llantas y de $700 si se compran 5 o mas.
Proceso sin_titulo Escribir "CUANTAS LLANTAS??"; Leer LLANTAS; Si (LLANTAS>5) Entonces Sup<-(LLANTAS*700); Escribir "$" , Sup; Sino Sup<-(LLANTAS*800); Escribir "$", Sup; FinSi FinProceso Corrida 1 2 3 Datos Llantas 4 20 5 Salida 3200 14000 4000

2) En un supermercado se hace una promocin, mediante la cual el cliente obtiene un descuento dependiendo de un numero que se escoge al azar. Si el numero escogido es menor que 74 el descuento es del 15% sobre el total de la compra, si es mayor o igual a 74 el descuento es del 20%. Obtener cuanto dinero se le descuenta.
Proceso sin_titulo Escribir "Escribir cantidad"; Leer Cantidad; Escribir "Escribir precio"; Leer Precio Si (Cantidad>74) Entonces Sup <-(Precio*.20) ; SUM <-Sup+Precio; Escribir "descuento del 20"; Sino Sup <-(Precio*.15) ; SUM <-Sup+Precio; Escribir "descuento del 15"; FinSi FinProceso

Corrida

Datos Salida Cantidad Precio Descuento 1 500 600 20 2 73 45 15 3 74 90 15

3) Calcular el numero de pulsaciones que debe tener una persona por cada 10 segundos de ejercicio aerobico; la formula que se aplica cuando el sexo es femenino es: num. pulsaciones = (220 - edad)/10 y si el sexo es masculino: num. pulsaciones = (210 - edad)/10
Proceso sin_titulo Escribir "Edad"; Leer Edad; Escribir "Sexo"; Leer F,M; Si (F<>M),(M<>F) Entonces Sup<-(220-Edad)/10; Escribir "FEMENINO" , Sup; Sino Sup<-(210-Edad)/10; Escribir "MASCULINO", Sup;

FinSi FinProceso

Corrida 1 2 3

Datos Edad

Salida Sexo 90 F 73 M 4 F Masculino 12 Masculino 13.5 Masculino 20.6

4) Una compaa de seguros esta abriendo un depto. de finanzas y estableci un programa para captar clientes, que consiste en lo siguiente: Si el monto por el que se efecta la fianza es menor que $50 000 la cuota a pagar ser por el 3% del monto, y si el monto es mayor que $50 000 la cuota a pagar ser el 2% del monto. La afianzadora desea determinar cual ser la cuota que debe pagar un cliente.
Proceso sin_titulo Escribir "CUOOTAA"; Leer CUOTA; Si (CUOTA>50000) Entonces Sup<-(CUOTA*.02); Escribir "MAYOR", Sup; Sino Sup<-(CUOTA*.03); Escribir "MENOR", Sup; FinSi FinProceso

Corrida

Datos Cuaota 1 50001 2 49000 3 1

Salida Mayor 1000.02 Menor 1470 Menor o.o3

5.- En una escuela la colegiatura de los alumnos se determina segn el numero de materias que cursan. El costo de todas las materias es el mismo. Se ha establecido un programa para estimular a los alumnos, el cual consiste en lo siguiente: si el promedio obtenido por un alumno en el ultimo periodo es mayor o igual que 9, se le har un descuento del 30% sobre la colegiatura y no se le cobrara IVA; si el promedio obtenido es menor que 9 deber pagar la colegiatura completa, la cual incluye el 10% de IVA. Obtener cuanto debe pagar un alumno.

Proceso sin_titulo Escribir "introduce la materia"; Leer Mate; Escribir "promedio"; Leer Prom; CostoMateria<-120; Si Prom>=9 Entonces desc<-CostoMateria*.3; pagar<-CostoMateria-desc; Escribir "Su descuento es de ",desc; Escribir "La colegiatura a pagar es ",pagar; Sino iva<-CostoMateria*.1; pagar<-CostoMateria+iva; Escribir "el iva es de ",iva; Escribir "La colegiatura a pagar es ",pagar; FinSi FinProceso

Corrida
1 2 3

Datos de entrada
Materia Espaol Matemticas ingles promedio 5 9 7

Salida
Colegiatura 132 84 132

6.- Una empresa de bienes races ofrece casas de inters social, bajo las siguientes condiciones: Si los ingresos del comprador son menores de $8000 o mas el enganche ser del 15% del costo de la casa y el resto se distribuir en pagos mensuales, a pagar en diez aos. Si los ingresos del comprador son menos de $8000 o mas el enganche ser del 30% del costo de la casa y el resto se distribuir en pagos mensuales a pagar en 7 aos. La empresa quiere obtener cuanto debe pagar un comprador por concepto de enganche y cuanto por cada pago parcial.

Proceso sin_titulo Escribir "ingresos del trabajador"; Leer ingre; Si (ingre>8000) Entonces Enganxe<-(ingre*.15); Escribir "su enganche es de: ", Enganxe; Sino Enganxe<-(ingre*.30); Escribir "su enganche es de: ", Enganxe; FinSi FinProceso

corrida
1 2 3

Ingresos del trabajador


7000 10000 12000

Datos de entrada

salida
$2100.00 $1500.00 $1800.00

7) El gobierno ha establecido el programa SAR (Sistema de Ahorro para el Retiro) que consiste en que los dueos de la empresa deben obligatoriamente depositar en una cuenta bancaria un porcentaje del salario de los trabajadores; adicionalmente los trabajadores pueden solicitar a la empresa que deposite directamente una cuota fija o un porcentaje de su salario en la cuenta del SAR, la cual le ser descontada de su pago. Un trabajador que ha decidido aportar a su cuenta del SAR desea saber la cantidad total de dinero que estar depositado a esa cuenta cada mes, y el pago mensual que recibir.
Proceso sin_titulo Escribir "Ingrese salario mensual"; Leer Sal; Escribir "elija opcion: 1... porcentaje de salario: 2.. cuota fija"; Leer uno ; Si uno Entonces Escribir "ingrese el porcentaje"; Leer Por; Por<-Sal*(Por/100); Escribir "cantidad que da por mes: ", Por; SiNo Escribir "ingrese monto"; Leer Mont; Mont<-(Mont*100)/Sal; Escribir "el porcentaje de su salario: ", Mont; FinSi FinProceso

Corrida 1 2

Datos Salario 3000 50000

Monto 600 10

Salida % Del salario 20 5000

8) Una persona desea iniciar un negocio, para lo cual piensa verificar cuanto dinero le prestara el banco por hipotecar su casa. Tiene una cuenta bancaria, pero no quiere disponer de ella a menos que el monto por hipotecar su casa sea muy pequeo. Si el monto de la hipoteca es menor que $1 000 000 entonces invertir el 50% de la inversin total y un socio invertir el otro 50%. Si el monto de la hipoteca es de $ 1 000 000 o mas, entonces invertir el monto total de la hipoteca y el resto del dinero que se necesite para cubrir la inversin total se repartir a partes iguales entre el socio y el.
Proceso sin_titulo Escribir "Ingrese el valor de inversion total:"; Leer inversion_total; Escribir "Ingrese el valor de monto de la hipoteca:"; Leer monto_de_la_hipoteca; Si monto_de_la_hipoteca<1000000 Entonces inversion <- inversion_total/2; SiNo inversion <- (inversion_total-monto_de_la_hipoteca)/2; FinSi inversion_del_socio <- inversion; Escribir "Valor de inversion: ", inversion; Escribir "Valor de inversion del socio: ", inversion_del_socio; FinProceso

Corrida

Datos Salida Inversion Hipoteca Valor de inversion Valor de inversion del socio 1 700000 500000 350000 350000 2 50000 50000 25000 25000

9.- El gobierno del estado de Mxico desea reforestar un bosque que mide determinado numero de hectreas. Si la superficie del terreno excede a 1 milln de metros cuadrados, entonces decidir sembrar de la sig. manera:

Proceso sin_titulo Escribir "superficie del terreno"; Leer Sup_Terreno; Si Sup_Terreno>1000000 Entonces MetrosPino <-- Sup_Terreno *.70 Pinos <-- MetrosPino/10*8 MetrosOyamel <-- Sup_Terreno *.20 Oyameles <-- MetrosOyamel/15*15 MetrosCedro <-- Sup_Terreno *.10 Cedros <-- MetrosCedro/18*10 Sino MetrosPino <-- Sup_Terreno *.50

Pinos <-- MetrosPino/10*8 MetrosOyamel <-- Sup_Terreno *.30 Oyameles <-- MetrosOyamel/15*15 MetrosCedro <-- Sup_Terreno *.20 Cedros <-- MetrosCedro/18*10 FinSi Escribir "pinos....",Pinos; Escribir "Oyameles....",Oyameles; Escribir "cedros....",Cedros; FinProceso

Corrida

Datos Salida Superficie Pinos 1 70000 2 50000

Salida Oyameles 28000 20000

Cedros 21000 7777.7777 15000 5555.5555

10) Una fabrica ha sido sometida a un programa de control de contaminacin para lo cual se efecta una revisin de los puntos IMECA generados por la fabrica. El programa de control de contaminacin consiste en medir los puntos IMECA que emite la fabrica en cinco das de una semana y si el promedio es superior a los 170 puntos entonces tendr la sancin de parar su produccin por una semana y una multa del 50% de las ganancias diarias cuando no se detiene la produccin. Si el promedio obtenido de puntos IMECA es de 170 o menor entonces no tendr ni sancin ni multa. El dueo de la fabrica desea saber cuanto dinero perder despus de ser sometido a la revisin.
Proceso sin_titulo Escribir "puntos"; Leer Puntos; Escribir "ganancias"; Leer Ganancias; Si Puntos>170 Entonces Sancion<-Ganancias/2 Escribir "sancion de...", Sancion; Sino Sancion<-0 Escribir "no paga ni multa ni sancion de....", Sancion; FinSi FinProceso

Corrida 1 2

Datos Puntos 40 50000

Salida Ganancias 500 20000

Salida Sancion 171 600

ESTRUCTURAS DE DECISIN DOBLE 1) Determinar si un alumno aprueba a reprueba un curso, sabiendo que aprobara si su promedio de tres calificaciones es mayor o igual a 70; reprueba en caso contrario.
Proceso sin_titulo Escribir "calificacion 1"; Leer Calif1; Escribir "calificacion 2"; Leer Calif2; Escribir "calificacion 3"; Leer Calif3; Prom<-(Calif1+Calif2+Calif3)/3 Si Prom>7 Entonces Escribir "aprobado"; Sino Escribir "reprobado"; FinSi FinProceso

Corrida

Datos Calificacion 1 Calificacion 2 1 9 2 9

Salida Calificacion 3 8 0 10 Aprobado 7 Reprobado

2.-En un almacn se hace un 20% de descuento a los clientes cuya compra supere los $1000 Cual ser la cantidad que pagara una persona por su compra?

Proceso sin_titulo Escribir "compra de"; Leer Com;

Si Com>1000 Entonces Des<-(Com*.20) Sino Des<-0 FinSi Tot<-Com-Des Escribir "total....",Tot; FinProceso Corrida Datos Salida Compra 1 10000 2 1000

8000 1000

3) Un obrero necesita calcular su salario semanal, el cual se obtiene de la siguiente manera: Si trabaja 40 horas o menos se le paga $16 por hora Si trabaja ms de 40 horas se le paga $16 por cada una de las primeras 40 horas y $20 por cada hora extra.

Proceso Escribir "Horas Trabajadas" Leer Horas_T; Si (Horas_T>40) Entonces Horas_E<-Horas_T-40; Salario_s<-Horas_E*20+40*16; Sino Salario_s<-Horas_T*16; FinSi Escribir "Salario Semanal = " , Salario_s FinProceso

Corridas

Datos de entrada Horas Trabajadas

salida Salario Semanal 740 1540 860

1 2 3

45 85 51

4) Un hombre intereses

desea

saber cuanto

dinero se genera por concepto de

sobre la cantidad que tiene en inversin en el banco. El decidir

reinvertir los intereses siempre y cuando estos excedan a $7000, y en ese caso desea saber cuanto dinero tendr finalmente en su cuenta.

Proceso sin_titulo Escribir "Capital"; Leer cap; Escribir "Porcentaje_int"; Leer Por_int Int<-cap*(Por_int/100); Si (Int>7000) Entonces CapF<-cap+Int; Escribir " Su capital final es: " , CapF Sino Escribir " no reinvertir intereses " FinSi FinProceso

Corridas

Datos de entrada Capital Porcentaje int 8% 5%

salida Salario Final no reinvertir intereses 575626.8

1 2

10700 548216

5) Que lea dos nmeros y los imprima en forma ascendente


Proceso sin_titulo Escribir "Escribe el primer numero"; Leer Num1 Escribir "Escribe el segundo numero"; Leer Num2 Si Num1>Num2 Entonces Escribir Num1; Escribir Num2; Sino Escribir Num2; Escribir Num1; FinSi FinProceso

Corridas
1 2

D. Entrada
Num1 3 5 Num2 4 2

Salida
3y4 2y5

6) Una persona enferma, que pesa 70 kg, se encuentra en reposo y desea saber cuantas caloras consume su cuerpo durante todo el tiempo que realice una misma actividad. Las actividades que tiene permitido realizar son nicamente dormir o estar sentado en reposo. Los datos que tiene son que estando dormido consume 1.08 caloras por minuto y estando sentado en reposo consume 1.66 caloras por minuto.
Proceso sin_titulo Escribir "Escribe los minutos en que estuvo en reposo"; Leer Tr; Escribir "Escriba 1 si estuvo sentado o 2 si estuvo dormido"; Leer Actividad; Calo_sentado<-1.08; Calo_dormido<-1.66; Si Actividad=1 Entonces Sentado<-Tr*Calo_sentado; Escribir "Sus calorias sentado son ",Sentado Sino Dormido<-Tr*Calo_dormido; Escribir "Sus calorias dormido son ",Dormido FinSi FinProceso

Corridas
1 2 3

D. entrada Minutos 1 1 1

Salida Opcion 1 2 4 1.08 3.32 3.32

7) Hacer un algoritmo que imprima el nombre de un articulo, clave, precio original y su precio con descuento. El descuento lo hace en base a la clave, si la clave es 01 el descuento es del 10% y si la clave es 02 el descuento en del 20% (solo existen dos claves).
Proceso sin_titulo Escribir "nombre"; Leer nomb; Escribir "clave"; Leer clave; Escribir "precio"; Leer prec_origen; Si clave<-01 Entonces prec_desc1<-(prec_origen*.10); descuento1<-prec_origen-prec_desc1; Escribir "descuento1...",descuento1; Sino prec_desc2<-(prec_origen*.20); descuento2<-prec_origen-prec_desc2; Escribir "descuento2...",descuento2; FinSi Escribir nomb; Escribir clave; Escribir "origen",prec_origen; FinProceso

Corrida

Datos Nombre 1 Pasta 2 Jabon

Clave 8000 1000

Precio 50 35

Salida Descuento 40 28

8) Hacer un algoritmo que calcule el total a pagar por la compra de camisas. Si se compran tres camisas o mas se aplica un descuento del 20% sobre el total de la compra y si son menos de tres camisas un descuento del 10%
Proceso sin_titulo Escribir "numero de camisetas"; Leer numero; Escribir "precio de camisetas"; Leer precio;

Si numero>3 Entonces total1<-precio*.20 descuento1<-precio-total1 Escribir "total 20% es de...",descuento1; Sino total2<-precio*.10 descuento2<-precio-total2 Escribir "total 10% es de...",descuento2; FinSi FinProceso Corrida Datos de Entrada Total a Pagar 128 140 290 Salida

1 2 3

102 112 72

9) Una empresa quiere hacer una compra de varias piezas de la misma clase a una fabrica de refacciones. La empresa, dependiendo del monto total de la compra, decidir que hacer para pagar al fabricante. Si el monto total de la compra excede de $500 000 la empresa tendr la capacidad de invertir de su propio dinero un 55% del monto de la compra, pedir prestado al banco un 30% y el resto lo pagara solicitando un crdito al fabricante. Si el monto total de la compra no excede de $500 000 la empresa tendr capacidad de invertir de su propio dinero un 70% y el restante 30% lo pagara solicitando crdito al fabricante. El fabricante cobra por concepto de intereses un 20% sobre la cantidad que se le pague a crdito. Proceso sin_titulo Escribir "costo de la pieza"; Leer costopza; Escribir "numero de la pieza"; Leer numpza; totcomp<-costopza*numpza Si totcomp>500000 Entonces cantiv<-totcomp*.55 prestamo<-totcomp*.30 credito<-totcomp*.15 Sino cantiv<-totcomp*.70 credito<-totcomp*.30 prestamo<-0 FinSi int<-credito*.20 Escribir "cantidad vendida de...",cantiv; Escribir "prestamo de...",prestamo; Escribir "credito de...",credito; Escribir "interes de...",int; FinProceso

Corrida

Datos Salida Costo de la pieza Numero de la pieza Cantidad vendida Prestamo Credito Interes 1 1000 34 23800 0 10200 2040 2 350 50 12250 0 5250 1050

10) Una persona se encuentra con un problema de comprar un automvil o un terreno, los cuales cuestan exactamente lo mismo. Sabe que mientras el automvil se devala, con el terreno sucede lo contrario. Esta persona comprara el automvil si al cabo de tres aos la devaluacin de este no es mayor que la mitad del incremento del valor del terreno. Aydale a esta persona a determinar si debe o no comprar el automvil.
Proceso sin_titulo Escribir "costo de terreno/auto"; Leer costo; Escribir "tasa de devaluacion del auto"; Leer dev; Escribir "tasa de valucion del terreno"; Leer val; dev1<-((dev/100)*costo)*(3*12); val1<-((val/100)*costo)*(3*12); mitad<-val/2 Si dev1<mitad Entonces Escribir "comprar coche"; Sino Escribir "comprar terreno"; FinSi FinProceso

Corrida

Datos Tasa de devaluacion Tasa de devaluacion del Costo del terreno/ auto Auto Terreno 1 800000 25 2 60000 60

Salida Comprar 25 Terreno 15 Terreno

ESTRUCTURAS DE DECISIN MLTIPLES 1) Elabore un algoritmo, que calcule el aumento de sueldo de un trabajador, conociendo del mismo, su nombre, tipo de trabajador, su sueldo y la cantidad de hijos que tiene. El porcentaje de aumento del sueldo viene dado por el tipo de trabajador que es: Tipo de trabajador V 10% G 15% E 20% O 30% Adicionalmente se le paga una prima por cada hijo la cual es conocida y la misma para todos. Proceso sueldo Escribir "nombre del trabajador"; Leer nombre; Escribir "Tipo de trabajador"; Leer Tipo; Escribir "sueldo"; Leer sueldo; Escribir "Cantidad de hijos"; Leer cantidad; Si tipo="V" Entonces aumento<- sueldo*.10; Sino Si tipo="G" Entonces aumento<- sueldo*.15; Sino Si tipo="E" Entonces

aumento<- sueldo*.20; Sino Si tipo="O" Entonces aumento<- sueldo*.30; Sino Escribir tipo + " no es un tipo de empleado"; FinSi FinSi FinSi FinSi Prima<-cantidad*50; Escribir "Aumento de:"+ nombre+" es: ",aumento; Escribir "La prima por hijos es: ",prima; Escribir "Su aumento total es: ",prima+aumento; Escribir "su sueldo total es: ", sueldo+prima+aumento; FinProceso

Corrida Nombre Tipo de trabajador Sueldo Cantidad de hijos

datos Abraham

Aumento de Abraham 750

Prima por hijos

Sueldo total

100

3350

O 2500 2

2.- Elabore un algoritmo que solicite la cantidad a pedir para un articulo, segn su inventario, se conoce para cada artculo su tipo (1, 2,3) y la cantidad en existencia, deseando calcular la cantidad a solicitar. Proceso inventario Cantidad<-0; Solicita<-0; solicita2<-0; tipo1<-1; tipo2<-2; tipo3<-3; Tipo<-0; Error<-0; Escribir "Numero de artculos"; Leer cantidad; Escribir "Tipo de articulo"; Escribir "Opciones---1"; Escribir "Opciones---2"; Escribir "Opciones---3"; Leer tipo;

Si tipo=tipo1 Entonces Solicita<-10; Sino Si tipo=tipo2 Entonces Solicita<-15; Sino Si tipo=tipo3 Entonces Solicita<-5; Sino

Escribir "Error esto no es un tipo de articulo"; Error<-1; FinSi FinSi FinSi Si error=1 Entonces Escribir "Fin del proceso"; Sino Si cantidad < 10 Entonces solicita2 <-20; Sino Si 10<= cantidad <20 Entonces solicita2 <-15; Sino Si cantidad>= 20 Entonces solicita2 <-10; Sino Escribir "error no se encuentra el rango"; FinSi FinSi FinSi Escribir "TOTAL: se le solicita el: ", solicita+solicita2,"% "; FinSi Fin Proceso

Corrida

Datos de entrada Cantidad tipo 1 2 3 4

salida sup solicitar el 20% Solicitar el 25% Solicitar el 15% error

1 2 3 4

40 30 20 15

3.- El colegio Mi angelito desea calcular el monto a pagar por inscripcin del nuevo ao escolar,
para las familias con hijos en el colegio. Para ello se conoce el nmero de hijos que tiene la familia en el colegio, el monto de matricula por nio, el monto de la mensualidad del mes de septiembre por nio y el monto de la sociedad de padres. Elabore un algoritmo que calcule el total a pagar por la familia, si la sociedad de padres se cobra una vez por familiar y si se otorga un descuento por la cantidad de hijos en el colegio que viene dado por la siguiente tabla. Cantidad de hijos 2 nios 3 nios > Descuento 10% 15% 3 nios 20%

Proceso Escribir "Cuantos hijos tiene inscritos? "; Leer Nh; Monto<-600; Si Nh=1 Entonces desc<-(Nh*Monto)*0 MontoTotal<-600; Escribir "Su descuento es de ",desc Escribir "Esto es lo qe pagara ",MontoTotal ; Sino Si Nh=2 Entonces desc<-(Nh*Monto)*.1;

MontoTotal<-(Monto*Nh)-desc; Escribir "Su descuento es de ",desc Escribir "Esto es lo que pagara ",MontoTotal Sino desc<-(Nh*Monto)*.15; MontoTotal<-(Monto*Nh)-desc; Escribir "Su descuento es de ",desc Escribir "Esto es lo que pagara ",MontoTotal FinSi FinSi FinProceso

Hijos inscritos 1 2 3 4

Monto a pagar 600 1080 1530 2040

4.- En el Hospital "Seguimos en crisis" tienen las siguientes tarifas: Tipo de enfermedad 1 2 3 Costo/paciente/da 1500 1700 1900

Para lo cual se necesita que usted elabore un informe con el siguiente formato: Paciente Das hospitalizados Tipo de enfermedad Total a pagar

Proceso sin_titulo Escribir "Nombre Del Paciente: "; Leer Paciente; Escribir "Dias Hospitalizado: "; Leer Dias; Escribir "Tipo De Enfermedad"; Leer Tipo; Si Tipo=1 Entonces Costo<-Dias*1500; Escribir "El Paciente ", Paciente; Escribir "Tiene ",Dias," Dia(s) hospitalizado."; Escribir "El cual tiene una enfermedad Tipo 1 " Escribir "Saldo Total A Pagar Es: $",Costo; Sino

Si Tipo=2 Entonces Costo<-Dias*1700; Escribir "El Paciente ", Paciente; Escribir "Tiene ",Dias," Dia(s) hospitalizado."; Escribir "El cual tiene una enfermedad Tipo 2 " Escribir "Saldo Total A Pagar Es: $",Costo; Sino Si Tipo=3 Entonces Costo<-Dias*1900; Escribir "El Paciente ", Paciente; Escribir "Tiene ",Dias," Dia(s) hospitalizado."; Escribir "El cual tiene una enfermedad Tipo 3 " Escribir "Saldo Total A Pagar Es: $",Costo; Sino Escribir "Error"; FinSi FinSi FinSi

FinProceso

Corrida 1 2 3

Paciente Marco Carla Csar

Das 4 1 5

Enfermedad 1 (1500) 2 (1700) 3 (1900)

Costo 6000 1700 9500

5.- Escriba un algoritmo para mostrar por pantalla el nombre del da de acuerdo a un nmero (del 1 al 7) que se pase como entrada. Proceso sin_titulo Escribir "Ingresa Dia de la Semana (1 al 7) "; Leer Dia; Si Dia=1 Entonces Escribir "Domingo"; Sino Si Dia=2 Entonces Escribir "Lunes"; Sino Si Dia=3 Entonces Escribir "Martes"; Sino Si Dia=4 Entonces Escribir "Miercoles"; Sino Si Dia=5 Entonces Escribir "Jueves"; Sino Si Dia=6 Entonces Escribir "Viernes"; Sino Si Dia=7 Entonces Escribir "Sabado"; Sino Escribir "Error";

FinSi FinSi FinSi FinSi FinSi FinSi FinSi FinProceso

Corrida 1 2 3

Datos Dia de la semana

Salida 1 Domingo 2 Lunes 3 Martes

ESTRUCTURAS SELECTIVAS ANIDADAS 1) Leer 2 nmeros; si son iguales que los multiplique, si el primero es mayor que el segundo que los reste y si no que los sume.
Proceso sin_titulo Escribir "Introducir numero entero"; Leer N; Escribir "Introducir numero entero"; Leer Z; Si (N = Z) Entonces Multiplicacion<- Z*N Escribir "Multiplicacion : ", Multiplicacion; Sino Si (N > Z) Entonces Resta<- N - Z Escribir "Resta : ",Resta; Sino Suma<- N+Z Escribir "Suma : ",Suma; FinSi FinSi FinProceso

CORRIDAS 1 2 3 N 4 5 3

DATOS Z 4 3 5

SALIDA 16 2 8

2) Leer tres nmeros diferentes e imprimir el numero mayor de los tres.


Proceso sin_titulo Escribir "Introduce el primer numero"; Leer X; Escribir "Introduce el segundo numero "; Leer N; Escribir "Introduce el tercer numero "; Leer Z; Si (X > N) Y (X > Z) Entonces X<-X Escribir "El numero mayor es : ", X; Sino Si (N > X) Y ( N > Z) Entonces N<-N Escribir "El numero mayor es : ",N; Sino Escribir "El numero mayor es : ",Z; FinSi FinSi FinProceso

CORRIDAS Corrida 1 2 3

DATOS X 8 4 2 N 7 9 4 Z 6 5 6

SALIDA Salida 8 9 6

3) Determinar la cantidad de dinero que recibir un trabajador por concepto de las horas extras trabajadas en una empresa, sabiendo que cuando las horas de trabajo exceden de 40, el resto se consideran horas extras y que estas se pagan al doble de una hora normal cuando no exceden de 8; si las horas extras exceden de 8 se pagan las primeras 8 al doble de lo que se pagan las horas normales y el resto al triple.
Proceso sin_titulo Escribir "Precio de la hora de trabajo"; Leer paga; Escribir "Horas trabajadas"; Leer horas; Si (horas>40) Entonces horas<-horas-40; Si (horas>8) Entonces total<-8*(paga*2); horas<-horas-8; total<-total+(horas*(paga*3)); Sino total<-horas*(paga*2); FinSi total<-total+(40*paga); Sino total<-horas*paga; FinSi Escribir "Total:",total; FinProceso Corrida 1 2 3 Datos Precio Hra de trabajo 80 1000 69 Salida Total 8 6 8 640 6000 552

Horas trabajadas

4.- Calcular la utilidad que un trabajador recibe en el reparto anual de utilidades si este se le asigna como un porcentaje de su salario mensual que depende de su antigedad en la empresa de acuerdo con la siguente tabla: Tiempo Menos de un ao 1 ao o mas y menos de 2 aos 2 aos o mas y menos de 5 aos 5 aos o mas y menos de 10 aos 10 aos o mas Utilidad 5% del salario 7% del salario 10% del Salario 15% del salario 20% del salario

Proceso sin_titulo Escribir "salario"; Leer sm; Escribir "antiguedad"; Leer antig; Si antig<1 Entonces util<-sm*0.05 Sino Si (antig>2)(antig<2) Entonces util<-sm*0.07 Sino Si (antig>2)(antig<5) Entonces util<-sm*0.10 Sino Si (antig>5)(antig<10) Entonces util<-sm*0.15 Sino util<-sm*0.20 FinSi

FinSi FinSi FinSi Escribir util; FinProceso

5-.En una tienda de descuento se efecta una promocin en la cual se hace un descuento. Sobre el valor de la compra total segn el color de la bolita que el cliente saque al pagar en caja. Si la bolita es de color blanco no se le har descuento alguno, si es verde se le har un 10% de descuento, si es amarilla un 25%, si es azul un 50% y si es roja un 100%. Determinar la cantidad final que el cliente deber pagar por su compra. se sabe que solo hay bolitas de los colores mencionados. Proceso sin_titulo Cuenta<-0; Descuento<-0; Pago<-0; Escribir "Total a pagar"; Leer Cuenta; Escribir "Color de bolita?"; Escribir "________________________"; Escribir "Para blanco escriba 1"; Escribir "Para verde escriba 2"; Escribir "Para amarilla escriba 3"; Escribir "Para azul escriba 4"; Escribir "Para rojo escriba 5"; Leer respuesta; Si Respuesta=1 Entonces

Escribir "No hay descuento su total a pagar es: ",cuenta; Sino Si Respuesta=2 Entonces Descuento<-Cuenta*.10; Escribir "Su total pagar es: ",cuenta-descuento; Escribir "Su descuento fue de: ",descuento; Sino Si Respuesta=3 Entonces Descuento<-Cuenta*.25; Escribir "Su total pagar es: ",cuenta-descuento; Escribir "Su descuento fue de: ",descuento; Sino Si Respuesta=4 Entonces Descuento<-Cuenta*.50; Escribir "Su total pagar es: ",cuenta-descuento; Escribir "Su descuento fue de: ",descuento; Sino Si Respuesta=5 Entonces Escribir "Felicidades no paga el dia de hoy!!!!!! "; Sino Si Respuesta>=6 Entonces Escribir "Error"; Sino

FinSi FinSi FinSi FinSi FinSi FinSi FinProceso

Corridas Cuenta $100 $200 $100

Datos de entrada Nm. De la bolita 1 6 2

Salida No hay descuento Error Su descuento es de: $25 Su total apagar es de: $75 Felicidades el da de hoy no paga!!!!!! Su descuento es de: $250 Su total apagar es de: $250 Su descuento es de: $75 Su total apagar es de: $25

$200

$500

$100

6-.El IMSS requiere clasificar a las personas que se jubilaran en el ao de 1997. Existen tres tipos de jubilaciones: por edad, por antigedad joven y por antigedad adulta. Las personas adscritas a la jubilacin por edad deben tener 60 aos o ms y una antigedad en su empleo de menos de 25 aos. Las personas adscritas a la jubilacin por antigedad joven deben tener menos de 60 aos y una antigedad en su empleo de 25 aos o ms. Las personas adscritas a la jubilacin por antigedad en su empleo de 25 aos o ms. Determina en qu tipo de jubilacin quedara adscrita una persona Proceso sin_titulo Edad<-0; Antguedad_De_Empleo<-0 Escribir "Escribir edad de la persona"; Leer Edad; Escribir "Antiguedad de su empleo"; Leer Antiguedad; Si Edad>=60 y Antiguedad<25 Entonces Escribir "Jubilacion por edad"; Sino Si Edad<60 y antiguedad>25 Entonces Escribir "Jubilacion joven"; Sino Si Edad>60 y Antiguedad>25 Entonces Escribir "Jubilacion adulta"; Sino FinSi FinSi FinSi FinProceso

Corridas 1 2 3

Datos de entrada Edad Antiguedad 61 26 59 60 26 24

Salida Jubilacin adulta Jubilacin joven Jubilacin por edad

7) En una fbrica de computadoras se planea ofrecer a los clientes un descuento que depender del nmero de computadoras que compre. Si las computadoras son menos de cinco se les dar un 10% de descuento sobre el total de la compra; si el nmero de computadoras es mayor o igual a cinco pero menos de diez se le otorga un 20% de descuento; y si son 10 o mas seles da un 40% de descuento. El precio de cada computadora es de $11,000.

Proceso computadoras Escribir "Ingrese cantidad de computadoras a comprar: "; Leer comp; Si comp<5 Entonces desc<-11000*0.1; Escribir "Cantidad a pagar: ",desc; FinSi Si comp>=5&comp<10 Entonces desc<-11000*0.2; Escribir "Cantidad a pagar: ",desc; FinSi Si comp>10 Entonces desc<-11000*0.4; Escribir "Cantidad a pagar: ",desc; FinSi FinProceso

Corrida

Datos Salida Cantidad de computadoras Total a pagar 1 60 2 5 3 1

4400 2200 1100

8) En una llantera se ha establecido una promocin de las llantas marca Ponchadas, dicha promocin consiste en lo siguiente: Si se compran menos de cinco llantas el precio es de $300 cada una, de $250 si se compran de cinco a 10 y de $200 si se compran mas de 10. Obtener la cantidad de dinero que una persona tiene que pagar por cada una de las llantas que compra y la que tiene que pagar por el total de la compra.
Proceso llantas Escribir "Cuantas llantas compraras? "; Leer N; Si N<5 Entonces cant<-N*300; Escribir "Tiene que pagar: ",cant; FinSi Si N>=5 & N<=10 Entonces cant<-N*250; Escribir "Tiene que pagar: ",cant; FinSi Si N>10 Entonces cant<-N*200; Escribir "Tiene que pagar: ",cant; FinSi FinProceso

Corrida 1 2 3

Datos Cantidad de llantas 15 7 1

Salida Total a pagar 3000 1750 300

9) En un juego de preguntas a las que se responde Si o No gana quien responda correctamente las tres preguntas. Si se responde mal a cualquiera de ellas ya no se pregunta la siguiente y termina el juego. Las preguntas son: 1. Colon descubri Amrica? 2. La independencia de Mxico fue en el ao 1810? 3. The Doors fue un grupo de rock Americano?
Proceso sin_titulo Escribir "Teclea 1 para Si, y 2 para No": Escribir "Colon descubrio America?": Leer N; Si (N = 1) Entonces Escribir "La independencia de Mexico fue en el ano 1810?": Leer N; Si (N = 1) Entonces Escribir "The Doors fue un grupo de rock Americano?": Leer N; Si (N = 1) Entonces Escribir "Felicidades as ganado el premio de los $50,000,0000 de pesos" Sino Escribir "Siga participando": FinSi Sino Escribir "Siga participando": FinSi Sino Escribir "Siga participando": FinSi

FinProceso

Corridas

Colon descubrio America?

La independencia de Mexico fue en el ano 1810? 1

The Doors fue un grupo de rock Americano?": 1

Salida

2 3

1 1

2 1

Felicidades as ganado el premio de los $50,000,0000 de pesos Siga participando Siga participando

10) Una frutera ofrece las manzanas con descuento segn la siguiente NUM. DE KILOS % 2.01 5.01 10.01 en Determinar cuanto pagara una persona que compre manzanas es esa

Proceso sin_titulo Escribir "Escribe los Kilos" "k" ; Escribir "Escribe el Precio por Kilo" "Precio" ; Leer K; Leer Precio; Si K < = 2 Entonces Escribir "No hay descuento"; Sino Si K > 2 o < = 5 Entonces Escribir Precio * .10; Escribir "Es el descuento que se realizara" ; Sino Si K > 5 o < = 10 Entonces Escribir Precio * .15 Escribir "Es el descuento que se realizara" ; Sino Si K > 10 Entonces Escribir Precio * .20 Escribir "Es el descuento que se realizara" ; Sino

FinSi FinSi FinSi FinSi FinProceso

Corridas 1 2 3 4

Datos de entrada k Precio 2 10 5 10 20 10 15 20

Salida No hay descuento 1 de descuento 1.5 de descuento 2 de descuento