Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Trabajo Práctico Nº4
Trabajo Práctico Nº4
1- Escriba una declaracin para un vector que contenga 50 valores del tipo entero
largo.
2- Muestre una declaracin que asigne el valor de 123.456 a la ltima posicin del
vector del ejercicio 1.
3- Qu hay de incorrecto en lo siguiente?
5- Escriba un programa de modo que ingresen valores enteros hasta que se incorpora el
nmero 99, o hasta seis valores pares sean ingresados. Salve los nmeros pares en un
vector y agregue una funcin que imprima los valores del vector ordenados y separados
por tabulaciones en una sola lnea.
7- Dado un arreglo de 100 elementos que almacena nmeros enteros positivos, generar
una funcin por cada tems pedido, mostrando el resultado en la funcin principal.
- La suma de los nmeros pares.
- El mayor nmero ingresado.
- El porcentaje de nmeros impares.
- La cantidad de nmeros nulos.
Validar que los nmeros ingresados sean positivos.
8- Leer un nmero natural n (no mayor que 100) y asignar a las componentes del vector
de n posiciones los valores 1, 4, 9, 16........etc ( 12, 22, 32...)
-1-
Algoritmo y Estructura de Datos
Ing. en Sistemas de Informacin 1 ao
Docente: Gabriela Ribotta Ayudante: Mara Laura Lpez
9- Escribir un programa que contenga una funcin que dado un vector de n elementos
enteros calcule el nmero de veces que los elementos pasan de crecer a decrecer o
viceversa.
13- Escriba una funcin llamada addvec() que valide dos vectores que sean del mismo
tamao. La funcin debe sumar cada elemento de los vectores juntos y poner los
valores en un tercer vector, ordenarlo y mostrarlo.
14- Disee un programa que cargue un vector con nmeros enteros que representan los
aos de antigedad de los empleados de una empresa con este arreglo se debe armar
otro arreglo que contenga los aos de ingreso de aquellos empleados que hayan
ingresado antes de 2000 inclusive.
Con el nuevo vector generado determinar cuantos empleados ingresaron entre 1970 y
1980 inclusive, cuantos entre 1980 y 1990 inclusive y cuantos entre 1990 y 2000
inclusive.
Determinar cuanto es el total en sueldos para estos empleados considerando que el
sueldo bsico es de $500 por mes ms el porcentaje de antigedad que ser del 10%
para los que tienen ms de 20 aos, y un 5% para los que tienen mas de 10 aos y
menos de 20 y el resto no cobra antigedad.
Se debe imprimir el vector de aos de ingreso, el vector generado, la cantidad de
empleados de los grupos que se piden y el total de sueldos a abonar.
Utilizar adecuadamente FUNCIONES, PARMETROS POR VALOR Y POR REFERENCIA.
15- Dado 80 nmeros enteros generados en forma aleatoria (entre 0 y 99) confeccionar
un listado que muestre el diagrama estadstico de frecuencias por decenas.
NOTA: la frecuencia de una decena es la cantidad de datos ingresados pertenecientes a
dicha decena.
0 - 9 I ******
10 - 19 I ****
20 - 29 I ****
30 - 39 I **
-2-
Algoritmo y Estructura de Datos
Ing. en Sistemas de Informacin 1 ao
Docente: Gabriela Ribotta Ayudante: Mara Laura Lpez
.........
90 - 99 I *******
18- Una pequea aerolnea acaba de comprar una PC para su nuevo sistema automtico
de reservaciones. A usted se le ha pedido que programe el nuevo sistema. Usted debe
escribir un programa que asigne los asientos, en cada vuelo, del nico avin de la
aerolnea (capacidad: 10 asientos). Su programa debe desplegar el siguiente men de
alternativas:
Por favor, digite 1 para primera clase
Por favor, digite 2 para econmica
Si la persona digita 1, su programa debe asignar un asiento en la seccin de primera
clase (asientos 1 a 5). Si la persona digita 2, su programa debe asignar un asiento en la
seccin econmica (asiento 6 a 10). Su programa debe imprimir un pase de abordar que
indique el nmero de asiento de la persona y si est en la seccin de primera clase o en
la seccin econmica del avin.
Utilice un arreglo para representar la tabla de asientos del avin. Inicialice en 0 todos
los elementos del arreglo para indicar que todos los asientos estn libres. Mientras se
asigna cada asiento, el valor de los elementos correspondientes del arreglo se establece
en 1, para indicar que ya est asignado. Cuando la seccin de primera clase est llena,
su programa debe preguntar a la persona si acepta que se le coloque en la seccin
econmica (y viceversa). Si no acepta, entonces despliegue el mensaje el siguiente
vuelo parte en tres horas.
19- Dado un vector de n posiciones (siendo n un nmero par), realizar las siguientes
operaciones
Sumar el primer elemento con el ensimo, y cargarlo en un vector auxiliar como
elemento uno.
Sumar el tercer elemento con el (n-2)simo y as sucesivamente hasta agotar todas
las posiciones.
20- Hacer un procedimiento para que dado un vector con una cantidad par de elementos
enteros de 0 a 9, genere otro arreglo con los nmeros de dos cifras formados tomando
de a dos los elementos del arreglo ingresado
Ejemplo:
X Y
3 1 5 7 8 2 31 57 82
Y[1]= X[1]*10 + X[2]*1=31
Y[2]= X[3]*10 + X[4]*1=57
-3-
Algoritmo y Estructura de Datos
Ing. en Sistemas de Informacin 1 ao
Docente: Gabriela Ribotta Ayudante: Mara Laura Lpez
Y[3]= X[5]*10 + X[6]*1 =82
22- Dado un nmero entero largo, disear un programa en C que calcule la cantidad de
veces que se encuentra un nmero ingresado por teclado y su sucesor en el mismo y,
luego se debe imprimir el nmero original y la cantidad de veces que se encuentra los
nmeros antes mencionados.
Ejercicios Propuestos
4. Almacenar 300 nmeros en un vector, imprimir cuantos son ceros, cuantos son
negativos, cuantos positivos. Imprimir adems la suma de los negativos y la suma de los
positivos.
-4-
Algoritmo y Estructura de Datos
Ing. en Sistemas de Informacin 1 ao
Docente: Gabriela Ribotta Ayudante: Mara Laura Lpez
8. Calcular el promedio de 50 valores almacenados en un vector. Determinar adems
cuantos son mayores que el promedio, imprimir el promedio, el nmero de datos
mayores que el promedio y una lista de valores mayores que el promedio.
10. Escriba un programa que utilice una funcin sumavec() que tenga dos vectores
como argumentos, sume todos los valores en ambos vectores y devuelva el total a la
funcin principal.
12. Dado un vector de nmeros enteros se desea eliminar todos los elementos repetidos
dejando cada elemento distinto una sola vez en el arreglo. Imprimir el vector resultante.
13. Escribir un programa que lea dos vectores de elementos enteros y genere un tercer
vector con los elementos del primer vector que no estn en el segundo. El programa
debe imprimir los dos vectores originales y el vector generado.
15. Escribir una funcin sumanumeros() que devuelva la suma de todos los nmeros de
un vector de enteros. Debe aceptar tres argumentos: el primero ser el puntero al vector
que contiene los nmeros, el segundo un carcter que contiene un dgito (del 0 al 9) y el
tercer argumento devolver el nmero de veces que ese dgito aparece en el vector de
entrada. Observe que el ltimo parmetro debe ser pasado por referencia. El vector es
de tamao N (definir N como constante igual a 10) y debe ser inicializado en el main.
-5-
Algoritmo y Estructura de Datos
Ing. en Sistemas de Informacin 1 ao
Docente: Gabriela Ribotta Ayudante: Mara Laura Lpez
- la mayor temperatura
- el promedio mensual de temperaturas
- un vector con las temperaturas mayores al promedio mensual.
17. MEZCLA
Disear un programa que lea dos vectores ordenados crecientemente de enteros y que
escriba un vector tambin ordenado de enteros que contenga todos los elementos de los
dos vectores.
En el caso de que un elemento est repetido varias veces en ambos vectores, en el nuevo
aparecer tambin repetido el nmero de veces menor.
18. Disear un programa que lea un vector ordenado y diga las posiciones entre las que
se encuentra su mximo segmento nulo, en caso de que lo haya. Un segmento nulo es
aquel tal que la suma de sus elementos es cero.
19. Escriba un programa que lea un vector de nmeros enteros cuyos elementos seran
ingresados en orden creciente, y pueden estar repetidos y genere un vector con la
cantidad de veces que esta cada elemento distinto en el vector original.
Ejemplo:
v1---------- (1 4 4 4 5 5 7 9 9 9 9)
Generado v2 -------- (1 3 2 1 4 )
El programa debe imprimir los dos vectores.
20- (Complejo) A la ruleta se juega con una rueda que contiene 38 cuadros diferentes en
su circunferencia. Dos de los cuadros, numerados con el 0 y 00, son verdes; 18 cuadros
son rojos y 18 son negros. Se alternan los cuadros rojos y negros y estn numerados de
1 a 36 en orden aleatorio.
Una pequea bola gira dentro de la rueda, que como resultado termina quedando dentro
de una ranura debajo de uno de los cuadros. El juego es apostar al resultado de los giros,
de una de las maneras siguientes:
i) Seleccionando un cuadro rojo o negro, con una ventaja de 35 a 1. As, si el jugador
apuesta $1 y gana, recibir $36: el original ms otros $35.
ii) Seleccionando un color, rojo o negro, con una paridad de 1 a 1. As, si el jugador
elige rojo y apuesta $1, si la bola se para debajo de un cuadro rojo recibir $2.
iii) Seleccionando los nmeros pares o impares (excluidos 0 y 00), con paridad 1 a 1.
iv) Seleccionando los 18 nmeros bajos o los 18 nmeros altos, con paridad 1 a 1.
El jugador perdera automaticamente si la bolita se para debajo de uno de los cuadros
verdes (0 y 00).
Esribir un programa iteractivo en C que simule el juego de la ruleta. Permitir que los
jugadores seleccionen cualquier tipo de apuesta que deseen eligindola en un men.
Escribir el resultado de cada juego seguido por un mensaje apropiado que indicque si el
jugador ha ganado o ha perdido.
-6-