Lista de exercícios para prática de construção de algoritmos sequenciais em linguagem Dart.
NOTA: As entradas e saídas de dados foram feitas pelo terminal (prompt de comando ou PowerShell) do Windows, utilizando a biblioteca dart:io e as instruções stdin.readLineSync() para leitura/entrada de dados e stdout.write() para exibição/saída de dados.
- Faça um programa que receba o custo de um espetáculo teatral e o preço do convite desse espetáculo. Esse programa deverá calcular e mostrar a quantidade de convites que devem ser vendidos para pelo menos, o custo do espetáculo seja alcançado.
1 2 3 4 5 6 7 8 9 10 11 12 |
import 'dart:io'; void main() { stdout.write('Custo do Teatro -> R\$ '); double custoTeatro = double.parse(stdin.readLineSync()); stdout.write('Preço do Convite -> R\$ '); double precoConvite = double.parse(stdin.readLineSync()); print('Quantidade mínima de convites -> ' + (custoTeatro / precoConvite).toStringAsFixed(0)); } |
- Faça um programa que calcule e mostre a área de um trapézio.
- Sabe-se que: Área = ( ( base maior + base menor ) * altura ) / 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import 'dart:io'; void main() { stdout.write('BASE MAIOR = '); double baseMaior = double.parse(stdin.readLineSync()); stdout.write('BASE MENOR = '); double baseMenor = double.parse(stdin.readLineSync()); stdout.write('ALTURA = '); double altura = double.parse(stdin.readLineSync()); double area = ((baseMenor + baseMaior) * altura) / 2; print('ÁREA DO TRAPÉZIO = ' + area.toStringAsFixed(2)); } |
- Faça um programa que calcule e mostre a área de um quadrado.
- Sabe-se que: Área = lado * lado
1 2 3 4 5 6 7 8 9 |
import 'dart:io'; import 'dart:math'; void main() { stdout.write('LADO DO QUADRADO = '); double ladoQuadrado = double.parse(stdin.readLineSync()); print('ÁREA DO QUADRADO = ' + pow(ladoQuadrado, 2).toStringAsFixed(2)); } |
- Faça um programa que receba o raio de uma esfera, calcule e mostre:
- o comprimento de sua circunferência; sabe que C = 2 * π * R
- a medida de sua área; sabe-se que A = π * R²
- o seu volume; sabe que V = (3/4) * π * R³
1 2 3 4 5 6 7 8 9 10 11 12 |
import 'dart:io'; import 'dart:math'; void main() { const PI = 3.14159265; stdout.write('RAIO DA ESFERA = '); double raioEsfera = double.parse(stdin.readLineSync()); print('Circunferência -> ${2 * PI * raioEsfera}'); print('Área -> ${PI * pow(raioEsfera, 2)}'); print('Volume -> ${(3 / 4) * PI * pow(raioEsfera, 3)}'); } |
- Faça um programa que receba dois números, calcule e mostre a subtração do primeiro pelo segundo.
1 2 3 4 5 6 7 8 9 10 |
import 'dart:io'; void main() { stdout.write('Digite o 1º número: '); int numero1 = int.parse(stdin.readLineSync()); stdout.write('Digite o 2º número: '); int numero2 = int.parse(stdin.readLineSync()); print('$numero1 - $numero2 = ${numero1 - numero2}'); } |
- Faça um programa que receba três números, calcule e mostre a multiplicação desses números.
1 2 3 4 5 6 7 8 9 10 11 12 |
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()); stdout.write('Digite o 3º número: '); double numero3 = double.parse(stdin.readLineSync()); print('$numero1 x $numero2 x $numero3 = ${numero1 * numero2 * numero3}'); } |
- Faça um programa que receba dois números, calcule e mostra a divisão do primeiro pelo segundo. Sabe-se que o segundo número não pode ser zero, portanto, não é necessário se preocupar com validações.
1 2 3 4 5 6 7 8 9 10 |
import 'dart:io'; void main() { stdout.write('Digite o 1º número: '); int numero1 = int.parse(stdin.readLineSync()); stdout.write('Digite o 2º número: '); int numero2 = int.parse(stdin.readLineSync()); print('$numero1 / $numero2 = ${numero1 / numero2}'); } |
- Faça um programa que receba duas notas, calcule e mostre a média ponderada dessas notas, considerando peso 2 para a primeira e peso 3 para a segunda.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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 = (2 * nota1 + 3 * nota2) / 5; print('MÉDIA = ' + media.toString()); } |
- Faça um programa que receba o preço de um produto, calcule e mostre o novo preço, sabendo-se que este sofreu um desconto de 10%.
1 2 3 4 5 6 7 8 |
import 'dart:io'; void main() { stdout.write('Digite o preço do produto: R\$ '); double precoProduto = double.parse(stdin.readLineSync()); print('Novo preço = R\$' + (0.90 * precoProduto).toStringAsFixed(2)); } |
- Um funcionário recebe um salário fixo mais 4% de comissão sobre as vendas. Faça um programa que receba o salário fixo do funcionário e o valor de suas vendas, calcule e mostre a comissão e seu salário final.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import 'dart:io'; void main() { stdout.write('Salário Fixo => R\$ '); double salarioFixo = double.parse(stdin.readLineSync()); stdout.write('Valor das Vendas => R\$ '); double valorVendas = double.parse(stdin.readLineSync()); stdout.write('Percentual de Comissão => '); double percentualComissao = double.parse(stdin.readLineSync()) / 100; double salarioFinal = salarioFixo + percentualComissao * valorVendas; print('Comissão => R\$ ' + (percentualComissao * valorVendas).toStringAsFixed(2) + '\nSalário Final => R\$ ' + salarioFinal.toStringAsFixed(2)); } |
- Faça um programa que receba o peso de uma pessoa em quilos (kg), calcule e mostre esse peso em gramas (g).
1 2 3 4 5 6 7 8 |
import 'dart:io'; void main() { stdout.write('Digite seu peso em Kg => R\$ '); double pesoEmKg = double.parse(stdin.readLineSync()); print('Seu peso em gramas é ' + (pesoEmKg * 1000).toStringAsFixed(2) + ' g'); } |
- Uma empresa de energia elétrica calcula o valor da conta de luz de acordo com o consumo em KWh (quilowatt-hora). Crie um algoritmo que receba o consumo mensal de um cliente, calcule e exiba o valor a ser pago, sabendo que a tarifa do KWh é de R$ 0.20725.
Exemplo, se o consumo for de 235 KWh, o valor a pagar será: 235 KWh x R$ 0.20725 = R$ 48.70375.
1 2 3 4 5 6 7 8 9 10 |
import 'dart:io'; void main() { stdout.write('Consumo mensal de KWh = '); double consumoMensal = double.parse(stdin.readLineSync()); double valorPagar = consumoMensal * 0.20725; print('Valor a pagar R\$' + valorPagar.toStringAsFixed(2)); } |
- Faça um algoritmo que receba as duas notas de um aluno e calcule a sua média.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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()); } |
- Faça um algoritmo para ler as dimensões de um terreno e depois exibir a área do terreno. Sabe-se que: Área de um retângulo = largura x comprimento.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import 'dart:io'; void main() { stdout.write('LARGURA = '); double largura = double.parse(stdin.readLineSync()); stdout.write('ALTURA = '); double altura = double.parse(stdin.readLineSync()); double area = altura * largura; print('ÁREA = ' + area.toString() + ' m²'); } |
- Faça um programa que calcule e apresente o valor do volume de uma lata de óleo, utilizando a fórmula VOLUME = 3,14159 * RAIO² * ALTURA.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import 'dart:io'; void main() { stdout.write('RAIO = '); double raio = double.parse(stdin.readLineSync()); stdout.write('ALTURA = '); double altura = double.parse(stdin.readLineSync()); double volume = 3.14159 * altura * raio * raio; print('VOLUME = ' + volume.toString() + ' m³'); } |
- Escreva um algoritmo para ler o nome e a idade de uma pessoa, e exibir quantos dias de vida ela possui. Considere sempre anos completos, e que um ano possui 365 dias. Ex.: Uma pessoa com 19 anos possui 6935 dias de vida.
1 2 3 4 5 6 7 8 9 10 11 |
import 'dart:io'; void main() { stdout.write('NOME = '); String nome = stdin.readLineSync(); stdout.write('IDADE = '); int idade = int.parse(stdin.readLineSync()); print(nome + ' você já viveu ' + (idade * 365).toString() + ' dias!'); } |
- Escreva um algoritmo para ler o salário mensal atual de um funcionário e o percentual de reajuste. Calcular e escrever o valor do novo salário.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import 'dart:io'; void main() { stdout.write('SALÁRIO MENSAL = R\$ '); double salarioMensal = double.parse(stdin.readLineSync()); stdout.write('PERCENTUAL DE REAJUSTE = '); double percentualReajuste = double.parse(stdin.readLineSync()); double valorReajuste = salarioMensal + (percentualReajuste / 100) * salarioMensal; print('NOVO SALÁRIO = R\$ ' + valorReajuste.toStringAsFixed(2)); } |
- Uma empresa paga R$ 50,00 por hora normal trabalhada, e R$ 25,00 por hora extra. Faça um algoritmo para calcular e imprimir o salário bruto e o salário líquido de um determinado funcionário. Considere que o salário líquido é igual ao salário bruto descontando-se 10% de impostos.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
import 'dart:io'; void main() { stdout.write('HORAS TRABALHADAS = '); double horasTrabalhadas = double.parse(stdin.readLineSync()); stdout.write('HORAS EXTRAS = '); double horasExtras = double.parse(stdin.readLineSync()); stdout.write('PERCENTUAL DE IMPOSTOS = '); double percentualImposto = double.parse(stdin.readLineSync()); double salarioBruto = horasTrabalhadas * 50.00 + horasExtras * 25.00; double salarioLiquido = salarioBruto - (percentualImposto / 100) * salarioBruto; print('\nSALÁRIO BRUTO = R\$ ' + salarioBruto.toStringAsFixed(2) + '\nSALÁRIO LÍQUDIO = R\$ ' + salarioLiquido.toStringAsFixed(2)); } |
- O lucro de uma empresa é dado por LUCRO = 10x – 5000, onde x é a quantidade de produtos vendidos num determinado mês. Elabore um algoritmo que calcule o lucro mensal dessa empresa.
1 2 3 4 5 6 7 8 9 10 |
import 'dart:io'; void main() { stdout.write('QUANTIDADE DE PRODUTOS VENDIDOS = '); double x = double.parse(stdin.readLineSync()); double lucro = 10 * x - 5000; print('\nLucro Mensal = R\$ ' + lucro.toStringAsFixed(2)); } |
- A compra de um condicionador de ar pode ser baseada na área total do local onde ele será instalado. Crie um algoritmo que receba a medida da área do local, calcule e exiba a potência mínima em BTU necessária.
O cálculo é feito da seguinte forma: para cada metro quadrado, multiplica-se por 600 BTU. Exemplo: Para uma sala com 30 m², temos 30 x 600 = 18.000 BTU.
1 2 3 4 5 6 7 8 9 10 |
import 'dart:io'; void main() { stdout.write('Área Total = '); double areaTotal = double.parse(stdin.readLineSync()); double potenciaMinima = areaTotal * 600; print('A potência mínima necessária é ' + potenciaMinima.toStringAsFixed(2) + ' BTU'); } |
*Atualizado em 1 de abril de 2023