Bucle for - Ejercicios (1)

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

Se pueden consultar unas posibles soluciones.

A. Bucles

Bucle for (1) - A-1

Escriba un programa que pida dos números enteros y escriba qué números son pares y cuáles impares desde el primero hasta el segundo.

Ayuda:

Un número es par cuando el resto de su división entre dos es cero (numero % 2 == 0) e impar cuando no lo es.

PARES E IMPARES
Escriba un número entero: 6
Escriba un número entero mayor o igual que 6: 2
¡Le he pedido un número entero mayor o igual que 6!
PARES E IMPARES
Escriba un número entero: 4
Escriba un número entero mayor o igual que 4: 8
El número 4 es par
El número 5 es impar
El número 6 es par
El número 7 es impar
El número 8 es par
PARES E IMPARES
Escriba un número entero: 5
Escriba un número entero mayor o igual que 5: 5
El número 5 es impar

Bucle for (1) - A-2

Escriba un programa que pida un número entero mayor que cero y que escriba sus divisores.

Ayuda:
  • Un número es divisible por otro cuando el resto de su división es cero (numero % divisor == 0).
  • Se puede hacer un programa más rápido, teniendo en cuenta que los divisores son siempre menores o iguales que la mitad del número (salvo el propio número, que es divisor de sí mismo). Es decir, no hace falta probar todos los números entre 1 y el propio número, sino únicamente hasta la mitad. Si se hace así, no hay que olvidarse de añadir el propio número a la lista de divisores.
DIVISORES
Escriba un número mayor que cero: -5
¡Le he pedido un número entero mayor que cero!
DIVISORES
Escriba un número entero mayor que cero: 200
Los divisores de 200 son 1 2 4 5 8 10 20 25 40 50 100 200

Bucle for (1) - A-3

Escriba un programa que pregunte cuántos números se van a introducir, pida esos números, y muestre un mensaje cada vez que un número no sea mayor que el primero.

MAYORES QUE EL PRIMERO
¿Cuántos valores va a introducir? -1
¡Imposible!
MAYORES QUE EL PRIMERO
¿Cuántos valores va a introducir? 4
Escriba un número: 6
Escriba un número más grande que 6: 10
Escriba un número más grande que 6: 3
¡3 no es mayor que 6!
Escriba un número más grande que 6: 9
Gracias por su colaboración.

Bucle for (1) - A-4 (ejercicio 2 examen 1 de junio de 2012 turno mañana)

Escriba un programa que pregunte cuántos números se van a introducir, pida esos números, y muestre un mensaje cada vez que un número no sea mayor que el anterior.

MAYORES QUE EL ANTERIOR
¿Cuántos valores va a introducir? -1
¡Imposible!
MAYORES QUE EL ANTERIOR
¿Cuántos valores va a introducir? 4
Escriba un número: 6
Escriba un número más grande que 6: 10
Escriba un número más grande que 10: 8
¡8 no es mayor que 10!
Escriba un número más grande que 8: 9
Gracias por su colaboración

B. Contadores

Bucle for (1) - B-1

Escriba un programa que pregunte cuántos números se van a introducir, pida esos números y escriba cuántos negativos ha introducido.

NÚMEROS NEGATIVOS
¿Cuántos valores va a introducir? -1
¡Imposible!
NÚMEROS NEGATIVOS
¿Cuántos valores va a introducir? 0
No ha escrito ningún número negativo.
NÚMEROS NEGATIVOS
¿Cuántos valores va a introducir? 2
Escriba el número 1: 56
Escriba el número 2: -22
Ha escrito 1 número negativo.
NÚMEROS NEGATIVOS
¿Cuántos valores va a introducir? 5
Escriba el número 1: 56
Escriba el número 2: -22
Escriba el número 3: 98
Escriba el número 4: -30
Escriba el número 5: -30
Ha escrito 3 números negativos.

Bucle for (1) - B-2 (examen 14 de junio de 2012)

Escriba un programa que pregunte cuántos números se van a introducir, pida esos números, y diga al final cuántos han sido pares y cuántos impares.

CONTADOR DE PARES E IMPARES
¿Cuántos valores va a introducir? -1
¡Imposible!
CONTADOR DE PARES E IMPARES
¿Cuántos valores va a introducir? 5
Escriba el valor 1: 4
Escriba el valor 2: 3
Escriba el valor 3: 6
Escriba el valor 4: 8
Escriba el valor 5: 7
Ha escrito 3 números pares y 2 números impares.
Gracias por su colaboración.

Bucle for (1) - B-3

Escriba un programa que pida un número entero mayor que 1 y que escriba si el número es un número primo o no.

Ayuda:
  • Un número entero mayor que 1 es primo si es divisible únicamente por 1 y por sí mismo.
  • Una manera de comprobar si un número es primo es contar cuántos divisores tiene el número (probando todos los números entre 1 y el propio número). Si sólo tiene dos divisores (1 y el propio número), es que el número es primo. En este ejercicio se puede aprovechar el bucle del ejercicio A-2.
  • Otra manera (equivalente a la anterior) de comprobar si un número es primo es contar cuántos divisores tiene el número (probando todos los números entre 2 y el propio número menos uno). Si no tiene ningún divisor, es que el número es primo.
  • Se puede hacer un programa mucho más rápido, teniendo en cuenta que no es necesario comprobar todos los números entre 1 y el propio número. Basta con comprobar hasta la raíz cuadrada del número, puesto que si un número tiene un divisor mayor que su raíz cuadrada también lo tendrá menor que su raíz cuadrada.
  • Se puede hacer un programa todavía mucho más rápido, teniendo en cuenta que no es necesario saber cuántos divisores tiene un número para saber que es primo, ya que en cuanto encontremos un divisor (diferente de 1 y el propio número), ya sabemos que el número no es primo. Pero para poder escribir un programa que haga eso (interrumpir la búsqueda), necesitamos usar un bucle while, que veremos más adelante.
NÚMERO PRIMO
Escriba un número mayor que 1: -5
¡Le he pedido un número entero mayor que 1!
NÚMERO PRIMO
Escriba un número entero mayor que 1: 127
127 es primo.
NÚMERO PRIMO
Escriba un número entero mayor que 1: 200
200 no es primo.
NÚMERO PRIMO
Escriba un número entero mayor que 1: 67867967
67867967 es primo.

C. Acumuladores

Bucle for (1) - C-1

Escriba un programa que pregunte cuantos números se van a introducir, pida esos números (que puedan ser decimales) y calcule su suma.

SUMA DE VALORES
¿Cuántos valores va a introducir? -1
¡Imposible!
SUMA DE VALORES
¿Cuántos valores va a introducir? 5
Escriba el número 1: 25
Escriba el número 2: 30
Escriba el número 3: 10.5
Escriba el número 4: 14
Escriba el número 5: 23
La suma de los números que ha escrito es 102.5

Bucle for (1) - C-2

Escriba un programa que pida dos números enteros y escriba la suma de todos los enteros desde el primer número hasta el segundo.

SUMA ENTRE VALORES
Escriba un número entero positivo: -5
¡Le he pedido un número entero positivo!
SUMA ENTRE VALORES
Escriba un número entero positivo: 7
Escriba un número entero mayor que 7: 7
¡Le he pedido un número entero mayor que 7!
SUMA ENTRE VALORES
Escriba un número entero positivo: 30
Escriba un número entero mayor que 30: 32
La suma desde 30 hasta 32 es 93

C-2-2 - Mostrar suma

Mejore el programa anterior haciendo que el programa escriba la suma realizada

SUMA ENTRE VALORES
Escriba un número entero positivo: 10
Escriba un número entero mayor que 10: 15
La suma desde 10 hasta 15 es 75
10 + 11 + 12 + 13 + 14 + 15 = 75

Nota:

Bucle for (1) - C-3

Escriba un programa que pregunte cuántos números se van a introducir, pida esos números, y escriba el mayor, el menor y la media aritmética.

Se recuerda que la media aritmética de un conjunto de valores es la suma de esos valores dividida por la cantidad de valores.

Ayuda:
  • Para encontrar el mínimo se puede utilizar una variable auxiliar (minimo) para guardar el valor más pequeño.
    El valor inicial de esa variable tiene que ser el primer valor que escriba el usuario.
    Cada vez que se introduce un valor, si es menor que mínimo, se debe guardar ese valor en la variable minimo.
  • Para encontrar el máximo se puede utilizar una variable auxiliar (maximo) para guardar el valor más grande.
    El valor inicial de esa variable tiene que ser el primer valor que escriba el usuario.
    Cada vez que se introduce un valor, si es mayor que máximo, se debe guardar ese valor en la variable maximo.
  • Para encontrar la media se puede utilizar una variable auxiliar (suma) para guardar la suma de valores.
    El valor inicial de esa variable tiene que ser el primer valor que escriba el usuario.
    Cada vez que se introduce un valor, se suma a la variable suma.
    Finalmente, la media aritmética es la suma dividida por el número de valores.
  • El primer valor introducido no se debe tratar como los siguientes (el primer valor se guarda en las variables), por lo que la petición del primer valor se debe hacer antes del bucle de peticiones.
MAYOR, MENOR Y MEDIA ARITMÉTICA
¿Cuántos valores va a introducir? -1
¡Imposible!
MAYOR, MENOR Y MEDIA ARITMÉTICA
¿Cuántos valores va a introducir? 5
Escriba el número 1: 25
Escriba el número 2: 100
Escriba el número 3: 7
Escriba el número 4: 90
Escriba el número 5: 14
El número más pequeño de los introducidos es 7.0
El número más grande de los introducidos es 100.0
La media de los números introducidos es 47.2

Bucle for (1) - C-4

Escriba un programa que pida un número entero mayor que cero y calcule su factorial.

Ayuda:
  • El factorial de un entero (que se escribe con una exclamación, factorial de 5 se escribe 5!) es el producto de los enteros hasta dicho número. Es decir 5! = 5 * 4 * 3 * 2 * 1 = 120, o lo que es lo mismo, 1 * 2 * 3 * 4 * 5.
  • Por definición, el factorial de 0 es 1, es decir 0! = 1, por lo que el programa podría admitir también el 0.
FACTORIAL
Escriba un número entero mayor que cero: -5
¡Le he pedido un número entero mayor que cero!
FACTORIAL
Escriba un número entero mayor que cero: 5
El factorial de 5 es 120

Más ejercicios