Lista de exercícios em Dart com as estruturas de repetição do/while/for.
- Crie um algoritmo para apresentar os resultados de uma tabuada de multiplicar (de 1 até 10) de um número inteiro positivo qualquer.
import 'dart:io';
void main() {
stdout.write('Digite um número inteiro: ');
int numero = int.parse(stdin.readLineSync());
int i = 1;
while (i <= 10) {
print('$numero x $i = ${numero * i}');
i++;
}
}
import 'dart:io';
void main() {
stdout.write('Digite um número inteiro: ');
int numero = int.parse(stdin.readLineSync());
int i = 1;
do {
print('$numero x $i = ${numero * i}');
i++;
} while (i <= 10);
}
import 'dart:io';
void main() {
stdout.write('Digite um número inteiro: ');
int numero = int.parse(stdin.readLineSync());
for (int i = 1; i <= 10; i++) {
print('$numero x $i = ${numero * i}');
}
}
- Elabore um algoritmo para apresentar todos os valores numéricos inteiros ímpares situados na faixa de 0 a 20. Para verificar se o número é ímpar, efetuar dentro da malha a verificação lógica desta condição com a instrução if, perguntando se o número é ímpar; sendo, mostre-o; não sendo, passe para o próximo passo.
void main() {
int i = 0;
while(i <= 20){
if (i % 2 == 1)
print(i);
i++;
}
}
void main() {
int i = 0;
do {
if (i % 2 == 1)
print(i);
i++;
} while(i <= 20);
}
void main() {
for (int i = 0; i < 20; i++) {
if (i % 2 == 1)
print(i);
}
}
- Elabore um algoritmo que exiba todos números inteiros entre 1 e 100.
void main() {
int i = 1;
while (i <= 100) {
print('$i');
i++;
}
}
void main() {
int i = 1;
do {
print('$i');
i++;
} while (i <= 100);
}
void main() {
for (int i = 1; i <= 100; i++) {
print('$i ');
}
}
- Elabore um algoritmo que exiba todos números inteiros pares entre 1 e 100.
void main() {
int i = 2;
while (i <= 100) {
print('$i');
i+= 2;
}
}
void main() {
int i = 2;
do {
print('$i');
i += 2;
} while (i <= 100);
}
void main() {
for (int i = 2; i <= 100; i += 2) {
print('$i ');
}
}
- Elabore um algoritmo que exiba todos números inteiros ímpares entre 1 e 100.
void main() {
int i = 1;
while (i <= 100) {
print('$i');
i+= 2;
}
}
void main() {
int i = 1;
do {
print('$i');
i += 2;
} while (i <= 100);
}
void main() {
for (int i = 1; i <= 100; i += 2) {
print('$i ');
}
}
- Elabore um algoritmo que some os números de 1 a 100 e imprima o valor.
void main() {
int soma = 0;
int i = 1;
while (i <= 100) {
soma = soma + i;
i++;
}
print('SOMA = $soma');
}
void main() {
int soma = 0;
int i = 1;
do{
soma = soma + i;
i++;
} while (i <= 100);
print('SOMA = $soma');
}
void main() {
int soma = 0;
for(int i = 1; i <= 100; i++) {
soma = soma + i;
}
print('SOMA = $soma');
}
- Escreva um algoritmo para ler as notas da 1ª e 2ª avaliações de um aluno, calcule e imprima a média (simples) desse aluno. Só devem ser aceitos valores válidos durante a leitura (0 a 10) para cada nota.
Acrescente uma mensagem ‘NOVO CÁLCULO (S/N)?’ ao final do algoritmo. Se for respondido ‘S’, deve retornar e executar um novo cálculo, caso contrário, deverá encerrar o algoritmo.
import 'dart:io';
void main() {
String resposta = 'S';
double nota1, nota2, media;
while (resposta == 'S') {
stdout.write('\n1ª NOTA = ');
nota1 = double.parse(stdin.readLineSync());
if (nota1 < 0.0 || nota1 > 10.0) {
print('Nota inválida!');
continue;
}
stdout.write('\n2ª NOTA = ');
nota2 = double.parse(stdin.readLineSync());
if (nota2 < 0.0 || nota2 > 10.0) {
print('Nota inválida!');
continue;
}
media = (nota1 + nota2) / 2;
stdout.write('\nMÉDIA = $media');
stdout.write('\n\nNOVO CÁLCULO (S/N)? ');
resposta = stdin.readLineSync().toUpperCase();
}
}
- Escreva um programa que calcule a soma dos 20 primeiros números inteiros, exibindo uma sequência como se segue:
0 2 = 2
0 2 3 = 5
0 2 3 4 = 9
0 2 3 4 5 = 14
0 2 3 4 5 6 = 20
0 2 3 4 5 6 7 = 27
0 2 3 4 5 6 7 8 = 35
0 2 3 4 5 6 7 8 9 = 44
0 2 3 4 5 6 7 8 9 10 = 54
0 2 3 4 5 6 7 8 9 10 11 = 65
0 2 3 4 5 6 7 8 9 10 11 12 = 77
0 2 3 4 5 6 7 8 9 10 11 12 13 = 90
0 2 3 4 5 6 7 8 9 10 11 12 13 14 = 104
0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 = 119
0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 = 135
0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 = 152
0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 = 170
0 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 = 189
void main() {
int soma = 0;
String result = '0';
for(int i = 1; i <= 18; i++) {
result += ' ${i+1}';
soma = soma + i + 1;
print('$result = $soma');
}
}
- Desenvolva um algoritmo que, para uma conta bancária, leia o seu número, o tipo de operação a ser realizada (depósito ou saque) e o valor a ser depositado ou sacado. Considere que um saque só pode ser realizado caso haja saldo suficiente. Ao final de cada operação, exiba o saldo existente.
import 'dart:io';
void main() {
String resposta = 'S';
int opcao = 0, numero_conta = 0;
double saldo = 0.0;
while (resposta == 'S') {
String menu = '----------------------------\n' +
'<<< BANCO GUIATECH >>>\n' +
'----------------------------\n' +
' OPÇÃO | OPERAÇÃO \n' +
'----------------------------\n' +
' 1 | SALDO\n' +
' 2 | DEPÓSITO\n' +
' 3 | SAQUE\n' +
' 4 | SAIR\n' +
'----------------------------\n' +
'Digite uma opção -> ';
stdout.write(menu);
opcao = int.parse(stdin.readLineSync());
if (opcao != 4) {
stdout.write('Digite o nº da conta -> ');
numero_conta = int.parse(stdin.readLineSync());
}
switch (opcao) {
case 1:
print(
'\nCONTA $numero_conta | SALDO -> R\$ ' + saldo.toStringAsFixed(2));
break;
case 2:
stdout.write('Digite o valor do depósito -> R\$ ');
double valor_deposito = double.parse(stdin.readLineSync());
saldo = saldo + valor_deposito;
print(
'\nCONTA $numero_conta | SALDO -> R\$ ' + saldo.toStringAsFixed(2));
break;
case 3:
stdout.write('Digite o valor do saque -> R\$ ');
double valor_saque = double.parse(stdin.readLineSync());
if (valor_saque > saldo)
print('\nSaldo insuficiente.');
else
saldo = saldo - valor_saque;
print(
'\nCONTA $numero_conta | SALDO -> R\$ ' + saldo.toStringAsFixed(2));
break;
case 4:
print('\nObrigado. Volte sempre!');
resposta = 'N';
break;
default:
print('Operação inválida.');
}
if (opcao != 4) {
stdout.write('\n\nDeseja continuar (S/N)? ');
resposta = stdin.readLineSync().toUpperCase();
}
}
}
- Elaborar um programa que apresente os valores de conversão de graus Celsius em Fahrenheit, de 10 em 10 graus, iniciando a contagem em 10 graus Celsius e finalizando em 100 graus Celsius. O programa deve apresentar os valores das duas temperaturas. A fórmula de conversão é F = (9C + 160) / 5, sendo F a temperatura em Fahrenheit e C a temperatura em Celsius. (Leia: Algoritmo | Conversão entre as escalas Celsius, Kelvin e Fahrenheit)
void main() {
for (int C = 10; C <= 100; C += 10) {
print('$C °C = '+ ((9*C+150)/5).toString() + ' F');
}
}
—
Deixe suas dúvidas e comentários logo abaixo.
*Atualizado em 23 de fevereiro de 2023



