Font size
WorksheetsSimulacro_Parcial1_EMBEB
Total questions: 105
Worksheet time: 54mins
¿Qué es un sistema embebido?
Un sistema diseñado para una tarea específica
Un sistema de propósito general
Un sistema que solo funciona en la nube
Un sistema exclusivo para la inteligencia artificial
¿Cuál de las siguientes características define a un sistema embebido?
Bajo consumo de energía
Operación en tiempo real en algunos casos
Integración de hardware y software
Todas las anteriores
¿Cuál de los siguientes no es un ejemplo de un sistema embebido?
Un microondas con control digital
Un teléfono móvil
Un ordenador de escritorio
Un sistema de control de frenos ABS
¿Cuál es un beneficio clave de los sistemas embebidos?
Mayor capacidad de procesamiento que un ordenador convencional
Consumo eficiente de recursos
Facilidad para cambiar su propósito después de su fabricación
Uso exclusivo en aplicaciones militares
¿Qué distingue a un sistema embebido de otros sistemas computacionales?
Son diseñados con un propósito específico
Requieren grandes cantidades de memoria RAM
Siempre operan con un sistema operativo Linux
No pueden conectarse a redes
¿Qué elemento es fundamental en un sistema embebido?
Un microcontrolador o microprocesador
Un disco duro de alta capacidad
Un monitor de alta resolución
Un teclado mecánico
¿Cuál es la diferencia principal entre un microcontrolador y un microprocesador?
Un microprocesador tiene más memoria RAM integrada
Un microcontrolador integra memoria y periféricos en el mismo chip
Un microcontrolador no puede ejecutar software
Un microprocesador es más eficiente energéticamente
¿Qué tipo de memoria se usa para almacenar el firmware en un sistema embebido?
RAM
ROM o memoria Flash
Caché
Memoria de disco duro
¿Qué arquitectura se usa comúnmente en sistemas embebidos?
Von Neumann
Harvard
RISC-V
Von Neumann y RISC-V
¿Qué componente es esencial para la comunicación entre dispositivos en un sistema embebido?
Tarjeta gráfica
UART, SPI o I2C
Fuente de alimentación de alto voltaje
Un sistema operativo de escritorio
¿Cuál es el tipo de dato más adecuado para almacenar un valor booleano (verdadero o falso) en C?
int
char
bool
float
¿Qué tamaño en bytes ocupa una variable de tipo int en Arduino Mega 2560?
1 byte
2 byte
4 byte
Depende del compilador
¿Cuál es el rango de valores que puede almacenar una variable de tipo char sin signo?
-128 a 127
0 a 255
0 a 65535
-32768 a 32767
¿Qué tipo de dato se utiliza para representar números decimales con precisión?
int
float
char
bool
¿Cuál es la sintaxis correcta para declarar una constante llamada PI con el valor 3.14159?
const PI = 3.14159;
#define PI 3.14159
int PI = 3.14159;
float PI = 3.14159;
¿Qué tipo de dato se utiliza para almacenar un carácter individual, como una letra o un símbolo?
int
char
bool
float
¿Cuál es el rango de valores que puede almacenar una variable de tipo short con signo?
-128 a 127
-32768 a 32767
0 a 65535
Depende del compilador
¿Qué significa la palabra clave unsigned al declarar una variable?
La variable solo puede almacenar valores negativos.
La variable solo puede almacenar valores positivos.
La variable puede almacenar valores tanto positivos como negativos.
Ninguna de las anteriores.
¿Cuál es la diferencia entre int y long int?
long int ocupa más memoria que int.
int ocupa más memoria que long int.
No hay diferencia, ambos tipos son equivalentes
long int solo se puede utilizar en Arduino Mega 2560.
¿Cuál es la sintaxis correcta para declarar una variable de tipo float llamada temperatura?
float temperatura;
float Temperatura
Float temperatura;
#define temperatura float
¿Qué significa la palabra clave const al declarar una variable?
La variable puede cambiar su valor durante la ejecución del programa.
La variable no puede cambiar su valor durante la ejecución del programa.
La variable solo puede almacenar valores enteros.
Ninguna de las anteriores.
¿Cuál es el tamaño en bytes que ocupa una variable de tipo long en Arduino Mega 2560?
2 bytes
4 bytes
Depende del compilador
No se puede utilizar en Arduino Mega 2560
¿Qué tipo de dato es más adecuado para almacenar la dirección de memoria de una variable?
int
char
bool
puntero
¿Cuál es la sintaxis correcta para definir una constante llamada LED_PIN con el valor 13?
const LED_PIN = 13;
#define LED_PIN 13
int LED_PIN = 13
float LED_PIN = 13;
¿Qué significa la palabra clave volatile al declarar una variable?
¿Cuál es el tamaño en bytes que ocupa una variable de tipo double en Arduino Mega 2560?
2 bytes
4 bytes
8 bytes
16 bytes
¿Cómo se declara e inicializa correctamente una variable entera en C?
int numero; numero = 5;
int numero = 5;
numero = int 5;
int = 5 numero;
¿Qué sucede si intentas usar una variable sin inicializar en C?
El compilador la inicializa en 0 automáticamente.
Se genera un error de compilación.
Puede contener un valor basura.
Se inicializa con un valor predefinido por la arquitectura.
¿Cuál de estas declaraciones es incorrecta en C?
char letra = 'A';
float pi = 3.14;
int numero; total = 10;
double 5valor = 2.5;
¿Cómo se pueden inicializar múltiples variables en una sola línea (e instrucción)en C?
int a = 1, b = 2, c = 3;
int a = 1; int b = 2; int c = 3;
int a, b, c = 1, 2, 3;
a = 1, b = 2, c = 3;
¿Qué tipo de variable usarías para almacenar valores de alta precisión en un Mega2560?
double
float
int
long double
¿Dónde es accesible una variable declarada dentro de una función en C?
En cualquier parte del programa.
Solo dentro de la función donde fue declarada.
En todas las funciones del archivo si se declara extern.
En cualquier archivo si se declara global.
¿Qué sucede si declaras una variable con el mismo nombre en dos funciones diferentes?
Se genera un error de compilación.
Ambas funciones comparten la misma variable.
Son variables distintas y cada función usa su propia versión.
La última declaración sobrescribe la anterior.
¿Cómo se puede limitar el alcance de una variable a solo un bloque de código?
Declararla con static.
Usar #define.
Declararla dentro de llaves {}.
No es posible en C, pero sí en C++ usando limit y el identificador del bloque
¿Cómo afecta el alcance de las variables al uso de memoria en un Mega2560?
Las variables globales consumen más RAM de manera continua.
Las variables locales consumen más RAM que las globales.
No hay diferencia en el consumo de memoria.
Solo las variables static afectan la memoria.
¿Qué pasa si una variable global y una local tienen el mismo nombre en una función?
Se genera un error de compilación.
La variable local oculta a la global dentro de la función.
La variable global se sobreescribe con el valor de la local.
El compilador elige aleatoriamente cuál usar.
¿Cuál es una ventaja de usar variables globales en sistemas embebidos?
Reducen el consumo de RAM.
Permiten compartir datos entre funciones sin necesidad de argumentos.
Son más rápidas que las variables locales.
Son obligatorias en programas de C, pero altamente peligrosas
¿Cuál es una desventaja de usar muchas variables globales?
No se pueden modificar dentro de funciones.
Aumentan el tiempo de ejecución.
Ocupan menos espacio en memoria.
Dificultan el mantenimiento y depuración del código.
¿Cómo se puede reducir el uso de variables globales en un programa embebido?
Usando const en todas las variables.
Pasando variables como parámetros a las funciones.
Declarando todas las variables dentro del main().
Usando solo variables locales.
¿Cuál es la función de static en una variable global?
Permite que la variable sea visible en otros archivos.
Limita su alcance al archivo donde está declarada.
Hace que la variable no pueda cambiar su valor.
Permite que la variable se inicialice cada vez que se llama a una función.
¿Por qué se recomienda usar const en variables cuyo valor no cambia en sistemas embebidos?
Reduce el consumo de memoria RAM al almacenarlas en Flash.
Hace que el código sea más rápido.
Permite modificar su valor en tiempo de ejecución.
Evita errores de compilación.
¿Cuál es el resultado de la expresión 10 % 3 en C?
3
1
0
10
¿Qué operador se usa para incrementar en uno el valor de una variable?
+1
++
--
+=
¿Cuál de las siguientes opciones representa un operador lógico en C?
&
||
+=
%
¿Cuál de las siguientes expresiones es falsa si a = 5 y b = 10?
a < b
a != b
a > b
b >= a
¿Cuál de los siguientes operadores realiza una asignación en C?
==
=
!=
:=
¿Qué operador tiene la mayor precedencia en C?
+
*
( )
&&
¿Cómo se evalúa la siguiente expresión en C? 3 + 2 * 4
(3 + 2) * 4 = 20
3 + (2 * 4) = 11
3 * 2 + 4 = 10
¿Cuál es el resultado de 5 > 3 && 2 < 4?
true
false
True
False
En la expresión x = 5 + 2 * 3;, ¿qué operación se ejecuta primero?
5 + 2
2 * 3
x = 5
Se ejecutan de izquierda a derecha sin importar los operadores.
¿Qué operador tiene menor precedencia en C?
*
+
=
&&
¿Cuál será el valor de x después de ejecutar int x = 3; x += 2 * 4;?
5
8
11
14
¿Cuál es el resultado de !(1 && 0) || (2 > 3)?
true
false
1
0
Si a = 2 y b = 3, ¿cuál es el resultado de a++ * b?
6
9
8
5
¿Qué devuelve la expresión (5 < 2) ? 10 : 20;?
10
20
2
5
¿Cuál de las siguientes opciones representa una estructura if válida en C?
if x > 5 {}
if (x > 5) {}
if x > 5 then {}
if x > 5; {}
¿Qué ocurrirá con el siguiente código si x = 5?
Se imprimirá "Menor"
Se imprimirá "Igual"
Se imprimirá "Mayor"
No imprimirá nada
¿Qué ocurre si una condición dentro de un if no está encerrada entre paréntesis?
Se ejecuta correctamente.
Se genera un error de compilación.
Se evalúa como true.
Se evalúa como false.
¿Cuál de las siguientes opciones describe mejor el uso de else if?
Se usa para evaluar una nueva condición cuando el if es falso.
Se usa solo dentro de un else.
Es obligatorio en todas las estructuras if.
Se usa solo en estructuras de repetición.
¿Cuál es el resultado de la siguiente estructura si x = 3?
"Mayor"
"Menor o igual"
Error de compilación
No imprime nada
¿Cuál es la diferencia principal entre while y do-while?
while siempre se ejecuta al menos una vez.
do-while siempre se ejecuta al menos una vez.
while no necesita una condición.
do-while no necesita llaves {}.
¿Cuál es la salida del siguiente código?
012
123
0123
Error de compilación
¿Cuál es la salida del siguiente código?
012
123
0123
Error de compilación
¿Cuántas veces se ejecuta el siguiente bucle?
5
3
2
0
¿Cuál de estas opciones representa un bucle infinito en C?
for (int i = 0; i < 10; i--)
while (1) {}
do { i++; } while (i < 0);
for (int i = 0; i < 10; i++)
¿Qué hace la siguiente estructura si x = 5?
No imprime nada
Imprime "Hola" 1 vez
Imprime "Hola" hasta que x sea mayor que 5.
Genera un error de compilación.
¿Para qué se usa la sentencia break en C?
Para salir de un bucle antes de que termine.
Para saltar una iteración del bucle.
Para terminar la ejecución del programa.
Para evitar que un bucle infinito ocurra.
¿Qué hace la sentencia continue dentro de un for?
Detiene el bucle inmediatamente.
Salta la iteración actual y pasa a la siguiente.
Reinicia el bucle desde el inicio.
Hace que el bucle finalice con un error.
¿Qué imprimirá el siguiente código?
01234
0134
1234
01234
¿Qué imprimirá el siguiente código?
00 01 10 11 20 21
00011011
01012021
00 10 01 11 20 21
¿Cuál es la función de la directiva #include en C?
Incluir un archivo de cabecera en el código.
Definir un valor constante en el código.
Permitir el uso de macros.
Iniciar el proceso de compilación.
¿Qué hace la directiva #define en C?
Define un tipo de dato.
Crea una constante o macro.
Declara una función.
Incluye una biblioteca externa.
¿Qué imprimirá el siguiente código si #define PI 3.14?
PI
3.14
3.1415
Error de compilación
¿Cuál de las siguientes opciones define una macro que suma dos números?
#define SUMA(a, b) (a + b)
#define SUMA a + b
#define SUMA(a, b) a + b
#define SUMA a, b = a + b
¿Qué sucede si usas una macro con paréntesis alrededor de sus parámetros y los usas sin paréntesis en la expresión?
La macro se evalúa incorrectamente y puede dar resultados inesperados.
La macro se evalúa correctamente, sin importar los paréntesis.
El compilador lanza un error de sintaxis.
Los paréntesis son ignorados.
¿Cómo se declara una función en C?
void funcion();
function void();
int funcion;
def funcion():
¿Cuál es la diferencia entre parámetros y argumentos en funciones en C?
Los parámetros son valores que se pasan a la función, y los argumentos son las variables dentro de la función.
Los parámetros son las variables dentro de la función, y los argumentos son los valores que se pasan a la función.
No hay diferencia entre ellos.
Los parámetros solo existen en funciones recursivas.
¿Cómo se retorna un valor desde una función en C?
Usando return seguido del valor a retornar.
Usando yield.
Asignando el valor a una variable global.
Usando la palabra clave exit con el codigo que quieras retornar.
¿Cómo se declara una función que no retorna ningún valor en C?
int miFuncion();
void miFuncion();
function miFuncion();
return void miFuncion();
¿Qué biblioteca estándar de C debes incluir para utilizar funciones de entrada y salida, como printf?
#include <stdlib.h>
#include <stdio.h>
#include <io.h>
#include <string.h>
¿Qué es un puntero en C?
Una variable que almacena una dirección de memoria.
Una variable que almacena un valor numérico.
Una variable que almacena una cadena de caracteres.
Un tipo de dato que se usa para almacenar arreglos.
¿Cómo se declara un puntero a un entero en C?
int *p;
pointer int p;
int p*;
*int p;
¿Cuál es el operador utilizado para obtener la dirección de memoria de una variable?
*
&
->
@
Dado el siguiente código:
0
a
5
Dirección de memoria de a
¿Qué hace el operador * cuando se usa con un puntero?
Declara una variable puntero.
Asigna un valor al puntero.
Obtiene el valor de la variable a la que apunta el puntero.
Obtiene la dirección de memoria de la variable a la que apunta el puntero.
¿Cuál es la diferencia entre un puntero NULL y un puntero void?
Un puntero NULL apunta a una dirección no válida, y un puntero void puede apuntar a cualquier tipo de dato.
Un puntero NULL es de tipo char, y un puntero void es de tipo int.
Un puntero void apunta a una dirección no válida, y un puntero NULL puede apuntar a cualquier tipo de dato.
No existe diferencia, son lo mismo.
¿Qué tipo de dato almacena un puntero a función?
La dirección de una variable entera.
Un valor de tipo entero.
La dirección de una función.
Una cadena de caracteres.
¿Qué sucede cuando un puntero no ha sido inicializado?
Siempre apunta a NULL.
Apunta a una dirección válida de memoria.
Puede apuntar a cualquier ubicación de memoria, lo que puede causar errores.
Se inicializa automáticamente con el valor de la variable.
Al pasar un puntero a una función, se pasa una copia del valor al que apunta el puntero.
Verdadero
Falso
Dado el siguiente código, ¿Qué valor tendrá a después de ejecutar el código?
