20 ejemplos de programas escritos en DART

  1. Hola Mundo:
void main() {
  print("Hola Mundo");
}
  1. Calcular el factorial de un número:
int factorial(int n) {
  if (n == 0) return 1;
  return n * factorial(n - 1);
}

void main() {
  int num = 5;
  int fact = factorial(num);
  print("El factorial de $num es $fact");
}
  1. Encontrar el número más grande en una lista:
void main() {
  List<int> lista = [10, 5, 15, 20, 25];
  int max = lista[0];
  for (int i = 1; i < lista.length; i++) {
    if (lista[i] > max) {
      max = lista[i];
    }
  }
  print("El número más grande es $max");
}
  1. Implementar una clase y crear objetos:
class Persona {
  String nombre;
  int edad;

  Persona(this.nombre, this.edad);

  void saludar() {
    print("Hola, mi nombre es $nombre y tengo $edad años.");
  }
}

void main() {
  Persona p = Persona("Juan", 30);
  p.saludar();
}
  1. Realizar una consulta HTTP:
import 'dart:convert';
import 'package:http/http.dart' as http;

void main() async {
  var response = await http.get(Uri.parse("https://jsonplaceholder.typicode.com/todos/1"));
  var data = jsonDecode(response.body);
  print("Título: ${data["title"]}");
}

  1. Crear una función para calcular el área de un círculo:
double calcularAreaCirculo(double radio) {
  return 3.1416 * radio * radio;
}

void main() {
  double radio = 5.0;
  double area = calcularAreaCirculo(radio);
  print("El área del círculo de radio $radio es $area");
}
  1. Crear una clase para representar una cuenta bancaria y realizar operaciones sobre ella:
class CuentaBancaria {
  String titular;
  double saldo;

  CuentaBancaria(this.titular, this.saldo);

  void depositar(double cantidad) {
    saldo += cantidad;
  }

  void retirar(double cantidad) {
    if (cantidad > saldo) {
      print("No hay suficiente saldo para realizar la operación.");
    } else {
      saldo -= cantidad;
    }
  }

  void mostrarSaldo() {
    print("El saldo actual de la cuenta de $titular es $saldo");
  }
}

void main() {
  CuentaBancaria cuenta = CuentaBancaria("Juan Pérez", 5000.0);
  cuenta.mostrarSaldo();
  cuenta.depositar(1000.0);
  cuenta.mostrarSaldo();
  cuenta.retirar(3000.0);
  cuenta.mostrarSaldo();
}
  1. Crear una función para comprobar si un número es par o impar:
bool esPar(int n) {
  return n % 2 == 0;
}

void main() {
  int num = 7;
  if (esPar(num)) {
    print("$num es un número par.");
  } else {
    print("$num es un número impar.");
  }
}
  1. Crear una lista de objetos y ordenarla por un atributo:
class Persona {
  String nombre;
  int edad;

  Persona(this.nombre, this.edad);
}

void main() {
  List<Persona> personas = [
    Persona("Juan", 30),
    Persona("María", 25),
    Persona("Pedro", 40)
  ];

  personas.sort((a, b) => a.edad.compareTo(b.edad));

  print("Lista ordenada por edad:");
  for (var persona in personas) {
    print("${persona.nombre} - ${persona.edad} años");
  }
}
  1. Realizar una consulta HTTP con parámetros:
import 'dart:convert';
import 'package:http/http.dart' as http;

void main() async {
  var response = await http.get(Uri.parse("https://jsonplaceholder.typicode.com/posts/1/comments?postId=1"));
  var data = jsonDecode(response.body);
  print("Número de comentarios: ${data.length}");
}

  1. Crear una función para comprobar si una cadena de texto es un palíndromo:
bool esPalindromo(String palabra) {
  String palabraInvertida = palabra.split('').reversed.join();
  return palabra == palabraInvertida;
}

void main() {
  String palabra = "anita lava la tina";
  if (esPalindromo(palabra)) {
    print("$palabra es un palíndromo.");
  } else {
    print("$palabra no es un palíndromo.");
  }
}
  1. Crear una clase abstracta y heredar de ella:
abstract class Figura {
  double calcularArea();
}

class Rectangulo extends Figura {
  double base;
  double altura;

  Rectangulo(this.base, this.altura);

  @override
  double calcularArea() {
    return base * altura;
  }
}

class Circulo extends Figura {
  double radio;

  Circulo(this.radio);

  @override
  double calcularArea() {
    return 3.1416 * radio * radio;
  }
}

void main() {
  Figura rectangulo = Rectangulo(5.0, 10.0);
  Figura circulo = Circulo(2.5);

  print("El área del rectángulo es ${rectangulo.calcularArea()}");
  print("El área del círculo es ${circulo.calcularArea()}");
}
  1. Crear una función para contar la cantidad de veces que aparece un elemento en una lista:
int contarElemento(List<int> lista, int elemento) {
  int contador = 0;
  for (int i = 0; i < lista.length; i++) {
    if (lista[i] == elemento) {
      contador++;
    }
  }
  return contador;
}

void main() {
  List<int> lista = [1, 2, 3, 2, 1, 4, 2];
  int elemento = 2;
  int cantidad = contarElemento(lista, elemento);
  print("El elemento $elemento aparece $cantidad veces en la lista.");
}
  1. Crear una función para validar una dirección de correo electrónico:
bool validarEmail(String email) {
  String pattern = r'^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$';
  RegExp regExp = new RegExp(pattern);
  return regExp.hasMatch(email);
}

void main() {
  String email1 = "ejemplo@dominio.com";
  String email2 = "correo_invalido.com";
  if (validarEmail(email1)) {
    print("$email1 es una dirección de correo válida.");
  } else {
    print("$email1 no es una dirección de correo válida.");
  }
  if (validarEmail(email2)) {
    print("$email2 es una dirección de correo válida.");
  } else {
    print("$email2 no es una dirección de correo válida.");
  }
}
  1. Realizar una consulta HTTP con autenticación:
import 'dart:convert';
import 'package:http/http.dart' as http;

void main() async {
  String username = "usuario";
  String password = "contraseña";
  String basicAuth = 'Basic ' + base64Encode(utf8.encode('$username:$password'));

  var response = await http.get(Uri.parse("https://api.example.com/data"),
    headers: {'authorization': basicAuth});

if (response.statusCode == 200) {
var data = jsonDecode(response.body);
print(data);
} else {
print("Error al realizar la consulta: ${response.statusCode}");
}
}

16. Crear una función que retorne una lista de los números pares entre dos valores:

List<int> numerosParesEntre(int inicio, int fin) {
  List<int> pares = [];
  for (int i = inicio; i <= fin; i++) {
    if (i % 2 == 0) {
      pares.add(i);
    }
  }
  return pares;
}

void main() {
  int inicio = 1;
  int fin = 20;
  List<int> pares = numerosParesEntre(inicio, fin);
  print("Los números pares entre $inicio y $fin son: $pares");
}

  1. Crear una función que calcule el promedio de una lista de números:
double promedio(List<num> numeros) {
  num suma = 0;
  for (num n in numeros) {
    suma += n;
  }
  return suma / numeros.length;
}

void main() {
  List<num> numeros = [3, 5, 7, 2, 8, 9];
  double prom = promedio(numeros);
  print("El promedio de la lista $numeros es $prom");
}
  1. Crear una clase para modelar un estudiante y una lista de estudiantes:
class Estudiante {
  String nombre;
  int edad;
  String carrera;

  Estudiante(this.nombre, this.edad, this.carrera);

  @override
  String toString() {
    return "Nombre: $nombre, Edad: $edad, Carrera: $carrera";
  }
}

void main() {
  List<Estudiante> estudiantes = [
    Estudiante("Juan", 22, "Ingeniería"),
    Estudiante("María", 21, "Medicina"),
    Estudiante("Pedro", 20, "Arquitectura")
  ];

  for (Estudiante e in estudiantes) {
    print(e);
  }
}

  1. Crear una función que calcule el factorial de un número entero no negativo:
int factorial(int n) {
  if (n == 0) {
    return 1;
  } else {
    return n * factorial(n - 1);
  }
}

void main() {
  int n = 5;
  int fact = factorial(n);
  print("El factorial de $n es $fact");
}
  1. Crear una función que ordene una lista de números de menor a mayor:
List<num> ordenar(List<num> numeros) {
  numeros.sort();
  return numeros;
}

void main() {
  List<num> numeros = [3, 5, 7, 2, 8, 9];
  List<num> ordenados = ordenar(numeros);
  print("La lista $numeros ordenada es: $ordenados");
}

Espero que estos ejemplos te sean útiles. ¡Buena suerte programando en Dart!

¿Quieres probarlos en linea? Prueba DartPad.