Lenguajes de programación. Representación de tipos de datos. Operadores. Instrucciones condicionales. Bucles y recursividad. Procedimientos, funciones y parámetros. Vectores y registros. Estructura de un programa.
Lenguajes de programación. Representación de tipos de datos. Operadores. Instrucciones condicionales. Bucles y recursividad. Procedimientos, funciones y parámetros. Vectores y registros. Estructura de un programa.

Contenido del artículo

Bienvenidos, futuros funcionarios del Estado. Como profesor de informática y preparador especializado, sé de primera mano que el Bloque III (Desarrollo de Sistemas) suele ser el verdadero filtro en las oposiciones a Técnico Auxiliar de Informática (TAI). Hoy vamos a desgranar uno de los pilares de este bloque: el Tema 2. Dominar los fundamentos de la programación no solo te asegurará valiosos puntos en el test de la primera parte, sino que es el cimiento absoluto para enfrentarte con garantías a los supuestos prácticos de programación. Coge papel y boli, porque vamos a estructurar este tema para que no quede ninguna duda conceptual.

¿Qué es Lenguajes de Programación y por qué es clave en la oposición TAI?

Los lenguajes de programación son sistemas formales de comunicación diseñados para transmitir instrucciones a una máquina, habitualmente un ordenador, permitiendo crear programas que controlan el comportamiento físico y lógico del sistema. En el contexto de las oposiciones TAI, este tema es fundamental porque sienta las bases algorítmicas de cualquier desarrollo de software en la Administración General del Estado (AGE).

Comprender la representación de tipos de datos, operadores, y la lógica detrás de bucles y condicionales es estrictamente necesario. Sin este conocimiento, temas posteriores te resultarán incomprensibles. Por ejemplo, es imposible abordar el paradigma de objetos sin entender antes las bases procedimentales. Si ya dominas este tema, te será mucho más fácil dar el salto al Tema 4: POO y UML o comprender los ecosistemas corporativos analizados en el Tema 5: Java EE y .NET.

Contenido clave del Tema 2: Lenguajes de Programación para la oposición TAI

El contenido clave del Tema 2 abarca desde la sintaxis básica y la representación en memoria de los tipos de datos, hasta la modularidad del código a través de procedimientos, funciones y el uso de estructuras de datos compuestas. A continuación, desglosamos los puntos exigidos en el BOE para este apartado.

Representación de tipos de datos y Operadores

Todo programa procesa información, y esta información debe clasificarse. Los tipos de datos determinan la naturaleza de los valores que puede tomar una variable y las operaciones que se pueden realizar con ella. En el temario TAI debemos distinguir entre tipos simples (enteros, reales, caracteres, booleanos) y su representación a nivel de máquina (complemento a 2 para negativos, estándar IEEE 754 para coma flotante).

Asociados a los tipos de datos encontramos los operadores, que permiten manipularlos. Es vital conocer la precedencia (orden de evaluación) de los operadores:

  • Aritméticos: Suma, resta, multiplicación, división, módulo (resto de la división entera).
  • Relacionales: Mayor que, menor que, igual, distinto (devuelven un valor booleano).
  • Lógicos: AND, OR, NOT (fundamentales para las condiciones).

Instrucciones condicionales, Bucles y Recursividad

Las estructuras de control rompen la secuencialidad de un programa. Las instrucciones condicionales (IF-THEN-ELSE, SWITCH/CASE) permiten bifurcar la ejecución en función del valor de una expresión booleana. En las preguntas de test TAI es habitual encontrar trazas de código donde debes deducir por qué rama pasará el programa.

Por otro lado, los bucles (WHILE, DO-WHILE, FOR) permiten iterar un bloque de código. La diferencia clave que la Comisión Permanente de Selección suele preguntar radica en el momento de evaluación de la condición: un bucle WHILE puede no ejecutarse nunca si la condición inicial es falsa, mientras que un DO-WHILE garantiza al menos una ejecución.

La recursividad es un concepto avanzado que aparece con frecuencia. Consiste en una función que se llama a sí misma para resolver un problema dividiéndolo en subproblemas más pequeños. Todo algoritmo recursivo necesita un "caso base" para evitar un bucle infinito y desbordar la pila de llamadas (Stack Overflow).

Procedimientos, funciones y parámetros

La modularidad permite dividir un programa grande en piezas más pequeñas, manejables y reutilizables. Aquí diferenciamos:

  • Procedimientos: Subrutinas que ejecutan una acción pero no devuelven un valor al flujo principal.
  • Funciones: Subrutinas que, tras procesar unos datos, devuelven un único valor de retorno.

El mecanismo de paso de parámetros es una de las preguntas estrella en cualquier test TAI. Comprender la diferencia entre pasar una variable por valor (se envía una copia) o por referencia (se envía la dirección de memoria original) marca la diferencia entre aprobar y suspender.

Característica Paso por Valor Paso por Referencia
Concepto Se pasa una copia del dato a la subrutina. Se pasa la dirección de memoria (puntero) del dato.
Modificación Los cambios en la función NO afectan a la variable original. Los cambios en la función SÍ afectan a la variable original.
Uso en memoria Consume más memoria (se duplica el dato). Más eficiente, no se duplica la estructura.

Vectores y registros. Estructura de un programa

Para almacenar colecciones de datos utilizamos arrays o vectores (elementos del mismo tipo contiguos en memoria) y registros o tuplas (agrupaciones de datos heterogéneos bajo un mismo nombre). Si quieres profundizar en cómo estas entidades se organizan de forma más compleja en memoria estática y dinámica, te recomiendo repasar el Tema 3: Estructuras de datos y algoritmos.

Finalmente, la estructura de un programa clásico consta de una cabecera (importación de librerías), declaración de variables globales, definición de módulos (funciones/procedimientos) y el bloque principal de ejecución o main.

¿Cómo se pregunta este tema en los exámenes TAI?

En los exámenes TAI, las preguntas de este tema suelen ser de carácter teórico-práctico, centradas en trazas de código abstractas (pseudocódigo), evaluación de expresiones booleanas y la teoría del paso de parámetros. No buscan que seas un compilador humano, pero sí que demuestres un razonamiento lógico impecable.

Aquí tienes un par de ejemplos representativos de cómo el Tribunal plantea estas cuestiones en un test TAI real:

Pregunta 1. Dado un lenguaje de programación estructurado, si pasamos una variable a una función mediante "paso por referencia" y la función modifica el valor de dicho parámetro:

  1. El valor de la variable original en el programa principal no se altera, ya que se trabajó sobre una copia local.
  2. Se producirá un error de compilación si la variable original era un tipo primitivo entero.
  3. El valor de la variable original en el programa principal resulta modificado.
  4. La función debe devolver obligatoriamente el nuevo valor mediante la instrucción RETURN para que se apliquen los cambios.

Explicación: La opción correcta es la C. En el paso por referencia se proporciona a la subrutina la dirección de memoria exacta donde reside la variable. Por tanto, cualquier escritura sobre ese parámetro machaca el valor original de la variable que reside en el programa que realizó la llamada.

Pregunta 2. ¿Qué característica fundamental diferencia a una rutina recursiva de una iterativa?

  1. La recursiva siempre consume menos recursos de memoria y procesador.
  2. La recursiva requiere que la subrutina se invoque a sí misma dentro de su propio código, incluyendo una condición de parada.
  3. La rutina iterativa solo se puede implementar utilizando bucles FOR, mientras que la recursiva usa bucles WHILE.
  4. Solo los lenguajes orientados a objetos soportan la implementación de rutinas recursivas.

Explicación: La opción correcta es la B. La recursividad se define conceptualmente por la autollamada a la propia función. Lejos de consumir menos recursos (A), suele consumir más memoria de pila por cada llamada anidada. La iteración utiliza cualquier bucle de forma convencional, y la recursividad es soportada por lenguajes imperativos clásicos como C o Pascal, no exclusivamente por lenguajes POO.

Consejos para estudiar Lenguajes de Programación para la oposición TAI

Para estudiar eficientemente este tema de la oposición de técnico auxiliar de informática, debes centrarte en comprender la lógica computacional pura por encima de la sintaxis específica de un lenguaje comercial de mercado. Al tribunal le interesa tu capacidad analítica.

  • Dibuja tablas de escritorio: Cuando te enfrentes a un test con código, escribe en el margen del examen los valores de las variables e itera a mano como si fueras la CPU. No intentes resolver bucles mentalmente.
  • Domina las tablas de verdad: El álgebra de Boole es tu aliada. Conocer a la perfección cómo se evalúan las condiciones complejas con AND, OR y NOT (y las leyes de De Morgan) te salvará de muchos errores tontos en el examen.
  • Relaciona con otros temas: Entender los registros (structs) de este tema te facilitará la asimilación del Tema 1: Modelado de datos a nivel lógico, y de las clases en la orientación a objetos.
  • Cuidado con los índices de los vectores: En muchos lenguajes (C, Java) los vectores empiezan en el índice 0, mientras que en otros teóricos pueden empezar en 1. Lee cuidadosamente el enunciado de los supuestos TAI para ver cómo se están iterando.

Practica con test de Lenguajes de Programación en nuestra plataforma

¿Listo para poner a prueba tus conocimientos sobre Lenguajes de Programación?

Accede a cientos de preguntas tipo test con respuestas explicadas y simulacros de examen real.

Empezar a practicar →

Preguntas frecuentes sobre Lenguajes de Programación en la oposición TAI

Las dudas más comunes de los opositores sobre este tema giran en torno a la profundidad requerida, la memorización de lenguajes específicos y el peso que tiene esta disciplina en la prueba real del Estado.

¿Necesito saber programar en un lenguaje específico como Java o C para aprobar este tema?

No para el Bloque III Tema 2. Este tema se enfoca en los fundamentos generales. El BOE no exige para este epígrafe un lenguaje concreto, por lo que las preguntas de examen suelen usar pseudocódigo estándar o sintaxis genérica muy similar a C o Java, comprensible por cualquier persona que entienda la lógica de programación. No obstante, Java y .NET sí se evalúan específicamente en el Tema 5 del mismo bloque.

¿Cuántas preguntas suelen caer del Tema 2 en el primer ejercicio TAI?

Aunque el tribunal varía cada año, el Bloque III (Desarrollo) aporta históricamente alrededor del 25-30% de las preguntas del primer ejercicio (test). De estas, el Tema 2 suele tener un peso relevante (entre 2 y 4 preguntas directas), ya que actúa de base transversal. Es muy habitual encontrar una pregunta teórica sobre parámetros y otra práctica de seguimiento de un pequeño algoritmo.

¿Qué es más importante dominar: la recursividad o los bucles iterativos?

Ambos son obligatorios, pero en los exámenes de técnico auxiliar de informática verás mucha más frecuencia de bucles iterativos (WHILE y FOR) en las trazas de código. La recursividad suele preguntarse de forma más teórica (conceptos de caso base, desbordamiento de pila) o en algoritmos muy clásicos (como el cálculo del factorial o la serie de Fibonacci).

¿Cómo puedo practicar las trazas de código si nunca he trabajado como programador?

La mejor manera es hacer pruebas de escritorio en papel. Toma un pequeño bloque de pseudocódigo, dibuja una tabla con una columna por cada variable, y ve ejecutando el programa línea a línea anotando los cambios de valor. A medida que practiques con nuestros test TAI, automatizarás este proceso de pensamiento y ganarás mucha velocidad.

¿Están relacionados este Tema 2 y el Tema de Modelado de Bases de Datos?

Indirectamente sí. Comprender la representación de tipos de datos (saber cuánto ocupa un entero, o las limitaciones de los números de coma flotante) es esencial cuando posteriormente tienes que diseñar y normalizar el esquema de una base de datos, escogiendo el tipo de dato óptimo para cada atributo, como se estudia en el Tema 1: Modelado de datos.

El camino hacia tu plaza en la Administración General del Estado requiere constancia y, sobre todo, una preparación inteligente. No te conformes con memorizar la teoría abstracta; la informática se aprende aplicándola. Te animo encarecidamente a que consolides todo lo repasado hoy sobre variables, bucles y funciones enfrentándote a casos reales de convocatorias pasadas. Para ello, prueba nuestra plataforma de test TAI accediendo a nuestro curso completo de preparación TAI, donde encontrarás simulacros ilimitados, respuestas razonadas al detalle por preparadores y el entorno perfecto para medir tus tiempos. ¡A por la plaza!

Compartir:

Profesor TAI

Publicado el 14 de abril de 2026 · Actualizado el 17 de abril de 2026

¿Estás preparando las oposiciones de Técnico Auxiliar de Informática?

Practica con cientos de preguntas tipo test con respuestas explicadas y simulacros imprimibles con formato de examen real.

Ver planes y precios

En este artículo