Home › Fóruns › Programação Básica › Exercício 23
- Este tópico contém 11 respostas, 7 vozes e foi atualizado pela última vez 1 ano, 8 meses atrás por Tutora Jessica.
-
AutorPosts
-
-
29 de dezembro de 2021 às 15:01 #83391RENATA LIMA HOLANDAParticipante
/* Serviço militar 2.0 perguntar ano de nascimento se ano maior que 18 – vc ja se alistou se ano menor que 18 – se aliste em tal ano se == 18 se aliste esse ano*/ inclua biblioteca Calendario –>c funcao inicio() { escreva(“\tSERVIÇO MILITAR 2.0\n”) escreva(“=====================================\n”) inteiro anoNascimento inteiro anoAtual = c.ano_atual() escreva(“Qual seu ano de nascimento ?”) leia(anoNascimento) inteiro idade = anoAtual-anoNascimento inteiro futuro = ( 18 – idade) inteiro alistamento = anoAtual + futuro escreva(“Estamos em ” + anoAtual + ” Sua idade é: ” + idade + ” anos \n”) se (idade > 18){ escreva (” Você já deve ter se alistado no no de ” + alistamento + “.” ) }senao se(idade < 18){ escreva(” Você não tem idade para se alistar. Isso vai acontecer em ” + alistamento + ” Faltam ” + futuro + ” anos.”) }senao{ escreva(“Você tem 18 anos. Se aliste imediatamente!”) } escreva(“\n\n”) }
Olá, sempre que eu coloco uma idade maior que 18 tenho executar o programa duas vezes para obter o resultado completo. Isso só acontece se a idade for maior que 18. O que faço para corrigir?
- Este tópico foi modificado 2 anos, 10 meses atrás por IcaroFilho.
-
3 de janeiro de 2022 às 07:53 #83603IcaroFilhoModerador
Bom dia renata. Eu testei e esta funcionando normalmente.
Testei pela versão WEB. LINK -
18 de abril de 2022 às 22:14 #91576João MessiasParticipante
programa
{
inclua biblioteca Calendario –> cal
funcao inicio()
{
escreva(“—————————————- \n”)
escreva(“{ EXERCICIO 023 – Serviço Militar v2.0 } \n”)
inteiro ano, idade
escreva(” Em que ano você nasceu? “)
leia(ano)
escreva(“—————————————- \n\n”)idade = cal.ano_atual() – ano
escreva(“============== RESULTADO ============== \n”)
se (idade >= 19){
inteiro atrasado, epoca_alis, atras, epoca
atras = cal.ano_atual() – idade + 18 – cal.ano_atual()
atrasado = atras * -1
epoca_alis = atrasado – cal.ano_atual()
epoca = epoca_alis * -1escreva(“Estamos em “, cal.ano_atual(), ” e você tem “, idade, ” anos\n”)
escreva(“Você já deveria ter se alistado em “, epoca, “\n”)
escreva(“Você já está atrasado “, atrasado, ” ano(s)”)} senao se (idade < 18){
inteiro falta, completara, ainda_falta
ainda_falta = idade – 18
falta = ainda_falta * -1
completara = cal.ano_atual() + faltaescreva(“Estamos em “,cal.ano_atual(), ” e você tem “, idade, ” anos \n”)
escreva(“Você ainda não completou 18 anos. Você vai completar em “, completara,”\n”)
escreva(“Ainda falta(m) “, falta,” ano(s)\n”)} senao se(idade == 18){
escreva(“Estamos em “, cal.ano_atual(), ” e você tem “, idade, ” anos\n”)
escreva(“JOVEM! Você completou 18 anos nesse ano de “, cal.ano_atual(), “. CORRA E SE ALISTE!” )
}}
}-
19 de abril de 2022 às 09:38 #91610IcaroFilhoModerador
Bom dia. seu código esta funcionando.
Sempre que enviar um código, envie-o configurado. para isso basta cola-lo e seleciona-lo por completo. Depois clicar emCODE
na barra superior da caixa de texto. (notará que aparecerá crases no inicio e no fim).
Possui alguma duvida referente ao exercício ??
-
-
19 de junho de 2022 às 03:20 #95955Matheus Vidal TenórioParticipante
NÃO SEI SE A LÓGICA ESTÁ CERTA. POIS CHEGOU UMA PARTE(SÃO 3 DA MANHÃ AQUI), QUE EU N SABIA COMO ERA MAIS. POIS HAVIA OUTRA VARIAVEL PARA O SEGUNDO SENAO, Q SERIA O ATRASO E (EU TENHO COLCOADO PAS), MAS TIREI E DIEXEI O REST, E FUI TESTANDO, AI DEU CERTO, MAS TO QUASE ENTENDNEDO, MAS QUERO ENTENDER BEMMMM.
programa
{
//EXERCÍCIO 023 – SERVIÇO MILITAR 2.0inclua biblioteca Calendario –> cd
funcao inicio()
{
inteiro id, rest
escreva(“Em que ano você nasceu ? “)
leia(id)
escreva(“——————————–\n”)
id = cd.ano_atual()-id
rest = id – 18se(id == 18){
escreva(“Você completará 18 anos este ano. Procure se alistar”)
} senao se(id < 18){
escreva(“\nVocê ainda não completou 18 anos. Vai acontecer em “+ (cd.ano_atual()+rest) +”\nAinda falta “+rest+” ano(s)”)
} senao se(id > 18){
escreva(“\nVocê já deveria ter se alistado em “+ (cd.ano_atual()-rest) +”\nVocê está com um atraso de “+ rest +” anos(s)”)
}}
}
` -
23 de junho de 2022 às 14:52 #96228Tutora JessicaModerador
Olá Matheus, da forma que esta fazendo esta correto, mas precisa de algumas outras verificações, acaba que o código fica um pouco maior..
No seu código, nesse trecho, verifique:
rest = id – 18
A partir dai precisamos incluir mais umas coisinhas, ai você precisa pensar um pouco mais no restante da lógica..
Da forma em que esta o seu código aparecem números negativos em alguns testes.
Continue seus estudos que você vai longe.. Conseguindo concluir ou não, nos dê um feedback 🙂
Qualquer dúvida só chamar no fórum, beleza? 🖖 -
21 de fevereiro de 2023 às 13:38 #110724Miguel Júnior Zua Mendes AdãoParticipante
inclua biblioteca Calendario –> c
funcao inicio()
{inteiro ano
escreva(“Em que ano você nasceu? “)
leia(ano)
escreva(“\n—————————–“)
inteiro idade = c.ano_atual() – anose (idade == 18){
escreva(“\nVocê completa 18 anos nesse ano de ” + (c.ano_atual()))} senao se (idade <= 17){
escreva(“\nVocê ainda não completou 18 anos. Vai completar em ” + (c.ano_atual() + (18 – idade)))
escreva(“\nAinda faltam ” + (18 – idade) + ” ano (s) “)} senao se (idade >= 18){
escreva(“\nVocê já deveria ter se alistado em ” + (c.ano_atual() + (18 – idade)))
escreva(“\nVocê já está atrasado ” + (idade – 18) + ” anos “)
}
}
} -
23 de fevereiro de 2023 às 11:14 #110825Tutora JessicaModerador
Alguma dúvida Miguel?
-
23 de fevereiro de 2023 às 20:09 #110843Miguel Júnior Zua Mendes AdãoParticipante
Não.
-
28 de fevereiro de 2023 às 20:21 #111121Miguel Júnior Zua Mendes AdãoParticipante
Não!
-
-
3 de março de 2023 às 21:47 #111299WagnerParticipante
Boa noite pessoas, professores, tudo bem?
Meu cérebro deu uma bugada pra resolver esse aqui. 🙂
Espero que os comentarios que deixei no programa ajudem a quem tiver duvidas.programa { /* EX023 - Servico Militar v2.0 O programa vai receber o ano do nascimento, calcular se a pessoa tem 18 anos e pode se alistar, quantos anos faltam para se alistar, se ultrapassou o ano atual e quantos anos ja se passaram do alistamento Autor Gustavo Guanabara Empresa Estudonauta */ // incluir biblioteca - include library inclua biblioteca Calendario --> c funcao inicio() { // declarar variaveis - string declaration inteiro nasc, idade_real, atual=c.ano_atual(), dif, futuro // pedir entrada do ano de nascimento - asks for birth year escreva("\n{ EXERCÍCIO 023 - Serviço Militar v2.0 }\n") escreva("Em que ano você nasceu? ") leia(nasc) idade_real=atual-nasc dif=idade_real-18 futuro = atual-dif // usar condicionais aninhadas - use if-else statement se (idade_real == 18) { escreva("----------------------------------------\n") escreva("Você completa 18 anos nesse ano de "+atual+"! Aliste-se!\n") } senao se (idade_real < 18) { // valor fica negativo quando abaixo de 18 anos. // eh necessario usar um sinal inversor no calculo para transformar em soma // entao a variavel futuro = atual - DIF >> que esta negativa neste caso << escreva("----------------------------------------\n") escreva("Você ainda não completou 18 anos. Vai acontecer em "+(futuro)+"!\n\n") escreva("Ainda falta(m) "+(-dif)+" ano(s)!\n") } senao se (idade_real > 18) { escreva("----------------------------------------\n") escreva("Você deveria ter se alistado em "+(futuro)+"\n\n") escreva("Você está atrasado(a) há "+dif+" ano(s).") } } }
-
6 de março de 2023 às 10:30 #111415Tutora JessicaModerador
Muito bom Wagner, parabéns.
Tenho certeza que vai ajudar bastante !!
Obrigada e parabéns pelo empenho 🖖
-
-
AutorPosts
- Você deve fazer login para responder a este tópico.