Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Faça como eu fiz: Coleções

Código do projeto:

void main() {
  escolherMeioTransporte(Transporte.bike);
  Set<String> registrosVisitados = <String>{};

  registrosVisitados = registrarDestinos('Rio de Janeiro', registrosVisitados);
  registrosVisitados = registrarDestinos('Brasília', registrosVisitados);
  registrosVisitados = registrarDestinos('Boa Vista', registrosVisitados);
  registrosVisitados = registrarDestinos('Rio de Janeiro', registrosVisitados);
  print(registrosVisitados);
  Pessoa pessoa1 = Pessoa('Fernando', 28, true);
  print(pessoa1.toMap());
}

void escolherMeioTransporte(Transporte locomocao) {
  switch (locomocao) {
    case Transporte.carro:
      print('Vou de carro para aventura.');
      break;
    case Transporte.bike:
      print('Vou de bike para aventura.');
      break;
    case Transporte.onibus:
      print('Vou de busão para aventura.');
      break;
    case Transporte.aviao:
      print('Vou de avião para aventura.');
      break;
    case Transporte.trem:
      print('Vou de trem para aventura.');
      break;
    default:
      print('Vou para aventura, isso é o que importa.');
      break;
  }
}

class Pessoa {
  String nome;
  int idade;
  bool estaAutenticada;

  Pessoa(this.nome, this.idade, this.estaAutenticada);

  Map<String, dynamic> toMap() {
    return {'nome': nome, 'idade': idade, 'estaAutenticada': estaAutenticada};
  }
}

Set<String> registrarDestinos(String destino, Set<String> banco) {
  banco.add(destino);
  return banco;
}

enum Transporte { carro, bike, onibus, andando, skate, aviao, patins, trem }

Saída do código: Saída do código

4 respostas
solução!

Oi Fernando, tudo bem?

Sua resposta reflete uma compreensão sólida dos conceitos de programação em Dart. O código está organizado de maneira clara e as diferentes partes interagem de forma coerente para cumprir o propósito da atividade. Aqui estão alguns pontos positivos a serem destacados:

  1. Utilização de Enumeradores (Enums): A definição do enum Transporte é uma escolha apropriada para representar os meios de transporte disponíveis. Isso melhora a legibilidade do código e evita o uso de valores mágicos.

  2. Switch Statement: O uso do switch para implementar a função escolherMeioTransporte() é uma abordagem adequada. Isso permite que o código selecione o meio de transporte com base na escolha feita, aumentando a clareza e a manutenção.

  3. Classes e Métodos: A classe Pessoa e os métodos toMap() e registrarDestinos() estão bem implementados. O método toMap() converte os atributos da classe em um mapa e o método registrarDestinos() adiciona destinos ao conjunto.

  4. Utilização de Sets: A escolha de usar um conjunto (Set) para registrar destinos visitados é apropriada, já que não permite duplicatas e reflete a natureza única dos destinos.

  5. Uso de Funções e Métodos: Você está usando funções e métodos de maneira eficaz para modularizar o código e reutilizar a lógica.

  6. Comentários e Estrutura: Seu código é bem comentado e os comentários ajudam a entender a finalidade de cada função e trecho de código.

Em geral, sua resposta demonstra uma compreensão sólida de conceitos de programação e uma implementação bem organizada. Continuar praticando e explorando diferentes aspectos do Dart será benéfico para aprimorar ainda mais suas habilidades de programação.

Um abraço e bons estudos.

Muito obrigado pela resposta Lorena, um abraço.

Boa gostei do modo que implementou o desafio.

Valeu Giovanny!