BIENVENIDOS

Aquí encontrarás recursos importantes que te permitirán adquirir o reforzar conocimientos sobre el lenguaje de programación en ANSI C.

miércoles, 17 de abril de 2013

Examen del 17 de abril de 2013

Desarrollar un programa para desordenar un vector de n elementos aleatorios entre p y q no repetidos. El programa ordenará el vector en forma ascendente, los mostrará en pantalla y luego los desordenará y volverá a mostrar en pantalla para poder comprobar que se han escrito los mismos elementos en forma desordenada. Tanto para la generación de números como para el desordenamiento de elementos, se deberán emplear las funciones srand, time y rand. Adicionalmente, el programa deberá comprobar la relación entre n, p y q, porque no podría darse el caso en el que, por ejemplo, n=5, p=12 y q=15, porque la generación de números aleatorios no repetitivos entre 12 y 15 daría como resultado: 12, 13, 14, 15 pero esto se contrapone a n que, para este ejemplo, valdría 5. Es decir se pediría generar 5 números no repetidos, pero sólo se pueden generar 4 no repetidos entre 12 y 15.
Ejemplo: si n=10, p=5, q=25
Vector ordenado:
Vector desordenado:
5, 7, 8, 9, 11, 13, 15, 17, 18, 20
9, 17, 20, 5, 11, 8, 7, 13, 15, 18

Evaluación
Comentarios
10%
Orden
10%
Generación de n números aleatorios entre p y q.
10%
Ordenamiento de elementos
10%
Desordenamiento de elementos y presentación de los mismos
35%
Coherencia entre n, p y q
25%

NOTAS:
El programa deberá compilarse sin errores, de lo contrario será calificado sobre el 80%.
No se permite el uso de Internet, e-mail, usb, teléfonos celulares, ni ningún otro dispositivo que permita la consulta de códigos.
Puede usar qsort para ordenar los elementos del vector. Para ello puede usar el siguiente código:
/* Prototipo de la función de comparar */
int comparar(const void *arg1, const void *arg2)
{
if(*(int *)arg1 < *(int *)arg2)
return -1;
else if(*(int *)arg1 > *(int *)arg2)
return 1;
else
return 0;
}
Un ejemplo del uso de qsort es el siguiente:
qsort(lista, ELEMENTOS, sizeof(lista[0]), comparar);

Leer más...

Examen 16 de abril de 2013

Desarrollar un programa que calcule n números aleatorios entre p y q y los muestre en forma matricial en una matriz de l x k elementos ordenados ascendentemente por columnas. Las variables n, p, q, l y k deberán ser pedidas por teclado. Si el número de filas y columnas de la matriz no es suficiente para mostrar los n elementos, debería aparecer un mensaje de error indicando este error y pidiendo nuevamente los datos de l y k.

Ejemplo: si n=10, p=5, q=15, l=3, k=4, debería mostrarse una matriz:
5   9   12  14
7   9   13 
8  11  14

Evaluación:
Comentarios 10%
Orden 10%
Generación de n números aleatorios entre p y q 10%
Ordenamiento de elementos 10%
Impresión matricial 40%
Aprobación del tamaño de la matriz 10%

NOTAS: 
El programa deberá compilarse sin errores, de lo contrario será calificado sobre el 80%.
No se permite el uso de Internet, e-mail, usb, teléfonos celulares, ni ningún otro dispositivo que permita la consulta de códigos.

Puede usar qsort para ordenar los elementos del vector. Para ello puede usar el siguiente código:

/* Prototipo de la función de comparar */ 
int comparar(const void *arg1, const void *arg2) {  
if(*(int *)arg1 < *(int *)arg2)  
   return -1;  
else if(*(int *)arg1 > *(int *)arg2) 
   return 1;  
else 
   return 0; } 

Un ejemplo del uso de qsort es el siguiente:
qsort(lista, ELEMENTOS, sizeof(lista[0]), comparar);

Código del programa

Leer más...

martes, 12 de marzo de 2013

Ejercicio 11 del tema "Funciones" (factores primos de un número)

Escribir un programa que realice la descomposición en factores primos de un número introducido por teclado.
El programa deberá ir escribiendo la tabla de los factores primos, a medida que los va calculando, tal como muestra el ejemplo siguiente:

Introduce un Nº entero -> 84
Nº | Factores primos
--- | ---------------
84 | 2
42 | 2
21 | 3
  7 | 7
  1 |

Ayuda: Se deberá utilizar una función que nos diga si un número es primo o no.

Código del programa

Otra alternativa más simple

Leer más...

jueves, 7 de marzo de 2013

Ejercicio 3 del tema "Funciones" (invertir un número)

Escribir una función (con su correspondiente programa de prueba) que tome un valor entero y devuelva el número con sus dígitos en reversa. Por ejemplo, dado el número 7631 la función deberá devolver 1367.

Código del programa

Leer más...

martes, 19 de febrero de 2013

Prueba 1 - I Bimestre (14 de febrero de 2013 - curso de la tarde)

Desarrollar un programa que muestre 3 opciones tal como se indica a continuación:

Menu:

1. Escribir un número de 4 dígitos en forma inversa.
2. Multiplicar dos números complejos ingresados en la forma polar y mostrar el resultado en la forma rectangular.
3. Salir.


Seleccione una opción:


Pedir en cada una de las opciones los datos necesarios y mostrar sus resultados.
No olviden poner en los comentarios iniciales su nombre.

El menú deberán realizarlo tal como se indicó en clases (con switch).

Forma en que evaluaré el programa:
Comentarios1.0
Orden1.0
Menú1.5
Opción 13.0
Opción 23.0
Opción 30.5

Código del programa

Leer más...

Prueba 1 - I Bimestre (14 de febrero de 2013)

Desarrollar un programa que muestre 3 opciones tal como se indica a continuación:

Menu:

1. Sumar los dígitos de un número de 4 dígitos.
2. Transformar un número de la forma rectangular a la polar con ángulos menores o iguales a +-180 grados.
3. Salir.


Seleccione una opción:


Pedir en cada una de las opciones los datos necesarios y mostrar sus resultados.
No olviden poner en los comentarios iniciales su nombre.

El menú deberán realizarlo tal como se indicó en clases (con switch).

Forma en que evaluaré el programa:
Comentarios1.0
Orden1.0
Menú1.5
Opción 13.0
Opción 23.0
Opción 30.5

Código del programa

Leer más...

miércoles, 6 de febrero de 2013

Ejercicio 4 del tema "Condicionales"

Crear un programa que calcule la caída de potencial producida por una resistencia según la ley de Ohm (V = I * R) a partir de la resistencia y la intensidad que pasa a su través.

Nota: El programa no debe aceptar resistencias negativas, dado que no tienen sentido físico, ni resistencias mayores que 1000Ω (requerimiento adicional del problema). En ambos casos el programa debe escribir un mensaje de erroren pantalla diciendo que el valor de la resistencia está fuera de límites aceptables indicando la causa por la que dicho valor para la resistencia ha
sido rechazado.

Código del programa

Leer más...