TALLLER DE FUNDAMENTOS DE PROGRAMACION
Tema: Diseño de algoritmos utilizando Pseint
CARLOS ENRIQUE GARCIA BARBOSA
Docente: Ing. Diego Fernando Nieves
Segundo Semestre de 2018
Conteste las siguientes preguntas: 1. Cuáles son los Componentes básicos del computador? El computador está compuesto por el hardware y el software. El hardware es la parte tangible del computador dividido en partes internas que son: ventilador, usb flash, disipador de calor, disco duro, unidad óptica, módulos RAM, procesador (CPU), tarjeta madre, fuente de poder, y partes externas que son todos los periféricos tales como: el mouse, altavoces, teclado, monitor, impresora y demás dispositivos que se conecten a la torre. El software es la parte intangible del computador desde el sistema operativo, hasta el código de signos que se emplean para dar las órdenes al computador o los datos que se almacenan en él.
2. Cuáles son los Dispositivos de entrada y salida? Los dispositivos de entrada son todos los que sirven para introducir datos o información para que el computador cumpla un proceso.
3. Cuáles son los tipos de software? Los sistemas operativos son: a) Microsoft Windows: es el sistema operativo base del 85% de las computadoras a nivel mundial, es un sistema operativo de carácter licenciado, tiene varios subsistemas operativos siendo las más conocidos Windows 97, Windows XP, Windows VISTA, Windows 7, Windows 8 y última versión Windows 10. Este sistema operativo es usado por el fácil manejo y aprendizaje para el usuario que puede tener, aunque no se le pueden hacer cambios a su sistema operativo el otro defecto es que es muy vulnerable contra los virus informáticos. b) Mac OS: es un sistema operativo creado única y exclusivamente para las computadoras de Apple siendo este licenciado, este lo usa el 10% de la población ya que sus equipos son muy caros, al igual que sus licencias de uso. Tiene un manejo medio para la ejecución de sus programas y la filtración de virus es muy baja. Siendo un dato curioso la preferencia de Mac es por su apariencia. c) Linux: es un sistema operativo o un grupo de sistemas operativos de código abierto donde el usuario puede modificar a su antojo y necesidad las funciones de su sistema operativo, cada parte del grupo es completamente diferente a la anterior, tanto en interfaz como en sus funciones y códigos. Siendo este uno de los mejores sistemas operativos solo lo usa el 5% de la población ya que muchos programas o códigos no pueden dejan ser ejecutados en este sistema, aunque hay versiones alternativas. La mayor característica y mejor de todas es que su sistema operativo es de un 95% de probabilidad que un virus informático pueda afectarlo. d) Otros: Unix, Solaris; FreeBSD, OpenBSD, Google Chrome OS y otros muy poco y casi nada conocidos.
4. A que se le llama Algoritmo? 5. A que se le llama Diagrama de Flujo? 6. Cuál es la diferencia ente Diagrama de Flujo y Seudocódigo? BIBLIOGRAFIA http://web.a.ebscohost.com/ehost/detail/detail?vid=0&sid=f1059d25-7f6f-4093-b522c049b2732497%40sessionmgr4007&bdata=Jmxhbmc9ZXMmc2l0ZT1laG9zdC1saXZl#AN=318057&d b=nlebk http://web.a.ebscohost.com/ehost/detail/detail?vid=0&sid=e32ee210-4d00-45d6-be27935cdedec594%40sessionmgr4010&bdata=Jmxhbmc9ZXMmc2l0ZT1laG9zdC1saXZl#AN=324261&d b=nlebk https://comofuncionaque.com/que-es-un-sistema-operativo-y-que-tipos-hay/ https://sites.google.com/view/docencia-andressalinas/arquitectura/sistema-de-numeracion http://cursa.ihmc.us/rid=1288132510156_48704924_24839/dispositivos%20de%20entrada%20y%20s alida.pdf 7. Hacer un algoritmo en pseudocódigo que lea una secuencia de valores enteros positivos hasta que venga algún valor negativo. Calcular la suma y el promedio. Imprima dicha suma y promedio. Algoritmo sin_titulo d=0 c=0 IMPRIMIR "por favor digite numero entero positivo" leer n; Mientras n>0 o n/n=0 Hacer Si n>0 Entonces c<-n+n d<-d+1 pro<-c/d escribir n "+" n "=" c; SiNo Fin Si Escribir "por favor digite numero entero positivo" leer n Fin Mientras IMPRIMIR "la suma de los numero fue: " c; IMPRIMIR "el promedio fue: " pro; FinAlgoritmo
8. Realice el pseudocódigo de un programa que lea 10 números ingresados desde teclado y cuente cuántos de ellos son positivos e imprima el resultado. Algoritmo sin_titulo co=0 Para c<-1 Hasta 10 Con Paso 1 Hacer IMPRIMIR "por favor ingrese un numero"; leer n; Si n=0 Entonces escribir "este numero es neutral"; SiNo Si n>0 Entonces co<-co+1 escribir "valor positivo #" co; SiNo escribir "valor negativo"; Fin Si Fin Si Fin Para IMPRIMIR "el numero de valores positivos son: " co; FinAlgoritmo 9. Diseñar un algoritmo que lea 3 números enteros positivos distintos e imprima el mayor valor de los 3. Supondremos que los 3 números que se leen son distintos. Para este algoritmo sólo es necesario usar estructuras de selección y no de iteración (no son necesarios los bucles) Algoritmo sin_titulo IMPRIMIR "escriba un numero" leer a; IMPRIMIR "escriba un numero" leer b; IMPRIMIR "escriba un numero" leer c; Si a/a=0 y b/b=0 y c/c=0 Entonces Si a>0 y b>0 y c>0 Entonces Si a>b y a>c Entonces IMPRIMIR "el numero mayor es " a; SiNo Si b>a y b>c Entonces IMPRIMIR "el numero mayor es " b; SiNo Si c>a y c>b Entonces IMPRIMIR "el numero mayor es " c; SiNo Fin Si Fin Si Fin Si SiNo Fin Si SiNo IMPRIMIR "se solicito un numero entero, intentelo de nuevo por favor" Fin Si FinAlgoritmo
10. Efectuar un algoritmo que averigüe si un número positivo es par o impar. El programa leerá un número. Supondremos que tenemos un operador para el módulo MOD, es decir, el resto de una división entera Algoritmo sin_titulo IMPRIMIR "digite un numero positivo" leer n; mientras n>0 Hacer Si n mod 2=0 Entonces IMPRIMIR "el numero es par" SiNo IMPRIMIR "el numero es impar" Fin Si IMPRIMIR "digite un numero positivo" leer n; FinMientras IMPRIMIR "el numero es negativo o igual a 0" FinAlgoritmo 11. Diseñar un algoritmo para sumar los 100 primeros números naturales. El algoritmo no leerá ningún valor. Simplemente mostrará el resultado. Algoritmo sin_titulo Para H<-1 Hasta 100 Con Paso 1 Hacer //Imprimir H; SUMA<-SUMA+H Fin Para Imprimir "El resultado es: " SUMA; FinAlgoritmo 12. Diseñar un algoritmo para sumar los 100 números siguientes a un valor entero positivo que deberá leer. El algoritmo primero leerá un valor entero positivo, luego calculará el dato y por último mostrará el resultado. Algoritmo sin_titulo Imprimir "DIGITE UN NUMERO"; Leer P; Para H<-P Hasta 100 Con Paso 1 Hacer //Imprimir H; SUMA<-SUMA+H Fin Para Imprimir "El resultado es: " SUMA; FinAlgoritmo
13. Escribir un algoritmo para hallar el valor del MCD (Máximo Común Divisor) de 2 números enteros positivos que deberán leerse al principio del algoritmo. Algoritmo sin_titulo Imprimir "DIGITE 2 NUMEROS PARA HALLAR EL MCD"; Leer X; Leer Z; Imprimir "RESULTADO"; Mientras X<>Z Hacer Si X>Z Entonces X<-X-Z SiNo Z<-Z-X Fin Si Fin Mientras Imprimir X; FinAlgoritmo 14. Escribir un algoritmo para hallar el valor del MCM (Mínimo Común Múltiplo) de 2 números enteros positivos que deberán leerse al principio del algoritmo. Algoritmo sin_titulo Imprimir "DIGITA 2 NUMEROS PARA HALLAR EL MCM: "; Leer A,B; H1<-A; H2<-B; Mientras H1<>H2 Hacer Si H1>H2 Entonces H1<-H1-H2 SiNo H2<-H2-1 Fin Si Fin Mientras C<-A*B/H1; Imprimir "EL MCM ES: ",C; FinAlgoritmo 15. Calcular el factorial de un número n (n! ), teniendo en cuenta que: 0! = 1 y que, en general tenemos que: n! = n * (n-1) * (n-2) * … * 3 * 2. El factorial no está definido para números negativos. Algoritmo sin_titulo Definir FACT, N Como Real; Definir I Como Entero; Imprimir "DIGITE UN NUMERO"; LEER N; FACT<-1; Si N>=0 Entonces Para I<-1 Hasta N Con Paso 1 Hacer FACT<-FACT*I; Fin Para Imprimir "EL FACTOR ES: " , FACT ; SiNo Imprimir "NO EXISTE FACTOR"; Fin Si FinAlgoritmo
16. Diseñar un algoritmo que lea 3 números enteros positivos distintos e imprima el mayor y el menor valor de los tres. Observe que hay muchas formas de hacerlo. Intente encontrar la más eficiente (la que realice menos operaciones entre los números). Algoritmo sin_titulo Definir A,B,C,M Como Entero; Imprimir "INGRESE EL PRIMER NUMERO"; LEER A; Imprimir "INGRESE EL SEGUNDO NUMERO"; LEER B; Imprimir "INGRESE EL TERCER NUMERO"; LEER C; M<-A; Si B>M Entonces M<-B; FinSi SI C>M Entonces M<-C; FinSi Imprimir "EL NUMERO MAYOR ES: ",M; FinAlgoritmo 17. Diseñar un algoritmo para leer una lista de números positivos y escribir, despues de leerla, el valor máximo y el mínimo de esa lista. El algoritmo leerá un número tras otro hasta que se introduzca un número negativo. Es decir, el algoritmo dejará de leer números cuando lea un número negativo y, entonces, mostrará los valores resultantes. Proceso sin_titulo Imprimir "DIGITE UN NUMERO"; LEER NUMERO; CONTADOR=0 NUMEROMAYOR=0 NUMEROMENOR=NUMERO Mientras CONTADOR=0 Hacer Si NUMERO>0 Entonces Si NUMERO>NUMEROMAYOR Entonces NUMEROMAYOR=NUMERO Fin Si Si NUMERO
18. Hacer un algoritmo que calcule la suma de los 100 números siguientes al MCD de dos números dados. Este ejercicio es una mezcla de los ejercicios 4 y 5.
19. Diseñar un algoritmo para convertir temperaturas en grados Farenheit a grados Celsius. El programa terminará cuando lea una temperatura igual a 999. Como todo el mundo sabe, la relación entre grados Farenheit (F) y grados Celsius (C) viene dada por: C= 5/9 (F-32). Algoritmo sin_titulo Escribir "escriba su temperatura en grados Farenheit: " leer faren; Para i<-faren Hasta 999 Con Paso 1 Hacer Si faren<999 Entonces resultado<-(faren-32)/1.8 Escribir "tu temperatura en grados celsius es: ", resultado Escribir "escriba tu temperatura en grados Farenheit: " leer faren; SiNo Fin Si Fin Para FinAlgoritmo 20. Diseñar un algoritmo que lea un punto en el plano (2 números reales): (X,Y), y calcule el cuadrante al cual pertenece el punto (1,2,3 ó 4). Mostrará un valor 0 si el punto está en un eje de coordenadas. Algoritmo sin_titulo imprimir "DIGITE EL VALOR DE X: "; Leer H; Imprimir "DIGITE EL VALOR DE Y: "; Leer K; LMAO<-0; Si H>0 Y K>0 Entonces LMAO<-1; FinSi Si H<0 Y K>0 Entonces LMAO<-2; FinSi Si H<0 Y K<0 Entonces LMAO<-3; FinSi Si H>0 Y K<0 Entonces LMAO<-4; FinSi Escribir "EL VALOR DEL CUADRANTE ES: ", LMAO; FinAlgoritmo
21. Un vendedor desea calcular su comisión total sobre las ventas de varios artículos. Al vendedor le corresponde el 3% de comisión sobre artículos cuyo precio es menor a $200,000 y el 5% sobre aquellos artículos cuyo precio es de $200,000 o más. El vendedor efectúo la venta de 20 artículos. Además, se desea conocer cuántos artículos menores de $200,000 vendió? Proceso sin_titulo COSTOTOTAL =0 COMISION=0 PRECIOARTICULOS=0 CONTADOR=0 Para I<-1 Hasta 5 Con Paso 1 Hacer Imprimir "POR FAVOR DIGITE EL PRECIO DEL ARTICULO"; Leer PRECIOARTICULOS Si PRECIOARTICULOS < 200000 Entonces CONTADOR = CONTADOR+1 Fin Si COSTOTOTAL=COSTOTOTAL+PRECIOARTICULOS; Fin Para Si COSTOTOTAL < 200000 Entonces COMISION=COSTOTOTAL*0.03 Sino COMISION=COSTOTOTAL*0.05 Fin Si Imprimir "EL COSTO TOTAL DE LA COMISION ES " COMISION; Imprimir "LA CATIDAD TOTAL DE ARTICULOS MENORES A 200.000 ES " CONTADOR; Imprimir "EL COSTO TOTAL DE LA VENTE ES DE " COSTOTOTAL; FinProceso
22. Desarrollo un algoritmo, transcríbalo en seudocódigo y haga el respectivo DFD, para mostrar los primeros 10 números múltiplos de 3 superiores al 179, así: 180, 183, 186, 189, 192, 195, 198, 201, 204, 207 Algoritmo sin_titulo Escribir "Ingrese el valor de numero:"; Leer numero; multiplos3=0 Para i<-valor_inicial Hasta valor_final Con Paso paso Hacer Si (numero MOD 3) = 0 Entonces Escribir "es multiplo de 3"; SiNo Escribir "no es multiplo de 3" Fin Si Fin Para FinAlgoritmo
23. Programa que lee dos valores numéricos y los almacena en dos variables de nombre `x' e `y', determina si son iguales, y en caso de serlo, indica cuál de ellos es el mayor. Algoritmo sin_titulo Repetir Escribir "escriba el valo de X FINALIZA CON (0): " leer nx; Escribir "escriba el valo de Y FINALIZA CON (0) : " leer ny; Si nx=ny Entonces Escribir "son iguales" Escribir ":::::::::::::::" SiNo Si nx>ny Entonces Escribir "el valor X es menor" Escribir ":::::::::::::::" SiNo Escribir "el valor Y es mayor" Escribir ":::::::::::::::" Fin Si Fin Si Hasta Que nx=0 y ny=0 FinAlgoritmo 24. Dados tres valores numéricos enteros, hacer un programa que determine cuál es el mayor. Algoritmo sin_titulo IMPRIMIR "ingesa un numero: " leer n1; IMPRIMIR "ingesa otro numero: " leer n2; IMPRIMIR "disculpa este es el ultimo numero ingresalo: " leer n3; Si n1>n2 Entonces mayor <- n1; SiNo mayor <- n2; FinSi Si n3>n2 Entonces mayor <- n3; FinSi IMPRIMIR "el numero mayor que ingresaste fue el: ", mayor; FinAlgoritmo
25. Programa que muestra en pantalla todos aquellos caracteres introducidos a través del dispositivo estándar de entrada hasta que sea pulsado el carácter asterisco. Algoritmo sin_titulo Imprimir “digite un carácter desde su dispositivo estándar”; Leer CAR; Mientras CAR<>”*” Hacer Imprimir “el carácter es: “ CAR; Imprimir “digite un carácter”; Leer CAR; Fin Mientras Imprimir “finalizo”; 26. El siguiente programa muestra en pantalla todos aquellos caracteres introducidos por teclado hasta que la tecla de espacio en blanco sea pulsada. Proceso sin_titulo CONTADOR=0 Mientras CONTADOR=0 Hacer Imprimir "DIGITE UN CARACTER" LEER CARACTER; Si CARACTER ==" " Entonces CONTADOR=CONTADOR+1 Fin Si Fin Mientras FinProceso 27. Hacer un programa que lea una serie de números enteros positivos de la entrada estándar y calcule el valor máximo de los mismos y cuántas veces aparece dicho valor repetido. Proceso sin_titulo Imprimir "DIGITE UN NUMERO POSITIVO" CONTADOR=0; MAYOR=0; REPETIDO=1; Mientras CONTADOR ==0 Hacer Leer NUMERO; Si NUMERO >0 Entonces Si NUMERO = MAYOR Entonces REPETIDO = REPETIDO+1; Fin Si Si NUMERO > MAYOR Entonces MAYOR=NUMERO; REPETIDO=1; Fin Si Sino Imprimir "EL NUMERO ES NEGATIVO EL PROGRAMA SE CERRARA"; CONTADOR = CONTADOR+1; Fin Si Fin Mientras Imprimir "EL NUMERO MAYOR ES " MAYOR; Imprimir "LA CANTIDAD DE VECES REPETIDO ES " REPETIDO FinProceso
28. Programa que halla la suma de los 10 primeros números pares mostrando el resultado en pantalla. Algoritmo sin_titulo pp=0 Para p<-2 Hasta 20 Con Paso 2 Hacer pp=pp+p IMPRIMIR "numero es: " p; Fin Para Escribir pp; FinAlgoritmo 29. Escribir un programa que lea las edades de los empleados de una empresa mientras la edad leída sea distinta de cero y calcule cuántos jóvenes (menores de 22 años), maduros (entre 22 y 50 años) y mayores (aquellos con más de 50 años) hay, mostrando el resultado en pantalla. En aquellos casos en los que se lea una edad no correcta (negativa o fuera del intervalo de 18 a 65 años) se escribirá un mensaje de error en pantalla y se leerá otra edad. Proceso sin_titulo IMPRIMIR "DIGITE LA EDAD DEL EMPLEADO" LEER EDAD; JOVENES=0 MADUROS=0 MAYORES=0 Mientras EDAD<>0 Hacer Si EDAD>=18 Y EDAD <22 Entonces IMPRIMIR " EL EMPLEADO ES DE EDAD JOVEN"; JOVENES=JOVENES+1; Fin Si Si EDAD>=22 Y EDAD <50 Entonces IMPRIMIR " EL EMPLEADO ES DE EDAD MADUROS"; MADUROS=MADUROS+1; Fin Si Si EDAD>=50 Y EDAD <65 Entonces IMPRIMIR " EL EMPLEADO ES DE EDAD MAYOR"; MAYORES=MAYORES+1; Fin Si Si EDAD<18 O EDAD >65 Entonces IMPRIMIR " LA EDAD NO ES VALIDA"; Fin Si Imprimir "DIGITE LA EDAD DEL SIGUIENTE EMPLEADO"; LEER EDAD Fin Mientras Imprimir "EL TOTAL DE JOVENES ES DE " JOVENES; Imprimir "EL TOTAL DE MADUROS ES DE " MADUROS; Imprimir "EL TOTAL DE MAYORES ES DE " MAYORES FinProceso
30. Hacer un programa que lea 10 números y determine cuáles y cuántos de ellos son múltiplos de 7. Algoritmo sin_titulo co=0 Para c<-0 Hasta 9 Con Paso 1 Hacer Escribir "Por favor digite numerp" leer num Si num mod 7=0 Entonces IMPRIMIR "es un numero multiplo de 7 " ; co<-co+1 SiNo IMPRIMIR "no es un numero multiplo de 7" Fin Si Fin Para IMPRIMIR "los multiplos de 7 fueron: " co; FinAlgoritmo 31. Escribir un programa que determine qué números son primos de una secuencia de valores numéricos leídos por teclado. La lectura de dichos valores finalizará cuando el valor leído sea cero. Proceso sin_titulo CONTADOR=0 PRIMOS=0 DIVISOR=1; Mientras CONTADOR=0 Hacer Imprimir "POR FAVOR DIGITE UN NUMERO"; Leer NUMERO; Si NUMERO==0 Entonces CONTADOR=CONTADOR+1; Fin Si Mientras DIVISOR <=NUMERO Hacer Si NUMERO MOD DIVISOR=0 Entonces PRIMOS=PRIMOS+1; Fin Si DIVISOR=DIVISOR+1; Fin Mientras DIVISOR=1; Si PRIMOS=2 Entonces Imprimir "EL NUMERO ES PRIMO" Fin Si PRIMOS=0; Fin Mientras FinProceso
32. Escribir un programa que lea el número de habitantes de 20 poblaciones y muestre el porcentaje (sobre el total de habitantes) de habitantes que pertenecen a: · Una población pequeña (menos de 2.000 habitantes). · Una población media (entre 2.000 y 300.000 habitantes). · Una población grande (más de 300.000 habitantes). Proceso sin_titulo POBLACION =0; Para I<-1 Hasta 5 Con Paso 1 Hacer Imprimir "DIGITE LA CANTIDAD DE HABITANTES DE LA POBLACION " I; LEER POBLACION; Si POBLACION < 2000 Entonces Imprimir "LA POBLACION ES PEQUEÑA" Fin Si Si POBLACION < 300000 Y POBLACION > 2000 Entonces Imprimir "LA POBLACION ES MEDIANA" Fin Si Si POBLACION > 300000 Entonces Imprimir "LA POBLACION ES GRANDE" Fin Si Fin Para FinProceso
33. Diseñar un programa que lea dos números y presente una serie de opciones correspondientes a distintas operaciones que podemos realizar con ellos (suma, resta, multiplicación y división), de manera que, en función de la opción elegida, muestre el resultado de la operación realizada. En aquellos casos en los que se desee seguir operando con los mismos números, se debe contestar `S' (Si a la siguiente pregunta "¿Otra operación con los mismos números (S/N)?" o `N' (No), en caso contrario. Finalmente el programa deberá concluir tras responder `S' (Si o `N' (No) a la siguiente pregunta: "¿Terminar (S/N)?". Proceso sin_titulo Imprimir "DIGITE EL PRIMER NUMERO "; LEER PRIMERNUMERO; Imprimir " DIGITE EL SEGUNDO NUMERO "; LEER SEGUNDONUMERO; SUMA = 0; RESTA = 0; MULTIPLICACION=0; DIVICION=0; Si SEGUNDONUMERO = 0 Entonces Imprimir "PUEDES REALIZAR SUMA, RESTA Y MULTIPLICACION" Imprimir "¿DESEAS SUMAR?" LEER RESPUESTA; Si RESPUESTA == "si" O RESPUESTA== "SI" Entonces SUMA = PRIMERNUMERO + (SEGUNDONUMERO); Imprimir "LA SUMA ES " SUMA; Fin Si Imprimir "¿DESEAS RESTA?" LEER RESPUESTA Si RESPUESTA == "si" O RESPUESTA== "SI" Entonces
RESTA = PRIMERNUMERO - (SEGUNDONUMERO); Imprimir "LA RESTA ES " RESTA; Fin Si Imprimir "¿DESEAS MULTIPLICACION?" LEER RESPUESTA Si RESPUESTA == "si" O RESPUESTA== "SI" Entonces MULTIPLICACION = PRIMERNUMERO * (SEGUNDONUMERO); Imprimir "LA MULTIPLICACION ES " MULTIPLICACION; Fin Si Sino Imprimir "PUEDES REALIZAR LAS 4 OPERACIONES BASICAS"; Imprimir "¿DESEAS SUMAR?" LEER RESPUESTA; Si RESPUESTA == "si" O RESPUESTA== "SI" Entonces SUMA = PRIMERNUMERO + (SEGUNDONUMERO); Imprimir "LA SUMA ES " SUMA; Fin Si Imprimir "¿DESEAS RESTA?" LEER RESPUESTA Si RESPUESTA == "si" O RESPUESTA== "SI" Entonces RESTA = PRIMERNUMERO - (SEGUNDONUMERO); Imprimir "LA RESTA ES " RESTA; Fin Si Imprimir "¿DESEAS MULTIPLICACION?" LEER RESPUESTA Si RESPUESTA == "si" O RESPUESTA== "SI" Entonces MULTIPLICACION = PRIMERNUMERO * (SEGUNDONUMERO); Imprimir "LA MULTIPLICACION ES " MULTIPLICACION; Fin Si Imprimir "¿DESEAS DIVIDIR?" LEER RESPUESTA Si RESPUESTA == "si" O RESPUESTA== "SI" Entonces DIVICION = PRIMERNUMERO / (SEGUNDONUMERO); Imprimir "LA DIVICION ES " DIVICION; Fin Si Fin Si FinProceso
34. Escribir un programa que permita realizar descuentos en un comercio, en función del total de compras realizadas por cada cliente. Para realizar dichos descuentos, se deben leer los importes de cada compra parcial de un cliente hasta que un importe sea igual a cero; posteriormente se escribirá el importe total a pagar teniendo en cuenta que se pueden efectuar los siguientes descuentos:
Si el importe total de la compra está entre $50 y $120, el descuento es del 15%. Si el importe total de la compra es mayor de $120 el descuento es del 20%. La lectura de clientes finaliza tras responder al mensaje "¿Más clientes (S/N)?, mostrando al final la suma total de todos los importes cobrados. Proceso sin_titulo IMPORTETOTAL=0; RESPUESTA = "si"; DESCUENTO = 0; IMPORTETOTALDECOMPRAS=0; Mientras RESPUESTA == "si" Hacer IMPRIMIR "DIGITE EL IMPORTE DEL CLIENTE" LEER IMPORTE Mientras IMPORTE <> 0 Hacer IMPORTETOTAL=IMPORTETOTAL+IMPORTE; Imprimir "DIGITE EL SIGUIENTE IMPORTE "; LEER IMPORTE; Fin Mientras Si IMPORTETOTAL< 50 Entonces DESCUENTO = IMPORTETOTAL Fin Si Si IMPORTETOTAL>=50 Y IMPORTETOTAL <=120 Entonces DESCUENTO = IMPORTETOTAL - (IMPORTETOTAL*0.15); Fin Si Si IMPORTETOTAL >120 Entonces DESCUENTO = IMPORTETOTAL - (IMPORTETOTAL*0.20); Fin Si IMPORTETOTALDECOMPRAS=IMPORTETOTALDECOMPRAS + DESCUENTO; Imprimir "EL TOTAL A PAGAR PARA EL CLIENTE ES DE " DESCUENTO Imprimir " DESEA SEGUIR CON OTRO CLIENTE"; LEER RESPUESTA; IMPORTE=0; DESCUENTO=0; IMPORTETOTAL=0; Fin Mientras Imprimir "EL IMPORTE TOTAL DE TODAS IMPORTETOTALDECOMPRAS FinProceso
LAS
COMPRAS
ES
DE
"
35. Diseñar un programa que permita calcular los salarios semanales de los trabajadores de una empresa a partir de los siguientes datos: - Número de empleado · Número de horas trabajadas. · El turno de trabajo realizado (Mañana (M), Tarde (T), Noche (N)). · La tarifa ordinaria por hora de cada uno de los trabajadores. Para el cálculo del salario bruto se tendrá en cuenta que el turno de tarde se paga a 1,2 más de la tarifa ordinaria, mientras que el turno de noche se paga a 1,5 más, también de la tarifa ordinaria. Para el cálculo del salario neto se realizan determinados descuentos destinados al pago de impuestos de la siguiente forma: Se desea imprimir el salario bruto de cada trabajador mostrando al finalizar por pantalla el importe total de salarios abonados. La lectura de los datos finaliza respondiendo `S' (Sí) o `N' (No) a la siguiente pregunta: "¿Más trabajadores (S/N)?". Algoritmo sin_titulo Repetir imprimir "Ingrese el numero de empleado:"; Leer numerodeempleado; imprimir "Ingrese el valor de horas trabajadas:"; Leer horastrabajadas; imprimir "Ingrese el valor de impuestos:"; Leer impuestos; Imprimir "Ingrese el valor de tarifa ordinaria:"; Leer tarifaordinaria; salariobruto <- 0; Imprimir "Seleccione el valor de turno."; imprimir " 1.- Mañana"; Imprimir " 2.- Tarde"; imprimir " 3.- Noche"; imprimir " :"; Repetir Leer turno; Si turno<1 O turno>3 Entonces Imprimir "Valor incorrecto. Ingréselo nuevamente.: "; FinSi Hasta Que turno>=1 Y turno<=3; Si turno = 1 Entonces salariobruto <- horastrabajadas*tarifaordinaria; FinSi Si turno = 2 Entonces salariobruto <- horastrabajadas*tarifaordinaria*1.2; FinSi Si turno = 3 Entonces salariobruto <- horastrabajadas*tarifaordinaria*1.5; FinSi salarioneto <- salariobruto-impuestos; imprimir "Numero de empleado: ", numerodeempleado; Imprimir "Valor de salario neto: ", salarioneto; Imprimir "Valor de salario bruto: ", salariobruto; Imprimir ""; Repetir
Imprimir "¿Desea repetir el proceso? (S/N):"; Leer tecla_repetir; Hasta Que tecla_repetir='s' O tecla_repetir='n' tecla_repetir='N' Hasta Que tecla_repetir='n' O tecla_repetir='N' FinAlgoritmo
O
tecla_repetir='S' O
36. Escribir un programa que lea las temperaturas en 15 observatorios meteorológicos y escriba la temperatura mínima y cuántas mínimas se han producido. Algoritmo sin_titulo Escribir "tener en cuenta que la temperatura minima es 10" co=0 Para c<-1 Hasta 15 Con Paso 1 Hacer Escribir "Por favor colocar temperatura del observatorio" leer tem Si tem<=10 Entonces co<-co+1 Escribir "temperatura critica #" co; SiNo Si tem>=40 Entonces Escribir "temperatura supercritica" SiNo Escribir "temperatura aceptable" Fin Si Fin Si Fin Para Imprimir "el numero de temperaturas minimas son: " co; FinAlgoritmo 37. Escriba un programa que imprima los números pares de 1 a 100. utilice una sentencia continúe para que no imprima los impares. Algoritmo sin_titulo Para c<-1 Hasta 100 Con Paso 1 Hacer Si c mod 2=0 Entonces Imprimir "es par " c; SiNo Fin Si Fin Para 38. Escribir un programa que lea el número de empleado, sexo (H/M) y edad de una serie de personas de una empresa, finalizando la lectura de datos cuando el número de empleado sea igual a 0, y muestre como resultado el promedio de edad de cada sexo, así como el número de empleado del varón menor y el de la mujer de mayor edad. Proceso sin_titulo Imprimir " DIGITE CODIGO DEL EMPLEADO"; Leer CODIGO; CODIGO=1 SUMAMUJERES=0 PROMEDIOMUJERES=0 SUMAHOMBRES=0 PROMEDIOHOMBRES=0 CONTADORHOMBRES=0
CONTADORMUJERES=0 Mientras CODIGO<>0 Hacer Imprimir "DIGITE EL SEXO (H/M) "; LEER SEXO; Imprimir "DIGITE LA EDAD"; Leer EDAD; Si SEXO= "M" Entonces SUMAMUJERES=SUMAMUJERES+EDAD; CONTADORMUJERES=CONTADORMUJERES+1 Fin Si Si SEXO= "H" Entonces SUMAHOMBRES=SUMAHOMBRES+EDAD CONTADORHOMBRES=CONTADORHOMBRES+1 Fin Si Imprimir " DIGITE CODIGO DEL EMPLEADO"; Leer CODIGO; Fin Mientras PROMEDIOHOMBRES=SUMAHOMBRES/CONTADORHOMBRES PROMEDIOMUJERES=SUMAMUJERES/CONTADORMUJERES Imprimir "EL PROMEDIO DE EDAD DE MUJERES PROMEDIOMUJERES; Imprimir "EL PROMEDIO DE EDAD DE HOMBRES PROMEDIOHOMBRES; FinProceso
ES
"
ES
"
39. Diseñar un programa que calcule y escriba las raíces de una ecuación de segundo grado. Ax2+Bx+c = 0 Algoritmo ejercicio39 IMPRIMIR "Ingrese el coeficiente A:" Leer a; IMPRIMIR "Ingrese el coeficiente B:" Leer b; IMPRIMIR "Ingrese el coeficiente C:" Leer c; disc <- b^2-4*a*c Si disc<0 Entonces preal<- (-b)/(2*a) pimag<- rc(-disc)/(2*a) IMPRIMIR "Raiz 1: ",preal,"+",pimag,"i" IMPRIMIR "Raiz 2: ",preal,"-",pimag,"i" Sino Si disc=0 Entonces r <- (-b)/(2*a) IMPRIMIR "Raiz 1 = Raiz 2: ",r Sino r1 <- ((-b)+rc(disc))/(2*a) r2 <- ((-b)-rc(disc))/(2*a) IMPRIMIR "Raiz 1: ",r1 IMPRIMIR "Raiz 2: ",r2 FinSi FinSi FinAlgoritmo