INSTITUTO TECNOLOGICO
MARCELO QUIROGA SANTA CRUZ
CARRERA DE SISTEMAS INFORMÁTICOS
PRACTICA
CREAR INTERFACES FLUTTER PARA PROGRAMAS
BASICOS DESARROLLADOS EN DART
Ejercicio 1: Calcular promedio de 3 números
Crear un programa que dados 3 números calcule su promedio.
void main() {
final num1 = 10;
final num2 = 10;
final num3 = 9.8;
final promedio = (num1 + num2 + num3) / 3;
print('El promedio es: $promedio');
}
Paso a Paso:
1. Crear un Proyecto de Flutter: Si no lo has hecho ya, asegúrate de crear un
proyecto de Flutter:
flutter create calculo_promedio
cd calculo_promedio
2. Editar el Archivo main.dart:
o Abre el archivo main.dart y reemplaza su contenido por el siguiente
código:
dart
import 'package:flutter/material.dart';
void main() {
runApp(CalculoPromedioApp());
}
class CalculoPromedioApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: PromedioScreen(),
);
}
}
class PromedioScreen extends StatefulWidget {
@override
_PromedioScreenState createState() => _PromedioScreenState();
}
Lic. Ramiro Espejo PDM-205
INSTITUTO TECNOLOGICO
MARCELO QUIROGA SANTA CRUZ
CARRERA DE SISTEMAS INFORMÁTICOS
class _PromedioScreenState extends State<PromedioScreen> {
final TextEditingController num1Controller =
TextEditingController();
final TextEditingController num2Controller =
TextEditingController();
final TextEditingController num3Controller =
TextEditingController();
double? promedio;
void calcularPromedio() {
final num1 = double.tryParse(num1Controller.text);
final num2 = double.tryParse(num2Controller.text);
final num3 = double.tryParse(num3Controller.text);
if (num1 != null && num2 != null && num3 != null) {
setState(() {
promedio = (num1 + num2 + num3) / 3;
});
} else {
setState(() {
promedio = null; // Manejo de errores
});
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Cálculo de Promedio'),
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
TextField(
controller: num1Controller,
decoration: InputDecoration(
labelText: 'Número 1',
border: OutlineInputBorder(),
),
keyboardType: TextInputType.number,
),
SizedBox(height: 10),
TextField(
controller: num2Controller,
decoration: InputDecoration(
labelText: 'Número 2',
border: OutlineInputBorder(),
),
keyboardType: TextInputType.number,
),
SizedBox(height: 10),
TextField(
controller: num3Controller,
decoration: InputDecoration(
Lic. Ramiro Espejo PDM-205
INSTITUTO TECNOLOGICO
MARCELO QUIROGA SANTA CRUZ
CARRERA DE SISTEMAS INFORMÁTICOS
labelText: 'Número 3',
border: OutlineInputBorder(),
),
keyboardType: TextInputType.number,
),
SizedBox(height: 20),
ElevatedButton(
onPressed: calcularPromedio,
child: Text('Calcular Promedio'),
),
SizedBox(height: 20),
Text(
promedio != null ? 'El promedio es: $promedio' : 'Por
favor, ingresa números válidos',
style: TextStyle(fontSize: 24),
),
],
),
),
);
}
}
Explicación del Código:
1. TextEditingControllers: Se utilizan para obtener los valores de los campos de
texto donde el usuario ingresa los números.
2. calcularPromedio: Esta función convierte los textos ingresados a números y
calcula el promedio. Si los valores no son válidos, muestra un mensaje de error.
3. build: Construye la interfaz de usuario con tres campos de texto, un botón para
calcular el promedio y un texto que muestra el resultado.
Ejercicio 2: Número par o impar
Crear un programa que dado un número imprima sí es un número par
o impar.
void main() {
final numero = 0;
// Los numeros pares son los numeros que divididos entre dos su
residuo/resto es igual a cero.
if (numero % 2 == 0) {
Lic. Ramiro Espejo PDM-205
INSTITUTO TECNOLOGICO
MARCELO QUIROGA SANTA CRUZ
CARRERA DE SISTEMAS INFORMÁTICOS
print('El $numero es par');
} else {
print('El $numero es impar');
PROGRAMA FLUTTER
import 'dart:async';
import 'package:flutter/material.dart';
void main() {
runApp(CalculoPromedioApp());
}
class CalculoPromedioApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: PromedioScreen(),
);
}
}
class PromedioScreen extends StatefulWidget {
@override
_PromedioScreenState createState() => _PromedioScreenState();
}
class _PromedioScreenState extends State<PromedioScreen> {
final TextEditingController num1Controller =
TextEditingController();
//final TextEditingController num2Controller =
TextEditingController();
//final TextEditingController num3Controller =
TextEditingController();
String? promedio;
void verificaNumero() {
final num1 = int.parse(num1Controller.text);
//final num2 = double.tryParse(num2Controller.text);
Lic. Ramiro Espejo PDM-205
INSTITUTO TECNOLOGICO
MARCELO QUIROGA SANTA CRUZ
CARRERA DE SISTEMAS INFORMÁTICOS
//final num3 = double.tryParse(num3Controller.text);
if (num1 % 2==0) {
setState(() {
promedio='ES PAR';
});
} else {
setState(() {
promedio='ES IMPAR';
});
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('VERIFICA SI UN NUMERO ES PAR'),
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
TextField(
controller: num1Controller,
decoration: InputDecoration(
labelText: 'Número 1',
border: OutlineInputBorder(),
),
keyboardType: TextInputType.number,
),
SizedBox(height: 20),
ElevatedButton(
onPressed: verificaNumero,
child: Text('veriicar si es par'),
),
SizedBox(height: 20),
Text(
promedio != null ? 'El numero es: $promedio' : 'Por
favor, ingresa números válidos',
style: TextStyle(fontSize: 24),
),
],
),
),
Lic. Ramiro Espejo PDM-205
INSTITUTO TECNOLOGICO
MARCELO QUIROGA SANTA CRUZ
CARRERA DE SISTEMAS INFORMÁTICOS
);
}
}
Ejercicio 3: Calcular perímetro y área de un círculo
Crear un programa que dado el diámetro de un círculo imprima su
perímetro y su área.
void main() {
final pi = 3.1416;
final diametro = 5;
final radio = diametro / 2;
final perimetro = 2 * pi * radio;
final area = pi * radio * radio;
print('El perimetro es: $perimetro');
print('El area es: $area');
Ejercicio 4: Calcular salario semanal
Crear un programa que dado un número de horas trabajadas a la
semana calcule el salario de un empleado. Después de 40 horas
trabajadas se deben pagar horas extra. El salario por hora es de $10 y
el salario por hora extra es de $15.
void main() {
// Este valor lo elegimos nosotros
final horasTrabajadas = 40;
Lic. Ramiro Espejo PDM-205
INSTITUTO TECNOLOGICO
MARCELO QUIROGA SANTA CRUZ
CARRERA DE SISTEMAS INFORMÁTICOS
// Estos valores son dados por el problema
final salarioHora = 10;
final salarioHoraExtra = 15;
num salarioSemanal;
if (horasTrabajadas > 40) {
salarioSemanal = 40 * salarioHora;
salarioSemanal += (horasTrabajadas - 40) * salarioHoraExtra;
} else {
salarioSemanal = horasTrabajadas * salarioHora;
}
print('El salario semanal es de: $salarioSemanal');
}
Ejercicio 5: El clima actual
Crear un programa que dada una temperatura en grados imprima el
tipo de clima de acuerdo a las siguientes condiciones:
Si la temperatura 10 grados o menos es clima frio
Si la temperatura está entre 11 y 20 grados es clima templado
Si la temperatura es mayor que 20 y menor o igual que 30
grados es clima tropical
Mayor de 30 es clima caluroso
void main() {
final temperatura = 11;
if (temperatura <= 10) {
print('Clima frio');
} else if (temperatura >= 11 && temperatura <= 20) {
print('Clima templado');
} else if (temperatura >= 21 && temperatura <= 30) {
print('Clima tropical');
} else {
print('Clima caluroso');
}
}
Lic. Ramiro Espejo PDM-205