vb5f9dca
Curso

03 - Variables y Tipos de Datos

📋 Contenidos

Objetivos

Entender cómo representa C la información y cómo se manipula con operaciones básicas.

Contenidos

Variables e identificadores

Constantes y tipos de datos

Declaración e inicialización

Operadores y expresiones

División entera y módulo

Caracteres y ASCII

Material de Clase

Presentaciones

Práctico

Ver ejercicios

Repasar tipos de datos, operadores y formatos básicos antes de resolver los ejercicios de la semana.

Recordatorio rápido
  • Tipos básicos: int para enteros, float para decimales y char para un carácter.
  • Declaración e inicialización: podés declarar e inicializar en la misma línea, por ejemplo int edad = 20;.
  • Operadores aritméticos: +, -, *, / y %.
  • División entera vs. decimal: 5 / 2 da 2, mientras que 5.0 / 2 da 2.5.
  • Especificadores de formato: %d para int, %f para float y %c para char; en scanf recordar usar & con variables simples.

Ejercicio 1

Enunciado: Escribir un programa que declare e inicialice variables de diferentes tipos y las muestre.

Tareas:

  1. Declarar una variable int llamada edad con valor 20.
  2. Declarar una variable float llamada altura con valor 1.75.
  3. Declarar una variable char llamada inicial con valor 'M'.
  4. Mostrar todas las variables con mensajes descriptivos.
  5. Probar cambiando los valores iniciales y observando la salida.

Ejercicio 2

Enunciado: Escribir un programa que lea y muestre datos básicos de una persona.

Tareas:

  1. Leer por teclado:
    • un int para la edad,
    • un float para la altura en metros,
    • un char para la inicial del nombre.
  2. Mostrar los valores leídos con un mensaje claro, por ejemplo: "Edad: 20 años, Altura: 1.75 m, Inicial: M".
  3. Antes de ejecutar, hacer la traza de ejecución para la entrada edad=20, altura=1.75, inicial=‘M’ (tabla: Paso, edad, altura, inicial, Salida). Escribir la salida esperada.
  4. Probar el programa con al menos dos conjuntos de datos diferentes y verificar con la traza.

Ejercicio 3

Enunciado: Escribir un programa que lea dos números enteros y muestre el resultado de las operaciones aritméticas básicas.

Tareas:

  1. Leer dos números enteros.
  2. Calcular y mostrar: suma, resta, multiplicación, división entera y resto (%).
  3. Mostrar cada resultado con un mensaje claro.
  4. Sin ejecutar, hacer la traza de ejecución para numero1 = 10 y numero2 = 3 (tabla: Paso, numero1, numero2, y las variables de resultado que uses, Salida). Anotar la salida esperada.
  5. Probar con:
    • numero1 = 10, numero2 = 3,
    • numero1 = 7, numero2 = 2, y verificar que coinciden con la traza.

Ejercicio 4

Enunciado: Escribir un programa que calcule el promedio de tres números reales.

Tareas:

  1. Leer tres números de tipo float.
  2. Calcular el promedio usando división decimal.
  3. Mostrar el resultado con 2 decimales.
  4. Probar con los valores 5.0, 7.0 y 9.0.

Ejercicio 5

Enunciado: Escribir un programa que calcule el área de un rectángulo.

Tareas:

  1. Leer base y altura (pueden ser decimales).
  2. Calcular area = base * altura.
  3. Mostrar el resultado con 2 decimales.
  4. Probar con base = 4.0 y altura = 3.5.

Ejercicio 6

Enunciado: Escribir un programa que convierta kilómetros a metros y centímetros.

Tareas:

  1. Leer la distancia en kilómetros (tipo float).
  2. Calcular metros (1 km = 1000 m).
  3. Calcular centímetros (1 m = 100 cm).
  4. Mostrar los tres valores (km, m, cm) con 2 decimales.
  5. Probar con 3.5 km.

Ejercicio 7

Enunciado: Escribir un programa que calcule el perímetro y el área de un círculo.

Tareas:

  1. Leer el radio (tipo float).
  2. Usar pi = 3.14159.
  3. Calcular:
    • perímetro = 2 × pi × radio,
    • área = pi × radio².
  4. Mostrar ambos resultados con 2 decimales.
  5. Probar con radio = 2.0.

Ejercicio 8

Enunciado: Escribir un programa que convierta una cantidad de segundos en horas, minutos y segundos.

Tareas:

  1. Leer un valor entero que represente segundos totales.
  2. Calcular:
    • horas = segundos_totales / 3600,
    • minutos = (segundos_totales % 3600) / 60,
    • segundos = segundos_totales % 60.
  3. Mostrar el resultado formateado, por ejemplo: "3600 segundos = 1 horas, 0 minutos, 0 segundos".
  4. Probar con 3665 segundos.

Ejercicio 9

Enunciado: Escribir un programa que calcule la propina del 10% sobre el total de una cuenta.

Tareas:

  1. Leer el total de la cuenta (tipo float).
  2. Calcular la propina (10% del total).
  3. Calcular el total a pagar (cuenta + propina).
  4. Mostrar desglose: cuenta, propina y total.
  5. Probar con una cuenta de 850.00.

Ejercicio 10

Enunciado: Escribir un programa que calcule el interés simple y el monto final.

Tareas:

  1. Leer capital, tasa de interés (en %) y tiempo (en años) como float.
  2. Calcular:
    • interés = capital × tasa × tiempo / 100,
    • monto_final = capital + interés.
  3. Mostrar capital, tasa, tiempo, interés y monto final.
  4. Probar con capital = 1000, tasa = 5 y tiempo = 2.

Ejercicio 11

Enunciado: Escribir un programa que calcule el volumen de un cilindro.

Tareas:

  1. Leer radio y altura (pueden ser decimales).
  2. Usar pi = 3.14159.
  3. Calcular volumen = pi × radio² × altura.
  4. Mostrar el resultado con 2 decimales.
  5. Probar con radio = 2.0 y altura = 5.0.

Ejercicio 12

Enunciado: Escribir un programa que desglose una cantidad de dinero en billetes de 1000, 500, 100, 50 y 10 pesos.

Tareas:

  1. Leer una cantidad de dinero entera (múltiplo de 10).
  2. Calcular cuántos billetes de cada tipo se necesitan usando división entera y módulo.
  3. Mostrar cuántos billetes de cada denominación se utilizan.
  4. Probar con 2860 pesos.

Pista: Empezar por la denominación más grande (1000) y seguir con las más pequeñas.


Ejercicio 13

Enunciado: Escribir un programa que calcule el promedio ponderado de tres calificaciones con pesos diferentes.

Tareas:

  1. Leer tres calificaciones (float) y sus tres pesos (float).
  2. Calcular promedio_ponderado = (c1×p1 + c2×p2 + c3×p3) / (p1 + p2 + p3).
  3. Mostrar el promedio con 2 decimales.
  4. Probar con calificaciones 7, 8 y 9, y pesos 1, 2 y 3.

Ejercicio 14

Enunciado: El siguiente programa tiene errores de sintaxis. Identificarlos y corregirlos.

#include <stdio.h>

int main() {
    int x = 5
    float y = 3.5;
    printf("%d %f", x, y);
    return 0;
}

Tareas:

  1. Encontrar todos los errores de sintaxis.
  2. Escribir una versión corregida del programa.
  3. Compilar y ejecutar la versión corregida para verificar el resultado.

Ejercicio 15

Enunciado: El siguiente programa intenta calcular un resultado decimal, pero no lo hace correctamente.

#include <stdio.h>

int main() {
    int a = 10;
    int b = 3;
    float resultado = a / b;
    printf("%f\n", resultado);
    return 0;
}

Tareas:

  1. Explicar por qué el resultado no es 3.33 como se esperaría.
  2. Modificar el programa para obtener un resultado decimal correcto.
  3. Probar con otros valores de a y b.

Ejercicio 16

Enunciado: El siguiente programa compila, pero muestra un valor no confiable.

#include <stdio.h>

int main() {
    int edad;
    printf("Edad: %d\n", edad);
    return 0;
}

Tareas:

  1. Explicar por qué el valor mostrado no es confiable.
  2. Modificar el programa para usar una variable edad correctamente inicializada o leída desde teclado.
  3. Probar la versión corregida.

Ejercicio 17

Enunciado: Escribir un programa que lea un carácter e imprima:

  • el carácter ingresado,
  • su código ASCII,
  • y el carácter siguiente en la tabla ASCII.

Tareas:

  1. Leer un char con scanf.
  2. Mostrar el carácter con %c.
  3. Mostrar su código con %d.
  4. Calcular y mostrar el carácter siguiente usando una expresión aritmética simple.
  5. Probar con A, m y 5.

Ejercicio 18

Enunciado: Analizar cómo cambia el resultado de una expresión según el uso de paréntesis.

Se consideran las expresiones:

resultado1 = a + b * c;
resultado2 = (a + b) * c;
resultado3 = a + (b * c);

Tareas:

  1. Tomar a = 2, b = 3, c = 4 y calcular a mano los tres resultados.
  2. Explicar por qué resultado1 y resultado3 coinciden.
  3. Escribir un programa en C que muestre los tres resultados.
  4. Probar con otro conjunto de valores.

Recursos

Para Practicar

Bibliografía