Fundamentos de Informática: Almacenamiento, Redes y Programación en C y Arduino

Unidades de Almacenamiento

  • BYTE = 8 bits
  • Kilobyte (KB) = 1024 Bytes = 2¹⁰ Bytes
  • Megabyte (MB) = 1024 KB = 2¹⁰ KB
  • Gigabyte (GB) = 1024 MB = 2¹⁰ MB
  • Terabyte (TB) = 1024 GB = 2¹⁰ GB
  • Petabyte (PB) = 1024 TB = 2¹⁰ TB

Nota: b = bit, B = Byte, 1 B = 8 b

Ejemplos de cálculo de almacenamiento

¿Cuántos archivos de 25 KB caben en un disco de 2 TB?

  • Pasar 2 TB a KB: 2 × 1024 × 1024 × 1024 = 2.147.483.648 KB
  • Dividir entre 25 KB: 2.147.483.648 ÷ 25 = 85.899.345 archivos

Cálculo de espacio en un pendrive de 10 GB:

  • Vídeos: 100 MB × 1024 = 102.400 KB; 102.400 KB × 20 = 2.048.000 KB
  • Fotos: 300 × 50 KB = 15.000 KB
  • Total ocupado: 2.048.000 + 15.000 = 2.063.000 KB
  • Capacidad total: 10 GB = 10.485.760 KB
  • Resultado: 10.485.760 KB > 2.063.000 KB (Sí caben)

Redes: Cálculo de Subredes

Ejemplo 1: IP 148.120.33.110 / 255.255.0.0

  • IP en binario: Convertir cada octeto a binario.
  • Máscara: 16 bits en 1, 16 bits en 0.
  • Dirección de red: Operación AND entre IP y máscara.
  • Dirección de broadcast: Poner la parte del host a 1s.
  • Nº de redes: 2^(bits de red) – 2.
  • Nº de equipos: 2^(bits de host) – 2.

Ejemplo 2: IP 172.16.8.48/27

  • Máscara: 255.255.255.224 (27 bits de red).
  • Dirección de red: 172.16.8.32.
  • Dirección de broadcast: 172.16.8.63.
  • Rango de equipos: 172.16.8.33 a 172.16.8.62.

Programación en C

Ejemplos de código

/* Programa: Área de un rectángulo */
#include <stdio.h>
main() {
  float base, altura, area;
  printf("Introducir la base del rectángulo:\n");
  scanf("%f", &base);
  printf("Introducir la altura del rectángulo:\n");
  scanf("%f", &altura);
  area = base * altura;
  printf("El área del rectángulo es: %f\n", area);
}

Estructuras de control

  • if/else: Descuentos y condiciones.
  • if/else if/else: Comparación de números.
  • while: Bucles contadores.
  • Funciones: Modularización del código (ej. cálculo de área).

Proyectos con Arduino

Componentes y lógica

  • LED con pulsador: Control digital de entrada/salida.
  • LED con potenciómetro: Uso de PWM (analogWrite) y función map().
  • Buzzer con sensor PIR: Detección de movimiento y generación de tonos.
  • Relé con sensor PIR: Automatización de iluminación.

Referencia rápida de comandos Arduino

  • Librerías: Servo.h, Wire.h, LiquidCrystal_I2C.h.
  • Entrada/Salida: pinMode(), digitalWrite(), digitalRead().
  • LCD: lcd.begin(), lcd.print(), lcd.setCursor().
  • Analógico: analogRead(), analogWrite(), map().
  • Control: if, else, while, for, delay().

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.