Você está aqui: Dart ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Escreva um programa Dart para encontrar o segundo maior valor em um vetor de inteiros - Lista de Exercícios Resolvidos de Dart

Quantidade de visualizações: 798 vezes
Pergunta/Tarefa:

Dado o seguinte array de int:

// vamos declarar e construir um vetor (List) com 5 inteiros
List<int> valores = [4, 8, 7, 1, 2];
Escreva um programa Dart para encontrar o segundo maior valor em um vetor de inteiros.

Sua saída deverá ser parecida com:

O maior valor é: 8
O segundo maior valor é: 7
Resposta/Solução:

Veja a resolução comentada deste exercício usando Dart:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

void main(){
  // vamos declarar e construir um vetor (List) com 5 inteiros
  List<int> valores = [4, 8, 7, 1, 2];  
	 
  // vamos assumir que tanto o maior quanto o segundo
  // maior são o primeiro elemento do vetor
  int maior = valores[0];
  int segundoMaior = valores[0];

  // percorremos todos os elementos do vetor
  for (int i = 0; i < valores.length; i++){
    // o elemento atual é maior que o maior?
    if(valores[i] > maior){
      // o segundo maior recebe quem era o maior
      segundoMaior = maior;
      // e o maior recebe o elemento atual
      maior = valores[i];
    }

    // o elemento atual é menor que o maior e maior que o
    // segundo maior?
    if(valores[i] < maior && valores[i] > segundoMaior){
      // segundo maior recebe o elemento atual
      segundoMaior = valores[i];
    }
  }
    
  // mostra o resultado
  print("O maior valor é: $maior");
  print("O segundo maior valor é: $segundoMaior");
}


Link para compartilhar na Internet ou com seus amigos:

Dart ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle

Exercício Resolvido de Dart - Como testar se um ano é bissexto em Dart - Um programa que lê um ano com quatro dígitos e informa se ele é bissexto ou não

Quantidade de visualizações: 919 vezes
Pergunta/Tarefa:

Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando ele com 366 dias, um dia a mais do que os anos normais de 365 dias, ocorrendo a cada quatro anos (exceto anos múltiplos de 100 que não são múltiplos de 400). Isto é feito com o objetivo de manter o calendário anual ajustado com a translação da Terra e com os eventos sazonais relacionados às estações do ano. O último ano bissexto foi 2012 e o próximo será 2016.

Um ano é bissexto se ele for divisível por 4 mas não por 100, ou se for divisível por 400.

Escreva um programa Dart que pede ao usuário um ano com quatro dígitos e informa se ele é bissexto ou não.

Sua saída deverá ser parecida com:

Informe o ano: 2024
O ano informado é bissexto.
Resposta/Solução:

Veja a resolução comentada deste exercício usando Dart:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// Vamos importar a biblioteca dart:io
import "dart:io";

void main(){
  // vamos solicitar que o usuário informe um ano
  stdout.write("Informe o ano: ");
  int ano = int.parse(stdin.readLineSync());  
  
  // vamos verificar se o ano informado é bissexto
  if(((ano % 4 == 0) && (ano % 100 != 0)) || (ano % 400 == 0)){
    print("O ano informado é bissexto.");  
  }
  else{
    print("O ano informado não é bissexto.");  
  }
}



Dart ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular o ponto de interseção de duas retas em Dart - Geometria Analítica e Álgebra Linear em Dart

Quantidade de visualizações: 1549 vezes
Duas retas podem encontrar-se em 0, 1 ou 2 pontos. No primeiro caso, elas são chamadas paralelas; no segundo, elas são chamadas concorrentes e o ponto de encontro entre elas é chamado ponto de interseção; no terceiro caso, se duas retas possuem dois pontos em comum, então elas obrigatoriamente apresentam todos os pontos em comum e são chamadas coincidentes.

Nesta dica mostrarei como podemos encontrar o ponto de interseção (ou intersecção) de duas retas usando Dart. Mas, antes de vermos o código, dê uma olhada na seguinte imagem:



Note que temos os pontos A e B correspondentes ao segmento de reta AB e os pontos C e D correspondentes ao segmento de reta CD. Nossa tarefa é encontrar o ponto exato de intersecção entre esses dois segmentos de reta.

Veja o código Dart completo que nos auxilia na resolução deste problema:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// Vamos importar a biblioteca dart:io
import "dart:io";

// Classe usada para representar um ponto no
// plano 2d (Plano Cartesiano)
class Ponto{
  double x, y;
  
  // construtor da classe
  Ponto(double x, double y){
    this.x = x;
    this.y = y;
  }
}

void main(){
  // vamos construir os quatro pontos
  Ponto A = new Ponto(5, 7);
  Ponto B = new Ponto(9, -4);
  Ponto C = new Ponto(-8, 2);
  Ponto D = new Ponto(11, 6);
    
  // vamos obter a representação do segmento AB    
  double a1 = B.y - A.y;
  double b1 = A.x - B.x;
  double c1 = (a1 * A.x) + (b1 * A.y);
       
  // vamos obter a representação do segmento CD
  double a2 = D.y - C.y;
  double b2 = C.x - D.x;
  double c2 = (a2 * C.x) + (b2 * C.y);
    
  // obtém o determinante
  double determinante = (a1 * b2) - (a2 * b1);
    
  // as duas retas são paralelas?
  if(determinante == 0){
    print("\nAs duas retas são paralelas.\n");
  }
  else{
    // e construímos o ponto de intersecção
    double x = ((b2 * c1) - (b1 * c2)) / determinante;
    double y = ((a1 * c2) - (a2 * c1)) / determinante;
    Ponto inters = new Ponto(x, y);
    
    print("O ponto de interseção é: " + 
      "x = ${x.toStringAsFixed(2)}; y = ${y.toStringAsFixed(2)}");
  }
}


Ao executar este código Dart nós teremos o seguinte resultado:

O ponto de interseção é: x = 5,76; y = 4,90

De fato, se você olhar a imagem novamente e desenhar este ponto, verá que ele se situa exatamente na intersecção das retas indicadas.


Dart ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

Exercício Resolvido de Dart - Escreva um programa Dart que usa o laço for para desenhar um padrão de diamante de estrelas

Quantidade de visualizações: 1199 vezes
Pergunta/Tarefa:

Neste exercício para a prática da linguagem Dart você deverá usar o laço for para desenhar o famoso padrão de diamante de estrelas. Você pode também usar o laço while, se assim você o desejar.

O programa deverá pedir que o usuário informe a quantidade de linhas que marcará a metade do diamante.

Seu programa deve apresentar a seguinte saída:

Informe a quantidade de linhas: 5
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *
Resposta/Solução:

Veja a resolução comentada deste exercício em Dart:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// Vamos importar a biblioteca dart:io
import "dart:io";

void main(){
  // variáveis que vamos usar na resolução do problema
  int linhas, estrelas, espacos;
  
  // vamos pedir a quantidade de linhas 
  stdout.write("Informe a quantidade de linhas: ");
  // vamos ler a entrada do usuário
  linhas = int.parse(stdin.readLineSync());
  
  estrelas = 1; // começamos com uma estrela (no topo do diamante)
  // se linhas for igual a 5 nós começamos com 4 espaços
  espacos = linhas - 1;  
	
  // repete duas vezes a quantidade de linhas informadas
  for(int i = 1; i < linhas * 2; i++){
    // vamos imprimir os espaços
    for(int j = 1; j <= espacos; j++){
      stdout.write(" ");
    }
        
    // agora vamos imprimir estrelas
    for(int j = 1; j < estrelas * 2; j++){
      stdout.write("*");
    }
		    
    // passamos para a próxima linha
    stdout.write("\n");
        
    if(i < linhas){ // é a parte superior do diamante
      espacos--; // diminui os espaços
      estrelas++; // e aumenta as estrelas
    }
    else{ // é a parte inferior do diamente
      espacos++; // aumenta os espaços
      estrelas--; // e diminui as estrelas
    }
  }
}



Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Dart

Veja mais Dicas e truques de Dart

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 26 usuários muito felizes estudando em nosso site.