Upload
mayita-tarazona-blanco
View
632
Download
1
Embed Size (px)
Citation preview
· Sistemas Operativos · Ejercicios
UNIDAD 20
1. Escribir un programa que lea el valor correspondiente a una distancia en millas marinas y las escriba expresadas en metros. Sabiendo que 1 milla marina equivale a 1.852 metros.
Ordinograma
- 1 -
Pseudocódigo
PROGRAMA: Convertidor de millasMÓDULO: PrincipalINICIODATOS
VARIABLESNº millas = A Nº realMillas = B Nº realResultado = S Nº real
ALGORITMOLeer datos AS = A * BEscribir S
END
Qbasic
10 CLS20 PRINT “introduzca las millas”30 INPUT A40 LET B = 1.85250 LET S = A * B60 PRINT “Los kilómetros son “; S70 END
· Sistemas Operativos · Ejercicios
2. Diseñar el algoritmo ( pseudocodigo y ordinograma ) correspondiente a un programa que escribe el porcentaje descontado en una compra, introduciendo por teclado el precio del articulo y el precio pagado.
Ordinograma Pseudocodigo
INICIO
precioar preciopa
porc
leer precioar leer preciopa
porc=(preciopa/precioar)*100
escribir porc
FIN
- 2 -
PROGRAMA: Porcentaje equivalenteMÓDULO: PrincipalINICIODATOS
VARIABLESprecioar Nº realpreciopa Nº realporc Nº real
ALGORITMOLeer precioar,precipaporc=(preciopa/precioar)*100Escribir porc
END
· Sistemas Operativos · Ejercicios
3. Diseño del algoritmo correspondiente a un programa que calcula la potencia de un numero dada la base y el exponente.
ORDINOGRAMAS.
- 3 -
Pseudocódigo.
Programa : PotenciaModulo: principalInicio Datos Variables a número real e número real b número real
Algoritmo Inicializar a=0 Leer b,e Si e=1 Escribir B Finsi Si e=0 Escribir 1 Repetir a.=b a=a*b e=e-1 Mientras e=0 Escribir a Fin
· Sistemas Operativos · Ejercicios
4. Diseño del algoritmo correspondiente a un programa que suma todos aquellos numeros leidos mientras no sean negativos.
Ordinograma Pseudocodigo
- 4 -
· Sistemas Operativos · Ejercicios
INICIO
num,suma
leer num
num>0
Escribir suma
suma=0
suma=suma+num
FIN
nosi
5. Algoritmo que lee cinco valores numericos y calcula su producto.
Ordinograma Pseudocodigo
INICIO
num,c,producto,V
leer num
c=1,v,1
producto=producto*num
v=5 producto=1
escribir producto
FIN
6. Diseñar el algoritmo ( ordinograma y pseudocodigo ) correspondiente a un programa que calcule el area lateral y el volumen de un cilindro recto, introduciendo por teclado los valores del radio y de la altura.
- 5 -
PROGRAMA: suma positivaMÓDULO: PrincipalINICIODATOS
VARIABLESNum,suma
ALGORITMO Leer num Si num>0 Suma=suma+num Si no escribir suma Fin si
END
PROGRAMA: producto de 5 numerosMÓDULO: PrincipalINICIODATOS
VARIABLESNum, cV=0Producto=1AlgoritmoPara c de 1 a v con inc =1Leer numProducto=producto*numFin paraEscribir producto
FIN
· Sistemas Operativos · Ejercicios
Ordinograma Pseudocodigo
INICIO
Al,V,,r,h
leer r leer h
escribir V escribir Al
V=*r^2*h Al=2**r*h
FIN
7. Escribir un programa ( expresando su algoritmo en notacion pseudocodificada y ordinograma ) que lea equivalente en grados centigrados.
Ordinograma Pseudocodigo
INICIO
FIN
far,Cº
leer far
Cº=(far-32)*(5/9)
escribir Cº
8. Diseño del algoritmo correspondiente a un programa que lee 100 numeros, los procesa y, despues de leer el ultimo, determina si alguno de ellos era multiplo de 3.
- 6 -
PROGRAMA: volumen y area lateral del cilindroMÓDULO: PrincipalINICIODATOS
VARIABLESR,h=3,1415
ALGORITMO Leer r Leer h V= r^2*h Al=2**r*h Escribir,V,Al
END
PROGRAMA: De Fahrenheit a grados centígradosMODULO: PrincipalINICIODATOS
VARIABLESFar,CºALGORITMOLeer farCº=(far-32)*(5/9)Escribir Cº
FIN
· Sistemas Operativos · Ejercicios
Ordinograma Pseudocodigo
INICIO
num,c,resto,V,x
c=100
V=1,c,1
leer num
x=num/3 resto=modx
resto=0 si
no
FIN
no es multiplo
es multiplo
9. Diseñar el algoritmo de un programa que lea N numeros enteros ( tanto positivos como negativos ) y muestre el maor y el menor de los numeros leidos.
Pseudocodigo
10. Diseñar el algoritmo de un programa que escriba la tabla de multiplicar de un numero introducido por teclado.
- 7 -
PROGRAMA: MultiplosMODULO: PrincipalINICIODATOS
VARIABLESNum,c,resto,VC=100ALGORITMOPara V de 1 a c con inc=1 X=num/3 Resto=modx Si resto=0 Escribir es múltiplo Si no Escribir no es múltiplo Fin siFin para
FIN
PROGRAMA: Muestra mayor y menor de los números introducidosMODULO: PrincipalINICIODATOS
VARIABLESMay, men, n, cSw=0ALGORITMOLeer nSw=0Si sw=0 May=n,men=n,sw=1Si no Si n>may May=n Si no
Si n<men Men=nFin siC=c+1Si c>=100 “ el mayor es”;may “ el menor es”;mensi no leen numfin siFIN
· Sistemas Operativos · Ejercicios
Ordinograma Pseudocodigo
INICIO
FIN
C,tabla,num
C=0
leer num
tabla=num*c
c=c+1
c<=10
escribir tabla
si
no
EL RESTO DE ORDINOGRAMASY
PSEUDOCODIGOS HECHOS EN CLASE
- 8 -
PROGRAMA: Tabla de multiplicarMODULO: PrincipalINICIODATOS
VARIABLESTabla, numC=0ALGORITMOLeer numTabla=num*cC=C+1Si c <=10 Tabla=num*CSi no Escribir tabla
FIN
· Sistemas Operativos · Ejercicios
ALGORITMO QUE DETERMIA EL MAYOR DE 3 NÚMEROS METIDOS POR TECLADO.
- 9 -
Pseudocódigo
PROGRAMA: Mayor_3_numerosMODULO: PrincipalINICIO
DATOSVARIABLES
A Nº enteroB Nº entero
C Nº enteroALGORITMO
Leer A, B,CSi A < B<C
Mostrar A < B<CSino
Si A = BMostrar A = B=C
Sino Mostrar A > B>C
Fin siFin si
END
· Sistemas Operativos · Ejercicios
Programa que una vez introducidos los tres lados de un triángulo el programa nos diga si es equilátero, isósceles o escaleno.
Introducidos 5 números cualesquiera por teclado calcular la media aritmética
- 10 -
PseudocódigoPROGRAMA: Tipo_triánguloMÓDULO: PrincipalINICIODATOS
VARIABLESA Nº enteroB Nº enteroC Nº entero
ALGORITMOLeer A, B, CSi A = B
Si A = CMostrar equilátero
SinoMostrar isósceles
Fin siSino
Si A = C Mostrar Isósceles
SinoSi B = C
Mostrar isósceles
Sino Mostrar
escalenoFin si
Fin siFIN
· Sistemas Operativos · Ejercicios
Ordinograma
CONVERSOR DE EUROS A PTAS
- 11 -
Pseudocódigo
PROGRAMA: Media_aritméticaMÓDULO: PrincipalINICIO
DATOSVARIABLES
A Nº enteroX Nº enteroY Nº enteroZ Nº entero
ALGORITMOInicializar x = y = 0Mientras Y 5
Leer AX = X + A
Y = Y ++Mientras Y = 5
S = (X / 5)Mostrar S
Fin mientrasFIN
· Sistemas Operativos · Ejercicios
Ordinograma Pseudocodigo
INICIO
ptas,euros,m
m=166,386
leer euros
ptas=euros*m
escribir ptas
FIN
Calcular el mayor de 3 numeros introducidos
- 12 -
PROGRAMA: conversor de euros a ptas.MÓDULO: PrincipalINICIODATOS
VARIABLESPtas,eurosM=166,386AlgoritmoLeer eurosPtas=euros*mEscribir ptas
FIN
· Sistemas Operativos · Ejercicios
OrdinogramaINICIO
FIN
X,Y,Z
leer X,Y,Z
Y<X>Znosi
X<Y>Z
X<Z>Y
no
no
si
si
X es el mayor
Y es el mayor
Z es el mayor son iguales
Pseudocodigo PROGRAMA: Mayor de tres numerosMÓDULO: PrincipalINICIODATOS
VARIABLESZ,X,YALGORITMOLeer Z,X,YSi Y<X>Z X es el mayorSi no
Si X<Y>Z Y es el mayor Si no
Si X<Z>Y Z es el mayor
- 13 -
Si noSi X<Z>Y
Z es el mayor Si no Los tres son iguales
Fin si Fin si Fin siFIN
· Sistemas Operativos · Ejercicios
Introducir 2 numeros, si al multiplicarlos el resultado es positivo, introducir otro numero positivo y sumarlo al producto. Si es negativo restar 10 al producto.Si el resultado de la resta es menor de 100, introducir un numero negativo y restarlo al actual producto.
Ordinograma
INICIO
FIN
a,b,c,multi
leer a, b
multi=a*b
multi>=0nosi
leer c
multi=multi+c
multi=multi-10
multi<100
leer c
si no
c>0si no
escribir multi
Pseudocodigo
PROGRAMA: Restar o dejarloMÓDULO: PrincipalINICIODATOS
VARIABLESA,b,c,multiALGORITMOLeer a,bMulti=a*bSi multi>=0
- 14 -
Leer cMulti=multi+cSi no Multi=multi-10 Si multi<100 Leer c Si c>0 Leer c Si no Multi=multi-c Si no Multi Fin si Fin siFin siFIN
· Sistemas Operativos · Ejercicios
1 .- Elaborar un algoritmo el cual calcule e imprima el sueldo de un empleado, teniendo como datos de entrada: nombre, horas trabajadas y cuota por hora.
ALGORITMO:
1.- inicio
2.- pedir horas,pedir nombre, pedir horas trabajadas y cuota por hora (N,H,C)
3.- multiplicar el numero de horas trabajadas por la cuota
por hora (S=H*C)
4.- mostrar resultados (S)
5.- fin
2) Escribe un algoritmo para obtener el área de un triángulo, tomando en cuenta que el área: (base * altura)/2.
ALGORITMO:
1.- inicio
2.- pedir la base y la altura (B,H)
3.- multiplicar la base y la altura y dividirlas entre 2 (A=B*H/2)
4.- mostrar resultados (A)
5.- fin
3) Hacer un algoritmo para calcular el promedio de calificaciones de un estudiante. Los datos disponibles son: nombre y las 4 calificaciones de los exámenes. El algoritmo deberá imprimir el mensaje de “Aprobado” si el promedio fue >=7, de lo contrario el mensaje deberá ser “Reprobado”.
ALGORITMO:
1.- inicio
2.- pedir nombre (N)
3.-Pedir calificaciones( c1,c2,c3,c4)
4.- sacar promedio prom=(c1+c2+c3+c4)/4
5.- si el promedio es >=7 entonces mostrar como resultados “aprobado” si el promedio es menor a 7 mostrar como resultado “reprobado.
6.- fin
4) Hacer un algoritmo que calcule e imprima el costo de un terreno rectangular, teniendo como datos la anchura y longitud en metros, y el costo del metro cuadrado.
ALGORITMO:
0.- inicio
1.-Pedir el costo (C)
2.- pedir el precio del metro cuadrado (Pm2)
- 15 -
· Sistemas Operativos · Ejercicios
3.- pedir el ancho y largo del terreno en metros cuadrados (A,L)
4.- multiplicar el numero de metros cuadrados del terreno por el precio por metro para sacar su costo total (C=Pm2*(A*L))
5.- mostrar resultados (C).
6.- fin
5) Hacer un algoritmo que convierta un número dado de segundos en minutos y que imprima el resultado.
ALGORITMO:
1.- inicio
2.- pedir el numero de segundos (ns)
3.- multiplicar el numero de segundos por 60 (M = ns*60)
4.- mostrar resultados
5.- fin
6) Una temperatura en grados centígrados se puede convertit a su equivalencia en Fahrenheit con la formula F=9/5 °C + 32. Hacer un algoritmo que lea una temperatura en grados centígrados y obtenga e imprima la temperatura Fahrenheit equivalente.
ALGORITMO:
1.- inicio
2.- pedir la temperatura en grados centígrados (°C)
3.- multiplicar la temperatura dada por 9/5+32 (F=9/5°C+32)
4.- mostrar resultados
5.- fin
7) Hacer un algoritmo que lea un número de pies y calcule e imprima su equivalente en yardas, pulgadas, centímetros y metros, de acuerdo con las siguiente equivalencias: 1 pie = 12 pulgadas, 1 yarda = 3 pies, 1 pulgada = 2.54 cm, 1 metro = 100 cm.
ALGORITMO:
1.- inicio
2.- pedir el número de pies (fT)
3.- dividir los pies entre 12 para sacar la equivalencia en pulgadas (Pulgadas=Ft/12) y guardar el resultado en “equivalencias”.
4.- multiplicar los pies por 3 para sacar la equivalencia en yardas (Yardas=fT*3) y guardar resultado en “equivalencias”.
5.-Dividir las pulgadas entre 2.54 para obtener los centímetros (centímetros=fT /2.54) guardar resultado en “equivalencias”.
6.-Dividir los centímetros entre 100 para sacar la “equivalencia” en metros (metros=centímetros/100)
- 16 -
· Sistemas Operativos · Ejercicios
7.- mostrar resultados (“equivalencias”).
8.- fin.
8) Elabore un algoritmo para calcular e imprimir el precio de un terreno el cual tiene los siguientes datos: largo, ancho y precio por metro cuadrado. Si el terreno tiene más de 500 metros cuadrados el descuento es del 17% y si tiene mas de 1000 el descuento será del 25%.
ALGORITMO:
1.- inicio
2.- pedir los metros cuadrados de ancho(ma)
3.-Pedir los metros cuadrados de largo(ml)
4.-Multiplicar el largo por el ancho para sacar el total de metros
(mt=l *a)
3.- si los metros cuadrados son 500 tendrá el 17% de descuento, y si son mas >= 1000 tendrá un descuento del 25% del precio total.
4.- mostrar resultados
5.- fin
- 17 -
· Sistemas Operativos · Ejercicios
4. Realizar el análisis, diagrama de flujo y prueba de escritorio, para los siguientes planteamientos1.- Determinar en una lista los pasos para ir al cine con el novio o la novia.Análisis: Problema: invitar a la novia a cine. Especificaciones de entrada: llamar a la novia, hacer invitación. Especificaciones de salida: fijar
lugar, fijar hora, encuentro en el lugar fijado, compra de boletas, ingreso a la sala de cine.
2.- Realizar un algoritmo donde se indique los pasos para realizar un plato típico de la región.Análisis: Problema: elaboración de plato típico “ mamona” Especificaciones de entrada: comprar la novilla. Especificaciones de salida: sacrificio de la novilla, condimentos, yuca, papa, sal, trozos de leña.
- 18 -
· Sistemas Operativos · Ejercicios
- 19 -
· Sistemas Operativos · Ejercicios
3.- Realizar un diagrama que permita esquematizar (dibujo) los pasos para bañar un elefante.Problema: como bañar un elefante Especificaciones de entrada: un elefante, un lazo, 100 litros de agua, 100 cc de jabón liquido, un
cepillo, un balde Especificaciones de salida: mojar el elefante, aplicar jabón, cepillar, enjuagar.
- 20 -
· Sistemas Operativos · Ejercicios
4.- Determinar cual es el cuadrado, de un determinado número, primero haga la lista de pasos a utilizar, luego el algoritmo en pseudocódigo y finalmente el diagrama de flujo.Pasos:InicioIngrese un número: aLea numero: aCuadrado = a^2;Escriba el resultadoFin
- 21 -
· Sistemas Operativos · Ejercicios
5.- Elaborar un diagrama de flujo que permita determinar si un número es Positivo o Negativo.
6.- Elabore en pseudocódigo y en diagrama de flujo un algoritmo que halle el área de un triangulo.
- 22 -
· Sistemas Operativos · Ejercicios
7.- Ejercicio de conversión, desarrollar un algoritmo en pseudocódigo y luego un diagrama, que permita ingresar una cantidad en metros y la convierta a Centímetros, Kilómetros, Pies, pulgadas (utilice las sentencias de selección).PSEUDOCODIGO
1. algoritmo de conversión de metros a: centímetros, kilometros, pies, pulgadas;2. var3. m,km,cm,pies,pulgadas:real4. inicio5. escriba(“por favor ingrese un numero”);6. lea(m);7. cm = m*100;8. escriba(“el valor es:”,cm);9. km = m*0.001;10. escriba(“el valor es:”,km);11. pies = m*3.281;12. escriba(“el vlor es:”,pies);13. pulgadas = m*39.37;14. escriba(“el valor es:”,pulgadas);15. imprimir(c,km,pies,pulgadas)16. fin
- 23 -
· Sistemas Operativos · Ejercicios
8.- Leer una determinada temperatura en grados centígrados y convertirla a FahrenheitPSEUDOCODIGO
1. leer una temperatura en grado centigrados y convertirla en grados fahreheit.2. var3. c = (“grados centigrados”); real4. inicio5. ingrese(“el valor en grados”);6. lea(c);7. Fahrenheit = c(9/5)+32;8. escriba(“grados Fahrenheit es:”,f);9. fin
9.- Elabore un algoritmo en pseudocódigo y un diagrama de flujo que teniendo como datos de entrada el radio y la altura de un cilindro calcule el área total y el volumen del cilindro.
- 24 -
· Sistemas Operativos · Ejercicios
10.- Elaborar un diagrama de flujo, que permita ingresar 3 valores y los imprima en forma descendente.
- 25 -
· Sistemas Operativos · Ejercicios
- 26 -
· Sistemas Operativos · Ejercicios
5. Analice el siguiente algoritmo en pseudocódigo y discuta con sus compañeros de grupo, porque en este ejercicio se emplearon 3 condicionales?, Existen otras formas de resolverlo?
1. Algoritmo mayor_v12. var3. a,b:entero4. inicio5. Escriba(“Por Favor entre un número”);6. Lea(a);7. Escriba(“por favor entre el segundo número”);8. Lea (b);9. Si (a=b)10. escriba (“los Números son Iguales”);11. fin_si12. Si (a>b)13. escriba (“El mayor es :”, a);14. fin_si15. Si (a)16. escriba(“el mayor es :”,b);17. fin_si18. fin
RTASe emplean 3 condicionales; por que necesitamos saber cual es el mayor y menor de los 2 números enteros, pero que pasa, si al introducir los números son iguales, posiblemente imprimiría error; entonces empleamos las tres condiciones, para que el algoritmo no se ambiguo.Forma 2
1. Algoritmo mayor_v12. var3. a,b:entero4. inicio5. Escriba(“Por Favor entre un número”);6. Lea(a);7. Escriba(“por favor entre el segundo número”);8. Lea (b);9. Si (a=b)10. escriba (“los Números son Iguales”);11. sino_si(a>b)12. escriba (“El mayor es :”, a);13. sino_si(a)14. escriba(“el mayor es :”,b);15. fin_si16. fin
6. Defina estructura de selección simple, doble y en cascada y dé un ejemplo en pseudocódigo. Selección simple La estructura de selección simple permite ejecutar una acción o un grupo de acciones
sólo si se cumple una determinada condición. Así, si la condición es verdadera se ejecuta la acción acciona; en caso contrario, no se hace nada
Por ejemplo, si se desea cambiar el signo de un número únicamente en caso que sea negativo, podemos escribir:
SI( numero < 0 )numero = -1 * numero
- 27 -
· Sistemas Operativos · Ejercicios
Si el número no es negativo, simplemente esta estructura se pasaría por alto y se continuaría en la siguiente instrucción después del SI. Estructura de Selección Doble SI - SINOLa estructura de selección doble permite seleccionar una ruta de dos rutas posibles en base a la verdad o falsedad de una condición. Así, en la Figura 3.2, si la condición es verdadera, se ejecuta la acción A; en caso contrario, se ejecuta la acción B.
Por ejemplo, la siguiente estructura de selección doble determina si una persona es mayor o menor de edad:SI( edad >= 18 )estado = "Mayor de edad"SINOestado = "Menor de edad"Esto imprime "Mayor de edad" si la persona tiene 18 años ó más e imprime "Menor de edad" si la persona tiene menos de 18 años. En cualquiera de los casos, después de efectuar la impresión, se ejecutará la primera instrucción que sigue a la estructura SI...SINO. Estructura de Selección Doble en Cascada SI-SINO-SILa estructura de selección doble en cascada esta formada por varias estructuras de selección doble SI-SINO puestas una a continuación de otra de forma que a un SI-SINO le sigue otro SI-SINO.En la estructura de selección doble en cascada, las condiciones se evalúan en orden descendente, pasando de una condición a otra si la condición anterior resulta falsa. En el momento que se encuentra una condición verdadera, se efectúa la acción correspondiente a dicha condición y se corta el resto de la estructura. Si todas las condiciones resultan falsas, se efectúa la acción correspondiente al último SINO, que se considera como la acción por defecto.
- 28 -
· Sistemas Operativos · Ejercicios
Diagrama de flujo y el pseudocódigo de la estructura de selección doble en cascada.
- 29 -
· Sistemas Operativos · Ejercicios
Ejemplos de selección simple:Ejemplo 1:Por ejemplo, si se desea cambiar el signo de un número únicamente en caso que sea negativo, podemos escribir:
1. cambio de signo a un numero si es negativo2. var3. numero:entero,real4. inicio5. introduzca(“el numero”);6. lea(n);7. si(n<0)8. numero=-1*n;9. fin
Ejemplo 2:Realizar un pseudocódigo, para saber si pase un determinado curso.Pseudocodigo
1. Algoritmo para conocer el estado académico2. var3. nota: entero, real;4. inicio5. ingrese(“por favor la nota”);6. lea(nota);7. si(nota>=3.0)8. entones(“paso el semestre”);9. fin
Ejemplos de selección doble:EJEMPLO 1Hallar el salario de los empleados de ventas de la empresa comercial andina: teniendo los siguientes datos, sueldo básico 500.000, según las ventas de cadaempleado se le da una comisión, asi: menor de 2.000.000 5%, mayor 10%.PSEUDOCODIGO
1. algoritmo para calcular el salario de un empleado2. var3. s,ventas,sueldo basico,0.05,0.1:entero,real4. inicio5. introduzca(“valorventas”);6. lea(valor)7. si(ventas<2000000)8. s=(ventas*0.05)+sueldobasico;9. sino(ventas*0.1)+sueldobasico;10. imprima (“salarios de empleados”)11. fin
Ejemplos de selección doble en cascada: SI-SINO-SI.Diseñe un algoritmo que califique el puntaje obtenido en el lanzamiento de tres dados en base a la cantidad seis obtenidos, de acuerdo a lo siguiente: tres seis, excelente; dos seis, muy bien; un seis, regular; ningún seis, pésimo.PSEUDOCODIGOcalificacion del puntaje según el lanzaminentoVARENTERO:dado1, dado2, dado3CADENA: calificacioninicio
- 30 -
· Sistemas Operativos · Ejercicios
LEER(dado1,dado2,dado3)SI(dado1+dado2+dado3==18) calificacion="Excelente"SINO SI(dado1+dado2==12||dado1+dado3==12||dado2+dado3==12)calificacion="Muybién"SINO SI(dado1==6||dado2==6||dado3==6);calificacion="Regular"SINOcalificacion="Pésimo"IMPRIMIR(calificacion)FIN
1.- Mostrar su nombre, sexo edad y estado civil, que son ingresados por tecladoALGORITMO datopersonal
INICIO CARACTER nombre[30], sexo, Ec Entero edad 1.-LEER nombre, sexo, edad, Ec // Ec = estado civil 2.-MOSTRAR nombre, sexo, edad , EcFIN 2.- Ingresar por teclado el nombre y la edad de cualquier persona e imprima tanto el nombre como la edadALGORITMO edadINICIO CARACTER nombre[30]. Entero edad 1.-LEER nombre, edad 2.-MOSTRAR nombre, edadFIN 3.- Ingresar por teclado el nombre y la edad de cualquier persona e imprima, solo si la persona es mayor de edad, el nombre de la persona.ALGORITMO adultoINICIO CARACTER nombre Entero edad 1.- LEER nombre, edad 2.- SI (edad >= 18) ENTONCES a)MOSTRAR nombre FINSIFIN4.- .- Ingresar por teclado el nombre y la edad de cualquier persona e imprima solo si la persona es mayor de edad, el nombre de la persona, de lo contrario, imprima un mensaje que diga : “no puede votar”.ALGORITMO votarINICIO Cadena nombre Entero edad 1.-LEER nombre , edad 2.-SI ( edad >= 18) ENTONCES a)MOSTRAR nombre
- 31 -
· Sistemas Operativos · Ejercicios
SINO a)MOSTRAR “no puede votar” FINSIFIN 5.- Ingresar por teclado el nombre, la edad y el sexo de cualquier persona e imprima, solo si la persona es de sexo masculino y mayor de edad, el nombre de la persona. NOTA: suponga que en el campo denominado sexo el numero 1 es masculino o el numero 2 es femeninoALGORITMO sexINICIO Cadena nombre Entero sexo , edad 1.-LEER nombre, sexo, edad 2.-SI (sexo = 1) y (edad>= 18)
ENTONCES a)MOSTRAR nombre. FINSIFIN 6.- Ingresar por teclado el nombre, la edad, el sexo (1 o 2) y el estado civil de cualquier persona e imprima solo si la persona es un hombre soltero mayor de edad, el nombre de la persona. NOTA: en el campo de estado civil se graba el numero 1 en vez de soltero, el numero 2 en vez de casado o el numero 3 en vez de otro. ALGORITMO hombsoltINICIO Cadena nombre Entero edad , sexo, ec // ec =estado civil. 1.-LEER nombre, edad, sexo, ec. 2.-SI (sexo = 1) y (ec = 1) y (edad >= 18) ENTONCES a)MOSTRAR nombre FINSIFIN 7.-Lea de un registro el nombre, la edad, el sexo y el estado civil de cualquier persona e imprima, solo si la persona es hombre o mujer menor de edad o es hombre casado de cualquier edad, el nombre de la persona y un mensaje que diga “usted no se manda”. En los demás casos imprima el nombre de la persona solamente.ALGORITMO mensajeINICIO CARÁCTER nombre[30] , s, ec // s = sexo, e = edad Entero, e // ec = estado civil 1.-LEER nombre, e, s, ec 2.-SI (s = “M”) o ((s = “F”) y (e < 18)) o ((s = “M”) y ( ec = “C”))
ENTONCES a)MOSTRAR nombre, “usted no se manda” SINO a)MOSTRAR nombre. FINSIFIN
- 32 -
· Sistemas Operativos · Ejercicios
8.-Ingrese un numero e imprima el numero y el valor absoluto del mismo. ALGORITMO valorabsolutoINICIO Real , x, VA // {x es el numero} 1.-LEER x 2.-VA abs (x) 3.- MOSTRAR VA // VA es el valor absolutoFIN9.-Ingrese un número y calcule e imprima su raíz cuadrada. Si el numero es negativo imprima el número y un mensaje que diga “tiene raíz imaginaria”ALGORITMO RCINICIO Real ,num, RC 1.-LEER num 2.- SI (num >= 0)
ENTONCESa. RC sqrt (num)b. MOSTRAR RC
SINO a. MOSTRAR num “tiene raíz imaginaria” FINSIFIN 10.-Ingrese dos números desde el teclado e imprima solo los positivos ALGORITMO posINICIO Real A, B 1.-LEER A, B 2.-SI (A>0)
ENTONCES MOSTRAR A FINSI 3.-SI (B>0) ENTONCES MOSTRAR B FINSIFIN11.-Ingrese dos números desde el teclado e imprima ambos números sólo si son positivosALGORITMO numposINICIO Real , A, B 1.-LEER A, B 2.-SI (A>0) y (B>0) ENTONCES a)MOSTRAR A, B FINSIFIN12.-Ingrese dos números desde el teclado e imprima ambos números si por lo menos uno de ellos es positivoALGORITMO numINICIO Real A ,B 1.-LEER A, B 2.-SI (A>0) o (B>0) ENTONCES
- 33 -
· Sistemas Operativos · Ejercicios
a) MOSTRAR A, B FINSIFIN13.-Ingrese dos números desde el teclado e imprima ambos números solo si son de diferente signo y distintos de ceroALGORITMO signosopINICIO Real A, B 1.-LEER A, B 2.-SI ( A B ) y ( B0 ) ENTONCES
a) SI (A<0 ) y (B>0) o (A>0) y (B<0) ENTONCES 1) MOSTRAR A, B FINSI
FINSIFIN 14.-Ingrese dos números desde el teclado. Calcule la suma e imprima los números leídos y la suma.ALGORITMOsumINICIO Real, A, B, S // S, es la suma 1.- LEER A, B 2.- S A + B 3.- MOSTRAR A, B, SFIN 15.- Lea dos números de un mismo registro. Calcule la suma de los números. Imprima los números leídos y sólo si suma es negativa. Imprímala tambiénALGORITMOsumaINICIO Real A, B, S // S es la suma 1.- LEER A, B 2.- S A + B 3.- SI ( S < 0 ) ENTONCES a) MOSTRAR A, B, S SINO
a) MOSTRAR A, B FINSIFIN 16.- Lea dos números de un mismo registro y calcule el cociente de dividir el primero por el segundo. Imprima el cociente. Si el segundo número es cero no ejecute el cálculo e imprima un mensaje que diga : “la división no es posible”.ALGORITMO cocienteINICIO Real A, B , COC // COC es el cociente 1.-LEER A, B 2.- SI ( B = 0)
ENTONCESa. MOSTRAR “la división no es posible”
SINO a. COC A / B
b. MOSTRAR COC “es el cociente”
- 34 -
· Sistemas Operativos · Ejercicios
FINSI FIN 17.- Leer de un mismo registro el nombre de un empleado, su salario básico por hora y el número de horas trabajadas en el mes. Calcular su salario mensual e imprimir tanto el nombre como su salario mensualALGORITMO salarioINICIO Cadena nombre Real SxH, SM // SxH es salario por hora, SM, salario mensual Entero HT // HT es el número de horas trabajadas 1.- LEER nombre SxH, HT 2.- SM SxH * HT 3.- MOSTRAR nombre, SMFIN 18.- Leer un número y calcular el 5% del número leído. Obtener tanto el número como el porcentaje calculadoALGORITMO porcientoINICIO Real Num , PC // PC es el porcentaje 1.- LEER , Num 2.- PC (5/100) * Num 3.- MOSTRAR PC, NumFIN 19.- Leer de un registro el nombre de un empleado, su salario básico por hora, el número de horas trabajadas en el período y el porcentaje de retención en la fuente. Calcular el salario bruto, el valor de la retención y su salario neto.
ALGORITMO retencionINICIO Real SxH, P, R, SB, SN, HT // SxH salario por hora, P porcentaje de retención, R Retención, SB Salario bruto, SN salario neto, HT, horas trabajadas. Cadena , nombre 1.- LEER nombre Sxh, HT, P 2.- SBSxH * HT 3.- R(P*SB)/100 4.- SNSB-R 5.- MOSTRAR SB, R, SN, nombreFIN 20.-Para un salario bruto hasta de $1.500, no hay retención. Para un salario bruto de $1500 a $ 3.000 el porcentaje de retención es de 5%. Para un salario bruto mayor de $3000 el porcentaje de retención es 8%. Obtener el nombre del empleado, el salario bruto, el valor de la retención y el salario neto. Se debe leer el nombre y el salario.ALGORITMO salarionetoINICIO Cadena, nombre Real, SB, SN, Ret // SB salario bruto, SN salario neto, Ret retención 1.- LEER nombre , SB 2.- SI (SB <= 1500) ENTONCES
a) Ret 0
- 35 -
· Sistemas Operativos · Ejercicios
SINO 1) SI ( SB > 3000) ENTONCES
a) Ret(8/100) * SB SINO a) Ret (5/100)*SB FINSI FINSI 3.- SN SB - Ret 4.-MOSTRAR nombre, SB, Ret, SNFIN 21.- Leer de un registro el nombre de un empleado , el salario básico por hora y el número de horas trabajadas durante una semana. Calcular el salario neto, teniendo en cuenta que si el número de horas trabajadas durante la semana es mayor de 48, esas horas demás se consideran horas extras y tienen un 35 % de recargo. Imprima el nombre del empleado y el salario neto.ALGORITMO sueldonetoINICIO Real, Sb, Ht, SN, Sextr, Extr // Sb salario por hora, Ht horas trabajadas, Extr hora extra // SN salario neto, Sextr, salario por hora extra
CARACTER Nombre[30] constante Tr = 0.35 // Tr tasa de recargo
1.- LEER nombre, Sb, Ht, 2.-SI ( Ht>48) ENTONCES a)ExtrHt-48 b)Sextr Sb+Sb*Tr c)SN(48*Sb) + (Extr*Sextr) SINO a)SNSb*Ht FINSI 3.- MOSTRAR nombre, SNFIN 22.-Obtenga los 100 primeros números naturales.ALGORITMO ciennumINICIO Entero, i 1.- PARA i 1 HASTA i 100 HACER
a) MOSTRAR i FINPARA 23.- Obtener los números pares comprendidos entre 1 y 1000ALGORITMO numparINICIO Entero i
1.- PARA i 2 HASTA i 1000 INC = 2 HACER a) MOSTRAR i FINPARAFIN
- 36 -
· Sistemas Operativos · Ejercicios
24.- Leer de un registro un número entero positivo y obtener los múltiplos de 3 comprendidos entre 1 y el número leído.ALGORITMO mult3INICIO Entero i, N 1.- LEER N 2.- PARA i 1 HASTA i N HACER a) SI ( i MOD 3 = 0 )
ENTONCES1. MOSTRAR i
FINSI FINPARAFIN 25.- Lea los veinte primeros registros de un archivo, cada uno de los cuales contienen un nombre. Imprimir los nombres.ALGORITMO nombreINICIO Entero, i CARACTER nombre[30] 1.- PARA i 1 HASTA i 20 HACER
a) LEER nombreb) MOSTRAR nombre
FINPARA FIN 26.- Leer varios registros cada uno de ellos, conteniendo un nombre. El número de estos registros se encuentra grabado en un registro que precede a los anteriores. Imprimir cada uno de los hombres leídos.ALGORITMO nombresINICIO CARACTER nombre Entero i, N 1.- LEER NReg 2.- PARA i1 HASTA iNReg HACER a) LEER nombre b) MOSTRAR nombre FINPARAFIN 27.- Leer un conjunto de registros cada uno de ellos conteniendo el código y el nombre de cada uno de los estudiantes de la universidad. El último registro del conjunto (registro centinela) contiene el código 9999999 y es utilizado sólo para chequear el final de los registros. Imprima cada uno de los códigos leídos. Lógicamente la información del registro centinela no se imprime porque no pertenece a ningún estudiante.ALGORITMO estudianteINICIO Entero cod // cod es el código. CARACTER nombre[30] 1.- LEER cod, nombre 2.- MIENTRAS (cod 9999999) HACER
a) MOSTRAR cod , nombreb) LEER cod, nombre
FINMIENTRAS
- 37 -
· Sistemas Operativos · Ejercicios
FIN 28.-Imprimir cuatro columnas. En la primera columna, los enteros del 1 al 50 . En las otras columnas, la segunda, la tercera y la cuarta potencia de los enteros de la primera columna ALGORITMOpotenciaINICIO Entero , i , pot2, pot3, pot4 1.- PARA i 1 HASTA i 50 HACER a)pot2 sqr ( i ) b)pot3 pot2 * i c)pot4 pot2 * pot2 d) MOSTRAR i , pot2, pot3, pot4 FINPARAFIN 29.- Calcule la suma de los100 primeros números naturalesALGORITMO sumaINICIO Entero suma, i 1.- suma 0 2.- PARA i 1 HASTA i 100 HACER a) suma suma + i FINPARA 3.-MOSTRAR sumaFIN 30.- Obtener la suma de los números pares comprendidos entre 1 y 100ALGORITMO sumINICIO Entero i , suma 1.- suma 0 2.-PARA i 2 HASTA i 100 INC = 2 HACER a) suma suma + i FINPARA 3.-MOSTRAR sumaFIN 31.- Encuentre la calificación promedio para un gran número, aunque desconocido, de calificaciones de exámenes. Estas vienen grabadas en registros. La calificación más alta posible es 10.0ALGORITMO calificaciónINICIO Real calificación, Promedio, Totcal // Totcal suma de las calificaciones, Entero, n // n es el número de calificaciones 1.- Totcal 0 2.- n 0 3.- LEER calificación 4.- MIENTRAS (calificacion >=0 y calificación <= 10 ) HACER
a) Totcal Totcal + calificaciónb) n n + 1c) LEER calificación
FINMIENTRAS 5.-Promedio Totcal / n
- 38 -
· Sistemas Operativos · Ejercicios
6.-MOSTRAR Promedio FIN
32.-Leer una serie de números. Encontrar el valor absoluto (magnitud) de cada número. Imprimir tanto los números como sus valores absolutos. Use centinela 999ALGORITMO valorabsolutoINICIO
Real num, VA, // VA valor absoluto, num número 1.-LEER num 2.-MIENTRAS ( num 999) HACER {999 es el valor centinela}
a) VA abs ( num)b) MOSTRAR VA “es el valor absoluto de” numc) LEER num
FINMIENTRASFIN 33.- Leer una serie de números. Obtener el cuadrado y el cubo de cada número e imprimir tanto los números como sus cuadrados y sus cubos.ALGORITMO potenciaINICIO Real num, cuadrado, cubo 1.- LEER num 2.- MIENTRAS ( num -999) HACER {-999 valor centinela} a) cuadradosqr ( num ) b) cubo cuadrado*num c) MOSTRAR cuadrado, cubo,num d) LEER num FINMIENTRASFIN 34.- Leer una serie de pares de números y obtener de cada par el número mayor. Imprima un mensaje especial si los números son de igual valor. Los numeros son precedidos por la cantidad de registrosALGORITMO mayornumINICIO Real A, B 1.- LEER nreg 2.- PARA i 1 HASTA i nreg HACER
a) LEER A, Bb) SI (A = B)
ENTONCES1) MOSTRAR A, B, “son iguales”
SINO 1) SI ( A>B)
ENTONCESa. MOSTRAR A “es el mayor”
SINOa. MOSTRAR B “es el mayor”
FINSI FINSI FINPARAFIN
- 39 -
· Sistemas Operativos · Ejercicios
35.- Leer una serie de grupos de tres números y obtener el número mayor y el número menor de cada terna. Escriba un mensaje si por lo menos dos de cada tres números son iguales.ALGORITMO ternasmayormenorINICIO Real A, B, C Entero, cant 1.-MOSTRAR "ingrese la cantidad de ternas" 2.-LEER cant 3.-PARA i1 HASTA icant HACER a) LEER A, B, C
b)SI (A=B) o (B=C) o (A=C) ENTONCES
1) MOSTRAR "por lo menos 2 de los 3 números son =" SINO 1) MENA 2) SI (B<MEN) ENTONCES a) MENB FINSI 3) SI (C<MEN) ENTONCES a) MENC FINSI 4) MOSTRAR MEN "es el menor" 5) MAYA 6) SI (B > MAY) ENTONCES a)MAYB FINSI 7) SI (C > MAY) ENTONCES a)MAYC FINSI 8) MOSTRAR MAY "es el mayor" FINSI FINPARAFIN 36.-Identifique y obtenga el número medio de un conjunto de tres números únicos. EL número medio es aquel que no es el menor ni el mayor.ALGORITMO numeromedioINICIO Real A, B, C. 1.-MOSTRAR "ingrese tres números distintos" 2.-LEER A, B, C 3.-SI ( A>B) ENTONCES a) SI (A>C) ENTONCES 1)SI (B>C) ENTONCES a)MEDB SINO a) MEDC FINSI SINO 1)MEDA FINSI SINO a) SI (B>C)ENTONCES
- 40 -
· Sistemas Operativos · Ejercicios
1)SI (A>C)ENTONCES a)MEDA SINO a)MEDC FINSI SINO 1)MEDB FINSI FINSI 4.-MOSTRAR MED "es el número medio"FIN37.- El Dane está interesado en saber el número de personas mayores de 18 años, tanto hombres como mujeres en la ciudad de Medellín . Calcule e imprima el resultado de esta investigación. Se deben leer registros que contiene cada uno el sexo y el número de años.ALGORITMO daneINICIO Entero edad, h, m, sexo 1.-h 0 2.-m0 3.-LEER edad , sexo 4.-MIENTRAS (edad 999) a) SI (edad >= 18) y (sexo = 1) ENTONCES 1)hh + 1 SINO 1) SI (edad > = 18) y (sexo = 2) ENTONCES a)mm + 1 FINSI FINSI b) LEER edad, sexo FINMIENTRAS 5.- MOSTRAR h, mFIN 38.-Una tienda de libros y géneros diversos al menudeo ofrecen un descuento de cortesía del 10% para profesores. Muestre como la computadora puede calcular e imprimir el 10% de 1.00, 1.10, 1.20, etc hasta $25.00.ALGORITMO menudeoINICIO Real , desc //desc es el descuento
Entero, i 1.- i1.00 2.- MIENTRAS (i < = 25.00) HACER
a) desc 0.10 * ib) MOSTRAR desc
c) i i + 0.10 FINMIENTRAS FIN 39.-Un vendedor desea calcular su comisión total sobre la venta de varios artículos. Al vendedor le corresponde el 5% de su comisión sobre artículos cuyo precio es menor de $100 y el 7.5 % de comisión sobre aquellos artículos cuyo precio es de $100 o más. Suponga que el vendedor hizo N ventasALGORITMO comisión
- 41 -
· Sistemas Operativos · Ejercicios
INICIO Constantes TC1 = 0,05 TC2 = 0.075 Entero N , i. Real comision ,tcom, venta 1.-men 0 2.-may 0 3.-MOSTRAR " ingrese el número de ventas que hizo " 4.- LEER N 5.- i 1 6.-MIENTRAS (i <= N ) HACER a) LEER precio, nart b) SI (precio< 100) ENTONCES 1)venta (nart*precio) 2)comision venta * tc1 SINO 1)venta (nart*precio) 2) comision venta * tc2 FINSI c) tcom tcom + comision d) i i + 1 FINMIENTRAS 7.- MOSTRAR tcomFIN40.-Coldeportes de Antioquia está interesado en promover el básquetbol y para ello desea conocer personas que tengan las siguientes características, edad máxima: 18 años, estatura mínima: 1.80 metros, peso máximo: 80 kilos. Lea identificación. Edad , estatura y peso. Use centinela identificacion 99999ALGORITMO basquetINICIO Entero identificación, edad Real, estatura, peso 1.- LEER identificación, edad, estatura, peso 2.- MIENTRAS (identificación 99999) HACER
a) SI (edad <= 18) y (estatura >=1.80 ) y (peso<=80) ENTONCES
1) MOSTRAR identificación, edad, estatura , peso FINSI b) LEER, identificación, edad, estatura, peso FINMIENTRASFIN
41.-Lea de un mismo registro A, B, C (coeficientes de la ecuación cuadrática. Calcule e imprima x1 y x2 (raíces de la ecuación ) Recuerde que x1 y x2 se pueden calcular sólo sí a) B2 - 4. AC >= O b) A 0.ALGORITMO ecuaciónINICIO Real, x1, x2 , A, B, C 1.-LEER A, B, C 2.-SI ( A 0 ) ENTONCES a) Disc sqr (B) – 4*A*C
b) SI (Disc >= 0)
- 42 -
· Sistemas Operativos · Ejercicios
ENTONCES1) X1( - B + sqrt(Disc) ) / (2*A)
2)X2( - B - sqrt(Disc) ) / (2*A)3) MOSTRAR x1, x2
SINO MOSTRAR “Tiene raices imaginarias”
FINSI FINSIFIN 42.-Se tienen registro con los datos de los estudiantes de una universidad, así: código del estudiante, nombre del estudiante. Valor crédito del estudiante, número de créditos tomados, valor del recargo en la matrícula. Se requiere leer los registros e imprimir un listado con la siguiente información por estudiante: código, nombre del estudiante, valor crédito, número de créditos, valor del recargo, valor total pagado por estudiante. También se debe calcular e imprimir al final del listado el total pagado por todos los estudiantes y el promedio por estudiante. Use codigo de centinela = 9999ALGORITMO pagoINICIO Entero, código, n, ct // n, número de estudiantes, ct créditos tomados Real, vc, rec, totpag, p // vc valor crédito, ,rec valor de recargo, totpag total pagado CARÁCTER nombre[30] 1.- n 0 2.- totpag 0 3.- LEER código, nombre, vc, ct, rec 4.- MIENTRAS ( cod 9999) HACER a) PE ( vc* ct) + rec b) n n + 1
c) totpag totpag + PE d) MOSTRAR cod, nombre, vc, ct, rec, PE
e) LEER cod, nombre, vc, ct, rec FINMIENTRAS 5.-P totpag / n 6.-MOSTRAR p,“es el promedio”FIN 43.-Se tiene un conjunto de registros de los empleados de una compañía, cada registro contiene los siguientes datos: número del empleado, nombre del empleado, salario básico por hora, horas trabajadas en el mes, deducciones, Se requiere leer los registros e imprimir un listado con la siguiente información por empleado : número del empleado , nombre del empleado, salario básico por hora, horas trabajadas, deducciones, salario mensual. También se debe calcular e imprimir al final del listado, el total de salarios pagados a todos los empleados y el promedio salarial por empleado.ALGORITMO compañíaINICIO Entero, num, i // num, número del empleado, nov, nombre, sh salario por hora,
// ht, horas trabajadas,d, deducciones i, número de empleados, tot,// Total pagado, SM, salario mensual, P, promedio salarial//,
Real, sh, ht, d, tot sm , p CARÁCTER nomb [30] 1.- i 0 2.- tot 0 3.- LEER num, nomb, sh, ht, d 4.- MIENTRAS ( num 9999) HACER
- 43 -
· Sistemas Operativos · Ejercicios
a) i i + 1b) sm (sh * ht) – dc) tot tot + smd) MOSTRAR num, nomb, sh, ht, d, sme) LEER num, nomb, sh, ht, d
FINMIENTRAS 5.- MOSTRAR tot 6.- itot/ i 7.- MOSTRAR P “es el promedio salarial por empleado”FIN
44.-Calcular e imprimir los salarios que se adeudan a trabajadores, basados en tasa a 1.5 veces la tasa regular, cuando Las horas trabajadas excedan de 40 por semanaALGORITMO salariosINICIO Real, ht, d, ext ,td // ht, horas trabajadas, d deuda, sh salario básico por hora, extr,
// horas extras, TD total de la deuda 1.-LEER ht, sh 2.- MIENTRAS ( ht 0 ) HACER
a) SI ( ht > 40) ENTONCES1) Extr ht – 402) D 1.5 * extr * sh3) MOSTRAR D4) TD TD + D
FINSIb) LEER ht. Sh
FINMIENTRAS 3. MOSTRAR TDFIN45.- Dado que un peso de mañana tiene menor valor que un peso de hoy (fenómeno económico que llamamos inflación) las empresas cuando calculan los futuros ingresos transformados a pesos de hoy superan el monto de la inversión hecha. La fórmula general para el cálculo del valor actual es : VA = C / (1 + i) N donde: C es la cantidad del ingreso i es la tasa de inflación N son los años en consideraciónUna empresa tiene información sobre la tasa de inflación, la inversión y los ingresos calculados para diez años seguidos. Con ésta desea saber si al cabo de dicho tiempo ha recuperado la inversión, hablando en pesos del día en que se hace la mismaALGORITMO inflaciónINICIO Entero, N Real, VA,. C, inv, i, den 1.-LEER i , inv , C, N 2.- denexp( N * ln (1+i)) 3.- VA C / den 4.- SI ( VA > inv ) ENTONCES
a) MOSTRAR “recupera inversión” SINO
a) MOSTRAR “ no recupera la inversión”
- 44 -
· Sistemas Operativos · Ejercicios
FINSI 5.- MOSTRAR VAFIN
Un empleado trabaja 48 horas en la semana a razón de $5.000 hora. El porcentaje de retención en la fuente es del 12.5% del salario bruto. Se desea saber cuál es el salario bruto, valor de la retención en la fuente y el salario neto del trabajador.
INICIOHORASTRAB = 48VALHORA = 5000PORTEFTE = 12.5SalBruto, ReteFuente, SalNeto: Real
SalBruto = HORASTRAB * VALHORA * 4ReteFuente = SalBruto * 12.5 / 100SalNeto = SalBruto -ReteFuenteESCRIBIR: ‘Salario Bruto = ’, SalBruto, ‘ Valor de Retención en la fuente= ’,Retefuente, ‘ Salario Neto = ’,SalNetoFIN
- 45 -