Skip to content

AlanGlzQ/Programacion-Estructurada

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Programación Estructurada en C y C++

Conjunto de ejercicios en C y C++ pensados para practicar desde lo más básico hasta problemas más complejos de programación estructurada y modular.

Este repositorio es un campo de entrenamiento: refuerza lógica, sintaxis y buenas prácticas mientras resuelves ejercicios reales.


Objetivo del repositorio

  • Practicar los fundamentos de la programación estructurada.
  • Reforzar el uso de secuencias, condicionales e iteraciones.
  • Introducir funciones, modularización y punteros (cuando aplica).
  • Mantener un histórico de ejercicios que muestren tu avance en C/C++.

Temas que se practican

  • Entrada y salida (scanf/printf, cin/cout, fgets).
  • Operaciones aritméticas y lógicas.
  • Estructuras de control:
    • if, else, switch
    • while, for, do...while
  • Funciones y paso de parámetros.
  • Arreglos, cadenas y matrices.
  • (Donde aplica) Punteros y manejo básico de memoria.
  • (Donde aplica) Introducción a estructuras más grandes en C++.

Nota: los nombres de las carpetas siguen la estructura usada en clase (por ejemplo: j1pro..., j2pro..., etc.). Cada carpeta agrupa ejercicios de una práctica/sesión.


Cómo usar este repo

  • Abre la carpeta del ejercicio en tu IDE/editor (VS Code, Code::Blocks, CLion, etc.).
  • Compila y ejecuta el archivo principal.
  • Si quieres navegar rápido, usa la tabla índice de abajo.

Tip: si usas VS Code, configura tareas de compilación para C y C++ (gcc/g++).


⭐ Recomendados para revisar primero

Ejercicio Tema Qué practica Link
j8 Conversión °F→°C Aritmética + salida formateada Ver j8
j23 Menú + switch Selección múltiple + organización Ver j23
j28 do-while + chars Ciclos + ASCII Ver j28
j41 Matrices + sumatorias Matriz tabular + suma de filas/columnas Ver j41
j51 CRUD con struct Modularidad + manejo de cadenas Ver j51
j55 Registros eliminados Reutilización de espacios + structs anidados Ver j55

Índice de ejercicios (tabla)

Reemplaza los links ./jX por la ruta real de cada carpeta (ej. ./j8pro...).

Ejercicio Lenguaje Tópico principal Descripción corta Link
j1 C Variables Área de triángulo (sin entrada) Abrir
j2 C Variables Área de triángulo (sin entrada) Abrir
j4 C Aritmética Operaciones básicas con dos enteros Abrir
j5 C Constantes / float Área de círculo (sin entrada) Abrir
j7 C++ Aritmética Conversión °C → °F Abrir
j8 C++ Aritmética °F → °C aproximada y exacta Abrir
j9 C Entrada/Salida Área de círculo con scanf Abrir
j11 C Variables Intercambio de 3 variables Abrir
j12 C Porcentajes Porcentaje de asistencias Abrir
j13 C Arreglos Vector * factor (sin iteraciones) Abrir
j14 C struct Registro Alumno Abrir
j15 C struct Registros Árbol y Libro Abrir
j16 C struct Alumno + Carrera Abrir
j17 C++ Condicional Descuento con 1 variable y 1 if Abrir
j18 C++ Comparación 3 enteros en orden creciente Abrir
j19 C++ Condicional Incremento de salario por rangos Abrir
j20 C switch / fechas Mes, día y estación Abrir
j21 C Condicional Año bisiesto Abrir
j22 C++ switch Calculadora por operador Abrir
j23 C++ Menú + switch Áreas de figuras Abrir
j24 C++ Menú + IVA Peaje por tipo de vehículo Abrir
j25 C Operadores Operador elegido por el usuario Abrir
j26 C Condicional Transformación usando una sola variable Abrir
j27 C Tiempo Diferencia de tiempos HH:MM:SS Abrir
j28 C do-while / caracteres Abecedario Aa, Bb, Cc… (mayús/minús) Abrir
j40 C++ Iteración Imprime 1..k repetidos y calcula suma/producto por línea Abrir
j41 C Matrices Matriz 4×5 con sumas por fila y columna Abrir
j43 C/C++ Matrices Multiplicación de matrices con valores secuenciales Abrir
j44 C/C++ Matrices + modularidad Stats de matriz 4×4 (suma, prom, min/max y conteos) Abrir
j51 C struct / CRUD Sistema ABC (altas, bajas, cambios) con registros estáticos Abrir
j55 C struct avanzado Materias + prerrequisitos con “recorrer registros eliminados” Abrir

Descripción detallada (por ejercicio)

j1 – Área de triángulo (C)

Calcula el área de un triángulo usando variables a, b y h de tipo int. No solicita datos al usuario.

j2 – Área de triángulo (C)

Igual que j1, pero usando variables areaTriangulo, base y altura. No solicita datos al usuario.

j4 – Operaciones básicas con dos enteros (C)

Pide dos enteros a y b y calcula: a+b, a-b, b-a, a*b, a/b, b/a, a%b, b%a, mostrando resultados.

j5 – Área de círculo sin entrada (C)

Calcula el área de un círculo con variables a, r y pi de tipo float. No pide datos al usuario.

j7 – Conversión °C → °F (C++)

Pide una temperatura en Celsius y calcula Fahrenheit con F = 1.8 * C + 32.

j8 – Conversión °F → °C aproximada y exacta (C++)

Pide Fahrenheit y muestra conversión aproximada y exacta.

j9 – Área de círculo con entrada (C)

Usa scanf() para leer el radio y calcula el área.

j11 – Intercambio de tres variables (C)

Muestra valores originales, intercambia a, b, c y vuelve a imprimir.

j12 – Porcentaje de asistencias (C)

Con MAXIMO_ASISTENCIAS = 34, pide faltas y calcula porcentaje.

j13 – Vector y factor multiplicador (C)

Lee 10 enteros, luego un factor. Multiplica y guarda en un segundo arreglo.
Restricción: no usar estructuras iterativas.

j14 – Registro Alumno (C)

struct Alumno con 3 campos: cadena, entero y flotante.

j15 – Registros Arbol y Libro (C)

struct Arbol y struct Libro, lectura e impresión.

j16 – Alumno + Carrera (C)

Agrega struct Carrera y relaciona idCarrera con Alumno.

j17 – Descuento en tienda (C++)

Si compra ≥ $50 aplica 20% de descuento.
Restricción: solo 1 variable y 1 if sin else.

j18 – Tres enteros en orden creciente (C++)

Determina si tres enteros distintos están en orden creciente.

j19 – Incremento de salario (C++)

Calcula nuevo salario aplicando criterio por rangos.

j20 – Mes, día y estación (C)

Imprime nombre del mes y estación del año según fecha.

j21 – Año bisiesto (C)

Reglas 4/100/400 para bisiesto.

j22 – Calculadora con switch (C++)

Solicita operandos + operador y resuelve con switch.

j23 – Áreas de figuras con menú (C++)

Menú de figuras y cálculo de área con switch.

j24 – Peaje en autopista (C++)

Importe por tipo de vehículo + IVA (16%).

j25 – Operador elegido por el usuario (C)

Pide operador, luego a y b, imprime operación y resultado.

j26 – Transformación de un solo valor (C)

Manipula x con reglas según signo, paridad y rangos.

j27 – Diferencia de tiempos HH:MM:SS (C)

Calcula tiempo transcurrido o avisa si final < inicial.

j28 – Abecedario con `do-while` (C)

Imprime el abecedario en formato Aa, Bb, Cc, … usando un ciclo do...while.
Sirve como ejemplo de manejo de caracteres y recorrido de rangos en ASCII.

j40 – Repetición 1..k con suma y multiplicación (C++)

Solicita un entero positivo k y, para cada número n de 1 a k:

  • Imprime n repetido n veces.
  • Calcula e imprime:
    • la suma de esa repetición,
    • y la multiplicación de esa repetición.

Ejemplo para k = 4:

  • 1 = 1, 1 = 1
  • 2 + 2 = 4, 2 x 2 = 4
  • 3 + 3 + 3 = 9, 3 x 3 x 3 = 27
  • 4 + 4 + 4 + 4 = 16, 4 x 4 x 4 x 4 = 256
j41 – Matriz con sumatorias de filas y columnas (C)

Gestiona una matriz 4×5 rellena con valores secuenciales a partir de un número inicial.

  • Suma cada fila y almacena el resultado en un vector lateral.
  • Suma cada columna y almacena el resultado en un vector inferior.
  • Imprime la matriz en formato tabular, alineando las sumatorias.
j43 – Multiplicación de matrices con valores secuenciales (C/C++)

Implementa la multiplicación matricial de 2 matrices inicializadas con valores secuenciales.

  • Pide un valor inicial al usuario.
  • Inicializa cada celda de ambas matrices con valores diferentes a partir de ese valor.
  • Imprime: matriz A, matriz B y la matriz resultante.
j44 – Matriz 4×4: suma, promedio, min/max y conteos (C/C++)

Solicita valores reales para una matriz 4×4 y muestra:

  • Contenido de la matriz.
  • Suma y promedio de los elementos.
  • Posición y valor del elemento menor: [i, j] = x
  • Posición y valor del elemento mayor: [i, j] = x
  • Conteos:
    • cuántos elementos son iguales al menor,
    • cuántos elementos son iguales al mayor,
    • cuántos son mayores al menor,
    • cuántos son menores al mayor.

Requiere programación modular: al menos una subrutina fuera de main que resuelva uno de los incisos.

j51 – Sistema ABC con registros estáticos (C)

Implementa un sistema básico de Altas, Bajas y Cambios (CRUD/ABC) usando struct.

  • Usa un arreglo de registros y funciones modulares para:
    • registrar elementos,
    • eliminarlos,
    • listarlos,
    • o buscar por posición.
  • Incluye manejo de cadenas con fgets y limpieza de buffer para mejorar robustez.
j55 – Gestión de materias con “registros eliminados” (C)

Sistema para gestionar materias y sus prerrequisitos (hasta 3 por materia).

  • Implementa la técnica de recorrer registros eliminados:
    • mantiene un arreglo de estado para marcar espacios libres,
    • y reutiliza esos espacios en nuevas altas sin mover los demás datos.
  • Usa estructuras anidadas para organizar materias y requisitos.

About

Conjunto de códigos, desde lo mas básico hasta códigos complejos de programación estructurada y modular en distintos lenguajes de programación

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors