Laboratorio No. 2 Nombre: Edward Fernando Otalvaro – código:1227010 Nombre : Oscar Barcos - código : 1230680 Janier Fab
Views 84 Downloads 1 File size 751KB
Laboratorio No. 2
Nombre: Edward Fernando Otalvaro – código:1227010 Nombre : Oscar Barcos - código : 1230680 Janier Fabian Villegas – código: 1225751
Código: 1227010
Profesor: Johany Romo
Grupo: 00-750001M-80-201208041
Santiago de Cali, 12 de Septiembre de 2012
1. Dados como datos la categoría y el sueldo de un trabajador, calcule el aumento correspondiente teniendo en cuenta la siguiente tabla. Imprimir la categoría del trabajador y el nuevo sueldo según su incremento. Categoria 1 2 3 4
Aumento 15% 10% 8% 7%
R/
Análisis de problema
Datos de entrada: Categoría: categoría= entero Sueldo: sueldo = real
Datos de salida: Incremento: increm= real
Proceso: En caso de (categoria) Opción 1 : incremento = (sueldo +(sueldo*0.15)) Opción 2 : incremento = (sueldo +(sueldo*0.10)) Opción 3 : incremento = (sueldo +(sueldo*0.08)) Opción 4 : incremento = (sueldo +(sueldo*0.07)) Por defecto: Imprimir (“categoría no existente”)
Pseudocódigo
Inicio Categoría= entero Sueldo =real Imprimir (“digite la categoría del trabajador:”)
Leer categoría Imprimir (“digite el sueldo del trabajador:”) Leer sueldo En caso de (categoria) Opción 1 : incremento = (sueldo +(sueldo*0.15)) Opción 2 : incremento = (sueldo +(sueldo*0.10)) Opción 3 : incremento = (sueldo +(sueldo*0.08)) Opción 4 : incremento = (sueldo +(sueldo*0.07)) Por defecto: Imprimir (“categoría no existente”) Imprimir (“la categoría es:”+categoria) Imprimir (“nuevo sueldo:”+ incremento) fin
Prueba de escritorio Categoria 1 2 3 4 5
Prueba de ejecución:
Datos de entrada: (sueldo):
sueldo 1000000 1000000 1000000 1000000 1000000
incremento 1150000 1100000 1080000 1070000 Categoría no existe
Datos de entrada: (categoría):
Datos de salida: (aumento):
Datos de salida :(categoría incorrecta)
2. Se requiere un programa que lea un número entero de tres dígitos y determine si es o no capicúa. R/ R/
Análisis de problema
Datos de entrada: Numero= real Datos de salida: Tipo=tipo: String Proceso: numeroInvertido = ((num2%10)*100)+((num2/10)*10)+num1; si( número se lee igual de izquierda a derecha que de derecha a izquierda) imprimir ( el número es capicua) no imprimir ( el numero no es capicua)
Pseudocódigo inicio imprimir (escriba un numero de tres digitos)
leer (número) si( número se lee igual de izquierda a derecha que de derecha a izquierda) imprimir ( el número es capicua) no Imprimir ( el numero no es capicua) FIN
Prueba de escritorio numero
Izq der=
capicúa
der izq
121
121=121
si
738
783=387
no
Prueba de ejecución
Datos de entrada
Datos de salida
3. Elabore un programa que lea tres longitudes y determine si forman o no un triángulo. Si es un triángulo determine de qué tipo de triángulo se trata entre: equilátero, isósceles o escaleno. Considere que para formar un triángulo se requiere que: “el lado mayor sea menor que la suma de los otros dos lados”. R/
Análisis de problema
Datos de entrada: Lado1= l1:real Lado2 =l2:real Lado3=l3 :real Datos de salida: Tipo= tipo: String
Proceso: Si (l1>l2 Y l1>l3 Y l1>(l2+l3) O l2>l1 Y l2>l3 Y l2>(l1+l3) O l3>l1 Y l3>l2 Y l3>(l1+l2)) Imprimir ("las tres longitudes no forman un triángulo") Si no Si (l1=l2 Y l2=l3) Tipo = Equilátero Si no Si (l1!=l2 Y l2!=l3 Y l3!=l1) Tipo = Escaleno Si no Tipo = Isoceles
Pseudocódigo
Inicio L1,l2,l3 = real
Tipo = String Imprimir (“Digite el primer lado del triángulo:”) Leer l1 Imprimir (“Digite el segundo lado del triángulo:”) Leer l2 Imprimir (“Digite el tercer lado del triángulo:”) Leer l3 Si (l1>l2 Y l1>l3 Y l1>(l2+l3) O l2>l1 Y l2>l3 Y l2>(l1+l3) O l3>l1 Y l3>l2 Y l3>(l1+l2)) Imprimir ("las tres longitudes no forman un triángulo") Si no Si (l1=l2 Y l2=l3) Tipo = Equilátero Si no Si (l1!=l2 Y l2!=l3 Y l3!=l1) Tipo = Escaleno Si no Tipo = Isoceles Imprimir (“"el triángulo es: ” + tipo) Fin
Prueba de escritorio
Lado 1 7 9 15 7 5
Lado 2 10 5 15 7 5
Prueba de ejecución:
Lado 3 4 5 15 15 3
Tipo de triangulo Escaleno Isoceles Equilatero No existe Isoceles
Datos de entrada: (lado 1)
Datos de entrada: (lado 2)
Datos de entrada: (lado 3)
Datos de salida: (tipo de triangulo)
4. Una persona decidió poner un peaje en un puente. Este peaje depende del tipo de vehículo (1,camión, o 2,automóvil) que desee cruzar, del número de pasajeros que lleve y de la hora del día: en las horas pico (7 – 10 o 17 a 20 ) solo los automóviles con tres pasajeros o mas no pagan peaje, si tienen menos pasajeros pagan $8.000 al igual que los camiones; en las horas menos congestionadas el peaje para los automóviles es de $5.500 y para los camiones es de $7.000, independiente del número de pasajeros. Escriba un programa para calcular el pago del peaje, finalmente el programa debe mostrar: el tipo de vehículo, el número de pasajeros, la hora del día en que desea pasar y el valor a pagar por el peaje.
R/
Análisis de problema
Datos de entrada: tipo = entero hora=entero pasajero=entero
Datos de salida: vehiculo=String valor=String
Proceso: En caso de (tipo) Opción 1 : vehiculo="Automovil"; valor = "$5.500"; Opción 2 vehiculo="camion"; valor = "$7.000"; Por defecto: Imprimir (“el vehiculo no es permitido”)
Pseudocódigo
Inicio tipo = entero hora=entero pasajero=entero Imprimir (“Digite el tipo de vehiculo:”) leer tipo En caso de (tipo) Opción 1 : vehiculo="Automovil"; valor = "$5.500"; Opción 2 vehiculo="camion"; valor = "$7.000"; Por defecto: Imprimir (“el vehiculo no es permitido”) Imprimir (“Digite la hora :”) leer hora Si (hora < 0 || hora >24 ) Imprimir (" la hora no es valida ") Si no Imprimir (“Digite el tipo numero de pasajeros :”) Leer pasajeros Si (hora >= 0 && hora 10 && hora < 17) || (hora >20 && hora