Skip to content

Latest commit

 

History

History
139 lines (96 loc) · 4.75 KB

README.md

File metadata and controls

139 lines (96 loc) · 4.75 KB

TP1-2024

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.

Forma de entrega

  • 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á entonces ejercicio1.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.

Ejercicios

1. Hola Mundo

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.

2. Conversión de temperaturas

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);

3. Números positivos y negativos

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.

4. Comparación de números

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):

5. Suma lenta

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);

6. Divisiones

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);

7. Números primos

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 por 7 y 1. (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 y 1.

8. Suma en rango

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

9. Múltiplos de

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);

10. Factorial

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.

11. Contador circular

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.

12. Suma de dígitos

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