Skip to article frontmatterSkip to article content

Ejercicios Básicos y Secuencias

Acerca de

Estos ejercicios están diseñados para afianzar los conceptos más fundamentales de la programación en C. A través de ellos, practicarás el uso de variables, la entrada y salida por consola, y la implementación de estructuras de control básicas como lazos y condicionales para resolver problemas simples y generar secuencias numéricas.

Consideraciones Generales

  1. Función Principal: La lógica principal que resuelve cada enunciado debe estar contenida en una función, incluso si no se especifica explícitamente.

  2. Estilo: Todo el código debe adherirse a la guía de estilo de la cátedra.

  3. Entrada y Salida: Separá la lógica de tu programa de las operaciones de entrada/salida. Las funciones principales no deben interactuar directamente con el usuario, a menos que ese sea su propósito específico.

1.1: Cuenta regresiva

Descripción

Este ejercicio consiste en implementar un programa que realice una cuenta regresiva desde un número entero positivo N hasta 1, para finalmente imprimir un mensaje de “¡Lanzamiento!”. El objetivo es practicar el uso de lazos (bucles) y la gestión de tiempos de ejecución simples.

Para que la cuenta no sea instantánea y se pueda percibir en tiempo real, se debe introducir una pausa de 1 segundo entre cada número impreso.

1.2: ¡Hola mundo!

Descripción

El “Hola, mundo!” es el primer paso tradicional en el aprendizaje de un nuevo lenguaje de programación. El objetivo es escribir el programa más simple posible que produzca una salida visible en la pantalla, confirmando que el compilador y el entorno de desarrollo están configurados y funcionando correctamente.

1.3: Saludador

Descripción

Este ejercicio amplía el “Hola, mundo!” para que el programa interactúe con el usuario. Debe solicitarle su nombre y luego mostrar un saludo personalizado que lo incluya. Sirve para practicar la lectura de datos desde la entrada estándar.

1.4: Secuencias de Pares e Impares

1.4.1: Pares en un rango

Descripción

El programa debe ser capaz de identificar y mostrar todos los números pares que existen dentro de un intervalo cerrado [n, m], donde los límites n y m son proporcionados por el usuario.

1.4.2: Primeros N Impares

Descripción

Este ejercicio consiste en generar una secuencia de números impares, comenzando desde 1, hasta alcanzar un total de N términos, donde N es un número proporcionado por el usuario.

1.5: Operaciones con Rangos Numéricos

1.5.1: Secuencia Ascendente

Descripción

El objetivo es mostrar una secuencia de números enteros que comienza en un número n y termina justo antes de un número m. Esto corresponde al intervalo matemático [n, m).

1.5.2: Secuencia Descendente

Descripción

Similar al anterior, pero esta vez la secuencia debe ir en orden descendente. Se parte de un número n y se retrocede hasta un número m, sin incluirlo. Esto corresponde al intervalo (m, n].

1.5.3: Sumatoria

Descripción

Calcular la suma de todos los números enteros en un rango cerrado [n, m]. Esto es equivalente a la operación matemática i=nmi\sum_{i=n}^{m} i.

1.5.4: Suma de Cuadrados

Descripción

Calcular la suma de los cuadrados de todos los números enteros en un rango cerrado [n, m]. La operación es i=nmi2\sum_{i=n}^{m} i^2.

1.6: Par o Impar

Descripción

Este es un ejercicio fundamental de lógica condicional. El programa debe solicitar un número entero al usuario y determinar si es par (divisible por 2) o impar.

1.7: Signo de un Número

Descripción

El programa debe clasificar un número real (de punto flotante) ingresado por el usuario en una de tres categorías: positivo, negativo o cero.

1.8: Fórmulas Geométricas

1.8.1: Área de Triángulo (Base y Altura)

Descripción

Calcular el área de un triángulo a partir de las longitudes de su base y su altura. La fórmula es A=12bhA = \frac{1}{2} b \cdot h.

1.8.2: Área de Triángulo (Fórmula de Herón)

Descripción

Calcular el área de un triángulo conociendo únicamente la longitud de sus tres lados (a, b, c). Para esto se utiliza la fórmula de Herón.

1.8.3: Círculo

Descripción

Calcular el área y la circunferencia (perímetro) de un círculo a partir de su radio.

1.8.4: Trapecio

Descripción

Calcular el área de un trapecio dadas las longitudes de sus dos bases paralelas y su altura.

1.8.5: Polígono Regular

Descripción

Calcular el área de un polígono regular (lados y ángulos iguales) a partir del número de lados, la longitud de un lado y la apotema.

1.8.6: Rectángulo

Descripción

Calcular el área y el perímetro de un rectángulo dadas las longitudes de su largo y su ancho.

1.9: Conversiones de Unidades

1.9.1: Temperaturas

Descripción

Crear un programa que pueda convertir temperaturas entre las escalas Celsius, Fahrenheit y Kelvin.

1.9.2: Ángulos a Segundos

Descripción

Convertir una medida de ángulo dada en formato sexagesimal (grados, minutos y segundos) a su valor total equivalente en segundos.

1.10: Tabla de Multiplicar

Descripción

El programa debe solicitar un número entero al usuario y mostrar su tabla de multiplicar, desde el 1 hasta el 10.

1.11: Patrón de Asteriscos (Triángulo)

Descripción

Implementar un programa que pida un número n e imprima un triángulo rectángulo de n filas de altura, construido con asteriscos.

1.12: Calculadora Básica

Descripción

Crear un programa que funcione como una calculadora simple. Debe solicitar al usuario dos números y un carácter que represente la operación aritmética a realizar (+, -, *, /).

1.13: Adivina el Número

Descripción

Desarrollar un juego simple donde el programa genera un número secreto aleatorio y el usuario debe adivinarlo. El programa proporciona pistas para guiar al usuario.

1.14: Serie de Fibonacci (Iterativa)

Descripción

Generar y mostrar los primeros n términos de la serie de Fibonacci. En esta serie, cada número es la suma de los dos anteriores, comenzando con 0 y 1.

1.15: Cálculo de Interés Simple

Descripción

Implementar una función que calcule el monto final y el interés simple ganado a partir de un capital inicial, una tasa de interés anual y un período de tiempo en años.

1.16: Índice de Masa Corporal (IMC)

Descripción

Escribir un programa que calcule el Índice de Masa Corporal (IMC) de una persona y lo clasifique según las categorías de la OMS.

1.17: Días del Mes

Descripción

Crear un programa que, dado un mes (como número del 1 al 12) y un año, determine y muestre cuántos días tiene ese mes. Este ejercicio requiere manejar el caso especial de febrero en los años bisiestos.

1.18: Máximo de Tres Números

Descripción

El objetivo es encontrar el valor más grande entre tres números enteros proporcionados por el usuario. Este ejercicio se centra en el uso de condicionales anidados o operadores lógicos para realizar comparaciones múltiples.

1.19: Clasificación de Triángulo

Descripción

Dados los largos de tres lados, el programa debe determinar si pueden formar un triángulo válido y, en caso afirmativo, clasificarlo como equilátero (todos los lados iguales), isósceles (dos lados iguales) o escaleno (todos los lados diferentes).

1.20: Desglose de Billetes

Descripción

Dado un monto de dinero entero, el programa debe calcular la cantidad mínima de billetes de distintas denominaciones para representar dicho monto.

1.21: Piedra, Papel o Tijera

Descripción

Implementar el clásico juego de Piedra, Papel o Tijera para que un usuario juegue una partida contra la computadora.

1.22: Patrón de Pirámide

Descripción

Implementar un programa que pida un número n e imprima un triángulo rectángulo de n filas de altura, construido con asteriscos.

1.23: Validación de Contraseña Simple

Descripción

Crear un programa que solicite una contraseña al usuario y no le permita continuar hasta que ingrese la contraseña correcta. Este ejercicio practica el uso de lazos do-while y la comparación de cadenas.

1.24: Cajero Automático (Menú)

Descripción

Simular la interfaz de un menú de cajero automático. El programa debe mostrar una lista de opciones y ejecutar una acción simple según la elección del usuario, repitiendo el proceso hasta que el usuario decida salir.

1.25: Patrón de Rombo

Descripción

Implementar un programa que pida un número impar n e imprima un rombo de asteriscos de n filas de altura.

1.26: Promedio de N Números

Descripción

Escribir un programa que sea flexible en la cantidad de números a promediar. Primero debe preguntar al usuario cuántos números va a ingresar y luego calcular el promedio de esa cantidad de números.

1.27: Contador de Dígitos

Descripción

Crear una función que reciba un número entero y devuelva la cantidad de dígitos que lo componen.

1.28: Invertir un Número Entero

Descripción

Implementar una función que tome un número entero y devuelva otro número con los dígitos en orden inverso.

1.29: Potencia con Lazos

Descripción

Escribir una función que calcule base^exponente sin usar la función pow() de la biblioteca math.h. Debe funcionar para exponentes enteros no negativos.

1.30: Menú de Conversiones

Descripción

Crear un programa robusto que presente al usuario un menú con varias opciones de conversión de unidades (ej. Celsius a Fahrenheit, Metros a Pies, Kilogramos a Libras). El programa debe repetir el menú hasta que el usuario elija la opción de salir.

1.31: Validación de Fecha

Descripción

Crear una función que valide si una combinación de día, mes y año corresponde a una fecha real en el calendario gregoriano.

1.32: Dibujar un Cuadrado Hueco

Descripción

Pedir al usuario un número n y dibujar el contorno de un cuadrado de n x n utilizando asteriscos. El interior del cuadrado debe estar vacío.

1.33: Suma Separada de Pares e Impares

Descripción

Dado un rango de números [n, m], el programa debe calcular la suma de todos los números pares y la suma de todos los números impares de forma independiente y mostrar ambos resultados.

1.34: Número de la Suerte

Descripción

Un número de la suerte es un entero con una cantidad par de dígitos, donde la suma de los dígitos de la primera mitad es igual a la suma de los dígitos de la segunda mitad. El programa debe verificar si un número dado es de la suerte.