option
Cuestiones
ayuda
daypo
buscar.php

Tema 11

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
Tema 11

Descripción:
Para aprender

Fecha de Creación: 2026/03/02

Categoría: Otros

Número Preguntas: 60

Valoración:(0)
COMPARTE EL TEST
Nuevo ComentarioNuevo Comentario
Comentarios
NO HAY REGISTROS
Temario:

¿Cuál de estas definiciones encaja mejor con el concepto de tipo de dato?. Un nombre simbólico que identifica una posición de memoria. Un conjunto de valores posibles, una representación interna y unas operaciones asociadas. Un valor fijo sustituido en precompilación. Una instrucción que modifica el flujo del programa.

Según el tema, los tipos de datos se dividen fundamentalmente en: Simples y compuestos. Numéricos y no numéricos. Predefinidos y creados por el usuario. Estáticos y dinámicos.

Una variable se define como: Un identificador que siempre contiene un valor fijo. Un identificador, un tipo y un valor. Un literal que aparece en el código fuente. Un operador asociado a un operando.

¿Cuál de estas afirmaciones describe mejor una constante?. Es una variable cuyo valor cambia poco. Es un literal que solo puede ser numérico. Es un identificador cuyo valor asociado es fijo. Es una expresión que se evalúa antes que las demás.

¿Qué es un literal?. Una variable sin inicializar. Un dato que aparece explícitamente en el código fuente. Un identificador sustituido en precompilación. Un parámetro formal.

En la expresión contador + 5, el valor 5 es: Un identificador. Una constante simbólica. Un literal entero. Una variable local.

¿Cuál de los siguientes pertenece a los operadores lógicos?. <=. %. +. AND.

El operador de módulo representa: La división real. La potencia. El resto de una división entera. La negación lógica.

¿Qué operador se usa, según el tema, para división entera?. /. %. \ o div. MOD.

En el bloque de prioridad de operadores, ¿qué tiene mayor prioridad?. Suma y resta. Conjunción. Los paréntesis. Disyunción.

Cuando varios operadores tienen la misma prioridad en una expresión aritmética, el tema indica que se evalúan: De derecha a izquierda. De fuera hacia dentro. Según el tipo de variable destino. De izquierda a derecha.

Una expresión booleana se caracteriza porque: Usa solo operandos enteros. Su resultado es un valor de verdad. Siempre contiene paréntesis. Solo puede usar operadores relacionales.

¿Cuál de estas sería una expresión relacional?. a + b * c. "hola" + "mundo". x >= y. NOT x.

Según el tema, una expresión alfanumérica: Tiene resultado lógico. Produce una cadena de caracteres. Solo usa operadores relacionales. No puede contener variables.

¿Cuáles son las tres partes que debe reflejar todo algoritmo?. Declaración, compilación y ejecución. Entrada, proceso y salida. Inicio, condición y fin. Variables, operadores y expresiones.

Un algoritmo debe ser independiente del lenguaje de programación porque: Así ocupa menos memoria. Puede ejecutarse directamente. Debe poder traducirse a cualquier lenguaje. Evita usar variables globales.

¿Cuál de estas es una característica exigida al diseño de un algoritmo?. Debe depender del compilador usado. Debe ser finito. Debe incluir siempre matrices. Debe escribirse en inglés.

Si a un algoritmo se le dan los mismos datos de entrada varias veces, debería: Cambiar de resultado según el entorno. Producir resultados aproximados. Obtener siempre los mismos resultados. Fallar si no hay variables globales.

El pseudocódigo se define como: Un lenguaje de programación compilable. Un lenguaje intermedio entre el lenguaje natural y el lenguaje de programación. Un conjunto de diagramas obligatorios. Una variante reducida de C.

¿Cuál de estas NO es una característica del pseudocódigo según el tema?. Facilita futuras correcciones. Es sencillo de aprender. Facilita el paso al lenguaje real. Puede ejecutarse directamente por un ordenador.

Las estructuras de control permiten: Reservar memoria dinámica. Definir tipos creados por el usuario. Modificar el flujo de ejecución de las instrucciones. Sustituir literales por constantes.

Según el tema, cualquier problema puede resolverse con la aplicación de: Dos estructuras: secuencia y condición. Cuatro estructuras: secuencia, condición, iteración y módulos. Tres estructuras: secuencia, condición e iteración. Tres estructuras: entrada, proceso y salida.

La estructura de secuencia consiste en: Ejecutar sentencias mientras una condición sea verdadera. Elegir entre varios casos posibles. Ejecutar instrucciones en orden, de la primera a la última. Repetir al menos una vez un bloque.

En un IF-THEN-ELSE, la condición debe ser: Una secuencia ASCII. Un literal entero. Una expresión relacional o lógica. Una llamada a procedimiento.

En una estructura SELECT-CASE / SWITCH, si se encuentra la primera coincidencia: Se ejecutan todos los casos restantes. Se ejecuta el bloque correspondiente y se sale de la estructura. Se evalúa automáticamente el default. Se reinicia la evaluación desde el primer caso.

En MIENTRAS (condición) HACER, si la condición es falsa desde el principio: El bloque se ejecuta una vez. El bloque no llega a ejecutarse. Se ejecuta hasta el primer FIN. Se evalúa primero el default.

La estructura REPETIR-HASTA garantiza que: El bloque puede no ejecutarse nunca. El bloque se ejecuta al menos una vez. La condición se evalúa antes del bloque. Solo acepta condiciones aritméticas.

Según el tema, un comentario multilínea se delimita con: // ... //. # ... #. <!-- ... -->. /* ... */.

Un comentario de una sola línea puede definirse con: --. //. %%. **.

Según el tema, un identificador puede estar formado por: Solo letras mayúsculas y dígitos. Letras minúsculas y espacios. Letras minúsculas y carácter de subrayado. Cualquier símbolo excepto paréntesis.

Atendiendo al número de operandos, los operadores se clasifican en: Reales y lógicos. Simples y compuestos. Unarios y binarios. Locales y globales.

¿Cuál de los siguientes es un operador unario según el tema?. + como suma. *. MOD. NOT.

Los corchetes [ ] se utilizan para: Modificar prioridad entre operadores. Acceder a elementos de un array. Declarar constantes. Delimitar comentarios.

Los paréntesis ( ) sirven para: Separar siempre parámetros por referencia. Clarificar una expresión o modificar prioridades. Crear comentarios de línea. Indicar el inicio del programa principal exclusivamente.

En el pseudoprograma secuencial, el bloque de CONSTANTE: Lleva todas las líneas terminadas en punto y coma. Solo admite enteros. Define constantes una por línea y sin punto y coma al final. Siempre va después del bloque INICIO.

Según el tema, en el bloque de VARIABLE del pseudoprograma: No se permite inicialización. Cada definición va en una línea terminada en punto y coma. Solo pueden declararse variables locales. Las variables deben ser siempre secuencias.

En el pseudolenguaje del tema, ¿cuál es un tipo de dato básico?. Booleano. Vector. REAL. Puntero.

Según el tema, CARACTER representa: Una cadena de longitud variable. Cualquier elemento del código ASCII de 8 bits. Un valor lógico de un bit. Un identificador textual.

En el tipo SECUENCIA, el último carácter es: \n. Espacio en blanco. \t. \0.

Para acceder al primer carácter de una secuencia, se usa: variable_secuencia[1]. variable_secuencia(1). variable_secuencia(0). variable_secuencia<0>.

La sentencia de asignación consiste en: Leer siempre un dato desde teclado. Evaluar una expresión y asignar su resultado a una variable compatible. Mostrar una expresión por pantalla. Comparar dos valores y guardar verdadero o falso obligatoriamente.

La sentencia de entrada estándar indicada en el tema es: INPUT(variable);. SCAN(variable);. LEER(nombre_variable);. ENTRADA(variable);.

La sentencia de salida estándar indicada en el tema es: MOSTRAR(expresión);. ESCRIBIR(expresión);. PRINT(expresión);. SALIDA(expresión);.

Un vector, según el tema, es: Una estructura dinámica de tamaño variable. Una estructura estática y unidimensional. Una estructura bidimensional de enteros. Un conjunto heterogéneo de datos.

Para referenciar un dato de un vector hacen falta: Solo el índice. El nombre del vector y un índice entero. El nombre y dos índices. El tipo base y la cota superior.

Una matriz se caracteriza porque: Es una estructura unidimensional. Solo puede contener reales. Cada elemento se identifica mediante fila y columna. Siempre tiene tamaño variable.

La programación modular busca principalmente: Eliminar el uso de funciones. Convertir todo en variables globales. Dividir un problema complejo en subproblemas más pequeños. Evitar la reutilización de código.

El diseño descendente consiste en: Comenzar por los subproblemas mínimos y unirlos al final sin plan global. Partir de un problema general y diseñar soluciones para sus subproblemas. Sustituir funciones por estructuras condicionales. Resolver primero la salida y luego la entrada.

Según el tema, una diferencia esencial entre función y procedimiento es que: El procedimiento siempre devuelve un valor y la función no. La función devuelve un valor tipado y puede participar en expresiones. La función no admite parámetros. El procedimiento no puede llamarse desde otro procedimiento.

Los parámetros actuales y formales deben coincidir en: Nombre exclusivamente. Valor exclusivamente. Número, orden y tipo. Dirección de memoria únicamente.

¿Cuál de las siguientes afirmaciones refleja con mayor precisión la diferencia entre parámetros por valor y parámetros por referencia, tal y como se explica en el tema?. En ambos casos el subprograma recibe siempre una copia del dato, pero en los parámetros por referencia esa copia se sincroniza automáticamente con la variable original al finalizar la ejecución del módulo. En los parámetros por valor el subprograma trabaja directamente sobre la variable original, mientras que en los parámetros por referencia se genera una copia temporal que solo sirve para devolver resultados al final. En los parámetros por valor se transmite al parámetro formal una copia del parámetro actual, de modo que los cambios internos no se reflejan en el llamador; en los parámetros por referencia se transmite una referencia o puntero al parámetro actual, por lo que las modificaciones realizadas sí quedan reflejadas en el módulo que hizo la llamada. Los parámetros por valor solo pueden usarse como salida, mientras que los parámetros por referencia solo pueden usarse como entrada, ya que mezclar ambas direcciones de comunicación rompería la correspondencia entre parámetros actuales y formales.

Si una función y un procedimiento reciben ambos una lista de parámetros y realizan una tarea concreta, ¿cuál es la formulación más correcta según el tema para distinguirlos?. El procedimiento no puede tener parámetros, mientras que la función siempre debe tener al menos uno para poder devolver un valor indirectamente. Ambos son equivalentes; la única diferencia práctica es que la función se escribe en una zona distinta del fichero fuente, pero conceptualmente los dos devuelven datos de la misma forma. El procedimiento devuelve valores únicamente por sentencia de retorno, mientras que la función solo puede modificar variables globales y por eso no altera el estado del sistema. La función recibe parámetros formales y puede devolver un resultado cuyo tipo aparece en su cabecera, pudiendo ser llamada dentro de una asignación, una salida o una expresión; el procedimiento, en cambio, ejecuta una tarea específica, puede recibir cero o n parámetros y no se comporta como un operando dentro de expresiones porque su identificador no devuelve un tipo de dato.

Respecto al uso de variables locales y globales en un programa con subprogramas, ¿qué opción resume mejor el criterio del tema?. Las variables locales son visibles desde cualquier punto del programa, pero su valor se reinicia cada vez que una variable global cambia; las globales solo pueden leerse desde el main. Las variables globales existen únicamente mientras se ejecuta un subprograma concreto, mientras que las locales permanecen activas durante toda la vida del programa para facilitar la comunicación entre módulos. Una variable local está declarada dentro de un subprograma, solo está disponible durante su ejecución y al terminar se pierde el valor almacenado; una variable global, por el contrario, puede utilizarse en el programa principal y en los subprogramas donde se haga referencia a su identificador. No existe una diferencia real entre ambas: el nombre local o global depende únicamente de si la variable aparece antes o después del bloque de constantes del pseudoprograma.

¿Cuál es la interpretación más precisa de la estructura SELECTOR / CASE según la explicación del tema?. Siempre que un caso coincide, se ejecuta exclusivamente ese bloque y el sistema termina la estructura automáticamente, aunque no exista ninguna instrucción FIN dentro del caso. El bloque por defecto se ejecuta solo si la expresión no coincide con ningún caso, pero nunca puede ejecutarse después de haber entrado en un caso válido. Se evalúa la expresión, se busca coincidencia con los casos y se ejecuta el bloque correspondiente; si tras ese bloque existe una instrucción FIN, el flujo continúa después de FIN_SELECTOR, pero si no aparece, pueden seguir ejecutándose bloques posteriores hasta encontrar un FIN o llegar al final de la estructura, pudiendo ejecutarse el bloque por defecto también en ese contexto. El bloque por defecto es obligatorio para que el selector sea válido, y además su ejecución impide que la estructura contenga más de tres casos definidos.

Sobre las expresiones y su clasificación, ¿qué enunciado se ajusta mejor al contenido del tema?. Una expresión relacional da siempre como resultado una cadena, mientras que una booleana solo puede construirse con variables previamente inicializadas mediante LEER. Una expresión es un conjunto de operandos y operadores con reglas específicas de construcción; sus operandos pueden ser literales, variables, constantes y otras expresiones, y su evaluación depende de la prioridad de operadores, pudiendo clasificarse por el resultado obtenido en numéricas, alfanuméricas, relacionales y booleanas. Las expresiones alfanuméricas son en realidad expresiones aritméticas con letras, por lo que necesariamente devuelven un número entero asociado al código ASCII de cada carácter. Una expresión booleana no puede contener expresiones relacionales, ya que estas pertenecen a una categoría distinta y el tema las considera incompatibles entre sí.

¿Cuál de estas afirmaciones combina correctamente lo que dice el tema sobre vectores y matrices?. Los vectores son estructuras dinámicas bidimensionales y las matrices son estructuras estáticas unidimensionales; la diferencia práctica es solo el nombre. Los vectores y matrices son ambos conjuntos heterogéneos de datos, pero el vector usa índices simbólicos y la matriz usa índices numéricos. El vector es una estructura estática y unidimensional en la que cada elemento se referencia mediante el nombre del vector y un índice entero; la matriz también es estática, pero bidimensional, ya que cada elemento queda identificado por dos enteros que representan fila y columna. Una matriz no puede considerarse un array porque el tema reserva ese nombre únicamente para estructuras de una dimensión, dejando las de dos dimensiones fuera de esa categoría.

Si se analiza el papel del pseudocódigo dentro del diseño de algoritmos, ¿qué opción es la más fiel al tema?. Es un lenguaje ejecutable con limitaciones, pensado para probar algoritmos simples antes de reescribirlos en un lenguaje real. Es una notación intermedia entre lenguaje natural y lenguaje de programación, sujeta a reglas que facilitan el diseño estructurado, no puede ejecutarse directamente por un ordenador y sirve para representar algoritmos de forma sencilla e independiente del lenguaje de codificación final. Solo sirve para documentar programas ya terminados, pero no para diseñarlos antes de su implementación. Su principal función es reemplazar por completo al lenguaje de programación, evitando así la fase de codificación.

Respecto a la sentencia de entrada estándar y la sentencia de salida estándar del pseudolenguaje descrito, ¿qué formulación es la más precisa?. La entrada estándar evalúa una expresión y la muestra por pantalla, mientras que la salida estándar espera a que el usuario introduzca un dato que se almacena al pulsar Intro. La entrada estándar solo acepta variables enteras y la salida estándar solo acepta literales o secuencias, pero no concatenaciones ni variables. La sentencia LEER(nombre_variable); espera la introducción de datos por teclado y, al finalizar con Intro, asigna el valor a la variable indicada; la sentencia ESCRIBIR(expresión); evalúa la expresión y muestra el resultado por la salida estándar, pudiendo tratarse de una variable, un literal, una secuencia o una concatenación de ellos. Ambas sentencias requieren necesariamente variables globales, porque las locales no pueden interactuar con dispositivos de entrada o salida.

¿Cuál es la explicación más completa sobre por qué un algoritmo, según el tema, debe ser claro, finito, previsible e independiente del lenguaje?. Porque así puede compilarse más rápido y usar menos memoria RAM, incluso aunque cambie el resultado según la máquina donde se ejecute. Porque un algoritmo correcto debe adaptarse al lenguaje concreto para aprovechar sus optimizaciones y, por eso, cuanto más dependiente sea del entorno, más exacta será su solución. Porque debe describir de forma precisa y ordenada las acciones necesarias para resolver un problema, tener inicio y fin, producir siempre los mismos resultados ante las mismas entradas, permitir futuras modificaciones y poder traducirse a cualquier lenguaje sin depender del ordenador o del lenguaje elegido. Porque un algoritmo solo se considera válido si puede escribirse exactamente con la sintaxis del lenguaje final en el que vaya a implementarse, evitando ambigüedades durante la compilación.

Si un alumno confunde constante, variable y literal, ¿cuál de estas explicaciones corrige mejor el error conforme al tema?. Un literal es un identificador cuyo valor no cambia, una constante es un espacio de memoria modificable, y una variable es cualquier dato que aparezca escrito directamente en el código. La diferencia entre los tres conceptos es secundaria: en la práctica todos representan datos y pueden intercambiarse sin afectar al diseño de un algoritmo. Una variable es un identificador asociado a un tipo y a un valor almacenado en memoria que puede cambiar; una constante es un identificador cuyo valor es fijo y se sustituye por su literal asociado en precompilación; y un literal es el dato que aparece explícitamente en el código fuente con significado por sí mismo. Una variable y una constante siempre deben declararse dentro del mismo bloque, mientras que un literal solo puede existir dentro de expresiones booleanas.

Denunciar Test