Guia Ejercicios Basicos  Programacin Ii 1
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Guia Ejercicios Basicos Programacin Ii 1

  • 21,859 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
21,859
On Slideshare
21,859
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
241
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Universidad Católica Andrés Bello Extensión Guayana Facultad de Ingeniería Ingeniería en Informática DE EJERCICIOS Carrera: Ingeniería Informática Elaborado por: Ing. Julio César Canelón Rangel Asignatura: Algoritmo y Programación II Ejercicios Básicos: 1. Escriba un programa que dado tres números a, b y c imprima el menor de ellos. 2. Realice 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. Escriba un programa que convierta una medida dada en pies y lo transforme en: a) yardas, b) pulgadas, c) centímetros y d) metros, conociendo que 1 pie = 12 pulgadas, 1 pulgada = 2,54cm y 1 yarda = 3 pies. 4. Escriba un programa que permita hallar las raíces de una Ecuación de 2do grado. Se deben leer los coeficientes a, b y c. 5. 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, 1000. Billetes: 2000, 5000, 10000, 20000 y 50000. Considere que debe darse la menor cantidad de billetes y monedas. 6. Escriba un programa que determine el monto a pagar por una llamada telefónica, teniendo en cuenta lo siguiente: Toda llamada que dure hasta 5 minutos tiene un costo de Bs. 250. por cada minuto adicional se cobrará bs. 50. Se debe leer el tiempo de la llamada. 7. 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. 8. Escriba un programa que dado tres números los imprima en orden ascendente. 9. Escriba un programa que calcule el valor de n para el cual la siguiente suma excede a un valor x: 1 + 2 + 3 + 4 +… + n. Por ejemplo para un X = 20, el n que excede es n = 6, porque 1 + 2 + 3 + 4 + 5 + 6 = 21. 10.Escriba un programa que dado un número n determine si es par o impar. 1
  • 2. Universidad Católica Andrés Bello Extensión Guayana Facultad de Ingeniería Ingeniería en Informática 11.Escriba un programa que dado un carácter determine si este es una vocal o no. 12.Escriba un programa que imprima los 100 primeros números naturales y la suma de los mimos. 13.Escriba un programa que determine los primeros n números primos, comenzando de un número x. Se debe leer x y n. 14.Realice un programa que dado un carácter determine si este es un digito entre '0'.. '9'. 15.Escriba un programa que multiplique dos números por medio de sumas sucesivas. 16.Escriba un programa que divida dos números por medio de restas sucesivas. 17.Escriba un programa que cuente el número de cifras o dígitos de un valor entero positivo. 18.Escriba un programa que dado dos números enteros a y b realice la operación de potencia ab. 19.Escriba un programa que permita calcular la suma de la progresión geométrica: 1 + x + x2 + … + xn. 20.Escriba un programa que permita calcular la serie: 1/2 + 2/22 + 3/23 + … + n/2n 21.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í). 22.Escriba un programa que determine que si un número entero es capicúa. (número que se escribe igual al derecho y al revés). No use cadenas. 23.Escriba un programa que permita hallar el factorial de un número n. 24.Escriba un programa que lea un entero positivo y produzca el número invertido. 25.Escriba un programa que dada una cadena de fecha en el formato “dd mm aaaa” devuelva su correspondiente en texto. Ej.: Para 12 03 1998 el valor en texto es “12 de marzo de 1998”. 26.Una persona desea invertir su dinero en un banco, el cual le otorga un 3% de interés mensual. ¿Cuál será la cantidad de dinero que esta persona tendrá al cabo de n meses, si la ganancia de cada mes es reinvertida. 27.Un supermercado hace una promoción, mediante la cual el cliente obtiene un descuento dependiendo de un número que se escoge al azar. Si el número escogido es menor que 74 el descuento es del 15% sobre el total de la compra, si es mayor o igual a 74 el descuento es del 2
  • 3. Universidad Católica Andrés Bello Extensión Guayana Facultad de Ingeniería Ingeniería en Informática 20%. Imprimir cuánto es el subtotal, el descuento y el total a pagar. 28.Escriba un programa que lea un número entero n mayor a cero que identifica una cantidad de segundos, y calcule e imprima el número de horas, minutos y segundos contenidos en ella. Ejemplo: Para n = 15723 se debe imprimir 4 horas, 22 minutos y 3 segundos. 29.Escriba un programa que dada una hora en formato de hh:mm:ss determine cuál será el tiempo dentro de 1 segundo. 30.Escriba una función que reciba un número entero (base binaria) y devuelva su equivalente en base decimal. Ejemplo para n = 11010 se debe retornar 26. No es necesario el uso de cadenas de carácter. CADENAS 31.Escriba una función que reciba una cadena de caracteres y devuelva su longitud. 32.Escriba una función que reciba una cadena de caracteres y la retorne sin ningún espacio en blanco. 33.Escriba una función que reciba una cadena de caracteres y retorne la misma en mayúscula. Utilice la tabla ASCII. 34.Escriba una función que reciba una cadena de caracteres y la retorne invertida. 35.Escriba una función que reciba una cadena de caracteres y un char. La función deberá devolver la posición de la primera ocurrencia del char. 36.Escriba una función que reciba una cadena de caracteres y un char. La función deberá devolver la posición de la última ocurrencia del char. 37.Escriba una función que reciba dos cadenas de caracteres. La función deberá devolver una cadena producto de la concatenación de las dos cadenas recibidas. 38.Escriba una función que permita eliminar una secuencia de caracteres dentro de una cadena recibida por parámetro a partir de determinada posición p y un número determinado de dígitos. 39.Escriba un programa que determine si una palabra es palíndroma. (se escribe igual al derecho y al revés). 40.Escriba un programa que determine si una secuencia de caracteres recibida por teclado contiene vocales, el número de cada una de ellas. La secuencia terminará cuando se lea el carácter punto (.). La lectura debe hacerse con la función READKEY de Turbo Pascal. 3
  • 4. Universidad Católica Andrés Bello Extensión Guayana Facultad de Ingeniería Ingeniería en Informática 41.Escriba un programa que lea una frase e imprima cada palabra y su tamaño en líneas diferentes. 42.Escriba un programa que lea un texto y cuente la frecuencia de un carácter n. la secuencia terminará cuando se lea el carácter punto (.) o se llegue al final de cadena. 43.Escriba un programa que lea una frase y sustituya todas las secuencias de dos o más espacios en blanco juntos y por uno solo blanco y visualice la frase modificada. 44.Escriba un programa que lea una frase y visualice cuantas palabras contiene la misma. 45.Escriba una rutina que reciba una cadena de caracteres y devuelva el carácter que se repite con mayor frecuencia. VECTORES 46.Escriba un programa que cuente el número de veces que cada letra del abecedario se repite en un texto. 47.Escriba una función que cuente las palabras de (n) letras que haya en un texto. Cada palabra se debe almacenar en una posición de un vector de char. 48.Escriba un programa que lea una secuencia de números enteros, calcule el promedio, así como el elemento mínimo y máximo. 49.Escriba una función que reciba dos vectores y determine si son disyuntos, es decir que por lo menos difieren en un valor. Los vectores no se encuentran necesariamente ordenados. 50.Escriba una función que reciba un vector de números enteros y lo invierta. 51.Escriba una función que reciba un vector de números enteros y asigne cero (0) a los valores duplicados. 52.Escriba un programa que lea (n) números enteros y los valla ordenando en forma ascendente en un arreglo, mientras los va leyendo (ordenación por inserción). 53.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). 54.Escriba una función que reciba un arreglo A de (n) elementos enteros y también reciba un número entero 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. 4
  • 5. Universidad Católica Andrés Bello Extensión Guayana Facultad de Ingeniería Ingeniería en Informática 55.Realice una función que realice una búsqueda secuencial de un valor x en un vector de números enteros. La función debe retornar la posición en el vector si el valor de x fue encontrado o -1 de lo contrario. El vector se encuentra ordenado en forma decreciente. 56.Escriba una función que reciba un vector de números enteros y lo ordene por el método de la burbuja en forma ascendente. 57.Escriba una función que realice una búsqueda binaria de un valor x en un vector de números enteros. La función deberá retornar la posición en el vector si el valor de x existe en el mismo o -1 si no es encontrado. El vector se encuentra ordenado de forma creciente. MATRICES 58.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 matrices y la almacene en una matriz C resultante. 59.Escriba una función que verifique si una matriz M x N de números enteros es simétrica. 60.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 donde la suma de cada una de sus filas, columnas y diagonales tienen el mismo valor. 61.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. 62.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 donde todos los elementos situados bajo la diagonal principal son cero. 63.Escriba una función que reciba dos matrices A y B de números reales, realice la multiplicación de estas dos matrices y almacene en una C resultante. 64.Escriba una función que reciba una matriz de números enteros de dimensiones 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. 65.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. 5
  • 6. Universidad Católica Andrés Bello Extensión Guayana Facultad de Ingeniería Ingeniería en Informática 66.Escriba una función que reciba una matriz de números reales de dimensiones M x N y devuelva la suma de la diagonal secundaria. 67.Escriba un función que calcule la transpuesta de una matriz. 68.Escriba un programa que dada una matriz de números enteros, imprima la suma de sus componentes cuya suma de subíndices sea par e impar respectivamente. ESTRUCTURAS 69.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. 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, cédula y sus cinco canciones favoritas en orden de preferencia. Se desea que diseñe una estructura de datos para almacenar dicha información. 70.Una compañía dedicada al transporte de pasajeros 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 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. 71.En una ciudad se conocen los siguientes datos de los ciudadanos: Nombres, Apellidos, Edad, C.I., Sexo, Estado Civil, Nacionalidad. Si el sexo es masculino se conoce si tiene pies planos o no y si ha prestado servicio militar. Se desea que diseñe una estructura de datos para almacenar esta información. Además se pide un programa que permita las siguientes operaciones: a) listar toda la población que puede votar en las próximas elecciones, b) listar aquellos ciudadanos que pueden prestar servicio militar. 72.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 cada sexo), luego se ordenan por popularidad y cada una de las pilas 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 6
  • 7. Universidad Católica Andrés Bello Extensión Guayana Facultad de Ingeniería Ingeniería en Informática diseñe una estructura de datos para almacenar esta información, además del programa que resuelva la situación. 73.Diseñe una estructura de datos y un programa para almacenar y manejar respectivamente la información concerniente a los resultados de los exámenes parciales de una materia. Se asume que la materia es acumulativa y son tres exámenes parciales (30 – 30 y 40). El programa debe ser capaz de: a) tomar como entrada los nombres de los alumanos, C.I. y Nota de cada parcial; b) producir un listado de aquellos alumnos que aprobaron y otro listado los que no aprobaron (aprobatoria 45% de la nota total). 74.El Banco LAKY desea automatizar todas sus operaciones bancarias. Por tal razón desea contratar sus servicios y realice un programa que permita manejar de una manera fácil y eficiente todas sus operaciones considerando los siguientes requerimientos: A) el banco maneja tres tipos de cuentas (aunque el modelo deberá de permitir muchos más): cuenta de ahorros, corriente y activos líquidos; además por cada una de ellas deberá llevarse la tasa de rendimiento correspondiente. B) para cada uno de los clientes deberá conocer la siguiente información: número de cuenta (20 dígitos), C.I., Nombres, Apellidos, Tipo de Cuenta, Dirección, Teléfono. C) deberá existir un registro de todas las transacciones realizada por el banco: Código de la transacción, fecha, número de cuenta involucrada, monto en bs. Y el número de la caja donde fue realizada. Con el modelo diseñado programe lo siguiente: (a) Obtener todos los clientes de un tipo de cuenta especificado por teclado, ordenado alfabéticamente en orden creciente o decreciente, según sea la solicitud; (b) Mostrar todas las transacciones que involucraron a un Número de Cuenta desde y hasta una fecha determinada; (c) Una opción que permita a un cajero realizar el cierre de caja, para ello deberá especificar el número de caja y la fecha para obtener el total de cheques o efectivo cobrados y los depósitos realizados. 75.Un instituto de educación posee N alumnos. La información de cada alumno está compuesta por: Nombre, Apellido, Curso y Año de Nacimiento. En el instituto existen 8 cursos diferentes. Se desea que diseñe e implemente una estructura de datos y un programa que permita mantener la información y pueda indicar cuántos alumnos pertenecen a cada curso y permita listarlos de forma ascendente. 76.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 7
  • 8. Universidad Católica Andrés Bello Extensión Guayana Facultad de Ingeniería Ingeniería en Informática 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. 77.Diseñe una estructura de datos para manejar la información de la empresa Y2K 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 existen M empleados divididos en 5 categorías diferentes. Además cada empresa posee un inventario de equipos informáticos. 78.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. 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 izquierda, si lanza a la derecha o izquierda, equipo en que juega en las grandes ligas y posición habitual de campo. Si el jugador es “Pitcher” se proporcionarán las siguientes estadísticas: entradas lanzadas (IP), bases por bolas concedidas (BB), ponches (K), carreras limpias permitidas (CL), juegos ganados (G), 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 diseñe un estructura de datos que permita almacenar de forma eficiente dicha información con la finalidad de obtener una lista de los mejores jugadores (Bateadores y Pitcher) del grupo. Promedio de Bateo = (H / VB) * 100 Efectividad Pitcher = (CL * 9) / IP. ARCHIVOS 79.Escriba un programa que dado un archivo de texto, cree otro con los caracteres de cada línea invertidos. 80.Escriba un programa que dado un archivo de texto, almacene las líneas impares en un archivo y las líneas pares en otro. 81.Escriba un programa que permita concatenar dos archivos de números enteros. 82.Escriba un programa que permita mezclar dos archivos de números enteros, los cuales se encuentran ordenados en forma ascendente en cada archivo. 8
  • 9. Universidad Católica Andrés Bello Extensión Guayana Facultad de Ingeniería Ingeniería en Informática 83.Escriba un programa que copie un archivo de caracteres en otro, cambiando los caracteres en mayúscula a minúscula. 84.Escriba un programa que lea un archivo de enteros y encuentre el elemento máximo y el elemento mínimo.- 9