Home › Fóruns › Programação Básica › Exercício 23
- Este tópico contém 15 respostas, 9 vozes e foi atualizado pela última vez 3 meses, 3 semanas atrás por
Tutora Jessica.
-
AutorPosts
-
-
29 de dezembro de 2021 às 15:01 #83391
RENATA LIMA HOLANDA
Participante/* 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 3 anos, 4 meses atrás por
IcaroFilho.
-
Este tópico foi modificado 3 anos, 4 meses atrás por
-
3 de janeiro de 2022 às 07:53 #83603
IcaroFilho
ModeradorBom dia renata. Eu testei e esta funcionando normalmente.
Testei pela versão WEB. LINK -
18 de abril de 2022 às 22:14 #91576
João Messias
Participanteprograma
{
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 #91610
IcaroFilho
ModeradorBom 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 #95955
Matheus Vidal Tenório
ParticipanteNÃ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 #96228
Tutora Jessica
ModeradorOlá 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 #110724
Miguel Júnior Zua Mendes Adão
Participanteinclua 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 #110825
Tutora Jessica
ModeradorAlguma dúvida Miguel?
-
23 de fevereiro de 2023 às 20:09 #110843
Miguel Júnior Zua Mendes Adão
ParticipanteNão.
-
28 de fevereiro de 2023 às 20:21 #111121
Miguel Júnior Zua Mendes Adão
ParticipanteNão!
-
-
3 de março de 2023 às 21:47 #111299
Wagner
ParticipanteBoa 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 #111415
Tutora Jessica
ModeradorMuito bom Wagner, parabéns.
Tenho certeza que vai ajudar bastante !!
Obrigada e parabéns pelo empenho 🖖 -
5 de janeiro de 2025 às 23:33 #152224
Gabriel Azevedo
ParticipanteBoa noite, tudo bem?
Consegui fazer o exercício, mas depois de conferir a resposta com o professor e também pesquisando, achei a minha lógica muito ruim e compliquei demais algo que era mais simples.
Se puder, poderia conferir e me dizer se está bom ?programa { inclua biblioteca Calendario --> cal funcao inicio() { inteiro ano escreva("Em que ano você nasceu? ") leia(ano) inteiro idade = cal.ano_atual() - ano inteiro menor18 = 18 - idade //Variável para calcular quantos anos ainda faltam para chegar aos 18 inteiro maior18 = 18 + ano //Variável para calcular em que ano o usuario fez 18 escreva("-----------------------------------------\n") escreva("Estamos em " + cal.ano_atual() + ". Você tem atualmente " + idade + " anos de idade. \n\n") se(idade == 18){ escreva("Você completa 18 anos nesse ano de " + cal.ano_atual() + ".\nVá se alistar agora mesmo.") }senao{ se(idade < 18){ escreva("Você ainda não completou 18 anos.\nVocê só pode se alistar em " + (cal.ano_atual() + menor18) + ".\nAinda faltam " + menor18 + " anos.") }senao{ escreva("Você já deveria ter se alistado em " + maior18 + "\nVocê já está atrasado em " + (cal.ano_atual() - maior18) + " anos.") } } escreva("\n\n") } }
-
6 de janeiro de 2025 às 10:15 #152290
Tutora Jessica
ModeradorOla Gabriel, trouxe sua duvida para uma ja existente no forum do mesmo exercício, acima você encontra algumas explicações e resoluções.
O meu conselho a você é que a forma de melhora dos seus códigos é com o tempo, você ainda esta no exercício 23 e esta indo muito bem conseguindo acompanhar e realizar os exercícios conforme é pedido nos enunciados. Treine bastante seus códigos procure soluções e com o tempo você vai conseguindo conciliar melhor a parte da lógica. Outra dica é sempre olhar o fórum, nele você encontra diversas formas de códigos com diversas resoluções e lógica e ta tudo bem , o importante é estar conseguindo acompanhar e realizar todos os exercícios..
-
-
7 de janeiro de 2025 às 13:19 #152339
Ana Amaral
ParticipanteEstou com dificuldade em um código, quando eu coloco só o código sem “\n” dá certo, porém nao acontece a quebra de linha
quando eu coloco “\n” o app sublinha o “escreva(“palavra”) e acusa o erro “A expressão não foi iniciada corretamente…”
Conseguem me ajudar por favor ?
Segue o códigointeiro numero
inteiro n
escreva(“Dgite um valor:”)
leia(numero)
escreva(“Digite outro valor:”)
leia(numero)
escreva(“________RESULTADOS_______ \n”)
escreva(“SOMA = ” + (7+2) “\n”)
escreva(“DIFERENÇA = ” + (7-2) “\n”)
escreva(“PRODUTO = ” + (7*2) “\n”)
escreva(“DIVISÃO INTEIRA = ” + (7/2) “\n”)
escreva(“DIVISÃO REAL = ” + (7.0/2.0) “\n”)
escreva(“RESTO DA DIVSÃO = ” + (7%2) “\n”)Aula: Programação Básica M01A08
-
7 de janeiro de 2025 às 16:29 #152344
Tutora Jessica
ModeradorOlá Ana,
Para você conseguir incluir o \n após a conta matemática você precisa incluir mais um sinal de MAIS ( + ) após a conta matemática, pois você esta incluindo mais informações ao seu escreva, segue o exemplo:
escreva("SOMA = " + (7+2) + "\n" )
Assim sucessivamente com os outroes escrevas do seu código.
Vou pedir também para quando colocar seu código em uma aba do fórum que seja do mesmo exercício da sua dúvida.. no seu caso é o exercício 04, mas a dúvida ficou numa aba do exercício 23 .
-
Esta resposta foi modificada 3 meses, 3 semanas atrás por
Tutora Jessica.
-
Esta resposta foi modificada 3 meses, 3 semanas atrás por
Tutora Jessica.
-
Esta resposta foi modificada 3 meses, 3 semanas atrás por
Tutora Jessica.
-
Esta resposta foi modificada 3 meses, 3 semanas atrás por
Tutora Jessica.
-
Esta resposta foi modificada 3 meses, 3 semanas atrás por
-
-
AutorPosts
- Você deve fazer login para responder a este tópico.