Recopilación de examenes Parciales y finales Ejercicio Nro 1: Se

Anuncio
Recopilación de examenes Parciales y finales
Ejercicio Nro 1:
Se define una matriz de números naturales como sigue:
const
N = .... { algun valor adecuado }
M = .... { algun valor adecuado }
type
Matriz = array [1..N,1..M] of integer;
Escribir un módulo todas_menor que reciba una matriz y un número entero y que determine
si todas las filas de la matriz son tales que su suma es menor que el número dado.
Ejemplo
Sea la siguiente matriz :
1109
mat = 9 3 5 1
0022
resultados del módulo anterior son:
todas_menor(mat,30) -> TRUE
todas_menor(mat,15) -> FALSE
Justifique por que realizó un procedimiento o una función
Ejercicio Nro 1:
Realice el algoritmo y programa en Pascal para resolver lo siguiente:
Una empresa, tiene 20 vendedores zonales. De cada uno de los vendedores se ingresa: nombre, edad y los
valores de las ventas del ultimo mes. Se pide:
a) Cargar los datos,
b) Para cada vendedor mostrar por pantalla el nombre, la edad y la mejor venta.
c) Informar el nombre del vendedor que realizo la mayor venta.
Es imprescindible MODULARIZAR adecuadamente el programa. Todos los resultados obtenidos
deben mostrarse en el programa principal.
Justifique por que realizó un procedimiento o una función en cada caso.
Realice el algoritmo y programa en Pascal para resolver lo siguiente:
En una competencia de salto en largo, se presentaron 20 participantes. De cada uno se ingresa: nombre,
edad y los alcances de sus 3 saltos expresados en metros. El mejor de los 3 saltos se considera como la
mejor marca obtenida. Se pide:
a) Para cada participante mostrar por pantalla el nombre, la edad y la marca obtenida
b) Informar el nombre del atleta que obtuvo la mejor marca.
Es imprescindible MODULARIZAR adecuadamente el programa. Todos los resultados obtenidos
DEBEN mostrarse en el programa principal.
Un sistema de detección de mensajes ocultos de una agencia de seguridad informática requiere de
diversas capacidades de análisis de datos. Se le encarga a usted la codificación de un programa
que conste de las siguientes características:
a) Reciba el texto a analizar como un arreglo unidimensional de caracteres de dimensión N.
b) Extraiga la primera letra de cada palabra y la almacene en un vector para determinar si el
texto contiene un mensaje oculto.
c) Invierta la posición de todos los caracteres del arreglo: el primero en la última posición y
así sucesivamente. Sin usar un vector auxiliar
Es imprescindible MODULARIZAR adecuadamente el programa. Todos los resultados obtenidos
DEBEN mostrarse en el programa principal. El programa DEBE incluir un módulo de carga para
almacenar el texto en la matriz de caracteres. Realizar diagrama de flujo y código Pascal
Escriba un programa en Turbo Pascal que utilice la función PrimosRel que dados dos números
naturales devuelva verdadero si esos números son primos relativos (esto es, si el único divisor
común que tienen es el número 1 (uno)), y falso en caso contrario. Si alguno de los números
entregados a la función es negativo, la función debe devolver el valor falso. (Realizar el algoritmo
y programa)
Por ejemplo, ante los números 16 y 12 debe devolver falso (sus divisores comunes incluyen al 2, y
al 4), lo mismo que para 10 y 15 (que comparten al 5 como divisor) y también a la pareja 7 y -3
(porque -3 es negativo). Por otra parte, la respuesta debe ser afirmativa para las parejas 32 y 9
(comparten sólo al 1 como divisor) y 18 y 1 (idem).
Se tiene un arreglo FRASE de caracteres cuyo tamaño está definido por la constante LongFrase, que contiene
una oración. (Conjunto de palabras separadas por uno o más espacios). Se posee también una matriz
PALABRA de caracteres, de MaxFil filas por MaxCol columnas. LongFrase es menor que MaxFilas por
MaxCol.
Se desea pasar toda la oración de FRASE a PALABRA y luego imprimir la matriz PALABRA, con salto de
línea al final de cada fila. En la matriz PALABRA se debe almacenar una palabra de FRASE por fila de la
matriz. Por otro lado todos los lugares sobrantes deben completarse con un carácter blanco (espacio).
Realice diagrama de flujo y codifique el procedimiento que realiza lo que se describe, recibiendo como
parámetro el arreglo FRASE, y que devuelve la matriz PALABRA. Defina y declare todas las constantes, los
tipos y las variables.
Realice diagrama de flujo y codifique el programa principal que debe cargar el arreglo FRASE, llamar al
procedimiento anterior e imprimir la matriz con una fila por linea.
Ejemplo:
Si LONGITUD = 31, FILAS = 5, COLUMNAS = 10, y FRASE =
E s t e
e x a me n
e s
d e ma s i a d o
entonces PALABRA =
e
s
t
e
x
a
e
s
d
e
m
f
á
c
Se imprimirá:
e
m
e
n
a
i
s
l
i
Este
examen
es
demasiado
fácil
a
d
f á c i l
o
En una empresa de reparto se utilizan el vector VKmsCamion para contabilizar los kilómetros recorridos
por su camion en todo un año. En el vector se almacenan los kilómetros recorridos en cada viaje, o sea, cada
elemento de vector VKmsCamion corresponde a la cantidad de kms de un viaje. Las cantidades de kms
recorridos se almacenan cronológicamente y para separar los que corresponden a cada mes, se almacena un
valor CERO en el vector. Por lo tanto, se tienen kms recorridos en cada viaje para el mes de enero, un CERO,
los kms correspondientes a febrero, un CERO, etc.
Considere entonces que:
• En el vector hay al menos 12 elementos de valor CERO.
• Todos los elementos que siguen al 12avo valor CERO NO deben considerarse.
• Es posible que en un mes no haya viajes (cuando hay dos CEROS contiguos).
• NO hay números negativos antes del 12avo valor CERO.
1) Realice el diagrama de flujo y codifique un procedimiento o función que, dado el vector VKmsCamion, ,
complete y devuelva la matriz MKmsAño. Dicha matriz tiene 12 filas y 32 columnas, una fila por mes y
una columna por cada posible viaje (no se realiza mas de un viaje por dia), en cada fila deben quedar
almacenados los kms correspondientes a ese mes y en la columna 32 las sumas de los kms de cada mes
2) Realice el diagrama de flujo y codifique un procedimiento o función que, dada la matriz MKmsAño,
muestre por pantalla una lista de los meses del año con la suma total de kilómetros recorridos.
3) Realice el diagrama de flujo y codifique el programa principal que lea el vector e invoque los módulos
codificados en los ejercicios 1 y 2. Incluya todas las declaraciones necesarias.
Aclaraciones:
Ejemplo de VKmsCamion
24
65
0
9
0
15
Ejemplo de MKmsAño
1
2...............
24
9
15
0
...
65
0
32
0
0
8
0
0
...
32
8
0
0
78
4
55
0
45
76
6
0
0
12
0
3
10
0
79
0
21
32
89
9
55
0
...
Salida
Enero 89
Febrero 9
....
Dada una matriz Agenda de enteros de m (13) filas y n (31) columnas, donde las columnas representan los días de un
mes (de 1 a 31) y las filas las horas de un día (de 8 a 20). El contenido de la matriz representa las actividades que
realiza una persona en ese mes detalladas por hora. Las actividades se encuentran codificadas de la siguiente
manera:
1 – libre; 2 – social; 3 – trabajo; 4 – cultural; 5 – deportiva; 6 – recreativa.
a) Realizar un procedimiento o función que cargue dicha matriz
b) Realizar un procedimiento o función que retorne un arreglo de enteros ActMasPractDia (actividad más practicada del
día) de tamaño n que contenga la actividad más practicada en cada día.
c) Realizar un procedimiento o función que imprima lo siguiente en cada renglón:
<día> - <actividad mas realizada>
6
0
54
0
43
d) Realizar el programa principal que utilice los módulos anteriores
Ejemplo:
Agenda
ActMasPractDia
1
2
...
30 31
1
2
...
30 31
8 1
3
...
3
1
1
3
...
6
1
9 1
3
...
3
1
10 1
3
...
3
1
11 1
3
...
3
1
12 6
3
...
3
1
13 6
3
...
6
1
Salida
14 1
3
...
6
1
15 6
3
...
6
1
1libre
16 6
6
...
6
1
2trabajo
17 2
6
...
6
1
...
18 2
6
...
6
1
30recreativa
19 2
2
...
4
1
31libre
20 2
2
...
4
1
Aclaraciones:
•
Realizar todas las declaraciones de constantes y tipos necesarios.
•
Debe realizar los diagramas de flujo de cada módulo y el del programa principal
•
Debe escribir el código Pascal del programa completo (un único código que incluya todos los incisos)
Una empresa desea premiar a sus empleados con un aumento de sueldo. Este aumento se ajusta
a la siguiente tabla:
Sueldo Actual
0-1.000 pesos.
1.000-2.000 pesos.
2.000-3.500 pesos.
más de 3.500 pesos.
Aumento
20%
10%
5%
no hay aumento
La empresa tiene un total de 20 empleados.
Realice diagrama de flujo y programa en Pascal que lea el nombre del empleado y su salario actual
e imprima el nombre, el sueldo actual y el sueldo aumentado. El programa debe proporcionar al
final la suma total de todos los sueldos actuales y la suma total de todos los salarios aumentados.
Es imprescindible MODULARIZAR adecuadamente el programa.
Justifique por que realizó un procedimiento o una función en cada caso.
Realice el algoritmo y programa en Pascal para resolver lo siguiente:
Una empresa, tiene 20 vendedores zonales. De cada uno de los vendedores se ingresa: nombre, edad y los
valores de las ventas del ultimo mes. Se pide:
a) Cargar los datos,
b) Para cada vendedor mostrar por pantalla el nombre, la edad y la mejor venta.
c) Informar el nombre del vendedor que realizo la mayor venta.
Es imprescindible MODULARIZAR adecuadamente el programa. Todos los resultados obtenidos
deben mostrarse en el programa principal.
Justifique por que realizó un procedimiento o una función en cada caso.
Descargar