Informática básica antes de programar — hardware, RAM, disco, terminal y teclado explicados para FP1 (y la nota que se esfumó al cerrar el programa)
En mis primeras semanas de FP1 hice un programa que calculaba la media de mis notas. Funcionaba de maravilla: me decía «7.5» y yo tan contento. Al día siguiente lo abrí para consultar la media… y no había nada. Ni la media, ni las notas, ni rastro. Pensaba que Python «se acordaba» de las variables, como si fueran archivos. No lo hace: viven en la RAM, y la RAM se vacía en cuanto el programa termina. Esa tarde aprendí más informática que en toda la semana anterior.
Cuando entré en GCID pensaba que programar era solo escribir código. Pero enseguida vi que hay un montón de conceptos básicos de informática que todo el mundo da por sabidos y que nadie te explica directamente: qué hace cada pieza del ordenador, dónde se guarda tu programa, qué es la terminal o por qué no encuentras las llaves en el teclado. En este artículo te cuento lo que necesitas tener claro antes de tu primera línea de Python, sin tecnicismos innecesarios y con programas reales para comprobarlo.
Tabla de Contenidos
Hardware vs software — la diferencia que siempre confunde
Es lo primero que tienes que tener claro, porque en la carrera lo vas a escuchar constantemente:
- Hardware es todo lo físico, lo que puedes tocar: la pantalla, el teclado, el procesador, la memoria RAM, el disco. Si se rompe, se repara o se cambia la pieza.
- Software es lo que no puedes tocar: los programas, el sistema operativo, el código. Si falla, se corrige o se reinstala.
Cuando programas en Python estás creando software. Tu ordenador (hardware) lo ejecuta. Pero entre tu programa y el hardware hay más capas de las que parece:
Mira el dibujo de arriba abajo. Tu hola.py no habla directamente con el procesador: se lo pide al intérprete de Python (una aplicación), el intérprete se lo pide al sistema operativo y el sistema operativo reparte el hardware entre todos los programas que tienes abiertos. Por eso el mismo hola.py funciona en Windows, en Linux y en macOS: lo que cambia son las capas de abajo, no tu código.
Informática básica antes de programar — lo que realmente importa
No necesitas ser técnico de hardware para programar, pero sí entender tres piezas, porque cada una explica un comportamiento de tus programas:
| Pieza | Qué es | Qué notas al programar |
|---|---|---|
| CPU (procesador) | El cerebro: ejecuta las instrucciones una tras otra, miles de millones por segundo | Un programa con muchos cálculos tarda más |
| RAM (memoria) | Memoria rápida y temporal donde está lo que se usa ahora mismo | Tus variables viven aquí y desaparecen al terminar |
| Disco (SSD o HDD) | Almacenamiento permanente, más lento | Tus archivos .py y los datos que guardas viven aquí |
La clave es la diferencia entre RAM y disco. Lo comprobé con dos programas que se ejecutan uno detrás de otro en la misma carpeta. El primero calcula una media y la guarda en un archivo:
# a_ram.py: una variable vive en la RAM; un archivo, en el disco
nota1 = 7
nota2 = 8
media = (nota1 + nota2) / 2 # (7 + 8) / 2 = 7.5, se calcula en la CPU y se guarda en la RAM
print("Media calculada:", media)
with open("notas.txt", "w", encoding="utf-8") as f: # "w" = escribir: crea el archivo en el disco
f.write(f"media={media}\n")
print("Guardada en notas.txt")
Salida:
Media calculada: 7.5 Guardada en notas.txt
Las cuentas: (7 + 8) / 2 = 15 / 2 = 7.5. La variable media está en la RAM; además, el bloque with open(...) crea notas.txt en el disco y escribe media=7.5 dentro. Ahora, otro programa, ejecutado después, intenta usar las dos cosas:
# b_despues.py: otro programa, ejecutado después. ¿Qué sigue existiendo?
with open("notas.txt", encoding="utf-8") as f: # el archivo sigue en el disco
print("En el disco:", f.read().strip())
print("En la RAM:", media) # la variable murió con el programa anterior
Salida:
En el disco: media=7.5
Traceback (most recent call last):
File "b_despues.py", line 5, in <module>
print("En la RAM:", media) # la variable murió con el programa anterior
^^^^^
NameError: name 'media' is not defined
Lo del archivo funciona: notas.txt sigue en el disco y lo leemos sin problema. Pero la variable media ya no existe: murió con el primer programa, y Python responde con un NameError (lee la última línea del error: «el nombre media no está definido»). Es exactamente lo que me pasó con mi programa de notas.
El dibujo resume las dos fases. Mientras corre a_ram.py, la CPU calcula, la RAM guarda las variables y el disco recibe notas.txt. Cuando termina, la columna de la RAM queda vacía y solo sobrevive lo que estaba en el disco.
Pensar que una variable «se guarda» al cerrar el programa. Lo que quieras conservar entre ejecuciones tiene que ir a un archivo (lo verás a fondo en el tema de archivos de texto de FP1).
Un ordenador de estudiante actual suele tener 8 o 16 GB de RAM y un SSD de 256 a 1000 GB. La RAM es unas cien veces más pequeña que el disco, pero muchísimo más rápida: por eso el programa trabaja en la RAM y solo usa el disco para cargar y guardar.
Bits, bytes y por qué la «ñ» ocupa el doble
Todo lo que guarda un ordenador son bits (ceros y unos), agrupados de 8 en 8 en bytes. Un kilobyte (KB) son 1000 bytes; un megabyte (MB), un millón; un gigabyte (GB), mil millones. ¿Y el texto? Cada carácter se convierte en uno o varios bytes según una codificación; la de tus archivos .py es UTF-8. Este programa lo mide:
# c_bytes.py: cuántos bytes ocupa cada carácter en UTF-8 (la codificación de tus .py)
for texto in ["a", "ñ", "€", "🐍", "Python"]:
n = len(texto.encode("utf-8")) # encode convierte el texto en bytes
print(f"{texto!r:10} -> {len(texto)} carácter(es), {n} byte(s)")
Salida:
'a' -> 1 carácter(es), 1 byte(s) 'ñ' -> 1 carácter(es), 2 byte(s) '€' -> 1 carácter(es), 3 byte(s) '🐍' -> 1 carácter(es), 4 byte(s) 'Python' -> 6 carácter(es), 6 byte(s)
Fíjate: la a ocupa 1 byte, pero la ñ ocupa 2, el € 3 y el emoji 4, aunque los cuatro son un solo carácter para Python (len cuenta caracteres; len(texto.encode("utf-8")) cuenta bytes). "Python" son 6 letras sin acentos: 6 caracteres y 6 bytes.
Si al abrir un archivo te salen cosas como ñ en lugar de ñ, se escribió en UTF-8 y se está leyendo con otra codificación. Por eso, en Python, escribe siempre encoding="utf-8" al abrir archivos de texto, como en los programas de arriba.
Software de sistema vs software de aplicación
Tu ordenador tiene dos grandes capas de software (las dos del medio del primer dibujo):
- Software de sistema: el sistema operativo (Windows, macOS, Linux). Es el intermediario entre el hardware y tus programas: decide qué programa usa la CPU en cada momento, cuánta RAM le toca a cada uno y quién puede leer cada archivo.
- Software de aplicación: los programas que usas para hacer cosas concretas. VS Code es software de aplicación. El intérprete de Python también. El navegador también.
Como estudiante de GCID trabajarás sobre todo en Windows, pero en IC2 te encontrarás con Linux (Fedora). Si quieres llegar con ventaja, lee Linux para estudiantes y monta una máquina virtual con la guía de instalar Fedora en VirtualBox.
Archivos y carpetas — organízate desde el principio
Esto parece una tontería pero es uno de los consejos más prácticos que te puedo dar: organiza tus archivos de código desde el primer día. En la carrera tendrás decenas de archivos .py, y si los tienes todos en el escritorio o en Descargas, en dos semanas no encontrarás nada. Una estructura sencilla que funciona:
GCID ├── FP1 │ ├── tema_variables │ │ ├── nota_media.py │ │ └── imc.py │ └── tema_condicionales └── IC2
Tres reglas que te ahorrarán problemas:
- Sin espacios ni tildes en los nombres de carpetas y archivos de código:
tema_variables, noTema de las variables. En la terminal, un espacio separa palabras y te obliga a poner comillas. - Activa las extensiones de archivo en el Explorador de Windows (Ver → Mostrar → Extensiones de nombre de archivo). Así verás si tu archivo es
hola.pyohola.py.txt. - Un nombre que diga qué hace:
nota_media.pyse entiende dentro de un mes;prueba2_final_bueno.py, no.
Rutas: la dirección de cada archivo
Cada archivo tiene una ruta, su dirección dentro del disco. En Windows, la ruta absoluta empieza por la letra de la unidad: C:\Users\Sergio\GCID\FP1\tema_variables\nota_media.py. Una ruta relativa se cuenta desde la carpeta en la que estás: si ya estás en C:\Users\Sergio\GCID\FP1, el mismo archivo es tema_variables\nota_media.py. Y .. significa «la carpeta de arriba».
| Extensión | Qué es | Con qué se abre |
|---|---|---|
.py | Programa de Python | VS Code, python archivo.py |
.ipynb | Notebook de Jupyter | VS Code con Jupyter |
.csv | Datos en columnas separadas por comas | VS Code, Excel, pandas |
.txt | Texto plano | Cualquier editor |
.c / .java | Código de C / Java (IC2, FP2) | VS Code |
Windows separa las carpetas con \ y Linux con /. Python acepta / también en Windows, así que en tus programas puedes escribir "datos/notas.csv" y funcionará en los dos sistemas.
La terminal — tu nueva mejor amiga
La terminal (también llamada consola o línea de comandos) es una ventana donde le das órdenes al sistema operativo escribiendo, sin ratón. Al principio impone, pero la usarás constantemente: para ejecutar programas, instalar librerías, compilar en C y moverte por Linux en IC2.
En Windows se abre buscando cmd (Símbolo del sistema) o PowerShell en el menú Inicio. Las órdenes básicas que necesitas desde el principio son estas (son de Windows, así que las describo; en Linux casi todas cambian de nombre):
| Quiero… | Windows (cmd / PowerShell) | Linux (bash) |
|---|---|---|
| Ver en qué carpeta estoy | cd (cmd) / pwd (PowerShell) | pwd |
| Entrar en una carpeta | cd tema_variables | cd tema_variables |
| Subir a la carpeta de arriba | cd .. | cd .. |
| Ver los archivos | dir | ls |
| Crear una carpeta | mkdir FP1 | mkdir FP1 |
| Limpiar la pantalla | cls | clear |
| Ejecutar un programa de Python | python nota_media.py | python3 nota_media.py |
| Ver la versión de Python | python --version | python3 --version |
Si seguiste la guía de instalar Python en Windows, ya usaste la terminal para comprobar que funcionaba. Eso es exactamente para lo que sirve.
Pulsa Tab mientras escribes un nombre de carpeta o archivo y la terminal lo completa sola. Escribe cd tem + Tab y aparece cd tema_variables. Menos tecleo y cero erratas.
Los caracteres especiales que usarás siempre en código
Los apuntes de FP1 incluyen una tabla de caracteres especiales que son fundamentales para programar. Estos son los que más usarás y para qué:
| Carácter | Nombre | En Python sirve para | Ejemplo |
|---|---|---|---|
( ) | Paréntesis | Llamar a funciones, agrupar cuentas | print("hola") |
[ ] | Corchetes | Listas e índices | [1, 2, 3] |
{ } | Llaves | Diccionarios y f-strings | {"clave": "valor"} |
" " y ' ' | Comillas | Texto (strings) | "Sergio" |
: | Dos puntos | Después de if, for, def | if x > 0: |
# | Almohadilla | Comentarios | # esto no se ejecuta |
_ | Guion bajo | Nombres de variables | nota_media |
= | Igual | Asignar | x = 5 |
== | Doble igual | Comparar | x == 5 |
\ | Barra invertida | Caracteres especiales en texto | "\n" (salto de línea) |
Con un teclado español, varios de estos no son obvios. Muchas webs dicen combinaciones que no son, así que te las dejo dibujadas tecla a tecla:
Arriba tienes lo que sale con AltGr (la tecla a la derecha de la barra espaciadora): los corchetes [ ] están en las dos teclas a la derecha de la P (la del acento grave y el circunflejo, y la del +) y las llaves { } en las dos a la derecha de la Ñ (la de la tilde y la ç). La almohadilla es AltGr + 3 y la barra invertida, AltGr + º (la tecla de arriba a la izquierda). Abajo, lo que sale con Mayús: paréntesis con 8 y 9, el igual con 0 y los dos puntos con la tecla del punto. Apréndetelos de memoria: los vas a escribir miles de veces.
Confundir = con ==. x = 5 guarda un 5 en x; x == 5 pregunta si x vale 5 y responde True o False. Escribir if x = 5: da un SyntaxError nada más ejecutar.
El IDE — dónde escribes tu código
Un IDE (entorno de desarrollo integrado) es el programa donde escribes y ejecutas tu código. Nosotros usamos VS Code, que te explico paso a paso en configurar VS Code para Python.
¿Qué hace un IDE que no hace el Bloc de notas? Colorea el código para que sea más legible, detecta errores mientras escribes, autocompleta nombres, te deja ejecutar el programa sin salir del editor y depurarlo línea a línea. Y no añade .txt a tus archivos sin avisar.
Cuestionario tipo examen
Ahora ponte a prueba como en el examen. Los cuestionarios de FP1 son así: 15 preguntas en 20 minutos (16 en 30 en el de Secuencias), casi todas de respuesta única (cada fallo resta un tercio de lo que vale la pregunta) y muchas de «¿qué imprime este código?», con algún hueco, relacionar o verdadero o falso. Aquí tienes 13 preguntas originales sobre informática básica. Contesta sin ejecutar nada, pulsa Comprobar y lee la explicación de cada una. Estas preguntas son también el banco del simulacro de teoría de FP1, que las mezclará con las de los demás temas.
Estás escribiendo un trabajo y se va la luz sin haber guardado. ¿Por qué se pierde lo último que escribiste?
- Estaba solo en la memoria RAM, que se borra al quedarse sin corriente
- Estaba en el disco, pero el disco se formatea al apagarse
- Lo tenía la CPU en sus registros y los envía a internet al apagarse
- El sistema operativo borra los archivos que no se cierran bien
Solución
Respuesta: Estaba solo en la memoria RAM, que se borra al quedarse sin corriente
Mientras trabajas, el documento abierto vive en la RAM, que es rápida pero volátil. Guardar es copiarlo al disco (o SSD), que es más lento pero persistente: conserva los datos sin corriente.
Relaciona cada componente con lo que hace:
| CPU | |
| RAM | |
| Disco o SSD | |
| Sistema operativo |
Definiciones:
- Guarda los programas y datos que se están usando ahora
- Reparte la CPU, la memoria y los dispositivos entre los programas
- Guarda archivos aunque se apague el ordenador
- Convierte el código Python en un documento de texto
- Ejecuta las instrucciones de los programas
Solución
- CPU → Ejecuta las instrucciones de los programas
- RAM → Guarda los programas y datos que se están usando ahora
- Disco o SSD → Guarda archivos aunque se apague el ordenador
- Sistema operativo → Reparte la CPU, la memoria y los dispositivos entre los programas
La CPU es la que trabaja; la RAM es su mesa de trabajo (rápida y volátil); el disco es el armario (lento y persistente); y el sistema operativo es el que organiza a todos para que varios programas convivan.
La definición sobrante no corresponde a ningún componente.
¿Cuáles de estos son dispositivos de entrada?
- Teclado
- Ratón
- Micrófono
- Monitor
- Impresora
Solución
Respuesta: Teclado · Ratón · Micrófono
Entrada = del mundo hacia el ordenador (teclado, ratón, micrófono, escáner). Salida = del ordenador hacia ti (monitor, altavoces, impresora). Recuerda que en la múltiple los fallos restan: no marques por si acaso.
¿Cuántos bits hay en 3 bytes? Escribe solo el número.
Solución
Respuesta: 24
Un byte son 8 bits, así que 3 × 8 = 24 bits. Un bit es un solo 0 o 1; con un byte (8 bits) se pueden representar 2⁸ = 256 valores distintos.
¿Qué número decimal representa el binario 1011?
- 11
- 13
- 1011
- 7
Solución
Respuesta: 11
De derecha a izquierda, las posiciones valen 1, 2, 4 y 8. En 1011 están encendidas la de 8, la de 2 y la de 1: 8 + 2 + 1 = 11.
Indica si es verdadero o falso:
- El sistema operativo es un programa, aunque sea muy especial.
- La memoria RAM conserva los datos cuando apagas el ordenador.
- Una ruta como
C:\Users\ana\notas.txtindica en qué carpeta está un archivo. - El terminal solo sirve en Linux; en Windows no existe.
Solución
- V — El sistema operativo es un programa, aunque sea muy especial.
- F — La memoria RAM conserva los datos cuando apagas el ordenador.
- V — Una ruta como
C:\Users\ana\notas.txtindica en qué carpeta está un archivo. - F — El terminal solo sirve en Linux; en Windows no existe.
El SO es software: se carga al arrancar y gestiona todo lo demás. La RAM es volátil. Una ruta es el camino de carpetas hasta el archivo. Y Windows también tiene terminal (CMD y PowerShell), igual que macOS y Linux.
¿Qué es un IDE, como VS Code o PyCharm?
- Un programa para escribir, ejecutar y depurar código en un mismo sitio
- El lenguaje en el que se escriben los programas de Python
- Un componente del ordenador que acelera los programas
- Una carpeta especial donde Python guarda los archivos
Solución
Respuesta: Un programa para escribir, ejecutar y depurar código en un mismo sitio
IDE significa Integrated Development Environment: entorno de desarrollo integrado. Puedes programar con el Bloc de notas y el terminal, pero el IDE te avisa de errores, colorea el código y lo ejecuta con un botón.
Completa la frase:
Para ejecutar un programa, el sistema operativo lo copia del ____ a la ____, y la ____ va ejecutando sus instrucciones una a una.
Palabras:
- impresora
- RAM
- pantalla
- disco
- CPU
Solución
Para ejecutar un programa, el sistema operativo lo copia del disco a la RAM, y la CPU va ejecutando sus instrucciones una a una.
El programa está guardado en el disco, pero la CPU solo trabaja con lo que está en la RAM. Por eso abrir un programa grande tarda un poco: hay que copiarlo primero.
En el teclado, ¿para qué se usan sobre todo los corchetes [ ] en Python?
- Para escribir listas y acceder a posiciones, como
notas[0] - Para escribir comentarios
- Para agrupar el código de un
if - Para escribir textos
Solución
Respuesta: Para escribir listas y acceder a posiciones, como notas[0]
Merece la pena aprenderse dónde están [ ], { }, # y las comillas en tu teclado: los vas a escribir cientos de veces. En el teclado español, los corchetes salen con Alt Gr y las dos teclas que hay a la derecha de la P.
¿Qué diferencia hay entre un archivo y una carpeta?
- El archivo guarda datos (un texto, una foto, un programa); la carpeta agrupa archivos y otras carpetas
- Ninguna: son dos nombres para lo mismo
- El archivo está en la RAM y la carpeta en el disco
- Las carpetas solo existen en Windows
Solución
Respuesta: El archivo guarda datos (un texto, una foto, un programa); la carpeta agrupa archivos y otras carpetas
El sistema de archivos del SO organiza el disco como un árbol de carpetas (directorios) que contienen archivos. Cuando en el tema de archivos escribas open('datos.txt'), Python buscará ese archivo en la carpeta desde la que ejecutas el programa.
Ordena lo que pasa desde que pulsas el botón de encender hasta que escribes tu primer programa:
- Inicias sesión y aparece el escritorio
- Se ejecuta el firmware (BIOS o UEFI) y comprueba el hardware
- Se carga el sistema operativo del disco a la RAM
- Abres el IDE
- Escribes el programa y lo guardas en el disco
Solución
Orden correcto:
- Se ejecuta el firmware (BIOS o UEFI) y comprueba el hardware
- Se carga el sistema operativo del disco a la RAM
- Inicias sesión y aparece el escritorio
- Abres el IDE
- Escribes el programa y lo guardas en el disco
Primero arranca el pequeño programa del firmware, que busca el sistema operativo y lo carga en memoria. Con el SO funcionando ya puedes abrir aplicaciones como el IDE. Y lo que escribes no está a salvo hasta que lo guardas en el disco.
¿Qué ocurre con el valor de nota cuando este programa termina?
nota = 7.5 print(nota)
- Desaparece: las variables viven en la RAM mientras el programa se ejecuta
- Se guarda en el disco automáticamente
- Se queda en la pantalla para siempre
- Se guarda dentro del propio archivo
.py
Solución
Respuesta: Desaparece: las variables viven en la RAM mientras el programa se ejecuta
Al ejecutar el programa, Python reserva sitio en la RAM para nota. Cuando el programa acaba, esa memoria se libera y el valor desaparece. Si quieres que dure entre ejecuciones, tienes que escribirlo en un archivo (el último tema de FP1).
¿Qué pasa si escribes python3 hola.py en el terminal?
- El intérprete de Python lee el archivo
hola.pyy ejecuta sus instrucciones - Se crea un archivo nuevo vacío llamado
hola.py - Se abre el IDE con el archivo
- Se borra el archivo después de ejecutarlo
Solución
Respuesta: El intérprete de Python lee el archivo hola.py y ejecuta sus instrucciones
El terminal ejecuta órdenes: python3 es el programa (el intérprete) y hola.py el archivo que le das. Si el archivo no está en la carpeta actual, verás un error del tipo No such file or directory.
Míralo paso a paso en Python Tutor
pythontutor.com ejecuta tu código línea a línea y dibuja las variables que hay en memoria en cada momento: es la forma más directa de «ver» la RAM. Elige Python 3, pega este programa y pulsa Visualize Execution:
# Python Tutor: las variables aparecen en la RAM (Frames) mientras el programa corre
nota1 = 7
nota2 = 8
media = (nota1 + nota2) / 2
asignaturas = ["FP1", "Cálculo"]
asignaturas.append("Álgebra") # la lista crece: es la misma, no una copia
def redondea(x):
resultado = round(x, 1) # 'resultado' solo existe mientras dura la llamada
return resultado
media = redondea(media)
print("Media:", media, "en", len(asignaturas), "asignaturas")
Salida:
Media: 7.5 en 3 asignaturas
Qué observar paso a paso:
- En los primeros pasos, en la columna Frames aparecen
nota1,nota2ymedia(7.5): esas cajitas son tus variables en la RAM. - Al crear
asignaturas, la lista se dibuja a la derecha (Objects) y la variable apunta a ella con una flecha. - Con
append, la misma lista crece a tres elementos: no se crea otra. - Al llamar a
redondea, aparece un marco nuevo conxyresultado; en cuanto termina la llamada, desaparece. Es la misma idea de la RAM, a escala pequeña. - Al final,
mediavale 7.5 ylen(asignaturas)es 3, que es justo lo que imprime la salida.
Resumen — lo esencial antes de programar
| Concepto | En una frase |
|---|---|
| Hardware / software | Lo que tocas / los programas y el código |
| Capas | Tu programa → aplicaciones → sistema operativo → hardware |
| CPU | Ejecuta las instrucciones |
| RAM | Guarda las variables mientras el programa corre; se vacía al terminar |
| Disco | Guarda tus .py y tus datos de forma permanente |
| Byte y UTF-8 | 8 bits; la ñ ocupa 2 bytes, la a 1 |
| Ruta | La dirección de un archivo: absoluta (desde C:\) o relativa |
| Terminal | Órdenes escritas al sistema: cd, dir, python archivo.py |
| IDE | Donde escribes, ejecutas y depuras (VS Code) |
Tres ideas para quedarte:
- La RAM olvida, el disco recuerda: lo que quieras conservar, a un archivo.
- Organiza y nombra bien desde el primer día: carpetas por asignatura, sin espacios ni tildes, con las extensiones visibles.
- La terminal y el teclado son herramientas de trabajo: aprende cinco órdenes y dónde están
[ ]y{ }, y te moverás el doble de rápido.
Con esto claro ya tienes todo el contexto para empezar. El siguiente paso es instalar Python en Windows y después configurar VS Code, si aún no lo has hecho.
Sigue aprendiendoTodos los artículos de Fundamentos¿Te ha servido este artículo? Así puedes apoyar SergioLearns →


El hardware que sostiene al sistema operativo — teoría con la práctica de IC2 en la impresora, una interrupción que lo para todo y una caché que acierta (y el bucle infinito que no colgó mi portátil)