Swift – Ejercicios propuestos (I)

Pedirle un número al usuario y decir si es par usando «if»

var numero:Int;

print("Dime un número: ", terminator:"")
numero = Int(readLine()!)!

// Comprobamos si es par
if numero % 2 == 0 {
	print("\(numero) es par")
}
else {
    print("\(numero) no es par")
}

Pedirle dos números al usuario y ver cuál es el mayor de ellos


Pedirle al usuario un número. Si es múltiplo de 10, pedirle un segundo número y comprobar si también es múltiplo de 10

var numero1 = 0
var numero2 = 0

print("Dime el primer numero: ", terminator:"")
numero1 = Int(readLine()!) ?? 0 

if numero1 % 10 == 0 {
    print("\(numero1) es multiplo de 10, dame otro numero: ", terminator:"")
    numero2 = Int(readLine()!) ?? 0 
    
    if numero2 % 10 == 0 {
        print("El número \(numero2) también es múltiplo de 10\n")
    }
    else {
        print("El número \(numero2) no es múltiplo de 10\n")
    }
}
else {
    print("El número \(numero1) no es múltiplo de 10\n")
}

Multiplicar dos números si el primero no es cero (si es cero, avisar de que el resultado será cero)

var numero1 = 0
var numero2 = 0

print("Dime el primer numero: ", terminator:"")
numero1 = Int(readLine()!) ?? 0 

print("Dime el segundo numero: ", terminator:"")
numero2 = Int(readLine()!) ?? 0 

if numero1 == 0 || numero2 == 0 {
    print("Te va a dar cero\n")
}
else {
    print("La multiplicación de \(numero2) y \(numero1) es \(numero1*numero2)\n")
}

Pedirle al usuario un número e indicar si es múltiplo de 2 o de 3 (de cualquiera de ellos, sin importar cuál)

print("Dime un numero: ", terminator:"")
var numero = Int(readLine()!) ?? 0 

if numero % 2 == 0 || numero % 3 == 0 {
    print("El \(numero) es multiplo de 2 o de 3")
}
else {
    print("El \(numero) no es multiplo ni de 2 ni de 3")    
}

Pedirle al usuario un número e indicarle si es múltiplo de 2 y de 3 (a la vez)

print("Dime un numero: ", terminator:"")
var numero = Int(readLine()!) ?? 0 

if numero % 2 == 0 && numero % 3 == 0 {
    print("El \(numero) es multiplo de 2 y de 3")
}
else {
    print("El \(numero) no es múltiplo de 2 y 3 al mismo tiempo")    
}

Pedirle al usuario un número e indicarle si es múltiplo de 2 pero no de 3


Pedirle al usuario un número e indicarle si no es múltiplo de 2 ni de 3


Pedirle al usuario dos números e indicarle si ambos son pares


Pedirle al usuario dos números e indicarle si al menos uno es par


Pedirle al usuario dos números e indicarle si uno y solo uno es par


Pedirle al usuario que escriba dos números e indicarle uno de estos casos: Uno de ellos (pero no los dos) es positivo, los dos son positivos, o ninguno es positivo


Pedirle al usuario que escriba tres números e indicarle cuál es el mayor


Pedirle al usuario que escriba dos números e indicarle si son iguales o cuál es el mayor

var numero1 = 0
var numero2 = 0

print("Dime el primer numero: ", terminator:"")
numero1 = Int(readLine()!) ?? 0 

print("Dime el segundo numero: ", terminator:"")
numero2 = Int(readLine()!) ?? 0 

if numero1 == numero2 {
    print("Los dos números son iguales\n")
}
else if numero1 > numero2 {
    print("El numero \(numero1) es mayor que \(numero2)\n")
}
else {
    print("El numero \(numero2) es mayor que \(numero1)\n")
}

Usar el operador condicional ?: para mostrar el valor absoluto de un número


Usar el operador condicional ?: para detectar el menor de dos números


Utilizar un switch para pedirle al usuario un número del 1 al 10 y escribirlo en letra («uno», «dos», etc.)


Utilizar switch para pedirle al usuario un carácter e indicar el tipo: cifra numérica, signo de puntuación y otro carácter


Utilizar un switch para pedirle al usuario una letra y ver si ha escrito una vocal, un dígito o una consonante


Pedirle al usuario su contraseña numérica mientras no escriba 1111


Pedir un número por teclado e imprimir el cuadrado de dicho número


Pedirle al usuario dos números continuamente y ver cuál es múltiplo de cuál, o si no son múltiplos


Contador descendente de números pares del 26 al 10, usando while


Calcular cuántas cifras tiene un número entero positivo


Utilizando un bucle de tipo repeat while, sumar números positivos hasta que introduzcamos un 0 o un número negativo

var numero:Int, total = 0

repeat {
    print("Dime un numero: ", terminator:"")
    numero = Int(readLine()!) ?? 0 
    total += numero
} while numero > 0

print("Total sumado: \(total)")

Utilizando un bucle de tipo repeat while, pedirle al usuario su identificador y contraseña hasta que no escriba 1234 y 1111 respectivamente


Utilizando un bucle repeat while, pedirle al usuario su identificador y contraseña hasta que no escriba Pedro y Peter respectivamente


Mostrar los números del 10 al 20 ambos incluidos


Contar del 1 al 50 usando for y decir cuales son múltiplos de 3


Mostrar los números divisibles entre 7 y 3 que estén entre el 100 y el 200, usando un bucle for in


Imprimir la tabla de multiplicar del 9 usando for in


Mostrar los 8 primeros números pares


Mostrar del 15 al 5 descendiendo


Bucle infinito para mostrar «Hola» sin parar en pantalla


Bucle infinito para mostrar los enteros positivos a partir del 1


Utilizando bucles anidados, mostrar si los números estre el 10 y el 20 son divisibles entre 5, 6 o 7


Utilizando bucles anidados, mostrar 10 veces los números del 1 al 5, en 10 líneas separadas


Dibujar un cuadrado de asteriscos del ancho y alto que diga el usuario


Imprimir un rectángulo de asteriscos del ancho y alto especificado por el usuario


Dibujar un triángulo de asteriscos creciente, de tantas alturas como diga el usuario


Dibujar un triángulo de asteriscos decreciente, de tantas alturas como diga el usuario


Imprimir los divisores comunes de dos números


Imprimir el máximo común divisor de dos números


Imprimir el máximo común divisor de dos números utilizando un break para terminar cuando se haya encontrado


Imprimir el mínimo común múltiplo de dos números


Imprimir el mínimo común múltiplo de dos números utilizando un break para terminar cuando se haya encontrado


Imprimir una cuenta atrás desde el número introducido por teclado (entre el 1 y el 10)


Adivinar un número prefijado en el programa


Adivinar un número del 1 al 100 (prefijado) en 6 intentos como máximo


Averiguar si un número dado por el usuario es primo


Imprimir los factores primos de un número dado por el usuario


Calcular un número elevado a otro usando multiplicaciones sucesivas


Dibujar un rectángulo hueco, utilizando la altura y la anchura proporcionadas por el usuario


Devolver el cambio de una compra con los billetes y monedas más grandes posibles


Pedirle al usuario edad y año de nacimiento y dar aviso de error en el momento en que introduzca un dato incorrecto (por ejemplo, que ponga «Hola» al pedirle la edad)


Hallar el volumen de una esfera dado su radio. Volumen = pi * radio al cubo * 4/3


Mostrar el valor de y para los primeros 20 valores de x: y = x2 – 1


Calcula el perímetro, área y diagonal de un rectángulo dados su ancho y alto


Pedir al usuario su nombre y su contraseña dos veces, hasta que las dos contraseñas introducidas coincidan


Utilizando funciones

Crear una función que reciba como parámetro la longitud del lado de un cuadrado y lo dibuje utilizando asteriscos


Crear una función que reciba como parámetros la base y la altura de un rectángulo y lo dibuje utilizando asteriscos


Crear una función que reciba como parámetros un carácter y un número y repita ese carácter tantas veces como indique el número


Crear un función que devuelva el cubo de un número real pasado por parámetro


Crear una función para pedirle un número al usuario. Dicha función debe recibir como parámetro el texto a mostrar al usuario y el límite inferior y superior del entero que éste debe introducir, y repetirle que lo introduzca hasta que ponga un número correcto


Crear una función que reciba un entero y devuelva un booleano indicando si el número es primo o no