# Ejercicios de conocimiento y comprensión

### **EJEMPLO 1**

##### **ENUNCIADO**:

Dado el siguiente código:

[![image-1654441595250.png](https://libros.catedu.es/uploads/images/gallery/2022-06/scaled-1680-/image-1654441595250.png)](https://libros.catedu.es/uploads/images/gallery/2022-06/image-1654441595250.png)

a) Explica para qué sirve este programa.

b) Detecta si existe algún error en el código y justifica por qué.

c) Realiza el diagrama de flujo del mismo.

d) Cópialo en un fichero de PseInt y comprueba si has contestado correctamente los apartados a), b) y c)

e) Introduce los comentarios necesarios para su mejor comprensión.

##### **SOLUCION**

a) Es un sencillo programa para comparar dos números introducidos por el usuario.

b) Al reproducirlo con PseInt se detectan dos errores:

[![image-1654441901371.png](https://libros.catedu.es/uploads/images/gallery/2022-06/scaled-1680-/image-1654441901371.png)](https://libros.catedu.es/uploads/images/gallery/2022-06/image-1654441901371.png)

1\. Esto es erróneo, debería poner num1 es menor que num2 para ser cierta la condición de la línea anterior.

2\. Falta un punto y coma al final

c) El diagrama de flujo es:

[![image-1654442006509.png](https://libros.catedu.es/uploads/images/gallery/2022-06/scaled-1680-/image-1654442006509.png)](https://libros.catedu.es/uploads/images/gallery/2022-06/image-1654442006509.png)

e) Un ejemplo de este programa comentado podría ser:

[![image-1654442142463.png](https://libros.catedu.es/uploads/images/gallery/2022-06/scaled-1680-/image-1654442142463.png)](https://libros.catedu.es/uploads/images/gallery/2022-06/image-1654442142463.png)

### EJEMPLO 2

##### **ENUNCIADO**:

Dado el siguiente diagrama de bloques

[![image-1654442512547.png](https://libros.catedu.es/uploads/images/gallery/2022-06/scaled-1680-/image-1654442512547.png)](https://libros.catedu.es/uploads/images/gallery/2022-06/image-1654442512547.png)

a) Dí qué realiza este programa.

b) Identifica en el dibujo qué elementos pertenecen a Entradas, Salidas, Datos u Operaciones.

c) ¿Detectas algún error o imprecisión?

d) Realiza el diagrama de flujo del mismo.

e) Reproduce el programa en Scratch y comprueba tus respuestas anteriores.

f) OPCIONAL: ¿Se te ocurre alguna forma más sencilla de reescribir este programa?

##### **SOLUCION**:

a) Es un programa que muestra en pantalla un mensaje elegido por el usuario 5 veces, durante 2 segundos y dejando un espacio entre un mensaje y otro de 1 segundo.

b)

[![image-1654442962524.png](https://libros.catedu.es/uploads/images/gallery/2022-06/scaled-1680-/image-1654442962524.png)](https://libros.catedu.es/uploads/images/gallery/2022-06/image-1654442962524.png)

c) El error es que la variable num no tiene un valor inicial predefinido, aunque sería más una imprecisión puesto que si no se asigna valor inicial, se asume el valor 0 que es el que nosotros queríamos poner.

[![image-1654443077535.png](https://libros.catedu.es/uploads/images/gallery/2022-06/scaled-1680-/image-1654443077535.png)](https://libros.catedu.es/uploads/images/gallery/2022-06/image-1654443077535.png)

d) Diagrama de flujo:

[![image-1654443217068.png](https://libros.catedu.es/uploads/images/gallery/2022-06/scaled-1680-/image-1654443217068.png)](https://libros.catedu.es/uploads/images/gallery/2022-06/image-1654443217068.png)

f) Si realmente se quiere repetir el mensaje 5 veces y no un número determinado por el usuario bastaría con este esquema.

[![image-1654443297281.png](https://libros.catedu.es/uploads/images/gallery/2022-06/scaled-1680-/image-1654443297281.png)](https://libros.catedu.es/uploads/images/gallery/2022-06/image-1654443297281.png)

El código inicial solo tiene sentido si el número de veces que se repite también quiere ser personalizado por la persona usuaria.

{{@5685}}