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

Universidad Central de Venezuela.

Escuela de Computacin - Algoritmos y Programacin

Recopilacin y Preparacin Prof. Yusneyi Carballo


Junio-05, Mayo 08

EJERCICIOS TIPO EXMEN PARCIAL 3


TEMA 7: TIPOS DE DATOS ESTRUCTURADOS (ARREGLOS, REGISTROS Y ARCHIVOS)
TEMA 8: PROGRAMACIN ORIENTADA A OBJETOS

Arreglos
1. Hallar el mximo valor en un arreglo de N elementos ( defina el arreglo como: Arreglo X de Entero[-15..8] )
2. Dado un arreglo A de N elementos enteros, almacenar en un arreglo B, las sumas parciales de los elementos de A.
3. Dada una secuencia de palabras, almacenada en un arreglo de cadenas de caracteres (string) y terminada en *, contar la
cantidad de palabras la, de pero que se encuentran en la secuencia.
4. Adaptar el procedimiento anterior para realizar sustituciones de palabras segn se indica a continuacin:
4.1. Para facilitar el algoritmo, desarrollo un mtodo o funcin llamada PrximaPalabra que le permita obtener la siguiente
palabra del archivo
4.2. Si al encontrar la palabra pero e incrementar su contador, este toma un valor mltiplo de 5, sustituir la palabra por
peroles. Por ejemplo, al encontrar la 5, 10, 15, 20 palabra pero, estas sern sustituidas en el archivo por la
palabra peroles
4.3. A la vez, ir contando cuantas palabras pero han sido sustituidas
5. Obtener en un arreglo, los factoriales de los primeros 10 nmeros naturales. Hacer hincapi en la solucin ms eficiente: no
calculando la multiplicacin de los i-1 valores anteriores, sino reutilizando el resultado del factorial previo.
6. Convertir un nmero entero cualquiera, en una cadena de caracteres (string) almacenada en un arreglo.

Bsqueda en Arreglos - Algoritmo de Bsqueda Lineal


7. Modificar la funcin Buscar_Lineal para que devuelva la posicin en la que se encuentra el elemento, devolver cero (0) si el
elemento no est. Cambiar tambin la accin principal para que muestre esta adaptacin.
8. Modificar la funcin Buscar_Lineal para que cuente y devuelva la cantidad de veces en la que se encuentra el elemento (cero
si no est). Cambiar tambin la accin principal para que muestre esta adaptacin.
9. Modificar la funcin Buscar_Lineal para que devuelva el lgico y la posicin donde est el elemento (ambos valores).
10. Adaptar los algoritmos de bsqueda lineal para crear una funcin que realice la bsqueda en una matriz N x M.

Bsqueda en Arreglos - Algoritmo de Bsqueda Binario


11. Modificar la funcin Buscar_Binario para que retorne un lgico, con valor verdad si existe el elemento y falso si no existe.
12. Modificar la funcin Buscar_Binario para que devuelva el lgico y la posicin donde est el elemento (ambos valores).

Algoritmos de Ordenamiento
13. Dado un arreglo de 100 enteros, invertir el orden de sus elementos.
14. Adaptar la solucin anterior para invertir un arreglo de 103 elementos tipo carcter.

Arreglos de MxN (matrices)


15. Dada una matriz A de M filas y N columnas (M, N 1) cuyos componentes son enteros, se quiere generar un arreglo MIN de M
elementos que contenga el menor elemento de cada fila de la matriz A.
Pg. 1

Recopilacin y Preparacin Prof. Yusneyi Carballo

Universidad Central de Venezuela.


Escuela de Computacin - Algoritmos y Programacin

Junio-05, Mayo 08

16. Dada una matriz B de NxN elementos enteros (matriz cuadrada), construya pseudo-cdigos que permitan:
16.1. Calcular la suma de todos los elementos que se encuentran a la derecha de la diagonal principal (SUMA_DER_DIAG)
16.2. Calcular la suma de todos los elementos que se encuentran a la izquierda de la diagonal principal (SUMA_IZQ_DIAG)
16.3. Utilizar los mtodos anteriores en un algoritmo principal, a fin de conocer la suma de las diagonales izquierda y derecha
para una matriz cuya dimensin ser suministrada por el usuario. NOTA: Verifique antes, a partir de la dimensin
suministrada por el usuario para la matriz, si se justifica llamar a los mtodos (qu pasa si la matriz es de 1x1, 2x2 ?)
17. Dadas variables del tipo matriz Rec de MxN elementos carcter, construya pseudo-cdigos que permitan realizar los siguientes
recorridos:
17.1 Mtodo Culebrita_Filas

17.2 Mtodo Culebrita_Columnas


inicio

inicio

17.3 Mtodo Culebrita_Al_Revs


fin

fin

inicio

fin

17.4 Mtodo Culebrita_hacia_Centro


inicio

fin

inicio

(nota cada columna se recorre 1 sola vez)

Registros
18. Aplicando el Enfoque Orientado a Objeto, establezca una estructura utilizando registros que permita almacenar fechas y
desarrolle los siguientes mtodos:
18.1. Mtodo Comparador_de_fechas, al cual se le suministran dos (2) fechas e indica cul de ellas es la ms reciente.
18.2. Mtodo Fecha_Vlida, al cual se le suministra una fecha e indica mediante valores lgicos si la fecha es correcta,
partiendo de que una fecha es vlida, si es menor a la fecha del da en que se hace la consulta.
18.3. Mtodo Fecha_a_Das, al cual se le suministra una fecha e indica la cantidad de das del ao que han transcurrido y son
equivalentes a la fecha. Por ejemplo, si la fecha suministrada es 17-01-2005, el resultado es 17 das, si la fecha es 0503-2005 el resultado es 64 das
19. Definir una estructura de datos que permita almacenar toda la informacin relevante del curso de Algoritmos y Programacin I.
Considere o utilice la estructura para:
19.1. Almacenar informacin de notas (3 exmenes parciales tericos, 3 exmenes prcticos, 3 proyectos, 4 laboratorios),
profesores (CI, Nombres, Apellidos, cubculo, seccin que dicta, email), preparadores (CI, Nombres, Apellidos, seccin de
prctica que dicta, email), estudiantes (CI, Nombres, Apellidos, email, notas de cada evaluacin).
19.2. Crear un mtodo Inicializar_Estudiantes, que cargar la informacin de los estudiantes de la materia Alg y Prog I
Pg. 2

Universidad Central de Venezuela.


Escuela de Computacin - Algoritmos y Programacin

Recopilacin y Preparacin Prof. Yusneyi Carballo


Junio-05, Mayo 08

19.3. Crear un mtodo Inicializar_Notas, que permitan leer y cargar la calificacin de cada estudiante para las 2 primeras
evaluaciones de parciales tericos, quices y proyectos
19.4. Crear un mtodo Ordenar_por_Nota, que utilizando un ARREGLO DE NDICES que refleje la lista de estudiantes
ordenada ascendentemente por la nota del parcial 1. Se usar un arreglo de ndices para indicar las posiciones de los
alumnos una vez son ordenados y evitar tener que duplicar toda la informacin del registro estudiante.
20. Investigue como pueden adaptarse los algoritmos de bsqueda y ordenamiento para ser aplicados a registros

Archivos
Notas generales:

SIEMPRE tome en cuenta que el archivo de entrada podra suministrrsele vaco y que la condicin de
parada o fin de archivo (FDA) se alcanza cuando se lee la palabra *

Utilice los procedimientos de manejo de archivo explicados en clase, ms mtodos o acciones


desarrolladas por usted para solucionar cada ejercicio

21. Dado un archivo de texto, contar la cantidad de vocales que tiene el mismo.
22. Dado el nombre de dos archivos binarios, generar un tercero que sea la concatenacin de los anteriores.
23. Dado un archivo de estudiantes, imprimir aquellos cuya cdula de identidad sea mayor que 10 millones. Use la siguiente
especificacin:
Tipo Registro Estudiante =
Entero CI;
String Nombre;
Entero ND;
FRegistro;

24. Dado dos archivos de estudiantes ordenados ascendentemente por el campo CI, generar un tercer archivo que sea la mezcla
ordenada de los anteriores.
25. Adapte los ejercicios 5 y 6 a fin de considerar que el texto con la secuencia de palabras en donde se realizar la bsqueda
estar almacenado en un archivo de texto, y no en un arreglo.

Ejercicios Varios
TIPOS DE DATOS ESTRUCTURADOS
26. Dada una secuencia de caracteres, se quiere calcular la frecuencia de todas las letras del alfabeto presentes en ella. Suponga:
La secuencia suministrada solo contiene letras y espacios ( )
Ud. cuenta con una funcin abstracta llamada Carcter_Siguiente(), ya implementada y que puede usar para obtener el
prximo carcter de la secuencia
La secuencia termina cuando se suministra el carcter *
La frecuencia de cada letra se calcula dividiendo la cantidad de veces que se ha contado esa letra, entre la cantidad total
de letras de la secuencia
Utilice arreglos para almacenar las frecuencias calculadas para cada letra del alfabeto.

Pg. 3

Recopilacin y Preparacin Prof. Yusneyi Carballo

Universidad Central de Venezuela.


Escuela de Computacin - Algoritmos y Programacin

Junio-05, Mayo 08

27. Dado un arreglo A de N elementos enteros, desarrolle mtodos que permitan:


27.1. Calcular la suma de los elementos del arreglo
27.2. Hallar el menor elemento del arreglo y decir su posicin
27.3. Encontrar la posicin del primer elemento igual a un valor entero X dado
27.4. Obtener la posicin de cada elemento del arreglo que sea mltiplo de un valor entero E dado
27.5. Crear un arreglo B que almacene los valores del arreglo original A, pero sin elementos repetidos
27.6. Obtener un arreglo Pos_E que almacene las posiciones del arreglo A en que se encuentra un elemento dado E
28. Dados los arreglos A1 y A2 ordenados ascendentemente, de M y N elementos reales respectivamente, se quiere obtener un
tercer arreglo llamado Mezcla, ordenado ascendentemente, que sea la mezcla de los elementos de los arreglos A1 y A2.
29. Crear un mtodo que genere n lneas del Tringulo de Pascal:
n=1

n=2

n=3

n=4
n=5

1
1

1
2

3
4

1
3

1
4

30. Dada un archivo Personas que contiene el nombre de la persona, su cdula de identidad y edad, se quiere generar otro
archivo llamado Menores que contengan la informacin de las personas menores a 18 aos.
31. El departamento de contabilidad de una cadena de tiendas dispone de la informacin referente al monto de las ventas
realizadas por artculo en cada una de sus tiendas y para cada uno de los meses del ao anterior. Tambin dispone de
informacin sobre el nmero de tiendas de la cadena, el nmero de artculos ofertados y el hecho de que todas las cadenas
venden los mismos artculos.
Con el fin de planificar la poltica de ventas para el ao en curso, la empresa requiere:
31.1. Le sean propuestas estructuras de datos que le permitan guardar la informacin de sus ventas
31.2. Se desarrolle un mtodo Calculo_Ventas_Mensual que permita conocer el monto total por mes de las ventas realizadas
para cada artculo
31.3. Monto total de las ventas realizadas por la cadena en el ao

32. Dada una secuencia de caracteres suministrada en un archivo de texto, se quiere calcular la frecuencia de todas las letras del
alfabeto presentes en ella. Considere lo siguiente:
La secuencia suministrada en el archivo solo contiene letras y espacios ( )
32.1. Ud. cuenta con una funcin abstracta llamada Leer_Archivo(variable_archivo A, Caracter X), ya implementada y que
puede usar para obtener el prximo carcter de la secuencia
32.2. La secuencia termina cuando se suministra el carcter *
32.3. La frecuencia de cada letra se calcula dividiendo la cantidad de veces que se ha contado esa letra, entre la cantidad total
de letras de la secuencia
32.4. Se desea almacenar las frecuencias de cada letra y la cantidad total de letras en una estructura que facilite la consulta
posterior de la frecuencia de una letra cualquiera del alfabeto.
Pg. 4

Universidad Central de Venezuela.


Escuela de Computacin - Algoritmos y Programacin

Recopilacin y Preparacin Prof. Yusneyi Carballo


Junio-05, Mayo 08

33. Dada un archivo que contiene los nombres, apellidos, cdulas de identidad y edad de un grupo de personas, se quiere generar
otro archivo llamado Menores que contenga solo la informacin de los menores de 18 aos.
34. El departamento de contabilidad de una cadena de tiendas dispone de la informacin referente al monto de las ventas
realizadas por artculo en cada una de sus tiendas y para cada uno de los meses del ao anterior. Tambin dispone de
informacin sobre el nmero de tiendas de la cadena, el nmero de artculos ofertados y el hecho de que todas las cadenas
venden los mismos artculos.
Con el fin de planificar la poltica de ventas para el ao en curso, la empresa requiere:
34.1. Le sean propuestas estructuras de datos que le permitan guardar la informacin de sus ventas
34.2. Se desarrolle un mtodo Calculo_Ventas_Mensual que permita conocer el monto total por mes de las ventas realizadas
para cada artculo
34.3. Monto total de las ventas realizadas por la cadena en el ao
PROGRAMACIN ORIENTADA A OBJETOS
35. Dada la siguiente definicin de la clase Lista
Clase Lista
Privado Arreglo Elementos[1..N] de Entero; # elementos de la lista
Privado Entero T;
# indica la posicin del elemento tope o superior de la lista
Privado Resultados
# estructura de datos, propuesta por Ud. en donde se retornarn resultados de la lista
Constructor Lista()
// instrucciones del mtodo
FConstructor;
Pblico Accin Insertar(Entero A, Pos)
// inserta el elemento A en la posicin Pos, verificando previamente que la lista no est llena
Faccin;
Pblico Accin Eliminar(Entero Pos)
// elimina el elemento ubicado en Pos, verificando previamente que la lista no est vaca
Faccin;
Pblico Funcin Buscar_Pos_Elem(Entero A) : Entero
// retorna la posicin que ocupa el elemento A en la lista
Ffuncin;
Pblico Funcin Mximo_y_Promedio() : Resultados
// retorna la posicin del mximo elemento y el promedio de los elementos de la lista
Ffuncin;

Proponga soluciones para:


35.1. Desarrollar en pseudo-cdigo los mtodos anteriores
35.2. Definir un algoritmo principal que permita:
Pg. 5

Universidad Central de Venezuela.


Escuela de Computacin - Algoritmos y Programacin

Recopilacin y Preparacin Prof. Yusneyi Carballo


Junio-05, Mayo 08

a. Agregar elementos a la lista en la primera, en la del centro y en la ltima posicin. Los elementos a insertar sern
suministrados por el usuario y debe escribirse un mensaje de alerta en caso de que el elemento a insertar no quepa
en la lista.
b. Crear dos variables del objeto tipo lista, la lista1 tendr 6 elementos, y la lista2 tendr 4 elementos
c. Crear un mtodo para llenar listas y utilizarlo para inicializar o guardar los elementos de la lista1 y la lista2
d. Crear lista3 en la cual se guarden los elementos ordenados de lista1 y lista2 (considere orden ascendente)
35.3. Qu cambios debera incluir en la especificacin del objeto lista para convertirlo en un objeto cola?
35.4. Qu cambios debera incluir en la especificacin del objeto lista para convertirlo en un objeto pila?
36. Dada la siguiente informacin referente a vehculos que una empresa oferta para la venta:
- Nmero de vehculos ofertados

- Marca

- Motor (capacidad en litros)

- Precio

36.1. Utilice el EOO y proponga una estructura de datos que permita almacenar la informacin de todos los carros en venta,
asuma que el usuario le indicar el nmero de carros que se ofertarn.
36.2. Proponga un mtodo que permita consultar y guardar la posicin o ndice de los vehculos cuyo precio es menor o igual a
un precio P suministrado por el usuario, en decir, busque y guarde las posiciones en un ARREGLO DE NDICES.
Recuerde que se utiliza un arreglo de ndices para evitar duplicar la informacin de cada registro de los vehculos.
36.3. Proponga un mtodo que permita hallar el vehculo ms econmico de 2.2 litros
37. Dada la siguiente informacin referente a vehculos usados que un Concesionario est vendiendo y sus dueos:
- Serial/Placa
- Marca
descapotable)- Precio

- Motor (capacidad en litros)

- Tipo(utilitario, sedan, rstico,deportivo,

- Nombres, C.I., Telfonos y Email del vendedor-dueo del vehculo (cada vehculo tiene un solo dueo)
37.1. Proponga una estructura o estructuras de datos que permita almacenar la informacin de los carros en venta y de sus
dueos (asuma que a travs de una lectura le ser suministrado el nmero de carros en venta).
37.2. Utilice el EOO y proponga un mtodo que permita obtener los vehculos cuyo precio es menor o igual a un precio P
suministrado por el usuario.
Este mtodo debe buscar y guardar los seriales/placas de los vehculos seleccionados en forma eficiente, es decir, NO E
QUIERE que usted duplique la estructura(s) de datos originales donde se almacena la informacin de los vehculos.
37.3. Proponga un mtodo que permita consultar el nombre, telfono y email de los dueos de vehculos con motor de 2.2
litros

Pg. 6

Recopilacin y Preparacin Prof. Yusneyi Carballo

Universidad Central de Venezuela.


Escuela de Computacin - Algoritmos y Programacin

Junio-05, Mayo 08

Caracas, 25 de Julio de 2005

TERCER PARCIAL
1. Responda y justifique brevemente cada una de las siguientes preguntas
(0,5 pto. c/u, total 4 ptos)
1.1. El algoritmo de ordenamiento de burbujas podra 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.2. Un arreglo puede ser almacenado en memoria principal, y puede ser almacenado memoria
secundaria.
1.3. Un objeto puede contener entre sus atributos un registro.
1.4. Para llevar a cabo la bsqueda binaria en un arreglo, ste debe estar ordenado.
1.5. Un arreglo unidimensional puede usarse para representar un arreglo bidimensional?, en caso
afirmativo de un ejemplo.
1.6. Los archivos slo almacenan tipos de datos estructurados.
1.7. Sea Arreglo A de String [110], y j una variable de tipo Entero inicializada en 0, la expresin
Mientras j<10 hacer
Escribir (A[j]);
j j+1;
Fmientras

Muestra todos los elementos de A? En caso de ser falso, indique por qu y haga las
correcciones necesarias.
1.8. Un registro es exactamente igual a un objeto sin mtodos.
2. Determinar si una matriz de MxM es un cuadrado mgico.
Se considera un cuadrado mgico a una matriz en la cual la suma de cada fila, de cada columna, de
la diagonal principal y de la diagonal secundaria son iguales.
Proponga una solucin 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 mgico.
Considere:
2.1. Usted debe especificar y crear la matriz con un tamao M que le suministrar el usuario.
2.2. Como la matriz estar vaca, usted debe llenarla antes de proceder a verificar si es un cuadrado
mgico.
(valor 6ptos.)

3. El Observatorio Parque Sierra Nevada desea desarrollar un sistema que le permita monitorear las
temperaturas de los pramos venezolanos.

Pg. 7

Universidad Central de Venezuela.


Escuela de Computacin - Algoritmos y Programacin

Recopilacin y Preparacin Prof. Yusneyi Carballo


Junio-05, Mayo 08

Para ello se recopila informacin en 21 puntos de observacin ubicados a diferentes alturas en la


Cordillera Andina. Para cada da del mes se registra, en cada uno de los puntos, la temperatura
mnima y la temperatura mxima alcanzada y medida en C.
La informacin recopilada en un ao le ser suministrada en un archivo llamado
TemperaturasAnuales, el cual no est ordenado y en donde se tienen los siguientes datos:
-

nmeroMes: mes en el que fue tomada la temperatura.

nmeroDa: da en el que fue tomada la temperatura.

codPtoObs: identificador del punto de observacin. El cdigo viene dado por 3 caracteres que
hacen referencia al sitio de observacin y 2 dgitos que indican el nmero del punto de
observacin. Ej. PAG18, que indica que el punto de observacin es el Pico el guila y que es
el punto de observacin nmero 18.

tempMn: temperatura mnima registrada en el punto de observacin.

tempMx: temperatura mxima registrada en el punto de observacin.

Se desea que usted proponga una solucin algortmica con acciones y/o funciones que:
3.1. Especifique las estructuras de datos ms convenientes y las utilice en la soluciones propuestas.
3.2. Indique para cada mes la temperatura mnima, la temperatura mxima y donde fue recopilada.
3.3. Almacene e indique los puntos que presentaron ms de 30 observaciones con temperaturas
inferiores a los 4C.
3.4. Indique los puntos que presentaron la menor y la mayor temperatura del ao, adems en que
mes y da ocurri.
El archivo TemperaturasAnuales, slo puede ser recorrido una vez. Utilice las estructuras
auxiliares necesarias de forma eficiente.
(valor 10 ptos.)

Se les desea xito!!


GDAyP.

Pg. 8

Recopilacin y Preparacin Prof. Yusneyi Carballo

Universidad Central de Venezuela.


Escuela de Computacin - Algoritmos y Programacin

Junio-05, Mayo 08

Caracas, 03 de Marzo de 2005


PARCIAL 3
1. Responda y justifique brevemente cada una de las siguientes preguntas (1pto. c/u)
a) En pseudoformal, el tamao de un arreglo en qu momentos se especifica?.
b) El algoritmo de ordenamiento de burbujas podra hacer menos comparaciones que el resto de los algoritmo
de ordenamiento vistos en clases?. Si es cierto, indique por qu, y d un ejemplo.
c) El algoritmo de bsqueda binaria es igual de eficiente que el algoritmo de bsqueda secuencial.
d) Es bien sabido que un arreglo es una estructura de datos homognea. En el enfoque orientado a objetos, un
arreglo puede almacenar objetos de clases distintas?. Adicionalmente, en caso afirmativo, d un ejemplo.
e) Un arreglo puede ser almacenado en memoria principal, y puede ser almacenado memoria secundaria.
2. Dado un arreglo bidimensional S de NxM caracteres, escriba una funcin que determine si una palabra
dada en un arreglo P de k caracteres est dentro de la matriz. Slo 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 posicin (i,j) inicial de la palabra en la matriz, as como la direccin (vertical u horizontal) de
localizacin. Asuma que la palabra no puede aparecer ms de una vez. (5 ptos)
Funcin Existe(Arreglo S de Caracter S[1..N][1..M]; Arreglo P de Carcter[1..k]) Lgico

3. Dada un archivo llamado GENTE.bin que contiene: nombre, cdula, sexo y edad de un grupo de
personas, se desea generar otro archivo llamado Menores.bin que contenga slo la informacin de las
mujeres menores en edad que la primera persona del archivo.
(5 ptos)
La estructura de datos que almacena la informacin de cada persona es la siguiente
Tipo Registro Persona
String Nombre;
Entero CI;
Entero Edad;
Carcter sexo;
FRegistro;

# sexo M F

4. La compaa T-shirt tiene 2 almacenes en Caracas: el almacn TRINITI, y el almacn GUACAMAYA.


Esta compaa est dedicada a la venta de franelas. En cada almacn se conocen las tallas de franelas que
tienen dentro del almacn. Suponiendo que no hay ms de 50 tallas distintas, el dueo de la compaa
requiere saber qu tallas no estn en los dos almacenes a la vez (tallas crticas). Para ello, usted ha sido
elegido para elaborar un algoritmo que, dado dos arreglos de tallas, correspondientes a cada almacn,
imprima las tallas crticas ordenadas descendentemente.
(5 ptos)

Pg. 9

Recopilacin y Preparacin Prof. Yusneyi Carballo

Universidad Central de Venezuela.


Escuela de Computacin - Algoritmos y Programacin

Junio-05, Mayo 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 evaluacin de la condicin debe tener valor de verdad
verdadero.
b)
Un ciclo Para puede ser detenido antes de que complete todos los ciclos inicialmente
acordados.
c)
Un mtodo debe tener al menos un parmetro.
d)
Si en un algoritmo se tiene una instruccin de escritura -por ejemplo, Escribir(aprender
estructuras iterativas es muy conveniente)- y un ciclo Mientras, el mensaje se escribir 0 o ms
veces.
e)
El crear ciclos infinitos siempre es un error de programacin.
f)
Una invocacin a funcin puede colocarse como parmetro en una invocacin a otro
mtodo.
g)
Suponga que se tiene una accin con pase de parmetro por referencia, pero
internamente nunca se modifican los valores referenciados. Es esta situacin exactamente igual a
hacer un pase de parmetro por valor?
h)
La expresin
mientras n>0 hacer
n n div 10;
fmientras
Puede ser convertida a una expresin equivalente, utilizando la estructura Repetir (si su respuesta
es positiva, escriba la expresin resultante).
2. Dado el siguiente algoritmo:
Clase Algohace
Privado Entero X;
Constructor()
X 3;
Acc2(X);
fconstructor
Accin Acc1 ( Entero E1, Var Entero E2)
Entero h;
h 2;
Mientras(h C y E2 0 ) hacer
Si ((E1 mod h) = 0) entonces
E2 0;
fsi
h h+1;
fmientras
faccion

Accion Acc2 (Entero k)


Entero C, es;
Mientras (k 20) hacer
C k div 2;
es 1;
Acc1(k, es);
Si (es=1) entonces
Escribir (k);
fsi
k k+1
fmientras
faccion
fclase
Clase Principal
Accin Principal
Algohace P;
P.Algohace();
faccion
fclase

Pg. 10

Universidad Central de Venezuela.


Escuela de Computacin - Algoritmos y Programacin

Recopilacin y Preparacin Prof. Yusneyi Carballo


Junio-05, Mayo 08

a) Realice la prueba del algoritmo, indicando el estado de las variables en cada paso de la
ejecucin.
b) Cul es el objetivo del algoritmo?
(5 puntos)
3. Considerando como dato de entrada su nmero de cdula de identidad, utilice un slo ciclo para separar
los dgitos de la cdula, calcular e indicar: los dgitos pares, los impares, los que son nmeros primos y
si el primer dgito (el primero de la derecha) es divisor del ltimo (el primero de la izquierda).
Por ejemplo, para la Cdula 11563989, los resultados seran:
-

dgitos pares: 6, 8

dgitos impares: 1, 1, 5, 3, 9, 9

dgitos que son nmeros primos: 1, 1, 5, 3

primer dgito de la derecha es divisor del ltimo: falso


(5 puntos)

Pg. 11

Recopilacin y Preparacin Prof. Yusneyi Carballo

Universidad Central de Venezuela.


Escuela de Computacin - Algoritmos y Programacin

Junio-05, Mayo 08

GDAYP Marzo 2005


QUIZ # 3
1.

Dada las siguientes definiciones de tipos:

Tipo Registro Estudiante =

Tipo Registro Nota =

String nombre;
Entero ci;
Arreglo kardex de Nota [1..4];
FRegistro

String materia;
Real nota;
FRegistro

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 nmeros enteros, donde cada nmero
representa un punto o color (pxel) a pintar en pantalla.
Se desea que defina los atributos de una imagen, que puede tener cualquier tamao por filas y columnas, e
implemente cada uno de los siguientes mtodos:
(4 pts. c/u)
VoltearHorizontalmente()

Voltea el contenido de la imagen horizontalmente

VoltearVerticalmente()

Voltea el contenido de la imagen verticalmente

Ejemplo para una imagen 3x4


P1

P2

P3

P4

P1

P2

P3

P4

P5

P6

P7

P8

P5

P6

P7

P8

P9

P10

P11

P12

P9

P10

P11

P12

Antes de voltear horizontalmente

Antes de voltear verticalmente

P4

P3

P2

P1

P9

P10

P11

P12

P8

P7

P6

P5

P5

P6

P7

P8

P12

P11

P10

P9

P1

P2

P3

P4

Despus de voltear horizontalmente

Despus de voltear verticalmente

NOTA: El examen tiene una duracin de dos (2) horas


Pg. 12

Universidad Central de Venezuela.


Escuela de Computacin - Algoritmos y Programacin

Recopilacin y Preparacin Prof. Yusneyi Carballo


Junio-05, Mayo 08

Caracas, 05-Diciembre-2006

PROPUESTAS PARA QUIZ O PARCIAL 2


4. Responda y justifique brevemente cada una de las siguientes preguntas

(0,5 pto. c/u)

4.1. En pseudoformal, el tamao de un arreglo en qu momentos se especifica?.


4.2. El algoritmo de ordenamiento de burbujas podra hacer menos comparaciones que el resto de los
algoritmo de ordenamiento vistos en clases?. Si es cierto, indique por qu, y d un ejemplo.

4.3. El algoritmo de bsqueda binaria es igual de eficiente que el algoritmo de bsqueda secuencial.
4.4. Es bien sabido que un arreglo es una estructura de datos homognea. En el enfoque orientado a objetos,
un arreglo puede almacenar objetos de clases distintas?. Adicionalmente, en caso afirmativo, d un
ejemplo.

4.5. Un arreglo puede ser almacenado en memoria principal, y puede ser almacenado memoria secundaria.

PROPUESTAS DE PREGUNTAS DE YUSNEYI:

5. (VECTOR--) Se desea escribir un programa que lea una serie de valores numricos de tipo Entero

suministrados por el usuario, los almacene en una estructura de datos conveniente y realice diferentes
procesamientos sobre ellos.
(4ptos.)

5.1. Para indicar que terminaron los datos de entrada el usuario suministrar el valor 99.
5.2. Adems de permitir la entrada y almacenamiento de los datos, el algoritmo deber contar con

procedimientos (acciones / funciones) para imprimir los valores almacenados, calcular la suma de ellos,
calcular el promedio o media aritmtica, y calcular la desviacin estndar (es la diferencia entre cada valor
y la media).

5.3. Desde el algoritmo principal se deber hacer llamadas a los procedimientos encargada de leer y
almacenar los datos, imprimirlos y realizar las operaciones sobre ellos.

5.4. Usted debe proponer y especificar tambin la(s) estructura(s) de datos ms convenientes para almacenar
los datos y ser usada en su algoritmo.

6. (MATRIZ MxN--) Una empresa de venta de productos por correo desea realizar una estadstica de las ventas
realizadas de cada uno de los productos a lo largo del ao anterior. La empresa distribuye un total de 100
productos y realizar sus estadsticas para los ltimos 6 meses de ao.
(6ptos.)
Se desea que usted proponga una solucin algortmica con acciones o funciones que:

6.1. Especifique la estructura de datos ms conveniente y la utilice en la solucin propuesta.


6.2. Calcule el total de ventas de cada producto.
6.3. Calcule el total de ventas de cada mes.
6.4. Indique los 10 productos ms vendidos en el mes de diciembre.
6.5. Indique el mes en que se realizaron ms ventas y cuales fueron los 3 productos ms vendidos.
7. (ARCHIVOS DE REGISTROS Y ARREGLOS--) Se desea desarrollar un sistema que permita realizar la
gestin de un almacn y los productos guardados en l.

(8ptos.)

La informacin es almacenada en un archivo llamado Productos y los datos relevantes de cada producto se
reflejan en el siguiente registro:
Tipo Registro Producto=
Entero Cdigo;
Pg. 13

Universidad Central de Venezuela.


Escuela de Computacin - Algoritmos y Programacin

Recopilacin y Preparacin Prof. Yusneyi Carballo


Junio-05, Mayo 08

String Nombre;
Entero stockActual; # el stock es la cantidad de ese producto que hay en el almacn
Entero stockMnimo; # cantidad mnima que debe haber de ese producto
Entero stockMximo; # cantidad mxima del producto que se puede almacenar
Entero IDProveedor; # nmero del proveedor para el producto

FRegistro
El sistema tambin almacena el Cdigo, Nombre, Email y Telfono de los trece (13) Proveedores con que
trabaja la empresa.
Se desea que usted proponga una solucin algortmica con acciones o funciones que:

7.1. Especifique las estructuras de datos ms convenientes y la utilice en la soluciones propuestas.


7.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 informacin.

7.3. Genere un archivo Pedidos en donde se almacene la informacin de los productos cuyo stockActual es
menor al stockMnimo. En el archivo Pedidos se desea mantener la mnima informacin 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 mximo.

7.4. Imprima informacin que permita contactar a los Proveedores de los productos que fueron incluidos en el
archivo Pedidos.

xito en su preparacin
Profa. Yusneyi

Pg. 14

Вам также может понравиться