Sei sulla pagina 1di 7

PROGRAMACIÓN DE COMPUTADORAS

Lista de ejercicios – Funciones, vectores y gotoxy()


2013-02

Profesor: Ing. Juan Puerta/Ing Franklin Gonzales

Problema 1:

Realizar un programa en C que permita generar y mostrar la tabla de verdad del circuito lógico
mostrado en la figura 1. Utilizar un vector para almacenar los resultados de cada combinación de
las entradas.

Problema 2:

Implementar una función que permita retornar el valor máximo de dos números reales.

Implementar una función que permita retornar el valor mínimo de dos números reales.

Nota: Si los 2 números son iguales, ambas funciones retornaran el valor de dichos números.

Haciendo uso de las dos funciones anteriores, implementar un programa que permita mostrar en
pantalla 3 números reales ordenados de manera descendente.

Problema 3:

Implementar vía lenguaje C, un programa que permita crear un vector de tamaño 100 con valores
aleatorios reales (2 decimales) en el rango de -1 a 1, el programa deberá mostrar los elementos del
vector uno debajo de otro y luego de ello deberá retornar el número de cruces por cero
encontrados en el vector. (Se produce un cruce por cero cuando un elemento del vector pasa de
ser positivo a ser negativo o viceversa).

Deberá utilizar las funciones que a continuación se listan:


void crearVector(): Para rellenar el vector con los valores aleatorios pedidos.

void mostrarVector(): Para mostrar los elementos del vector

int calcularCruces(): Calcula y retorna la cantidad de cruces por cero pedida.

Problema 4:

Desarrollar un programa en C que permita generar 3 números enteros aleatorios en el rango de [10
, 90], luego de ello, el programa deberá mostrar dichos números ordenados de manera ascendente
o descendente de acuerdo a la elección del usuario.

Deberá utilizar sentencias de control selectivas switch-case e if en su desarrollo.

Problema 5:

Implementar una función que permita calcular y retornar el mínimo común múltiplo de dos
números enteros.

Los números serán leídos por el programa.

Problema 6:

Escribir un programa que transforme números entre 0 y 999 a números romanos (usar funciones).

Problema 7:

Se requiere realizar un prototipo de simulación para obtener los códigos de barras en las
tarjetas electrónicas. Pare ello se simularán 5 números aleatorios enteros en el rango [2 - 7] y
se mostrará en pantalla tantos asteriscos como valor tenga cada número generado. Tener en
cuenta el siguiente ejemplo:

Si los números generados fueran: 2 , 5 , 7, 4, 5 entonces se mostrará:

* *

* * * * *

* * * * * * *

* * * *

* * * * *

Deberá utilizar las siguientes funciones:


int generarNumeroAleatorio(int a,int b): Para generar un número aleatorio en el rango
especificado por los argumentos de la función.

void generarCodigoDeBarras(): Para graficar el código de barras pedido.

Problema 8:

Desarrollar una aplicación que permita realizar el registro manual (En tres vectores) de la edad,
talla y cantidad de goles anotados por 20 futbolistas de un club de futbol.

Luego de ello la aplicación deberá reportar lo siguiente:

a) Mostrar los datos de cada futbolista ( edad, talla, cantidad de goles) en un formato tipo
tabla (Usar tabuladores).
b) Mostrar la cantidad de futbolistas con una cantidad de goles anotados mayor a 100.
c) Mostrar la cantidad de futbolistas con edades entre 18 y 25 años que midan más de
1.78cm.
d) Mostrar la cantidad de futbolistas con menos de 50 goles anotados, que midan más de
1.76cm y que sean menores a 20 años

Problema 9:

Desarrollar una aplicación en C que permita generar un vector con valores aleatorios reales en el
rango de [-1 , 1] (dos decimales). Luego de ello, a cada elemento del vector se le asignará un valor
entero de acuerdo a la siguiente tabla:
Rango Valor entero asignado

[-1 , -0.02] 0

<-0.02 , 0] 1

<0 , 0.02] 2

<0.02 , 1] 3

Por ejemplo:

Si un elemento del vector está en el rango [-1 , -0.02] se le asignará 0.

Mostrar en formato tabla los valores de cada elemento del vector y al costado su respectivo valor
entero asignado.
Problema 10:

Desarrollar una aplicación en C que permita crear y mostrar un vector aleatorio de tamaño 20 con
valores enteros en el rango [2 , 20].
Luego de ello, la aplicación deberá calcular y mostrar el promedio de dicho vector, almacenar en
otro vector todos aquellos valores que estén por encima de ese promedio, mostrar dichos valores.

Problema 11:

Implementar una función que reciba como argumentos dos números enteros cualesquiera , y luego
de ello, muestre un mensaje indicando si el segundo número está presente en el primero.

Tome como base el siguiente ejemplo:

Si los números fueran 3456778 y 56 entonces la función deberá indicar que el segundo número
(56) si está presente en el primer número (3456778)

Problema 12:

Utilizando la función gotoxy(), implementar otra función que permita dibujar en la consola y
utilizando asteriscos una señal senoidal de frecuencia f y amplitud A. (Los valores de f y A serán
argumentos de la función) .

Tener en cuenta que la regla de correspondencia de la función seno es:

f ( x )=Asen (2 πft )

Problema 13:

Un alumno de electrónica cuenta con 45 resistencias cuyos valores están distribuidos de la


siguiente manera:
R1 = 10Ω; R2 = 20Ω; R3 = 30Ω; R4 = 40Ω; ……………….. etc.
El alumno desea medir la corriente (I) y la potencia (P) que se produciría en cada resistencia si con
ella se arma un circuito eléctrico energizado con un voltaje (V) escogido dentro del rango
[10-80]v.
Teniendo en cuenta las siguientes fórmulas:
V = I.R P = I2.R
Donde: R representa el valor de cada resistencia.
Por lo tanto; se le pide a Ud. desarrollar una aplicación en C para el alumno, de tal forma que
permita lo siguiente:
- Almacenar el valor de cada una de las 45 resistencias en un vector.
- Generar de manera aleatoria el valor del voltaje (V) que será utilizado en cada circuito
formado, el cual deberá estar en el rango especificado líneas arriba.
- Calcular y mostrar los valores de I y P para cada resistencia, utilizando el voltaje V
generado.

Además, la aplicación deberá mostrar:


La cantidad de resistencias que originaron una corriente mayor a 20 amperios.
La cantidad de resistencias que originaron una corriente menor a 0.375 amperios.
El valor de la mayor potencia que se obtuvo.

Problema 14:

Una determinada empresa es encargada de gestionar y administrar 200 tipos de productos. De


acuerdo a ello se le pide a Ud. realizar una simulación en software para realizar dicho proceso,
teniendo en cuenta lo siguiente:

El usuario deberá registrar por teclado el número de unidades que tendrá cada producto en
almacén, sabiendo que dicho número no puede ser mayor a 100 unidades. (Utilizar un vector para
almacenar los valores)

Conforme el usuario hace el registro, el programa deberá ir monitoreando que la cantidad de


unidades totales que se van acumulando en el almacén no sobrepase el valor de 10000 unidades,
si es así, se le deberá mostrar un mensaje al usuario indicándole que deje de ingresar más
unidades, y el proceso terminará.

Al final se debe mostrar el siguiente reporte:

- El número de unidades registradas de cada producto hasta antes de que el proceso termine.

Problema 15:

Utilizando la función gotoxy() . Implementar un programa que permita al usuario (haciendo uso
uso de las flechas del teclado) mover un cuadrado de lado 4 dibujado con asteriscos.
Problema 16:

Se quiere simular la carrera de autos como se observa en la figura a continuación:


_ ___\ \___\-O---O---\

_ ___\ \___\-O---O---\

_ ___\ \___\-O---O---\

_ ___\ \___\-O---O---\

La aceleración de cada automóvil se guarda en un vector de 4 elementos enteros:

0 1 2 3

Teniendo en cuenta que la aceleración es un número entre 1 y 5, y cada aceleración es diferente.


Construya un programa que permita generar apuestas sobre los autos, calcular las aceleraciones y
simular la carrera. Al final la computadora mostrará un mensaje sobre que auto ganó (1, 2, 3 ó 4).

Problema 17:

El famoso juego del tres en raya, puede programarse en una computadora que no posee el tipo de
dato matriz, utilizando un número entero de 9 cifras. Las cifras posibles que puede tener el número
es 1, 2 ó 3. Las posiciones del tablero de tres en raya son las siguientes, respecto del número:

Número de 9 cifras.
Por ejemplo, si tomamos como referencia la posición 7, tanto del número como del
tablero, y si en esa posición 7 existe un dígito de valor 1, entonces significa que la posición
7 en el tablero del michi está vacía.
Si la cifra en la posición 5 tiene el valor de 2, significa que el jugador de la X tiene ocupada
esa casilla, y si por ejemplo la cifra en la posición 8 tiene el valor de 3, el jugador con el
símbolo “O” tiene ocupada dicha posición.

Entonces, el número: 112123332 pertenece al siguiente estado del tablero:

Con todos estos conceptos, realizar un programa que, dado un número dado de 9 cifras,
grafique el estado del tablero del tres en raya que represente dicho número. Si la persona
ingresa un número con cifras diferentes a 1, 2 ó 3, el programa mostrará un mensaje de
error y no graficará el tablero.

Utilice funciones para el desarrollo de su programa

Potrebbero piacerti anche