0% encontró este documento útil (0 votos)
223 vistas7 páginas

Ejercicios Flutter

Flirteer

Cargado por

Ruben Paredes
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
223 vistas7 páginas

Ejercicios Flutter

Flirteer

Cargado por

Ruben Paredes
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 7

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

También podría gustarte