Introducción a la Programación – Conceptos Clave
Esta lección presenta los fundamentos esenciales de la informática y la programación. Cada apartado está basado en conceptos básicos que todo principiante debe dominar para avanzar en el estudio de la computación.
1. ¿Qué es la informática?
La informática es una ciencia del procesamiento automático y lógico de la información. Estudia cómo se manejan y transforman datos mediante sistemas tecnológicos, abarcando tanto el hardware como el software que permiten la manipulación de la información.
2. Origen del término "informática"
La palabra informática tiene su origen en Europa. Fue acuñada en la década de 1960 para describir la disciplina que combina la ciencia de la información con la tecnología de los computadores.
3. Hardware y software
El hardware incluye componentes internos como disco duro y memoria. Estos son elementos físicos que pueden tocarse y que forman la base material de cualquier sistema computacional.
En contraste, el software es intangible: son los programas y datos que hacen funcionar el hardware. La diferencia principal radica en que el hardware es físico, mientras que el software es intangible.
4. Unidad básica de información: el bit
Un bit es la unidad más pequeña de información que puede manejar una computadora. Cada bit representa un valor binario, 0 o 1.
Ocho bits forman un byte. Un byte agrupa 8 bits para representar información más compleja, como caracteres alfanuméricos.
5. Código ASCII
El código ASCII asigna valores numéricos a letras mayúsculas, minúsculas, números y símbolos. No se limita solo a letras mayúsculas, por lo que la afirmación de que solo asigna valores a mayúsculas es falsa.
6. Procesos secuenciales y paralelos
Un proceso secuencial sigue un orden estricto: una acción ocurre después de la anterior. En cambio, un proceso paralelo permite la ejecución simultánea de varias acciones, aprovechando múltiples unidades de procesamiento.
7. Algoritmos
Un algoritmo es un conjunto ordenado y finito de instrucciones para resolver un problema. Debe ser preciso, definido y terminar en un número finito de pasos. La característica esencial de todo algoritmo es ser finito.
8. Estrategias de diseño: Divide y Vencerás
El método "Divide y Vencerás" consiste en descomponer un problema en subproblemas más pequeños. Esta estrategia es verdadera y facilita la solución de problemas complejos mediante la recursión o la iteración.
9. Enfoques Top‑Down y Bottom‑Up
El enfoque Top‑Down empieza con una visión general del problema y se descompone progresivamente en partes más pequeñas. Por otro lado, el enfoque Bottom‑Up comienza con los componentes más pequeños y los combina para formar la solución completa.
10. Diagramas de flujo
Una regla principal para construir un diagrama de flujo es que debe tener un principio y un fin. Todo diagrama necesita iniciar y terminar claramente para representar el flujo de control de un algoritmo.
11. Precedencia de operadores aritméticos
En expresiones matemáticas, los operadores de multiplicación y división se evalúan antes que los de suma y resta. Esta regla de precedencia garantiza resultados consistentes.
12. Lenguajes de bajo nivel
En un lenguaje de bajo nivel, el programa fuente no se ejecuta directamente por la computadora; necesita ser traducido a lenguaje máquina antes de su ejecución. Por lo tanto, la afirmación de que se ejecuta directamente es falsa.
13. Variables y constantes
Una variable es un espacio de almacenamiento cuyo valor puede cambiar durante la ejecución del programa. En cambio, una constante mantiene un valor inmutable una vez definido.
Resumen de conceptos
- Informática: ciencia del procesamiento de información.
- Hardware vs. software: físico vs. intangible.
- Bit y byte: unidades básicas de datos.
- ASCII: codificación de caracteres amplia.
- Procesos: secuenciales (orden estricto) y paralelos (simultáneos).
- Algoritmo: conjunto finito y preciso de instrucciones.
- Divide y Vencerás: descomposición de problemas.
- Top‑Down y Bottom‑Up: diferentes órdenes de construcción.
- Diagramas de flujo: inicio y fin claros.
- Precedencia: multiplicación y división antes que suma y resta.
- Lenguajes de bajo nivel: requieren traducción.
- Variables vs. constantes: mutabilidad del valor.
Dominar estos conceptos permite comprender cómo se estructuran y ejecutan los programas, sentando una base sólida para estudios más avanzados en desarrollo de software y arquitectura de sistemas.

