Sunteți pe pagina 1din 15

Universidad Nacional Experimental de Guayana.

Coordinación de Ingeniería en Informática.


Asignatura: Programación II.
Profesor: Ing. Ronald Pérez.

Ejercicios Básicos
1. Escriba un programa en que dados tres números a, b y c imprima el menor de ellos.

2. Escriba un programa que lea dos números a y b, calcule e imprima su producto,


cociente y el resto cuando el primero se divide por el segundo.

3. Escribir un programa para convertir una medida dada en pies a su equivalente en a)


pulgadas, b) centímetros y d) metros, conociendo que 1 pie = 12 pulgadas, 1 pulgada
= 2.54 cm y 1 m = 100 cm.

4. En una empresa de computadoras, los salarios de los empleados se van a aumentar


según su contrato actual según la siguiente tabla:

Contrato Aumento %

0 a 100.000 Bs. 20

100.001 a 150.000 Bs. 10

150.001 a 300.000 Bs. 05

más de 300.001 Bs. 00

Escribir un programa que solicite el salario actual del empleado, calcule y


visualice el nuevo salario.

5. Escriba un programa para hallar las raíces de una Ecuación de Segundo Grado. Se
deben leer los valores de los coeficientes a, b y c.

6. Escriba un programa que dado un precio de un producto y una cantidad para pagarlo,
calcule la cantidad de monedas y billetes (vuelto a devolver). Monedas: 1, 2, 5, 10,
20, 50, 100, 500, Billetes: 1.000, 2.000, 5.000 y 10.000 Bs. Considere que debe de
darse la menor cantidad de billetes y monedas.

7. Escriba un programa que determine el monto a pagar por una llamada telefónica,
teniendo en cuenta lo siguiente: Toda llamada que dure hasta 3 minutos tiene un
costo de 25 Bs. Por cada minuto adicional se cobra una tarifa de 22,50 Bs. Se debe
leer el tiempo de llamada.

8. Escriba un programa que lea una secuencia de números enteros y calcule el mayor,
menor y el promedio de la secuencia. La secuencia termina cuando se ingresa el
número cero (El cero no es tomado en cuenta).

9. Escriba un programa que dado tres números enteros indique cual es el mayor, el menor
y el intermedio.

10. Escriba un programa que dados tres números y que los imprima en orden ascendente.
Universidad Nacional Experimental de Guayana.
Coordinación de Ingeniería en Informática.
Asignatura: Programación II.
Profesor: Ing. Ronald Pérez.

11. Escriba un programa que calcule la suma de la Serie Armónica. La serie está definida
de la siguiente manera: 1 + 1/2 + 1/3 +...+ 1/n. El valor de n será suministrado
por el usuario.

12. Escriba un programa que encuentre los factores divisibles mínimos de un número
(Descomposición del Número en sus Factores Primos Mínimos).

13. Escriba un programa que encuentre el primer valor de n para el cual la siguiente
suma excede a un valor x: 1 + 2 + 3 +...+ n. Por Ejemplo: Para un X = 10, el n que
exceda a 10 es 5, porque 1 + 2 + 3 + 4 + 5 = 15.

14. Escriba un programa que dado un número n, determine si este es par o impar.

15. Escriba un programa para determinar la cantidad de dígitos que tiene un número
entero positivo dado.

16. Escriba un programa para determinar la cantidad de dígitos diferentes que tiene un
número entero positivo dado.

17. Escriba un programa que dado un carácter car, determine si este es una vocal o no.

18. Escriba un programa que dado un carácter car, determine si este es un dígito entre
'0' ... '9'.

19. Escriba un programa que imprima los 100 primeros números naturales y la suma de los
mismos.

20. Escriba un programa que multiplique dos números por medio de sumas sucesivas.

21. Escriba un programa que divida dos números por medio de restas sucesivas.

22. Escriba un programa que calcule el MCD (máximo común divisor) de dos números por el
algoritmo de Euclides.

23. Escriba un programa que dado dos números enteros a y b realice la operación de
b
potencia a .

24. Escriba un programa para determinar si un valor n es un número primo.

25. Escriba un programa que permita la impresión de los primeros N números primos.

26. Escriba un programa que dado dos números x y n, permita calcular la suma de la
2 n
progresión geométrica: 1 + x + x +...+ x .

2 3 n
27. Escriba un programa que permita calcular la serie: 1/2 + 2/2 + 3/2 +...+ n/2 .

28. Escriba un programa que determine si un valor n es un número perfecto. Un número


perfecto es un entero positivo, que es igual a la suma de todos los enteros
positivos (excluido el mismo) que son divisores del número. Ejemplo: 6 es un número
perfecto, ya que 1+2 + 3 = 6.
Universidad Nacional Experimental de Guayana.
Coordinación de Ingeniería en Informática.
Asignatura: Programación II.
Profesor: Ing. Ronald Pérez.

29. Escriba un programa que lea una secuencia de caracteres y determine el número de
vocales leídas. La secuencia terminará cuando se lea el carácter punto (.). La
lectura debe hacerse con la función READKEY provista por Turbo Pascal.

30. Escriba un programa que lea una frase e imprima cada palabra y su tamaño o longitud
en líneas diferentes. El texto es leído carácter a carácter y finaliza cuando se
ingrese el carácter punto (.).

31. Escriba un programa que lea un Texto y cuenta la frecuencia de un carácter n. La


secuencia terminará cuando se lea el carácter punto (.).

32. Escriba un programa que lea una frase en una variable string y sustituya todas las
secuencias de dos o más blancos por un sólo blanco y visualice la frase obtenida.

33. Escriba un programa que realice la lectura de un Texto (carácter por carácter) e
indique la cantidad de palabras que tienen más de 10 caracteres, donde las palabras
pueden ser separadas por uno o más espacios en blancos.

34. Escriba un programa que permita determinar si una palabra es palíndrome.

35. Escriba un programa que determine si un año es bisiesto. Un año es bisiesto si es


múltiplo de 4, excepto los múltiplos de 100 que no son bisiestos salvo que a su vez
también sean múltiplos de 400 (1800 no es bisiesto, 2000 sí).

36. Escriba un programa que permita calcular el factorial de un número n.

37. Escriba un programa que dado un número entero positivo produzca el número invertido.

38. Escriba un programa que permita verificar si un número entero es capicúa (Similar al
concepto de palíndrome pero en las cadenas de caracteres).

39. Escriba un programa que permita contar el número de caracteres de una cadena de
texto ingresada por teclado. La secuencia terminará cuando se lea el carácter punto
(.).

40. Escriba un programa que dada una cadena de fecha en el formato "dd mm aaaa" devuelva
su correspondiente en texto. Ejemplo: Para la fecha "17 11 1998" el valor en texto
es "17 Noviembre 1998".

41. Escriba un programa que cuente el número de veces que cada vocal se repite en un
texto. El texto debe leerse carácter a carácter y finaliza al encontrar el carácter
punto (.).
Universidad Nacional Experimental de Guayana.
Coordinación de Ingeniería en Informática.
Asignatura: Programación II.
Profesor: Ing. Ronald Pérez.

Ejercicios de Funciones y
Procedimientos
1. Escriba una rutina que reciba un carácter y determine si este es una vocal.

2. Escriba una rutina que permita verificar si un número n es par o impar.

3. Escriba una rutina que permita intercambiar los valores de dos variables a y b
(enteras o reales) sin usar una variable temporal.

4. Escriba una función lógica que reciba un carácter y determine si este es un dígito
de '0'..'9'.

5. Escriba una rutina que reciba como parámetro una cadena cad y una variable ch de
tipo char. La función devolverá la posición de la primera ocurrencia de ch en cad.

6. Escriba una rutina que reciba como parámetro una cadena cad y una variable ch de
tipo char. La función devolverá la posición de la última ocurrencia de ch en cad.

7. Escriba una rutina que reciba una cadena de caracteres y devuelva la cadena
invertida.

8. Escriba una rutina que reciba una letra y devuelva la correspondiente en mayúsculas.
Debe validarse si el carácter recibido no es una letra minúscula, en cuyo caso se
devuelve el mismo carácter.

9. Escriba una rutina que reciba una cadena cad y devuelva los caracteres de cad en
mayúsculas.

10. Escriba una rutina que reciba una cadena cad y devuelva los caracteres de cad en
minúsculas.

11. Escriba una rutina que permita concatenar dos cadenas de caracteres.

12. Escriba una rutina que reciba dos cadenas, cad1, cad2 y una posición p. La función
retorna la posición de la primera ocurrencia de cad1 en cad2 a partir de la posición
p.

13. Escriba una rutina que permita eliminar una secuencia de caracteres dentro de un
string a partir de una determinada posición, un número determinado de dígitos o
caracteres.

14. Escriba una rutina que permita remplazar una secuencia de caracteres dentro de un
string n veces, pero la sustitución se realiza en forma inversa, desde el final
hasta el inicio del string.
Universidad Nacional Experimental de Guayana.
Coordinación de Ingeniería en Informática.
Asignatura: Programación II.
Profesor: Ing. Ronald Pérez.

15. Escriba una rutina que devuelva la palabra más larga de un texto y la cantidad de
palabras leídas. El texto debe leerse carácter a carácter y finaliza al encontrar el
carácter punto (.). Las palabras están separadas por uno o más blancos.

16. Escriba una rutina que reciba una secuencia de caracteres cad y retorne la cadena de
caracteres sin espacios en blanco a la izquierda del string. Por ejemplo: ' Hola',
debe retornar: 'Hola'.

17. Escriba una rutina que reciba una secuencia de caracteres cad y retorne la cadena de
caracteres sin caracteres en blanco a la derecha del string. Por ejemplo: 'Hola ',
debe retornar: 'Hola'.

18. Escriba una rutina que reciba una secuencia de caracteres cad y retorne la cadena de
caracteres sin caracteres en blanco tanto a la izquierda como a la derecha del
string. Por ejemplo: ' Hola ', debe retornar: 'Hola'.

19. Escribir una rutina que utilice un procedimiento para convertir coordenadas
rectangulares a polares. La única función que retorna el arco del ángulo en Pascal
es el ArcTan(Tan( )) y el valor resultante se encuentra expresado en Radianes.
Radianes = Grados * 3,141503658 / 180.
P(x,y)
r
x = r * cos( )

y = r * sen( )

20. Escribir una rutina que calcule el Factorial de un número n dado.

21. Escribir una rutina que calcule I-ésimo elemento de la Serie Fibbonacci.

22. Escribir una rutina que indique si un número es primo o no.

23. Escribir una rutina que calcule el I-ésimo elemento de los número primos.

24. Escribir una rutina para verificar si un año es bisiesto.

25. Escribir una rutina que permita eliminar una secuencia de caracteres dentro de un
string a partir de una determinada posición, un número determinado de dígitos o
caracteres.
Universidad Nacional Experimental de Guayana.
Coordinación de Ingeniería en Informática.
Asignatura: Programación II.
Profesor: Ing. Ronald Pérez.

Ejercicios de Vectores
1. Escriba un programa que cuente el número de veces que cada letra del abecedario se
repite en un texto. El texto debe leerse carácter a carácter y finaliza al encontrar
el carácter punto (.).

2. Escriba un programa que cuente el número de veces que cada dígito numérico
('0’..'9') se repite en un texto. El texto debe leerse carácter a carácter y
finaliza al encontrar el carácter punto (.).

3. Escriba un programa que cuente el número de veces que cada vocal se repite en un
texto. El texto debe leerse carácter a carácter y finaliza al encontrar el carácter
punto (.).

4. Escriba una función que cuente las palabras de (n) letras que haya en un texto. El
texto debe leerse carácter a carácter y finaliza al encontrar el carácter punto (.).
Las palabras están separadas por uno o más blancos.

5. Escriba un programa que lea una secuencia de números enteros, calcule el promedio,
así como el elemento mínimo y máximo de la secuencia.

6. Escriba una función que verifique si un número entero es capicúa. Un número capicúa
es aquel que al invertirse es igual al número original. Nota: Usar Arreglos.

7. Escriba una función que verifique si dos vectores de (n) y (m) enteros
respectivamente son disjuntos, es decir que difieren a lo menos en un valor. Los
vectores no se encuentran ordenados.

8. Escriba una función que reciba un vector de números reales y lo invierta.

9. Escriba una función que reciba un vector de números enteros que puede contener
elementos duplicados. La función debe sustituir cada valor repetido por -5.

10. Escriba un programa que lea (n) números enteros y los vaya ordenando en forma
ascendente en un arreglo, mientras los va leyendo (Ordenación Por Inserción).

11. Escriba una función que reciba dos vectores de números reales A y B ordenados
ascendentemente y los ordene en otro vector C (Ordenación por Mezcla).

12. Escriba un programa que lea un arreglo A de (n) elementos enteros y luego un número
k. Si k = 1 ordenar A descendentemente, si k > n ordenar A ascendentemente y si 1 <
k < n ordenar en forma creciente los primeros k elementos y en forma decreciente los
restantes.

13. Escriba una función que realice una búsqueda secuencial de una valor (x) en un
vector de números enteros. La función debe retornar la posición en el vector si el
Universidad Nacional Experimental de Guayana.
Coordinación de Ingeniería en Informática.
Asignatura: Programación II.
Profesor: Ing. Ronald Pérez.

valor (x) fue encontrado o -1 de lo contrario. El vector se encuentra ordenado en


forma decreciente.

14. Escriba una función que reciba un vector de números enteros y lo ordene por el
método de Burbuja en forma ascendente.

15. Escriba una función que reciba un vector de números enteros y lo ordene por el
método Shell en forma ascendente.

16. Escriba una función que realice una búsqueda binaria de una valor (x) en un vector
de números enteros. La función debe retornar la posición en el vector si el valor
(x) fue encontrado o -1 de lo contrario. El vector debe encontrarse ordenado en
forma creciente.
Universidad Nacional Experimental de Guayana.
Coordinación de Ingeniería en Informática.
Asignatura: Programación II.
Profesor: Ing. Ronald Pérez.

Ejercicios de Matrices
1. Escriba una función que reciba dos matrices A y B de números reales de dimensiones M
x N, realice la suma de estas dos matrices y la almacene en una matriz C resultante.

2. Escriba una función que verifique si una matriz de dimensión M x N de números


enteros es simétrica.

3. Escriba un programa que verifique si una matriz cuadrada de números enteros es


mágica, en caso de no serlo listar la suma de cada una de sus filas y columnas, así
como de sus diagonales principales. Una matriz mágica es aquella en que la suma de
cada una de sus filas, columnas y diagonales tienen el mismo valor.

4. Escriba una función que calcule todos los puntos de silla de una matriz de dimensión
M x N. Un punto de silla es el máximo de su fila y el mínimo de su columna.

5. Escriba una función que verifique si una matriz de enteros de dimensión M x N es


triangular superior. Una matriz triangular superior es aquella en la cual todos los
elementos situados bajo su diagonal principal son cero.

6. Escriba una función que reciba dos matrices A y B de números reales, realice la
multiplicación de estas dos matrices y la almacene en una matriz C resultante.

7. Escriba una función que reciba una matriz de números enteros de dimensión M x N y
verifique cual es mayor en valor absoluto, si la suma de los elementos situados en
la parte superior de la diagonal principal o la suma de los elementos situados en la
parte inferior de la diagonal principal.

8. Escriba una función que reciba una matriz de números reales de dimensión M x N, y
devuelva la suma de los elementos de la diagonal principal.

9. Escriba una función que reciba una matriz de números reales de dimensión M x N, y
devuelva la suma de los elementos de la diagonal secundaria.

10. Escriba una función que calcule el determinante de una matriz de números enteros de
dimensión M x N.

11. Escriba un programa que sustituya los números perfectos de una matriz de números
enteros de dimensión M x N por el menor número primo que encuentre mayor que el.

12. Escriba un programa que calcule la traspuesta de una matriz de números enteros de
dimensión M x N.

13. Escriba un programa que calcule la inversa de una matriz por el siguiente método:

a) Calcular el valor del determinante de la matriz, si el determinante es cero, no


se puede construir la inversa.
Universidad Nacional Experimental de Guayana.
Coordinación de Ingeniería en Informática.
Asignatura: Programación II.
Profesor: Ing. Ronald Pérez.

b) Hallar la matriz traspuesta.

c) Sustituir cada elemento de la traspuesta por su adjunto, teniendo en cuenta el


signo.

d) Dividir la matriz obtenida por el determinante hallado en el punto a).

14. Escriba un programa que tome las (n) primeras palabras de un texto ingresado por
teclado carácter a carácter, las ordene en forma ascendente y las imprima. Las
palabras han de tener 40 caracteres como máximo.

15. Escriba un programa en Pascal que dada una matriz de números enteros, imprima la
suma de sus componentes cuya suma de subíndices sean par e impar respectivamente.
Universidad Nacional Experimental de Guayana.
Coordinación de Ingeniería en Informática.
Asignatura: Programación II.
Profesor: Ing. Ronald Pérez.

Ejercicios de Registros
(Estructuras)
1. Diariamente, durante la temporada de béisbol, aparece en el periódico una tabla
similar a la siguiente:

Equipo Ganados Perdidos Puntos Puntos Primer Lugar


A 95 59 617 0.0
B 91 65 583 5.0
C 84 70 545 11.0
D 81 74 523 14.5
Donde Juegos Primer Lugar = ((G1 - P1) - (G2 - P2)) / 2
Puntos = (Juegos Ganados / Juegos Perdidos) * 1000
Se desea que Ud. diseñe una estructura de datos en "Pascal" que permita almacenar
dichos datos. Además se pide realizar un programa que actualice y ordene la tabla si
los datos de entrada son el resultado de un juego entre dos equipos.

2. Una compañía disquera organiza una encuesta para determinar el éxito de sus
canciones. La población encuestada es dividida en cuatro categorías de acuerdo al
sexo y a la edad (Por ejemplo: en personas de 20 años o menos y mayores de 20 años).
A cada persona se le piden sus cinco canciones favoritas, las canciones son
identificadas por números del 1 al N. Los resultados de la encuesta son tomados de
la entrada estándar. Cada elemento leído representa un encuestado y contiene su
nombre, apellido, sexo, edad, cedula y sus cinco canciones favoritas en orden de
preferencia. Se desea que Ud. diseñe una estructura de datos en "Pascal" para
almacenar dicha información.

3. Una compañía dedicada al transporte de pasajeros por vía aérea, desea contratar sus
servicios con el fin de automatizar el proceso de reservación de sus vuelos. Para
ello Ud. deberá definir una estructura de datos en "Pascal" que permita almacenar
dicha información. Además se solicita que realice un programa que permita:

(a) Reservar un asiento en un vuelo.

(b) Cancelar una reservación.

(c) Confirmar una reservación.

4. En una ciudad se conocen los siguientes datos de los ciudadanos: Nombres, Apellidos,
Edad, C.I., Sexo, Si es Sexo Masculino se conoce si tiene pies planos o no, Estado
Civil, Nacionalidad, Si es masculino se conoce si presto o esta prestando
actualmente el Servicio Militar, etc. Se desea que Ud. diseñe una estructura de
datos en "Pascal" para almacenar esta información. Además se pide un programa que
permita las siguientes operaciones:
Universidad Nacional Experimental de Guayana.
Coordinación de Ingeniería en Informática.
Asignatura: Programación II.
Profesor: Ing. Ronald Pérez.

(a) Listar toda la población que puede votar en las próximas elecciones.

(b) Listar aquellos ciudadanos que pueden prestar servicio militar.

5. El comando de campaña del candidato X, requiere hacer una clasificación por sexo de
un grupo de encuestados de la siguiente manera: A medida que se ingresan los datos
se almacenan en dos pilas (una para el sexo femenino y otra para los de sexo
masculino), luego se ordenan por popularidad cada una de las pilas y se imprimen.
Sobre cada encuestado se conoce la siguiente información: Nombre, Apellido, Fecha de
Nacimiento. Sexo y un número del 0 al 10 que indica la popularidad del candidato. Se
desea que Ud. diseñe una estructura de datos en "Pascal" para almacenar esta
información, además del programa que resuelve tal situación.

6. Diseñe una estructura de datos y un programa en "Pascal", para almacenar y manejar


respectivamente la información concerniente a los resultados de los exámenes
integrales. El programa debe ser capaz de:

(a) Tomar como entrada los nombres de los alumnos, C.I., Carrera e información de
los objetivos evaluados (Aprobado, No Aprobado).

(b) Producir un listado de aquellos alumnos que aprobaron la materia, tomando en


cuenta un mínimo de tres objetivos, incluyendo el objetivo de aprobación
obligatoria.

7. El Banco LATIN BANK, desea automatizar todas sus operaciones bancarias. Por tal
razón desea contratar sus servicios, con la finalidad que Ud. diseñe una Estructura
de Datos en "Pascal" que permita manejar de una manera fácil y eficiente todas sus
operaciones considerando los siguientes requerimientos:

(a) El banco maneja básicamente tres (3) tipos de cuentas (aunque su modelo deberá
permitir muchos más): cuentas de ahorro, corrientes y de activos líquidos;
además por cada una de ellas deberá llevarse la tasa de rendimiento
correspondiente.

(b) Para cada uno de los clientes se deberá conocer la siguiente información: Número
de la Cuenta, Tipo de Cuenta, Nombre, Dirección, Teléfono, Saldo en la Cuenta,
Cédula de Identidad, etc.

(c) Deberá existir un registro de todas las transacciones realizadas por el Banco:
Código de la Transacción, Fecha de la misma, Número de Cuenta Involucrada, Monto
en Bolívares y el Número de la caja donde fue realizada.

Con el modelo diseñado, programe lo siguiente:

(a) Obtener todos los clientes con Cuenta Corriente, ordenados alfabéticamente en
orden creciente.
Universidad Nacional Experimental de Guayana.
Coordinación de Ingeniería en Informática.
Asignatura: Programación II.
Profesor: Ing. Ronald Pérez.

(b) Mostrar todas las transacciones que involucraron a la cuenta de ahorros


010101088 desde el día 15-01-94 al 01-02-94.

(c) El cajero encargado de la caja 3, desea realizar su cuadre de caja para el día
actual de trabajo. Para ello desea obtener la siguiente información:

Todos los cheques cobrados.

Todos los depósitos realizados.

8. En un instituto existen N alumnos. La información de cada alumno está compuesta por


su nombre, apellido, curso y año de nacimiento. En el instituto existen 8 cursos
diferentes. Se desea que Ud. diseñe una estructura de datos en "Pascal" para
mantener dicha información. Además se pide que realice un programa que indique
cuantos alumnos han nacido en cada año y cuantos hay en cada curso. Los años de
nacimiento van desde 1972 hasta 1980 inclusive.

9. Se dispone de un vector de registros con los siguientes campos: nombre, cédula, edad
y sueldo. Escriba un programa que calcule cuantas personas ganan menos que alguna
otra de menor edad, dando como salida una estructura donde se encuentre el nombre de
cada una de ellas, junto a la persona de menor edad que ella, que gane más dinero.

10. Diseñe una estructura de datos para manejar la información de la empresa CLONE
COMPUTER C.A. la cual tiene su centro de operaciones en Puerto Ordaz, pero además
posee filiales en N ciudades de Venezuela. En cada empresa que pertenece a la cadena
CLONE COMPUTER existen M empleados divididos en cinco (5) categorías diferentes.
Además cada empresa posee un inventario de elementos de computación.

11. Se requiere hacer una clasificación de un grupo de 50 beisbolistas de manera, que a


partir de sus estadísticas y tomando en cuenta ciertos criterios produzcamos una
lista donde aparezcan en orden de calidad los mencionados deportistas.

Sobre cada jugador se conoce la siguiente información: nombre, fecha de Nacimiento,


país de Origen, peso (Kg), estatura (Mts), si batea a la derecha o a la izquierda,
si lanza a la derecha o a la zurdo, equipo en el que juega en las grandes ligas y
posición habitual en el campo.

Además si el jugador es "pitcher" se proporcionarán las siguientes estadísticas:


entradas lanzadas (IP), bases por bolas concedidas (BB), ponchados (K), carreras
limpias permitidas (CL), juegos ganados (G) y juegos perdidos (P). Si el jugador no
es "pitcher" (sólo interesa el bateo), se proporcionarán los siguientes datos: veces
al bate (VB), hits (H), jonrones (HR), triples (3H), dobles (2H), carreras anotadas
(CA), carreras impulsadas (CI) y bases robadas (BR).

Se desea que Ud. diseñe una estructura de datos en "Pascal" que permita almacenar
dicha información, con la finalidad de obtener una lista de los "mejores" jugadores
(Bateadores y Pitchers) del grupo de 50.
Universidad Nacional Experimental de Guayana.
Coordinación de Ingeniería en Informática.
Asignatura: Programación II.
Profesor: Ing. Ronald Pérez.

NOTA:

Promedio Bateo = (H / VB) * 100 / Efectividad Pitchers = (CL * 9) / IP

Pilas y Colas
1. Escriba un programa que A-Pile dos pilas en otra pila resultante.

2. Escriba una rutina que intercambie dos pilas.

3. Escriba una rutina que vacie una pila en otra.

4. Escriba una rutina para concatenar dos colas en una resultante.

5. Escriba una rutina para invertir una cola.

6. Escriba una rutina para copiar una cola en otra.

7. Defina una estructura de datos y las operaciones básicas de una bi-pila. Una bi-pila
es una estructura que comparten un único arreglo para almacenar c/u de sus elementos
y las inserciones y supresiones se realizan en cada uno de sus extremos. Alguna de
ambas pilas podrá ocupar la totalidad de la estructura.

8. Defina una estructura que soporte la simulación de "COLA-PILA" y escriba las rutinas
básicas para su operación.

NOTA : Se debe manejar un parámetro que indique la forma en que se comporta la


estructura en un momento dado.
Universidad Nacional Experimental de Guayana.
Coordinación de Ingeniería en Informática.
Asignatura: Programación II.
Profesor: Ing. Ronald Pérez.

Archivos
1. Escriba un programa que dado un archivo de texto, cree otro con los caracteres de
cada línea invertidos.

2. Escriba un programa que dado un archivo de texto, almacene las líneas impares en un
archivo y las líneas pares en otro.

3. Escriba un programa que permita concatenar dos archivos de números enteros.

4. Escriba un programa que permita mezclar dos archivos de números enteros, los cuales
se encuentran ordenados en forma ascendente en cada archivo.

5. Escriba un programa que copie un archivo de caracteres en otro, cambiando los


caracteres en minúsculas a mayúsculas.

6. Escriba un programa que lea un archivo de enteros y encuentre el elemento máximo,


mínimo y promedio.
Universidad Nacional Experimental de Guayana.
Coordinación de Ingeniería en Informática.
Asignatura: Programación II.
Profesor: Ing. Ronald Pérez.

Recursividad
1. Escriba una rutina recursiva que verifique si una palabra es palíndrome.

2. Escriba una rutina recursiva que invierta un arreglo de números enteros.

3. Escriba una rutina recursiva que imprima en forma invertida los dígitos de un número
entero.

4. Escriba una rutina recursiva que invierta una cadena caracteres.

5. Escriba una rutina recursiva que calcule los (n) primeros números de la serie de
Fibonacci.

6. Escriba una rutina recursiva que calcule el factorial de un número entero (n).

7. Escriba una rutina recursiva que encuentre el máximo común divisor (mcd) de dos
números a y b. a y b son enteros mayores que 0.

8. Escriba una rutina recursiva que calcule la media aritmética de un vector de números
reales.

9. Escriba una rutina recursiva que realice una búsqueda binaria (dicotómica) de un valor
(x) dentro de un vector ordenado en forma creciente de números enteros.

10. Escriba una rutina recursiva que verifique la formula de Cassini para un entero (n)
mayor que 1. La formula de Cassini es:

2 n
fn+1 * fn-1 - (fn) = (-1) donde fn es el enésimo número de la Serie de Fibonacci.

11. Escriba una rutina recursiva que reciba dos enteros a y b tales que a, b >= 1 y
calcule la división entera de dichos números.

12. Escriba una rutina recursiva que sume los (n) primeros números enteros positivos.

13. Escriba una rutina recursiva que permita contar la cantidad de dígitos que tiene un
número entero positivo.

S-ar putea să vă placă și