Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
MATERIA: LENGUAJE DE PROGRAMACIÓN PARA INGENIERÍA PROFESOR (A): BAHENA MARTÍNEZ BEATRIZ PRÁCTICA: EJERCICIOS ELABORADO POR: FRANCO BAHENA MISAEL SEMESTRE: SEPTIEMBRE - DICIEMBRE GRUPO: L Tabla de contenido ACTIVIDAD 4. PROBLEMAS SECUENCIALES 3 ACTIVIDAD 5 PROBLEMAS SELECTIVOS 11 ACTIVIDAD 6: ESTRUCTURAS SELECTIVAS 16 SIMPLES 16 DOBLES 18 MÚLTIPLES 25 TAREAS 27 Estructuras Selectivas múltiples (Si Entonces) 27 Estructuras Selectivas múltiples (Según Hacer) 37 ACTIVIDAD 7 ESTRUCTURAS MÚLTIPLES 46 ACTIVIDAD 8 ESTRUCTURAS MÚLTIPLES (SI ENTONCES) 47 ACTIVIDAD 4. PROBLEMAS SECUENCIALES 1.- Juan Felipe es jefe de bodega en una fábrica de pañales desechables y sabe que la producción diaria es de 744 pañales y que en cada caja donde se empacan para la venta caben 12 pañales. ¿Cuántas cajas debe conseguir Juan Felipe para empacar los pañales fabricados en una semana? Entradas: TOTAL DE PAÑALES, NÚMERO DE PAÑALES POR C/CAJA, NÚMERO DE CAJAS, DÍAS LABORADOS Procesos: 744/12 = 62 62*7 = 434 Salidas: 434 CAJAS Pseudocódigo Algoritmo Cajas_Panales Definir p,pc,d,nc como entero; //Entradas: Escribir "Ingrese el numero de pa�ales fabricados por dia"; Leer p; Escribir "Ingrese la cantidad de pa�ales por caja"; Leer pc; Escribir "numero de dias habiles"; Leer d; //Procesos: nc=(p*d)/pc; //Salidas: Escribir "El numero de cajas es: ",nc; FinAlgoritmo 2.- 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. Entradas: $1060 Procesos: 350/1060*100 540/1060*100 170/1060*100 Salidas: P1= 33%, P2=51%, P3=16% Pseudocódigo Pantallas de prueba 3.-Un vendedor recibe un sueldo base más un 10% extra por comisión de sus ventas, el vendedor desea saber cuánto dinero obtendrá por concepto de comisiones por las tres ventas que realiza en el mes y el total que recibirá en el mes tomando en cuenta su sueldo base y comisiones. Entradas: Sueldo base, tres ventas por mes Procesos: (Multiplicar c/venta por .10 y sumar el porcentaje de las 3 ventas) más Sueldo base Sumar las tres ventas y multiplicar . 10 más el total del porcentaje de las ventas. Salidas: Total del sueldo base, comisiones Pseudocódigo Pantallas de prueba 4.- Un estudiante desea saber su calificación final, la cual se compone de la siguiente manera: –3 exámenes parciales equivale a un 50% –3 prácticas equivale a un 30% –1 proyecto final equivale a un 20% Entradas: PARC= 4.3 PRÁC= 2.28 PF= 2 Procesos: PARCIALES = (10+9+7)/3 8.6*0.50 PRÁCTICAS = (8+6+9)/3 7.6*0.50 P. FINAL = 10 10*0.20 SUMA DE LOS PROMEDIOS = 4.3+2.28+2 Salidas: 8.58 Pseudocódigo Pantalla de prueba 5.- Un maestro desea saber qué porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes. MUJERES = 8 HOMBRE = 15 % DE MUJERES = 34.7% % DE HOMBRES = 65.2% Entradas: M = 8 H = 15 Procesos: M = 8/23*100 H= 15/23*100 Salidas: 34.7 %, 65.2% Pseudocódigo Pantalla de prueba 6.- En un hospital existen tres áreas: Ginecología, Pediatría, Traumatología. El presupuesto anual del hospital se reparte conforme a la sig. tabla: Área Porcentaje del presupuesto Ginecología 40% Traumatología 30% Pediatría 30% Obtener la cantidad de dinero que recibirá cada área, para cualquier monto presupuestal. Entradas: Monto total por las tres areas Procesos: AG*0.40 AT*0.30 AP*0.30 Salidas: Monto total por cada área Pseudocódigo Pantalla de prueba ACTIVIDAD 5 PROBLEMAS SELECTIVOS 1.- 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. Análisis del problema: Entradas: Total de la compra realizada. Procesos: Descuento= Total de compra * 15% Total a pagar = Total de la compra - 15% de descuento Salidas : Total a pagar Pseudocódigo: Algoritmo tienda_descuento Definir Tc Como Entero; Definir d,Tp Como Real; //Entradas: Escribir "Ingrese el total de la compra"; Leer Tc; //Procesos: d=Tc*0.15; Tp=Tc-d; //Salidas: Escribir "El total a pagar es: ",Tp; FinAlgoritmo Diagrama de flujo: 2.- Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario anterior. Análisis del problema: Entradas: Salario base Procesos: Incremento = Salario base*0.25 Salario Total = salario + incremento Salidas : Total a ganar Pseudocódigo: Algoritmo Aumento_Salario Definir Sb,St Como Entero; Definir Inc como Real; //Entradas: Escribir "Ingrese el salario base"; Leer Sb; //Procesos: Inc=Sb*0.25; St=Sb+Inc; //Salidas Imprimir "El salario total a ganar:",St; FinAlgoritmo Diagrama de flujo: ACTIVIDAD 6: ESTRUCTURAS SELECTIVAS SIMPLES Elabore un pseudocódigo y diagrama de flujo para los siguientes problemas. 1. En un almacén hace un 20% de descuento a los clientes cuya compra supere los $1000 ¿Cuál será la cantidad que pagará una persona por su compra? Análisis del problema: Entradas: Total de la compra Procesos: Descuento = Total de la compra por el 20% Salidas : Descuento aplicado Pseudocódigo: Algoritmo Almacen_Descuento Definir Tc como entero; Definir d Como Real; //Entradas: Escribir "Ingrese el total de la compra"; Leer Tc; //Procesos d=0; Si (Tc > 1000) Entonces d= Tc*0.20; FinSi //Salidas Escribir "El total a pagar es:", Tc-d; Escribir "El descuento aplicado es:$",d; FinAlgoritmo Diagrama de flujo: DOBLES 1. Determinar si un alumno aprueba o reprueba un curso, sabiendo que aprobará si su promedio de tres calificaciones es mayor o igual a 70; reprueba en caso contrario. Análisis del problema: Entradas: Las tres calificaciones Procesos: Sumar las tres calificaciones y dividirlo entre tres Salidas : Calificación aprobatoria o reprobatoria Pseudocódigo: Algoritmo un_Alumno Definir c1,c2,c3 Como Entero; Definir p,NA,AC Como Real; // Entrada: Escribir 'Ingresa la primera calificación '; Leer c1; Escribir 'Ingresa segunda calificación '; Leer c2; Escribir 'Ingresa la tercera calificación '; Leer c3; // Procesos: p <- (c1+c2+c3)/3; Si (p<=0.70) Entonces Escribir 'El alumno aprueba el curso: ',AC; // Salidas SiNo Escribir 'El alumno reprueba el curso: ',NA; FinSi FinAlgoritmo Diagrama de flujo: 2. Un obrero necesita calcular su salario semanal, el cual se obtiene de la sig. manera: Si trabaja 40 horas o menos se le paga $16 por hora Si trabaja más de 40 horas se le paga $16 por cada una de las primeras 40 horas y $20 por cada hora extra. Análisis del problema: Entradas: Horas trabajadas,horas extras, pago semanal Procesos: Horas extras = horas trabajadas – 40 Pago semanal = (40 horas por $16 horas)(horas trabajadas por $20) Pago semanal = horas trabajadas por $16 Salidas : Pago semanal con o sin aumento. Pseudocódigo: Algoritmo Salario_Semanal Definir h,h_ext,p Como Real; //Entradas: Escribir 'Ingrese las horas trabajadas'; Leer h; //Procesos: Si h>40 Entonces h_ext <- h-40; p <- (40*16)+(h_ext*20); //Salidas: SiNo p <- h*16; FinSi Escribir 'El pago semanal por las horas trabajadas es: $',p; FinAlgoritmo Diagrama de flujo: 4. Una empresa quiere hacer una compra de varias piezas de la misma clase a una fábrica de refacciones. La empresa, dependiendo del monto total de la compra, decidirá qué 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 pagará solicitando un crédito al fabricante. Si el monto total de la compra no excede de $500, 000 la empresa tendrá capacidad de invertir de su propiodinero un 70% y el restante 30% lo pagará solicitando crédito al fabricante. El fabricante cobra por concepto de intereses un 20% sobre la cantidad que se le pague a crédito. Análisis del problema: Entradas: Procesos: Salidas : Pseudocódigo: Algoritmo Una_Empreza Definir pz Como Entero; Definir c,t,inv,int,p,cto Como Real; // Entradas: Escribir 'Imgrese el numero de piezas'; Leer pz; Escribir 'Ingrerse el costo por pieza'; Leer c; // Procesos: t <- pz*c; Si t>500000 Entonces inv <- t*0.55; p <- t*0.30; cto <- t*0.15; SiNo inv <- t*0.70; p <- 0; cto <- t*0.30; FinSi int <- cto*0.20; // Salidas: Escribir 'La cantidad a invertir es:$',inv; Escribir 'La cantidad a prestamo es:$',p; Escribir 'La cantidad a credito:$',cto; Escribir 'El Interes es:$',int; FinAlgoritmo Diagrama de flujo: MÚLTIPLES 1. Leer dos números; si son iguales que los multiplique, si el primero es mayor que el segundo, que los reste y si no que los sume. Análisis del problema: Entradas: Dos números cuales quiera Procesos: 5,5 5*5 =25 8,3 8-3=5 9,10 10+9=18 Salidas : Suma, resta o multiplicación sea el caso. Pseudocódigo: Algoritmo Leer_Dos_Numeros Definir a,b como Real; Escribir "Ingrese los dos numeros"; Leer a,b; Si a == b Entonces Escribir a,"x",b,"=",a*b; SiNo Si a>b Entonces Escribir a,"-",b,"=",a-b; SiNo Escribir a,"+",b,"=",a+b; FinSi FinSi FinAlgoritmo Diagrama de flujo: TAREAS Estructuras Selectivas múltiples (Si Entonces) 1. Una institución educativa estableció un programa para estimular a los alumnos con buen rendimiento académico y que consiste en lo siguiente: · Si el promedio es de 9.5 o más y el alumno es de preparatoria, entonces este podrá cursar 55 unidades y se le hará un 25% de descuento. · Si el promedio es mayor o igual a 9 pero menor que 9.5 y el alumno es de preparatoria, entonces este podrá cursar 50 unidades y se le hará un 10% de descuento. · Si el promedio es mayor que 7 y menor que 9 y el alumno es de preparatoria, este podrá cursar 50 unidades y no tendrá ningún descuento. Si el promedio es de 7 o menor, el número de materias reprobadas es de 0 a 3 y el alumno es de preparatoria, entonces podrá cursar 45 unidades y no tendrá descuento. · Si el promedio es de 7 o menor, el número de materias reprobadas es de 4 o más y el alumno es de preparatoria, entonces podrá cursar 40 unidades y no tendrá ningún descuento. · Si el promedio es mayor o igual a 9.5 y el alumno es de profesional, entonces podrá cursar 55 unidades y se le hará un 20% de descuento. · Si el promedio es menor de 9.5 y el alumno es de profesional, entonces podrá cursar 55 unidades y no tendrá descuento. Obtener el total que tendrá que pagar un alumno si la colegiatura para alumnos de profesional es de $300 por cada cinco unidades y para alumnos de preparatoria es de $180 por cada cinco unidades. Pseudocódigo Algoritmo Rendimiento_Alumno Definir prom,tc Como Real; Definir opc,nm Como Entero; Escribir '1. Preparatoria'; Escribir '2. Universidad'; Escribir 'Elige un opcion'; Leer opc; Escribir 'Ingresa el promedio del alumno'; Leer prom; Si (opc==1) Entonces // Preparatoria Si (prom>=9.5) Entonces Escribir 'Cursaras 55 unidades y se te hara un 25% de descuento'; tc <- (55/5*180)*0.75; // 180 por cada 5 unidades Escribir 'Total a pagar es:',tc; SiNo Si (prom>=9 Y prom<9.5) Entonces Escribir 'Cursuras 50 unidades y se te hara 10% de descuento'; tc <- (50/5*180)*0.90; Escribir 'Total a pagar es:',tc; SiNo Si (prom>7 Y prom<9) Entonces Escribir 'Cursaras 50 unidades y no habra descuento'; tc <- (50/5*180); Escribir 'Total a pagar es',tc; SiNo Escribir 'Ingresa el numero de materias reprobadas'; Leer nm; Si (nm>=0 Y nm<=3) Entonces Escribir 'Cursaras 45 unidades y no habra descuento'; tc <- (45/5*180); Escribir 'El total a pagar es:',tc; SiNo Escribir 'Cursarar 40 unidades y no habra descuenro'; tc <- (40/5*180); Escribir 'El total a pagar es:',tc; FinSi FinSi FinSi FinSi FinSi Si (opc==2) Entonces // Universidad Si (prom>=9.5) Entonces Escribir 'Cursaras 55 unidades y se le hara 20% descuento'; tc <- (55/5*300)*0.80; Escribir 'Total a pagar es:',tc; SiNo Escribir 'Cursara 55 unidades y no aplicara descuento'; tc <- (55/5*300); Escribir 'Total a pagar es:',tc; FinSi FinSi FinAlgoritmo Diagrama de Flujo Pantalla de pruebas 2. Dados los valores a, b y c que son los parámetros de una ecuación de segundo grado, elaborar un programa para hallar las posibles soluciones de dicha ecuación. Validar que si a recibe un valor 0, no se puede resolver la ecuación. El tipo de solución depende del signo del discriminante. Llamamos discriminante (Δ) de la ecuación al radicando de la fórmula anterior, es decir, · Si Δ es 0, la ecuación tiene una única solución. · Si Δ es menor que 0, no existen soluciones (reales), son soluciones imaginarias. · Si Δ es mayor que 0, existen dos soluciones (reales). Pseudocódigo Algoritmo Formula_General Definir a,b,c,d,e,f,g,h,i,j,k Como Real; // Entradas: Escribir 'Ingrese el valor para a'; Leer a; Escribir 'Ingrese el valor para b'; Leer b; Escribir 'Ingrese el valor para c'; Leer c; // Procesos: Si (a==0) Entonces Escribir 'No es posible la operacion'; SiNo d <- (b^2)-(4*(a*c)); Si (d>0) Entonces e <- ((-1*b)+(d^0.5))/(2*a); f <- ((-1*b)-(d^0.5))/(2*a); Escribir 'x1 es igual ',e; Escribir 'x2 es igual ',f; SiNo Si (d<0) Entonces g <- (-1*b)/(2*a); h <- ((-1*d)^0.5)/(2*a); Escribir 'x1 es',g,'+',h,'i'; Escribir 'x2 es',g,'-',j,'i'; SiNo k <- (-1*b)/(2*a); // Salidas: Escribir 'El resultado es x1:',k; FinSi FinSi FinSi FinAlgoritmo Diagrama de Flujo Pantalla de pruebas Si Δ es 0, la ecuación tiene una única solución. Si Δ es menor que 0, no existen soluciones (reales), son soluciones imaginarias. Si Δ es mayor que 0, existen dos soluciones (reales). Estructuras Selectivas múltiples (Según Hacer) Problema. Genera un menú de operaciones de las figuras geométricas; dado los valores necesarios y de acuerdo a la opción elegida por el usuario mostrar el resultado correspondiente: Figuras geométricas: 1. Triángulo 1. Área 2. Perímetro 2. Rectángulo 1. Área 2. Perímetro 3. Trapecio 1. Área 2. Perímetro 4. Rombo 1. Área 2. Perímetro 5. Cuadrado 1. Área 2. Perímetro Pseudocódigo Algoritmo figuras_Geo Definir op,opc1 como entero; Definir a,b,r,l,B1,b2,h,D1,d2, como real; Escribir "Figuras_Geometricas"; Escribir "1.triangulo"; Escribir "2.Rectangulo"; Escribir "3.Trapecio"; Escribir "4.Rombo"; Escribir "5.Cuadrado"; Escribir "Elija una opción"; Leer op; Segun (op) Hacer 1: //SubMenu: Escribir "1.Area"; Escribir "2.Perimetro"; Escribir "Elija una opcion"; Leer opc1; Escribir "Ingrese los valores"; Leer a,b,l; Segun (opc1) Hacer 1: r=(b*a)/2; Escribir "El area del triangulo es: ",r; 2: r=l+l+l; Escribir "El perimetro del triangulo es: ",r; FinSegun 2: Escribir "1.Area"; Escribir "2.Perimetro"; Escribir "Elija una opcion"; Leer opc1; Escribir "Ingrese los valores"; Leer l; Segun (opc1) Hacer 1: r=l*l; Escribir "El area del rectangulo es: ",r; 2: r=l+l+l+l; Escribir "El perimetro del triangulo es: ",r; FinSegun 3: Escribir "1.Area"; Escribir "2.Perimetro"; Escribir "Elija una opcion"; Leer opc1; Escribir "Ingrese los valores"; Leer B1,b2,h,l; Segun (opc1) Hacer 1: r=(B1+b2)/2*h; Escribir "El area del trapecio es: ",r; 2: r=l+l+l+l; Escribir "El perimetro del trapecio es: ",r; FinSegun 4: Escribir "1.Area";Escribir "2.Perimetro"; Escribir "Elija una opcion"; Leer opc1; Escribir "Ingrese los valores"; Leer D1,d2,l; Segun (opc1) Hacer 1: r=(D1*d2)/2; Escribir "El area del rombo es: ",r; 2: r=l+l+l+l; Escribir "El perimetro del rombo es: ",r; FinSegun 5: Escribir "1.Area"; Escribir "2.Perimetro"; Escribir "Elija una opcion"; Leer opc1; Escribir "Ingrese los valores"; Leer l; Segun (opc1) Hacer 1: r=l*l; Escribir "El area del cuadrado: ",r; 2: r=l+l+l+l; Escribir "El perimetro del cuadrado es: ",r; FinSegun FinSegun FinAlgoritmo Diagrama de Flujo Pantalla de pruebas 1. 2. 3. 4. 5. ACTIVIDAD 7 ESTRUCTURAS MÚLTIPLES Una fábrica de computadoras ofrece un descuento a sus clientes con las siguientes características. Sabiendo que hay dos marcas de computadoras; la marca “DELL” tiene un costo de $3100.00 y la marca “HP” tiene un costo de $3400.00 Calcular el total a pagar de cada cliente. # de computadoras Descuento 15-20 20% 10-14 15% 5-9 10% 2-4 5% 1 0% Análisis del problema: Entradas: Procesos: Salidas : Pseudocódigo: Diagrama de flujo: ACTIVIDAD 8 ESTRUCTURAS MÚLTIPLES (SI ENTONCES) Problema 2. La empresa de plásticos “AB” tiene la iniciativa de incrementar el sueldo actual a su personal de confianza que lleva años trabajando de manera responsable y competitiva. Años de antigüedad % de incremento 10-15 10% 6-9 8% 3-5 5% 1-2 0% Análisis del problema: Entradas: Procesos: Salidas : Pseudocódigo: Algoritmo Empresa_ABC Definir sb,aa,a Como Entero; Definir st Como Real; // Entradas: Escribir '¿Cuantos son los años de antiguedad?'; Leer aa; Escribir 'Ingrese su sueldo base'; Leer sb; // Proceso: Si (aa>=10 Y aa<=15) Entonces // Aplicar el 10% aumento a <- (sb*0.10); st <- (sb+a); Escribir 'El salario total es',st; SiNo Si (aa>=6 Y aa<=9) Entonces // Aplicar el 8% de aumento a <- (sb*0.8); st <- (sb+a); Escribir 'El salario total es',st; SiNo Si (aa>=3 Y aa<=5) Entonces // Aplicar el 5% de aumento: a <- (sb*0.5); st <- (sb+a); Escribir 'El salario total es',st; SiNo Si (aa>=1 Y aa<=2) Entonces // No aplica aumento al salario; st <- sb; FinSi FinSi FinSi FinSi //Salida: Escribir 'El sueldo total es: ',st; FinAlgoritmo Pantalla de prueba: ESTRUCTURAS DE CONTROL REPETITIVAS ACOMULADOR 1. Calcular el promedio de un alumno que tiene siete calificaciones en la materia de lenguaje de programación. Pseudocódigo Algoritmo Siete_Calificaciones_Acumulador Definir p,cal,prom,sum Como Real; Definir i Como Entero; sum=0; Para i= 1 Hasta 7 con paso 1 Hacer Escribir "Ingrese la calificacion",i; Leer cal; sum=sum+cal; Escribir "sum: ",sum; FinPara p=sum/7; Escribir "La calificacion del alumno es: ",redon(p); FinAlgoritmo Pantallas de prueba DIAGRAMA DE FLUJO CONTADOR 2. Leer 20 números e imprimir cuántos son positivos, negativos y ceros. Pseudocódigo Algoritmo Leer_20numeros_Contador Definir i,n,p,ng,c Como Entero; c=0; p=0; ng=0; Para i=1 Hasta 20 con paso 1 Hacer Escribir "Escribe un numero"; Leer n; Si n=0 Entonces c=c+1; SiNo Si n<0 Entonces ng=ng+1; Sino p=p+1; FinSi FinSi FinPara Escribir "Los numeros ceros son: ",c; Escribir "Los numeros negativos son: ",ng; Escribir "Los numeros positivos son: ",p; FinAlgoritmo Pantallas de prueba 3. Al cerrar un expendio de naranjas, 15 clientes que aún no han pagado recibirán un 15% de descuento si compran más de 10 kilos. Determina cuánto pagará cada cliente y cuánto percibirá la tienda por sus compras. Pseudocódigo Algoritmo Exp_Naranjas Definir i,k,p,st,c,t Como Entero; Definir d,tc,tp,sum Como Real; k=0; p=0; d=0; st=0; tp=0; c=0; sum=0; Escribir "El presio del kilo de naranjas es: "; Leer p; Para i=1 Hasta 15 Con Paso 1 Hacer; c=c+1; Escribir "Cliente: ",c; Escribir "Ingrese los kilos de naranjas comprados: "; Leer k; st=p*k; Si k>10 Entonces d=st*0.15; tp=st-d; Sino d=0; tp=st; FinSi Escribir "El subtotal es: ",st; Escribir "El descuento es: ",d; Escribir "El total a pagar:",tp; sum=sum+tp; tc=sum; Escribir "sum:",sum; FinPara Escribir "El total a cobrar es: ",tc; FinAlgoritmo Pantallas de prueba Repetir Hasta que 4. Calcula la suma siguiente: 100+98+96+94+92+… en este orden. Imprimir la serie de números y la suma total. Pseudocódigo Algoritmo Serie_Numeros Definir num, sum Como Entero; num=100; sum=0; Repetir sum=sum+num; num=num-2; Hasta Que num <0 Escribir "La suma es: ",sum; FinAlgoritmo Pantallas de prueba 56 image3.png image4.png image5.png image6.png image7.png image8.png image9.png image10.png image11.png image12.png image13.png image14.png image15.png image16.png image17.png image18.png image19.png image20.png image21.png image22.png image23.png image24.png image25.png image26.png image27.png image28.png image29.png image30.png image31.png image32.png image33.png image34.png image35.png image36.png image37.png image38.png image39.png image40.png image41.png image42.png image43.png image44.png image45.png image46.png image47.png image48.png image49.png image50.png image1.png image2.png
Compartir