Volver a la portadaTecnología e Ingeniería I · 1º Bach. Ciencias · Cambiar asignaturaEmpezar gratis
Apuntes

Ejercicios: Las estructuras de un programa

Practica★☆☆
Explica qué es una variable en un programa y pon un ejemplo: qué nombre y qué contenido tendría una variable en un videojuego que guarda los puntos del jugador. ¿Qué…

Explica qué es una variable en un programa y pon un ejemplo: qué nombre y qué contenido tendría una variable en un videojuego que guarda los puntos del jugador. ¿Qué operación cambiaría su valor al superar un nivel?

Resolver
Practica★☆☆
Explica qué es una estructura condicional (si... entonces... si no...) y escribe dos ejemplos de decisiones cotidianas expresadas con esa estructura, indicando la…

Explica qué es una estructura condicional (si... entonces... si no...) y escribe dos ejemplos de decisiones cotidianas expresadas con esa estructura, indicando la condición y las dos acciones posibles.

Resolver
Practica★☆☆
Explica qué es un bucle y qué problema resuelve frente a repetir las mismas instrucciones muchas veces. Escribe en pseudocódigo un bucle que escriba los números del 1 al…

Explica qué es un bucle y qué problema resuelve frente a repetir las mismas instrucciones muchas veces. Escribe en pseudocódigo un bucle que escriba los números del 1 al 5.

Resolver
Practica★☆☆
Explica la diferencia entre una variable y una constante en un programa, con un ejemplo de cada una en un programa de facturación (el precio del producto frente al…

Explica la diferencia entre una variable y una constante en un programa, con un ejemplo de cada una en un programa de facturación (el precio del producto frente al porcentaje de IVA).

Resolver
Practica★☆☆
Los datos de un programa tienen tipo: entero, decimal, texto o booleano. Indica el tipo más adecuado para cada dato y justifícalo: la edad de una persona, su altura en…

Los datos de un programa tienen tipo: entero, decimal, texto o booleano. Indica el tipo más adecuado para cada dato y justifícalo: la edad de una persona, su altura en metros, su nombre y si ha aprobado o no.

Resolver
Practica★☆☆
Explica qué es una función en un programa y dos ventajas de trocear el código en funciones con nombre (reutilizar sin copiar, entender y probar cada parte por separado).

Explica qué es una función en un programa y dos ventajas de trocear el código en funciones con nombre (reutilizar sin copiar, entender y probar cada parte por separado).

Resolver
Practica★☆☆
¿Qué es un comentario en el código fuente? Explica a quién van dirigidos los comentarios (no al ordenador, sino a quien leerá el código después) y qué debe explicar un…

¿Qué es un comentario en el código fuente? Explica a quién van dirigidos los comentarios (no al ordenador, sino a quien leerá el código después) y qué debe explicar un buen comentario (el porqué de las decisiones, no lo que ya se ve).

Resolver
Practica★☆☆
Lee este fragmento y haz la traza: Indica qué valor se muestra por pantalla y explica por qué la segunda instrucción no es una ecuación matemática sino una asignación.

Lee este fragmento y haz la traza:

inicio

    x ← 4

    x ← x + 2

    escribir x

fin

Indica qué valor se muestra por pantalla y explica por qué la segunda instrucción no es una ecuación matemática sino una asignación.

Resolver
Practica★★☆
Lee este programa en pseudocódigo: Haz la traza paso a paso (valor de suma y de n al final de cada vuelta) e indica cuántas veces se repite el bucle y qué valor se…

Lee este programa en pseudocódigo:

inicio

    suma ← 0

    n ← 1

    mientras n ≤ 5 hacer

        suma ← suma + n

        n ← n + 1

    fin mientras

    escribir suma

fin

Haz la traza paso a paso (valor de suma y de n al final de cada vuelta) e indica cuántas veces se repite el bucle y qué valor se escribe al final.

Resolver
Practica★★☆
Escribe en pseudocódigo un programa que lea la nota de un examen (un número de 0 a 10) y escriba «apto» si la nota es 5 o mayor, y «no apto» en caso contrario. Usa una…

Escribe en pseudocódigo un programa que lea la nota de un examen (un número de 0 a 10) y escriba «apto» si la nota es 5 o mayor, y «no apto» en caso contrario. Usa una variable, una lectura de dato y una estructura condicional.

Resolver
Practica★★☆
El diagrama de flujo de la figura representa un programa con un bucle: lee un número n y, mientras n sea mayor que 0, escribe su valor y le resta 1, como se muestra en…

El diagrama de flujo de la figura representa un programa con un bucle: lee un número n y, mientras n sea mayor que 0, escribe su valor y le resta 1, como se muestra en la figura.

inicio leer n n > 0 ? sí escribir n n ← n − 1 no fin

Si el usuario introduce n = 3: (a) haz la traza indicando qué valores toma n y qué se escribe en cada vuelta; (b) indica cuántas veces se ejecuta el cuerpo del bucle; (c) explica qué ocurriría si el usuario introdujera n = 0.

Resolver
Practica★★☆
Este programa clasifica a una persona según su edad: Haz la traza para una entrada de 17 y para una de 21, indicando en cada caso qué condición se evalúa y qué se…

Este programa clasifica a una persona según su edad:

inicio

    leer edad

    si edad ≥ 18 entonces

        escribir "mayor de edad"

    si no

        escribir "menor de edad"

    fin si

fin

Haz la traza para una entrada de 17 y para una de 21, indicando en cada caso qué condición se evalúa y qué se escribe por pantalla.

Resolver
Practica★★☆
Escribe en pseudocódigo un programa que escriba la cuenta atrás del 10 al 1 y, al terminar el bucle, escriba «¡despegue!». Usa una variable y un bucle mientras.

Escribe en pseudocódigo un programa que escriba la cuenta atrás del 10 al 1 y, al terminar el bucle, escriba «¡despegue!». Usa una variable y un bucle mientras.

Resolver
Practica★★☆
Este programa suma los números que introduce el usuario hasta que escribe un cero: Haz la traza para la secuencia de entradas 4, 3, 0: indica el valor de n y de suma…

Este programa suma los números que introduce el usuario hasta que escribe un cero:

inicio

    suma ← 0

    leer n

    mientras n ≠ 0 hacer

        suma ← suma + n

        leer n

    fin mientras

    escribir suma

fin

Haz la traza para la secuencia de entradas 4, 3, 0: indica el valor de n y de suma tras cada lectura y qué se escribe al final. Explica además por qué el primer leer n está fuera del bucle.

Resolver
Practica★★☆
El diagrama de flujo de la figura representa el control de acceso de un dispositivo: hay un máximo de tres intentos para introducir la clave correcta, como se muestra en…

El diagrama de flujo de la figura representa el control de acceso de un dispositivo: hay un máximo de tres intentos para introducir la clave correcta, como se muestra en la figura.

inicio intentos ← 0 ¿quedan intentos? no Acceso bloqueado sí leer clave ¿clave correcta? sí Acceso permitido no intentos ← intentos + 1

(a) Explica el recorrido completo del programa cuando el usuario falla la clave dos veces y acierta a la tercera. (b) Indica el número máximo de veces que el programa pide la clave. (c) Razona por qué la variable intentos se incrementa solo en una de las ramas del segundo rombo.

Resolver
Practica★★☆
Este programa debería escribir los números del 1 al 5, pero tiene un fallo: Identifica el error (qué le falta al cuerpo del bucle), explica qué ocurre al ejecutarlo…

Este programa debería escribir los números del 1 al 5, pero tiene un fallo:

inicio

    n ← 1

    mientras n ≤ 5 hacer

        escribir n

    fin mientras

fin

Identifica el error (qué le falta al cuerpo del bucle), explica qué ocurre al ejecutarlo (bucle infinito) y escribe el pseudocódigo corregido.

Resolver
Practica★★★
Lee este programa en pseudocódigo, que analiza los números del 1 al 10: Haz la traza completa (valores de n y de pares en cada vuelta), indica qué valor se escribe al…

Lee este programa en pseudocódigo, que analiza los números del 1 al 10:

inicio

    pares ← 0

    n ← 1

    mientras n ≤ 10 hacer

        si n es divisible entre 2 entonces

            pares ← pares + 1

        fin si

        n ← n + 1

    fin mientras

    escribir pares

fin

Haz la traza completa (valores de n y de pares en cada vuelta), indica qué valor se escribe al final y explica con una frase qué calcula el programa. Después, modifícalo para que cuente los múltiplos de 3 y escribe el pseudocódigo resultante.

Resolver
Practica★★★
Escribe en pseudocódigo el juego de «adivina el número»: el programa guarda un número secreto entre 1 y 100 y el usuario introduce intentos; tras cada intento, el…

Escribe en pseudocódigo el juego de «adivina el número»: el programa guarda un número secreto entre 1 y 100 y el usuario introduce intentos; tras cada intento, el programa responde «mayor» o «menor» según el secreto sea mayor o menor que el intento, y el bucle termina cuando acierta, escribiendo entonces el número de intentos usados. Usa variables, un bucle y condicionales.

Resolver
Practica★★★
Diseña en pseudocódigo el control de un semáforo con sensor: normalmente está en verde para los coches; cuando el sensor detecta un peatón que quiere cruzar, pasa a…

Diseña en pseudocódigo el control de un semáforo con sensor: normalmente está en verde para los coches; cuando el sensor detecta un peatón que quiere cruzar, pasa a ámbar, luego a rojo, mantiene el rojo un tiempo y vuelve a verde, y todo se repite dentro de un bucle sin fin. Escribe el algoritmo y analiza qué ocurriría si el sensor fallara y siempre indicara «peatón esperando», proponiendo una mejora del programa para ese caso.

Resolver
Practica★★★
Este programa usa dos bucles anidados: (a) Haz la traza completa indicando cada pareja de valores de i y j. (b) Indica cuántas líneas se escriben en total y por qué ese…

Este programa usa dos bucles anidados:

inicio

    para i desde 2 hasta 3 hacer

        para j desde 1 hasta 3 hacer

            escribir i · j

        fin para

    fin para

fin

(a) Haz la traza completa indicando cada pareja de valores de i y j. (b) Indica cuántas líneas se escriben en total y por qué ese número es el producto de las repeticiones de ambos bucles. (c) Generaliza: ¿cuántas líneas escribiría con i de 1 a 10 y j de 1 a 10?

Resolver
Practica★★★
Escribe en pseudocódigo el control de acceso de un cajero automático: pide el PIN con un máximo de tres intentos; si se acierta, muestra el menú; si se agotan los…

Escribe en pseudocódigo el control de acceso de un cajero automático: pide el PIN con un máximo de tres intentos; si se acierta, muestra el menú; si se agotan los intentos, bloquea la tarjeta con un mensaje. Usa variables, un bucle mientras y condicionales, y cuida que el contador solo avance tras un fallo.

Resolver
Practica★★★
Escribe en pseudocódigo una función area_circulo(radio) que devuelva el área $\pi \cdot r^2$ (usa $\pi \approx 3{,}1416$) y un programa principal que la llame para los…

Escribe en pseudocódigo una función area_circulo(radio) que devuelva el área $\pi \cdot r^2$ (usa $\pi \approx 3{,}1416$) y un programa principal que la llame para los radios $1$ y $2$ y escriba ambos resultados. Haz la traza de las dos llamadas, indicando qué valor entra y qué valor devuelve la función en cada una.

Resolver
Practica★★★
Este programa debería calcular la media de tres notas, pero tiene un error lógico: Localiza el error, explica por qué el programa se ejecuta sin avisar, propón un caso…

Este programa debería calcular la media de tres notas, pero tiene un error lógico:

inicio

    leer a, b, c

    media ← (a + b + c) / 4

    si media ≥ 5 entonces

        escribir "apto"

    si no

        escribir "no apto"

    fin si

fin

Localiza el error, explica por qué el programa se ejecuta sin avisar, propón un caso de prueba concreto (tres notas y el resultado correcto esperado) que lo ponga en evidencia y escribe la línea corregida.

Resolver
Practica★★★
Descompón el juego de «adivina el número» en funciones: nombra al menos cuatro (por ejemplo, inicializar partida, pedir intento, comparar con el secreto, informar del…

Descompón el juego de «adivina el número» en funciones: nombra al menos cuatro (por ejemplo, inicializar partida, pedir intento, comparar con el secreto, informar del resultado), indica qué datos recibe y qué devuelve cada una, y explica qué ventaja aporta esa descomposición si mañana quieres cambiar el rango de 1-100 a 1-1000.

Resolver