Cuando hablamos de arquitectura de ordenadores, nos referimos al conjunto de todos los bloques (uno o varios componentes) y las comunicaciones entre estos, que hacen que el ordenador funcione de forma coordinada, sirviendo a un propósito común. Cada bloque cumple una o varias tareas, cuya contribución ordenada y coordinada hace que el equipo cumpla con la función para la que fue diseñado.
Sigue leyendo La arquitectura de los ordenadoresBlog
Clasificación de ordenadores
Tenemos una tendencia natural a encasillar y clasificar las cosas, y los ordenadores no son una excepción. En este post, vamos a ver la manera más habitual de Clasificación de ordenadores.
Si nos preguntamos que tipo de ordenador es nuestro portátil, podrías pensar que encaja perfectamente en la categoría de miniordenador y sin embargo se trata de un microordenador. Pero, ¿qué importancia tiene esto?, ¿qué más me da si mi portátil es un miniordenador o un microordenador? Pues bien, aunque nunca vayas a trabajar con otro ordenador que no sea tu portátil, siempre viene bien conocer que hay otras categorías de ordenadores con otras prestaciones, muchas más que las de tu portátil. Además, quien sabe, quizás en alguna ocasión te toque afrontar alguna tarea demasiado grande para tu portátil.
La manera más habitual de clasificar a los ordenadores es atendiendo a sus prestaciones. Distinguimos 5 tipos o categorías.
Sigue leyendo Clasificación de ordenadoresEstructuras de control en Java
Última actualización: Julio 24
Las estructuras de control en java las emplearemos para modificar el flujo secuencial de un programa. Esto es, el orden en el que se van ejecutando las instrucciones de este.
En un programa, las instrucciones se ejecutan de arriba abajo, y de izquierda a derecha, según el orden en que aparezcan las mismas. Los distintos bloques de instrucciones de nuestro programa, seguirán este flujo secuencial para ejecutar las instrucciones. Los bloques de instrucciones, estarán delimitados por corchetes:
Bloque {
instrucción 1;
instrucción 2; instrucción 3;
instrucción 4;
}
Sin embargo, van a existir ocasiones en las que necesitemos romper este flujo secuencial. Estas pueden ser de muy diverso tipo, puede que necesitemos tomar una decisión entre una o varias opciones posibles, o a lo mejor necesitamos realizar algunas instrucciones varias veces. Por tanto, necesitamos ciertas estructuras que nos permitan interrumpir el flujo secuencial del programa, y pasar a ejecutar otros bloques de código.
En este post, vamos a estudiar el funcionamiento de las siguientes estructuras de control:
- De toma de decisión: if-then, if-then-else, switch.
- De bucle: for, while, do-while
Estructuras de toma de decisión
Sigue leyendo Estructuras de control en JavaGeneraciones de ordenadores
Una manera habitual de mostrar la evolución de los ordenadores es recurrir a las llamadas generaciones, periodos temporales de desarrollo de los ordenadores. Una generación comienza con un avance tecnológico disruptivo y finaliza cuando aparece otro que lo supera y que da comienzo a una nueva generación.
Tradicionalmente se cuentan 5 generaciones, si bien hay quien ya habla de 6. Yo en principio sigo hablando de 5 aunque menciono los avances tecnológicos que ya están aquí y seguramente acabaran cerrando la quinta generación y dando paso a la sexta. Estos avances son la Inteligencia Artificial y el procesamiento paralelo.
En mis clases utilizo la diapositiva de abajo para introducir las generaciones de ordenadores:

¿Qué es un ordenador?
Probablemente todos tengamos una respuesta para la pregunta: ¿Qué es un ordenador?. Si estás leyendo este post, seguramente estés usando uno.
Al comienzo de curso, suelo empezar la asignatura de Arquitectura de Sistemas haciendo esta pregunta a mis alumnos, y aunque las respuestas son muy diversas, normalmente llegamos al consenso siguiente: “Un ordenador es una máquina programable de propósito general”.
Para entenderlo bien, hay que imaginarse el mundo con máquinas que hagan sólo una cosa, como ocurría antes de la era de los ordenadores. Por ejemplo, para escribir un documento usaríamos una máquina de escribir, para realizar un cálculo matemático una calculadora y para ver un video un reproductor de video conectado a nuestro televisor, ¡¡Qué tiempos aquellos!! Hoy en día, usamos el ordenador para todas estas tareas y otras muchas más.
Y programable, porque mediante los programas preparamos la máquina de propósito general para realizar una tarea concreta de las muchas que puede realizar. Siguiendo con el ejemplo anterior, suponiendo que estamos en Windows, usaríamos Word para escribir el documento, Excel para hacer el cálculo matemático y el reproductor de Windows Media para ver el video.
Con esta breve discusión en clase, creo que consigo fijar un punto de partida para adentrarnos en el apasionante mundo de los ordenadores.
Si quieres conocer la arquitectura de estas máquinas que hoy empleamos para todo, lee el post arquitectura de ordenadores
NOTA:
Este post es parte de la colección “Arquitectura de Sistemas” que reproduce los apuntes de la clase que imparto sobre el tema en ESIC. Puedes ver el índice de esta colección aquí.
Los operadores en Java
Última actualización: Julio 24
Los operadores en Java, son usados para realizar operaciones con variables y valores. Los valores a emplear en la operación a realizar son denominados operandos, mientras que la operación a realizar con los operandos viene definida por el operador.
Java tiene diferentes tipos de operadores:
- Aritméticos.
- De comparación.
- Lógicos.
- De asignación.
Operadores aritméticos en Java
Sigue leyendo Los operadores en JavaEjercicios con variables en Java
Tras el anterior post sobre variables en java, en este dejo algunos ejercicios para practicar lo aprendido entonces. Actuaré de esta manera con el resto de temas, es decir, primero explicare un tema y luego, en otro post, propondré una serie de ejercicios y sus soluciones.
Existen varias soluciones posibles para resolver un mismo problema, unas más eficientes que otras. Aquí podéis ver una solución posible para cada ejercicio propuesto, que no es la única posible.
Sigue leyendo Ejercicios con variables en JavaLas variables en Java
Última actualización: julio 24
En este apartado, voy a hablar de las variables en Java. Explicaré como declararlas e inicializarlas, los tipos de variables primitivos que manejamos en Java, como cambiar el tipo de una variable y el alcance de esta.
Pero antes de empezar, hay que introducir una serie de conceptos preliminares:
- Una variable es un contenedor, una localización de memoria, que almacena un valor mientras se ejecuta un programa.
- Ponemos un nombre a cada variable, de forma que podamos referenciarla en nuestro código, y usar el valor que almacena.
- Las variables son de un tipo. El tipo de datos que pretendemos almacenar en dicha variable. Por ejemplo, si una variable es del tipo int, se empleara para guardar valores de números enteros. Sin embargo, si es del tipo String, se emplea para guardar una cadena de caracteres, es decir, texto.
- Las variables tienen que ser declaradas. En dicha declaración indicamos el tipo de la variable y su nombre.
- Una variable tiene que ser inicializada para poder ser usada en nuestro programa. Inicializar una variable es poner un valor en ella.
Declarando e inicializando variables
Para declarar una variable tenemos que indicar el tipo y el nombre. Algunos ejemplos:
Sigue leyendo Las variables en JavaEmpezando con Java
Última actualización: julio 24
Java es un lenguaje de programación de alto nivel con las siguientes características:
- Orientado a objetos
- Simple
- Seguro
- Independiente de la plataforma (JVM)
- Robusto
- Portable
- Arquitectura neutral (object file)
- Dinámico
- Interpretado
- Alto performance
- Multi hilo
- Distribuido
Es un lenguaje compilado e interpretado a la vez. El código programado en Java se compila a “bytecode” por el compilador de Java, funcionando en cualquier plataforma. El “bytecode” generado no es exactamente código máquina, es más bien una especie de ensamblador que es independiente de la plataforma. Es decir, vale para todos los Sistemas Operativos.
En nuestro ordenador, tendremos instalada la JVM (Java Virtual Machine), que es específica para cada plataforma, ya que será la encargada de traducir el “bytecode” a código máquina. Para esto último, utiliza un intérprete que funciona bastante rápido al no tener que hacer una traducción desde lenguaje de alto nivel, sino desde bytecode.
Sigue leyendo Empezando con JavaEjercicios de introducción a la programación
última actualización: 08 de septiembre de 2026
En este post os propongo dos ejercicios de introducción a la programación, el primer tema de mis apuntes de Java. Se trata de pensar, plantear una solución al problema propuesto, y plasmarla luego en un diagrama de flujo y con pseudocódigo.
Existen varias soluciones posibles para resolver un mismo problema, unas más eficientes que otras. Pero desde luego, antes de ponernos a programar, tenemos que plantear la solución al problema que queremos resolver programando.
Aquí podéis ver una solución posible para cada ejercicio propuesto, que por supuesto no es la única posible y que probablemente no sea la más eficiente.
Sigue leyendo Ejercicios de introducción a la programación