Programas Varios.

Moderadores: Kravenbcn, largeroliker, fidelcastro, cerealkiller, pspCaracas, m0skit0, LnD, ka69, zacky06

Responder
Avatar de Usuario
alejandro50082
Habitual
Habitual
Mensajes: 467
Registrado: 03 Sep 2009, 03:24
Ubicación: Guatemala

Programas Varios.

Mensaje por alejandro50082 »

Programas en los que se aplican los conocimientos adquiridos durante el curso de m0skit0:
Spoiler:
1. Escoja nombres de variables y escriba un programa por los siguientes ítems:
a. Jugadores de futbol son calificados según su desempeño en el juego anterior.
Una calificación superior a 93% se considera excelente, debajo del 75% se
considera deficiente. Su segmento deberá, dada una calificación, imprimir la
calificación que se ingresó y un mensaje apropiado (“excelente” o
“deficiente”).
b. Dadas tres calificaciones de examen, imprime mejorando si la tercera
calificación es más alta que el promedio de los dos primeros exámenes;
imprima “empeorando” si se sitúa 5 o más puntos por debajo del promedio.
2 2
c. Para una ecuación cuadrática , el valor b alcuadrado- 4ac recibe el nombre de “discriminante”. Este valor determina cuántas raíces reales tiene la
ecuación (ninguna si es menor que 0, una si es 0 y dos si es mayor que 0).
Escriba un programa que, dadas a, b y c, imprima un mensaje que señale el
número de raíces que tiene la ecuación.

2. Escriba programas en C que hagan lo siguiente:
a. Dado un año en el intervalo de 1920 a 2020, el programa deberá imprimir un
mensaje que señale si el año es o no bisiesto. (Un año bisiesto es aquel que es
divisible entre 4.)
b. Modifique el inciso a) de modo que funcione con cualquier año menor que
4000. Para los años de este intervalo, la regla es más complicada. Por ejemplo,
1900 no fue un año bisiesto pero el 2000 lo será. En general, un año divisible
entre 100 no es bisiesto a menos que también sea divisible entre 400.
c. Modifique el inciso b) para que imprima un mensaje “No puedo manejar años
del 4000 para arriba” si el año de entrada no es menor que 4000.
d. Escriba un programa que lea un número de cuatro cifras que represente la
hora “militar”. Suponga que la entrada es válida. Este deberá sumar un minuto
a la hora e imprimir la hora original y la nueva. La salida de muestra podría ser:
1912 más un minuto es 1913
759 más un minuto es 800
Sugerencia: utilice mod (cociente de una división) y div (residuo de una
división) para dividir el tiempo dado en horas y minutos.
e. Repita el inciso d), pero ingrese tres valores: horas, minutos y “a.m.” o “p.m”.
Suponga que la entrada es válida. La salida de muestra es:
11:59 a.m. más un minuto es 12:00 p.m.
Sugerencia: ¿puede idear alguna manera de imprimir 0 como “00”?
3. Escriba un programa que cumpla con las siguientes funciones:
a. Escriba una función que determine el menor de dos números reales.
b. Escriba una función que encuentre el mayor de tres números enteros.
c. Escriba una función que obtenga el menor de tres números enteros.
d. Escriba una función que calcule el área superficial total de un cono. La fórmula
es:
Imagen
4. Se deposita una suma de Q.200 y se compone al 5% anual. Escriba un programa que
pueda realizar lo siguiente. Nota: esto es similar al ejemplo de los conejos, pero en vez
de que la población se duplique cada año, la cantidad se multiplica por 1.05.
a. Imprima la cantidad en la cuenta al término de cada año en nueve años.
b. Imprima la cantidad que hay en la cuenta al término de cada año hasta la
cantidad sea mayor que Q. 475.00
5. Teniendo posibilidad de guardar 5 registros; cada registro tiene un número ID (de
identificación), ingreso anual, número de años trabajados en la compañía y una clave
de departamento de cuatro dígitos.
a. Escriba un programa para obtener el número ID y el ingreso anual de la
persona que ganó la mayor cantidad de dinero durante el año.
b. Modifique este programa para que imprima cuántos años ha trabajado esta
persona para la compañía y su clave de departamento (esto requerirá otras
dos variables especiales).
c. Escriba un programa para obtener el número promedio de años trabajados por
personas en el departamento 0123.
d. Escriba un programa para determinar el número ID y el ingreso de la persona
que ganó la menor cantidad de dinero durante el año.
6. Escriba un programa para simular 200 tiros de un solo dado, contando cuántos 1, 2, 3,
4, 5 y 6 caen. Además de imprimir las cuentas, utilice un procedimiento que dibuje
asteriscos, para imprimir una gráfica de respuesta. Para cada resultado, la gráfica
contiene una cadena de asteriscos, con un asterisco por cada incidencia. La siguiente
es una salida de muestra aproximada:
1: **********************************************
2: ********************************************
3: ***************************************************
4: **********************************************
5: ***********************************************
6: ***********************************************
7. Un depósito de Q10,000.00 se compone anualmente al 8%. Al término de cada año
después de sumarse el interés, se van a retirar Q1000.00 de la cuenta.
a. Escriba un programa que imprima el balance de la cuenta de todos los años,
pero no incluyendo, el año en el cual no se pueden retirar Q1000.00
b. Modifique el programa para demostrar cuántos retiros de Q1000.00 se
hicieron y el monto de la cuenta en el último año.
Alejandro50082

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: Programas Varios.

Mensaje por m0skit0 »

Buena idea para quien quiera practicar :oki:
Imagen

Avatar de Usuario
alejandro50082
Habitual
Habitual
Mensajes: 467
Registrado: 03 Sep 2009, 03:24
Ubicación: Guatemala

Re: Programas Varios.

Mensaje por alejandro50082 »

:oki: Sip... Y como podes ver va de acuerdo a tu curso y aumentando de dificultad.
Alejandro50082

Avatar de Usuario
finfantasy
Habitual
Habitual
Mensajes: 153
Registrado: 15 Oct 2009, 19:00

Re: Programas Varios.

Mensaje por finfantasy »

Para hacer eso, usad el uva judge que tiene problemas variados xD http://uva.onlinejudge.org/
Y en esta pagina os los ordenan por dificultad según vuestro JID http://felix-halim.net/uva/hunting.php

Responder