Oi, Iasmim! Tudo bem? 😉 Sugerimos que você comece pela Formação Iniciante em Programação, ela vai te ajudar a dar os primeiros passos com desenvolvimento de software, com lógica e JavaScript, e será sua base independente se você quiser seguir em back-end, front-end ou mobile. ✨️Artigo: kli.cx/m3wx ✨️Formação A partir do zero: iniciante em programação: kli.cx/m3wy ✨️Veja mais: kli.cx/m3wz Esperamos ter ajudado!
Oi Ricarth, parabéns pela aula, muito boa! Nesse desafio proposto no final do vídeo escrevi dessa forma: import "dart:io"; void main() { print("Vamos coletar seus dados para o cálculo de IMC"); var dados = stdin.readLineSync(); if (dados != null) { print("Qual o seu nome ?"); String? nome = (stdin.readLineSync()); print("Qual a sua idade ?"); int idade = int.parse(stdin.readLineSync()!); print("Qual a sua altura ?"); double altura = double.parse(stdin.readLineSync()!); print("Qual o seu peso ?"); double peso = double.parse(stdin.readLineSync()!); print("Oi $nome, o seu IMC é igual a: ${peso / (altura * altura)}"); } }
pra quem nao conseguiu o desafio...... import 'dart:io'; void main() { print("Olá bem vindo ao calculador de IMC! "); print("Digite a sua idade"); int idade = int.parse(stdin.readLineSync()!); print("Digite o seu nome"); String? nome = stdin.readLineSync(); print("Digite o seu peso"); double peso = double.parse(stdin.readLineSync()!); print("Digite a sua altura"); double altura = double.parse(stdin.readLineSync()!); if (idade != null) { print( 'Seja bem vindo $nome, você está com $idade anos,$peso Kgs,$altura metros de altura e o seu IMC é igual a: ${peso / (altura * altura)}'); } }
SE puder me ajudar, estou iniciando agora, usando VsCode e to com uma dificuldade, não consigo escrever nada no meu terminal. Sendo assim, não consigo informar nada para meu codigo ou programa
Demorei tipo uns 30 e poucos minutos pra fazer, mas fiz hehe import 'dart:io'; void main() { print("Olá! Tudo bem? Eu me chamo Moabe, quero saber mais sobre você. " "qual o seu nome?"); String? nome = stdin.readLineSync(); print("Legal! Prazer, $nome"); print("Vou fazer o cálculo de seu IMC. Poderia dizier sua altura?"); String? alt = stdin.readLineSync(); if (alt != null) { double altura = double.parse(alt); print("Agora poderia me dizer sua idade?"); String? age = stdin.readLineSync(); print("Agora poderia me dizer seu peso atual?"); String? kg = stdin.readLineSync(); int peso = int.parse(kg!); print("Agora vou calcular seu IMC. " "Sua altura é: $altura " "Sua idade é: $age " "Seu peso atual é: $kg " "Você confirma tudo Digite s ou n"); String? confirmacao = stdin.readLineSync(); if (confirmacao == 's') print('VocÊ confirmou" Aguarde um instante.'); print("$nome seu IMC é: ${peso / (altura * altura)}"); } }
Obviamente sei q o codigo tem algumas falhas ai, mas eu não vou parar parar refinar agora. Vou aprender mais e deixar salvo para daqui a algumas semanas reescrever conforme o que eu aprendi de novo
@@hlgurgel Irá ocorrer um erro: " Unhandled exception: FormatException: Invalid double 1.75 metros" Segue código onde foi realizado o teste: import 'dart:io'; void main() { print("Informe seu nome:"); String? nome = stdin.readLineSync(); if (nome != null) { print("Informe sua idade:"); String? idade = stdin.readLineSync(); if (idade != null) { print("Insira sua altura:"); String? altura = stdin.readLineSync(); if (altura != null) { double alturan = double.parse(altura); print("Insira seu peso:"); String? peso = stdin.readLineSync(); if (peso != null) { double peson = double.parse(peso); double imc = peson / (alturan * alturan); if (imc < 17) { print( "Olá $nome seu IMC é $imc portanto você está muito abaixo do peso. "); } if (imc >= 17 && imc < 18.50) { print( "Olá $nome seu IMC é $imc portanto você está abaixo do peso. "); } if (imc >= 18.50 && imc < 25) { print( "Olá $nome seu IMC é $imc portanto você está com peso normal. "); } if (imc >= 25 && imc < 30) { print( "Olá $nome seu IMC é $imc portanto você está acima do peso. "); } if (imc >= 30 && imc < 35) { print( "Olá $nome seu IMC é $imc portanto você com obesidade I. "); } if (imc >= 35 && imc < 40) { print( "Olá $nome seu IMC é $imc portanto você com obesidade II (severa). "); } if (imc > 40) { print( "Olá $nome seu IMC é $imc portanto você com obesidade III (móbida). "); } } } } } } Como ainda não sei como realizar uma validação de dados meus códigos estão suscetíveis a esse erro. Se souber de algum artigo ou vídeo que me auxilie nesse ponto estou precisando muito! ^^
@@kauas.conceicao947 import 'dart:io'; double imc (double altura, double peso) => peso / (altura * altura); void main(List args) { print('Entre com a sua altura (em metros): '); String? altura = stdin.readLineSync(); print('Entre com o seu peso (em kg): '); String? peso = stdin.readLineSync(); if (altura == null) { print('Você esqueceu de informar a altura!'); exit(-1); } if (peso == null) { print('Você esqueceu de informar o peso!'); exit(-1); } double? alturad = double.tryParse(altura); if (alturad == null) { print('A altura que você informou está fora do padrão'); exit(-1); } double? pesod = double.tryParse(peso); if (pesod == null) { print('O peso que você informou está fora do padrão'); exit(-1); } double imcd = imc(alturad, pesod); late String escalaimc; if (imcd < 14.5) { escalaimc = 'Desnutrição'; } else if (imcd < 20) { escalaimc = 'Peso abaixo do normal'; } else if (imcd < 24.9) { escalaimc = 'Peso normal'; } else if (imcd < 29.9) { escalaimc = 'Sobrepeso'; } else if (imcd < 39.9) { escalaimc = 'Obesidade'; } else { escalaimc = 'Obesidade mórbida'; } print('O IMC é: ${imc(alturad, pesod)}'); print('Sua escala IMC é: $escalaimc'); exit(0); } Acho que as única diferença na forma como fizemos foi usar o .tryParse (para ele retornar um nulo se o valor não puder ser convertido). O resto, apesar da lógica ser um pouco diferente, está fazendo a mesma coisa. Acho que assim pode ajudar em algo. :)
@@hlgurgel tbm to aprendendo dart mas fiz um try catch que deve servir pra refazer a pergunta ao inves de matar o programa. Na hora de pegar a altura (ou seja, na parte onde vc declara altura = ...) coloque: double altura = getAltura(); e entao fora da main vc pode declarar essa fução para refazer a pergunta sempre que tiver um erro: double getAltura() { double? altura; try { altura = double.parse(stdin.readLineSync()!); } catch (e) { print("Informe uma altura válida:"); } return altura ?? getAltura(); } o operador ?? faz a verificação se altura está nula, que é oq ocorre quando há um FormatException (ou qualquer erro no caso)
top
Amei, me ajudou muito.
Simplesmente top e objetiva. Muito obrigado por esse conteúdo \o/
Obrigada pelo feedback, Davi! 💙💙🥰
Parabéns, pela aula.
Excelente didática!
Nós que agradecemos pela confiança! 💙🥰
Perfeita essa aula!!
Que bom que curtiu, Ithalo! 💙
qual é o pré-requisito para aprender o Dart? JavaScript?
Oi, Iasmim! Tudo bem? 😉
Sugerimos que você comece pela Formação Iniciante em Programação, ela vai te ajudar a dar os primeiros passos com desenvolvimento de software, com lógica e JavaScript, e será sua base independente se você quiser seguir em back-end, front-end ou mobile.
✨️Artigo: kli.cx/m3wx
✨️Formação A partir do zero: iniciante em programação: kli.cx/m3wy
✨️Veja mais: kli.cx/m3wz
Esperamos ter ajudado!
Parabéns pela aula Ricarth, melhor que muitos que se dizem professores por ai tudo muito bem explicado com clareza e objetividade.
Dart é muito estilosa
Oi Ricarth, parabéns pela aula, muito boa!
Nesse desafio proposto no final do vídeo escrevi dessa forma:
import "dart:io";
void main() {
print("Vamos coletar seus dados para o cálculo de IMC");
var dados = stdin.readLineSync();
if (dados != null) {
print("Qual o seu nome ?");
String? nome = (stdin.readLineSync());
print("Qual a sua idade ?");
int idade = int.parse(stdin.readLineSync()!);
print("Qual a sua altura ?");
double altura = double.parse(stdin.readLineSync()!);
print("Qual o seu peso ?");
double peso = double.parse(stdin.readLineSync()!);
print("Oi $nome, o seu IMC é igual a: ${peso / (altura * altura)}");
}
}
pra quem nao conseguiu o desafio......
import 'dart:io';
void main() {
print("Olá bem vindo ao calculador de IMC!
");
print("Digite a sua idade");
int idade = int.parse(stdin.readLineSync()!);
print("Digite o seu nome");
String? nome = stdin.readLineSync();
print("Digite o seu peso");
double peso = double.parse(stdin.readLineSync()!);
print("Digite a sua altura");
double altura = double.parse(stdin.readLineSync()!);
if (idade != null) {
print(
'Seja bem vindo $nome, você está com $idade anos,$peso Kgs,$altura metros de altura e o seu IMC é igual a: ${peso /
(altura * altura)}');
}
}
6:00 Fique bem: tranquilo, tranquila e tranquile, pois alguns ainda estão indecisos quanto ao seu sexo.
Parabéns!!! 👏👏👏Dart é show!!
SE puder me ajudar, estou iniciando agora, usando VsCode e to com uma dificuldade, não consigo escrever nada no meu terminal. Sendo assim, não consigo informar nada para meu codigo ou programa
vai no terminal e colocar: dart e o nome da sua pasta. EX: dart output.dart
Demorei tipo uns 30 e poucos minutos pra fazer, mas fiz hehe
import 'dart:io';
void main() {
print("Olá! Tudo bem? Eu me chamo Moabe, quero saber mais sobre você.
"
"qual o seu nome?");
String? nome = stdin.readLineSync();
print("Legal! Prazer, $nome");
print("Vou fazer o cálculo de seu IMC. Poderia dizier sua altura?");
String? alt = stdin.readLineSync();
if (alt != null) {
double altura = double.parse(alt);
print("Agora poderia me dizer sua idade?");
String? age = stdin.readLineSync();
print("Agora poderia me dizer seu peso atual?");
String? kg = stdin.readLineSync();
int peso = int.parse(kg!);
print("Agora vou calcular seu IMC.
"
"Sua altura é: $altura
"
"Sua idade é: $age
"
"Seu peso atual é: $kg
"
"Você confirma tudo Digite s ou n");
String? confirmacao = stdin.readLineSync();
if (confirmacao == 's') print('VocÊ confirmou" Aguarde um instante.');
print("$nome seu IMC é: ${peso / (altura * altura)}");
}
}
Obviamente sei q o codigo tem algumas falhas ai, mas eu não vou parar parar refinar agora. Vou aprender mais e deixar salvo para daqui a algumas semanas reescrever conforme o que eu aprendi de novo
import 'dart:io';
void main() {
print('Qual é a sua altura?');
String? sAltura = stdin.readLineSync();
if (sAltura != null){
double altura = double.parse(sAltura);
print('Qual é o seu peso?');
String? sPeso = stdin.readLineSync();
if(sPeso != null){
double peso = double.parse(sPeso);
double imc = peso / (altura * altura);
print('
'
'----------------------------------
'
'| Seu IMC é: "$imc" |
'
'----------------------------------
'
'
'
'Aqui está uma tabela com os valores:
'
'---------------------------------------------------------------
'
' IMC | CLASSIFICAÇÃO | OBESIDADE (GRAU) |
'
'---------------------------------------------------------------
'
'MENOR QUE 18,5 | MAGREZA | 0 |
'
'---------------------------------------------------------------
'
'ENTRE 18,5 E 24,9 | NORMAL | 0 |
'
'---------------------------------------------------------------
'
'ENTRE 25,0 E 29,9 | SOBREPESO | 1 |
'
'---------------------------------------------------------------
'
'ENTRE 30,0 E 39,9 | OBESIDADE | 2 |
'
'---------------------------------------------------------------
'
'MAIOR QUE 40,0 | OBESIDADE GRAVE | 3 |
'
'---------------------------------------------------------------');
}
}
}
Bom código, mas o que acontece se o cliente informar um número que não é um double? ex: "2 metros"
@@hlgurgel Irá ocorrer um erro: " Unhandled exception:
FormatException: Invalid double
1.75 metros"
Segue código onde foi realizado o teste:
import 'dart:io';
void main() {
print("Informe seu nome:");
String? nome = stdin.readLineSync();
if (nome != null) {
print("Informe sua idade:");
String? idade = stdin.readLineSync();
if (idade != null) {
print("Insira sua altura:");
String? altura = stdin.readLineSync();
if (altura != null) {
double alturan = double.parse(altura);
print("Insira seu peso:");
String? peso = stdin.readLineSync();
if (peso != null) {
double peson = double.parse(peso);
double imc = peson / (alturan * alturan);
if (imc < 17) {
print(
"Olá $nome
seu IMC é $imc
portanto você está muito abaixo do peso.
");
}
if (imc >= 17 && imc < 18.50) {
print(
"Olá $nome
seu IMC é $imc
portanto você está abaixo do peso.
");
}
if (imc >= 18.50 && imc < 25) {
print(
"Olá $nome
seu IMC é $imc
portanto você está com peso normal.
");
}
if (imc >= 25 && imc < 30) {
print(
"Olá $nome
seu IMC é $imc
portanto você está acima do peso.
");
}
if (imc >= 30 && imc < 35) {
print(
"Olá $nome
seu IMC é $imc
portanto você com obesidade I.
");
}
if (imc >= 35 && imc < 40) {
print(
"Olá $nome
seu IMC é $imc
portanto você com obesidade II (severa).
");
}
if (imc > 40) {
print(
"Olá $nome
seu IMC é $imc
portanto você com obesidade III (móbida).
");
}
}
}
}
}
}
Como ainda não sei como realizar uma validação de dados meus códigos estão suscetíveis a esse erro. Se souber de algum artigo ou vídeo que me auxilie nesse ponto estou precisando muito! ^^
@@kauas.conceicao947
import 'dart:io';
double imc (double altura, double peso) => peso / (altura * altura);
void main(List args) {
print('Entre com a sua altura (em metros): ');
String? altura = stdin.readLineSync();
print('Entre com o seu peso (em kg): ');
String? peso = stdin.readLineSync();
if (altura == null) {
print('Você esqueceu de informar a altura!');
exit(-1);
}
if (peso == null) {
print('Você esqueceu de informar o peso!');
exit(-1);
}
double? alturad = double.tryParse(altura);
if (alturad == null) {
print('A altura que você informou está fora do padrão');
exit(-1);
}
double? pesod = double.tryParse(peso);
if (pesod == null) {
print('O peso que você informou está fora do padrão');
exit(-1);
}
double imcd = imc(alturad, pesod);
late String escalaimc;
if (imcd < 14.5) {
escalaimc = 'Desnutrição';
} else if (imcd < 20) {
escalaimc = 'Peso abaixo do normal';
} else if (imcd < 24.9) {
escalaimc = 'Peso normal';
} else if (imcd < 29.9) {
escalaimc = 'Sobrepeso';
} else if (imcd < 39.9) {
escalaimc = 'Obesidade';
} else {
escalaimc = 'Obesidade mórbida';
}
print('O IMC é: ${imc(alturad, pesod)}');
print('Sua escala IMC é: $escalaimc');
exit(0);
}
Acho que as única diferença na forma como fizemos foi usar o .tryParse (para ele retornar um nulo se o valor não puder ser convertido). O resto, apesar da lógica ser um pouco diferente, está fazendo a mesma coisa.
Acho que assim pode ajudar em algo. :)
@@hlgurgel tbm to aprendendo dart mas fiz um try catch que deve servir pra refazer a pergunta ao inves de matar o programa. Na hora de pegar a altura (ou seja, na parte onde vc declara altura = ...) coloque:
double altura = getAltura();
e entao fora da main vc pode declarar essa fução para refazer a pergunta sempre que tiver um erro:
double getAltura() {
double? altura;
try {
altura = double.parse(stdin.readLineSync()!);
} catch (e) {
print("Informe uma altura válida:");
}
return altura ?? getAltura();
}
o operador ?? faz a verificação se altura está nula, que é oq ocorre quando há um FormatException (ou qualquer erro no caso)