Download Guía de Trabajo Práctico Nº 2

Document related concepts

Ordenamiento por cuentas wikipedia , lookup

Algoritmo de Lanczos wikipedia , lookup

Problema de la suma de subconjuntos wikipedia , lookup

Algoritmo de búsqueda wikipedia , lookup

Algoritmo cuántico para sistemas de ecuaciones lineales wikipedia , lookup

Transcript
Programación I
Prof. Patricia Chechele
GUÍA DE TRABAJO PRÁCTICO Nº 2
Modalidad: Grupal
Fecha de entrega: ...................................
Desarrollar los algoritmos para los siguientes enunciados.
Debe considerarse:
Ambiente
Declaración de variables
Desarrollo del algoritmo
Prueba de escritorio
1. Se ingresan dos números. La computadora deberá informar si son iguales o diferentes.
2. Confeccionar un algoritmo para que la computadora "haga una adivinanza". Deberá mostrar la
adivinanza por pantalla y esperar a que el operador tipee la respuesta. Si esta es correcta, deberá
emitir un cartel de felicitación. Si no lo es, deberá decírsela.
3. Realizar un algoritmo que, ingresando dos números, A y B, informe si A es divisible por B.
4. Leer x e y y mostrar su suma si esta es mayor que 15.
5. Leer 2 números y mostrar la resta si el primero es mayor que el segundo.
6. Calcular la raíz cuadrada de un numero entero.
7. Se ingresan dos números A y B. Realizar un algoritmo que presente un "menú de opciones", de
forma tal que se permita elegir entre suma o resta de ambos números.
8. Dados dos números, calcular: a) La suma, si el primero es menor que el segundo; b) la resta, si el
segundo es menor que el primero y c) el producto, si son iguales.
9. Dados 3 números, se pide:
a) la suma
b) El promedio
c) Si el promedio es mayor que 5, informar a través de un mensaje “El promedio es mayor
que 5”
10. Dados los 3 lados de un triángulo, determinar qué clase de triángulo es.
11. Dados 4 números, informar si la suma de los 2 primeros es mayor o menor que la suma de los 2
segundos.
12. Se conocen las edades y las estaturas de 3 alumnos de un instituto. Se pide:
a) Mostrar la edad promedio
b) Mostrar la estatura promedio
c) Mostrar las edades de los alumnos mayores de 15 años que miden menos de 1.5 metros.
13. Se leen 2 puntos que pertenecen a las coordenadas de un punto en el plano. Construir un
algoritmo que informe si ese punto pertenece a la función y=2x+2.
14. Se leen tres datos que representan el nombre, sueldo básico y antigüedad de un empleado.
Realizar un algoritmo que calcule el sueldo total, sabiendo que si la antigüedad es mayor a 10 años,
se suma el 20% del básico.
15. Los operarios de una empresa trabajan en dos turnos, uno diurno (D) y otro nocturno (N). Realizar
un algoritmo que calcule el jornal de un operario, sabiendo que para el turno nocturno, el pago es de
$4.5 la hora, y para el turno diurno de $3.5 la hora. Además, si es domingo, hay una paga adicional de
$1.5 la hora.
16. Se leen ternas de números A, B, y OP, se pide realizare las operaciones de acuerdo al código de
operación op, de la siguiente manera:
si op = 1 entonces A+B
si op = 2 entonces A-B
si op = 3 entonces a*b
si op = 4 entonces a/b
17. Una empresa paga sueldos calculando el valor de la hora y la cantidad de horas que trabajó cada
empleado. Además si el empleado trabajó más de 100 horas, lo premian con 100 patacones y si
trabajó más de 200 horas le dan, además, una tarjeta de felicitación.
Construir un algoritmo que calcule el sueldo de un empleado.
Programación I
Prof. Patricia Chechele
18. Se leen 3 números y se pide mostrar el mayor de ellos.
19. Leer 3 números y mostrar el menor de ellos.
20. Escribir un algoritmo que determine el menor valor de 4 ingresados.
21. Ordenar 3 valores numéricos de menor a mayor.
22. Dadas la cantidad de horas trabajadas, la categoría y la antigüedad de un empleado, calcular el
sueldo teniendo en cuenta que cobra $5 adicionales por cada año trabajado.
El valor de la hora para cada categoría es:
Categoría 1: $5
Categoría 2: $6
23. Diseñar un algoritmo, para que dado un número del 1 al 7 muestre el día correspondiente de la
semana.
24. Idem, con los meses del año
25. Combinar ambos problemas para que, ingresando la fecha en formato numérico la exprese en
formato de “fecha larga”. Por ejemplo, si se ingresa 4/5/02, se muestre “4 de Mayo de 2002”
25. Dadas la cantidad de horas trabajadas, la categoría y la antigüedad de un empleado, calcular el
sueldo teniendo en cuenta que cobra $5 adicionales por cada año trabajado.
El valor de la hora para cada categoría es:
Categoría 1: $5
Categoría 2: $6
Categoría 3: $4.5
Categoría 4: $10
Categoría 5: $9
26. En un supermercado han realizado una campaña bastante original. En la caja, una vez calculado
el importe de la compra, se le solicita al cliente que extraiga de una bolsa una de las 10 bolas que hay
dentro. Las bolas están numeradas del 1 al 10 y tienen premio según la siguiente tabla:
 Bolas 1,2,3 se le descuenta al cliente un 2% de la compra.
 Bola 7
Se le descuenta un 10 %
 Bola 9 y 10 se le descuenta un 4 %
 Bola 8
se le regala un artículo a elección por valor de $5
 Las restantes no tienen premio.
Realizar un algoritmo que calcule el monto final de la compra y, en caso de tener el premio de la bola
8, que emita un ticket diciendo el monto de la compra y el mensaje “Elija su artículo”
27. Realizar un algoritmo que realice la consistencia de fecha, es decir, dada una fecha informe si es
correcta o imposible (Por ejemplo, si se ingresa “29 de febrero de 1999”, debe informarse “Incorrecta”)
Programación I
Prof. Patricia Chechele
GUÍA DE TRABAJO PRÁCTICO Nº 3
ESTRUCTURAS CÍCLICAS
Modalidad: Grupal
Fecha de entrega: ...................................
Desarrollar los algoritmos para los siguientes enunciados.
Debe considerarse:
Ambiente
Declaración de variables
Desarrollo del algoritmo
Prueba de escritorio
1. Realizar un algoritmo que escriba los números de 1 a 10.
2. Modificar el algoritmo anterior para que escriba los números del 15 al 30.
3. Modificar el algoritmo anterior para que escriba por pantalla los números del 20 al 50, de 5 en 5.
4. Realizar un algoritmo que permita ingresar un número, y escriba la tabla de multiplicar de dicho
número.
5. Se leen 200 números. Se pide la cantidad de números positivos y la cantidad de números
negativos ingresados.
6. Calcular el factorial de un determinado número N.
El factorial de un número se calcula multiplicando todos sus precedentes.
Ejemplo: Factorial de 6 = 1 * 2 * 3 * 4 * 5 * 6 = 720
7. Leer dos números: N y Valor. El algoritmo deberá escribir los N primeros múltiplos de Valor.
8. Dada la función y= 1/2x2
Construir un algoritmo que permita calcular los valores de la función para x variando entre –100 y 100
9. Se leen los datos de los 430 socios de un club. Dentro de los datos a leer se encuentran:
 Edad
 Categoría
 Sexo
Se pide un listado que muestre:
 Socios mujeres
 Cuántos activos
 Cuántos vitalicios
 Cuántos cadetes
 Cuántos mayores de 60 años.
10. Generar un algoritmo que lea 30 valores numéricos y muestre el mayor valor ingresado.
11. Una empresa fabrica dos productos: A y B. Se realiza una encuesta entre 30 personas, a fin de
averiguar:
- cuántas personas consumen el producto A.
- Cuántas personas consumen el producto B.
- Cuántas personas consumen los dos productos.
- Cuántas personas no consumen ningún producto.
12. Se leen 300 datos que representan el peso de otros tantos niños internados en un hospital. Se
pide confeccionar la siguiente tabla:
Hasta 10 kg. hay ............. niños
De 10,001 a 20 kg. hay ....... niños
Mas de 20,001 kg. hay ........ niños.
13. En una fábrica de juguetes, al finalizar un período se procesan las 200 facturas de las ventas
realizadas cada una de las cuales cuenta con los siguientes datos:
 Nº de factura
 Fecha
 Datos del cliente
 Código de operación (1- contado, 2-crédito)
 Cantidad de unidades por factura
 Total facturado
Se pide: Imprimir cuántas facturas se confeccionaron por venta al contado.
Imprimir el total facturado (suma de todas las facturas) por ventas a crédito, y su promedio.
14. En un instituto educativo, al finalizar el período de inscripción se procesan los siguientes datos:
Programación I
Prof. Patricia Chechele



Fecha
Nº de curso
Cantidad de inscriptos.
La capacidad por curso es de 25 alumnos
Si la cantidad de alumnos anotados es menor a 15 alumnos, el mismo no se abre.
Si la cantidad de alumnos anotados supera la capacidad máxima se estudiará la posibilidad de
abrir un nuevo curso.
Se pide como resultado:
 Curso
 Cantidad de inscriptos
 Y dependiendo de la cantidad de alumnos: “NO SE ABRE”, “COMIENZA EL 15 DE MARZO”,
“A RECONSIDERAR”.
15. Dada una cierta cantidad de ventas de una compañía, calcular el promedio de ventas. Estas
deben ser ingresadas una a una. Cuando no se introduzcan más datos, deberá ingresarse "-1".
17. Realiza un algoritmo que lea valores numéricos. Cuando no se deseen ingresar más valores, se
ingresará un "-1". Luego, deberá mostrar por pantalla cuál fue el mayor valor ingresado.
18. Realiza un algoritmo que lea el importe de las ventas mensuales de una compañía. Como valor
final debe ingresarse "0". Luego, deberá mostrarse por pantalla la siguiente tabla:
Entre 0 y 25 pesos: .... ventas
Entre 26 y 50 pesos: .... ventas
Más de 50 pesos:
.... ventas
19. Realizar un algoritmo que solicite dos números: dividendo y divisor y muestre el resultado de la
división y el resto.
:
20. Realizar un algoritmo para que la computadora solicite números y muestre la suma de los mismos
en pantalla.
22. Modificar el algoritmo anterior, para que además de mostrar la suma, calcule el promedio de los
números ingresados.
23. Realizar un algoritmo que calcule promedios, controlando la entrada de datos por medio de
preguntas.
24. Realiza un algoritmo que lea el importe de las ventas mensuales de una compañía. Como valor
final debe ingresarse "0". Luego, deberá mostrarse por pantalla la siguiente tabla:
Entre 0 y 25 pesos: .... ventas
Entre 26 y 50 pesos: .... ventas
Más de 50 pesos:
.... ventas
25. Construir un algoritmo que presente un menú de opciones:
* ALGORITMO GEOMETRICO *
1. CUADRADO
2. RECTANGULO
3. CIRCULO
4. TERMINAR
CUÁL ES SU ELECCION ?
El algoritmo deberá esperar la elección realizada y luego solicitar los datos para construir las
figuras: si se pulsó la opción 1, deberá pedir la longitud del lado; en la opción 2, la base y la
altura y en la opción 3, el radio del circulo.
Programación I
Prof. Patricia Chechele
GUÍA DE TRABAJO PRÁCTICO Nº 4
VECTORES
SUBALGORITMOS
Modalidad: Grupal
Fecha de entrega: ...................................
Desarrollar los algoritmos para los siguientes enunciados.
Debe considerarse:
Ambiente
Declaración de variables
Desarrollo del algoritmo / declaración de los subalgoritmos.
Prueba de escritorio
1. Vectores
1. Calcular el promedio de 50 valores almacenados en un vector. Determinar además cuantos son
mayores que el promedio.
2. Llenar dos vectores A y B de 45 elementos cada uno, sumar el elemento uno del vector A con el
elemento uno del vector B y así sucesivamente hasta 45, almacenar el resultado en un vector C, e
imprimir el vector resultante.
3. Llenar un vector de 20 elementos, imprimir la posición y el valor del elemento mayor almacenado
en el vector. Supongan que todos los elementos del vector son diferentes.
4. Almacenar 50 números en un vector, elevar al cuadrado cada valor almacenado en el vector,
almacenar el resultado en otro vector. Imprimir el vector original y el vector resultante, ambos
ordenados de mayor a menor.
5. Almacenar 300 números en un vector, imprimir cuantos son ceros, cuantos son negativos, cuantos
positivos. Imprimir además la suma de los negativos y la suma de los positivos.
6. Almacenar 150 números en un vector, almacenarlos en otro vector en orden inverso al vector
original e imprimir el vector resultante.
8. Dado un vector de 10 elementos, ordenarlo en forma ascendente.
9. Dado un vector de 10 elementos, ordenarlo en forma descendente.
10. Dados 2 vectores de 8 elementos cada uno, sabemos que el primero contiene sustantivos, y el
segundo, adjetivos. Diseñar un algoritmo que tome un elemento de cada vector, lo concatene y
lo coloque en un tercer vector, en la misma posición.
Luego, deberá imprimirlo.
11. Se tiene el vector A con 100 elementos almacenados. Diseñar un algoritmo y programa que
escriba “SI” si el vector esta ordenado ascendentemente o “NO” si el vector no esta ordenado
12. Diseñar un algoritmo que lea dos vectores A y B de 20 elementos cada uno y multiplique el
primer elemento de A con el último elemento de B y luego el segundo elemento de A por el
diecinueveavo elemento de B y así sucesivamente hasta llegar al veintavo elemento de A por el
primer elemento de B. El resultado de la multiplicación almacenarlo en un vector C. Luego
ordenarlo.
13. Se deben cargar en un vector los tiempos de clasificación de 60 autos. Los autos se identifican
con números correlativos del 1 al 60. Se pide imprimir'.
a) Número del auto que clasificó primero.
b) Peor tiempo de clasificaci6n.
14. Dado el vector del ejercicio anterior, ordenarlo en forma ascendente. Se deberá imprimir de la
siguiente forma:
Número de auto - Tiempo
2. Matrices
15. Hacer un algoritmo que almacene números en una matriz de 5 * 6. Imprimir la suma de los
números almacenados en la matriz.
Programación I
Prof. Patricia Chechele
16. Hacer un algoritmo que llene una matriz de 10 * 10 y determine la posición [fila , columna] del
numero mayor almacenado en la matriz. Los números son diferentes.
17. Hacer un algoritmo que llene una matriz de 20 * 20. Sumar las columnas e imprimir que
columna tuvo la máxima suma y la suma de esa columna.
18. Hacer un algoritmo que llene una matriz de 5 * 5 y que almacene la diagonal principal en un
vector. Imprimir el vector resultante.
19. Hacer un algoritmo que llene una matriz de 5 * 6 y que imprima cuantos de los números
almacenados son ceros, cuantos son positivos y cuantos son negativos.
20. El dueño de una cadena de tiendas de artículos deportivos desea controlar sus ventas por
medio de una computadora . Los datos de entrada son :
a) El numero de la tienda (1 a 50)
b) Un numero que indica el deporte del articulo (1 a 20)
c) El costo del articulo.
Hacer un pseudocódigo y programa que escriba al final del día lo siguiente:
1. Las ventas totales en el día para cada tienda
2. Las ventas totales para cada uno de los deportes.
3. Las ventas totales de todas las tiendas.
21. Se tiene almacenada la matriz M (50,5) la cuál contiene la información sobre las calificaciones
de la materia de IDIOMA I . Diseñar un algoritmo que imprima:
a) Cantidad de alumnos que aprobaron la materia.
b) Cantidad de alumnos que tienen derecho a nivelación (entre 4 y 7)
c) El (o los) numero (s) de control de lo(s) alumno(s) que haya (n) obtenido la máxima calificación
final.
3. Estructuras varias. Subprogramas.
22. Una consultora informática tiene 130 empleados. Cada uno de ellos pertenece a una categoría
que se le asigna cuando entra a trabajar a la empresa.
Las categorías son cinco:
1- Analista Senior.
2- Analista Junior.
3- Programador Senior.
4- Programador Junior.
5- Operador.
Los sueldos son:
1 -2500$
2- 2000$
3- 1500$
4- 1200$
5- 800$
El empleado puede trabajar en dichas categorías en alguno de los tres departamentos que posee la
empresa. Los sueldos son fijos por cada categoría.
A fin de mes se liquidan Los sueldos en una planilla donde figura:
- Nombre del empleado.
- Categoría.
- Departamento ( 1 , 2 y 3).
Se pide calcular e imprimir:
a) Cantidad de empleados por categoría.
b) Sueldos totales de cada categoría, ordenados de mayor a menor, con el siguiente formato:
Categoría ....... tiene un total de sueldos de .......... y tiene ........... empleados
c) Nombre de la categoría que tenga más empleados.
23. La administración del estado posee 1200 empleados. Cada uno de ellos posee una categoría.
Las categorías son tres. Los diferentes empleados se distribuyen en las siguientes dependencias:
1- Trabajo.
2- Educaci6n.
3- Economía.
4- interior.
Los sueldos por categoría son:
1 - 600
2- 500
3- 400
EI empleado puede trabajar en dichas categorías en alguna de Las cuatro dependencias.
A fin de mes se Liquidan Los sueldos en una planilla donde figura:
- Nombre del empleado.
- Categoría.
Programación I
Prof. Patricia Chechele
- Dependencia.
Se pide calcular e imprimir:
a) Cantidad de empleados por categoría.
b) Sueldos totales por categoría.
c) Cantidad de empleados por dependencia.
d) Número de la categoría que tenga menos empleados.
f) Imprimir en forma ordenada ascendente por sueldos de cada dependencia, n listado con los
siguientes datos:
- Número de dependencia.
- Nombre de la dependencia.
- Sueldo total de la dependencia.
- Cantidad de empleados de la dependencia.
24. Una empresa enlatadora de frutas y verduras tiene 4 centros para enlatar y vender sus
productos:
1- Capital.
2- Mendoza.
3- Córdoba.
4- Tucumán.
En cada centro se enlatan 5 productos diferentes. Los precios de Los productos son:
1- 0.80
2- l .00
3- 0.35
4- 0.50
5- 0.70
A fin de mes la empresa confecciona una planilla con Los datos de las ventas:
- Número de cliente.
- Número de centro.
- Número de producto.
- Cantidad de unidades.
Son 200 ventas registradas en este mes. Se pide calcular e imprimir:
a) Cantidad de ventas de cada centro.
b) Recaudación de cada producto.
c) Recaudación de cada centro.
d) Nombre del centro que recaudó menos.
e) Número del producto que se vendió más en cantidad de unidades.
f) imprimir ordenado en forma ascendente por recaudación de cada centro, los siguientes datos:
- Número del centro.
- Nombre del centro.
- Recaudación del centro.
25. Una empresa de combustibles tiene 20 estaciones de servicio. En cada una de ellas se vende:
1- Nafta común 0.85 $ por Litro.
2- Nafta especial 1 . 1 O $ por litro.
3- Gas Oíl 1.50 $ por litro.
Cada vez que un automovilista carga alguno de los tres combustibles, se emite una boleta con los
siguientes datos:
- Número de ticket.
- Número de estación (del 1 al 20).
- Tipo de combustible (1 ,2 o 3).
- Cantidad de Litros.
A fin de mes se procesan las ventas de todas las estaciones, teniendo en cuenta cada uno de los
tickets emitidos. El ingreso de datos finaliza con un número de ticket igual a cero.
Los nombres de las estaciones se deberán cargar en un vector en memoria.
Se pide calcular e imprimir:
c) Cantidad de litros vendidos en cada estación.
b) Recaudación de cada estación.
c) Cantidad de tickets emitidos por cada estación.
d) Total de litros vendidos por cada tipo de combustible.
e) Número de estación que recaudó más.
g) Impuestos pagados (10% de la recaudación total).
Los ítems a, b y c se deberán imprimir ordenados en forma ascendente, por recaudación por
estación, de la siguiente manera:
Número de estación
Recaudación
Cantidad de boletos
Cantidad de litros.