Dibujos ASCII - Bucle for - Ejercicios (1)

En estos ejercicios se trata de crear dibujos geométricos sencillos utilizando caracteres ASCII, principalmente caracteres estrella (*) y espacios en blanco y en algunos casos guiones (-). En estos ejercicios se utilizan extensamente los bucles for, simples o anidados.

Estos ejercicios corresponden a lo explicado en la lección sobre el bucle for (2) (variables independientes).

Se pueden consultar unas posibles soluciones.

A. Bucles no anidados

Para estos primeros ejercicios no hacen falta bucles anidados, pero serán útiles en los ejercicios siguientes:

ASCII - Bucle for (1) - A-1

Escriba un programa que pida la anchura de una línea y la dibuje con caracteres producto (*):

Anchura de la línea: 5
* * * * *

ASCII - Bucle for (1) - A-2

Escriba un programa que pida la anchura de una línea y la dibuje con caracteres producto (*) y resta (-):

Anchura de la línea: 5
* - - - *

ASCII - Bucle for (1) - A-3

Escriba un programa que pida la altura de una figura y la dibuje con caracteres producto (*):

Altura de la figura: 5
*
*
*
*
*

ASCII - Bucle for (1) - A-4

Escriba un programa que pida la altura de una figura y la dibuje con caracteres producto (*) y tubería (|):

Altura de la figura: 5
*
|
|
|
*

B. Bucles anidados (variables independientes)

En estos ejercicios hacen falta bucles anidados, pero las variables son independientes.

ASCII - Bucle for (1) - B-1

Escriba un programa que pida la anchura y altura de un rectángulo y lo dibuje con caracteres producto (*):

Anchura del rectángulo: 5
Altura del rectángulo: 3
* * * * *
* * * * *
* * * * *

ASCII - Bucle for (1) - B-2

  1. Escriba un programa que pida la anchura y altura de un rectángulo y lo dibuje con caracteres producto (*) y resta (-):
    Anchura del rectángulo: 6
    Altura del rectángulo: 4
    * * * * * *
    * - - - - *
    * - - - - *
    * * * * * *
    
  2. A partir del programa anterior, escriba un programa que pida la anchura y altura de un rectángulo y lo dibuje con caracteres producto (*) y espacios:
    Anchura del rectángulo: 6
    Altura del rectángulo: 4
    * * * * * *
    *         *
    *         *
    * * * * * *
    

ASCII - Bucle for (1) - B-3

  1. Escriba un programa que pida la anchura y altura de un rectángulo y la cantidad de rectángulos a dibujar uno debajo del otro y lo dibuje con caracteres producto (*) y espacios:
    Anchura del rectángulo: 6
    Altura del rectángulo: 4
    Número de rectángulos en vertical: 3
    * * * * * * *
    *           *
    *           *
    * * * * * * *
    
    * * * * * * *
    *           *
    *           *
    * * * * * * *
    
    * * * * * * *
    *           *
    *           *
    * * * * * * *
    
  2. A partir del programa anterior, escriba un programa que pida la anchura y altura de un rectángulo y la cantidad de rectángulos a dibujar uno debajo del otro y lo dibuje con caracteres producto (*) y espacios:
    Anchura del rectángulo: 6
    Altura del rectángulo: 4
    Número de rectángulos en vertical: 3
    * * * * * * *
    *           *
    *           *
    * * * * * * *
    *           *
    *           *
    * * * * * * *
    *           *
    *           *
    * * * * * * *
    

ASCII - Bucle for (1) - B-4

  1. Escriba un programa que pida la anchura y altura de un rectángulo y la cantidad de rectángulos a dibujar uno al lado del otro y lo dibuje con caracteres producto (*) y espacios:
    Anchura del rectángulo: 6
    Altura del rectángulo: 4
    Número de rectángulos en horizontal: 3
    * * * * * *  * * * * * *  * * * * * *
    *         *  *         *  *         *
    *         *  *         *  *         *
    * * * * * *  * * * * * *  * * * * * *
    
  2. A partir del programa anterior, escriba un programa que pida la anchura y altura de un rectángulo y la cantidad de rectángulos a dibujar uno al lado del otro y lo dibuje con caracteres producto (*) y espacios:
    Anchura del rectángulo: 6
    Altura del rectángulo: 4
    Número de rectángulos en horizontal: 3
    * * * * * * * * * * * * * * * *
    *         *         *         *
    *         *         *         *
    * * * * * * * * * * * * * * * *
    

ASCII - Bucle for (1) - B-5

Escriba un programa que pida la anchura y altura de un rectángulo y la cantidad de rectángulos a dibujar uno al lado del otro y lo dibuje con caracteres producto (*) y espacios:

Anchura del rectángulo: 6
Altura del rectángulo: 4
Número de rectángulos en horizontal: 3
Número de rectángulos en vertical: 2
* * * * * * * * * * * * * * * *
*         *         *         *
*         *         *         *
* * * * * * * * * * * * * * * *
*         *         *         *
*         *         *         *
* * * * * * * * * * * * * * * *

C. Más bucles anidados (variables independientes)

En estos ejercicios se dibujan figuras con forma de letras, utilizando bucles anidados con variables independientes.

Para facilitar la creación de las figuras, en cada programa se piden ciertas condiciones sobre los valores introducidos por el usuario. Cada programa debe comprobar esas condiciones y generar mensajes de error en su caso. Al realizar las comprobaciones sobre los valores, no es necesario que el programa muestre todos los errores. Es suficiente con que muestre uno cualquiera. Lógicamente, el dibujo sólo debe mostrarse cuando no hay ningún error.


ASCII - Bucle for (1) - C-1 - Letra L

Escriba un programa que pida la altura, la anchura y el grosor de una letra L y la dibuje con caracteres producto (*).

Comprobaciones a realizar:

Letra L
Altura de la letra L: 9
Anchura de la letra L: 5
Grosor de la letra L: 3
* * *
* * *
* * *
* * *
* * *
* * *
* * * * *
* * * * *
* * * * *
Letra L
Altura de la letra L: 5
Anchura de la letra L: 3
Grosor de la letra L: 1
*
*
*
*
* * *
Letra L
Altura de la letra L: 4
Anchura de la letra L: 5
Grosor de la letra L: 0
Los tres valores deben ser positivos.

ASCII - Bucle for (1) - C-2 - Letra C

Escriba un programa que pida la altura, la anchura y el grosor de una letra C y la dibuje con caracteres producto (*).

Comprobaciones a realizar:

Letra C
Altura de la letra C: 3
Anchura de la letra C: 2
Grosor de la letra C: 1
* *
*
* *
Letra C
Altura de la letra C: 5
Anchura de la letra C: 9
Grosor de la letra C: 2
* * * * * * * * *
* * * * * * * * *
* *
* * * * * * * * *
* * * * * * * * *
Letra C
Altura de la letra C: 8
Anchura de la letra C: 6
Grosor de la letra C: 5
La altura debe ser mayor que el doble del grosor.

ASCII - Bucle for (1) - C-3 - Letra U

Escriba un programa que pida la altura, la anchura y el grosor de una letra C y la dibuje con caracteres producto (*).

Comprobaciones a realizar:

Letra U
Altura de la letra U: 6
Anchura de la letra U: 4
Grosor de la letra U: 1
*     *
*     *
*     *
*     *
*     *
* * * *
Letra U
Altura de la letra U: 5
Anchura de la letra U: 11
Grosor de la letra U: 4
* * * *       * * * *
* * * * * * * * * * *
* * * * * * * * * * *
* * * * * * * * * * *
* * * * * * * * * * *
Letra U
Altura de la letra U: 5
Anchura de la letra U: 6
Grosor de la letra U: 3
La anchura debe ser mayor que el doble del grosor.

ASCII - Bucle for (1) - C-4 - Letra O

Escriba un programa que pida la altura, la anchura y el grosor de una letra O y la dibuje con caracteres producto (*).

Comprobaciones a realizar:

Letra O
Altura de la letra O: 7
Anchura de la letra O: 8
Grosor de la letra O: 2
* * * * * * * *
* * * * * * * *
* *         * *
* *         * *
* *         * *
* * * * * * * *
* * * * * * * *
Letra O
Altura de la letra O: 10
Anchura de la letra O: 8
Grosor de la letra O: 3
* * * * * * * *
* * * * * * * *
* * * * * * * *
* * *     * * *
* * *     * * *
* * *     * * *
* * *     * * *
* * * * * * * *
* * * * * * * *
* * * * * * * *
Letra O
Altura de la letra O: 7
Anchura de la letra O: 6
Grosor de la letra O: 3
La anchura debe ser mayor que el doble del grosor.

ASCII - Bucle for (1) - C-5 - Letra T

Escriba un programa que pida la altura, la anchura y el grosor de una letra T y la dibuje con caracteres producto (*).

Comprobaciones a realizar:

Letra T
Altura de la letra T: 5
Anchura de la letra T: 4
Grosor de la letra T: 2
* * * *
* * * *
* *
* *
* *
Letra T
Altura de la letra T: 5
Anchura de la letra T: 11
Grosor de la letra T: 3
* * * * * * * * * * *
* * * * * * * * * * *
* * * * * * * * * * *
      * * *
      * * *
Letra T
Altura de la letra T: 8
Anchura de la letra T: 9
Grosor de la letra T: 2
La anchura y el grosor deben ser ambos pares o ambos impares
Letra T
Altura de la letra T: 6
Anchura de la letra T: 5
Grosor de la letra T: 5
La anchura debe ser al menos dos unidades mayor que el grosor.

ASCII - Bucle for (1) - C-6 - Letra H

Escriba un programa que pida la altura, la anchura y el grosor de una letra H y la dibuje con caracteres producto (*).

Comprobaciones a realizar:

Letra H
Altura de la letra H: 11
Anchura de la letra H: 13
Grosor de la letra H: 3
* * *               * * *
* * *               * * *
* * *               * * *
* * *               * * *
* * * * * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * * *
* * *               * * *
* * *               * * *
* * *               * * *
* * *               * * *
Letra H
Altura de la letra H: 10
Anchura de la letra H: 7
Grosor de la letra H: 2
* *       * *
* *       * *
* *       * *
* *       * *
* * * * * * *
* * * * * * *
* *       * *
* *       * *
* *       * *
* *       * *
Letra H
Altura de la letra H: 7
Anchura de la letra H: 5
Grosor de la letra H: 2
La altura y el grosor deben ser ambos pares o ambos impares