Dart – Exercícios de Estruturas Condicionais | if/else

Lista de exercícios de estruturas condicionais if/else utilizando a linguagem de programação Dart.

1
2574

NOTA: Lembre-se de salvar seus algoritmos em um arquivo com extensão .dart (por exemplo: media_aluno.dart).

Para executá-lo no terminal do Windows (cmd ou PowerShell), digite dart media_aluno.dart e tecle ENTER.

  • Faça um algoritmo que leia as 3 notas de um aluno e calcule a sua média ponderada com os pesos 2, 3 e 5, respectivamente. Considere:
import 'dart:io';

void main() {
  double nota1, nota2, nota3, media, mediaFinal, notaRecuperacao;
  stdout.write('1ª NOTA = ');
  nota1 = double.parse(stdin.readLineSync());

  stdout.write('2ª NOTA = ');
  nota2 = double.parse(stdin.readLineSync());

  stdout.write('3ª NOTA = ');
  nota3 = double.parse(stdin.readLineSync());

  media = (2 * nota1 + 3 * nota2 + 5 * nota3) / 10;

  print('MÉDIA = ' + media.toString());

  if (media < 4)
    print('REPROVADO | SEM RECUPERAÇÃO');
  else if (media >= 4 && media <= 5.9) {
    stdout.write('NOTA DA RECUPERAÇÃO = ');
    notaRecuperacao = double.parse(stdin.readLineSync());
    mediaFinal = (notaRecuperacao + media) / 2;
    if (mediaFinal >= 5) {
      print('APROVADO | FINAL');
    } else {
      print('REPROVADO | FINAL');
    }
  } else {
    print('APROVADO');
  }
}
  • Desenvolva um algoritmo para ler dois valores (considere que não serão lidos valores iguais) e escrever o maior deles.
import 'dart:io';
void main() {
  stdout.write('Digite o 1º número: ');
  double numero1 = double.parse(stdin.readLineSync());
  stdout.write('Digite o 2º número: ');
  double numero2 = double.parse(stdin.readLineSync());

  if (numero1 > numero2)
    print('$numero1 é maior.');
  else
    print('$numero2 é maior.');
}
  • Desenvolva um algoritmo para ler dois valores (considere que não serão lidos valores iguais) e escrevê-los em ordem crescente.
import 'dart:io';

void main() {
  stdout.write('Digite o 1º número: ');
  double numero1 = double.parse(stdin.readLineSync());
  stdout.write('Digite o 2º número: ');
  double numero2 = double.parse(stdin.readLineSync());

  if (numero1 > numero2)
    print('$numero2, $numero1');
  else
    print('$numero1, $numero2');
}
  • Tendo como dados de entrada a altura e o sexo de uma pessoa (1 – Masculino ou 2 – Feminino), construa um algoritmo que calcule seu peso ideal, utilizando as seguintes fórmulas:
import 'dart:io';

void main() {
  double pesoIdeal = 0;
  stdout.write('Altura (em metros): ');
  double altura = double.parse(stdin.readLineSync());

  stdout.write('[1] Masculino/[2] Feminino: ');
  int sexo = int.parse(stdin.readLineSync());

  if (sexo == 1)
    pesoIdeal = (72.7 * altura) - 58;
  else if (sexo == 2) 
    pesoIdeal = (62.1 * altura) - 44.7;

  print('Seu peso ideal é ' + pesoIdeal.toStringAsFixed(2) + ' kg');
}
  • Faça um algoritmo para calcular a média aritmética entre duas notas de um aluno e mostrar sua situação, que pode ser aprovado (se a média for maior ou igual a 7.0) ou reprovado (caso a média seja inferior a 7.0).
import 'dart:io';

void main() {
  stdout.write('1ª NOTA = ');
  double nota1 = double.parse(stdin.readLineSync());

  stdout.write('2ª NOTA = ');
  double nota2 = double.parse(stdin.readLineSync());

  double media = (nota1 + nota2) / 2;

  print('MÉDIA = ' + media.toString());

  if (media >= 7)
    print('APROVADO');
  else
    print('REPROVADO');
}

  • Faça um algoritmo para calcular o novo salário de um funcionário. Sabe-se que os funcionários que recebem atualmente salário de até R$ 1.045,00 terão aumento de 20%; os demais terão aumento de 10%.
import 'dart:io';

void main() {
  double novoSalario = 0;
  stdout.write('Digite o salário atual: R\$:  ');
  double salarioAtual = double.parse(stdin.readLineSync());

  if (salarioAtual <= 1045)
    novoSalario = 1.20 * salarioAtual;
  else
    novoSalario = 1.10 * salarioAtual;

  print('Seu novo salário é: R\$:' + novoSalario.toStringAsFixed(2));
}
  • A ingestão de bebidas alcoólicas em quantidades excessivas pode diminuir o nível de açúcar no sangue, podendo provocar convulsões, perda de consciência, lesão cerebral permanente e até a morte.
    Sabendo-se que os níveis considerados normais de glicose no organismo variam de 70 a 110 mg/dl, desenvolva um algoritmo que receba o valor do nível de glicose no sangue de uma pessoa e indique se a mesma necessita, ou não, compensar a falta de açúcar no organismo.
import 'dart:io';

void main() {
  stdout.write('Digite o nível de glicose:  ');
  double nivelGlicose = double.parse(stdin.readLineSync());

  if (nivelGlicose < 70)
    print('Hipoglicemia');
  else if (nivelGlicose <= 110)
    print('Nível normal.');
  else
    print('Hiperglicemia');
}
  • Desenvolva um algoritmo para o cálculo do imposto de renda de um grupo de dez contribuintes, onde o usuário informe o valor anual do funcionário e o sistema mostra o cálculo do imposto de renda de acordo com a tabela progressiva abaixo.
Base de Cálculo Anual em R$Alíquota %
Até 22.847,76
De 22.847,77 até 33.919,807,5
De 33.919,81 até 45.012,6015,0
De 45.012,61 até 55.976,1622,5
Acima de 55.976,1627,5
import 'dart:io';

void main() {
  double valor_irpf = 0;
  stdout.write('Digite sua renda anual:  R\$ ');
  double renda_anual = double.parse(stdin.readLineSync());

  if (renda_anual <= 22847.76)
    valor_irpf = 0;
  else if (renda_anual <= 33919.80)
    valor_irpf = renda_anual * (7.5 / 100);
  else if (renda_anual <= 45012.60)
    valor_irpf = renda_anual * (15 / 100);
  else if (renda_anual <= 55976.15)
    valor_irpf = renda_anual * (22.5 / 100);
  else
    valor_irpf = renda_anual * (27.5 / 100);

  print('Imposto de Renda devido: R\$ ' + valor_irpf.toStringAsFixed(2));
}
  • Uma empresa concederá um aumento de salário aos seus funcionários, variável de acordo com o cargo, conforme a tabela abaixo. Faça um algoritmo que leia o salário e o cargo de um funcionário e calcule o novo salário. Se o cargo do funcionário não estiver na tabela, ele deverá, então, receber 40% de aumento. Mostre o salário antigo, o novo salário e a diferença.
CódigoCargoPercentual
101Gerente10%
102Engenheiro20%
103Técnico30%
104Outros40%
import 'dart:io';

void main() {
  double novo_salario = 0;

  String menu = '--------------------------------\n' +
      'Código | Cargo       | Percentual\n' +
      '--------------------------------\n' +
      ' 101   | Gerente     | 10%\n' +
      ' 102   | Engenheiro  | 20%\n' +
      ' 103   | Técnico     | 30%\n' +
      ' 104   | Outros      | 40%\n' +
      '--------------------------------\n' +
      'Digite o código do cargo: ';

  stdout.write(menu);
  int codigo_cargo = int.parse(stdin.readLineSync());

  if (codigo_cargo != 101 &&
      codigo_cargo != 102 &&
      codigo_cargo != 103 &&
      codigo_cargo != 104)
    print('\nCódigo inválido!');
  else {
    stdout.write('Salário atual: R\$: ');
    double salario_atual = double.parse(stdin.readLineSync());

    if (codigo_cargo == 101)
      novo_salario = 1.10 * salario_atual;
    else if (codigo_cargo == 102)
      novo_salario = 1.20 * salario_atual;
    else if (codigo_cargo == 103)
      novo_salario = 1.30 * salario_atual;
    else if (codigo_cargo == 104) novo_salario = 1.40 * salario_atual;

    print('\nNovo salário: R\$ ' + novo_salario.toStringAsFixed(2));
  }
}
  • Elabore um programa que resolva uma equação do 2º grau.
import 'dart:io';
import 'dart:math';

void main() {
  double a, b, c, x1, x2, delta;

  stdout.write('ax² + bx + c = 0 \na = ');
  a = double.parse(stdin.readLineSync());
  stdout.write('b = ');
  b = double.parse(stdin.readLineSync());
  stdout.write('c = ');
  c = double.parse(stdin.readLineSync());

  if (a != 0) {
    delta = b * b - 4 * a * c;
    print('delta = ' + delta.toStringAsFixed(2));
    if (delta < 0) {
      print('Não existem raízes reais!');
    } else if (delta == 0) {
      x1 = -b / (2 * a);
      print('S = { ' + x1.toStringAsFixed(2) + '}');
    } else {
      x1 = (-b - sqrt(delta)) / (2 * a);
      x2 = (-b + sqrt(delta)) / (2 * a);
      print('S = { ' +
          x1.toStringAsFixed(2) +
          ', ' +
          x2.toStringAsFixed(2) +
          '}');
    }
  } else {
    print('Não é uma equação do 2º grau!');
  }
}

*Atualizado em 30 de julho de 2023

Estude a Bíblia!
guest
1 Comentário
Inline Feedbacks
View all comments
marcelo
marcelo
12 de maio de 2024 12:25

muito legal, so não consigo fazer funcionar estou fazendo o 2ºmodulo DS na etec este ano de 2024 to perdidaço.