Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Yusneyi Carballo
Escuela de Computación - Algoritmos y Programación Octubre 08
Algoritmos y Programación
Ejemplos de Ejercicios para Parcial 2 o Parcial 3
1. Dado los n vértices de un polígono, se puede obtener su área a partir de la siguiente fórmula
A = 1 abs[ ( x1 + x 2 )( y1 − y 2 ) + ( x 2 + x3 )( y 2 − y 3 ) + ( x3 + x 4 )( y 3 − y 4 ) + ... + ( x n + x1 )( y n − y1 ) ]
2
En la que x i e y i denotan la abscisa y ordenada respectivamente, del vértice vi ,con
1≤i ≤ n.
a. Escriba una función que calcule el área para un pentágono
b. Escriba una función que determine la longitud de un lado o distancia entre los puntos
A=(x1, y1) y B=(x2, y2):
c. Escriba una función que calcule el perímetro, recuerde que el perímetro es la suma de los
lados del polígono.
Nota: Recuerde que la función de valor absoluto viene definida como:
2. Dada una serie de fechas representadas con tres enteros < día, mes, año > entre los años
1900 y 2100, ambos inclusive, y terminada en 0,0,0
a. Escriba una función que retorne el día de la semana que le corresponde conociendo que el
1 de enero de 1900 fue domingo. Por ejemplo:
<3,10,2004> es domingo
b. Escriba una función que retorne la posición del día que le corresponde dentro del año. Por
ejemplo:
<30,1,1919> = 30
<31,12,2002> = 365
<31,12,2004> = 366 por ser año bisiesto
Considere y valide en funciones que:
1. El usuario suministra valores cualesquiera como datos de entrada.
2. Hay meses de 30 o de 31 días, y en caso de los años bisiestos, febrero tiene 29 y no 28
días. Un año es bisiesto si es divisible por cuatro, excepto los años divisibles por 100,
quienes para ser bisiestos deben de ser divisibles también por 400
3. En una acción principal dado dos enteros positivos a y b, validar que así sea y :
a. Escriba una función que solicite un valor n y devuelva en “res” el resultado del cálculo del
binomio de Newton:
n n 0 n n −1 1 n 1 n −1 n 0 n
( a + b) n
=0 a b +
1
a b + ... + n −1
a b + n
a b
n n!
donde la combinatoria se define como m = m!( n − m )! y a su vez el factorial como
n! = n( n −1)! determine cada uno en funciones separadas
b. Escriba una acción que imprima el resultado del binomio de Newton expresado en letra,
por ejemplo:
1.037.535, el resultado será “un millón treinta y siete mil quinientos treinta y cinco”
Nota: Asuma que el numero está entre 1 y 5.000.000
1
Universidad Central de Venezuela. Recopilación y Preparación Prof. Yusneyi Carballo
Escuela de Computación - Algoritmos y Programación Octubre 08
c. Escriba una acción que determine si los valores de a, b y res (resultado del binomio de
Newton) son perfecto, es decir, si la suma de su divisores es igual a su producto, no
considerándose a si mismo como divisor. Por ejemplo:
6 es un número perfecto ya que 1+2+3=1*2*3
d. Escriba una función para reducir una fracción (siendo a el numerador y b el denominador).
Ayuda: Utilizar una función que calcule el m.c.m de dos números m.c.m(a, b)
e. Escriba acciones que muestren las operaciones con quebrados: suma(a, b), resta(a, b),
multiplicación(a, b) y división(a, b)
1010 Acarreo
2437 +
6712
11351
Nota: Recuerde que el rango de los números en base 8 están entre 0 y 7, los de base 2 están
entre 0 y 1, los de base 16 entre 0 y 15 (siendo A =10, B =11,..,F =15), y así sucesivamente
con las otras bases. Utilice una función antes de hacer la suma para validar que los dígitos de
los números introducidos pertenezcan al rango de la base B dada.
5. El cajero de una tienda cuenta con monedas de 1, 2, 5, 10, 20 y 50 para dar el vuelto a los
clientes. Se requiere que usted escriba el cuerpo de la siguiente acción:
Acción Dar_Vuelto (Entero precio, Entero pago)
/*Algoritmo que imprime el monto del vuelto a dar al cliente y el numero de monedas de cada
denominación a entregar.
precio: monto de la venta
pago: monto cancelado por el cliente*/
El cantidad de monedas a entregar debe ser la mínima, por ejemplo: para un precio de 83 y
un pago de de 90 el vuelto será de 2 monedas: una de 5 y una de 2.
6. Se desea que construya un algoritmo que lea un segmento de recta de la forma S={(xi,yi),
(xf,yf)} y un conjunto de triángulos isósceles de la forma TI={ (ax, ay), (bx,by), (cx,cy)} y
determine la cantidad de triángulos que S intersecta. La longitud de S es siempre mayor a la
longitud de un lado del triángulo. Si los tres puntos de TI son iguales entonces la lectura de los
triángulos termina.
7. El algoritmo escrito por Lothar Collatz produce una secuencia de enteros (Secuencia de
2
Universidad Central de Venezuela. Recopilación y Preparación Prof. Yusneyi Carballo
Escuela de Computación - Algoritmos y Programación Octubre 08
Collatz), los pasos del algoritmo son:
7.1. Se escoge un entero positivo A como primer valor de la secuencia
7.2. Si A = 1 entonces se detiene
7.3. Si A es par, entonces se reemplaza A por A/2 y se regresa al paso 2
7.4. Si A es impar, entonces se reemplaza A por 3 * A + 1 y se regresa al paso 2
8. Escriba un algoritmo que encuentre el 1er número de una secuencia de números reales
acabada en 0 que sea igual al producto de los números impares que lo preceden en la
secuencia. Si no existe ningún número en la secuencia que cumpla dicha condición, el
algoritmo debe informar al usuario que no existe ningún número en la secuencia que sea igual
al producto de los números impares que lo preceden.
10. Se me ocurriría, por ahora, que escribieran un algoritmo que dado un N ingresado por el
usuario generará como salida una figura impresa como la que esta en el archivo adjunto.
Puede ser esa u otra mas sencilla o complicada. Sigue el mismo concepto del rombo de la
práctica, pero al ser otra figura la lógica para escribirla es diferente.
11. Se desea que realice una solución algorítmica a la siguiente ecuación, donde a y n son
constantes introducidas por el usuario al inicio del programa:
donde: f(k)= cos(k)*k! cos(x) = 1 - (x^2)/2! + (x^4)/4! - (x^6)/6! + ... +/- (x^k)/k!
3
Universidad Central de Venezuela. Recopilación y Preparación Prof. Yusneyi Carballo
Escuela de Computación - Algoritmos y Programación Octubre 08
Caracas, 05-Diciembre-2006
1. Responda y justifique brevemente cada una de las siguientes preguntas (0,5 pto. c/u)
1.1. En pseudoformal, el tamaño de un arreglo en qué momentos se especifica?.
1.2. El algoritmo de ordenamiento de burbujas podría hacer menos comparaciones que el resto de
los algoritmo de ordenamiento vistos en clases?. Si es cierto, indique por qué, y dé un ejemplo.
1.3. El algoritmo de búsqueda binaria es igual de eficiente que el algoritmo de búsqueda
secuencial.
1.4. Es bien sabido que un arreglo es una estructura de datos homogénea. En el enfoque
orientado a objetos, un arreglo puede almacenar objetos de clases distintas?. Adicionalmente, en
caso afirmativo, dé un ejemplo.
1.5. Un arreglo puede ser almacenado en memoria principal, y puede ser almacenado memoria
secundaria.
3. (MATRIZ MxN--) Una empresa de venta de productos por correo desea realizar una estadística de las
ventas realizadas de cada uno de los productos a lo largo del año anterior. La empresa distribuye un total
de 100 productos y realizará sus estadísticas para los últimos 6 meses de año. (6ptos.)
Se desea que usted proponga una solución algorítmica con acciones o funciones que:
3.1. Especifique la estructura de datos más conveniente y la utilice en la solución propuesta.
3.2. Calcule el total de ventas de cada producto.
3.3. Calcule el total de ventas de cada mes.
3.4. Indique los 10 productos más vendidos en el mes de diciembre.
3.5. Indique el mes en que se realizaron más ventas y cuales fueron los 3 productos más vendidos.
El sistema también almacena el Código, Nombre, Email y Teléfono de los trece (13) Proveedores con
que trabaja la empresa.
Se desea que usted proponga una solución algorítmica con acciones o funciones que:
4.1. Especifique las estructuras de datos más convenientes y utilícelas en la soluciones propuestas.
4.2. Lea e inicialice los datos a almacenar en el archivo de productos. Los datos será suministrados por el
usuario. La cantidad de productos a almacenar no es conocida previamente, ni es suministrada en el
archivo, siendo el usuario el encargado de indicar cuando termina la entrada de información.
4.3. Genere un archivo Pedidos en donde se almacene la información de los productos cuyo stockActual
es menor al stockMínimo. En el archivo Pedidos se desea mantener la mínima información que
identifique al producto, la cantidad a pedir y el proveedor que lo suministra. La cantidad a pedir
debe permitir que el nuevo stock del producto sea igual a su stock máximo.
4.4. Imprima información que permita contactar a los Proveedores de los productos que fueron
incluidos en el archivo Pedidos.
Éxito en su preparación
Profa. Yusneyi
5
Universidad Central de Venezuela. Recopilación y Preparación Prof. Yusneyi Carballo
Escuela de Computación - Algoritmos y Programación Octubre 08
Caracas, 25 de Julio de 2005
TERCER PARCIAL
Muestra todos los elementos de A? En caso de ser falso, indique por qué y haga las
correcciones necesarias.
5.8. Un registro es exactamente igual a un objeto sin métodos.
Proponga una solución eficiente que implemente funciones o acciones (usted elige) que le
permitan calcular la suma de cada fila, la suma de cada columna, la suma de la diagonal
principal y de la diagonal secundaria, e invoque convenientemente a estas funciones o
acciones en el Algoritmo Principal para verificar que se tiene un cuadrado mágico.
Considere:
6.1. Usted debe especificar y crear la matriz con un tamaño M que le suministrará el usuario.
6.2. Como la matriz estará vacía, usted debe llenarla antes de proceder a verificar si es un
cuadrado mágico.
(valor 6ptos.)
6
Universidad Central de Venezuela. Recopilación y Preparación Prof. Yusneyi Carballo
Escuela de Computación - Algoritmos y Programación Octubre 08
La información recopilada en un año le será suministrada en un archivo llamado
TemperaturasAnuales, el cual no está ordenado y en donde se tienen los siguientes datos:
- númeroMes: mes en el que fue tomada la temperatura.
- númeroDía: día en el que fue tomada la temperatura.
- codPtoObs: identificador del punto de observación. El código viene dado por 3
caracteres que hacen referencia al sitio de observación y 2 dígitos que indican el
número del punto de observación. Ej. PAG18, que indica que el punto de observación
es el Pico el Águila y que es el punto de observación número 18.
- tempMín: temperatura mínima registrada en el punto de observación.
- tempMáx: temperatura máxima registrada en el punto de observación.
Se desea que usted proponga una solución algorítmica con acciones y/o funciones que:
7.1. Especifique las estructuras de datos más convenientes y las utilice en la soluciones
propuestas.
7.2. Indique para cada mes la temperatura mínima, la temperatura máxima y donde fue
recopilada.
7.3. Almacene e indique los puntos que presentaron más de 30 observaciones con
temperaturas inferiores a los –4ºC.
7.4. Indique los puntos que presentaron la menor y la mayor temperatura del año, además en
que mes y día ocurrió.
El archivo TemperaturasAnuales, sólo puede ser recorrido una vez. Utilice las estructuras
auxiliares necesarias de forma eficiente.
(valor 10 ptos.)
7
Universidad Central de Venezuela. Recopilación y Preparación Prof. Yusneyi Carballo
Escuela de Computación - Algoritmos y Programación Octubre 08
Caracas, 03 de Marzo de 2005
PARCIAL 3
1. Responda y justifique brevemente cada una de las siguientes preguntas (1pto. c/u)
2. Dado un arreglo bidimensional S de NxM caracteres, escriba una función que determine si una
palabra dada en un arreglo P de k caracteres está dentro de la matriz. Sólo considere buscar de
izquierda a derecha (horizontal), y de arriba hacia abajo (vertical). En caso de que la palabra es
encontrada dentro de la matriz, indicar la posición (i,j) inicial de la palabra en la matriz, así como la
dirección (vertical u horizontal) de localización. Asuma que la palabra no puede aparecer más de una
vez. (5 ptos)
3. Dada un archivo llamado “GENTE.bin” que contiene: nombre, cédula, sexo y edad de un grupo de
personas, se desea generar otro archivo llamado “Menores.bin” que contenga sólo la información de las
mujeres menores en edad que la primera persona del archivo.
(5 ptos)
La estructura de datos que almacena la información de cada persona es la siguiente
(5 ptos)
8
Universidad Central de Venezuela. Recopilación y Preparación Prof. Yusneyi Carballo
Escuela de Computación - Algoritmos y Programación Octubre 08
22/06/2005
SEGUNDO EXAMEN PARCIAL
1. Indique y justifique la veracidad y/o falsedad de cada una de las siguientes sentencias:
(0.5 puntos c/u, total 4 puntos)
a) Para que el ciclo Repetir se realice, la evaluación de la condición debe tener valor de
verdad verdadero.
b) Un ciclo Para puede ser detenido antes de que complete todos los ciclos inicialmente
acordados.
c) Un método debe tener al menos un parámetro.
d) Si en un algoritmo se tiene una instrucción de escritura -por ejemplo,
Escribir(“aprender estructuras iterativas es muy conveniente”)- y un ciclo Mientras, el mensaje
se escribirá 0 o más veces.
e) El crear ciclos infinitos siempre es un error de programación.
f) Una invocación a función puede colocarse como parámetro en una invocación a otro
método.
g) Suponga que se tiene una acción con pase de parámetro por referencia, pero
internamente nunca se modifican los valores referenciados. ¿Es esta situación exactamente
igual a hacer un pase de parámetro por valor?
h) La expresión mientras n>0 hacer
n ← n div 10;
fmientras
Puede ser convertida a una expresión equivalente, utilizando la estructura Repetir (si su
respuesta es positiva, escriba la expresión resultante).
a) Realice la prueba del algoritmo, indicando el estado de las variables en cada paso de
la ejecución.
9
Universidad Central de Venezuela. Recopilación y Preparación Prof. Yusneyi Carballo
Escuela de Computación - Algoritmos y Programación Octubre 08
b) ¿Cuál es el objetivo del algoritmo? (5
puntos)
3. Considerando como dato de entrada su número de cédula de identidad, utilice un sólo ciclo
para separar los dígitos de la cédula, calcular e indicar: los dígitos pares, los impares, los
que son números primos y si el primer dígito (el primero de la derecha) es divisor del
último (el primero de la izquierda).
Por ejemplo, para la Cédula 11563989, los resultados serían:
- dígitos pares: 6, 8
- dígitos impares: 1, 1, 5, 3, 9, 9
- dígitos que son números primos: 1, 1, 5, 3
- primer dígito de la derecha es divisor del último: falso
(5 puntos)
10
Universidad Central de Venezuela. Recopilación y Preparación Prof. Yusneyi Carballo
Escuela de Computación - Algoritmos y Programación Octubre 08
Caracas, 21 de Enero de 2005
QUIZ #2
11
Universidad Central de Venezuela. Recopilación y Preparación Prof. Yusneyi Carballo
Escuela de Computación - Algoritmos y Programación Octubre 08
QUIZ #2 (Junio 2006)
2.- Escribir un algoritmo que solicite repetidamente parejas de números, hasta que al menos un
número de la pareja sea cero. Por cada pareja el programa debe utilizar una función para
calcular la media armónica de los dos números.
Media Armónica = 2,0 * x * y / (x + y)
12
Universidad Central de Venezuela. Recopilación y Preparación Prof. Yusneyi Carballo
Escuela de Computación - Algoritmos y Programación Octubre 08
3.- Escribir una Clase Vector3D que permita manipular vectores de tres componentes
(coordenadas x, y, z) según los siguientes métodos:
Método Descripción
Sumar(Vector3D v) Suma el vector v al vector invocante
Escriba adicionalmente, un algoritmo principal que utilice la Clase Vector3D para almacenar 2
vectores dados por el usuario (V1, V2) y un vector cuyas componentes sean cero (V3), y calcule
la suma de V1 + V2 + V3, realice el productor escalar de V1 Y V2, y por último la norma del
Vector V3. Imprima los tres resultados.
Nota: Debe implementar un constructor por defecto cuyos valores de las coordenadas sean igual
a cero. Los ejemplos anteriores han sido realizados con un vector 2D.
4.- Una empresa de textiles posee sucursales en 18 puntos del país, suponiendo que se
almacenan las ventas mes por mes de cada punto, en una matriz de 18 filas (una por cada
sucursal) y 12 columnas (una por cada mes). Elabore: (Valor 6 ptos. Quiz 2 Dic 2007)
a. Una función que reciba como parámetro la matriz, y retorne las ventas totales de la
empresa textil.
b. Una función que reciba como parámetro la matriz y un entero que represente el número de
la sucursal, y retorne el monto total de venta para esa sucursal.
c. Una función que reciba como parámetro la matriz, y retorne un entero que represente el
número de la sucursal que vendió más durante todo el año.
d. Una función que reciba como parámetro la matriz y un entero que represente el mes
actual, y retorne el número de la sucursal que registró mayor ganancia en los últimos 3
meses.
13
Universidad Central de Venezuela. Recopilación y Preparación Prof. Yusneyi Carballo
Escuela de Computación - Algoritmos y Programación Octubre 08
QUIZ # 3
Considere un arreglo A que contiene 99 registros de tipo Estudiante, elabore acciones o funciones para
resolver cada uno de los siguientes requerimientos: (3 pts. c/u)
1) Inicializar el arreglo desde un archivo que contiene registros de tipo estudiante. Considere que el
archivo puede tener menos de 99 estudiantes.
2) Obtener el promedio de las notas de cada uno de los estudiantes.
3) Obtener el promedio de una materia dada por el usuario.
4) Ordenar el arreglo descendentemente por el campo ci (puede utilizar cualquiera de los algoritmos
de ordenamiento vistos en clase).
2. Una imagen puede ser representada como un arreglo bidimensional de números enteros, donde cada
número representa un punto o color (píxel) a pintar en pantalla.
Se desea que defina los atributos de una imagen, que puede tener cualquier tamaño por filas y columnas, e
implemente cada uno de los siguientes métodos: (4 pts. c/u)
P1 P2 P3 P4 P1 P2 P3 P4
P5 P6 P7 P8 P5 P6 P7 P8
P8 P7 P6 P5 P5 P6 P7 P8
14
Universidad Central de Venezuela. Recopilación y Preparación Prof. Yusneyi Carballo
Escuela de Computación - Algoritmos y Programación Octubre 08
GUÍA DE EJERCICIOS Nº 4
EJERCICIOS TIPO EXÁMEN PARCIAL 2 - TEMAS 1 AL 7
(HASTA PASE DE PARÁMETROS Y ESTRUCTURAS ITERATIVAS)
Método Descripción
Fracción(N1,N2 Constructor que recibe valores enteros para el numerador (N1) y el
) denominador (N2)
Sumar(b) sumar la fracción b a la fracción invocante
Multiplicar(b) Multiplicar la fracción b por la fracción invocante
Dividir(b) Divide la fracción invocante entre la fracción b
Retorna verdadero si la fracción invocante es igual a b, sino retorna
Comparar(b)
falso
Copiar(b) copiar la fracción b en la fracción llamante
Simplificar() simplificar la fracción
Devuelve un String con la fracción llamante expresada en la forma
toString()
N1/N2
15
Universidad Central de Venezuela. Recopilación y Preparación Prof. Yusneyi Carballo
Escuela de Computación - Algoritmos y Programación Octubre 08
F1+F2+F3, la multiplicación de F1*F3, la división de F2 entre F1 e imprima los tres
resultados.
5. Dado el siguiente algoritmo, se quiere que realice una corrida “en frío” de sus
instrucciones y muestre lo siguiente:
a) Estado de las variables durante la corrida en frío del algoritmo
b) Impresiones del programa
16
Universidad Central de Venezuela. Recopilación y Preparación Prof. Yusneyi Carballo
Escuela de Computación - Algoritmos y Programación Octubre 08
Clase Ejercicio1A Clase Ejercicio1B
Protegido Entero aux; Privado Ejercicio1A varA;
Público Real b; Privado Ejercicio1C varA2;
18
Universidad Central de Venezuela. Recopilación y Preparación Prof. Yusneyi Carballo
Escuela de Computación - Algoritmos y Programación Octubre 08
UNIVERSIDAD CENTRAL DE VENEZUELA Miércoles, 07 de julio de 2004
FACULTAD DE CIENCIAS
ESCUELA DE COMPUTACIÓN
ALGORITMOS Y PROGRAMACIÓN
2. En el juego de dados “craps”, un jugador tira dos dados y se calcula la suma de los
puntos en las dos caras superiores. Si la suma es 7 u 11 en el primer tiro, el jugador
gana. Si la suma es 2, 3 o 12 en el primer tiro, el jugador pierde (es decir, la casa
gana). Si la suma es 4, 5, 6, 8, 9 o 10 en el primer tiro, esa suma se convierte en el
“punto” del jugador. Para ganar, el jugador debe seguir tirando los dados hasta que
salga otra vez “su punto” (es decir, que tire ese mismo valor de punto). El jugador
pierde si tira un 7 antes de llegar a su punto. Se desea que usted simule el juego
implementando la acción principal y los métodos LanzarDado, Cuadrado y Doble para:
(8 puntos)
• Permitir que el usuario haga una apuesta.
• Si se obtiene 7 u 11 en el primer lanzamiento, el premio es lo apostado elevado
al cuadrado. Por limitaciones técnicas, el cuadrado del monto debe ser
calculado con sumas sucesivas.
• Si se gana, pero no en el primer lanzamiento, el usuario recupera el monto
apostado y su equivalente por parte de la casa, es decir, recibe como pago a su
jugada el doble de lo apostado.
• Para lanzar el dado, se dispone de una función Aleatorio() que genera un
número entre 1 y 6. Ud. debe mostrar cómo sería el encabezado de dicha
función y luego usarla en su respuesta.
19
Universidad Central de Venezuela. Recopilación y Preparación Prof. Yusneyi Carballo
Escuela de Computación - Algoritmos y Programación Octubre 08
3. En el algoritmo de la siguiente página se desea que Ud. determine: (7 puntos)
3.1.Valores que se escriben. Cambios ocurridos sobre las variables involucradas.
(Traza del algoritmo).
3.2.Qué cambios se deberían hacer en el algoritmo para que dentro del constructor de
la clase Frame se puedan inicializar los atributos heredados, sin necesidad de
soportarse sobre el constructor de la clase Contenedor, pero sin permitir que la
clase Principal acceda directamente a dichos atributos. Justifique su respuesta.
3.3.Que cambios se deberían realizar en el algoritmo para que desde la acción
Principal se pudieran agregar las siguientes instrucciones, dentro de su secuencia
de operaciones:
C.largo 18; C.nombre “componente1”;
Justifique su respuesta.
UNIVERSIDAD CENTRAL DE VENEZUELA Miércoles, 04 de febrero de 2003
FACULTAD DE CIENCIAS
ESCUELA DE COMPUTACIÓN
ALGORITMOS Y PROGRAMACIÓN
SEGUNDO EXAMEN PARCIAL
Se desea que usted desarrolle las funciones Minimo, Hallar_i y Complemento (ver
próxima página) de acuerdo a lo que indican sus respectivas especificaciones.
(valor 3 puntos)
NOTA: Para obtener el complemento con base en 10, se toma y descompone un
número de k dígitos, se calcula lo que le falta a cada dígito para llegar a 9 y se
reconstruye el nuevo número con los complementos obtenidos.
Ejemplo: Si N= 3256, COMPLEMENTO = 6743
Y se calcula sumando a cada dígito lo que le falta para llegar a 9, es decir, lo que se le
suma a 3 para llegar a 9 (6), lo que se le suma a 2 para llegar a 9 (7), a 5 para llegar a
9 (4) y finalmente, lo que se le suma a 6 para llegar a 9 (3)
Se desea que usted haga una corrida en frío del mismo, mostrando los valores que
van tomando las variables y la salida del programa. (4 puntos)
4. Elabore una función llamada contenido que, dados dos enteros positivos n y m,
devuelva verdadero si el número m está contenido en n y falso en caso contrario.
Utilizando esta función elabore un programa que, dada una secuencia de pares de
enteros positivos terminada en 0, escriba los pares que cumplan la condición de que
uno de los números está contenido en el otro. (4 puntos)
Ejemplo: Dada la secuencia: 34 534 35 876 2435 43 465 2978 6548 64
0
Se escribirá: 34 534 2435 43
GDAP
22
Universidad Central de Venezuela. Recopilación y Preparación Prof. Yusneyi Carballo
Escuela de Computación - Algoritmos y Programación Octubre 08
UNIVERSIDAD CENTRAL DE VENEZUELA JUNIO 2005
FACULTAD DE CIENCIAS
ESCUELA DE COMPUTACIÓN
ALGORITMOS Y PROGRAMACIÓN
QUIZ 2
23
Universidad Central de Venezuela. Recopilación y Preparación Prof. Yusneyi Carballo
Escuela de Computación - Algoritmos y Programación Octubre 08
2. Escribir un algoritmo que solicite repetidamente parejas de números, hasta que al
menos un número de la pareja sea cero. Por cada pareja el programa debe utilizar una
función para calcular la media armónica de los dos números.
Media Armónica = 2,0 * x * y / (x + y)
3. Dada la siguiente especificación de métodos para una clase llamada Vector3D que
permite manipular vectores de tres componentes (coordenadas x, y, z):
Método Descripción
Sumar(Vector3D v) Suma el vector v al vector invocante
Producto_Escalar(Vector3D v) El producto de dos vectores se puede definir como la suma
del producto de cada uno de los componentes de los
vectores. Ejemplo:
Vector A = (1,2,5)
Vector B = (3,4,6)
AxB = 1*3 + 2*4 + 5*6 = 3 + 8 + 30 = 41
24