P. 1
Ejercicios de Programacion o Asignaciones

Ejercicios de Programacion o Asignaciones

|Views: 16.161|Likes:

More info:

Published by: Brayan Garzon Martinez on Aug 15, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

11/18/2015

pdf

text

original

Profesores Colaboradores

Lcdo. Rubén Cova

Lcdo. David Licet

Lcdo. Luis Rigual

Lcdo. Gregorio Ruiz

Lcda. Rosemigd Mago

Lcda. Nakary Ortega. MSc

Ing. Leonardo Malavé. MSc

Lcdo. Aníbal Torres

Lcda. Lisblein Arismendi

TSU Christian Hernández

TSU Osman Pineda

TSU Edinson González

TSU Rodolfo Ortíz

TSU Víctor Uzcategui

Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 2

Índice
Página Objetivo 1.- Arreglos, Cadenas de Caracteres, Rutinas de 4 Ordenamiento y Rutinas de Búsqueda Objetivo 2.- Funciones y Recursividad Objetivo 3.- Punteros o Apuntadores Objetivo 4.- Estructuras Objetivo 5.- Archivos 16 25 32 40

Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 3

Objetivo 1.- Ejercicios Propuestos de Arreglos, Caracteres, Ordenamiento y Búsqueda
1. Elabore un programa en C que lea en una lista, una serie de números enteros, calcule la media de los n números e indique cuantos de los números dados son iguales a la media.

2. Escribir un programa que lea 5 números y los guarde en un arreglo, luego pida un nuevo número e indique si este se encuentra dentro del arreglo y en que posiciones

3. Escribir un programa que lea dos vectores de igual dimensión y calcule el vector suma y el vector diferencia. Suponga que ambos arreglos tienen dimensión n, la salida debe ser los arreglos procesados.

4. Escribir un programa que lea un conjunto de n valores y cree dos arreglos, uno que contenga los números pares y otro que contenga los números impares.

5. Elabore un programa que lea 2 arreglos de n elementos cada uno e intercambie sus elementos, la salida debe ser los arreglos antes y después del intercambio.

6. Escribir un programa que lea una lista de valores y construya dos arreglos, uno con los que están dentro del intervalo (a, b), donde a y b son números dados, y otro con los valores que estén fuera del intervalo, la salida debe ser el arreglo original y los arreglos creados, si no hay elementos dentro y fuera del arreglo debe decirlo.

7. Diseñe un programa que lea una serie de nombres de un curso determinado y sus respectivas notas, luego cree 2 arreglos solo con

Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 4

El programa debe imprimir los dos arreglos. Diseñe un programa que lea un vector x de n elementos y construya otro vector que contenga al vector x comprimido.Objetivo 1. una palabra es palíndromo si se lee de igual forma en ambos sentidos. el vector unión y el vector intersección.. Elabore un algoritmo que lea un arreglo de caracteres y determine si la frase es un palíndromo. Diseñe un programa que lea un vector x de n elementos y construya otro vector que contenga al vector x en orden inverso. que no existan elementos iguales. Elabore un programa que cargue un arreglo con 15 números de cédulas. Uno que contenga los nombres de los alumnos aprobados y otro con los alumnos reprobados. Se debe mostrar los dos arreglos originales. 8. 11. es decir. En caso de que no exista debe ser agregado a la lista. 12. Elabore un programa que dados dos arreglos a y b de m y n elementos respectivamente realice la intersección y la unión en forma de conjunto. Una orquesta está formada por n músicos. Si la persona introduce un número de cédula y ya existe en el vector se debe emitir un mensaje diciendo: “Usted ya fue inscrito”. Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 5 . Caracteres. 13. para luego determinar cual de las personas es más vieja y cual es más joven. 9. se debe imprimir el nombre de la persona con su respectiva edad. éstos no deben estar repetidos. escribir un programa que lea dos vectores nombre y edad. Ordenamiento y Búsqueda los nombres. 10.Ejercicios Propuestos de Arreglos. Una vez cargado el vector debe imprimirlo.

A. Si la cédula a buscar no existe escribir el mensaje “persona no pertenece a la empresa”. 19. Al finalizar la búsqueda se debe imprimir cuantas cédulas pertenecían a la empresa y cuantas fueron búsquedas fallidas. Elabore un programa que cargue 2 matrices de orden 2x2 c/u y calcule el producto de ambas matrices en una matriz c.Objetivo 1. Se deben utilizar 4 arreglos adicionales para: almacenar los días de la semana. 16. Elabore un programa en C que lea las temperaturas que se han presentado durante las 24 horas en una determinada semana y se debe calcular la media de las temperaturas por cada día. 17. almacenar los nombres de los tres vendedores. Almacenar las ventas totales semanales de cada vendedor y los totales de las ventas diarias.. Elabore un programa en C que cargue en una matriz de 3x7 el número de zapatos vendidos por tres vendedores cada día de la semana. Elabore un programa que permita realizar búsquedas en un vector con los números de cédulas de 20 personas que pertenecen a la empresa: ZTA C. 15. Se deben calcular los totales vendidos por cada vendedor durante la semana y los totales vendidos por día en la zapatería.Ejercicios Propuestos de Arreglos. Se van a hacer búsquedas hasta que el usuario lo desee. Caracteres. Ordenamiento y Búsqueda 14. 18. El juego se basa en adivinar las posiciones donde el enemigo posee sus Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 6 . Elabore un programa en C que permita cargar 2 matrices de orden 4x4 y que haga la suma de las matrices almacenando el resultado en una matriz C. Elabore un algoritmo donde se simule el juego de la guerra.

Leyenda Nombre col campo Descripción Total de columnas fil Nombre Descripción Total de filas Matriz de posiciones. 3 barcos y 2 tanques.. Cada armamento está representado por una letra: A aviones. totbarcos tottanques totaviones fallo maxfalla i j perdio Total de barcos 3 Total de tanques 2 Total de aviones 5 Total de fallas del jugador Máxima de fallas del jugador. A cada persona se le pregunta: Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 7 . barcos 300 puntos y aviones 100 puntos. Si el jugador adivina todo el armamento se indica un mensaje que GANO y se muestra el total de puntos acumulados. Caracteres. Ordenamiento y Búsqueda equipos de guerra (barcos. El jugador indica la posición (fila y columna) donde desea realizar su disparo. El campo de batalla es un área de 5 filas y 10 columnas. Si falló 5 veces se envía un mensaje que PERDIÓ y se señalan el total de puntos acumulados. B barcos . Subíndice de las filas Subíndice de las columnas. hasta un máximo de 5. el encuestador realizará encuestas mientras lo desee o hasta encuestar un máximo de 100 personas.Ejercicios Propuestos de Arreglos. Se poseen en total: 5 aviones.Objetivo 1. El jugador juega contra la computadora. señaladas por el jugador. El jugador tiene 5 oportunidades para adivinar todo el armamento enemigo. T tanques y una X posición vacía. si existe algún armamento gana los puntos de dicho armamento. que representa un fallo en el disparo. Elabore un algoritmo donde se realicen encuestas a las personas de Cumaná. si no existen armamentos se van acumulando sus fallos. Mensaje indicando que perdio Matriz que corresponde al campo mat_pos de batalla. Cada armamento de guerra posee una puntuación: tanques 500 puntos. aviones y tanques) y destruírselos. ptobarcos ptotanques ptoaviones cantbarcos cantanques cantaviones totpuntos gano Total puntos de barcos 300 Total puntos de tanques 500 Total puntos de aviones 100 Cantidad de barcos descubiertos Cantidad tanques descubiertos Cantidad aviones descubiertos Total de puntos acumulados Mensaje indicando que gano 20.

f. YA FUE ENCUESTADO”. Caracteres.f.=si. calcular e imprimir cuantas mujeres son menores de 20 años.Ejercicios Propuestos de Arreglos. buscando el número de cédula entre las personas ya encuestadas. Leyenda Nombre tam t_enc sexo_p nombre_p cedula_p mensaje repetida Descripción Tamaño máximo del vector Total encuestados Sexo persona encuestada Nombre persona encuestada Cédula de persona encuestada Mensaje “ya fue encuestado” Nombre i j k vcedula vnombre vsexo Descripción Subíndice de la lista Subíndice de eliminación Subíndice de cedulas eliminadas Vector de cedulas Vector de nombres Vector de sexo Vector de edad Switch que indica si la cedula está vedad repetida .v. y el porcentaje de hombres con edad comprendida entre 30 y 40 años con respecto al total de encuestados.=no elimina (no usamos) pos Switch que indica si el valor se debe vced_eli eliminar .. Finalizada la encuesta elimine de la lista todas las personas mayores de 60 años y coloque. .Objetivo 1. Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 8 . Una vez eliminados los mayores de 60 años.=si. edad y sexo. . Si la cédula existe debe imprimir un mensaje indicando “UD. .v. Las lista de encuestados debe ser cargada insertando los valores ordenados (ascendente) por número de cédula.=no Posición donde se insertan o se cmujmen elimina los valores Vector cédulas eliminadas Cantidad de mujeres menores de 20 años Chom3040 Cantidad de hombre con edad Porhom3040 entre 30 y 40 años Porcentaje de hombres con edad entre 30 y 40 años resp Respuesta continuar a la pregunta desea inserta Switch que indica si el valor se debe insertar . Los datos de entrada deben ser validados. Ordenamiento y Búsqueda nombre.=si . sólo. El encuestador debe chequear que no encueste a la misma persona.f.v. Imprima la lista de encuestados y la lista de los números de cédulas de personas mayores de sesenta años. sus números de cédula en otro vector.=no 21. cédula. Elaborar un algoritmo que cargue un vector de números de 50 elementos y encuentre la suma de ellos e imprima los elementos del vector y la suma calculada.

Caracteres. 25. 27. 23. B y C de M elementos (M<15) y cree un vector NUEV de tres elementos.Ejercicios Propuestos de Arreglos. Elaborar un algoritmo que cargue dos vectores de números de N elementos cada uno (N< 20). Si se elimina el elemento las posiciones de los elementos dentro del vector se deben reorganizar. tipo de sangre y cédula de identidad de cada persona. El algoritmo debe determinar si el elemento a eliminar se encuentra en el vector de ser así se elimina de lo contrario se imprime un mensaje de falla. Elabore un algoritmo que cargue tres vectores A. Crear otro vector con la multiplicación de los elementos respectivos de los vectores leídos e imprimir los tres vectores. Se tiene un vector de números de N elementos y se desea reemplazar por cero (0) los elementos impares del vector. Ordenamiento y Búsqueda 22. Diseñe un algoritmo para solucionar este problema.Objetivo 1. donde cada elemento guarde la suma de todos los elementos de cada vector. En caso de encontrarse se debe indicar cuantas veces aparece dicho valor dentro del vector. Cantidad de personas (máximo 20). Elaborar un algoritmo para clasificar personas según su tipo de sangre. Se pide un reporte que imprima las cédulas de identidad de todos los donantes. 26.. Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 9 . 24. Para ello se dispondrá de la siguiente información. Elabore un algoritmo que cargue un vector X de números de 10 elementos y lea un valor CLAVE y averigüe si el valor CLAVE se encuentra o no dentro del vector X. Diseñe un algoritmo que cargue un vector de números de N elementos (máximo 15) y que elimine un elemento dado. clasificadas por tipo de sangre.

Se tienen dos vectores. Elabore un algoritmo que cargue un vector de N(N<10) elementos. Dichos elementos se encuentran ordenados de menor a Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 10 . 31. que cargue un vector de números de 15 elementos y averigüe el modo (si existe) o de una indicación de que el modo no existe. Escriba un algoritmo. El modo de un vector de números es él numero m del arreglo que se repite con mayor frecuencia. 29. 33. Luego lea un valor X cualquiera y lo inserte dentro del vector A en tal forma que se mantenga el orden ascendente. Ordenamiento y Búsqueda 28. Uno de ellos con N elementos y el otro con M elemento. Imprima el vector actualizado. 32..Ejercicios Propuestos de Arreglos. Imprima el o los subíndices que identifican el o los elementos anteriores y su(s) valor(es) correspondientes. Elabore un algoritmo que lea un vector A de N elementos(N<15) que se encuentre ordenado en forma ascendente. Si A ya tiene un elemento que iguale al valor a insertar no haga la inserción. no existe un modo. Lea y escriba los N elementos de un vector A. Determine el o los elementos de la mitad del vector A.Objetivo 1. Si se repite más de un número con frecuencias máximas iguales. Caracteres. Elabore un algoritmo que lea e imprima un numero entero y positivo N. Luego ordene los elementos del vector de mayor a menor e imprima el vector ordenado. 30. Elabore un algoritmo que cargue un vector de números de N elementos y obtenga e imprima el mayor y el menor elemento de dicho vector con sus respectivas posiciones.

La suma de los elementos de la ultima fila y al suma de los elementos de la última columna. Elabore un algoritmo que lea una matriz cuadrada NxN(N<10) calcule la suma de los elementos de la diagonal principal de la matriz. Un tablero de Damas es una matriz de 8 filas por 8 columnas. Nota: El procedimiento consiste en intercalar los dos vectores antes mencionados. Por intersección se entiende que INT va a contener copias de aquellos valores que son comunes a A y B. Un tres (3) representa ausencia de ficha. de lo contrario imprima el valor del numero leído y un mensaje que diga “ No se encuentra dentro de la matriz”.Objetivo 1. chequee si ese numero existe en algún elemento del arreglo leído. Un uno (1) representa la presencia de una ficha roja en el tablero. Caracteres.Ejercicios Propuestos de Arreglos. Suponga que no existen valores duplicados dentro de los vectores A y B. Se requiere calcular: • El numero de fichas rojas. Luego forme un nuevo vector INT cuyos elementos comprenden la intersección de los conjuntos definidos por A y B. 37. Elabore un algoritmo que cargue dos vectores A y B de 5 y 7 elementos respectivamente. por lo tanto el algoritmo NO debe ordenar vectores 34. Se pide formar otro vector de N + M elementos el cual contendrá los elementos de los otros dos vectores ordenados de menor a mayor. Un dos (2) representa la presencia de una ficha negra en el tablero. Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 11 . 36. Ordenamiento y Búsqueda mayor en ambos vectores. 35. Luego lea un numero. Imprima las tres sumas. si es así.. imprima los subíndices que identifican la ubicación del elemento que contiene el valor del numero leído. Elabore un algoritmo para solucionar este problema. Elabore un algoritmo que lea una matriz de 10 filas y 8 columnas.

N)*B(N.j) + A(i.j) + .j). Número total de fichas. Elabore un algoritmo para calcular e imprimir la transpuesta de A. El producto de dos matrices con elementos A(i. + A(i.j) y B(i. 40.Objetivo 1. Lea todos los elementos de una matriz Z de N filas y N columnas.j) = A(i. M<15) y forme un vector con los números pares que se encuentren en la matriz leída.Ejercicios Propuestos de Arreglos.. Calcule la suma de los elementos de la diagonal secundaria de Z.2)*B(2. C(i. Ordenamiento y Búsqueda • • • El numero de fichas negras. Calcule la suma de los elementos de la diagonal principal de Z. Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 12 . Caracteres. La transpuesta de una matriz es otra matriz formada intercambiando las fila y las columnas de la primera lea una matriz A de M filas y N columnas(N<M<15). 42. . Elabore un algoritmo que lea una matriz de N filas y M columnas (N<10. Imprima las sumas calculadas. Suponiendo que el número de columnas de la matriz A y el numero de filas de la matriz B son ambos iguales a N. Elabore un algoritmo que lea un numero entero y positivo N(N<10). . Diseñe un algoritmo para solucionar este problema 38.1)*B(1. Elaborar un algoritmo para calcular el producto de dos matrices que cumplan con las condiciones antes señaladas y que además imprima la matriz resultante. 39. Imprima el vector resultante.j) es una tercera matriz 41. Previamente se debe cargar la matriz.

. 44. por ejemplo. Ordenamiento y Búsqueda 43. la matriz identidad del mismo orden y la matriz aumentada. Elabore un algoritmo que dada una matriz de N filas por N columnas que debe ser leída. Por ejemplo la matriz identidad de orden es: 1 0 0 0 0 1 0 0 1 45. colocada a su derecha. si la matriz dada es: 1 5 3 7 y la matriz identidad del mismo orden es: 1 0 0 1 entonces la matriz aumentada es: 1 3 1 0 5 7 0 1 Elabore un algoritmo que lea una matriz cuadrada de orden N(N<7) e imprima la matriz leída.Ejercicios Propuestos de Arreglos. La matriz identidad es una matriz cuadrada en la cual los elementos de la diagonal principal tienen valor igual a uno (1) y todos los demás elementos son iguales a cero (0). Caracteres. Los elementos deben quedar en forma descendente por filas dentro de la matriz. Ordene los elementos de esa matriz de mayor a menor.. del mismo orden.Objetivo 1. Cualquiera matriz cuadrada de orden N puede aumentarse por medio de una matriz identidad . Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 13 .

en un registro que contiene el código del trabajador. El total de horas trabajadas por todos los hombres en toda la obra. N trabajadores de la construcción laboran durante M días en cierta obra. se debe elaborar un algoritmo que dependiendo del número de candidatos y del número de municipios se cuenten los votos y se den a conocer los resultados tomando en cuenta las siguientes especificaciones: Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 14 .. a cada hombre se le guarda. Ordenamiento y Búsqueda 46. a cada elemento del arreglo corresponde una fila de la matriz. El código del trabajador que más horas laboró y el número del día en que más horas laboró dicho trabajador. Caracteres.Ejercicios Propuestos de Arreglos. El total de horas trabajadas en cada jornada.00 7:30 8:00 10:00 Día 2 9:00 9.00 9:40 7:00 6:50 … … … … … … Día M 8:00 9. Al final de cada jornada.50 8:30 8:00 5:00 Día 3 7:30 7. donde en su orden respectivo. Al terminar la obra se tendrá la siguiente información: Codigo del Trabajador 120 128 221 300 Codigo N Día 1 8:50 8. el numero de horas trabajadas durante la jornada. El algoritmo debe calcular e imprimir lo siguiente: El total de horas trabajadas por cada hombre.Objetivo 1. 47.00 7:20 7:30 8:20 Diseñe un algoritmo que lea los datos anteriores teniendo en cuenta lo siguiente: Los números de identificación (códigos) se almacenaran en un vector y las horas laboradas en una matriz. Para automatizar el proceso de elecciones de gobernador de un estado cualquiera.

Caracteres. Si ningún candidato recibe más del 50 % de los votos se debe imprimir el nombre de los candidatos más votados que pasarán a la segunda vuelta..Ejercicios Propuestos de Arreglos.Objetivo 1. DISTRITO CANDIDATO1 CANDIDATO2 CANDIDATO3 TOTAL DISTRITO 300 700 320 TOTAL DE VOTOS: 1320 1 2 3 TOTAL CANDIDATO 150 300 100 550 100 50 120 270 50 350 100 500 Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 15 . Ordenamiento y Búsqueda • • Se debe leer el número de candidatos a participar en las elecciones y el número de municipios en que se divide el estado. Se debe tomar en cuenta una estructura similar a la siguiente para la elaboración del algoritmo. • • Si algún candidato recibe más del 50 % de los votos debe declararse como ganador. Se debe calcular e imprimir los totales de los votos recibidos por cada candidato y el porcentaje de votos emitidos. • Se debe calcuar e imprimir el total de votantes por cada municipio y el total de votantes. así mismo visualizar el candidato mas votado. Usar arreglos bidimensionales.

excepto la diagonal principal que debe llenarse con 1. 3. D (derecha) y F (fin) para terminar. En un tablero de ajedrez. columna o diagonal que ella. A continuación. 6.Objetivo 2. que por medio de funciones.. Escribir un programa. B (abajo). Escribir un programa mediante funciones que realice las siguientes tareas: i. el usuario debe poder desplazar el carácter pulsando las letras A (arriba). El problema de las n reinas es posicionar n reinas en un tablero de n*m. Escribir un programa que lea una cadena de hasta diez caracteres que representa a un número en numeración romana e imprima el formato del número romano y su equivalente en numeración arábiga. que solicite del usuario un carácter y que sitúe ese carácter en el centro de la pantalla. 2. permita llenar una matriz cuadrada de ceros. de modo que ninguna reina pueda atacar a ninguna otra.Ejercicios Propuestos de Funciones y Recursividad 1. Determinar el número de días de un mes y año dados. la reina puede atacar cualquier pieza que esté en la misma fila. 5. Escriba una función que calcule cuántos puntos de coordenadas enteras existen dentro de un triángulo del que se conocen las coordenadas de sus tres vértices. Devolver el valor del día de la semana en respuesta a la entrada de la letra inicial (mayúscula o minúscula) de dicho día. Escribir un Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 16 . 4. ii. Escribir un programa en base a funciones. I (izquierda).

que por medio de funciones. El programa debe controlar las restricciones de los índices de las matrices para las operaciones que lo requieran.Objetivo 2. que visualice un calendario de la forma: L 6 13 20 27 M 7 14 21 28 M 1 8 15 22 29 J 2 9 16 23 30 V 3 10 17 24 S 4 11 18 25 D 5 12 19 26 13. 10. haciendo uso de funciones. El usuario indica únicamente el mes y el año. resuelva este problema y permita visualizar el resultado por pantalla. 12. Realice un programa que permita calcular la inversa de una matriz. El programa debe sumar. Escribir un programa. 7. que por medio del uso de funciones. cada número es la suma de los dos números situados encima de él.Ejercicios Propuestos de Funciones y Recursividad programa. La fórmula que permite conocer el día de la semana correspondiente a una fecha es: Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 17 . permita visualizar el triángulo de Pascal con una altura dada por el usuario: 1 1 1 1 1 1 1 6 5 15 4 10 20 3 6 10 15 2 3 4 5 6 1 1 1 1 1 1 En el triángulo de Pascal. restar y multiplicar dos matrices. Escribir un programa. Escriba un programa que use funciones y menús para trabajar con matrices. 11..

m=mes. Restantes meses: n= a + 31 * (m-1) + d . Realice un programa que determine el mayor de 3 números enteros.(4*m + 23) div 10 + a div 4 . el cual calcule el área de un rectángulo. Escribir un programa que contenga una función que reciba como parámetro un número y devuelva como resultado un valor de tipo lógico que indique si el número es o no par. Realice un programa en C. 15. permita leer 3 números enteros y los imprima de forma ascendente. Realice un programa. y permita a través de funciones.) 14. sabiendo que la fórmula para calcular dicha área es la siguiente: Área del rectángulo = Base*Altura 16. Nota: n mod 7 indica el día de la semana (1=lunes. El usuario podrá escoger la operación que desee realizar luego de haber introducido los dos números. 17. 2= martes. d=día. etc..(3*(a div 100 + 1)) div 4. Debe emplear funciones. el cual contenga una función que lea dos números flotantes. restarlos y multiplicarlos.Ejercicios Propuestos de Funciones y Recursividad Meses de enero o febrero: n= a + 31 *(m-1) + d (a-1) div 4 – 3 * ((a+99) div 100) div 4. (Las comparaciones deben estar dentro de una función) 18. que por medio de funciones. Escribir un programa. sumar los dos números. Donde a=año.Objetivo 2. Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 18 .

21.Objetivo 2. Escribir un programa que contenga una función que reciba como parámetro dos números y devuelva como resultado un valor de tipo lógico que indique si el primer número es múltiplo del segundo. Escribir un programa que contenga una función que reciba los valores de x y n como parámetros de entrada y devuelva el valor de x a la n como salida. 24.Ejercicios Propuestos de Funciones y Recursividad 19. recibiendo un número primo mayor que uno. si se invoca siguiente (7). Escribir un programa que contenga una función de nombre Siguiente tal que. Escribir un programa que contenga una función que imprima la pirámide 1 121 12321 1234321 La declaración de la función será la siguiente: void piramide (int niveles) Siendo niveles el numero de filas de la pirámide 22. Por ejemplo. la función devolverá el numero 11. y) de un punto del plano y devuelva como resultado un numero del 1 al 4 que indique el cuadrante al cual pertenece al punto (no considere los ejes de coordenadas). Escribir un programa que contenga una función que reciba como parámetros las dos coordenadas cartesianas (x. 23. minutos y segundos y devuelva como resultado un 1 o un 2 Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 19 .. devuelva el numero primo inmediatamente siguiente y superior a dicho numero primo. Escribir un programa que contenga una función que reciba como parámetros de entrada dos instantes de tiempo expresados en horas. 20.

Pint max.1 1 10 102 103 104 105 10% 5% 0 1 2 3 4 5 Negro Marrón Rojo Naranja Amarillo Verde 2% Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 20 .01 0.Ejercicios Propuestos de Funciones y Recursividad según el primer instante de tiempo sea anterior al segundo o viceversa 25. Pint min. int x2. Escribir un programa que contenga una función void maxmin (int x1. que reciba como parámetro de entrada un carácter y devuelva un valor lógico true si dicho carácter es una letra del alfabeto. de ambos números. Escribir un programa que contenga una función cuyo prototipo es: bool esLetra (char c). 27. 26. Pint max. respectivamente. Las resistencias electrónicas suelen ir identificadas por un código de colores que permite marcar cada resistencia con su valor (en Ohmios.. Modificar la función anterior para que calcule también el valor medio de ambos números. que reciba como parámetros de entrada dos numeros enteros x1 y x2 y devuelva a través de los parámetros de salida max y min el máximo y el mínimo. Pint media). El nuevo prototipo de la función será ahora el siguiente: void maxmin (int x1. y false en caso contrario. int x2. W) y su Tolerancia (en %). Pint min).Objetivo 2. Este código de colores viene representado en la siguiente tabla: Dígito Color Ninguno Plata Oro Multiplicador Tolerancia 20% 0. 28.

Plata y Ninguno tomarán los valores 10.Objetivo 2. 10% Según todo lo anterior: • Implemente una función que permita calcular la resistencia y la tolerancia de una resistencia. El subprograma tendrá. cada resistencia está marcada con 4 bandas y cada una de ellas puede ser de diferente color. 2% Rojo-Rojo-Marrón-Plata 220W. tienen los siguientes valores de resistencia y tolerancia: Verde-Azul-Amarillo-Oro 560kW. La tercera banda es un valor por el que se multiplicará el número obtenido por las bandas anteriores. y que indicarán el color de las bandas según la columna "Dígito". es decir. 11 y 12 respectivamente. no puede ser de cualquier color.Ejercicios Propuestos de Funciones y Recursividad 6 7 8 9 Azul Violeta Gris Blanco 106 107 El código que suele emplearse en las resistencias es un código de 4 colores. 5% Rojo-Negro-Rojo-Rojo 2kW. 11 y 12). Los colores Oro. obtenemos el valor de la resistencia en Ohmios (W). que serán números naturales. como mínimo. como puede verse en la tabla. sabiendo los códigos de colores. La cuarta banda indica la tolerancia de la resistencia y. • Implementar una función que muestre por pantalla el dígito que le corresponde a cada color (incluyendo los dígitos 10. según la columna "Dígito" de la tabla.. Cada banda tiene un significado. 4 argumentos. Una vez multiplicados ambos valores. que depende de cada color: Las primeras 2 bandas indican un número de 2 dígitos: Esos dos dígitos vienen dados por el color de esas bandas. Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 21 . Ejemplo: Unas resistencias con los siguientes colores.

. Intente modificar la función para que posibilite llegar a un término mayor utilizando datos de tipo long double. la siguiente 1 y a partir de la tercera llamada devolverá la suma de los dos valores anteriores: 1. Calendario Perpetuo: Este ejercicio por objetivo averiguar el día de la semana del 1 de Enero de cualquier año posterior a 1582. El programa se repetirá indefinidamente hasta que lea un valor negativo como color de una banda.Ejercicios Propuestos de Funciones y Recursividad Implementar también un programa que pida los colores de las 4 bandas y muestre los valores devueltos por la anterior función. 6 y 8 de Diciembre (día de la Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 22 . 29. O sea. 5. 30. 34. 21. 8. 13. El programa mostrará el calendario del mes elegido de forma tradicional. El programa deberá remarcar de alguna forma los días festivos: Todos Domingos y algunas fiestas especiales 28 de Febrero (día de Andalucía). una para cada día de la semana y teniendo en cuenta el número de días de cada mes. es decir. 1 de Mayo (día del trabajo). 2. Hacer una función sin argumentos que cada vez que se llame Fibb devuelva el siguiente valor de la sucesión de Fibonacci. ¿Hasta qué término es posible calcular sin que se produzca desbordamiento?.Objetivo 2.. El programa mostrará el dígito que le corresponde a cada color usando el procedimiento ya creado y leerá de teclado 4 números que corresponderán a los colores de las 4 bandas.. en 7 columnas. Basándose en ese ejercicio hacer un programa que muestre en pantalla el calendario de un mes y año elegido por el usuario del programa. 12 de Octubre (día de la Hispanidad. la primera vez que se llame devolverá 0. Tras esta lectura mostrará los datos de la resistencia con esos colores en las bandas. 3. Virgen del Pilar). prestando especial cuidado con el mes de Febrero por si es año bisiesto. La función devolverá datos de tipo unsigned long int.

3.. decimos que el "máximo multiplicador cabalístico" de N es X: MMC(N)=X. "Cambiar divisor: Y" (donde Y es el último divisor introducido) y "Calcular división". se cumple esa propiedad al multiplicarlo por 1. además de para el número 5. redondeando este último según el undécimo decimal.. El resultado debe tener hasta 10 decimales. 2..X]. y también el Jueves y el Viernes Santo. si yo multiplico N por cualquier número del intervalo [1. en la que todos cumplen que MMC(N) es mayor o igual a 2. • Dado un número N. pero en distinto orden. Máximo Multiplicador Cabalístico: Hay números naturales que al multiplicarlos sucesivamente por 1. Dividir calculando periodos: Implementar un programa para dividir dos números de tipo long double. Al final debe mostrar el N cuyo valor MMC(N) es el mayor de todos los números analizados. 142857*5=714285. Hacer un programa que muestre (usando funciones independientes): • La mayor lista de números posible. Ejemplo: MMC(142857) = 6. 3.Objetivo 2. Para el número 142857 la propiedad se cumple. también para cualquier número del intervalo [1. Entonces.Ejercicios Propuestos de Funciones y Recursividad Constitución y de la Inmaculada).. 32. el resultado será un número con los mismos dígitos que N. Es decir. se obtienen números que tienen los mismos dígitos que el original pero en distinto orden (sólo al multiplicar por 1 se obtiene un número con los mismos dígitos en el mismo orden). 4.6]. 2. Supongamos que para el número N. El Menú contendrá las opciones "Cambiar dividendo: X" (donde X es el último dividendo introducido). Por defecto. X. El programa debe detectar e indicar si entre los 10 primeros decimales se produce algún periodo (puro o mixto). al principio del Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 23 . mostrar su valor MMC(N). 31... 25 de Diciembre (Navidad). à Por ejemplo...

Compruebe que el divisor no sea nunca cero. ...). -. Números Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 24 .16 con 6 como periodo (2.. Quizás el más famoso de todos los sistemas de codificación es el código Morse.-..Objetivo 2... 33.. --.-.-. La versión internacional del código Morse aparece en la tabla siguiente: Carácter A B C D E F G H I Código Carácter T U V W X Y Z Código . ... Ejemplos: 12/9 = 1..Ejercicios Propuestos de Funciones y Recursividad programa se debe suponer un valor cualquiera para el dividendo y el divisor..). desarrollado por Samuel Morse en 1832.. El código Morse asigna una serie de puntos y rayas a cada letra del alfabeto. . -... 714285714285714285. en cada resto comprobar si ese resto ya se ha repetido anteriormente. 12/7 = 1.. La separación entre palabras se indica por un espacio o por la ausencia de un punto o una raya..3333333333. a cada dígito y a unos cuantos caracteres especiales. .)..--.-.166666666..714285 con 714285 como periodo (1..3 con 3 como periodo (1. ya que el dividendo permanecerá constante mientras no se cambie usando la primera opción.. . en cuyo caso tenemos un periodo a partir de ese dígito. para uso en el sistema telegráfico... 13/6 = 2.---. Para efectuar diversas divisiones cambiando sólo el divisor bastará con usar la segunda y tercera opciones sucesivamente. Para calcular los periodos se pueden calcular los restos obtenidos al sacar decimales en la división y.

----- Escriba un programa que lea una frase escrita en español y cifre dicha frase en código Morse y que también lea una frase en código Morse y la convierta en el equivalente en español.. Utilice un espacio en blanco entre cada letra codificada Morse y tres espacios en blanco entre cada palabra codificada en Morse.. La base y el exponente deben ser valores enteros positivos.---. Se introducirán tantos números como lo desee el usuario.. 36. .....Objetivo 2.. --.--. ----.-. 1 2 3 4 5 6 7 8 9 0 . --.. --...-.---. El programa deberá incorporar una función Menu() que muestre las siguientes opciones: 1) Pasar una frase a código Morse. --.. USANDO RECURSIVIDAD: 34. El máximo común divisor es el mayor número entero que divide (división exacta) a todos los elementos de la lista.... 2) Pasar código Morse a una frase. Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 25 ..-. lo cual se implementará en una función que se llame Frase2Morse(). Calcular el máximo común divisor de una lista de números enteros. -. Calcular la sumatoria de los elementos de un arreglo..Ejercicios Propuestos de Funciones y Recursividad J K L M N O P Q R S . implementando una función que se llame Morse2Frase() y 3) Salir.. 35.. ---.--... Elevar un entero positivo a una potencia entera positiva..

Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 26 . Imprimir en reversa una cadena introducida por el teclado.Objetivo 2. 40. 38. es un palíndromo.. Realizar una búsqueda de un elemento en un arreglo a través de búsqueda binaria. Ordenar un arreglo a través del método de selección. 41. Máximo de 60 caracteres más el carácter nulo.Ejercicios Propuestos de Funciones y Recursividad 37. Determinar si una cadena. introducida por teclado. Imprimir los elementos de un arreglo. 39.

(Función strcmp() de la biblioteca <string. 5. y copie la cadena en el arreglo. (Función strncmp() de la biblioteca <string. y retorne por el nombre valores positivos. terminando la cadena con el caracter '\0' (Función strcat() de la biblioteca <string. Escribir una función que reciba como argumento un arreglo de caracteres y lo devuelva invertido por pantalla 3. y copie los primeros "n" caracteres de la cadena sobre el arreglo. terminando la cadena con el caracter '\0' (Función strcpy() de la biblioteca <string. 4.. Escribir una función que reciba dos cadenas de caracteres como argumentos. según corresponda. y una variable entera "n". compare lexicográficamente los primeros "n" caracteres.Objetivo 3. Escribir una función que dadas dos cadenas de caracteres y un número "n" entero recibidos como parámetros.h>). según corresponda.Ejercicios Propuestos de Punteros o Apuntadores 1. 6. un arreglo de caracteres con espacio suficiente. cero y negativos. Escribir una función que determine si una cadena de caracteres recibida como parámetro está vacía o no 2.h>). Escribir una función que reciba como argumento dos cadenas de caracteres. Escribir una función que reciba una cadena de caracteres. cero o negativo. devolviendo un valor positivo.h>). 7. Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 27 .h>). realice una comparación lexicográfica de las mismas. Escribir una función que reciba una cadena de caracteres "s" y un arreglo de caracteres con espacio suficiente "t". y realice la concatenación de una sobre la otra.

Escribir una función que convierta a mayúsculas una cadena de caracteres recibida como argumento. y verifique la existencia de Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 28 . 13. (Función strncpy() de la biblioteca <string. Escribir una función que responda al siguiente prototipo: void replace (char *s. 12. y los elimine desplazando los caracteres útiles hacia la izquierda. de acuerdo a una opción ingresada por el usuario a través del parámetro "format". cuyo tipo es case. (operación "right-trim").h>). Escribir una función que reciba una cadena de caracteres como argumento.Objetivo 3. char viejo) . Escribir una función que reciba dos cadenas de caracteres denominadas "s1" y "s2" respectivamente.. y los elimine desplazando los caracteres útiles hacia la izquierda. y la convierta a minúsculas o mayúsculas. 8. 10. y reemplace en la cadena "s" todas las apariciones del carácter "viejo" por el carácter "nuevo". Escribir una función que reciba como parámetro una cadena de caracteres que finaliza con espacios en blanco. un tipo enumerativo compuesto por los tokens UPPERCASE y LOWERCASE: 11. (operación "lefttrim").Ejercicios Propuestos de Punteros o Apuntadores sin terminar la cadena con el carácter nulo. 14. 9. char nuevo. Escribir una función que reciba como parámetro una cadena de caracteres que comienza con espacios en blanco. Escribir una función que convierta a minúsculas una cadena de caracteres recibida como argumento.

retornando un token del tipo enumerativo int por el nombre de la función (ver función strstr() de la biblioteca <string. a su equivalente en horas. Escribir una función que reciba una matriz cuadrada de doubles y su dimensión. Escribir una función que recibe las coordenadas rectangulares de dos puntos del plano y calcule la distancia entre ellos. 18. retornando el resultado por el nombre. Escribir una función que convierta un número que representa una cantidad de segundos. Considerar el caso de longitudes de cadena par e impar. 16.h>). 20. cuando se le aplica un voltaje determinado. retornando el resultado por el nombre. 17. Escribir una función que calcule las partes entera y decimal de cualquier número real recibido como argumento. y determine si es una matriz es simétrica o no.. 15. minutos y segundos. y las retorne por pantalla. Crear un programa que calcule el valor de la intensidad que pasa a través de una resistencia dada. Escribir una función que reciba una cadena de caracteres y determine si es un palíndromo o no. y retorne el valor de su determinante.Ejercicios Propuestos de Punteros o Apuntadores la cadena s2 como subcadena integrante de la s1. 21. 19. retornando las partes por pantalla.Objetivo 3. Escribir una función que reciba una matriz cuadrada de enteros y su dimensión. El programa deberá estar dividido en las siguientes funciones: Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 29 .

24. Para probar la función escribir un programa que pida los datos por pantalla y muestre los contenidos después de llamar a la función. Crear un programa que lea un número determinado (<100) de números reales introducidos por teclado los almacene en un vector para mostrarlos luego en orden inverso. Para ello se pasarán como parámetros las direcciones de las variables. El programa deberá obtener la dirección de la primera letra de la cadena. Para probar la función se realizará un programa que pida un día de la semana en número y escriba el día de la semana en letra. Escribir una función que tras pedir un día de la semana (de 1 a 7) devuelva un puntero a cadena con el nombre del día.Ejercicios Propuestos de Punteros o Apuntadores explicar_programa (): Esta función mostrará una introducción del programa por la pantalla. Escribir un programa que inicialice una cadena con una palabra cualquiera.. Una vez sabida esta dirección la mostrará por pantalla y realizará un bucle dando 3 oportunidades para que el Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 30 . Nota: Para recorrer el array se deberá usar aritmética de punteros en lugar de usar los índices del array. obtener_valores (): Esta función pedirá los valores para la resistencia y voltaje los cuales se pasarán por referencia al programa principal. La función contendrá un array de apuntadores a cadena.Objetivo 3. calcular (): Esta función efectuará el cálculo de la intensidad a partir de la resistencia y el voltaje aplicado. 25. 22. Crear una función que intercambie el contenido de dos variables. imprimir_respuesta (): Esta función se encargará de mostrar un mensaje con los resultados. 23.

Ejercicios Propuestos de Punteros o Apuntadores usuario introduzca la dirección de la tercera letra de la cadena. Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 31 .Objetivo 3.. En caso de no introducirla bien después de los 3 intentos. deberá sacar un mensaje indicando cuál es la dirección correcta.

Listar los CD con un número de canciones mayor o igual a 15. Entero. • • • • Se debe validar que exista el CD en el arreglo antes de venderlo. • Diseñe la función “void vender_cd (struct cd arreglo_cd[100])” que permita vender uno o varios CD siempre y cuando haya disponibilidad.Objetivo 4. Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 32 . Se requiere que usted realice un programa en C. Coma flotante Tomando en cuenta la información anterior realice lo siguiente: • • • Cree un arreglo unidimensional (vector) de 100 estructuras. que diseñe una estructura llamada “CD” que contenga los siguientes miembros (campos): Nombre del Miembro Título Artista Número de canciones Cantidad de CD Precio Tipo de Dato Arreglo de caracteres de tamaño 30 Arreglo de caracteres de tamaño 25 Entero. (cantidad de CD >0). Mostrar la cantidad total en Bs. Diseñe la función “void listar_cd (struct cd arreglo_cd[100])” que permita mostrar todos los datos de los CD contenidos en el arreglo. Dado el nombre de un artista. invertida en la compra de todos los CD guardados en el arreglo. con el propósito de llevar su inventario y obtener información rápida de ellos.Ejercicios Propuestos de Estructuras 1. Diseñe la función “void incluir_cd (struct cd arreglo_cd[100])” que permita ingresar los datos de los CD en el arreglo. mostrar los CD relacionados con dicho artista.. Una empresa dedicada a la venta de discos compactos (CD) desea almacenar los datos de una colección de CD de música.

Mostrar todos los datos de las llamadas realizadas a la ciudad de Caracas. • • • Calcule el número de alumnos y profesores del Colegio. 3. mes y año en que fue realizada. Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 33 . Los datos del personal son: nombre. por lo que se solicita a usted hacer un programa en C. En una librería tienen la necesidad de automatizar el manejo de la información de los libros que están a la venta. En un colegio la información de la comunidad es guardada en un arreglo. Indicar el total a pagar por llamadas locales. Se desea que usted almacene M llamadas telefónicas.. Se requiere el siguiente reporte: • • • Número de llamadas realizadas en el mes de febrero del año 2010. además por razones de operaciones se quiere que la fecha contenga: hora. De cada llamada se almacenan los siguientes datos: código de área. apellido. número marcado. día. edad y promedio de todos los alumnos de la sección dos de cuarto año. la sección y la nota promedio. minutos. dirección y otros datos que dependen de si la persona es profesor o alumno. duración. apellido. cuyos componentes son del tipo PERSONAL. fecha y destino. el salario y el turno. que genere una estructura de datos que contemple la siguiente información: • Cota del libro. Liste nombre.Objetivo 4. dirección contratados con salario >= 1500 BF y turno de los profesores 4. llamado COLEGIO.03 BF.Ejercicios Propuestos de Estructuras 2. En el caso de un profesor se almacena la categoría ( fijo o contratado). para los alumnos se almacena el curso. Sabiendo que el costo por minuto de llamadas locales es de 0. Liste el nombre. segundos. edad. apellido.

Buscar_Libro: dada la cota de un libro en particular. En el hospital Antonio Patricio de Alcalá se realiza actualmente un seguimiento de los pacientes que han ingresado al hospital por las enfermedades infectocontagiosa: Paludismo. 2. mes y año) Precio. Reporte por enfermedad. Ahora se requiere que construya un menú que incorpore además de la opción Salir las siguientes funciones: • • • Leer_Libro: que permitirá ingresar los datos del libro. 4. mostrar sus datos. dirección y tipo de enfermedad. Si el autor no está registrado se le debe indicar al usuario a través de un mensaje. nombre.Objetivo 4.Ejercicios Propuestos de Estructuras • • • • • Nombre del libro. (Hacer otra estructura llamada fecha: día. sexo. Buscar Paciente. Nombre de la editorial. Tenga en cuenta que la cota del libro no debe repetirse. El programa que muestre un menú con las opciones de: 1. Se debe validar que solo se ingrese los tipos de enfermedad en Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 34 . Salir. Desarrolle un programa que permita registrar y administrar los datos necesarios para este estudio. Por cada paciente se debe registrar: Cedula.. teléfono. y Fiebre amarilla. 5. 3. Fecha de edición. Nombre del autor. Si la cota no existe se le debe indicar al usuario a través de un mensaje • Listar_Autor: muestra una lista de libros según un autor solicitado. Registrar Paciente. Se debe incorporar las siguientes funciones: • Ingresar_Registro: que permitirá ingresar los datos del paciente atendido. Mostrar_Libros: permitirá mostrar todos los libros ingresados.

teléfono. el contacto se Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 35 . Tenga en cuenta que la agenda solo tiene capacidad para 50 contactos. Nota: Para eliminar el contacto puede agregar en la estructura un campo llamado “Marca”. email). Reporte_Enfermedad: que muestre las personas atendidas por cada enfermedad (el reporte debe contener cedula y nombre). Listar_Contactos: mostrar todos los contactos de la agenda.. de ser así solicitar nuevamente los datos. donde se construya un menú con las siguientes funciones: • Registrar_Contacto: donde se registrará los datos de una persona (nombre. • Se debe salir del programa sólo por la opción Salir del menú. cuando dicho campo sea igual a 0. Realizar un programa en C. • • • Buscar_Contacto: dado el nombre de un contacto se debe mostrar sus datos. Apellidos. • Eliminar_Contacto: dado el nombre del usuario. dirección.Ejercicios Propuestos de Estructuras estudio (Paludismo y Fiebre Amarilla) y que la Cédula del paciente no se repita. mostrar sus datos y preguntar si realmente desea eliminarlo. que simule una Agenda. mostrar sus datos.Objetivo 4. sino volver al menú sin hacer ningún cambio. mostrar sus datos y preguntar si realmente desea modificarlo. Modificar_Contacto: dado el nombre del usuario. sino volver al menú sin hacer ningún cambio. 6. este reporte debe mostrar el total de personas atendidas por enfermedad. de ser así eliminar el contacto. • • Buscar_Paciente: dada la cédula de identidad de un paciente.

si existe. que genere una estructura de datos que contemple la siguiente información: • • • • • • • Número de la Unidad Nombre del Chofer Destino Número total de boletos Precio del boleto Número del boleto vendido. Por último se debe mostrar por pantalla los datos del boleto vendido. Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 36 . se debe decrementar el Número total de boletos. sino si el campo Marca es igual a 1. Además.. entonces el contacto estará eliminado.Ejercicios Propuestos de Estructuras considerará activo. Para ello. precio del boleto. se solicitará el destino del cliente. por lo que se solicita a usted hacer un programa en C. destino al que viajará la unidad. verificará si hay boletos disponibles para ese destino. mes y año) Ahora se requiere que construya un menú que incorpore además de la opción Salir las siguientes funciones: • Registrar_Boletos: El programa registrará los boletos por unidad. de la Unidad. 7. número total de boletos disponibles. de haber disponibilidad se solicitará la fecha de salida de la unidad y el número del boleto a vender. Para ello se solicitará: Núm. nombre del chofer. En una línea de autobuses tienen la necesidad de automatizar la venta de boletos. (No debe ser mayor que el Número total de boletos) Fecha de Salida (Hacer otra estructura llamada fecha: día.Objetivo 4. • Venta_Boletos: Función que permite vender un boleto.

Teniendo en cuenta que un profesor puede impartir más de una asignatura.F. b) código de asignatura (único). Por cada profesor: a) cédula. • SueldoMedioAnual. b) nombre del profesor.Ejercicios Propuestos de Estructuras • Cierre_Venta: Esta función simula el cierre de las ventas. número de boletos vendidos. e) dedicación (exclusiva. Si el profesor es Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 37 . El sueldo base anual depende de la dedicación: a) Exclusiva: 2000 Bsf. c) nombre de la asignatura. destino. e) créditos. número de boletos restantes. A partir de la(s) estructura(s) de datos adecuada calcula el sueldo promedio al año de los profesores del instituto. obtener el nombre del profesor que imparte la asignatura si existe la asignatura y el profesor. d) semestre. A partir de la(s) estructura(s) de datos adecuada y el código de la asignatura.. 8. por los boletos vendidos en todas las unidades. diseñar las estructuras de datos apropiadas y los siguientes subprogramas: • ProfesorAsignatura. b) Tiempo Completo: 1500 Bsf y c) Medio Tiempo: 1000 Bsf Hay que tener en cuenta que si el profesor es dedicación exclusiva el sueldo incluye un complemento que se calcula en función del número de años que el profesor ha trabajado en la institución. d) fecha de nacimiento. Una aplicación informática de un centro universitario dispone de la siguiente información sobre una carrera: Por cada asignatura: a) cédula del profesor que la imparte. monto total en Bs.Objetivo 4. nombre del chofer. tiempo completo y medio tiempo). mostrando por pantalla un informe con: Número de la unidad. cobrando 150 Bsf mensuales por cada cinco años completos trabajados. c) fecha de ingreso al instituto.

Cuando llega una solicitud de reservación. Cancelar Reserva de Boleto. Si llega una confirmación del pasaje. Listado de Pasajeros. De los vuelos se conoce: Número de vuelo. La empresa solo tiene capacidad para 3 vuelos. siempre y cuando haya disponibilidad en el vuelo solicitado. 2. se debe mostrar un Menú donde las opciones sean las siguientes: 1. el pasajero es agregado en un arreglo de estructuras llamado Reservaciones. 4. Confirmado o Cancelado). 5. con un Estado inicial de reservado. Salir del Sistema. es cambiar el estado de reservado a Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 38 . 7. • Opción 4. Destino. Fecha de salida. Confirmar Reserva de Boleto. Para ello. Número máximo de pasajeros. • Opción 3. 3. Para cada opción se debe Considerar lo siguiente: • Opción 1. diseñando un programa que se ocupe de las transacciones de los pasajeros de un vuelo. Estado de la transacción (Reservado. Nombre del piloto. Reservar Boleto.Ejercicios Propuestos de Estructuras tiempo completo o medio tiempo el sueldo no incluirá el complemento de quinquenios. • Opción 2.Objetivo 4. la acción a tomar (suponiendo que esta persona esté en el arreglo de reservaciones) confirmado. Se requiere simular un Sistema de Reservación de Boletos en una compañía aérea. Si el pasajero cancela el pasaje. 6. Nombre y Apellido del pasajero. Registrar Vuelos. Cédula. Consultar Disponibilidad de un Vuelo.. la acción a tomar será cambiar el estado de reservado a Cancelado. De la transacción con los pasajeros se conoce: Número de vuelo reservado. 9.

se desea mostrar los estudiantes que aprobaron dicho módulo. Es importante mencionar. Se debe mostrar el siguiente menú: a. Nombre y Apellidos del estudiante y las calificaciones correspondientes a cada uno de los cuatro Módulos allí cursados. Registrar Calificaciones b. • • Opción ‘b’: Dada la Cédula de un estudiante. la cantidad de puestos disponibles. Al final del Listado se deberá mostrar promedio general del curso.Ejercicios Propuestos de Estructuras • • Opción 5. Dado un Número de vuelo. se desea conocer los datos y calificaciones del mismo. Opción 6. • Opción ‘d’: Dado el número de un módulo. Mostrar para un vuelo en particular. mostrar sus datos.. requiere desarrollar un programa para el registro y consulta de las notas de los estudiantes que allí realizan su Curso de Especialización en Redes. La Academia Local “Cisco System” de la ciudad de Cumaná. además el listado de pasajeros con reservaciones confirmadas para dicho vuelo. Mostrar Listado por Módulos e. Opción ‘c’: Mostrar un listado con los nombres y el promedio de notas de cada estudiante. 10.Objetivo 4. Mostrar Listado de Promedios d. que se tienen 20 Estudiantes. Salir del Sistema Para cada opción se debe tener en cuenta lo siguiente: • Opción ‘a’: registrar los siguientes datos: Cédula. Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 39 . Consultar Calificaciones c.

Objetivo 5. la busque dentro de un archivo e indique el número de veces que esta aparece.. y determinar si existe o no en el directorio actual. Desarrolle un programa que permita: abrir un archivo. Se requiere de usted crear un programa que dado un archivo cree una copia del mismo. 6. 4. leer su contenido y mostrarlo por pantalla. Desarrolle un programa que dada un texto lo escriba en un archivo.txt archivo_copia.Ejercicios Propuestos de Archivos Archivos de Texto 1. Este programa debe estar en la capacidad de extraer las vocales del texto almacenado en el archivo y enviarlas a un archivo vocal.txt la línea final del archivo debe contener el numero total de vocales almacenadas. permite realizar una copia de un archivo. La estructura basica del comando es: >$cp archivo_original. Desarrolle un programa que acepte como argumento de la línea de comando el nombre de un archivo. y la cantidad de numeros. 5. numero de consonantes. numero de vocales. Realice un programa que dado una frase. 8. Desarrolle un programa que permita almacenar en un archivo un texto de longitud variada. y cerrar el archivo.txt 7. 2. El comando cp del sistema operativo linux. en otro archivo se deben colocar los Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 40 . Desarrollar un programa que permita leer el contenido de un archivo y realice la siguiente estadistica: cuente el total de lineas. 3.

Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 41 . Por cada cliente que ingresa se almacena Nombre. Debe haber un tercer archivo en en el cual se almacene el total de caracteres del archivo original y el total de líneas del archivo original. El Gerente del Hotel Bahia Azul ubicado en la ciudad de cumaná. almacenando el texto cifrado en un archivo llamado cifa. así como también un reporte con los datos de los clientes VIP y clientes corrientes (los clientes VIP son aquellos cuyo consumo es superior a 1 000 000 de Bs).txt. el cual consiste en hacer corresponder a cada letra del alfabeto otra letra de acuerdo a un valor dado denominado “desplazamiento”.Objetivo 5. Archivos Binarios 11. fue el método del desplazamiento. 9. monto y habitación reservada.. Un Ejemplo de este método es el siguiente: Mensaje original: HOLA MUNDO Si el desplazamiento es K=4. Los registros de los clientes que ingresan al hotel son almacenados manualmente en carpetas lo cual esta generando problemas para acceder a los datos. Este lo ha seleccionado a usted como analista programador le solvente esta situación atendiendo los requerimientos que plantea. este mensaje se transforma en: Mensaje Cifrado: LSPERYQHS 10. Diseñe un programa que permita leer el contenido de un archivo y lo cifre. Uno de los sistemas de encriptación muy usados en el pasado.Ejercicios Propuestos de Archivos números existentes en el texto y en la línea final debe colocar la cantidad números. ha planteado una situación particular en su empresa. Desea un programa que permita registrar las entradas y salida de los clientes del hotel.

Los datos a almacenar por cada Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 42 . sexo. sexo. Usted como analista-programador debe realizar un programa que permita: Ingresar un estudiantes y sus notas (correspondiente a cada uno de los semestres). 13.Ejercicios Propuestos de Archivos 12. teléfono y dirección. En el hospital Antonio Patricio de Alcalá se realiza actualmente un seguimiento de los pacientes que han ingresado al hospital por las enfermedades infectocontagiosa: Dengue clásico. nombre. cedula.Objetivo 5. y las calificaciones correspondientes a cada uno de los cuatro semestres allí cursados. nombre. Desea desarrollar un programa para el registro y control de los estudiantes que allí realizan su curso de especialización en Redes. Determinar los alumnos con promedio mayor a 90 puntos(Se califica de 0 a 100) generar el reporte de alumnos sobresalientes(el reporte debe tener cedula. este programa debe estar en la capacidad de: abrir o crear un archivo. dar de alta (ingresar) un elementos al archivo. Para realizar el control de los estudiantes se debe registrar los siguientes datos: Nombre.. este reporte debe mostrar el total de personas atendidas por enfermedad. y buscar un paciente. Dengue Hemorrágico y A1HN1. Diseñe un programa que permita controlar los datos de un conjunto de personas. dar de baja (eliminación lógica y física) un elemento del archivo. Por cada paciente se debe registrar: Cedula. y promedio). Generar un reporte de todos los estudiantes del sistema escolar (Cedula y nombre). Desarrolle un programa que permita registrar y administrar los datos necesarios para este estudio.. La Academia Local “Cisco System”. Debe también realizar un reporte que muestre las personas atendidas por cada enfermedad (el reporte debe contener cedula y nombre). modificar los datos de un elemento. edad. Determinar el promedio general de los estudiantes de la academia. buscar un elemento. 14. El programa debe incorporar las funciones de ingresar.

panas. Además el programa permitirá determinar el número de contactos en la agenda. o Nick. El programa debe tener un menú que permita al usuario seleccionar la opción deseada. correo electrónico secundario. Por cada contacto la agenda almacena los siguientes datos: Nombre. Cada Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 43 . cedula.Objetivo 5. novias(os). eliminar un contacto que ya no se quiera. Ford. 15. Esta empresa distribuye tan solo autos de 3 fabricantes: Toyota.Ejercicios Propuestos de Archivos persona son: Cedula. correo electrónico principal. 17. La búsqueda de un contacto se puede realizar por su nombre. un reporte general de todos los autos. Chevrolet. El messenger es un programa que permite a una persona comunicarse con otra a través de un sistema de charla on-line. 16. Este programa además permite almacenar los datos de los contactos en un archivo tipo agenda.. y generar un reporte con los datos de los contactos de un grupo especifico. Para realizar el control de los estudiantes se debe registrar los siguientes datos: Nombre y apellido. nombre. lo ha contratado a usted como analista – programador para que diseñe el sistema de control del parque automotor. Nick (Alias). La empresa requiere: totalizar el número de autos en el parque. un reporte de los autos en el parque por año de construcción. sexo. desea realizar un sistema para registro y control de los estudiantes que allí se especializan. edad. Profesores). Así como también desea conocer los autos que hasta una fecha dada (Mes y año) tengan más de 30 meses en el parque. Familiares. Desarrolle un programa que permita almacenar los datos de los contactos. El Sistema escolar para adultos “Revolución en América Latina”. mostrar los datos de un contacto particular. dirección y teléfono. edad. correo electrónico. un reporte por marca de autos y total. el numero de contactos por cada grupo (Amigos. 14) El concesionario de Autos usados “El primero”.

bin”. Generar un reporte con los alumnos con promedio de calificaciones inferiores a 10 puntos. Usted como analista-programador debe realizar un programa que permita: Ingresar un estudiantes y sus notas (correspondiente a cada uno de los trimestres).. y los datos correspondientes a sus calificaciones en otro denominado “notas. Los datos de los estudiantes se almacenan en un registro llamado “est. Recopilado por: Docentes del área de Programación / Trayecto I / Trimestre II Unidad Curricular: Programación I Página 44 .bin”. nombre. Generar un reporte de todos los estudiantes del sistema escolar (Cedula y nombre).Ejercicios Propuestos de Archivos estudiante en este sistema cursa un máximo de cuatro Trimestres. Determinar los alumnos con promedio mayor a 18 puntos y generar un reporte de alumnos sobresalientes(el reporte debe tener cedula.Objetivo 5. y promedio). totalizar el promedio de edad de los estudiantes del sistema.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->