Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Ejercicios sobre Funciones

Problemas y soluciones sobre modularización en C

Universidad Nacional de Río Negro

Acerca de

Estos ejercicios tienen como finalidad practicar la descomposición modular de problemas en funciones en C, definiendo firmas con sus tipos de datos correspondientes para los parámetros y valores de retorno.

Capítulos de Apunte Correspondientes

Cuestiones de Estilo Aplicables


Definición y Llamada de Funciones

Ejercicio 5.1 - Doble de un número ⭐⭐☆☆☆

Solution to Exercise 1
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>

int doble(int n) {
    return 2 * n;
}

int main(void) {
    printf("Doble de 5: %d\n", doble(5));
    printf("Doble de 12: %d\n", doble(12));
    return 0;
}

Ejercicio 5.2 - Mayor de dos números ⭐⭐☆☆☆

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>

int mayor(int a, int b) {
    int resultado = a;
    if (b > a) {
        resultado = b;
    }
    return resultado;
}

int main(void) {
    int x = 10;
    int y = 7;
    printf("El mayor es: %d\n", mayor(x, y));
    return 0;
}

Ejercicio 5.3 - Paridad de un número ⭐⭐☆☆☆

Solution to Exercise 2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>

void par_impar(int n) {
    if (n % 2 == 0) {
        printf("%d es par\n", n);
    } else {
        printf("%d es impar\n", n);
    }
}

int main(void) {
    par_impar(7);
    par_impar(12);
    return 0;
}

Ejercicio 5.4 - Promedio de notas ⭐⭐☆☆☆

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>

float promedio(int a, int b, int c) {
    return (a + b + c) / 3.0f;
}

int main(void) {
    printf("Promedio: %.2f\n", promedio(7, 8, 10));
    return 0;
}

Ejercicio 5.5 - Área de rectángulo ⭐⭐☆☆☆

Solution to Exercise 3
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>

int area_rectangulo(int base, int altura) {
    return base * altura;
}

int main(void) {
    printf("Área: %d\n", area_rectangulo(5, 4));
    return 0;
}

Ejercicio 5.6 - Funciones Matemáticas Básicas ⭐☆☆☆☆

Creá funciones para operaciones matemáticas: sumar, restar, multiplicar, dividir.

Orientación:


Ejercicio 5.7 - Función Es Primo ⭐⭐☆☆☆

Implementá bool es_primo(int n) que determine si un número es primo.

Orientación:


Ejercicio 5.8 - Factorial Recursivo e Iterativo ⭐⭐☆☆☆

Implementá dos versiones de factorial:

Orientación:


Ejercicio 5.9 - Conversión de Temperatura ⭐⭐☆☆☆

Creá funciones para convertir temperaturas:

Orientación:


Ejercicio 5.10 - Validación de Entrada ⭐⭐⭐☆☆

Implementá funciones de validación:

Orientación:


Ejercicio 5.11 - Máximo Común Divisor (MCD) ⭐⭐⭐☆☆

Implementá el algoritmo de Euclides para calcular MCD.

Algoritmo:

mcd(a, b) = mcd(b, a % b)  si b != 0
mcd(a, 0) = a

Orientación:


Ejercicio 5.12 - Números de Fibonacci ⭐⭐⭐☆☆

Implementá:

Orientación:


Ejercicio 5.13 - Operaciones con Dígitos ⭐⭐⭐☆☆

Creá funciones para manipular dígitos de un número:

Orientación:


Ejercicio 5.14 - Conversión de Bases ⭐⭐⭐⭐☆

Implementá conversiones entre bases numéricas:

Orientación:


Ejercicio 5.15 - Cálculo de Potencia ⭐⭐⭐⭐☆

Implementá tres versiones de potencia:

Orientación:


Ejercicio 5.16 - Generador de Números Primos ⭐⭐⭐⭐☆

Implementá:

Orientación:


Ejercicio 5.17 - Combinatoria ⭐⭐⭐⭐☆

Implementá funciones combinatorias:

Orientación:


Ejercicio 5.18 - Geometría Modular ⭐⭐⭐⭐☆

Creá funciones para calcular áreas y perímetros de figuras:

Orientación:


Ejercicio 5.19 - Estadísticas de un Array ⭐⭐⭐⭐☆

Implementá funciones estadísticas para un array de números:

Orientación:


Ejercicio 5.20 - Simulación de Dado ⭐⭐⭐⭐☆

Creá un simulador de lanzamiento de dados:

Orientación:


Ejercicio 5.21 - Validador de Fechas ⭐⭐⭐⭐☆

Implementá funciones para trabajar con fechas:

Orientación:


Ejercicio 5.22 - Búsqueda y Ordenamiento ⭐⭐⭐⭐⭐

Implementá algoritmos básicos:

Orientación:


Ejercicio 5.23 - Calculadora de Fechas ⭐⭐⭐⭐⭐

Calculá diferencias y sumas con fechas:

Orientación:


Ejercicio 5.24 - Sistema de Ecuaciones ⭐⭐⭐⭐⭐

Resolvé sistemas de ecuaciones 2×2:

a₁x + b₁y = c₁
a₂x + b₂y = c₂

Implementá:

Orientación:


Notas Finales

Estas consignas practican modularización, reutilización, paso de parámetros y diseño de interfaces de funciones.