Vous êtes sur la page 1sur 17

Algoritmos y Programacin

Quiz Nro. 1 (04 Mayo 07)


1. Dados los coeficientes A, B y C de una ecuacin de segundo grado Ax 2 + Bx + C = 0 calcular
las 2 races reales que forman parte de la solucin de la ecuacin.
Valor: 3 Puntos
2. Un tringulo esta formado por 3 puntos cuyas coordenadas (x,y) no coinciden en el plano
cartesiano, formando una lnea o un nico punto. Construya un algoritmo que dado 3 puntos
A, B y C cualesquiera, verifique que ellos forman un tringulo y en caso afirmativo ordene
ascendentemente las longitudes de los lados LAB y LBC.
Considere:
Valor: 6 Puntos
a. La longitud de un lado o distancia entre los puntos A=(x1, y1) y B=(x2, y2) es:

b. El punto M est sobre una recta formada por los puntos P y Q si la pendiente de la recta
PQ es igual a la pendiente formada por la recta MP o de la recta MQ. La frmula para
calcular la pendiente de una recta es:

3. Para calcular la masa de aire de un neumtico se usa la siguiente frmula:


V = 0.37m(T + 460)
en donde:
= presin, en libras por pulgada cuadrada ( = Psi 23 smbolo alfabeto griego)
V = volumen, en pies cbicos.
m = masa de aire, en libras
T = temperatura, en grados Fahrenheit (F).
Haga un algoritmo que calcule la masa de aire de dos neumticos sabiendo que cada uno
contiene 2 pies cbicos de aire y suponiendo que la presin de un neumtico es de 32 a 29
grados Celsius (C).
Valor: 4 Puntos
Considere:
a. El usuario le suministra la temperatura en grados Celsius para cada neumtico.
b. Frmula para conversin de temperatura, de grados Celsius a Fahrenheit es:

4. Solicite al usuario seis nmeros enteros que representan 2 fechas en el formato d1-m1-a1 y
d2-m2-a2 e informe cual de las fechas es la mayor. En caso de que la fecha 1 sea la mayor,
indique tambin, la fecha del da siguiente a ella, en caso de que la fecha 2 sea la mayor,
indique la fecha del da anterior a sta.
Considere:
a. El usuario suministra valores cualesquiera como datos de entrada.
b. Que hay meses de 30 o de 31 das, y en caso de los aos bisiestos, febrero tiene 29 y
no 28 das. Un ao es bisiesto si es divisible por cuatro, excepto los aos divisibles por
100, quienes para ser bisiestos deben de ser divisibles tambin por 400
Valor: 7 Puntos
Les desea xito, GDAlgyProg.
Ciudad Universitaria, 04 de Mayo de 2007

Algoritmos y Programacin -- Parcial Nro. 1


(09 de Mayo de 2007)
5. Dadas las siguientes afirmaciones, indique si son correctas, justificando su respuesta.
c. Un programa eficiente tambin es eficaz y ambas caractersticas se verifican en la etapa
de anlisis del problema.
d. Si el nivel de abstraccin es alto, el programa ser legible.
e. La especificacin del algoritmo en pseudocdigo forma parte de la fase de codificacin
de la aplicacin.
f. Es una buena prctica analizar un problema y comenzar a programar la solucin
Valor 0,5 puntos c/u Total: 2 Puntos
6. Determine la validez de las siguientes expresiones. Para las vlidas, determine el valor de las
variables A y el tipo de datos ms conveniente para ellas. Considere B=5, C=1, D=3 (enteros)
a. A1 = B > C + 2 * 3 o 4 1 == D;
Valor 0,75 puntos c/u Total: 3 Puntos
b. A2 = 5 div 2 * 2 > C D * (4 mod 1 < 3);
c. A3 = (5 ^ 1 / 2) ^2/3 * -3 div D ^ (C * 4 mod 2 div 2);
d. A4 = 12 div D ^ 2 mod 2 / 2 B div (D / 3) + 3 ^ 1/2;
7. Calcule la suma en base 8 de dos nmeros dados por el usuario. Considere:

Los nmeros a sumar deben tener mximo 3 dgitos para estar en el rango
correcto.
No se permite la conversin de los nmeros de base 8 a base 10, para hacer la suma en
decimal y luego volver a convertir a base 8.
Valor: 5 Puntos
Ejemplo: 2378 + 618 = 3208
Llevo:
A:
B:
Resultado:

10
237 +
61
0

110
237 +
61
20

100
237 +
61
320

8. En un terreno existen 5 lugares donde deben aterrizar paracaidistas para ganar puntos. Cada
lugar de aterrizaje est delimitado por un crculo de radio r = 5. Construya un algoritmo que
lea las 5 coordenadas (xi,yi) de los puntos centrales de cada crculo y lea la posicin (px, py)
donde aterriza el paracaidista, a fin de determinar en cuntos y en cules crculos el cae.
Considere:
Valor: 7 Puntos

Sea (px,py) un punto cualquiera, sea (x,y) las coordenadas del centro de un
crculo y sea r su radio, el punto est dentro del crculo, si la distancia (d) entre el punto y
el centro del crculo es menor al radio (es decir, d<=r )

La distancia d se puede calcular mediante la frmula

9. Un nmero complejo es de la forma z = a + bi, donde a es la parte real y bi es la parte


imaginaria. Se desea que construya un algoritmo que calcule la suma, resta y multiplicacin
de 2 nmeros complejos. Considere que a y b son nmeros reales.
Valor: 3 Puntos
Ayuda: Sean z y w dos nmeros imaginarios, con z = a + bi w = c + di

z + w = (a + bi) + (c + di) = (a + c) + (b + d)i

z - w = z + (-w) = (a + bi) + (-c - di) = (a - c) + (b - d)i

z * w = (a + bi) * (c + di) = (ac bd) + (ad + bc)i

Les desea xito, GDAlgyProg.

Ciudad Universitaria, 09 de Mayo de 2007

Parcial Nro. 1 (09 Mayo 07) y Ejemplos de Respuestas


1.

Dadas las siguientes afirmaciones, indique si son correctas,


justificando su respuesta.
a. Un programa eficiente tambin es eficaz y ambas caractersticas se verifican en la etapa
de anlisis del problema.
Respuesta: Falso.
La eficiencia de un programa est relacionada con poder resolver un problema con un
uso ptimo de recursos, puede ser menor cantidad de lneas de cdigo, de instrucciones
o de uso de memoria. La eficacia tiene que ver con resolver un problema en forma
correcta, en llegar a la solucin, sin importar los recursos involucrados. Un programa
puede ser eficaz (resuelve el problema) sin ser eficiente (consumiendo muchos
recursos), o puede ser muy eficiente pero totalmente ineficaz. Siendo ambas
caractersticas deseables del software, lo ideal es lograr algoritmos y programas
eficaces y lo ms eficientes posibles. Finalmente, ellas no se verifican en la etapa de
anlisis, ya que el programa tiene que estar construido y operativo para poder verificar
su eficacia para resolver el problema y su eficiencia en uso de recursos.
b. Si el nivel de abstraccin es alto, el programa ser legible.
Respuesta: Falso.
La abstraccin es la capacidad de tomar de un enunciado o un planteamiento lo ms
importante para la solucin del problema, dejando de lado aspecto secundarios o
irrelevantes. Que un programa sea legible tiene que ver con el estilo en que se escribe
el cdigo, que tenga una lgica fluida y sencilla, que pueda ser entendido por otros
programadores, que este conformado por bloques de cdigo organizados y que respete
la sintaxis del lenguaje. Por lo tanto, no hay relacin directa entre ellas.
c. La especificacin del algoritmo en pseudocdigo forma parte de la fase de codificacin
de la aplicacin.
Respuesta: Falso.
La especificacin del algoritmo forma parte de la etapa de diseo. En la fase de
codificacin en todo caso se traduce el pseudocdigo, que tiene un nivel de abstraccin
ms alto, a un lenguaje de programacin especfico.
d. Es una buena prctica analizar un problema y comenzar a programar la solucin
Respuesta: Falso y recontra falso.
Luego de analizar el problema, debemos disear una solucin, determinar las
principales etapas e instrucciones para resolver el problema, plantear un pseudocdigo
de la solucin y luego, es que nos sentamos a programar ayudndonos en los productos
de las etapas anteriores de anlisis y diseo.

2.

Determine la validez de las siguientes expresiones. Para las vlidas,


determine el valor de las variables A y el tipo de datos ms conveniente para ellas. Considere
B=5, C=1, D=3 (enteros)
Valor 0,75 puntos c/u Total: 3 Puntos
a. A1 =
A1 =
A1 =
A1 =
A1 =
A1 =

B > C + 2 * 3 o 4 1 == D;
B > C + 6 o 4 1 == D;
B > 7 o 3 == D;
falso o 3 == D;
falso o verdadero;
verdad; Tipo de Dato Lgico

b. A2 = 5 div 2 * 2 > C D * (4 mod 1 < 3);


A2 = 5 div 2 * 2 > C D * (0 < 3);

A2 = 5 div 2 * 2 > C D * verdadero; // aqu ya se pueden dar cuenta q es invlida


A2 = 2 * 2 > C D * verdadero;
A2 = 4 > C D * verdadero;
A2 = 4 > C D * verdadero; // ya no se puede seguir resolviendo
Expresin Invlida

c. A3 = (5 ^ 1 / 2) ^2/3 * -3 div D ^ (C * 4 mod 2 div 2);


A3 = (5 / 2) ^2/3 * -3 div D ^ (4 mod 2 div 2);
A3 = 2,5 ^2/3 * -3 div D ^ (0 div 2);
A3 = 2,5 ^2/3 * -3 div D ^ 0;
A3 = 6,25 / 3 * -3 div 1;
A3 = 2,08 * -3 div 1;
A3 = -6,24 div 1; // calcula parte entera
A3 = -6; Tipo de Dato Entero

d. A4 = 12 div D ^ 2 mod 2 / 2 B div (D / 3) + 3 ^ 1/2;


A4 = 12 div 9 mod 2 / 2 B div 1 + 3/2;
A4 = 1 mod 2 / 2 B div 1 + 3/2;
A4 = 1 / 2 B div 1 + 3/2;
A4 = 0,5 B div 1 + 3/2;
A4 = 0,5 5 + 3/2;
A4 = 0,5 5 + 1,5;
A4 = 0,5 5 + 1,5; // suma de reales
A3 = -3,0; Tipo de Dato Real

3.

Calcule la suma en base 8 de dos nmeros dados por el usuario.


Considere:

Los nmeros a sumar deben tener mximo 3 dgitos para estar en el rango
correcto.
No se permite la conversin de los nmeros de base 8 a base 10, para hacer la suma en
decimal y luego volver a convertir a base 8.
Valor: 5 Puntos
Ejemplo: 2378 + 618 = 3208
Llevo:
A:
B:
Resultado:

10
237 +
61
0

110
237 +
61
20

100
237 +
61
320

AlgPrincipal
// suma nmeros de 3 dgitos en base 8

Entero A, B, R, a1, a2, a3, b1, b2, b3, r0, r1, r2, r3, resto;
Leer (A);
Leer (B);
// Validar que tengan mximo 3 dgitos

Si (A div 1000 0 o B div 1000 0) entonces


Escribir (Los nmeros a sumar deben tener mximo 3 dgitos);
Sino

// Se descompone en dgitos cada numero. (A == a1a2a3) (B == b1b2b3)

a3
a2
a2
b3
b2
b2

=
=
=
=
=
=

A
A
A
B
B
B

mod 10;
div 10 mod 10;
div 100;
mod 10;
div 10 mod 10;
div 100;

// El resultado ser de la forma: R = r0r1r2r3


// Clculo de r3

r3 = a3 + b3;
Seleccin
r3 8:
resto = 1; r3 = r3 8;
r3 < 8:
resto = 0;
Fseleccin
// Clculo de r2

r2 = a2 + b2 + resto;
Seleccin
r2 8:
resto = 1; r2 = r2 8;
r2 < 8:
resto = 0;
Fseleccin
// Clculo de r1 y r0

R1 = a1 + b1 + resto;
Seleccin
r1 8:
r0 = 1; r2 = r2 8;
r1 < 8:
r0 = 0;
Fseleccin
R = r0*1000 + r1*100 + r2*10 + r3;
Escribir (El resultado es: +R);
Fsi
FAlgPrincipal

4.

En un terreno existen 5 lugares donde deben aterrizar paracaidistas para ganar puntos.
Cada lugar de aterrizaje est delimitado por un crculo de radio r = 5. Construya un algoritmo
que lea las 5 coordenadas (xi,yi) de los puntos centrales de cada crculo y lea la posicin (px,
py) donde aterriza el paracaidista, a fin de determinar en cuntos y en cules crculos el cae.
Considere:
Valor: 7 Puntos

Sea (px,py) un punto cualquiera, sea (x,y) las coordenadas del centro de un
crculo y sea r su radio, el punto est dentro del crculo, si la distancia (d) entre el punto y
el centro del crculo es menor al radio (es decir, d<=r )

La distancia d se puede calcular mediante la frmula

AlgoritmoPrincipal
// indica si un paracaidista cae dentro de unos crculos
Entero x1, x2, x3, x4, x5, y1, y2, y3, y4, y5, px, py;
// xi centro del crculo-i
Entero contador;
// indica el nmero de crculos a los cuales ha cado
Lgico enCirculo1, enCirculo2, enCirculo3, enCirculo4, enCirculo5; //saber en cuales crculos cay
Escribir (Suministre las coordenadas del centro de los 5 crculos);
Leer (x1, y1, x2, y2, x3, y3, x4, y4, x5, y5);
Escribir (Suministre el punto donde cae el paracaidista);
Leer (px, py); // posicin del paracaidista
contador = 0; // no ha cado en ningn crculo aun
enCirculo1 = falso; enCirculo2 = falso; enCirculo3 = falso; enCirculo4 = falso; enCirculo5 = falso;
// no ha cado en ninguno
Si (((px x1)^2) + ((py y1)^2)) <= 25 entonces
//equivalente (((px x1)^2) + ((py y1)^2))^0.5
<= 5
enCirculo1 = verdadero;
contador = contador + 1;
Fsi;
Si (((px x2)^2) + ((py y2)^2)) <= 25 entonces
enCirculo2 = verdadero;
contador = contador + 1;
Fsi;
Si (((px x3)^2) + ((py y3)^2)) <= 25 entonces
enCirculo3 = verdadero;
contador = contador + 1;
Fsi;
Si (((px x4)^2) + ((py y4)^2)) <= 25 entonces
enCirculo4 = verdadero;
contador = contador + 1;
Fsi;
Si (((px x5)^2) + ((py y5)^2)) <= 25 entonces
enCirculo5 = verdadero;
contador = contador + 1;
Fsi;
Si (contador == 0) entonces
Escribir(El paracaidista no cay en ninguno de los crculos. No gan ningn premio );
Sino
Escribir(El paracaidista cayo en+ contador + crculos. Se gan un viaje para hacer salto base );
Fsi;
Si (enCirculo1 == verdadero) entonces
Escribir(Cayo en el crculo 1);

Fsi
Si (enCirculo2 == verdadero)
Escribir(Cayo en el crculo
Fsi
Si (enCirculo3 == verdadero)
Escribir(Cayo en el crculo
Fsi
Si (enCirculo4 == verdadero)
Escribir(Cayo en el crculo
Fsi
Si (enCirculo5 == verdadero)
Escribir(Cayo en el crculo
Fsi

entonces
2);
entonces
3);
entonces
4);
entonces
5);

FinAlgoritmoPrincipal;

5.

Un nmero complejo es de la forma z = a + bi, donde a es la parte real y bi es la parte


imaginaria. Se desea que construya un algoritmo que calcule la suma, resta y multiplicacin
de 2 nmeros complejos. Considere que a y b son nmeros reales.
Valor: 3 Puntos
Ayuda: Sean z y w dos nmeros imaginarios, con z = a + bi w = c + di

z + w = (a + bi) + (c + di) = (a + c) + (b + d)i

z - w = z + (-w) = (a + bi) + (-c - di) = (a - c) + (b - d)i

z * w = (a + bi) * (c + di) = (ac bd) + (ad + bc)i

AlgoritmoPrincipal
// suma, resta y multiplica nmeros complejos de la forma z = a + bi
Real a, b, c, d;
// partes real e imaginaria de los nmeros z y w
Real sumar, restar, multr; // variables para los resultados de la parte real
Real sumai, restai, multi; // variables para los resultados de la parte imaginaria
Escribir(Suministre los elementos del nmero imaginario z); // parte real e imaginaria del nmero z
Leer(a, b);
Escribir(Suministre los elementos del nmero imaginario w); // parte real e imaginaria del nmero z
Leer(c, d);
sumar = a + c;
sumai = b + d;
restar = a - c;
restai = b - d;
multr = (a*c) (b*d);
multi = (a*d) (b*c);
Escribir(La suma de + a + + + b + i con + c + + + d + i es: + sumar + + + sumai + i);
Escribir(La resta de + a + + + b + i con + c + + + d + i es: + restar + + + restai + i);
Escribir(La multiplicacin de + a + + + b + i con + c + + + d + i es: + multr + + + multi +
i);
FinAlgoritmoPrincipal;

Universidad Central de Venezuela


Escuela de Computacin
Algoritmos y Programacin

03-Mayo-2006
Examen Parcial Nro. 1

1. El Ministerio de Salud va a iniciar una campaa nacional de vacunacin contra una nueva
enfermedad que surgi a partir del 2001. Dicha enfermedad requiere que la dosis sea aplicada
de manera precisa para no ocasionar efectos secundarios.
valor 6 puntos
La dosis va en funcin de la edad, sexo y peso de la persona de acuerdo a la siguiente
posologa:
- A todos los nios y nias menores de 10 aos se les debe aplicar una dosis de 0,05 mg
(miligramos)
- A las mujeres mayores a 10 aos y menores de 40 aos, la dosis debe ser el equivalente al
0,5% de su peso. A las de 40 aos o ms, el equivalente al 1% de su peso.
- Para los hombres que pesen hasta 70 Kg la dosis a aplicar depender de la edad. Para los
que tienen 10aos o ms y son menores de 25 aos se aplican 0,2 mg; entre 25 y 60 aos
se aplican 0,8mg, y para los de mayores de 60aos se aplican 0,5mg. A todos los hombres
cuyo peso excede 70kg les corresponde una dosis de 1,5mg.
Elabore un algoritmo que a partir de los datos de una persona (edad, sexo y peso en Kg)
determine la dosis de vacuna que se le debe aplicar.

2. En el estacionamiento Pague Poco el monto a pagar por concepto de estacionamiento se


calcula multiplicando el nmero de horas que permaneci el automvil dentro del
estacionamiento por Bs. 1140 y se incrementa Bs. 570 por cada media hora adicional y Bs.
300 por cada 15 minutos adicionales.
valor 6 puntos
Elabore un algoritmo que a partir de la hora de entrada (h1, m1, t1) y la hora de salida (h2,
m2, t2) de un vehculo en un mismo da, calcule el monto a pagar por estacionamiento.
Asuma que:
-

h1 y h2 son enteros que indican horas,

m1 y m2 son enteros que indican minutos,

t1 y t2 son caracteres que indican si la hora es am, m o pm.

Los datos de entrada deben ser validados

3. Dados dos enteros denotados por A y B, pertenecientes al intervalo (1000, 9999) los cuales
estn expresados en la base indicada por el 1er. dgito del primer entero ms uno. Calcule la
suma y resta de dichos nmeros en la base mencionada.
valor 8 puntos
Ejemplo:
Sean A=6460

B=4021

La suma en base 7 (6+1) de A+B es 13511


La resta en base 7 (6+1) de A-B es 2436

NOTA:
No debe realizar transformaciones de base. Asuma que el valor A es mayor que B.

- Debe verificar que los nmeros dados sean vlidos para la base indicada.

Universidad Central de Venezuela


Escuela de Computacin
Algoritmos y Programacin

28-Abril-2006
Quiz Nro. 1

4. Dados los estados iniciales para las variables A, B y L evale e indique el resultado de cada
expresin usando las reglas de prioridad de los operadores.
Ei = { A=5, B=2, L=Falso }
4.1

R ( (B + 4) * (5 - A)^() ) <= ( B + 2 NO (4 + 5 >= 8+A) )

4.2

R ( (B + B ^ 3 * 5 + 8 ) = ( B + A / 6 DIV 5 + 8 MOD 4 ) ) O ( L Y L O NO(A>B) )

5. Se quiere que usted construya un algoritmo en pseudocdigo que sume un valor de hora con
una cantidad de minutos dada y muestre la hora resultante.
valor 7 puntos
Considere lo siguiente:
- La hora de entrada es suministrada a travs de dos valores h y m, correspondiente a la
hora y los minutos.
- Los minutos adicionales a sumar son suministrados a travs de un valor m2.
- Los valores de h (las horas) sern suministrados entre 0 y 23 (hora militar). Los valores de
m (minutos) entre 0 y 59.
- Los valores para m2 sern >=0.
- El algoritmo propuesto debe indicar la hora resultante de sumar las horas con los minutos
en el formato dr-hr:mr, donde dr es la cantidad de das (dr >=0), hr las horas (hr >=0 y hr
<=23), y mr los minutos (mr >=0 y mr <=59)

6. Dados tres valores enteros da, mes y ao, que representan una fecha construya en
pseudocdigo un algoritmo que calcule y escriba la fecha del da anterior a la dada.
valor 9 puntos
Considere:
- Por ejemplo, para la fecha 1-3-1992, la fecha de salida ser 29-2-1992.
- Debe solicitar al usuario tres valores de entrada (da, mes, ao), validar que estn en los
rangos correctos y en caso de haber error en los datos de entrada indicarlos.
- Debe considerar las fechas que corresponden a aos bisiestos, como en el caso del
ejemplo. Un ao es bisiesto si es mltiplo de 4 (1988, 1992), excepto los mltiplos de 100
que no son bisiestos salvo que a su vez tambin sean mltiplos de 400 (1800 y 2100 no
son bisiestos, 2000 y 1600 si son bisiestos)
xito
Grupo Docente de Alg. y Prog.

Universidad Central de Venezuela


Escuela de Computacin
Algoritmos y Programacin

28-Noviembre-2005

Primer Examen Parcial

7. Para cada una de las siguientes proposiciones indique si es Verdadera o Falsa y justifique su
respuesta.
valor 0.75 ptos c/u, total 6 puntos
7.1

El enfoque orientado a objetos se encarga de representar slo entidades (objetos) de la


vida real (tangibles) a travs de sus principales atributos y tipos de datos.

7.2

La declaracin de un objeto produce como resultado la creacin del objeto y la


inicializacin de sus atributos.

7.3

Un algoritmo asegura la solucin a un problema.

7.4

Cuando se define un atributo con modo de acceso Privado se indica que ste slo puede
ser accedido por sus clases hijas y por ella misma.

7.5

Un compilador traduce un algoritmo escrito en lenguaje pseudo-formal a lenguaje de


mquina.

7.6

El mtodo constructor permite definir los atributos del objeto.

7.7

Una estructura Seleccin siempre puede representarse como la anidacin de


instrucciones Si ... entonces ... sino ... fsi y viceversa. D un ejemplo que ilustre su
respuesta.

7.8

La siguiente expresin algebraica puede ser traducida a una expresin informtica. Si


su respuesta es verdadera escriba la expresin resultante.

3
(x-x1) + (y-y1)2
2

8. La lnea area Vuela Ms desea desarrollar un algoritmo que les permita calcular el costo de
sus boletos de avin. Este clculo se hace en base en el consumo de gasolina del avin, ms,
un monto adicional que corresponde a la ganancia de la lnea area entre el nmero mximo
de pasajeros que puede transportar el avin.
Vuela Ms cuenta con tres tipos de rutas: Nacionales, Internacionales y Trasatlnticas.
Dependiendo de la ruta, utiliza diferentes tipos de aviones: para las nacionales usa Boeing
737, para las internacionales usa DC-10 y para las Trasatlnticas usa Airbus 340.
El consumo de gasolina de cada avin es diferente, un DC-10 utiliza 10 litros de gasolina por
cada 100 millas recorridas, el Boeing 737 usa la mitad de eso y el Airbus 340 utiliza 3 veces
ms que el Boeing 737.
El Boeing 737 tiene capacidad para 110 pasajeros, el DC-10 tiene capacidad para 200
pasajeros, el Airbus 340 tiene capacidad para 228 pasajeros.
En el caso de vuelos nacionales, la empresa se adjudica como ganancia un monto equivalente
al 50% del costo del combustible, para los vuelos internacionales se adjudica un monto
equivalente al 65% del costo del combustible y para los trasatlnticos la ganancia equivale al
73% del costo del combustible.
Desarrollo un algoritmo que, dada la distancia en millas, el tipo de vuelo y el costo actual de
un litro de gasolina de avin, calcule el costo del boleto.
valor 7 puntos
9. Ejercicio Orientado a Objetos (sirve para el parcial 3)

valor 7 puntos

Universidad Central de Venezuela


Escuela de Computacin
Algoritmos y Programacin
Primer Examen Parcial

26-05-2005

10.Indique la veracidad o falsedad de cada una de las siguientes sentencias. En ambos casos
justifique su respuesta.
valor 0.5 ptos c/u, total 4 ptos
a. En el enfoque orientado a objetos, el polimorfismo permite utilizar un mismo nombre para
mtodos diferentes. (para parcial 3)
b. Una clase permite instanciar mltiples objetos. (para parcial 3)
c. El proceso de abstraccin permite establecer las acciones que se van a ejecutar en un
algoritmo.
d. Una solucin algortmica puede ser eficiente sin ser eficaz, , Para que un programa
cumpla con la caracterstica deseable de portabilidad debera ser legible
e. El mtodo constructor permite definir los atributos de un objeto. (para parcial 3)
f. Cuando se define un atributo con modo de acceso Privado se indica que ste slo puede
ser accedido por sus clases hijas y por ella misma. (para parcial 3)
g. Un algoritmo asegura una solucin a un problema.
h. La llamada a un mtodo se realiza a travs de un mensaje. (para parcial 3)
11.Una institucin educativa de carcter privado estableci un programa para estimular a los
alumnos con buen rendimiento acadmico y que consiste en lo siguiente:
- Si el promedio es de 18 puntos o ms y el alumno es de los primeros semestres ( 1 al 5),
entonces este podr cursar hasta 30 unidades crdito y se le har un 25% de descuento
sobre el costo de su matricula.
- Si el promedio es menor a 18 pero mayor que 14 y el alumno es de los primeros
semestres, entonces este podr cursar hasta 27 unidades crdito y se le har un 10% de
descuento sobre el costo de su matricula.
- Si el promedio es mayor o igual a 14 y el alumno es de los primeros semestres, entonces
podr cursar hasta 25 unidades crdito y no tendr descuento.
- Si el promedio es mayor o igual a 18 y el alumno es de los ltimos semestres (6 al 10),
entonces podr hasta cursar 30 unidades crdito y se le har un 20% de descuento.
- Si el promedio es menor de 18 y el alumno es de los ltimos semestres, entonces podr
cursar hasta 30 unidades y no tendr descuento.
Solicitando y obteniendo del usuario el semestre que cursa un estudiante, su promedio, el
nmero de unidades crdito y el costo de la matricula por unidad crdito, se le pide calcular el
monto definitivo de matrcula a pagar por concepto de inscripcin.
valor 5 ptos
12.En las pasadas elecciones decanales, la Comisin Electoral implement un sistema
automatizado de transmisin y recepcin de datos, el cual registra el total de las votaciones de
cada una de las Escuelas de la Facultad de Ciencias en documentos denominados actas de
totalizacin.
En la Facultad de Ciencias se sabe que los electores votaron por uno de los 3 candidatos
postulados y que cada acta por escuela (Ciencias tiene 5 escuelas, Biologa, Computacin,
Fsica, Matemtica y Qumica) contiene la siguiente informacin:
VC1

VC2

VC3

Votos_Nulos

Abstencin

Donde para cada una de las escuelas, VCi representa la cantidad de votos que obtuvo el
candidato i, Votos_Nulos es la cantidad de votos no vlidos contabilizados y Abstencin
indica la cantidad de personas inscritas que no acudieron a votar.
Se quiere que Ud. elabore un algoritmo que permita al usuario introducir la informacin de
cada una de las actas antes mencionada para la Facultad de Ciencias y calcule:
12.1

El porcentaje de votos obtenidos por cada candidato.

12.2

El porcentaje de votos nulos.

12.3

El porcentaje de abstencin.

12.4

Total de votos escrutados.

12.5

Total de votantes.

Adems de lo anterior,
12.6 Los dos candidatos que obtengan la mayor votacin acuden a una segunda vuelta,
siempre y cuando el candidato que ocupe el primer puesto no obtenga ms del 65% del
total de votos escrutados. En este caso, se pide tambin informar los dos candidatos que
competirn en la segunda vuelta.
valor 5 ptos
13.La Alcalda de Caracas, necesita calcular el impuesto anual de vehculos que van a cobrar a sus
contribuyentes. Para ello, cuentan con la siguiente clasificacin:
Los vehculos pueden ser clasificados en vehculos a motor y vehculos a traccin de sangre
(entre otros, los pies, animales de transporte, bicicletas, carretas, motopatines, patines y otros
afines). Los vehculos a motor representados se dividen en 3 categoras: Motos, Carros y
Camiones, donde una de las diferencias principales entre ellos es el nmero de ruedas y el
peso o tonelaje del vehculo.
Los vehculos a motor cancelan un arancel anual que depende de su categora:
Las motos cancelan 2 unidades tributarias
Los carros cancelan 4 unidades tributarias
Los camiones cancelan 8 unidades tributarias
Identifique la informacin involucrada, clases, relaciones, atributos y mtodos que pueden
usarse en la representacin de elementos de tipo Vehculo.
a. Dnde estaran representadas en su diseo las camionetas? Considere adicionalmente
que las camionetas cancelan un arancel anual de 6 unidades tributarias
b. Cmo reflejara que los vehculos trabajan con diferentes combustibles, gasolina, gas
natural, gasoil?
c. Implemente un mtodo que permita calcular el arancel anual a pagar de acuerdo al tipo
de vehculo. El valor de la Unidad Tributaria es de Bs. 29.400
Nota: Ejercicio para parcial 3 si se responde bajo el enfoque Orientado a Objetos,
puede resolverse en a travs de programacin estructurada si usar objeto.

pero

valor 6 ptos
GDAP

UNIVERSIDAD CENTRAL DE VENEZUELA


FACULTAD DE CIENCIAS
ESCUELA DE COMPUTACIN
ALGORITMOS Y PROGRAMACIN

Mircoles, 02 de junio de 2004

PRIMER EXAMEN PARCIAL


1. Dado el siguiente cdigo escrito en lenguaje pseudo-formal

(4 Pts.)

Accin Principal
Entero N, i, j, k, k2;
Leer (N); #N = 10
Para i0 hasta N-1 hacer
J 0;
Mientras i < N hacer
j j + 1;
i i + 1;
Escribir (i, j);
FMientras
Si (J < N) entonces
Para k 1 hasta N hacer
Para k2 1 hasta N hacer
i k * k2;
Escribir (i, k, k2);
FPara
FSi
FPara
FAccin
Se desea que usted:
a) Represente la corrida del mismo indicando los resultados impresos y todos los
valores de las variables a lo largo de toda la ejecucin.
b) Indique brevemente para qu sirve la declaracin, el tipo y el nombre de una
variable.
c) Indique brevemente cul es la importancia que tiene el compilador
d) Explique con detalle cmo sera la ejecucin si la condicin del Si fuera (J <=N)
2.

Se desea crear un sistema automatizado que lea un conjunto de fechas (da, mes y ao),
acompaada cada una del da de la semana que fue el 1 de enero del ao dado y retorne como
resultado el da de la semana en que cay la fecha dada.
Dada la experiencia del grupo al cual va dirigido el software, Ud. debe asegurarse de que los
datos introducidos sean vlidos. Considere, adems, que la fecha 0/0/0 indica el fin de la lista.
Adems, los resultados deben ser mostrados dando el nombre escrito del da de la semana.
(10 Pts.)

3. Debido a la cercana de la Eurocopa de Ftbol 2004, la FIFA ha solicitado el apoyo de los


estudiantes de algoritmos y programacin para llevar a cabo el registro automatizado de este
magno evento en su primera ronda de clasificacin, a partir de la siguiente informacin:

El torneo est dividido en grupos claramente identificados, y cada grupo est


conformado por 4 equipos.

Un equipo est identificado por un nombre (el nombre del pas al que representa),
la fecha de fundacin, la direccin de ubicacin, un cdigo postal y los jugadores que lo
conforman (como mnimo 15 y mximo 22 jugadores).

Un jugador est identificado por su nombre, apellido, fecha de nacimiento, estatura,


peso, nmero, posicin dentro del campo de juego, club de liga al que pertenece y nmero
de goles que ha anotado dentro del torneo.

Adems, se desean registrar los resultados obtenidos por un equipo al enfrentarse con cada
uno de los equipos que pertenecen a su grupo. As como tambin, los partidos ganados,
empatados, perdidos, los goles a favor y en contra, y los puntos obtenidos en su ronda
clasificatoria. (6 Pts.)
Se desea que usted:
a. Extraiga del enunciado las clases, sus atributos y mtodos.
b. Una vez extrados stos, haga la representacin grfica de las clases indicando si hay
relaciones.
c. Adems, responda brevemente a lo siguiente:
i. Para qu sirve la herencia entre las clases?
ii. Para qu sirve el polimorfismo?
Nota: Ejercicio para parcial 3 si se responde bajo el enfoque Orientado a Objetos,
puede resolverse en a travs de programacin estructurada si usar objeto.

pero

GDAP

UNIVERSIDAD CENTRAL DE VENEZUELA


FACULTAD DE CIENCIAS
ESCUELA DE COMPUTACIN
ALGORITMOS Y PROGRAMACIN

Mircoles, 10 de diciembre de 2003

PRIMER EXAMEN PARCIAL


1. Indique la veracidad o falsedad de los siguientes enunciados y justifique brevemente su
respuesta. (1/2 punto c/u, Total 4 puntos)
a)
Dos variables diferentes del mismo tipo, ocupan una misma cantidad de memoria.
b)
Un algoritmo, un programa y un compilador son exactamente la misma cosa.
c)
Dada una variable T de tipo lgico, la expresin T (84 < 5,76) no es vlida
informticamente.
d)
El cdigo de otro objeto, slo puede ser accedido por medio de mensajes.
e)
La condicin de parada de un repetir es igual a la de un mientras en un mismo
problema.
f)
La instanciacin es el proceso de definicin y creacin de las clases.
g)
La cantidad de memoria que utiliza un programa es un parmetro para la medicin
de la eficacia del mismo.
h)
Para que un lenguaje de programacin sea Orientado a Objeto debe ser capaz de
integrar en una entidad simple un conjunto de datos y operaciones sobre estos datos,
separando la especificacin (visible) de la implementacin (oculta).
2. El CNE encontr que sus sistemas para verificar las firmas de todos aquellos que participaron
en ambas jornadas de recoleccin, tienen algunos detalles de seguridad y comprobacin que
deben solventarse prontamente, en tal sentido, han solicitado su apoyo para que proponga
una solucin efectiva y eficiente.
As, se desea que usted escriba un algoritmo en lenguaje seudo-formal que permita: (5 ptos)
a) Chequear que el nmero de clave (ingresado por teclado) del tcnico, responda a la
constante PASSWORD con valor 123456. Para controlar el ingreso al sistema, se debe
permitir un mximo de tres intentos. En caso fallido, se debe emitir un mensaje acorde a la
situacin y terminar la ejecucin.
b) Corroborar todas las firmas ingresadas una por una (y en su debido momento) por el
personal tcnico, incluyendo entre los datos el nombre, apellido, C.I. y Fecha de
Nacimiento del firmante, as como la fecha en la cual se recogi la firma y si sta es para
diputado o presidente. La C.I. con valor cero indica el final del ingreso de datos.
NOTA: Asuma que los datos del REP se encuentran en las variables NOMBRE_REP,
APELLIDO_REP, CI_REP y NAC_REP para cada entrada.
c) Se desea obtener, adems, el total de firmas recogidas para la solicitud de revocatorios a
diputados oficialistas, as como el total de firmas recogidas para la solicitud de revocatorios
para diputados de oposicin.
d) Por ltimo, el mismo sistema debe ser capaz de indicar si, al evaluar todas las firmas de
solicitud para un referndum presidencial, ste se podra activar o no (recuerde que el
mnimo de firmas vlidas debe ser de 2.400.000)
NOTA: Asuma que una misma persona no firm dos veces por el mismo motivo.
3. Una hoja de clculo es una coleccin (de tamao mximo definido) de celdas las cuales son
identificadas a partir de su posicin dentro de la hoja. Cada celda est claramente identificada
y puede contener, adems, dos tipos de informacin: (4 pts)
Texto: es una secuencia de caracteres con formato. Dicho formato, adems, es definido por
el usuario en funcin de: tamao, tipo, subrayado, itlica, negrita.
Frmula: es una expresin matemtica simple.
Adems del conjunto de celdas, una hoja de clculo tiene asociado un nombre y un rea de
memoria (clipboard) para almacenar resultados intermedios. Sobre la hoja de clculo se
pueden realizar operaciones de abrir, cerrar, salvar, agregar celdas y eliminar celdas.
Sobre cada celda se pueden realizar operaciones de escribir, borrar, seleccionar, pegar el
contenido del clipboard en la celda, y copiar el contenido de la celda en el clipboard.

Se desea que usted:


a. Extraiga del enunciado las clases, sus atributos y mtodos.
b. Una vez extrados stos, haga la representacin grfica de las clases.
c. Adems, responda brevemente a lo siguiente:
i. Para qu sirve el pase de mensajes entre los objetos.
ii. Para qu sirve el encapsulamiento.
4. Dado el siguiente algoritmo, haga una prueba del mismo, utilizando la secuencia de datos
[5 , 22 , 141 , 165 , 323 , -1] e indique qu realiza (3 pts):
accin principal()
entero n, aux, contador, fin, i, u, p;
lgico bandera;
n 0;
Mientras n -1 hacer
leer (n);
si n 10 entonces
aux n;
contador 0;
mientras aux 0 hacer
aux aux div 10;
contador contador + 1;
fmientras
aux n;
fin contador div 2;
bandera verdadero;
i 1;
mientras bandera y (i fin) hacer
u aux mod 10;
p aux div 10 ^ (contador 1);
si u p entonces
bandera falso;
fsi
aux aux mod 10 ^ (contador 1);
aux aux div 10 ;
contador contador 2;
i i + 1;
fmientras
si bandera entonces
escribir (n);
fsi;
fsi;
fmientras;
faccin;
5. Se desea que usted escriba un algoritmo en lenguaje seudo-formal que permita encontrar y
mostrar todos los nmeros de cuatro cifras que cumplan con la condicin de que la suma de
las cifras de orden impar sea igual a la suma de las cifras de orden par (4 pts)

GDAP

Vous aimerez peut-être aussi