Вы находитесь на странице: 1из 3

INSTITUTO DE CIENCIAS MATEMTICAS

FUNDAMENTOS DE COMPUTACIN
PRIMERA EVALUACIN II 2010
UNA SOLUCIN
Tema 1 (30 puntos) El Censo 2010 es un recuento de
la poblacin y las viviendas para generar informacin
estadstica confiable, veraz y oportuna. Una vez que se
ha obtenido toda la informacin, esta se procesa para
generar datos estadsticos.
Escriba un algoritmo que registre los datos de gnero
y nivel de instruccin completados para n personas
censadas, realice la tabulacin respectiva en tablas de
resultados de instruccin por gnero y muestre los
resultados.
http://www.censos2010.gob.ec/censos/inicio.html
Rubrica: Ingreso de datos (5 puntos), tabulacin de datos
(15 puntos), mostrar resultados (5 puntos)

gen=input('gnero ');
ins=input('instruccin ');
n=length(gen);
nivmas=[0 0 0];
nivfem=[0 0 0];
for i=1:n
k=ins(i);
if gen(i)==1
nivmas(k)=nivmas(k)+1;
else
nivfem(k)=nivfem(k)+1;
end
end
disp('instruccin gnero masculino');
disp(nivmas);
disp('instruccin gnero femenino');
disp(nivfem);

Lista de gnero y nivel de


instruccin:
i

gnero(i)

Instrucci
n(i)
1
1
2
2
2
3
3
1
3

Gnero: 1. Masculino 2. Femenino


Instruccin: 1. Primaria 2. Secundaria
3.superior

Instruccin por gnero:


Mascul
ino
Primari
a
Secund
aria
Superio
r

Femen
ino

Tema 2 (30 puntos) En la estacin de un tren turstico se instalar una


mquina automtica para la venta de pasajes que acepta billetes en
dlares, euros y pesos. El comprador indicar el nmero de pasajes,
tipo de moneda y la cantidad de dinero, la maquina realiza la
conversin a pesos, ejecutar el cobro y de ser necesario entrega el
cambio en pesos.
Suponga que el tren tiene capacidad de 150 pasajeros, que el tipo de
cambio es 2.5 pesos/dlar, 3.25 pesos/euro y que el precio del
pasaje es de 7 pesos.

Ejemplo: Cuantos
turnos?: 5
Turno 1
cuntos pasajes?: 3
Monedas: 1.Dolar
Escriba un algoritmo que simule la mquina de cobro de pasajes, para
2.Euro
3.Peso
n turnos de compra o hasta completar la capacidad tren considerando
Tipo Moneda?: 1
que un comprador puede pedir ms de un boleto.
Cantidad de Dinero?:
La maquina entrega pasajes cuando el comprador entrega la cantidad
10
suficiente de dinero y an hay asientos disponibles. Al final de las
su cambio: 4
ventas muestre la cantidad de boletos vendidos, total de pesos
Turno 2
cobrados y devuelto como cambio.
cuntos pasajes?:

Rubrica: Ingreso de datos (5 puntos), determinar cobro y cambio (5 puntos), validar ventas y
asientos (10 puntos). Algoritmo integrado (5 puntos).
n=input('cuantos turnos ');
pasdisp=150;
totcob=0;
totpas=0;
totcamb=0;
i=1;
while i<=n & pasdisp>0
disp('turno');
disp(i);
pas=input('cuantos pasajes ');
tipo=input('tipo de moneda ');
cant=input('cantidad de dinero ');
i=i+1;
if pas<=pasdisp
if tipo==1
cant=cant*2.5;
else
if tipo==2
cant=cant*3.25;
end
end
cambio=cant-pas*7;
if cambio>=0
disp('su cambio es');
disp(cambio);
pasdisp=pasdisp-pas;
totcob=totcob+pas*7;
totpas=totpas+pas;
totcamb=totcamb+cambio;
end
end
end

disp(totpas);
disp(totcob);
disp(totcamb);

Tema 3 (40 puntos) El amigo secreto es un


juego en el que participan igual nmero de hombres
y mujeres para darse regalos entre s. Los amigos
secretos se sortean previo a la celebracin de tal
forma que a cada participante le toque otro de
gnero opuesto elegida aleatoriamente y sin
que sea asignada ms de una vez.
El da de la celebracin, se colocan los presentes en
un mismo lugar. Un participante inicia la entrega de
regalos, quin lo recibe debe abrirlo ante todos y
posteriormente proceder de la misma forma hasta
terminar con todos los regalos.

Ejemplo:
Nmero de parejas: 10
i
1

ParHomb
re(i)
14

11

18

1
0

15

j
1
1
1
2
1
3

2
0

ParMujer
(j)
5
8
1

http://es.wikipedia.org/wiki/Amigo_invisible

Escriba un algoritmo para realizar el sorteo amigo secreto, solicitando el nmero de


parejas n y muestre las parejas generadas
Sugerencia: Los caballeros se numeran entre 1 y n, y las damas se numeran entre (n+1) y
2n.
Rbrica: Sorteo de amigos (5 puntos). Asignaciones no repetidas (15 puntos). Mostrar resultados (5
puntos).

n=input('cuantas parejas ');


for i=1:n
amigo(i)=i;
end
amiga=[ ];
while length(amiga)<n
p=fix(rand*n)+1+n;
e=ismember(p,amiga);
if e==0
amiga=[amiga,p];
end
end
for i=1:n
disp([amigo(i),amiga(i)]);
end