📚 Historia de la Computación

Del Ábaco al Ordenador Moderno

📖 Leyenda

Máquinas y Conceptos Fundamentales
Invenciones Importantes
c. 3000 a.C.

Ábaco Sumerio

Autor desconocido

Primer instrumento de cálculo sistemático. Introduce la idea de representar cantidades de forma ordenada y manipulable, antecedente lejano de la abstracción numérica que utilizan los computadores.

c. 1000 a.C.

Ábaco Chino (Suan-pan)

Autor desconocido

Sistema de cálculo rápido y repetible para operaciones aritméticas. Muestra cómo un dispositivo físico puede acelerar y sistematizar el procesamiento de números, anticipando la función básica de las calculadoras y computadores.

c. 500 a.C.

Sistema Numérico Hindu-Árabe

Matemáticos de la India

Introduce el cero y la notación posicional decimal. Sin este sistema, los algoritmos serían mucho más complejos; proporciona la base numérica con la que después trabajarían tanto la matemática formal como los sistemas de cómputo.

c. 150 a.C.

Mecanismo de Anticitera

Autor desconocido

Demuestra que es posible codificar modelos matemáticos complejos en engranajes físicos. Es un antecedente directo de la idea de "máquina que calcula" sin intervención humana paso a paso.

Primer computador analógico
820 d.C.

Álgebra

Al-Juarismi (Al-Khwarizmi)

Formaliza procedimientos generales para resolver problemas mediante símbolos. A partir de aquí, los métodos dejan de ser recetas aisladas y pasan a ser algoritmos, concepto central en todo programa de ordenador.

1614

Logaritmos

John Napier

Transforman operaciones difíciles (multiplicaciones, potencias) en operaciones más simples (sumas). Este tipo de reformulación anticipa la optimización algorítmica que realizan luego los computadores para acelerar cálculos.

1623

Calculadora Mecánica

Wilhelm Schickard

Automatiza operaciones aritméticas básicas con ruedas y engranajes. Marca el paso de la mente humana al dispositivo físico como ejecutor del cálculo, antecediendo la idea de hardware dedicado al procesamiento numérico.

1642

Pascalina

Blaise Pascal

Refina la calculadora mecánica para uso cotidiano, facilitando sumas y restas con fiabilidad. Consolida el concepto de máquina de cálculo como herramienta práctica, indispensable para imaginar después computadores de propósito general.

1679

Sistema Binario

Gottfried Wilhelm Leibniz

Propone representar toda cantidad solo con dos símbolos (0 y 1). Esta simplificación encaja de forma natural con los estados físicos de los circuitos (encendido/apagado) y se convierte en el lenguaje interno de los computadores digitales.

Base de la computación digital
1801

⭐ Telar de Jacquard

Joseph Marie Jacquard

Aplica tarjetas perforadas para controlar automáticamente los patrones del tejido. Es una de las primeras demostraciones de que una máquina puede seguir instrucciones externas codificadas, un antecedente directo del concepto de programa.

🔑 Concepto Fundamental
💡 Contribución: Introduce la idea de almacenamiento físico de instrucciones y de "programar" una máquina sin modificar su mecanismo interno.
1822

Máquina de Diferencias

Charles Babbage

Automatiza el cálculo de tablas matemáticas reduciendo errores humanos. Es un paso clave hacia máquinas diseñadas específicamente para ejecutar de forma fiable y repetible tareas numéricas complejas.

1837

⭐ Máquina Analítica

Charles Babbage

Diseño de un dispositivo con unidad de cálculo, memoria y lectura de tarjetas perforadas. Es el primer modelo de computador de propósito general, con una arquitectura reconocible en los sistemas actuales.

🔑 Concepto Fundamental
💡 Contribución: Define la estructura lógica (memoria, procesador, entrada y salida) que sirve de base a la arquitectura de von Neumann y a los computadores modernos.
1843

⭐ Primer Algoritmo de Computador

Ada Lovelace

Escribe un programa detallado para la Máquina Analítica que calcula números de Bernoulli. Es el primer ejemplo claro de software independiente del hardware.

🔑 Concepto Fundamental
💡 Contribución: Muestra que una máquina puede manipular símbolos según reglas generales, inaugurando la noción de programación y del rol del programador.
1854

Álgebra Booleana

George Boole

Construye un sistema lógico basado en valores binarios (verdadero/falso). Este marco lógico se adapta perfectamente al sistema binario y se convierte en la base teórica del diseño de circuitos digitales.

Lógica digital
1890

⭐ Máquina Tabuladora

Herman Hollerith

Utiliza tarjetas perforadas y sistemas electromecánicos para procesar grandes volúmenes de datos censales. Demuestra el valor económico del procesamiento automático de información.

🔑 Concepto Fundamental
💡 Contribución: Abre el camino a la informática de gestión y a las grandes empresas de tecnología (como IBM), mostrando que el cómputo masivo es un negocio y una necesidad social.
1936

⭐ Máquina de Turing

Alan Turing

Propone un modelo abstracto capaz de ejecutar cualquier algoritmo describible. Define de forma rigurosa qué significa "calcular" y qué problemas son computables.

🔑 Concepto Fundamental
💡 Contribución: Sirve de referencia teórica para el diseño de computadores universales y para entender los límites de lo que una máquina puede o no puede resolver.
1937

Álgebra Booleana en Circuitos

Claude Shannon

Demuestra que las expresiones de álgebra booleana pueden implementarse con interruptores eléctricos. Une la teoría lógica y la ingeniería eléctrica, dando origen al circuito digital moderno.

1947

⭐ Transistor

John Bardeen, Walter Brattain y William Shockley

Reemplaza las voluminosas y frágiles válvulas de vacío por un dispositivo semiconductor pequeño, robusto y eficiente para amplificar y conmutar señales eléctricas.

🔑 Concepto Fundamental
💡 Contribución: Hace posible la miniaturización extrema de los componentes, condición indispensable para construir circuitos integrados, microprocesadores y computadores personales.
1948

Teoría de la Información

Claude Shannon

Define el bit como unidad fundamental de información y establece límites teóricos para la compresión y transmisión de datos. Proporciona el marco matemático para las comunicaciones digitales y el almacenamiento fiable.

1965

Ley de Moore

Gordon Moore

Observa que el número de transistores en un chip se duplica aproximadamente cada dos años. Esta tendencia guía el desarrollo de la industria y explica el crecimiento exponencial de la potencia de los computadores.

🎯 Pon a Prueba tus Conocimientos

Verifica cuánto has aprendido sobre la historia de la computación.

Pregunta 1: ¿Qué invención introdujo el concepto de "programar" una máquina usando tarjetas perforadas?

  • Máquina Analítica
  • Telar de Jacquard
  • Pascalina
  • Máquina Tabuladora

Pregunta 2: ¿Quién escribió el primer algoritmo destinado a ser procesado por una máquina?

  • Charles Babbage
  • Ada Lovelace
  • Alan Turing
  • George Boole

Pregunta 3: ¿Qué sistema numérico es la base de todos los computadores digitales modernos?

  • Sistema decimal
  • Sistema binario
  • Sistema hexadecimal
  • Sistema octal

Pregunta 4: ¿Qué componente revolucionó la computación al permitir la miniaturización de circuitos?

  • Válvula de vacío
  • Transistor
  • Relé electromecánico
  • Condensador

Pregunta 5: ¿Qué modelo teórico define los límites de lo que una máquina puede computar?

  • Álgebra Booleana
  • Teoría de la Información
  • Máquina de Turing
  • Ley de Moore

Pregunta 6: ¿Qué invención de Babbage sentó las bases de la arquitectura de los computadores modernos?

  • Máquina de Diferencias
  • Máquina Analítica
  • Telar de Jacquard
  • Pascalina

💬 Espacio de intercambio

A lo largo de esta línea del tiempo hemos identificado avances que, en conjunto, hicieron posible el ordenador actual. No todos tuvieron el mismo impacto ni en el mismo momento histórico, pero cada uno añadió una pieza clave al rompecabezas de la computación.

💡 Preguntas para reflexionar:

  • ¿Qué invención consideras más decisiva para la aparición del computador moderno?
  • Imagina un mundo sin sistema binario: ¿cómo habría cambiado el diseño de los computadores digitales?
  • Compara el peso relativo de la Máquina Analítica (hardware) y del primer algoritmo de Ada Lovelace (software) en la historia de la computación.
  • ¿Hasta qué punto el Telar de Jacquard puede considerarse un "programa" en el sentido moderno del término?
  • Reflexiona sobre el papel del transistor: ¿es solo un componente electrónico más o el verdadero motor de la revolución digital?
  • ¿Te parece que la Máquina de Turing es, sobre todo, un concepto filosófico o una herramienta concreta para diseñar máquinas reales?
  • Elige una de las invenciones menos conocidas de la línea del tiempo y defiende por qué merece más reconocimiento.

Elige una pregunta y respóndela en el Foro de la clase. ¡Seguimos el intercambio por allá!

📚 Referencias

🤖 Anatomía de un Ordenador

Descubre cómo funciona el cerebro de la tecnología moderna

¿Qué es una Computadora?

Una computadora es un sistema informático compuesto por dos aspectos básicos:

Componentes de una Computadora

  • Hardware: Soporte físico (componentes tangibles) – Todo lo que puedes tocar
  • Software: Programas y aplicaciones (componentes intangibles) – Las instrucciones que hacen funcionar el hardware

Funciona como un sistema integrado donde cada componente tiene una función específica:

Recibir información
Procesarla
Almacenarla
Mostrar resultados

Las Piezas Principales de la Máquina

🧠

CPU

El Cerebro Principal

Realiza pocas tareas, pero de forma ultrarrápida y compleja. Es el procesador central que ejecuta las instrucciones de los programas.

🎮

GPU

El Procesador Gráfico

Realiza miles de tareas simples a la vez. Ideal para gráficos, videojuegos y cálculos paralelos.

Memoria RAM

Memoria de Corto Plazo

Rápida pero volátil. Almacena temporalmente los datos que el procesador necesita en este momento. Se borra al apagar el ordenador.

💽

Disco Duro / SSD

Memoria de Largo Plazo

Más lenta pero permanente. Guarda tus archivos, programas y sistema operativo de forma permanente.

¿Cómo Funciona un Ordenador?

El ordenador sigue un ciclo continuo de cuatro pasos fundamentales:

1

Recibir

Entrada de información a través de teclado, ratón, micrófono, cámara, etc.

2

Procesar

La CPU y GPU procesan los datos según las instrucciones del software.

3

Almacenar

Los datos se guardan temporalmente en RAM o permanentemente en disco.

4

Mostrar

Los resultados se muestran en pantalla, altavoces, impresora, etc.

Procesamiento: El Cerebro del Ordenador

🧠 CPU (Procesador Central)

El cerebro principal del ordenador

  • Ejecuta instrucciones de programas
  • Realiza cálculos complejos
  • Coordina todos los componentes
  • Procesa tareas de forma secuencial
  • Ideal para: navegación web, documentos, cálculos
Analogía: Un genio que resuelve problemas difíciles uno a la vez

🎮 GPU (Procesador Gráfico)

El especialista en tareas paralelas

  • Miles de núcleos pequeños
  • Procesa muchas tareas simples simultáneamente
  • Renderiza gráficos y vídeos
  • Acelera inteligencia artificial
  • Ideal para: videojuegos, edición de vídeo, 3D
Analogía: Un ejército de trabajadores haciendo tareas simples al mismo tiempo

Almacenamiento: La Memoria del Ordenador

Memoria RAM

Memoria de trabajo temporal

  • Extremadamente rápida
  • Volátil (se borra al apagar)
  • Almacena datos en uso activo
  • Capacidad: 4GB – 64GB típicamente
  • Acceso instantáneo a los datos
Analogía: Tu memoria a corto plazo – recuerdas lo que estás haciendo ahora

💽 Disco Duro / SSD

Almacenamiento permanente

  • Más lento que la RAM
  • Permanente (no se borra al apagar)
  • Guarda archivos, programas, sistema operativo
  • Capacidad: 256GB – varios TB
  • SSD es mucho más rápido que HDD tradicional
Analogía: Tu memoria a largo plazo – recuerdos que guardas para siempre

🎯 Pon a Prueba tus Conocimientos

Ahora que conoces la anatomía de un ordenador, veamos si puedes identificar correctamente cada componente.

Pregunta 1: ¿Qué componente es responsable de ejecutar las instrucciones de los programas de forma ultrarrápida?

  • CPU
  • GPU
  • RAM
  • SSD

Pregunta 2: ¿Qué tipo de memoria se borra cuando apagas el ordenador?

  • Disco Duro
  • RAM
  • SSD
  • USB

Pregunta 3: ¿Qué componente es ideal para renderizar gráficos de videojuegos?

  • CPU
  • GPU
  • RAM
  • Disco Duro

💻 Fundamentos de la Programación

Aprende a hablar el idioma de las máquinas

¿Qué es Programar?

Programar es, en esencia, escribir una serie de instrucciones claras y ordenadas (un algoritmo) que el ordenador debe seguir.

🍳 Darle una Receta al Ordenador

Imagina que estás escribiendo una receta de cocina para alguien que nunca ha cocinado. Debes ser muy específico y claro en cada paso.

📝
Escribes la receta
(Tu código)
📳
Se traduce
(Compilador/Intérprete)
🖥️
El ordenador ejecuta
(Lenguaje de máquina)

Esta "receta" se escribe en un lenguaje de programación (JavaScript, Python, etc.). El problema es que el ordenador no entiende nuestro lenguaje directamente. Necesita una traducción a su propio idioma: el lenguaje de máquina (0s y 1s).

La Traducción: Compilado o Interpretado

Existen dos formas principales de traducir nuestro código al lenguaje que entiende el ordenador:

📜
Lenguajes Compilados
Ejemplos: C++, Rust, Go

Un traductor (el compilador) traduce la receta entera de una sola vez y te entrega un archivo ejecutable final.

✓ Ventajas:

  • Ya tiene todo traducido y optimizado
  • Ejecución muy rápida
  • Detecta errores antes de ejecutar
  • Ideal para aplicaciones de alto rendimiento

✗ Desventajas:

  • Si quieres cambiar algo, hay que volver a compilar todo
  • Proceso de desarrollo más lento
  • Menos flexible para cambios rápidos
🔄
Lenguajes Interpretados
Ejemplos: JavaScript, Python, Ruby

Tienes un traductor (el intérprete) que va traduciendo cada paso, uno por uno, sobre la marcha.

✓ Ventajas:

  • Muy flexible y fácil de modificar
  • Puedes cambiar un paso sin empezar de nuevo
  • Desarrollo más rápido
  • Ideal para prototipos y desarrollo web

✗ Desventajas:

  • El proceso total es un poco más lento
  • Errores se descubren durante la ejecución
  • Requiere el intérprete instalado

Tipos de Lenguajes: Estáticos o Dinámicos

Los lenguajes también se diferencian en cómo organizan y gestionan los datos:

🏷️
Lenguajes Estáticos
Ejemplos: Java, C++, TypeScript

🍷 Analogía: La Bodega Organizada

Eres muy organizado. Cada estante tiene una etiqueta clara: "Vinos Tintos de Rioja", "Vinos Blancos de Rueda".

No puedes poner un vino blanco en el estante de los tintos. El sistema te avisa del error antes de empezar.

  • Ventaja: Muy seguro y predecible
  • Ventaja: Detecta errores antes de ejecutar
  • Ventaja: Ideal para sistemas complejos
  • Uso: Aplicaciones empresariales, sistemas críticos
🎨
Lenguajes Dinámicos
Ejemplos: JavaScript, Python, Ruby

🍷 Analogía: La Bodega Flexible

Eres más flexible. Tienes un gran estante para "Vinos". Pones una botella y el sistema "adivina" qué tipo de vino es al mirarla.

Puedes cambiar el tipo de contenido fácilmente. Más libertad, pero menos control previo.

  • Ventaja: Más rápido para empezar a programar
  • Ventaja: Muy flexible y expresivo
  • Ventaja: Menos código para escribir
  • Uso: Desarrollo web, scripts, prototipado rápido

¿Qué Lenguaje Elegir?

No hay un lenguaje mejor, apenas el más adecuado para la tarea. Cada lenguaje tiene sus fortalezas y casos de uso ideales:

C y C++
Compilado Estático

Máxima velocidad. Ideal para videojuegos, sistemas operativos, aplicaciones de alto rendimiento.

🐍
Python
Interpretado Dinámico

Fácil de aprender y muy versátil. Ideal para ciencia de datos, inteligencia artificial y prototipos rápidos.

Java
Compilado Estático

Robusto, seguro y multiplataforma. Ideal para grandes sistemas bancarios y de empresa.

🌐
JavaScript
Interpretado Dinámico

Esencial para el desarrollo web. Funciona en navegadores y servidores. El lenguaje de la web moderna.

🎮 Demo Interactiva: Tu Primer Programa

Veamos un ejemplo simple de código en JavaScript. Este programa saluda al usuario y realiza un cálculo básico:

Código JavaScript:

let nombre = "Estudiante"; let edad = 25; let añoNacimiento = 2026 - edad; console.log("¡Hola, " + nombre + "!"); console.log("Tienes " + edad + " años."); console.log("Naciste aproximadamente en " + añoNacimiento);
¡Hola, Estudiante!
Tienes 25 años.
Naciste aproximadamente en 2001

💡 Conceptos Clave

En este simple programa vemos los fundamentos de la programación:

Variables (almacenar datos) + Operaciones (procesar) + Salida (mostrar resultados)

Estos tres elementos son la base de cualquier programa, sin importar el lenguaje que uses.

🎯 Resumen Final

Los Pilares de la Programación

1
Algoritmo

Serie de instrucciones claras y ordenadas que resuelven un problema.

2
Lenguaje

La sintaxis que usamos para escribir las instrucciones (JavaScript, Python, etc.).

3
Traducción

Compilador o intérprete que convierte nuestro código a lenguaje de máquina.

4
Ejecución

El ordenador ejecuta las instrucciones y produce un resultado.

🚀 ¡Ahora estás listo para comenzar tu viaje en la programación!

🎯 Pon a Prueba tus Conocimientos

Ahora que conoces los fundamentos de la programación, veamos si puedes responder correctamente.

Pregunta 1: ¿Qué es programar?

  • Diseñar el hardware de un ordenador
  • Escribir una serie de instrucciones claras y ordenadas que el ordenador debe seguir
  • Instalar aplicaciones en el ordenador
  • Conectar dispositivos periféricos

Pregunta 2: ¿Qué hace un compilador?

  • Traduce el código línea por línea durante la ejecución
  • Ejecuta el programa directamente sin traducción
  • Traduce todo el código de una sola vez y genera un archivo ejecutable
  • Detecta virus en el código

Pregunta 3: ¿Cuál es una ventaja de los lenguajes interpretados?

  • Ejecución más rápida que los compilados
  • Mayor flexibilidad y desarrollo más rápido
  • No requieren ningún software adicional
  • Detectan todos los errores antes de ejecutar

Pregunta 4: ¿Qué caracteriza a un lenguaje de tipado estático?

  • Permite cambiar el tipo de datos de una variable en cualquier momento
  • Requiere definir el tipo de datos y detecta errores antes de ejecutar
  • Es más rápido para empezar a programar
  • Solo funciona en navegadores web

Pregunta 5: ¿Qué lenguaje es ideal para ciencia de datos e inteligencia artificial?

  • C++
  • Python
  • Java
  • JavaScript

Pregunta 6: ¿Cuáles son los tres elementos base de cualquier programa?

  • Hardware, Software y Red
  • Compilador, Intérprete y Ejecutable
  • Variables (almacenar datos), Operaciones (procesar) y Salida (mostrar resultados)
  • CPU, RAM y Disco Duro

🚀 Iniciación a JavaScript

Tu primer paso en el mundo de la programación web

📖 Introducción

JavaScript es uno de los lenguajes de programación más populares del mundo. Originalmente fue creado para dar vida a las páginas web, pero hoy en día se utiliza en servidores, aplicaciones móviles, videojuegos y mucho más.

🎯 Objetivos de esta lección

  • Hacer que un programa escriba un mensaje en la consola
  • Entender qué es una variable
  • Diferenciar entre los tipos de datos más importantes (números, texto, etc.)
  • Crear (declarar) y dar valor (asignar) a nuestras propias variables

🛠️ Preparación del Ambiente

Antes de escribir código, necesitamos instalar dos herramientas fundamentales:

Visual Studio Code

Es un editor de código gratuito y muy potente. Piensa en él como un "Word" especializado para programadores. Descárgalo desde: https://code.visualstudio.com/

Node.js

Es un entorno que permite ejecutar JavaScript fuera del navegador. Descárgalo desde: https://nodejs.org/

✅ Pasos para ejecutar tu primer script

  1. Abre VS Code
  2. Crea una carpeta para tu proyecto y ábrela en VS Code
  3. Crea un archivo nuevo llamado script.js
  4. Escribe tu código JavaScript
  5. Abre el terminal (Ctrl + Shift + ñ)
  6. Ejecuta: node script.js

✨ JavaScript: El Lenguaje que da Vida a la Web

¿Sabías que JavaScript está presente en prácticamente todo lo que haces en Internet? Cada vez que haces clic en un botón, ves una animación, o cuando Netflix te recomienda una serie, JavaScript está trabajando detrás de escena.

🌟 ¿Por qué JavaScript es tan especial?

  • Es universal: Funciona en todos los navegadores y dispositivos
  • Es versátil: Puedes crear páginas web, aplicaciones móviles, servidores e incluso videojuegos
  • Es inmediato: Los resultados de tu código se ven al instante
  • Tiene una comunidad enorme: Millones de desarrolladores en todo el mundo lo usan y comparten conocimiento

Vamos a comenzar con algo simple pero fundamental: hacer que JavaScript "hable" con nosotros mostrando mensajes. Para eso usamos console.log(), una instrucción que muestra información en la consola del navegador o de Node.js.

console.log("¡Hola Mundo!");
¡Hola Mundo!

Analicemos cada parte de esta instrucción:

ElementoSignificado
consoleLe decimos a JavaScript: "Quiero usar la consola". La consola es esa ventana de texto donde vemos los resultados.
.logEs la acción específica. Piensa en "log" como "registrar" o "escribir".
("¡Hola Mundo!")Este es el mensaje que queremos mostrar. El texto siempre va entre comillas.
;Indica a JavaScript que la instrucción ha terminado. Es como el punto al final de una oración.

⚠️ Importante sobre los métodos de salida

console.log() funciona tanto en Node.js como en navegadores web.

alert() y document son específicos del navegador y NO funcionan en Node.js.

💻 Ejercicio 1: Métodos de Salida

📋 ¿Qué contiene este ejercicio?

En este ejercicio aprenderás a utilizar console.log(), el método principal para mostrar mensajes en JavaScript. Verás cómo imprimir texto en la consola y practicarás escribiendo múltiples líneas de salida.

// Mostramos un título en la consola
console.log("Introducción a JavaScript");

// La forma más simple de mostrar un mensaje
console.log("¡Hola Mundo!");

// Nota importante sobre otros métodos
console.log("Nota: alert() y document son específicos del navegador");
console.log("En Node.js usamos console.log() para mostrar mensajes");
Introducción a JavaScript
¡Hola Mundo!
Nota: alert() y document son específicos del navegador
En Node.js usamos console.log() para mostrar mensajes

📝 Explicación paso a paso:

1
Líneas con // son comentarios. JavaScript las ignora, pero nos ayudan a documentar el código.
2
console.log() es nuestra herramienta principal para mostrar información. Cada llamada muestra una línea nueva.
3
El texto entre comillas se llama String (cadena de texto). Puedes usar comillas dobles " " o simples ' '.

📦 Fundamentos de Datos: Las Variables

¿Qué es una variable?

Imagina que tienes cajas donde puedes guardar cosas. Cada caja tiene una etiqueta con un nombre para que sepas qué hay dentro. En programación, una variable es exactamente eso: un espacio en la memoria del ordenador donde guardamos un dato, y le ponemos un nombre para poder usarlo después.

🏷️ Analogía práctica

Piensa en los contactos de tu móvil. No guardas a todos como "Persona 1", "Persona 2"... Les pones nombres descriptivos como "Mamá", "Trabajo – Jefe", etc. ¡Con las variables hacemos lo mismo!

Declarando Variables

En JavaScript tenemos tres formas de crear variables:

Palabra claveUso¿Se puede cambiar?
varForma tradicional (antigua)
letForma moderna (recomendada)
constPara valores constantesNo
// Declarar (crear la caja vacía)
let edad;

// Asignar (meter algo en la caja)
edad = 25;

// Todo en un solo paso
let cancionFavorita = "Mediterráneo";

✨ Convención camelCase

Para nombres de variables con varias palabras, usamos camelCase: la primera palabra en minúscula y las siguientes empiezan con mayúscula.

Ejemplos: miEquipoDeClase, precioDelCafe, nombreCompleto

💻 Ejercicio 2: Declaración de Variables

📋 ¿Qué contiene este ejercicio?

Este ejercicio te enseña las tres formas de declarar variables en JavaScript: var (antigua), let (moderna y recomendada) y const (para valores que no cambian). Aprenderás a crear variables con y sin valor inicial, a concatenar texto usando el operador +, y entenderás qué significa undefined.

console.log("Variables en JavaScript");

// Declaración con var (forma tradicional)
var nombre = "María";
var edad = 25;

// Declaración con let (forma moderna, recomendada)
let apellido = "González";
let ciudad = "Logroño";

// Declaración con const (para valores constantes)
const PI = 3.14159;
const PAIS = "España";

// Ejemplos de uso – concatenamos texto con +
console.log("Mi nombre es " + nombre + " " + apellido);
console.log("Tengo " + edad + " años");
console.log("Vivo en " + ciudad + ", " + PAIS);

// Variable sin valor inicial = undefined
let telefono;
console.log("Teléfono inicial:", telefono);
Variables en JavaScript
Mi nombre es María González
Tengo 25 años
Vivo en Logroño, España
Teléfono inicial: undefined

📝 Explicación paso a paso:

1
var nombre = "María" – Creamos una variable con la forma antigua. Funciona, pero let es mejor.
2
let apellido = "González" – Forma moderna y recomendada. Tiene mejor control del alcance (scope). Esto significa que la variable solo existe dentro del bloque donde fue declarada, evitando errores y comportamientos inesperados.
3
const PAIS = "España" – Una constante. Una vez asignado el valor, NO puede cambiar.
4
El operador + concatena (une) textos. "Hola" + " " + "Mundo" = "Hola Mundo"

🔤 Tipos de Variables: Primitivos

JavaScript tiene varios tipos de datos. Los primitivos son los más básicos:

📝
String (Texto)

Cualquier texto entre comillas. Puedes usar comillas dobles, simples o backticks (`).

let mensaje = "Esto es un texto";
let plantilla = `Puedo incluir: ${mensaje}`;
🔢
Number (Número)

Cualquier número: enteros, decimales, positivos o negativos.

let entero = 42;
let decimal = 3.14;
Boolean

Solo tiene dos valores posibles: true o false.

let esFestivo = false;
let mayorEdad = 25 >= 18; // true
Undefined y Null

Undefined: variable declarada sin valor.
Null: ausencia intencional de valor.

let sinValor;  // undefined
let vacio = null;

💻 Ejercicio 3: Tipos Primitivos

📋 ¿Qué contiene este ejercicio?

Este ejercicio explora los cinco tipos de datos primitivos en JavaScript: String, Number, Boolean, Undefined y Null. Aprenderás a usar el operador typeof para identificar el tipo de cada variable.

console.log("Tipos de Variables Primitivas");

// 1. STRING (Cadenas de texto)
let mensaje = "Esto es una cadena de texto";
console.log("Mensaje:", mensaje);
console.log("Tipo:", typeof mensaje);

// 2. NUMBER (Números)
let entero = 42;
let decimal = 3.14;
console.log("Entero:", entero, "– Tipo:", typeof entero);

// 3. BOOLEAN (Verdadero o Falso)
let mayorEdad = 25 >= 18;
console.log("Es mayor de edad:", mayorEdad);

// 4. UNDEFINED (Sin valor definido)
let sinValor;
console.log("Variable sin definir:", sinValor);

// 5. NULL (Valor nulo intencionalmente)
let valorNulo = null;
console.log("Valor nulo:", valorNulo);
Tipos de Variables Primitivas
Mensaje: Esto es una cadena de texto
Tipo: string
Entero: 42 – Tipo: number
Es mayor de edad: true
Variable sin definir: undefined
Valor nulo: null

🗂️ Tipos de Variables: Compuestos

Los tipos compuestos permiten agrupar múltiples valores:

📋
Object (Objeto)

Una colección de pares "clave: valor". Como una ficha de datos.

let estudiante = {
  nombre: "Jose",
  ciudad: "Sevilla",
  edad: 22
};
📚
Array (Lista)

Una colección ordenada de elementos.

let tapas = [
  "patatas bravas",
  "calamares",
  "tortilla"
];

Conversión de Tipos

let numero = parseInt("25");     // Convierte texto a entero
let decimal = parseFloat("25.99"); // Convierte texto a decimal
let texto = String(42);         // Convierte número a texto

💻 Ejercicio 4: Tipos Compuestos y Conversión

📋 ¿Qué contiene este ejercicio?

Este ejercicio te introduce a los tipos de datos compuestos: Objects y Arrays. También aprenderás a convertir tipos de datos usando parseInt() y parseFloat().

console.log("Tipos Compuestos y Conversión");

// OBJECT (Objetos)
let persona = {
  nombre: "Carlos",
  edad: 30,
  profesion: "Ingeniero"
};
console.log("Objeto persona:", persona);
console.log("Nombre:", persona.nombre);

// ARRAY (Arreglos)
let colores = ["rojo", "azul", "verde"];
console.log("Array colores:", colores);
console.log("Primer color:", colores[0]);

// CONVERSIONES
let numeroTexto = "25";
let numeroReal = parseInt(numeroTexto);
console.log("Texto:", numeroTexto, "– Tipo:", typeof numeroTexto);
console.log("Número:", numeroReal, "– Tipo:", typeof numeroReal);
Tipos Compuestos y Conversión
Objeto persona: { nombre: 'Carlos', edad: 30, profesion: 'Ingeniero' }
Nombre: Carlos
Array colores: [ 'rojo', 'azul', 'verde' ]
Primer color: rojo
Texto: 25 – Tipo: string
Número: 25 – Tipo: number

🧮 Operaciones Básicas en JavaScript

Operaciones Aritméticas

OperadorDescripciónEjemplo
+Suma5 + 3 = 8
-Resta5 - 3 = 2
*Multiplicación5 * 3 = 15
/División15 / 3 = 5
%Módulo (resto)15 % 4 = 3
**Potencia2 ** 3 = 8

Operadores de Comparación

OperadorDescripciónEjemplo
==Igual (solo valor)10 == "10" → true
===Estrictamente igual10 === "10" → false
>Mayor que5 > 3 → true
>=Mayor o igual5 >= 5 → true
<Menor que5 < 3 → false
<=Menor o igual5 <= 5 → true

Operadores Lógicos

OperadorDescripciónEjemplo
&&AND (Y)true && false → false
||OR (O)true || false → true
!NOT (NO)!true → false

💻 Ejercicio 5: Operaciones Básicas

📋 ¿Qué contiene este ejercicio?

Este ejercicio cubre todas las operaciones en JavaScript: aritméticas, comparación, lógicas y el operador ternario.

console.log("🧮 Operaciones Básicas en JavaScript\n");

// ARITMÉTICAS
let a = 15, b = 4;
console.log("15 + 4 =", a + b);
console.log("15 - 4 =", a - b);
console.log("15 * 4 =", a * b);
console.log("15 / 4 =", a / b);
console.log("15 % 4 =", a % b);
console.log("15 ** 2 =", a ** 2);

// COMPARACIÓN
console.log("10 == '10':", 10 == '10');
console.log("10 === '10':", 10 === '10');

// LÓGICAS
console.log("true && false:", true && false);
console.log("true || false:", true || false);

// OPERADOR TERNARIO
let edad = 20;
console.log("Resultado:", edad >= 18 ? "Mayor" : "Menor");

// EJEMPLO: Cálculo de descuento
let precio = 100, descuento = 20;
let final = precio - (precio * descuento / 100);
console.log(`Precio: $${precio}, Descuento: ${descuento}%, Final: $${final}`);
🧮 Operaciones Básicas en JavaScript

15 + 4 = 19
15 - 4 = 11
15 * 4 = 60
15 / 4 = 3.75
15 % 4 = 3
15 ** 2 = 225
10 == '10': true
10 === '10': false
true && false: false
true || false: true
Resultado: Mayor
Precio: $100, Descuento: 20%, Final: $80

✨ Buenas Prácticas en JavaScript

Escribir código que funcione es importante, pero escribir código que otros puedan entender es fundamental.

1
Nombres Descriptivos

Usa nombres que expliquen qué contiene la variable: edadMaxima en vez de a

2
camelCase

Primera palabra en minúscula, las siguientes con mayúscula: fechaNacimiento

3
MAYÚSCULAS

Para constantes usa mayúsculas: MAXIMO_INTENTOS

4
Variables al Inicio

Declara las variables al principio del bloque de código

// ❌ MAL
let a = 25;
let b = "Juan";

// ✅ BIEN
let edadMaximaPermitida = 25;
let nombreUsuario = "Juan";
const MAXIMO_INTENTOS = 3;

🎯 Resumen Final

Lo que has aprendido

1
console.log()

Mostrar mensajes y resultados en la consola

2
Variables

var, let y const para almacenar datos

3
Tipos de Datos

String, Number, Boolean, Object, Array

4
Operaciones

Aritméticas, comparación y lógicas

🎯 Pon a Prueba tus Conocimientos

Ahora que conoces los fundamentos de JavaScript, veamos si puedes responder correctamente.

Pregunta 1: ¿Cuál es la forma moderna y recomendada de declarar una variable en JavaScript?

  • var
  • let
  • variable
  • define

Pregunta 2: ¿Qué palabra clave se usa para declarar una constante que no puede cambiar su valor?

  • let
  • var
  • const
  • static

Pregunta 3: ¿Qué método se usa para mostrar mensajes en la consola de JavaScript?

  • print()
  • echo()
  • console.log()
  • write()

Pregunta 4: ¿Cuál es la diferencia entre == y === en JavaScript?

  • No hay diferencia, funcionan igual
  • == compara solo el valor, === compara valor y tipo
  • === es más rápido que ==
  • == es para números y === para texto

Pregunta 5: ¿Cuál de estos es un tipo de dato primitivo en JavaScript?

  • Array
  • Object
  • Boolean
  • Function

Pregunta 6: ¿Qué operador se usa en JavaScript para calcular el resto de una división?

  • /
  • %
  • **
  • \\

🚀 Siguiente paso

Practica escribiendo tus propios programas. La mejor forma de aprender a programar es programando. ¡Experimenta, equivócate y aprende!