Vous êtes sur la page 1sur 9

Ejercicios Propuestos - Unidad I

1. Llenar los arreglos A y B de 8 elementos con un valor ledo desde el teclado y un


arreglo C con los elementos del arreglo A y B multiplicado por una variable leda
desde el teclado. Imprimir el arreglo C.
2. Leer las notas de 45 estudiantes en un arreglo y ordenarlo con el fin imprimirlo de
forma Ascendente.
3. Se tiene un vector que va a contener como elementos, donde cada elemento es un
registro: Cdigo del Vendedor, Nombre, Salario bsico, Valor Venta, salario neto de
20 empleados.
Se debe imprimir por cada empleado: Cdigo del vendedor y comisin.
La comisin se calcula as:
Si Valor Venta oscila entre 100 y 250 la Comisin = 10% Valor Venta
Si Valor Venta oscila entre 251 y 350 la Comisin = 15% Valor Venta
Si Valor Venta >350 la Comisin = 20% Salario Bsico
Se debe imprimir al final de todo el proceso: total pagado en comisin por cada rango
y total pagado en neto.
4. Se tiene una matriz de 4x4 se pide generar e imprimir: un vector de 4 elementos
donde cada posicin del vector va a contener lo siguiente:
La primera posicin va a contener la sumatoria de la cuarta fila de la matriz
La segunda posicin va a contener la sumatoria de la tercera fila de la matriz
La primera posicin va a contener la sumatoria de la segunda fila de la matriz
La primera posicin va a contener la sumatoria de la primera fila de la matriz
5. Se tiene una matriz de 6x6 se pide generar un vector de 6 posiciones que va a
contener los elementos de la diagonal secundaria en forma ordenada
descendentemente se debe imprimir el vector resultante y la sumatoria.
6. Realizar una funcin que permita recibir 4 valores, la funcin debe devolver el
nmero mayor encontrado.

6.
7. Realizar una funcin que permita recibir un arreglo unidimensional de N elementos
y un nmero. Determinar cuntas veces ese nmero est en el arreglo.
8. Realizar una funcin que permita recibir una cadena de caracteres y devolver el
nmero de vocales encontradas en la cadena.
9. realizar una funcin que permita recibir un decimal y convertirlo a binario.
10. Realizar una funcin que permita recibir un numero entero de tres cifras, la
funcin debe devolver el numero en forma invertida.

ENCUENTRA Y JUSTIFICA LOS ERRORES EN LA SIGUIENTE DECLARACIN DE PUNTEROS:


Int x,*p, &y;
Char*b= cadena larga ;
Char*c= C ;
Floatx;
Void*r= &x;
Ejercicios usando Punteros

1. Realizar un programa que me permita cargar y mostrar un vector de 10


enteros utilizando punteros. Se debe mostrar tambin la direccin de memoria
de cada elemento del vector.
2. Realizar un programa que por medio de un men de opciones y trabajando con
un vector de 10 nmeros reales me permita:
a- Cargar el vector
b- Ordenar el vector
c- Mostrar el contenido y la direccin de memoria de cada elemento del
vector
d- Salir
3. Funcin C++ que reciba la direccin de inicio de una cadena de caracteres y
devuelva el nmero de vocales que hay en la cadena y la direccin donde se
encuentra cada vocal.

Ejercicios usando Registros


4. Crear una estructura llamada "jugador", que almacene la siguiente informacin
sobre jugadores de ftbol:

nombre del jugador

nombre del equipo

cantidad de partidos jugados

cantidad de goles convertidos

promedio de goles por partido

Utilizando la estructura, declarar un array de 100 elementos de estructuras de ese


tipo.

Escribir un programa que cargue los datos del array. Se ingresan: nombre del jugador,
nombre del equipo, cantidad de partidos jugados y cantidad de goles convertidos. Por
cada jugador se calcula el promedio de goles por partido y se almacena en el
miembro la informacin contenida en el array ( nombre del jugador, nombre del
equipo, cantidad de partidos jugados, cantidad de goles convertidos y promedio de
goles por partido.

5. Leer 10 estructuras del arreglo "empleado" que contiene la siguiente info:


o

nombre

direccin ( calle, nmero, localidad)

edad

sexo ( M = masculino, F = femenino)

a)

Listar los empleados menores de 25 aos

b)

Listar los empleados que viven en Avellaneda

c)

Listar los empleados que viven en Avellaneda menores de 25 aos

d)

Ordenar el vector por nombre y listarlo

6. Realizar una agenda para guardar los datos de hasta 200 personas de las cuales se
toman los siguientes datos:
Nombre
Apellido
Direccin
Localidad
Cdigo Postal
Fecha de nacimiento ( Da, Mes y Ao)
Utilizar estructuras anidadas.
Se pide que una vez cargados los datos, se disponga de un men de opciones que me
permita hacer las siguientes consultas:
1- Consulta por apellido
2- Consulta por localidad
3- Consulta por Ao de nacimiento
4- Consulta por cumpleaos
7. Armar 2 estructuras:
producto:

cliente:

cdigo

cdigo

precio unitario

datos ( nombre y direccin)

descripcin

monto acumulado de compras

stock
a) Cargar los productos (100) y los clientes (45). Ambas cargas deben realizarse una
sola vez.
b) Ingresando cdigo del cliente, cdigo del producto y cantidad vendida,
confeccionar la factura correspondiente realizando los siguientes controles:
- Verificar que cantidad vendida no supere existencia en stock
- Debitar stock en cada venta
- Actualizar monto acumulado de compras de cada cliente
c) Mostrar por pantalla la factura
d) Listar los clientes cuyo monto acumulado de compras supere $1000

8. En una biblioteca se registran los libros existentes, informndose:


o

Cdigo de libro ( de 1 a 100, caso contrario informar error y volver a ingresar)

Cantidad de ejemplares

Autor

Titulo

Luego de registradas las existencias se visualiza un men que permite al bibliotecario


elegir alguna de las siguientes opciones:
OPCION 1: PRESTAMOS DE LIBROS
El bibliotecario ingresar:
CODIGO DE LIBRO ( De 1 a 100, caso contrario informar error y volver a ingresar)
El programa debe mostrar el autor y el ttulo y slo se presta el libro si la cantidad de
ejemplares es mayor a 1.Si el usuario confirma el prstamo restar 1 a la cantidad de
ejemplares.

Si la cantidad de ejemplares es 1, mostrar la leyenda "Solo queda el ejemplar de


lectura en sala" y no se registra el prstamo.
OPCION 2: DEVOLUCIN DE LIBROS
El bibliotecario ingresa:
CODIGO DE LIBRO ( de 1 a 100, caso contrario informar error y volver a ingresar)
El programa debe mostrar el autor y el ttulo y si el usuario confirma, registrar la
devolucin sumando 1 a la cantidad de ejemplares.
OPCION 3: FIN
Significa que no se sigue trabajando con el men de opciones y que antes de finalizar
debe informar lo siguiente:
Listado ordenado en forma decreciente por cantidad de veces que se prest un libro:
TITULO AUTOR VECES PRESTADO
xxxxx xxxxx

xxx

9. Una empresa registra de su depsito su existencia, informando:


o

CODIGO DE ARTICULO ( de 1 a 30, caso contrario informar error y volver a


ingresar)

DESCRIPCIN DEL ARTICULO

CANTIDAD EN STOCK

PRECIO UNITARIO

Luego del registro de stock se visualiza un men de opciones que permite al usuario
elegir alguna de las siguientes:

OPCION A: registrar compras y ventas, para lo cual informar:


o

CODIGO DE ARTICULO ( de 1 a 30, caso contrario informar error y volver a


ingresar)

CODIGO DE MOVIMIENTO ( 1 o 2 caso contrario se informa error vuelve a


ingresar). El cdigo 1 indica una venta y 2 una compra

CANTIDAD (comprada o vendida de acuerdo al cdigo del movimiento)


Preparar esta opcin para que se contine trabajando con ella hasta que el
usuario decida terminar y pasar al men principal.

OPCION B: consultar el precio unitario de un artculo. El usuario ingresa el Cdigo de


artculo ( de 1 a 30, caso contrario informar error y volver a ingresar) y el sistema
muestra la descripcin del artculo y el precio unitario.

OPCION C: consultar existencia en stock de un artculo. El usuario ingresa el Cdigo


de artculo ( de 1 a 30, caso contrario informar error y volver a ingresar) y el sistema
muestra la descripcin del artculo y la existencia.

OPCION D: finalizar la ejecucin del programa.


!xitos...!

Ejercicio 1. Dada la siguiente declaracin:


struct Componente { TipoElemento elemento;
struct Componente *sig; }
typedef Componente *Puntero;
struct Cola{ Puntero principio, final; }
Implementar las siguientes operaciones:
o

Crear una cola: inicializarla

Primero: devuelve el elemento que ocupe la primera posicin

Encolar (enqueue): introduce un nuevo elemento en la cola

SacarCola (dequeue): elimina el elemento en la cabeza de la cola

Vaci a: averigua si una cola no tiene nada en su interior

Ejercicio 2. Dada la siguiente declaracin de lista:


struct Tlista *Arti culo;
struct Articulo { int Codigo,Cont_Pedida;
TLista *Sig; }
Se tiene una lista en la que se han introducido pedidos segn el orden de llegada, por
lo que puede haber pedidos del mismo articulo. Se pide escribir una funcin que,
dada una lista como la anteriormente descrita, devuelva un nico elemento por cada
arti culo, en el cual el campo Cant_Pedida tenga la suma de todas las cantidades
pedidas de ese arti culo.
No se pueden utilizar estructuras auxiliares, asi como tampoco estructuradas de
control como while, for o do/while.
Ejercicio 3. Se dispone de un compilador que nicamente tiene implementada
la estructura de datos pila, y las siguientes operaciones asociadas.
- void Inicializar (Tpila *pila);
- void Apilar (Tpila *pila,Telem elem);
- void Sacar (Tpila *pila);

- Telem Cima (Tpila Pila, Telem Elemento);


- BOOLEAN Vacia (Tpila Pila);
Se pide implementar una funcin que invierta una pila utilizando las operaciones
descritas anteriormente.
Se podrn utilizar aquellas estructuras auxiliares que tengan implementadas el
compilador. Se invertir el contenido de la pila utilizando una pila auxiliar.
Ejercicio 4. Construir un TAD pila en el que se van a introducir nmeros enteros
positivos de un digito.
Para ello se dispone del TAD conjunto, de enteros de dos dgitos en el que se han
definido las siguientes operaciones:
Tdigitos = 0 .. 99;
Tconjunto= 10 .. 99;
- void Inicializar (Tconjunto *conjunto);
- void Introducir (Tconjunto *conjunto; Tdigitos digito);
- void Eliminar (Tconjunto *conjunto; Tdigitos digito);
- BOOLEAN Pertenece (Tconjunto conjunto; Tdigitos digito);
Se pide implementar la operacin introducir un elemento en la pila usando el TAD
conjunto.
5. Realizar un programa que Genere una funcin, que devuelva los siguientes valores:
5,1,3,9,7 ordenados (el mtodo de Burbuja)utilizando apuntadores.
6. Realizar un programa que Genere una funcin, que devuelva cierto si la lista est
vacia y falso en otros caso, y otra que cree una lista vacia.
7. Realizar un programa que Genere una funcin, que reciba como parmetro una
pila de nmeros enteros y nos devuelva el mayor y el menor de la pila .
8. Realizar un programa que Genere una funcin, que tenga como argumento dos
colas del mismo tipo. Devuelva cierto si las dos colas son idnticas