Sesión 1 · Primeros pasos¶
Ejercicios cortos (5-10 minutos) para coger soltura con variables, operadores, cadenas y null safety. Cada uno en su propio archivo.
R1¶
Hola. Muestra tu nombre, tu ciclo y tu ciudad en tres líneas. Después guarda esos datos en variables y muéstralos en una sola línea con interpolación: Soy Lucía, estudio 2º DAM en Cádiz.
R2¶
Hola, mundo en varias plataformas.
- Crea un proyecto:
flutter create --org com.ejemplo hola_mundo. - En
lib/main.dart, cambia el título de la pantalla porHola, <tu nombre>. - Ejecútalo en Chrome (
flutter run -d chrome) y en otra plataforma (emulador o escritorio). Haz una captura de cada una. - Con la app abierta, vuelve a cambiar el texto y pulsa
r. ¿Qué ha pasado con el contador?
R3¶
Ticket del bar. Con las variables producto (texto), precio (decimal), unidades (entero) y terraza (booleano), calcula el total (si es en terraza, suma un 10 %) y muéstralo así:
3 x Café con leche a 1.40 € = 4.62 € (terraza)
Redondea a 2 decimales. Con terraza = false no debe aparecer el paréntesis.
Solución modelo (bloqueada)
🔒 La solución completa está bloqueada. Esto es solo un ejemplo de cómo empieza:
void main() {
const producto = 'Café con leche';
const precio = 1.40;
const unidades = 3;
const terraza = true;
// ... (resto de la solución bloqueado)R4¶
Conversor.
- Pasa 25 °C, 0 °C y 40 °C a Fahrenheit (
F = C · 9 / 5 + 32). - Declara una constante
tasaDolar = 1.08y convierte 50 € a dólares. - Responde: ¿por qué
tasaDolarpuede ser constante de compilación y la hora actual no?
R5¶
Segundos a horas. Dado segundos = 7384, muestra 2 h 3 min 4 s usando la división entera y el resto. Extra: muéstralo como 02:03:04, rellenando con ceros.
Solución modelo (bloqueada)
🔒 La solución completa está bloqueada. Esto es solo un ejemplo de cómo empieza:
void main() {
const segundos = 7384;
final horas = segundos ~/ 3600;
final minutos = (segundos % 3600) ~/ 60;
final resto = segundos % 60;
// ... (resto de la solución bloqueado)R6¶
¿Tienes apodo? Declara nombre = 'Francisco' y un String? apodo sin valor.
- Saluda con el apodo si lo tiene y, si no, con el nombre, en una sola línea.
- Muestra la longitud del apodo sin que aparezca
null. - Dale el valor
'Curro'y vuelve a ejecutar. ¿Qué cambia?
R7¶
Iniciales. Con nombre = 'maría', apellido1 = 'ruiz' y apellido2 = 'pérez':
- Muestra las iniciales en mayúsculas:
M.R.P.. - Muestra el nombre completo con la inicial de cada parte en mayúscula:
María Ruiz Pérez. - Muestra cuántas letras tiene en total, sin contar espacios.
R8¶
Reto: ¿mayor de edad? (solo en local) Pide la edad por teclado, convirtiéndola de forma segura.
- Si no es un número:
"hola" no es una edad válida. - Si lo es: indica si es mayor de edad y cuántos años faltan para los 18 (o cuántos han pasado).