wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Simulacro_Parcial1_EMBEB

Total questions: 105

Worksheet time: 54mins

Name
Class
Date
1.

¿Qué es un sistema embebido?

a)

Un sistema diseñado para una tarea específica

b)

Un sistema de propósito general

c)

Un sistema que solo funciona en la nube

d)

Un sistema exclusivo para la inteligencia artificial

2.

¿Cuál de las siguientes características define a un sistema embebido?

a)

Bajo consumo de energía

b)

Operación en tiempo real en algunos casos

c)

Integración de hardware y software

d)

Todas las anteriores

3.

¿Cuál de los siguientes no es un ejemplo de un sistema embebido?

a)

Un microondas con control digital

b)

Un teléfono móvil

c)

Un ordenador de escritorio

d)

Un sistema de control de frenos ABS

4.

¿Cuál es un beneficio clave de los sistemas embebidos?

a)

Mayor capacidad de procesamiento que un ordenador convencional

b)

Consumo eficiente de recursos

c)

Facilidad para cambiar su propósito después de su fabricación

d)

Uso exclusivo en aplicaciones militares

5.

¿Qué distingue a un sistema embebido de otros sistemas computacionales?

a)

Son diseñados con un propósito específico

b)

Requieren grandes cantidades de memoria RAM

c)

Siempre operan con un sistema operativo Linux

d)

No pueden conectarse a redes

6.

¿Qué elemento es fundamental en un sistema embebido?

a)

Un microcontrolador o microprocesador

b)

Un disco duro de alta capacidad

c)

Un monitor de alta resolución

d)

Un teclado mecánico

7.

¿Cuál es la diferencia principal entre un microcontrolador y un microprocesador?

a)

Un microprocesador tiene más memoria RAM integrada

b)

Un microcontrolador integra memoria y periféricos en el mismo chip

c)

Un microcontrolador no puede ejecutar software

d)

Un microprocesador es más eficiente energéticamente

8.

¿Qué tipo de memoria se usa para almacenar el firmware en un sistema embebido?

a)

RAM

b)

ROM o memoria Flash

c)

Caché

d)

Memoria de disco duro

9.

¿Qué arquitectura se usa comúnmente en sistemas embebidos?

a)

Von Neumann

b)

Harvard

c)

RISC-V

d)

Von Neumann y RISC-V

10.

¿Qué componente es esencial para la comunicación entre dispositivos en un sistema embebido?

a)

Tarjeta gráfica

b)

UART, SPI o I2C

c)

Fuente de alimentación de alto voltaje

d)

Un sistema operativo de escritorio

11.
¿Qué es un sistema operativo en tiempo real (RTOS)?
a)
Un sistema que garantiza tiempos de respuesta predecibles
b)
Un sistema basado en Windows
c)
Un software de diseño gráfico
d)
Un sistema operativo usado solo en servidores
12.
¿Qué característica tiene un firmware en un sistema embebido?
a)
No se puede actualizar
b)
Se almacena en memoria ROM o Flash
c)
Requiere un disco duro para ejecutarse
d)
Es un software de ofimática
13.
¿Qué lenguaje de programación es comúnmente usado en sistemas embebidos?
a)
JavaScript
b)
HTML
c)
C/C++
d)
Python exclusivamente
14.
¿Qué herramienta se usa para programar microcontroladores?
a)
Arduino IDE
b)
Photoshop
c)
Microsoft Excel
d)
AutoCAD
15.
¿Cuál de los siguientes no es un protocolo de comunicación común en sistemas embebidos?
a)
UART
b)
SPI
c)
HTTP
d)
I2C
16.
¿En qué sectores se usan los sistemas embebidos?
a)
Automotriz
b)
Medicina
c)
Aeroespacial
d)
Todas las anteriores
17.
¿Qué significa que un sistema embebido sea de 'tiempo real'?
a)
Que responde en un tiempo predecible o crítico
b)
Que requiere conexión a Internet
c)
Que puede ejecutarse en cualquier PC
d)
Que opera con cualquier sistema operativo
18.
¿Qué es la depuración (debugging) en sistemas embebidos?
a)
El proceso de encontrar y corregir errores en el software
b)
Un método para mejorar el rendimiento del hardware
c)
La instalación de drivers en un sistema operativo
d)
La configuración de redes inalámbricas
19.
¿Qué herramienta se usa para depurar un sistema embebido?
a)
JTAG
b)
Wireshark
c)
Excel
d)
Photoshop
20.
¿Qué es un bootloader en un sistema embebido?
a)
Un software que gestiona el arranque del sistema
b)
Un sensor de temperatura
c)
Un componente de hardware
d)
Una memoria de almacenamiento
21.
¿Cuál es un reto común en el diseño de sistemas embebidos?
a)
Optimización del consumo energético
b)
Seguridad cibernética
c)
Limitaciones de memoria y procesamiento
d)
Todas las anteriores
22.
¿Qué es la computación en la niebla (fog computing)?
a)
Un tipo de almacenamiento en la nube
b)
Un modelo donde el procesamiento ocurre cerca del dispositivo final
c)
Un sistema de refrigeración por aire comprimido
d)
Un nuevo lenguaje de programación
23.
¿Cuál es un beneficio del uso de IoT en sistemas embebidos?
a)
Interconexión de dispositivos
b)
Mejora en la automatización
c)
Monitoreo en tiempo real
d)
Todas las anteriores
24.
¿Qué es un sistema ciberfísico (CPS)?
a)
Un sistema que combina software, hardware y redes para interactuar con el mundo físico
b)
Un sistema de videojuegos
c)
Un sistema exclusivo de la NASA
d)
Un sistema basado en robots de ficción
25.
¿Qué tipo de sensores son comunes en sistemas embebidos?
a)
Acelerómetros
b)
Sensores de temperatura
c)
Sensores de luz
d)
Todas las anteriores
26.

¿Cuál es el tipo de dato más adecuado para almacenar un valor booleano (verdadero o falso) en C?

a)

int

b)

char

c)

bool

d)

float

27.

¿Qué tamaño en bytes ocupa una variable de tipo int en Arduino Mega 2560?

a)

1 byte

b)

2 byte

c)

4 byte

d)

Depende del compilador

28.

¿Cuál es el rango de valores que puede almacenar una variable de tipo char sin signo?

a)

-128 a 127

b)

0 a 255

c)

0 a 65535

d)

-32768 a 32767

29.

¿Qué tipo de dato se utiliza para representar números decimales con precisión?

a)

int

b)

float

c)

char

d)

bool

30.

¿Cuál es la sintaxis correcta para declarar una constante llamada PI con el valor 3.14159?

a)

const PI = 3.14159;

b)

#define PI 3.14159

c)

int PI = 3.14159;

d)

float PI = 3.14159;

31.

¿Qué tipo de dato se utiliza para almacenar un carácter individual, como una letra o un símbolo?

a)

int

b)

char

c)

bool

d)

float

32.

¿Cuál es el rango de valores que puede almacenar una variable de tipo short con signo?

a)

-128 a 127

b)

-32768 a 32767

c)

0 a 65535

d)

Depende del compilador

33.

¿Qué significa la palabra clave unsigned al declarar una variable?

a)

La variable solo puede almacenar valores negativos.

b)

La variable solo puede almacenar valores positivos.

c)

La variable puede almacenar valores tanto positivos como negativos.

d)

Ninguna de las anteriores.

34.

¿Cuál es la diferencia entre int y long int?

a)

long int ocupa más memoria que int.

b)

int ocupa más memoria que long int.

c)

No hay diferencia, ambos tipos son equivalentes

d)

long int solo se puede utilizar en Arduino Mega 2560.

35.

¿Cuál es la sintaxis correcta para declarar una variable de tipo float llamada temperatura?

a)

float temperatura;

b)

float Temperatura

c)

Float temperatura;

d)

#define temperatura float

36.

¿Qué significa la palabra clave const al declarar una variable?

a)

La variable puede cambiar su valor durante la ejecución del programa.

b)

La variable no puede cambiar su valor durante la ejecución del programa.

c)

La variable solo puede almacenar valores enteros.

d)

Ninguna de las anteriores.

37.

¿Cuál es el tamaño en bytes que ocupa una variable de tipo long en Arduino Mega 2560?

a)

2 bytes

b)

4 bytes

c)

Depende del compilador

d)

No se puede utilizar en Arduino Mega 2560

38.

¿Qué tipo de dato es más adecuado para almacenar la dirección de memoria de una variable?

a)

int

b)

char

c)

bool

d)

puntero

39.

¿Cuál es la sintaxis correcta para definir una constante llamada LED_PIN con el valor 13?

a)

const LED_PIN = 13;

b)

#define LED_PIN 13

c)

int LED_PIN = 13

d)

float LED_PIN = 13;

40.

¿Qué significa la palabra clave volatile al declarar una variable?

4 lines
41.

¿Cuál es el tamaño en bytes que ocupa una variable de tipo double en Arduino Mega 2560?

a)

2 bytes

b)

4 bytes

c)

8 bytes

d)

16 bytes

42.

¿Cómo se declara e inicializa correctamente una variable entera en C?

a)

int numero; numero = 5;

b)

int numero = 5;

c)

numero = int 5;

d)

int = 5 numero;

43.

¿Qué sucede si intentas usar una variable sin inicializar en C?

a)

El compilador la inicializa en 0 automáticamente.

b)

Se genera un error de compilación.

c)

Puede contener un valor basura.

d)

Se inicializa con un valor predefinido por la arquitectura.

44.

¿Cuál de estas declaraciones es incorrecta en C?

a)

char letra = 'A';

b)

float pi = 3.14;

c)

int numero; total = 10;

d)

double 5valor = 2.5;

45.

¿Cómo se pueden inicializar múltiples variables en una sola línea (e instrucción)en C?

a)

int a = 1, b = 2, c = 3;

b)

int a = 1; int b = 2; int c = 3;

c)

int a, b, c = 1, 2, 3;

d)

a = 1, b = 2, c = 3;

46.

¿Qué tipo de variable usarías para almacenar valores de alta precisión en un Mega2560?

a)

double

b)

float

c)

int

d)

long double

47.

¿Dónde es accesible una variable declarada dentro de una función en C?

a)

En cualquier parte del programa.

b)

Solo dentro de la función donde fue declarada.

c)

En todas las funciones del archivo si se declara extern.

d)

En cualquier archivo si se declara global.

48.

¿Qué sucede si declaras una variable con el mismo nombre en dos funciones diferentes?

a)

Se genera un error de compilación.

b)

Ambas funciones comparten la misma variable.

c)

Son variables distintas y cada función usa su propia versión.

d)

La última declaración sobrescribe la anterior.

49.

¿Cómo se puede limitar el alcance de una variable a solo un bloque de código?

a)

Declararla con static.

b)

Usar #define.

c)

Declararla dentro de llaves {}.

d)

No es posible en C, pero sí en C++ usando limit y el identificador del bloque

50.

¿Cómo afecta el alcance de las variables al uso de memoria en un Mega2560?

a)

Las variables globales consumen más RAM de manera continua.

b)

Las variables locales consumen más RAM que las globales.

c)

No hay diferencia en el consumo de memoria.

d)

Solo las variables static afectan la memoria.

51.

¿Qué pasa si una variable global y una local tienen el mismo nombre en una función?

a)

Se genera un error de compilación.

b)

La variable local oculta a la global dentro de la función.

c)

La variable global se sobreescribe con el valor de la local.

d)

El compilador elige aleatoriamente cuál usar.

52.

¿Cuál es una ventaja de usar variables globales en sistemas embebidos?

a)

Reducen el consumo de RAM.

b)

Permiten compartir datos entre funciones sin necesidad de argumentos.

c)

Son más rápidas que las variables locales.

d)

Son obligatorias en programas de C, pero altamente peligrosas

53.

¿Cuál es una desventaja de usar muchas variables globales?

a)

No se pueden modificar dentro de funciones.

b)

Aumentan el tiempo de ejecución.

c)

Ocupan menos espacio en memoria.

d)

Dificultan el mantenimiento y depuración del código.

54.

¿Cómo se puede reducir el uso de variables globales en un programa embebido?

a)

Usando const en todas las variables.

b)

Pasando variables como parámetros a las funciones.

c)

Declarando todas las variables dentro del main().

d)

Usando solo variables locales.

55.

¿Cuál es la función de static en una variable global?

a)

Permite que la variable sea visible en otros archivos.

b)

Limita su alcance al archivo donde está declarada.

c)

Hace que la variable no pueda cambiar su valor.

d)

Permite que la variable se inicialice cada vez que se llama a una función.

56.

¿Por qué se recomienda usar const en variables cuyo valor no cambia en sistemas embebidos?

a)

Reduce el consumo de memoria RAM al almacenarlas en Flash.

b)

Hace que el código sea más rápido.

c)

Permite modificar su valor en tiempo de ejecución.

d)

Evita errores de compilación.

57.

¿Cuál es el resultado de la expresión 10 % 3 en C?

a)

3

b)

1

c)

0

d)

10

58.

¿Qué operador se usa para incrementar en uno el valor de una variable?

a)

+1

b)

++

c)

--

d)

+=

59.

¿Cuál de las siguientes opciones representa un operador lógico en C?

a)

&

b)

||

c)

+=

d)

%

60.

¿Cuál de las siguientes expresiones es falsa si a = 5 y b = 10?

a)

a < b

b)

a != b

c)

a > b

d)

b >= a

61.

¿Cuál de los siguientes operadores realiza una asignación en C?

a)

==

b)

=

c)

!=

d)

:=

62.

¿Qué operador tiene la mayor precedencia en C?

a)

+

b)

*

c)

( )

d)

&&

63.

¿Cómo se evalúa la siguiente expresión en C? 3 + 2 * 4

a)

(3 + 2) * 4 = 20

b)

3 + (2 * 4) = 11

c)

3 * 2 + 4 = 10

64.

¿Cuál es el resultado de 5 > 3 && 2 < 4?

a)

true

b)

false

c)

True

d)

False

65.

En la expresión x = 5 + 2 * 3;, ¿qué operación se ejecuta primero?

a)

5 + 2

b)

2 * 3

c)

x = 5

d)

Se ejecutan de izquierda a derecha sin importar los operadores.

66.

¿Qué operador tiene menor precedencia en C?

a)

*

b)

+

c)

=

d)

&&

67.

¿Cuál será el valor de x después de ejecutar int x = 3; x += 2 * 4;?

a)

5

b)

8

c)

11

d)

14

68.

¿Cuál es el resultado de !(1 && 0) || (2 > 3)?

a)

true

b)

false

c)

1

d)

0

69.

Si a = 2 y b = 3, ¿cuál es el resultado de a++ * b?

a)

6

b)

9

c)

8

d)

5

70.

¿Qué devuelve la expresión (5 < 2) ? 10 : 20;?

a)

10

b)

20

c)

2

d)

5

71.

¿Cuál de las siguientes opciones representa una estructura if válida en C?

a)

if x > 5 {}

b)

if (x > 5) {}

c)

if x > 5 then {}

d)

if x > 5; {}

72.

¿Qué ocurrirá con el siguiente código si x = 5?

a)

Se imprimirá "Menor"

b)

Se imprimirá "Igual"

c)

Se imprimirá "Mayor"

d)

No imprimirá nada

73.

¿Qué ocurre si una condición dentro de un if no está encerrada entre paréntesis?

a)

Se ejecuta correctamente.

b)

Se genera un error de compilación.

c)

Se evalúa como true.

d)

Se evalúa como false.

74.

¿Cuál de las siguientes opciones describe mejor el uso de else if?

a)

Se usa para evaluar una nueva condición cuando el if es falso.

b)

Se usa solo dentro de un else.

c)

Es obligatorio en todas las estructuras if.

d)

Se usa solo en estructuras de repetición.

75.

¿Cuál es el resultado de la siguiente estructura si x = 3?

a)

"Mayor"

b)

"Menor o igual"

c)

Error de compilación

d)

No imprime nada

76.

¿Cuál es la diferencia principal entre while y do-while?

a)

while siempre se ejecuta al menos una vez.

b)

do-while siempre se ejecuta al menos una vez.

c)

while no necesita una condición.

d)

do-while no necesita llaves {}.

77.

¿Cuál es la salida del siguiente código?

a)

012

b)

123

c)

0123

d)

Error de compilación

78.

¿Cuál es la salida del siguiente código?

a)

012

b)

123

c)

0123

d)

Error de compilación

79.

¿Cuántas veces se ejecuta el siguiente bucle?

a)

5

b)

3

c)

2

d)

0

80.

¿Cuál de estas opciones representa un bucle infinito en C?

a)

for (int i = 0; i < 10; i--)

b)

while (1) {}

c)

do { i++; } while (i < 0);

d)

for (int i = 0; i < 10; i++)

81.

¿Qué hace la siguiente estructura si x = 5?

a)

No imprime nada

b)

Imprime "Hola" 1 vez

c)

Imprime "Hola" hasta que x sea mayor que 5.

d)

Genera un error de compilación.

82.

¿Para qué se usa la sentencia break en C?

a)

Para salir de un bucle antes de que termine.

b)

Para saltar una iteración del bucle.

c)

Para terminar la ejecución del programa.

d)

Para evitar que un bucle infinito ocurra.

83.

¿Qué hace la sentencia continue dentro de un for?

a)

Detiene el bucle inmediatamente.

b)

Salta la iteración actual y pasa a la siguiente.

c)

Reinicia el bucle desde el inicio.

d)

Hace que el bucle finalice con un error.

84.

¿Qué imprimirá el siguiente código?

a)

01234

b)

0134

c)

1234

d)

01234

85.

¿Qué imprimirá el siguiente código?

a)

00 01 10 11 20 21

b)

00011011

c)

01012021

d)

00 10 01 11 20 21

86.

¿Cuál es la función de la directiva #include en C?

a)

Incluir un archivo de cabecera en el código.

b)

Definir un valor constante en el código.

c)

Permitir el uso de macros.

d)

Iniciar el proceso de compilación.

87.

¿Qué hace la directiva #define en C?

a)

Define un tipo de dato.

b)

Crea una constante o macro.

c)

Declara una función.

d)

Incluye una biblioteca externa.

88.

¿Qué imprimirá el siguiente código si #define PI 3.14?

a)

PI

b)

3.14

c)

3.1415

d)

Error de compilación

89.

¿Cuál de las siguientes opciones define una macro que suma dos números?

a)

#define SUMA(a, b) (a + b)

b)

#define SUMA a + b

c)

#define SUMA(a, b) a + b

d)

#define SUMA a, b = a + b

90.

¿Qué sucede si usas una macro con paréntesis alrededor de sus parámetros y los usas sin paréntesis en la expresión?

a)

La macro se evalúa incorrectamente y puede dar resultados inesperados.

b)

La macro se evalúa correctamente, sin importar los paréntesis.

c)

El compilador lanza un error de sintaxis.

d)

Los paréntesis son ignorados.

91.

¿Cómo se declara una función en C?

a)

void funcion();

b)

function void();

c)

int funcion;

d)

def funcion():

92.

¿Cuál es la diferencia entre parámetros y argumentos en funciones en C?

a)

Los parámetros son valores que se pasan a la función, y los argumentos son las variables dentro de la función.

b)

Los parámetros son las variables dentro de la función, y los argumentos son los valores que se pasan a la función.

c)

No hay diferencia entre ellos.

d)

Los parámetros solo existen en funciones recursivas.

93.

¿Cómo se retorna un valor desde una función en C?

a)

Usando return seguido del valor a retornar.

b)

Usando yield.

c)

Asignando el valor a una variable global.

d)

Usando la palabra clave exit con el codigo que quieras retornar.

94.

¿Cómo se declara una función que no retorna ningún valor en C?

a)

int miFuncion();

b)

void miFuncion();

c)

function miFuncion();

d)

return void miFuncion();

95.

¿Qué biblioteca estándar de C debes incluir para utilizar funciones de entrada y salida, como printf?

a)

#include <stdlib.h>

b)

#include <stdio.h>

c)

#include <io.h>

d)

#include <string.h>

96.

¿Qué es un puntero en C?

a)

Una variable que almacena una dirección de memoria.

b)

Una variable que almacena un valor numérico.

c)

Una variable que almacena una cadena de caracteres.

d)

Un tipo de dato que se usa para almacenar arreglos.

97.

¿Cómo se declara un puntero a un entero en C?

a)

int *p;

b)

pointer int p;

c)

int p*;

d)

*int p;

98.

¿Cuál es el operador utilizado para obtener la dirección de memoria de una variable?

a)

*

b)

&

c)

->

d)

@

99.

Dado el siguiente código:

a)

0

b)

a

c)

5

d)

Dirección de memoria de a

100.

¿Qué hace el operador * cuando se usa con un puntero?

a)

Declara una variable puntero.

b)

Asigna un valor al puntero.

c)

Obtiene el valor de la variable a la que apunta el puntero.

d)

Obtiene la dirección de memoria de la variable a la que apunta el puntero.

101.

¿Cuál es la diferencia entre un puntero NULL y un puntero void?

a)

Un puntero NULL apunta a una dirección no válida, y un puntero void puede apuntar a cualquier tipo de dato.

b)

Un puntero NULL es de tipo char, y un puntero void es de tipo int.

c)

Un puntero void apunta a una dirección no válida, y un puntero NULL puede apuntar a cualquier tipo de dato.

d)

No existe diferencia, son lo mismo.

102.

¿Qué tipo de dato almacena un puntero a función?

a)

La dirección de una variable entera.

b)

Un valor de tipo entero.

c)

La dirección de una función.

d)

Una cadena de caracteres.

103.

¿Qué sucede cuando un puntero no ha sido inicializado?

a)

Siempre apunta a NULL.

b)

Apunta a una dirección válida de memoria.

c)

Puede apuntar a cualquier ubicación de memoria, lo que puede causar errores.

d)

Se inicializa automáticamente con el valor de la variable.

104.

Al pasar un puntero a una función, se pasa una copia del valor al que apunta el puntero.

a)

Verdadero

b)

Falso

105.

Dado el siguiente código, ¿Qué valor tendrá a después de ejecutar el código?

a)
0
b)
20
c)
30
d)
10