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:
- Se a média obtida estiver entre 6 e 10, informar que o aluno está aprovado;
- Se a média obtida estiver entre 4 e 5.9, informar que o aluno está em recuperação; nesse caso, ler a nota de recuperação e calcular a média final (que é a média entre a média anual e a nota da recuperação);
- Se a média final é menor que 5, informar que o aluno está reprovado após recuperação;
- Se é igual ou maior que 5, informar que o aluno está aprovado após recuperação;
- Se a média obtida é menor que 4, informar que o aluno está reprovado antes da recuperação.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
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.
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()); 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.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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:
- Masculino: (72.7 * altura) – 58
- Feminino: (62.1 * altura) – 44.7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
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).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
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%.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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,80 | 7,5 |
De 33.919,81 até 45.012,60 | 15,0 |
De 45.012,61 até 55.976,16 | 22,5 |
Acima de 55.976,16 | 27,5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
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ódigo | Cargo | Percentual |
---|---|---|
101 | Gerente | 10% |
102 | Engenheiro | 20% |
103 | Técnico | 30% |
104 | Outros | 40% |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
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
muito legal, so não consigo fazer funcionar estou fazendo o 2ºmodulo DS na etec este ano de 2024 to perdidaço.