Bajar PDF - Universidad Nacional del Sur

Anuncio
Universidad Nacional del Sur
Principios de Computadoras I
2° Cuatrimestre 2009
Principios de Computadoras I
Trabajo Práctico N° 2
“Arreglos y Matrices”
1) Describir qué hace el siguiente programa (el código es sintácticamente correcto):
program criptico; uses crt; const aleatorio = 60; var i, j, mayor, precio
: integer; a: array[1..aleatorio] of integer; begin randomize; clrscr; for
j := 1 to aleatorio do begin a[j] := random(91); writeln('a[',j:2,'] = ',
a[j]:2);end; precio := a[1]; mayor := 1; for i := 1 to aleatorio do if
a[i] < precio then begin precio := a[i]; mayor := i; end; writeln;
writeln(mayor, ' ', precio); end.
2) Dado un arreglo F[] de N elementos, determinar cuál es el menor elemento y decir cuántas veces está
ese valor.
3) Un operador desea calcular el promedio de las notas que tiene en un listado. Realizar un programa
que lea las notas que vayan siendo ingresadas y que imprima el promedio cuando un valor negativo
sea introducido.
4) Dado un arreglo G[] de M valores reales, calcular el promedio de dichos elementos.
5) Dado un arreglo Alu[1..N] que contiene las calificaciones de N alumnos, decir cuántos hay en cada
una de las siguientes categorías:
Categoría
“
“
“
A:
B:
C:
D:
8 < Nota <= 10
6 <= Nota <= 8
3 < Nota < 6
0 <= Nota <= 3
6) Un arreglo denominado MES tiene 12 lugares en cada uno de los cuales está a almacenada la cantidad
de lluvia caída en el respectivo mes del año. Indicar el trimestre en el que menos llovió.
7) Dado un arreglo S[] de N lugares, indicar cuál es la ubicación de los dos elementos consecutivos cuya
suma sea la mayor.
8) Dados tres arreglos A,M y D de n lugares cada uno, en donde:
A[I] guarda el año de nacimiento del alumno I
M[I] almacena el mes de nacimiento del alumno I
D[I] contiene el día de nacimiento del alumno I
Determinar:
a) si existe algún par de alumnos que cumplan años el mismo día.
b) el mes que tenga más fechas de nacimientos.
c) cuál es el alumno más joven.
NOTA: Para el punto c) se puede transformar la fecha de nacimiento en un único número haciendo
Valor= A[I] * 10000 +M[I] * 100 +D[I]. Para ello la variable Valor deberá ser del tipo LongInt.
9) Dada una matriz A de N filas y M columnas:
i)
ii)
iii)
Indicar cuál es el MENOR elemento de cada FILA.
Indicar cuál es el MAYOR elemento de cada COLUMNA.
Indicar cuál es el MAYOR elemento de la matriz.
Trabajo Práctico N° 2
web: http://www.lip.uns.edu.ar/pci/
- e-mail: [email protected]
Página 1 de 4
Universidad Nacional del Sur
Principios de Computadoras I
2° Cuatrimestre 2009
10) Realizar la recorrida de las matrices (N x N, con N par), en la forma indicada en cada caso:
A[]
1
1
N
B[]
1
N
1
N
4°
3°
2°
1°
N
N
N°
C[]
1
….
4°
3° 2° 1°
1
N
D[]
1
.
.
.
.
4°
3°
2°
1°
N
N
4°
3°
2° 1°
11) Se está desarrollando un rally en la provincia de Córdoba en el que intervienen N vehículos. Todos
comienzan la carrera simultáneamente desde un punto de largada y se desplazan con una velocidad
constante. Una de las reglas de la competencia prohíbe a los corredores cargar combustible durante el
transcurso de la misma. La velocidad a la que se desplaza cada uno de los móviles está almacenada en
el arreglo VEL [1..N]. También dispone de otro arreglo llamado MAXKM[1..N] en el que se indica la
máxima distancia que puede recorrer un vehículo antes de quedarse sin combustible.
Realice un programa en Pascal que indique cuál es el vehículo que más se ha alejado del punto de
partida luego de transcurridas 2 horas desde el inicio de la competencia.
12) Un determinado sistema hidráulico posee una válvula que permite el escape de vapor desde una
caldera hacia el exterior. La válvula ha sido conectada a un sensor que indica si la misma está abierta
o cerrada. El sensor registrará un 1 (uno) cuando la válvula está abierta y un 0 (cero) cuando la
válvula está cerrada.
Durante un determinado lapso de tiempo se han registrado N mediciones y los resultados se han
volcado en un arreglo Medidas[1..N] que contiene los 1s y 0s enviados por el sensor. Realizar un
programa en Pascal que indique:
a) Cuántas veces ha sido abierta la válvula.
b) El tiempo que la válvula ha permanecido cerrada, considerando que cada medición se registró cada
0.5 seg.
Ejemplo:
Válvula
Medidas[ ]
Trabajo Práctico N° 2
abierta
1
1
cerrada
0
0
Abierta
0
1
web: http://www.lip.uns.edu.ar/pci/
1
cerrada
1
0
0
- e-mail: [email protected]
abierta
1
1
1
Página 2 de 4
Universidad Nacional del Sur
Principios de Computadoras I
2° Cuatrimestre 2009
13) Dado un arreglo A[ ] de N elementos (con N>=10), realice un programa que indique cuáles son los
diez valores más grandes.
14) Un apicultor necesita comprar un recipiente con forma de prisma para almacenar 1000 m3 de miel. A
través de Internet un fabricante le envió la siguiente información:
i) Una lista llamada Dim con las dimensiones de los N recipientes que él comercializa. La lista
contiene altura, ancho y profundidad (en metros) de cada recipiente. Estos datos se encuentran
almacenados en forma secuencial, es decir, en las posiciones 1, 2 y 3 está la información del
recipiente 1, en las posiciones 4, 5 y 6 la del recipiente 2, etc.
ii) El valor [$] de un recipiente es proporcional al volumen [m3] que puede almacenar. Se sabe que la
proporción es $0.10 el m3. Por ejemplo, un recipiente de 30m3 cuesta $3.00
Suponga que tiene un arreglo Dim[] de dimensión K=3*N con los datos del fabricante. Hacer un
programa en Pascal que determine cuál es el recipiente más barato que se adapta a los requerimientos del
apicultor. Indicar el número del recipiente y su costo.
Recipiente 1
Recipiente 2
1
4
2
3
5
Recipiente N
6
i
i+1 i+2
K-2
K-1 K=3*N
Dim[]
Altura
Ancho
Profundidad
Volumen Prisma = Altura*Ancho*Profunidad
15) Se tienen los datos correspondientes a la ubicación de N antenas de telefonía celular dentro de una
determinada región del país. Cada antena tiene asociado cuatros valores que la identifican: ubicación
dentro de la región indicadas como coordenadas (X, Y), radio de alcance y código de la operadora que
administra la antena (p. ej: 1=Movistar, 2=Claro, 3=Personal,
etc.). Estos datos están volcados dentro de la matriz
ANTENA[1..4, 1..N], de tipo real, de la siguiente forma: la fila 1
Área de Cobertura = sector pintado.
almacena la coordenada X en Km, la fila 2 la coordenada Y en
Km, la fila 3 el radio de alcance en Km y la fila 4 el código de la
operadora.
Teniendo en cuenta que:
• alguien que porta un celular puede establecer
comunicación con una antena determinada si se
encuentra dentro del área de cobertura de dicha antena,
generada a partir de la ubicación (X,Y) de la antena y el
radio de alcance (ver figura),
• cada celular del mercado pertenece a alguna operadora
conocida,
• si un celular de la empresa A utiliza para comunicarse
una antena perteneciente a la empresa B, con A<>B, el
costo de la llamada tiene un recargo,
RADIO
Y
(X,Y)
(0, 0)
X
Realice un programa en Pascal que, dada la ubicación (XC, YC)
de un celular y el código de su operadora, indique al usuario si
en ese punto puede establecer una comunicación, es decir
“tiene señal”. En caso afirmativo indicar si el costo de la llamada sufrirá algún recargo por utilizar una
antena de otra empresa.
Trabajo Práctico N° 2
web: http://www.lip.uns.edu.ar/pci/
- e-mail: [email protected]
Página 3 de 4
Universidad Nacional del Sur
Principios de Computadoras I
2° Cuatrimestre 2009
15) Sea una matriz cuadrada A[] de dimensión NxN que contiene valores reales
no nulos sólo en el triángulo superior izquierdo. El resto de la matriz contiene
valores nulos. Realice un programa en Pascal que copie los valores no nulos
en el sector vacío de modo tal que la matriz quede simétrica respecto a la
diagonal secundaria.
LLENO
VACÍO
Primer Parcial
Día: Viernes 02 de Octubre de 2009
Hora: 16:00 a 20:00 hs.
Lugar: Aula 6-C (Complejo Alem)
Traer Libreta/Credencial Universitaria y/o D.N.I.
Trabajo Práctico N° 2
web: http://www.lip.uns.edu.ar/pci/
- e-mail: [email protected]
Página 4 de 4
Descargar