UNICARIBE 00 / 15

Fundamentos de Programación

Maestro: Victorino Ramirez Reyes

Dauri Abad SepulvedaA00154181
Alvaro Mercedes Acevedo MarianoA00164270
Daniel AsencioA00176173
Johancer Basiel BonetA00167452
Jason Núñez De Los SantosA00154180
Daniel Asencio01 / 15

¿Qué es la programación?

Escribir instrucciones claras para que una computadora haga una tarea, paso a paso, sin ambigüedad.

  • Crea instrucciones que una computadora puede ejecutar.
  • Se basa en algoritmos, lógica y orden.
  • Automatiza procesos y resuelve problemas reales.
Ejemplo real Cuando pides un Uber, un programa calcula la ruta más corta, encuentra al conductor más cercano y te cobra automáticamente. Todo eso son instrucciones que alguien escribió.
Programador Código CPU ejecuta ¡Hola, Mundo!
Daniel Asencio02 / 15

¿Qué es un algoritmo?

Receta paso a paso para resolver un problema. Mira cómo se ejecuta:

INICIO ¿Tengo hambre? NO Abrir app de delivery Elegir comida ¿Hay del platillo? NO Pagar y esperar entrega FIN FIN Buscar otro platillo
Inicio / Fin Proceso Decisión
ClaroDebe entenderse sin adivinar.
FinitoTiene un inicio y un final.
LógicoCada paso tiene sentido.
Daniel Asencio03 / 15
Apps móviles Web IA Autos Salud $ Finanzas </>

Importancia de la programación

Automatización

Reduce tareas repetitivas y libera tiempo.

Eficiencia

Mejora procesos en empresas y organizaciones.

Tecnología

Base de software, apps, web e IA.

Soluciones

Convierte problemas en sistemas que funcionan.

Alvaro Mercedes04 / 15

¿Qué es un lenguaje de programación?

  • Un idioma para comunicarse con la computadora.
  • Permite escribir instrucciones usando código.
  • Debe ser preciso: la máquina no improvisa.
saludo.js
// La máquina ejecuta esto literalmente
const nombre = "Estudiante";
function saludar(persona) {
  return `Hola, ${persona}!`;
}
console.log(saludar(nombre));
// → "Hola, Estudiante!"
Alvaro Mercedes05 / 15

Lenguaje humano vs de programación

La diferencia clave es la precisión: la computadora no interpreta intenciones, ejecuta instrucciones exactas.

Lenguaje humano

"Pásame la sal" — si no la ves, pides más contexto, asumes, infieres.

Ambiguo · Flexible · Contextual
Lenguaje de programación

"sal = mesa.objetos.buscar('sal'); usuario.recibir(sal);" — un paso fuera y falla.

Exacto · Estructurado · Estricto
Alvaro Mercedes06 / 15
suma.py

Mismo problema, otros idiomas

Sumar dos números — cada lenguaje tiene su estilo. Haz click en las pestañas y mira cómo cambia el código.

Datos e IA
Empresarial
Rendimiento
Web
Dauri Abad07 / 15

Lenguajes de bajo nivel

  • Están muy cerca del hardware.
  • Ejemplo clásico: lenguaje ensamblador.
  • Ventaja: rapidísimos.
  • Desventaja: difíciles de leer y mantener.
suma.asm · x86_64
; Sumar 5 + 3 en ensamblador
section .text
global _start

_start:
    mov eax, 5      ; cargar 5
    add eax, 3      ; sumar 3
    mov ebx, eax    ; guardar resultado
    int 0x80         ; llamar al SO
Dauri Abad08 / 15
suma.py
# La misma suma — pero legible
def sumar(a, b):
    return a + b

resultado = sumar(5, 3)
print(f"5 + 3 = {resultado}")
# → 5 + 3 = 8

Lenguajes de alto nivel

Más legibles

Se parecen a cómo pensamos.

Más rápidos de escribir

Menos código, más resultado.

Ejemplos

Python, Java, JavaScript.

Portables

Corren en cualquier máquina.

Dauri Abad09 / 15

Compilados vs interpretados

Ambos ejecutan programas — pero traducen el código de forma distinta.

Compilado · C, C++

Traduce TODO antes de ejecutar. Rápido, pero hay que recompilar tras cada cambio.

Código CompilarEjecutar

Interpretado · Python, JS

Lee y ejecuta línea por línea. Más flexible, levemente más lento.

Línea 1Línea 2Línea N
Jason Núñez10 / 15

¿Qué son los tipos de datos?

  • Definen qué tipo de valor puede almacenarse.
  • Organizan la información de forma coherente.
  • Indican cómo manipular cada dato.
Por qué importa "5" + "3" da "53" (texto pegado). 5 + 3 da 8. Mismo símbolo, distinto tipo → distinto resultado.
Memoria · cada tipo en su contenedor int 42 edad float 3.14159 pi string "Hola" saludo bool activo · true array 1 2 3 4 números null vacío int + int = 8 · "1" + "1" = "11"
Jason Núñez11 / 15

Tipos de datos básicos

Pasa el mouse por cada tarjeta — son los bloques con los que armas cualquier programa.

Enteros · int

Números sin decimales.

edad = 21
Decimales · float

Números con punto.

precio = 3.14
Texto · string

Cadena de caracteres.

nombre = "Ana"
Booleanos · bool

Verdadero o falso.

activo = true
Listas · array

Colección ordenada.

[1, 2, 3]
Nulo · null

Ausencia de valor.

resultado = null
Jason Núñez12 / 15
Entrada Validador de tipos Salida 42 int "Ana" string 3.14 float "abc" ¿int? true bool ¿Tipo correcto? Sistema OK datos limpios TypeError bug detenido

Importancia de los datos

  • Permiten manipular información correctamente.
  • Ayudan a evitar errores en el programa.
  • Cada operación depende del tipo de dato usado.
Bug clásico Mars Climate Orbiter (1999): una nave de $327M se perdió porque un módulo usaba libras-fuerza y otro newtons. Tipos de datos mal manejados.
Johancer Bonet13 / 15

Lógica binaria

  • Sistema basado en dos valores: 0 y 1.
  • El lenguaje interno de las computadoras.
  • Todo se representa con bits.
Demo: decimal → binario
42
00 10 10 10
Johancer Bonet14 / 15

Variables

Una variable es un espacio en memoria que guarda un dato — y su valor PUEDE cambiar.

  • Se usa cuando el dato puede modificarse.
  • Su valor cambia durante la ejecución.
Demo: contador de puntos
puntos = 0
puntos.js
// Variable: el valor PUEDE cambiar
let puntos = 0;

puntos = puntos + 10;   // OK
puntos = puntos - 5;    // OK

console.log("Puntos:", puntos);
// → Puntos: 5
Johancer Bonet15 / 15
precio.js
// Constante: el valor NO debe cambiar
const PRECIO_ENTRADA = 150;

let cantidad = 3;
let total = PRECIO_ENTRADA * cantidad;

console.log("Total:", total);
// → Total: 450

// Intentar reasignar dispara error
// PRECIO_ENTRADA = 200; ❌

Constantes

Una constante guarda un valor fijo. Si intentas cambiarla, el programa te detiene.

  • Para datos permanentes o reglas del sistema.
  • Evita cambios accidentales en valores críticos.
Demo: intenta cambiarla
PRECIO_ENTRADA = 150
TypeError: Assignment to constant variable.