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

Escreva um método Dart que recebe um vetor de inteiros e informe se os elementos do array estão classificados em ordem crescente - Lista de Exercícios Resolvidos de Dart

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

Escreva um método Dart que recebe um vetor de inteiros de qualquer tamanho e informe se os elementos do array estão classificados em ordem crescente, ou seja, ordenados do menor para o maior. O método deverá retornar um valor true ou false.

Considerando o vetor:

// vamos criar um vetor (List) com 5 elementos do tipo int
List<int> valores = [1, 2, 3, 4, 5];
Sua saída deverá ser parecida com:

O vetor está classificado em ordem crescente
Resposta/Solução:

Veja a resolução completa para o exercício em Dart, comentada linha a linha:

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

void main(){
  // vamos criar um vetor (List) com 5 elementos do tipo int
  List<int> valores = [1, 2, 3, 4, 5];
    
  // vamos verificar se os elementos do vetor estão classificados em
  // ordem crescente
  if(isOrdemCrescente(valores)){
    print("O vetor está classificado em ordem crescente");
  }
  else{
    print("O vetor não está classificado em ordem crescente");
  }
}

// função que recebe um vetor e informe se seus elementos estão
// ordenados em ordem crescente
bool isOrdemCrescente(List vetor){
  // o vetor possui apenas um elemento ou está vazio?
  if(vetor.length == 1 || vetor.length == 0){
    return true;
  }
    
  // vamos verificar se os valores do vetor estão ordenados
  // em ordem crescente
  for(int i = 1; i < vetor.length; i++){
    // este elemento é menor que o anterior?
    if(vetor[i] < vetor[i - 1]){
      return false;
    }
  }
    
  // se chegou até aqui então o teste foi verdadeiro
  return true;
}


Link para compartilhar na Internet ou com seus amigos:

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: 1490 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: 1147 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
    }
  }
}



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

Como usar o laço while da linguagem Dart

Quantidade de visualizações: 2311 vezes
O laço while (enquanto), ou loop while, é usado quando queremos repetir uma ou mais instruções ENQUANTO uma condição estiver sendo satisfeita. A condição para a execução desse laço é o retorno de uma condição true ou false.

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

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

void main() {
  int cont = 1;

  while (cont < 10) {
    print(cont);
    cont++; // aumenta cont em 1
  }
}

Este código, quando executado, gera o seguinte resultado:

1
2
3
4
5
6
7
8
9

É importante observar que um laço while pode nunca ser executado. Para isso basta que o teste condicional na entrada do laço retorne um resultado falso.

Veja agora como usar um laço while para encontrar os 10 primeiros múltiplos de 5 e 7:

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

void main() {
  int cont = 0;
  int numero = 1;

  // queremos encontrar 10 múltiplos de 5 e 7
  while (cont < 10) {
    if ((numero % 5 == 0) && (numero % 7 == 0)) {
      print(numero);
      cont++;
    }

    // incrementa o número
    numero++;
  }
}

Quando executamos este código nós obtemos o seguinte resultado:

35
70
105
140
175
210
245
280
315
350


Vamos testar seus conhecimentos em Python

Qual das formas abaixo é usada para criar uma LIST em Python?

A) valores = {5, 1, 9, 4}

B) valores = [5, 1, 9, 4]

C) valores = (5, 1, 9, 4)

D) valores = [5.. 1.. 9.. 4]

E) valores = list[5, 1, 9, 4]
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Dimensionamento de pilares intermediários

O pilar P6 é classificado como pilar intermediário porque as vigas são contínuas sobre o pilar, não originando flexão importante que deva ser considerada no cálculo do pilar.

Considerando que a largura do pilar seja de 14cm, o coeficiente de majoração da carga yn é 1,25.

Dados: Nk = 600kN
lex = ley = 280cm

Qual é a força normal de cálculo?

A) 750kN.

B) 1.050kN.

C) 700kN.

D) 690kN.

E) 840kN.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual o resultado da execução do seguinte código Python?

valor = 5
for i in range(0, 4):
  valor++
  
print("O valor final é: {0}  ".format(valor))

A) O valor final é: 8

B) O valor final é: 9

C) Erro de SyntaxError: invalid syntax na linha 3

D) O valor final é: 7

E) Erro de SyntaxError: invalid syntax na linha 2
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

Sistema domiciliar de abastecimento de água

Há diversas opções de materiais empregados nas instalações de água fria. Cada tipo de material se enquadra às condições em que será utilizado. Nas instalações residenciais do Brasil, o material mais empregado é o PVC, por apresentar diversas vantagens.

Quais das opções a seguir apresentam as principais características desse tipo de material?

I. Leve (1,4g/cm3), o que facilita seu manuseio e aplicação.

II. Por ser tóxico, apresenta risco à saúde humana.

III. Sólido e resistente a choques.

IV. Durável: sua vida útil em construções é superior a 50 anos.

As afirmações corretas são:

A) I e II, apenas.

B) I, III e IV, apenas.

C) I, II e III, apenas.

D) II e III, apenas.

E) I, II, III e IV.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

Sistema domiciliar de abastecimento de água

Uma instalação hidrossanitária será construída numa residência. Ela apresenta dois banheiros, uma cozinha e uma área de serviços. Cada banheiro tem uma bacia com caixa de descarga, um chuveiro elétrico e um lavatório. A cozinha apresenta duas pias, e a área de serviços tem um tanque e duas torneiras de uso geral.



Com base nesses dados, qual é vazão estimada de água fria em função dos pesos atribuídos às peças de utilização, em litros por segundo?

A) 0,57.

B) 0,65.

C) 0,68.

D) 0,78.

E) 0,91
Verificar Resposta Estudar Cards Todas as Questões

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



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