Você está aqui: Dart ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

Escreva um programa Dart que usa o laço for para desenhar um padrão de diamante de estrelas - Desafio de Programação Resolvido em Dart

Quantidade de visualizações: 1191 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
    }
  }
}


Link para compartilhar na Internet ou com seus amigos:

Dart ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o cosseno de um ângulo em Dart usando o método cos() da biblioteca Math - Calculadora de cosseno em Dart

Quantidade de visualizações: 762 vezes
Em geral, quando falamos de cosseno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função cosseno disponível nas linguagens de programação para calcular o cosseno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria.

No entanto, é sempre importante entender o que é a função cosseno. Veja a seguinte imagem:



Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles.

Assim, o cosseno é a razão entre o cateto adjascente e a hipotenusa, ou seja, o cateto adjascente dividido pela hipotenusa. Veja a fórmula:

\[\text{Cosseno} = \frac{\text{Cateto adjascente}}{\text{Hipotenusa}} \]

Então, se dividirmos 30 por 36.056 (na figura eu arredondei) nós teremos 0.8320, que é a razão entre o cateto adjascente e a hipotenusa (em radianos).

Agora, experimente calcular o arco-cosseno de 0.8320. O resultado será 0.5881 (em radianos). Convertendo 0.5881 radianos para graus, nós obtemos 33.69º, que é exatamente o ângulo em graus entre o cateto adjascente e a hipotenusa na figura acima.

Pronto! Agora que já sabemos o que é cosseno na trigonometria, vamos entender mais sobre a função cos() da linguagem Dart. Esta método, que faz parte da biblioteca Math, recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja:

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

// vamos importar a biblioteca dart:math
import "dart:math";

void main(){
  print("Cosseno de 0 = " + cos(0).toString());
  print("Cosseno de 1 = " + cos(1).toString());
  print("Cosseno de 2 = " + cos(2).toString());
}

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

Cosseno de 0 = 1.0
Cosseno de 1 = 0.5403023058681398
Cosseno de 2 = -0.4161468365471424

Note que calculamos os cossenos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função cosseno mostrada abaixo:




Dart ::: Dicas & Truques ::: Aplicativos e Outros

Como calcular a distância entre dois pontos na terra em Dart

Quantidade de visualizações: 1477 vezes
Nesta dica mostrarei como calcular a distância em quilômetros entre dois pontos na terra dadas suas latitudes e longitudes. Neste exemplo eu coloquei o valor de 6378.137 para o raio da terra, mas você pode definir para o valor que achar mais adequado.

O cálculo usado neste código se baseia na Fórmula de Haversine, que determina a distância do grande círculo entre dois pontos em uma esfera, dadas suas longitudes e latitudes.

Veja o código Dart completo:

----------------------------------------------------------------------
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";

// vamos importar a biblioteca dart:math
import "dart:math";

void main(){
  // vamos ler as latitudes e longitudes das duas
  // localizações
  stdout.write("Informe a primeira latitude: ");
  double lat1 = double.parse(stdin.readLineSync());
  stdout.write("Informe a primeira longitude: ");
  double lon1 = double.parse(stdin.readLineSync());
  stdout.write("Informe a segunda latitude: ");
  double lat2 = double.parse(stdin.readLineSync());
  stdout.write("Informe a segunda longitude: ");
  double lon2 = double.parse(stdin.readLineSync());
  
  // vamos calcular a distância entre os dois pontos em Kms
  double distancia = calcularDistancia(lat1, lat2, lon1, lon2);
    
  // mostramos o resultado
  print("Distância entre os dois pontos: ${distancia} kms");
}

// função que recebe dois pontos na terra e retorna a distância
// entre eles em quilômetros
double calcularDistancia(double lat1,
  double lat2, double lon1, double lon2){
    
  double raio_terra = 6378.137; // raio da terra em quilômetros
    
  // o primeiro passo é converter as latitudes e longitudes
  // para radianos
  lon1 = grausParaRadianos(lon1);
  lon2 = grausParaRadianos(lon2);
  lat1 = grausParaRadianos(lat1);
  lat2 = grausParaRadianos(lat2);
 
  // agora aplicamos a Fórmula de Haversine
  double dlon = lon2 - lon1;
  double dlat = lat2 - lat1;
  double a = pow(sin(dlat / 2), 2) + cos(lat1) * cos(lat2)
    * pow(sin(dlon / 2),2);
             
  double c = 2 * asin(sqrt(a));
 
  // e retornamos a distância    
  return(c * raio_terra);
}

// função que permite converter graus em radianos
double grausParaRadianos(double graus){
  return graus * (pi /  180);
}

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

Informe a primeira latitude: -16.674551
Informe a primeira longitude: -49.303598
Informe a segunda latitude: -15.579321
Informe a segunda longitude: -56.10009
A distância entre os dois pontos é: 736.9183827638687kms

Neste exemplo eu calculei a distância entre as cidades de Goiânia-GO e Cuibá-MT.

A latitude é a distância ao Equador medida ao longo do meridiano de Greenwich. Esta distância mede-se em graus, podendo variar entre 0o e 90o para Norte(N) ou para Sul(S). A longitude é a distância ao meridiano de Greenwich medida ao longo do Equador.


Dart ::: Dicas de Estudo e Anotações ::: Estruturas de Controle

Como usar o laço for da linguagem Dart

Quantidade de visualizações: 4095 vezes
Em algumas situações os nossos códigos precisam executar repetidas vezes uma ou mais instruções. Para isso a linguagem Dart, assim como C, C++, Java, Python, JavaScript, Delphi, etc, nos oferece o laço for, ou loop for.

Este laço é usado quando sabemos exatamente a quantidade de vezes que a instrução (ou grupo de instruções) deverá ser repetida.

Veja um exemplo no qual usamos este laço para contar de 1 até 10:

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

void main() {
  for (int i = 1; i <= 10; i++) {
    print('${i}');
  }
}

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

1
2
3
4
5
6
7
8
9
10

Veja que o laço for em Dart é composto de três partes:

a) Inicialização da variável de controle;
b) O teste de continuidade;
c) O incremento ou decremento da variável de controle.

Como a execução do laço se inicia no teste de continuidade, é possível termos um laço for que nunca será executado. Veja:

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

void main() {
  for (int i = 1; i > 5; i++) {
    print('${i}');
  }
}

Execute este código e perceberá que nenhum valor é impresso. Isso aconteceu porque o teste condicional retornou um valor falso, impedindo até mesmo a primeira execução do laço.

Veja agora um laço for que conta de 10 até 1:

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

void main() {
  for (int i = 10; i >= 1; i--) {
    print('${i}');
  }
}

Para finalizar em grande estilo, veja um laço for que pede para o usuário digitar 5 idades e, em seguida, mostra a média das idades lidas:

----------------------------------------------------------------------
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() {
  int soma = 0;
  // vamos solicitar 5 idades
  for (int i = 0; i < 5; i++) {
    stdout.write("Digite uma idade: ");
    int idade = int.parse(stdin.readLineSync());
    soma = soma + idade;
  }

  // Vamos mostrar a média das idades
  double media = soma / 5;
  print("A média das idades é $media.");
}

A execução deste código mostrará o seguinte resultado:

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

c:\estudos_dart>dart laco_for.dart
Digite uma idade: 18
Digite uma idade: 21
Digite uma idade: 34
Digite uma idade: 50
Digite uma idade: 9
A média das idades é 26.4.



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: Delphi
6º lugar: C
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á 22 usuários muito felizes estudando em nosso site.