Está en la página 1de 5

TALLER DE VECTORES (Ordenamiento y Búsqueda)

1. Leer el nombre de un estudiante y decir si fue aceptado o no en una Universidad.


Tenga en cuenta que esta universidad tiene un arreglo de N posiciones con los
nombres de los alumnos que fueron admitidos. Hacer este ejercicio con método de
búsqueda secuencial y ordenar el vector con método de burbuja.

2. Desarrolle un algoritmo que lea una cédula y la busque en un vector de X


posiciones donde se encuentran los documentos de identidad de las personas que
pueden votar para elecciones de presidente en el presente año. Imprima si puede
votar o no. Hacer este ejercicio con método de búsqueda secuencial.

3. En un arreglo de 5.800 posiciones están las tarjetas de identidad de los niños que
fueron vacunados en una campaña contra el sarampión el año anterior. Leer la
tarjeta de identidad de un niño e imprimir si puede ser vacunado o no (No se
puede ser vacunado dos veces en tan poco tiempo). Usar el método búsqueda
secuencial.

4. Buscar el nombre de una empresa en un arreglo de N posiciones, donde se


encuentran matriculadas en la DIAN algunas empresas; e imprimir si existe o no y
en qué posición (en caso de encontrarlo). Use búsqueda binaria y el vector ya
está ordenado.

5. En una entidad bancaria se necesita hacer un algoritmo que lea la cédula de un


cliente e imprima si se le puede hacer un préstamo o no. Sólo se le presta a
usuarios que sus cédulas no estén registradas en un arreglos de 25.000.000 de
morosos que hay en DATACREDITO. Por ser un arreglo de gran tamaño use
búsqueda binaria y método de ordenamiento por selección.
6. Leer el título de un libro e imprimir si puede ser prestado a un estudiante o no. En
la biblioteca se tiene un vector con los nombres de los 895 libros que son de
reserva. Usar Búsqueda binaria y ordenar por selección.

7. Desarrolle un algoritmo que lea el NIT de una empresa e imprima “SE LE DEBE
HACER RECONOCIMIENTO NACIONAL”, sólo si este NIT está en un vector de N
posiciones donde están registradas las empresas que obtuvieron los mejores
puntajes según la norma ISO9000. Hacerlo por método de búsqueda secuencial
y ordenar por selección.

8. Leer el nombre de una persona en un vector de 10 posiciones. Si existe imprimir un


mensaje que diga “NO SE PERMITEN NOMBRES REPETIDOS”; de lo contrario
agréguese al vector en la posición 11 del vector (debe redimensionarlo) e imprimir
un mensaje que diga NOMBRE ADICIONADO AL VECTOR”. Realizar búsqueda
binaria y el vector ya está ordenado.

9. Se necesita saber si dentro de un arreglo de 100 posiciones hay un número leído.


Si existe, decir cuántas veces está repetido. Usar búsqueda secuencial.

10. En una universidad se tienen dos arreglos unidimensionales: 1 llamado LÓGICA de


N posiciones y otro INFORMÁTICA de M, con los carne de los alumnos que
perdieron lógica de programación e Informática, respectivamente. Leer el carne de
un estudiante e imprimir si perdió las dos asignaturas, sólo lógica, sólo informática
o ninguna. Hacerlo por búsqueda secuencial y ordenar por burbuja.

11. En un curso de computación, que consta de 24 alumnos, deberán armar un


algoritmo que informe por pantalla el apellido y nombre junto a la nota de examen
de cada alumno.

12. Ingresar valores por teclado y acumularlos en una variable detener el proceso
cuando la suma supere los 78500, al final imprimir el resultado

13. Ingresar 10 valores por teclado y obtener la sumatoria de los mismos. Imprimir los
resultados.

14. Ingresar 10 valores numéricos por teclado y calcular la suma, el promedio e


imprimir la suma, el promedio agregando una leyenda en cada caso.

15. Ingresar 10 valores por teclado y determinar cuántas veces el valor ingresado
es:

A. Mayor a 0 y menor a 10
B. Está comprendido entre 10 y 100 ambos inclusive.
C. Es mayor a 100
D. Es negativo
E. Es igual a 0

Imprimir los resultados.

16. Modificar el anterior para que permita sumar N números. El valor de N se debe leer
previamente por teclado.

17. Realizar el diagrama de flujo para resolver una ecuación de segundo grado,
teniendo en cuenta las soluciones complejas.

18. Hacer un diagrama de flujo para calcular el máximo común divisor de dos números
enteros positivos N y M siguiendo el algoritmo de Euclídes, que es el siguiente:

1. Se divide N por M, sea R el resto.


2. Si R=0, el máximo común divisor es M y se acaba.
3. Se asigna a N el valor de M y a M el valor de R y volver al paso 1.
¿Por qué el método anterior acaba alguna vez? ¿Por qué se calcula el máximo común
divisor de N y M?

19. Hacer un diagrama de flujo para convertir un número decimal N dado por teclado a
binario.

20. Hacer un diagrama de flujo para calcular AB, siendo B un entero, nótese que B
puede ser 0 o negativo. No se pueden emplear logaritmos.

21. Hacer un diagrama de flujo para calcular el máximo de N números leídos por
teclado, se debe realizar de dos formas, una almacenando previamente los
números dados por teclado en un array y la otra calculando el máximo
directamente según se leen los números del teclado.

22. Hacer un diagrama de flujo para ordenar N números leídos por teclado y
almacenados en un array A. El algoritmo es el siguiente:

1. Se lee N y después los N números al array A.


2. Se busca el máximo de los elementos del 1 al N y su
índice J.
3. Se intercambian los elementos A(J) y A(N).
4. Se decrementa N en 1.
5. Se compara N con 1, si es mayor se vuelve a 2.
6. Si es menor o igual se termina.

23. Hacer el organigrama de un programa que dado un array A ordenado de N


elementos, encuentre la posición de uno B leído por teclado. El algoritmo a emplear
es el siguiente:

1. Se fijan los extremos de la porción a buscar: I=1, J=N.


2. Se calcula el índice del elemento medio K=(I+J)/2.
3. Se compara B con el elemento medio A(K).
4. Si es igual se escribe K y se termina.
5. Si es mayor se cambian los extremos a I=K+1, J=N y se vuelve
a 2.
6. Si es menor se cambian los extremos a I=1, J=K-1 y se vuelve a
2.
Pensar después que habrá que modificar para que busque también valores de B
que no estén en el array A, si se da ese caso y no lo encuentra debe poner un
mensaje diciendo que no esta.

24. Hacer un organigrama de un programa que adivine el número entre 1 y 1000


pensado por un humano. El programa debe ir diciendo números y el humano
responderá con los símbolos '<', '>' o '=', según el número pensado sea menor,
mayor o igual que el dicho por el ordenador. Cuando lo adivine deberá poner un
mensaje especificando cuantas preguntas ha necesitado y finalizar. No debe
realizar más de 10 preguntas y debe detectar si el humano le engaña diciéndole
cosas imposibles, por ejemplo es mayor que 4 y menor que 5.

Si en lugar de estar el número de partida entre 1 y 1000 estuviera entre 1 y


1000000, ¿cuantas preguntas serían necesarias?

25. Hacer un organigrama que lea un número N y obtenga las ternas pitagóricas (A, B,
C) en las que A, B y C son todos enteros positivos y menores que N. Para que una
terna (A, B, C) sea pitagórica debe cumplir que A2 +B2 =C2 .

26. Realizar un organigrama para leer por teclado las notas de N alumnos que están
matriculados en M asignaturas, si un alumno no está matriculado de una
asignatura o no se presenta al examen se debe introducir como nota -1. El
programa debe calcular y escribir el número de alumnos presentados a cada
asignatura, la nota media, el número de suspensos, el número de aprobados, el
número de notables y el número de sobresalientes.

También podría gustarte