El objetivo de esta práctica es que comiencen a programar en C, aprovechando lo aprendido en Introducción a la Ingeniería en Computación.
- Cada punto debe ser entregado en un archivo independiente.
- El nombre de cada archivo debe ser
ejercicio
seguido del número de ejercicios más.c
, de esta manera, el primer ejercicio será entoncesejercicio1.c
. - Cada archivo debe seguir la estructura indicada dentro de
plantilla.c
, la cual debe estar completa con su nombre y usuario de GitHub. - Recuerden tener en cuenta las Cuestiones de Estilo
- En ningún caso se aceptará el uso de variables globales. Toda la información necesaria para el funcionamiento de las funciones a desarrollar tienen que ser pasado como argumentos de las mismas.
- Mantengan separado lo que es entrada, del algoritmo y la salida.
- Siempre que sea posible, los mensajes de confirmación de
git
deben ser descriptivos, evitando los que son como “cambios”. - No olviden documentar las funciones implementadas indicando el propósito de los argumentos y que es lo que retorna.
Desarrollar un programa que muestre por STDOUT
el mensaje "Hola Mundo C!".
Indicar en un comentario la instrucción de compilación con GCC por línea de comandos.
Se quiere transformar temperaturas en grados Fahrenheit a grados centígrados y viceversa.
Implementar las funciones para convertir la temperatura en grados centígrados en Fahrenheit como un número decimal, utilice esta fórmula para calcular los grados centígrados y retorne el resultado obtenido. Y viceversa.
double centigrados_a_fahrenheit(double centigrados);
double fahrenheit_a_centigrados(double fahrenheit);
Implementar una función que reciba un número entero e indique si el mismo es positivo, negativo o cero.
int signo(int numero);
- Retornar
-1
si es negativo. - Retornar
0
si es cero. - Retornar
1
si es positivo.
Implementar una función que retorne:
- Retornar
-1
si el primero es menor que el segundo - Retornar
0
si son iguales - Retornar
1
si el primero es mayor que el segundo
int compara(int numero, int otro_numero):
Implementar una función que haga la suma entre dos números enteros sin hacer la operación de manera directa. Esto quiere decir que para hacer la suma entre 4 y 3, las operaciones resultantes deberán ser 4+1+1+1.
La función debe ser capaz de sumar cualquier número entero, positivo y negativo.
int suma_lenta(int sumando, int sumador);
Escribir una función que, mediante restas sucesivas, obtenga el valor del cociente y el resto de dos números enteros.
int cociente_lento(int dividendo, int divisor);
int resto_lento(int dividendo, int divisor);
Escribir una función que retorne true
si un número entero indicado es Primo y false
cuando no lo sea.
La obtención de este resultado debe ser mediante divisiones sucesivas.
bool es_primo(int numero);
Un número es primo cuando sus divisores son solo si mismo y 1.
Por ejemplo:
7
es primo porque es solo divisible por7
y1
. (si mismo y el neutro con respecto a la división)8
no es primo, es divisible por varios números adicionales;8
,4
,2
y1
.
Implementar una función que sume los números enteros comprendidos entre dos cotas.
Siendo n
inclusive y m
no inclusive.
int suma_rango(int n, int m);
Por ejemplo, para n
en 10 y m
en 20; la suma resultante sería
10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19
Escribir una función que retorne true
si un número entero es múltiplo de otro, utilizando sumas y restas.
bool es_multiplo(int numero, int multiplo);
Implementar una función que, usando lazos, permita obtener el factorial de un número entero positivo.
long factorial(int numero):
El factorial de un entero positivo n
, se define como el producto de todos los números enteros positivos desde 1
(es decir, los números naturales) hasta n
.
La cuenta resultante es, por ejemplo, para 5! = 1×2×3×4×5 = 120
.
Implementar una función que dado un número entero y un límite, retorne el número incrementado en 1
hasta el límite.
int contador_circular(int i, int limite);
Cuando i
sea igual a limite
, la función retornará 0
.
Implementar una función que obtenga, de manera aritmética, la suma de los dígitos de un número entero.
int suma_digitos(int numero);
Por ejemplo, para el número 1234
, la suma de sus dígitos da 10 = 1 + 2 + 3 + 4