guiaejercicios1

Anuncio
GUÍA DE EJERCICIOS
Profesor: Mauro Castillo Valdés
1.- Una institución subdividida en 2 departamentos, lleva un registro de los equipos computacionales y
sus periféricos que están bajo contrato de mantención. Para lo cual tiene identificada cada maquina con
un código, que corresponde a un numero entero de 7 dígitos distribuidos de la siguiente forma: (de
izquierda a derecha)
- El primero de la izquierda : Nº del departamento en el que se encuentra.
- Los 4 siguientes
: Fecha de la ultima mantención (mmaa)
- Los 2 últimos
: Código del técnico que hizo la mantención.
Escriba un programa que lea los 134 códigos de los equipos de una institución y el valor de la
mantención, y entregue la siguiente información :
a) Total de equipos que fueron atendidos en octubre del año 96.
b) Total de equipos atendidos por don Pedro Tapia cuyo código de técnico es 12.
c) Departamento con mas equipos atendidos.
d) Monto total gastado por cada departamento.
2.- Escriba una función Clave(num) que recibe un numero NUM (entero positivo) y retorna una clave
numérica, la cual esta compuesta de solo los dígitos impares en el mismo orden en que aparecen; si el
numero NUM no posee dígitos impares debe retornar un cero. (No puede utilizar ni arreglos ni string)
Ejemplo :
Entrada :
NUM = 2546710
Salida : 571
3.- En cierto reinado existe un rey el cual no confía la clave de su tesoro a ningún súbdito. Por lo cual a
diseñado un sistema que le permita recordar siempre su clave.
La clave es anotada en dos valores numéricos mayores que 999, donde en cada valor los dígitos
siempre se encuentran ordenados de menor a mayor (pueden existir dígitos repetidos).
El rey para formar la clave utiliza el siguiente procedimiento :
- Mezcla ambos valores de tal forma que el nuevo valor queda ordenado de menor a mayor.
- Una vez mezclado dichos valores descarta los dos primeros y los dos últimos dígitos.
- Cuando a descartado los dígitos considera el valor resultante al revés.
Por ejemplo
Valores
:
13356
136789
Valores unidoS
:
11333566789
Eliminando los dos primeros y los dos últimos : 3335667
Clave del rey : 7665333
Se pide escribir la función Clave(valor1, valor2) que ayude al rey olvidadizo a encontrar su clave.
Suponga que existe la función Potencia(base, exponente) para elevar la base a una potencia.
4.- Diseñe un programa que permita leer un valor entero positivo, mayor que 9, y retorne la suma de las
diferencias en valor absoluto, que existe entre sus dígitos sucesivos.
El programa deberá imprimir los dígitos, la diferencia entre cada dígito consecutivo y además la suma
de los dígitos resultantes.
Ejemplo :
Sea el numero : 102844
Dígitos del numero :
1
0
2
8
4
4
Dígitos sucesivos :
0
2
8
4
4
no tiene
Diferencia
1
2
6
4
0
Suma de dígitos
1
+ 2 + 6 +
4 + 0
=
13
5.- Escribir la función Sumar(bin1, bin2), que permite sumar dos números binarios (bin1 y bin2), dígito
a dígito de derecha a izquierda.
Recuerde :
1+1 = 0, reservando 1
1+0 = 1, reservando 0
0+1 = 1, reservando 0
0+0 = 0, reservando 0
Ejemplo :
Entrada
bin1 : 101011
bin2 :
1011
Salida
110110
Nota : no se permite usar arreglos y string, no se conoce la cantidad de dígitos.
6.- Escribir la función Restar(bin1, bin2), que permite restar dos números binarios (bin1 y bin2), dígito
a dígito de derecha a izquierda.
Recuerde :
1-1= 0, reservando 0
1-0 = 1, reservando 0
0-0 = 0, reservando 0
y en el caso de 0-1, debe pedirle al “vecino” de la izquierda una unidad, la cual se convierte en 2 (por
la base numérica).
Ejemplo :
Entrada
bin1 : 101
bin2 : 11
Salida
10
Nota : no se permite usar arreglos y string, no se conoce la cantidad de dígitos.
7.- a) Escribir la función Promedio(n) que retorna el promedio aritmético de los dígitos de un número
entero n.
b) Escribir el procedimiento Listar(n) que imprime los dígitos de n que son mayores que el promedio
de ellos.
Nota : Este procedimiento debe utilizar la función Promedio(n) del punto a)
8.- Escribir el operador Suma(N), que permite sumar todos los divisores que son primos de un numero
N entero positivo.
9.- Desde un paradero de metrobus, salen buses con la capacidad máxima de pasajeros que ellos pueden
llevar sentados, los cuales ingresan desde una cola de espera. Si la cola se vacía antes de completar la
capacidad del bus, entonces éste parte sin esperar la llegada de más pasajeros. Si la cola de espera es
mayor que la capacidad del bus, entonces este parte con su capacidad máxima y los restantes pasajeros
esperan en la cola del próximo bus.
Construya un programa que lea desde la entrada estándar un conjunto de M números enteros (mínimo 5
dígitos) que representan :
Los dos primeros dígitos de la izquierda representan el NÚMERO DEL BUS
Los dos últimos dígitos representan la CAPACIDAD MÁXIMA DEL BUS
y los restantes dígitos representan el tamaño de la COLA DE ESPERA
Determine :
a) El código del bus que partió con más pasajeros
b) El código del bus que partió con menos pasajeros
c) La cantidad de pasajeros transportados
d) La cantidad total de pasajeros que en cada ocasión debieron quedarse en la cola sin subir a un bus.
Descargar