You are on page 1of 11

RESUMEN DE ALGORITMOS Y ESTRUCTURAS DE

DATOS
CUESTIONARIO N1
1- Puede decirse que un proceso planteado para que tenga un comienzo en
un momento dado pero de tal forma de no detenerse jams, es un
algoritmo?
2- En qu famoso museo de la ciudad de Londres (Inglaterra) se ha
construido y se expone al pblico una Analytical Engine, la mquina
diseada por Charles Babbage a principios del siglo XIX y que es la
precursora de las modernas computadoras? [El museo construy la
mquina usando materiales que estaban disponibles en la poca en que
Babbage la dise...]
3- Qu se entiende, en general, por error de compilacin?
4- Es posible que la misma persona que disea un algoritmo sea tambin
quien ejecute ese algoritmo?
5- Qu relacin existe entre los conceptos de algoritmo y programa?
6- Qu significa definir una variable en Python?
7- Cul es el nombre del creador del lenguaje de programacin Python?

CUESTIONARIO N2
8- Cules de las siguientes son propiedades bsicas del resto de una divisin
(y por lo tanto, aplicables al operador resto o mdulo en un lenguaje de
programacin)?
9- Qu es en programacin una Estructura Secuencial de Instrucciones?
10-Sabemos que un IDE es un programa que provee herramientas para editar,
depurar y ejecutar con sencillez y eficiencia un programa desarrollado en
algn lenguaje de programacin. El IDE que usaremos a lo largo del curso
es el PyCharm Edu. Concretamente, qu significa la sigla IDE?
11-Cul de los siguientes conjuntos NO es la caracterizacin de una clase de
congruencia (mdulo 4)? (Recuerde que se denota como Z al conjunto de
los nmeros enteros)
12-Cul de las siguientes afirmaciones es cierta respecto de un diagrama de
flujo?
13-Cul de los siguientes es el nombre informal alternativo con el cual se
conoce al documento PEP 20 de la documentacin oficial de Python?
(Claramente, esta es una pregunta para distenderse... nadie espera que se
equivoquen aqu... slo tmense un minuto para buscar la respuesta... y
mientras, ranse un poco con las opciones que les estamos sugiriendo...)
14-Sabemos que Ada Augusta Byron King (Condesa de Lovelace) fue la hija del
poeta Lord Byron y actu como colaboradora de Charles Babbage en el
diseo de la Analytical Engine, proponiendo elementos conceptuales para la
programacin de esa mquina que hoy se usan en los modernos lenguajes

de programacin (subrutinas y ciclos, por ejemplo). Cmo se llama el


lenguaje de programacin moderno designado as en honor a ella?
15-El Premio Turing (otorgado anualmente por la ACM - Association for
Computing Machinery a quienes hayan realizado aportes trascendentes en
el campo de las Ciencias de la Computacin) est considerado como el
equivalente al Premio Nobel de las Ciencias de la Computacin. Cul de los
siguientes famosos exponentes del mundo de la Ciencias de la Computacin
gan oportunamente el Premio Turing por haber sido el creador de varios
lenguajes de programacin innovadores (entre ellos: Pascal, Modula y AlgolW)?
16-Cul de las siguientes afirmaciones es falsa respecto de la tcnica
de pseudocdigo para representacin de algoritmos?
17-Cul de los siguientes NO ES una recomendacin de estilo de escritura de
cdigo fuente en Python de acuerdo a la Gua PEP 8?

CUESTIONARIO N4
18-Cules fueron los aportes que realizaron George Boole y Augustus De
Morgan en el campo matemtico del tratamiento de las relaciones lgicas?
19-Cuntas condiciones como mnimo necesita en un programa en Python
para encontrar el menor valor de entre tres variables (sin usar la
funcin min() de la librera estndar)?
20-Por qu motivo debe indentarse (encolumnarse hacia la derecha)
correctamente cada rama de una instruccin condicional en Python?
21-Cul es el efecto del conector and ("y lgico") en una condicin?
22-Cul es el efecto del operador or ("o lgico") en una condicin?
23-En general, una expresin es una frmula en la cual se
usan operadores (como suma, resta, comparaciones, etc.) sobre diversas
variables y constantes (que reciben el nombre de operandos de la
expresin). Son ejemplos vlidos los siguientes: 3 * a + 2, b / c - 4, (7 - r)
/ (4 + a), a > b, x + 2 >= 10.
Es correcta la siguiente definicin?
"Una expresin lgica es una expresin en la cual el resultado final es un
nmero"

CUESTIONARIO N5
24-Cul es el nombre del matemtico, filsofo e informtico terico en cuyo
honor la Association for Computing Machinery (ACM) instituy un premio
anual con su nombre, considerado como el equivalente al Nobel en las
Ciencias de la Computacin?
25-Cul de las siguientes es claramente FALSA respecto de la estrategia de
dividir un problema en subproblemas?

CUESTIONARIO N6
26-Cul de los siguientes es el nombre del sistema de cifrado de mensajes
usado por los alemanes en la Segunda Guerra Mundial, para cuyo
descifrado el Ing. Thomas Flowers dise la famosa mquina Colossus?
27-Cules de las siguientes afirmaciones son verdaderas respecto de la
relacin entre Programacin Estructurada y Programacin Modular? (Ms de
una respuesta puede ser cierta. Marque todas las que considere correctas)
28-Cul es el significado de la sigla IGU (en espaol) en el mbito del diseo
de pantallas y sistema de carga de datos de un programa?

CUESTIONARIO N8
29-Cules de las siguientes afirmaciones son ciertas en cuanto al uso de ciclos
o instrucciones repetitivas en Python? (Aclaracin: ms de una respuesta
puede ser correcta... marque TODAS las que considere vlidas...)

CUESTIONARIO N9
30-En cules de los siguientes casos el algoritmo de divisiones
sucesivas es efectivamente muy lento e imprctico para determinar la
primalidad de un nmero n? (En otras palabras: qu caractersticas debe
tener el nmero n para que el algoritmo caiga en un peor caso o cerca de
un peor caso?) (Observacin: ms de una respuesta puede ser vlida.
Marque todas las que considere correctas)
31-Cules de las siguientes afirmaciones son verdaderas respecto de
la descomposicin en factores primos (o factorizacin) de un nmero n
entero y positivo? (Observacin: ms de una respuesta puede ser vlida.
Marque todas las que considere correctas)
32-Se tiene un nmero entero positivo n de 40 dgitos (n >= 1040) y se quiere
determinar si n es primo aplicando el algoritmo de divisiones
sucesivas visto en la seccin de Temas Avanzados de la Ficha
9 (bsicamente, controlando todo divisor posible en el intervalo [2..n]) Si
nuestra computadora ejecuta unas mil millones de divisiones por segundo
(1000000000 de divisiones por segundo = 109 divisiones por segundo),
cunto tiempo le llevara en el peor caso a esa computadora determinar
si n es primo? (Sugerencia: analice con cuidado la Ficha 9, pgina 215...)

CUESTIONARIO N10
33-Cules de las siguientes afirmaciones son CIERTAS respecto del concepto
de reutilizacin de piezas de softwareen programacin? [Aclaracin: varias
respuestas pueden ser vlidas. Marque todas las que considere correctas]
34-Cules de los siguientes elementos favorecen la reutilizacin de una
funcin? [Aclaracin: varias respuestas pueden ser vlidas.
Marque todas las que considere correctas]

35-Cul es el motivo por el cual la dependencia externa es un problema en


cuanto a las posibilidades de reuso de una funcin?
36-Cul es el motivo por el cual el acoplamiento entre procesos e interfaz de
ususario es un problema en cuanto a las posibilidades de reuso de una
funcin? [Ms de una opcin puede ser vlida... marque todas las que
considere correctas]

CUESTIONARIO N11
37-Suponga que se tiene un paquete en Python llamado soporte, y que ese
paquete contiene cuatro mdulos llamados
respectivamente modelo, persistencia, interfaz y excepciones. Cules de
las siguientes son correctasen relacin al archivo __init__.py del
paquete soporte? (Ms de una puede ser vlida... marque todas las que
considere apropiadas)
38-Determine para que se utilizan los mdulos que existen en la librera
estndar de Python. (os, urllib.request,xml.dom - xml.sax, sys, datetime,
doctest, re)
39-Cul de las siguientes afirmaciones es incorrecta en relacin al concepto
de mdulo en Python, y/o a elementos asociados al uso de mdulos en
Python?

CUESTIONARIO N12
40-Suponga que se quiere plantear una definicin recursiva del concepto
de bosque. Cul de las siguientes propuestas generales es correcta y
constituye la mejor definicin?
41-Cules de las siguientes propuestas generales son ciertas en relacin al
segmento de memoria conocido como Stack Segment?
42-En cules de las siguientes situaciones el uso de recursividad est
efectivamente recomendado? (Ms de una respuesta puede ser vlida.
Marque todas las que considere correctas).
43-Cul de los siguientes era el nombre verdadero del matemtico conocido
como Fibonacci, que fue quien defini la famosa Sucesin de Fibonacci?
44-Cules de los siguientes son factores esenciales a tener en cuenta cuando
se realiza el anlisis de la eficiencia de un algoritmo (por ejemplo, para
efectuar una comparacin de rendimiento entre dos algoritmos que
resuelven el mismo problema)?
45-En la tabla siguiente se muestra un resumen comparativo entre las
versiones iterativa (basada en ciclos) y recursiva del algoritmo de clculo
del trmino n-simo de la Sucesin de Fibonacci. Note que se han dejado sin
completar los casilleros que corresponden al tiempo de ejecucin para
ambos casos.

Clculo del trmino n-simo de Fibonacci


[F(n)]

Complejidad cdigo
fuente

Consumo de memoria

Versin iterativa

Aceptable

Constante (no depende


de n)

Versin recursiva

Optima

Proporcional a n(lineal)

Cul es la estimacin para el tiempo de ejecucin de ambos algoritmos?

CUESTIONARIO N13
46-Cules de las siguientes son CIERTAS en relacin al sistema de
coordenadas de pantalla?
47-En qu universidad estudi, se doctor y form parte de su Academia de
Ciencias el matemtico Wilhelm Ackerman?

CUESTIONARIO N14
48-Cules de las siguientes son caractersticas bsicas y generales de
un registro? (Ms de una respuesta puede ser vlida. Marque todas las que
considere correctas).

CUESTIONARIO N15
49-Cul de las siguientes afirmaciones es CIERTA respecto del uso de ndices
en un arreglo (representado con una variable de tipo list) en Python? Ms de
una respuesta puede ser vlida. Marque todas las que considere correctas.

CUESTIONARIO N16
50-En cules de los siguientes casos es aplicable el algoritmo de bsqueda
binaria en un arreglo? (Seleccione todas las respuestas que considere
correctas)
51-Cul es la idea principal en la que se basa el algoritmo de ordenamiento
de Seleccin Directa que se present en clase? (Suponga que se desea
ordenar el arreglo de menor a mayor).
52-Qu significa decir que un algoritmo dado tiene un tiempo de
ejecucin O(1) (lase: orden uno)?
53-Dado un arreglo de n componentes... qu significa decir que en el peor
caso la cantidad de comparaciones que realiza el algoritmo de bsqueda
secuencial es O(n) (o sea: del orden de n)?
54-Para cada uno de los algoritmos bsicos y/o tcnicas de procesamiento
generales que se indique la expresin en notacin Big O que mejor exprese
el tiempo de ejecucin de ese algoritmo en el peor caso (Multiplicacin de
matrices cuadradas de tamao n*n, Bsqueda binaria en un arreglo ya
ordenado, Bsqueda secuencial en un arreglo, Ordenamiento por seleccin

directa, Ordenamiento rpido Quicksort y Acceso directo a un casillero de un


vector.)
55-Cules de las siguientes afirmaciones con correctas en relacin a conceptos
elementales del anlisis de algoritmos? (Ms de una respuesta puede ser
vlida, por lo que marque todas las que considere correctas).
CUESTIONARIO N18
56-Cul de la siguientes afirmaciones es incorrecta en relacin a las
caractersticas de los arreglos en Python?

CUESTIONARIO N19
57-Una Cola de Prioridad es una cola en la cual los elementos se insertan en
algn orden, pero tal que cuando se pide retirar un elemento se obtiene
siempre el menor de los valores almacenados en la cola Cul de las
siguientes estrategias podra ser una forma bsica de implementar una Cola
de Prioridad en las condiciones aqu expresadas?
58-Cul de las siguientes expresiones describe la forma de trabajo general de
una Cola?
59-Cul es la diferencia entre la abstraccin de datos y la abstraccin
funcional?
60-Suponga que se quiere implementar un nuevo tipo de datos abstracto
llamado Fecha, para permitir la manipulacin de fechas en un programa en
Python para gestin de eventos sociales (casamientos, fiestas de
cumpleos, reuniones de egresados, etc.) Cul de las siguientes est0rategias de abstraccin sera la ms adecuada?
61-Cul de las siguientes expresiones describe la forma de trabajo general de
una Pila?
62-Cul de las siguientes situaciones de programacin es la principal
aplicacin de una Cola?
63-Cul de las siguientes situaciones de programacin es la principal
aplicacin de una Pila?

CUESTIONARIO N20
64-Si se realiza un anlisis preciso del ordenamiento por Seleccin Directa para
un arreglo de n componentes, se llega a la conclusin que ese algoritmo
har n-1 pasadas, con n-1 comparaciones en la primera, n-2 en la segunda,
y as sucesivamente reduciendo de a 1 la cantidad de comparaciones hasta
hacer slo una comparacin en la ltima pasada. Por lo tanto, el algoritmo
har invariablemente una cantidad total de (n2 - n) comparaciones.
Sabiendo esto, cules de las siguientes expresiones son correctas para
describir la cantidad de comparaciones que har el algoritmo, usando
distintos tipos de notaciones? (Tmese un tiempo para analizar la seccin de

temas avanzados de la Ficha 20 antes de contestar...) (Ms de una


respuesta puede ser correcta. Marque TODAS las que considere correctas)
65-Cul es la principal caracterstica de todos los mtodos de ordenamiento
conocidos como mtodos simples o directos?
66-Cules de las siguientes son caractersticas correctas del
algoritmo Shellsort? (Ms de una puede ser cierta... marque TODAS las que
considere vlidas)
67-Cul de los siguientes es el creador del famoso algoritmo de ordenamiento
conocido como Quicksort?
68-Si los algoritmos de ordenamiento simples tienen todos un tiempo de
ejecucin O(n2) en el peor caso, entonces: cmo explica que las
mediciones efectivas de los tiempos de ejecucin de cada uno sean
diferentes frente al mismo arreglo?
69-Se tiene un algoritmo que realiza cierta cantidad de procesos sobre un
conjunto de n datos y un minucioso anlisis matemtico ha determinado
que la cantidad de procesos que el algoritmo realiza en el peor caso viene
descripto por la funcin f(n) = 3n3 + 5n2 + 2n1.5 Cul de las siguientes
expresiones representa mejor el orden del algoritmo para el peor caso?
70-Cules de las siguientes son correctas en cuanto a los tiempos de
ejecucin de los algoritmos de ordenamiento clsicos? (Ms de una puede
ser cierta... marque TODAS las que considere vlidas)
71-Cuntas comparaciones en el peor caso obliga a hacer una bsqueda
secuencial en una lista ordenada (o en un arreglo ordenado) que
contenga n valores?

CUESTIONARIO N21
72-Cul de las siguientes afirmaciones es FALSA respecto de la serializacin
en Python?
73-Cul de las siguientes afirmaciones es CIERTA respecto de la operacin
para obtener el tamao en bytes de un archivo en Python?
74-Cul de las siguientes es claramente falsa respecto de las caractersticas y
propiedades de un objeto para manejar archivos en Python (un file object,
tal como lo crea y lo retorna la funcin open()?
75-Cul de las siguientes es FALSA respecto del file pointer en un file object?
76-Si bien sabemos que todo archivo contiene datos representados en binario
(y en ese sentido, todo archivo es un archivo binario), el hecho es que los
archivos en general se clasifican en archivos binarios y archivos de
texto. Cul es la diferencia entre ambos?
77-Qu ocurre si se intenta leer en un archivo y el file pointer del mismo est
apuntando en ese momento al final del archivo (o sea, al primer byte
ubicado fuera del archivo)?
78-Qu ocurre si en un programa Python se usa el mtodo seek() de un file
object y se salta con ese mtodo a un byte que est ms all del final del
archivo?

CUESTIONARIO N22
79-Cules de las siguientes son ciertas en relacin a un programa de gestin
ABM? (Aclaracin: ms de una respuesta puede ser vlida. Marque todas las
que considere correctas)
80-Cul es la principal ventaja del borrado fsico de un componente en un
archivo?
81-Cul es la principal ventaja del borrado por marcado lgico en un archivo?
82-Si se desea implementar una aplicacin ABM sobre un archivos de
registros, con la intencin de poder hacer seeking y ubicar el file pointer en
forma directa en el byte donde comienza cada registro, cul de las
siguientes opciones indica los principales problemas que se deben
enfrentar?
83-Cul de las siguientes expone correctamente la estrategia general que
debe llevar a cabo un proceso de alta de registros en un archivo,
suponiendo que NO se admiten registros con clave repetida en ese archivo?
84-Cul de las siguientes expone correctamente la estrategia general que
debe llevar a cabo un proceso de baja lgica de registros en un archivo?
85-Cul de las siguientes expone correctamente la estrategia general que
debe llevar a cabo un proceso de modificacin de registros en un archivo?
86-Cul de las siguientes expone correctamente la estrategia general que
debe llevar a cabo un proceso de depuracin fsica de un archivo, para
eliminar efectivamente en ese proceso a todos los registros marcados como
eliminados en ese archivo?
87-Cul de las siguientes expone correctamente la estrategia general que
debe llevar a cabo un proceso de listado completo de los registros de un
archivo, suponiendo que los registros contienen un campo de marcado
lgico para gestionar eventuales bajas lgica?
88-Cul de las siguientes expone correctamente la estrategia general que
debe llevar a cabo un proceso de listado con filtro de los registros de un
archivo, suponiendo que los registros contienen un campo de marcado
lgico para gestionar eventuales bajas lgica?

CUESTIONARIO N23
89-Determine el uso de las siguientes funciones:
Mtodo seek(),Mtodo tell(),Mtodo close(),pickle.dump(),pickle.load(),Mto
do flush() y open().
90-Para cada una de las descripciones de modos de apertura de un archivo que
se indican en la columna de la izquieda, seleccione la cadena de caracteres
usada en Python en la funcin open() para activar ese modo: rb, a+b, rt,
r+t, wb y ab
91-Para cada una de las tres constantes del mdulo io indicadas en la columna
de la izquierda, seleccione su significado : io.SEEK_CUR, io.SEEK_SET,
io.SEEK_END

92-Cul de las siguientes instrucciones en Python insertar el valor de la


variable x exactamente en la casilla nmero 4 del arreglo v, moviendo un
casillero hacia la derecha a todos los elementos que estaban ya en v a
partir de la casilla 4 (incluida) y sin perder a ninguno de ellos? (Suponga
que el arreglo v tiene efectivamente al menos cuatro casilleros).

CUESTIONARIO N24
93-Para cada uno de los mtodos propios de un file object seleccione la
descripcin de su funcionamiento: writable(),
readable(),flush(),truncate(t),writelines(lines) y closed()
94-Cuntos caracteres diferentes pueden representarse usando el
estndar ASCII 7, y cuntos pueden representarse usando ASCII 8?
95-Cules de las siguientes son caractersticas propias del mtodo read(),
contenido en cualquier variable file object usada para manipular un archivo
de texto en Python? (Ms de una respuesta puede ser vlida, por lo que
marque todas las que considere correctas).
96-Cules de las siguientes son caractersticas propias del mtodo readline(),
contenido en cualquier variable file object usada para manipular un archivo
de texto en Python? (Ms de una respuesta puede ser vlida, por lo que
marque todas las que considere correctas).
97-Cules de las siguientes son caractersticas propias del
mtodo readlines() (con una s al final) contenido en cualquier variable file
object usada para manipular un archivo de texto en Python?
98-Cules de las siguientes son caractersticas propias del mtodo write(),
contenido en cualquier variable file object usada para manipular un archivo
de texto en Python? (Ms de una respuesta puede ser vlida, por lo que
marque todas las que considere correctas).
99-Cul de las siguientes no es una forma de codificacin de caracteres para
el estndar Unicode?
100- Cules de las siguientes son ciertas en relacin al procesamiento de
archivos de texto que contienen nmeros, representados como cadenas de
caracteres a razn de un nmero/cadena por cada lnea del archivo? (Ms
de una respuesta puede ser vlida, por lo que marque todas las que
considere correctas).
101- Cul de los siguientes es el inconveniente principal que supone
procesar el mismo archivo de texto endiferentes plataformas (o sistemas
operativos)?
102- Cul de las siguientes es cierta respecto del uso y aplicacin del
mtodo seek() en archivos de texto con Python?

CUESTIONARIO N25
103- Para problema general nombrado,seleccione la estrategia de planteo de
algoritmos que se sabe haya resultado ms til para resolver ese problema,
o bien la que sea que haya podido aplicarse para resolverlo an sin llegar a

una solucin eficiente : Problema de la alineacin de secuencias,


Ordenamiento rpido (Quicksort), Generacin de grficos fractales,
Problema del Viajante, Problema de las Ocho Reinas, Problema del rbol de
expansin mnimo de un grafo.
104- Cules de las siguientes afirmaciones son ciertas en referencia a
las Estrategias de Resolucin de Problemas que se citan? (Ms de una
respuesta puede ser cierta, por lo que marque todas las que considere
correctas...)
105- Considere el problema de las Ocho Reinas presentado en clases. Cules
de las siguientes afirmaciones sonciertas en relacin a
las diagonales inversas del tablero en el cual deben colocarse la reinas,
suponiendo que el tablero es el normal del ajedrez, de 8 * 8? (Ms de una
respuesta puede ser cierta, por lo que marque todas las que considere
correctas...)
106- Considere el problema de las Ocho Reinas presentado en clases. Cules
de las siguientes afirmaciones sonciertas en relacin a las diagonales del
tablero en el cual deben colocarse la reinas, suponiendo que el tablero es el
normal del ajedrez, de 8 * 8? (Ms de una respuesta puede ser cierta, por lo
que marque todas las que considere correctas...)
107- Considere el problema de las Ocho Reinas presentado en clases. Cules
de las siguientes afirmaciones sonciertas en relacin a
las diagonales normales del tablero en el cual deben colocarse la reinas,
suponiendo que el tablero es el normal del ajedrez, de 8 * 8? (Ms de una
respuesta puede ser cierta, por lo que marque todas las que considere
correctas...)
108- Cul de las siguientes afirmaciones es falsa en relacin a las Estrategias
de Resolucin de Problemas (oEstrategias de Planteo de Algoritmos)?
109- Considere el problema del Cambio de Monedas analizado en clases, y
la solucin mediante un Algoritmo vido tambin presentada en clases
Cules de las siguientes afirmaciones son ciertas en relacin al problema y
al algoritmo citado? (Ms de una respuesta puede ser cierta, por lo que
marque todas las que considere correctas...)
110- Considere el problema del Cambio de Monedas analizado en clases, y
la solucin mediante Programacin Dinmica tambin presentada en clases
Cules de las siguientes afirmaciones son ciertas en relacin al problema y
al algoritmo citado? (Ms de una respuesta puede ser cierta, por lo que
marque todas las que considere correctas...)

CUESTIONARIO N26
111- Cules de los siguientes son conocidos algoritmos basados en la
estrategia Divide y Vencers? (Ms de una respuesta puede ser correcta,
por lo que marque todas las que considere vlidas)
112- Cul es la cantidad de niveles del rbol de invocaciones recursivas que
se genera al ejecutar el Quicksort para ordenar un arreglo de n elementos,

en el caso promedio? (Es decir: Cul es la altura de ese rbol en el caso


promedio?)
113- Cul es la cantidad de niveles del rbol de invocaciones recursivas que
se genera al ejecutar el Quicksort para ordenar un arreglo de n elementos,
en el peor caso? (Es decir: Cul es la altura de ese rbol en ese peor caso?)
114- Cul de las siguientes estrategias de obtencin del pivot es la ms
recomendable para evitar que el algoritmo Quicksort se degrade en su peor
caso O(n2) en cuanto a su tiempo de ejecucin?
115- Cul de las siguientes resume en forma correcta la idea general de la
estrategia Divide y Vencers para resolucin de problemas?
116- Cul es la mejora esencial que el algoritmo Quicksort realiza sobre el
algoritmo Bubblesort o Burbuja?
117- Cul de las siguientes situaciones hara que el
algoritmo Quicksort degenere en su peor caso en cuanto al tiempo de
ejecucin, de orden n2?
118- Por qu es considerada una mala idea tomar como pivot al primer
elemento (o al ltimo) de cada particin al implementar el
algoritmo Quicksort?

You might also like