Home › Fóruns › Programação Básica › Ex. 53
- Este tópico contém 35 respostas, 11 vozes e foi atualizado pela última vez 2 anos, 1 mês atrás por Milena Rosa Carnielli. 
- 
		AutorPosts
- 
		
			- 
25 de junho de 2021 às 10:28 #70039Odilon Tavares ParticipanteOlá, 
 Estou fazendo o exercício 53 e ao tentar validar a resposta S ou N aparece uma mensagem informando que a função cadeia_para_caracter não existe na biblioteca tipos.
 A ajuda do portugol studio mostra sua sintaxe como demonstrado abaixo
 cadeia_para_caracter(cadeia valor)
 Estou redigindo desta forma, resposta = (t.cadeia_para_catacter(teclado))
 É preciso acrescentar outro informação junto a teclado entre parênteses?
- 
25 de junho de 2021 às 10:44 #70041IcaroFilho ModeradorBom dia. 
 pode postar o seu código por favor (e se possível, não esqueça de mandar formatado).a sintaxe esta correta. mas não e necessário por dentro de parênteses. => resposta = t.cadeia_para_caracter(teclado)- 
25 de junho de 2021 às 10:45 #70042IcaroFilho ModeradorSo uma observação. 
 vc escreveu catacter, e isso realmente não existe rsrsrsr.. não sei se copiou do portugal e colou aqui ou se só errou ao digitar aqui…
 
- 
- 
25 de junho de 2021 às 13:08 #70046Odilon Tavares ParticipanteValeu Icaro. Fiquei tão concentrado na instrução da biblioteca que não percebi o erro ortográfico. 
- 
18 de abril de 2022 às 22:01 #91575Alex oliveira Participantefala galera o meu está dando um erro que não comprendo o erro de compilação .Ele diz que a variável não foi iniicializada a resp programa { inclua biblioteca Tipos--> u funcao inicio() { inteiro nun=0, cont=1,soma=0 caracter resp cadeia teclado faca{ enquanto(verdadeiro){ escreva("=======================\n") escreva( cont ," ° Valor \n") escreva("========================\n") escreva("DIgite um numero entre 1- 10 : ") leia(teclado) se (u.cadeia_e_inteiro(teclado, 10)){ nun=u.cadeia_para_inteiro(teclado, 10) se (nun>=1 e nun<=10) { pare }senao { escreva ("<<ERRO!>> Digite um numero de 1 a 10 \n") } }senao { escreva("<<ERRO ! >> DIgite um número inteiro\n ") } } cont++ soma+= nun enquanto(verdadeiro){ escreva("Deseja continuar : ") leia(teclado) se (u.cadeia_e_caracter(teclado)){ resp=u.cadeia_para_caracter(teclado) se(resp=='S' ou resp=='s' ou resp=='N' ou resp=='n'){ pare } } senao { escreva(" <<ERRO>> Digite uma letra \n") } } } enquanto (resp=='s' ou resp=='S') escreva("\n\n=========================") escreva("\n Você digitou ", cont , " valores") escreva("\n A soma deles são :", soma) escreva("\n\n=========================") } }- 
19 de abril de 2022 às 09:09 #91600IcaroFilho ModeradorBom dia. Basta inicializar as variaveis: caracter resp = ' ' cadeia teclado = ""obs: Seu código esta dando a contagem errada errada de entradas pois o contador começa com 1. 
 Basca inicializar o contador em 0 que o valor de quantidade de vezes fica correto.. ou então terá que fazer uma operação na saida decont - 1
 
- 
- 
9 de julho de 2022 às 18:16 #97127ROSANGELA MENDES ParticipanteOlá! 
 Por favor, analisem o código, pois não consigo ver onde está o erro.
 Primeiro fiz sem consultar o vídeo explicativo. Apresentei alguns erros pois não usei a biblioteca.
 Depois fiz conforme o professor ensinou…já revisei e não encontrei o erro.Aguardo retorno! funcao inicio() 
 {
 cadeia teclado
 inteiro num, soma = 0, cont = 0
 caracter respostafaca{ 
 enquanto(verdadeiro){
 escreva(“—————————————-\n”)
 escreva(” VALOR “,cont + 1, “\n”)
 escreva(“—————————————-\n”)escreva(“Digite um número: “) 
 leia (teclado)se(t.cadeia_e_inteiro(teclado, 10)){ num = t.cadeia_para_inteiro(teclado, 10) 
 se(num >= 1 e num <= 10){
 pare
 }senao{
 escreva(” [ERRO] O número deve estar entre 1 e 10.\n”)
 }
 }senao{
 escreva(” [ERRO] O valor deve ser um número inteiro.\n”)} } cont++ 
 soma += num
 enquanto(verdadeiro){
 escreva(“Quer continuar? [S/N] “)
 leia(teclado)
 se(t.cadeia_e_caracter(teclado)){
 resposta = t.cadeia_para_caracter(teclado)
 se(resposta == ‘S’ ou resposta == ‘s’ ou resposta == ‘N’ ou resposta ==’n’){
 pare
 }senao{
 escreva(” [ERRO] Por favor, responda S ou N.\n”)
 }}senao{ 
 escreva(” [ERRO] O valor deve ser uma letra.\n “)
 }
 }
 }enquanto(resposta == ‘S’ ou resposta ==’s’)
 escreva(“========= RESULTADO ============\n”)
 escreva(“Ao todo, você digitou “, cont, ” valores \n”)
 escreva(“A soma de todos eles é “, soma, “\n”)} } 
- 
9 de julho de 2022 às 18:24 #97128ROSANGELA MENDES Participante>>>>>>>EXERCÍCIO 53<<< 
- 
9 de julho de 2022 às 18:24 #97129ROSANGELA MENDES ParticipanteE X E R C Í C I O 53 
- 
11 de julho de 2022 às 10:29 #97275Tutora Jessica ModeradorOlá Rosangela, peço para que quando for nos enviar sua dúvida ou compartilhar seu código conosco, se atente em ver se já tem esse tópico criado, para mantermos o fórum organizado. 🖖🖖 
 Reposicionei seu código para o tópico do exercício 53.
 Qual erro aparece na sua tela?
- 
11 de julho de 2022 às 15:36 #97292ROSANGELA MENDES ParticipanteBoa tarde! 
 Infelizmente não existe a opção excluir qdo postamos errado. Fica a dica! =)Aparecem duas mensagens: 
 – Erro de compilação
 – Existem trechos onde variável num pode não ter sido inicializada.
- 
11 de julho de 2022 às 17:14 #97309Tutora Jessica ModeradorOlá Rosângela, envie sua sugestão na aba Ajuda, mas de qualquer forma eu reposicionei a sua pergunta para o tópico certo. 
 No seu código só precisa ser feito o seguinte:
 A variável num você inicializa ela lá na declaração comnum = 0
 E a variável resposta com aspas simples, dessa forma :caracter resposta = ''
 Fazendo isso seu código vai funcionar direitinho!!
 Parabéns por procurar sempre novos caminhos, você esta indo muito bem 🖖🖖
- 
20 de julho de 2022 às 16:33 #97946Yury Corrêa Silva ParticipanteOlá, por algum motivo meu programa não está executando por erro de compilação e diz que existem trechos onde a variável valor não inicializou. Aqui está o código completo. programa { inclua biblioteca Tipos --> t funcao inicio() { cadeia valid caracter resp inteiro valor, tot = 0, soma = 0 escreva("{ EXERCÍCIO 053 - Números Validados }\n") faca { enquanto(verdadeiro) { escreva("------------------------------------------\n") escreva("\t\t VALOR ", tot+1, "\n") escreva("------------------------------------------\n") escreva("Digite um número (entre 1 e 10): ") leia(valid) se (t.cadeia_e_inteiro(valid, 10)) { valor = t.cadeia_para_inteiro(valid, 10) se (valor>=1 e valor<=10) { pare } senao { escreva("<<ERRO>> O número deve estar entre 1 e 10!\n") } } senao { escreva("<<ERRO>> O valor deve ser um número inteiro!\n") } } tot++ soma += valor enquanto(verdadeiro) { escreva("Quer continuar? [S/N]") leia(resp) se (t.cadeia_e_caracter(valid)) { resp = t.cadeia_para_caracter(valid) se (resp == 's' ou resp == 'S' ou resp == 'n' ou resp == 'N') { pare } senao { escreva("<<ERRO>> Por favor responda S ou N!\n") } } senao { escreva("<<ERRO>> A resposta deve ser uma letra!\n") } } } enquanto (resp == 'S' ou resp == 's') escreva("\n-=-=-=-=-=-=- RESULTADO -=-=-=-=-=-=-\n") escreva("Ao todo, você digitou ", tot, " valores.\n") escreva("A soma de todos eles foi ", soma) } }
- 
21 de julho de 2022 às 09:45 #97993Tutora Jessica ModeradorOlá Yuri, 
 Nesse caso é só inicializar as variáveis :
 validcom aspas duplas ,respcom aspas simples evalor= 0 .Depois nos dê um feedback se funcionou dessa forma 🖖 
- 
17 de janeiro de 2023 às 01:14 #108865Tatiana Azer Maluf ParticipanteOlá, boa noite. 
 Digitei o código primeiro para o usuário digitar o valor e estava tudo certo.
 Quando inseri a primeira validação, deu o seguinte erro: “Tipos incompatíveis! Não é possível atribuir uma expressão do tipo “lógico” à uma expressão do tipo “inteiro”.
 Por favor, pode me ajudar?
 Segue o código:programa { inclua biblioteca Tipos funcao inicio() { inteiro c = 1, n caracter resp = ' ' cadeia teclado = " " enquanto (verdadeiro) { escreva ("\n-------------------------------") escreva ("\n\tVALOR " + c ) escreva ("\n-------------------------------") escreva ("\nDigite um número (entre 1 e 10): ") leia (teclado) c++ se (Tipos.cadeia_e_inteiro (teclado, 10)) { n = Tipos.cadeia_e_inteiro (teclado, 10) } senao { escreva ("<<ERRO>> Deve ser digitado um número") } escreva ("Quer continuar? (s/n) ") leia (resp) se (resp == 'N' ou resp == 'n') { pare } } } }
- 
17 de janeiro de 2023 às 10:36 #108881Tutora Jessica ModeradorOla Tatiana, seu código esta incompleto. 
 Dê uma olhadinha nos exemplos e explicações acima para ver se lhe ajuda, caso não.. só retornar que vamos tentar te ajudar da melhor forma.
 Adiantando, você precisa iniciar o seu enquanto com faca dessa forma:faca{ enquanto(verdadeiro){ } }
- 
19 de janeiro de 2023 às 00:59 #108980Tatiana Azer Maluf ParticipanteOi Jéssica 
 Melhorou um pouco da última vez, mas ainda assim não ficou tudo certo.
 Consegue me dar uma dica? Não quero assistir o vídeo de resposta sem conseguir finalizar 🙁programa { inclua biblioteca Tipos funcao inicio() { inteiro c = 1, n caracter resp = ' ' enquanto (verdadeiro) { escreva ("\n-------------------------------") escreva ("\n\tVALOR " + c ) escreva ("\n-------------------------------") escreva ("\nDigite um número (entre 1 e 10): ") leia (n) c++ se (n >= 1 e n <= 10) { pare } se (n < 1 ou n >= 10) { escreva ("<<ERRO>> O número deve estar entre 1 e 10") } escreva ("\nQuer continuar? (s/n) ") leia (resp) enquanto (resp == 'n' ou resp == 'N') { pare } se (resp != 'S' ou resp != 's' ou resp != 'N' ou resp != 'n') { escreva ("A resposta deve ser S ou N") } } escreva ("\n\n") } }
- 
19 de janeiro de 2023 às 09:31 #108996Tutora Jessica ModeradorOla Tatiana, eu preciso que você me envie o código completo para análise. 
 O seu código só esta pedindo um valor e não faz mais nada depois.
 Te indico completar ele mesmo que com erros e trazer para nós olharmos.
 Esse exercício é feito com o enquanto.. pois são muitas etapas.
 O se/senao ficará dentro do enquanto.
 Assista novamente as explicações do porfessor Guanabara no vídeo em que ele passa esse exercício.
- 
19 de janeiro de 2023 às 12:21 #109007Tatiana Azer Maluf ParticipanteOi Jéssica 
 Agora o programa verifica o número, valida, mas não pede pra digitar de novo caso o número esteja fora do range. Como faço isso, por favor?programa { inclua biblioteca Tipos funcao inicio() { inteiro c = 1, n caracter resp = ' ' enquanto (verdadeiro) { escreva ("\n-------------------------------") escreva ("\n\tVALOR " + c ) escreva ("\n-------------------------------") escreva ("\nDigite um número (entre 1 e 10): ") leia (n) c++ se (n >= 1 e n <= 10) { escreva ("\nQuer continuar? (s/n) ") leia (resp) } se (n < 1 ou n >= 10) { escreva ("<<ERRO>> O número deve estar entre 1 e 10") } } escreva ("\n\n") } }
- 
19 de janeiro de 2023 às 18:02 #109024Tutora Jessica Moderadorvocê precisa iniciar o seu enquanto com faca dessa forma: faca{ enquanto(verdadeiro){ } }
- 
29 de abril de 2023 às 18:57 #114843TATIANE ROCHA ParticipanteOlá, estou com uma dúvida na linha 43. No código há a pergunta: deseja continuar? No caso, se eu digitasse um numero era pra aparecer o erro: Digite uma letra, mas acaba aparecendo o outro erro: Digite S ou N. Como faço pra corrigir? Na resolução do exercício Guanabara não percebeu e acontece a mesma coisa. Gostaria de saber como resolver esse trecho. programa 
 {
 inclua biblioteca Tipos–> tfuncao inicio() 
 {
 inteiro c=0, num=0, s=0
 caracter resp= ‘ ‘
 cadeia digitado
 faca {
 escreva(“—————\n”)
 escreva( “VALOR “, c+1, “\n”)
 escreva(“—————\n”)enquanto (verdadeiro) { 
 escreva(“digite um valor (entre 1 e 10): “)
 leia(digitado)se (t.cadeia_e_inteiro(digitado,10)) { 
 num= t.cadeia_para_inteiro(digitado,10)
 se (num>=1 e num<=10) {
 pare
 } senao {
 escreva(“<<<ERRO>>> O valor deve ser um número entre 1 e 10\n”)
 }
 } senao {
 escreva(“<<<ERRO>>> O valor dever ser um número entre 1 e 10\n”)
 }
 }
 c=c+1
 s= s+num
 enquanto (verdadeiro) {
 escreva(“deseja continuar? “)
 leia(digitado)
 se (t.cadeia_e_caracter(digitado)) {
 resp= t.cadeia_para_caracter(digitado)
 se (resp== ‘s’ ou resp== ‘S’ ou resp== ‘n’ ou resp== ‘N’) {
 pare
 } senao {
 escreva(“<<<ERRO>>> Digite S ou N\n”)
 }
 43 } senao {
 escreva(“<<<ERRO>>> Digite uma letra\n”)
 }
 }
 } enquanto (resp== ‘S’ ou resp== ‘s’)
 escreva(“————— RESULTADOS —————–\n”)
 escreva(“Voce digitou “, c, ” valores.\n”)
 escreva(“A soma entre eles é “, s)
 }
 }
- 
29 de abril de 2023 às 19:00 #114845TATIANE ROCHA Participanteoutra, dúvida. Como faço pra enviar o código com a mesma formatação do portugol? Toda vez que envio o formato fica em forma de texto normal. 
- 
2 de maio de 2023 às 10:36 #114988Tutora Jessica ModeradorOla Tatiane, nesse caso realmente a segunda opção não irá aparecer, pois ele vai ler sempre a linha 42 primeiro e sendo diferente de S ou N ele não entra na linha 43 pois o que pede na linha 42 cabe ao senão. 
 Seu código esta correto e não precisa de uma solução para erro, já que não tem.
 Parabéns pelo empenho.
 Em relação a já vir formatado conforme o portugol, você cola seu código aqui no fórum, seleciona ele por completo e clica emCODEna barra acima, após é só enviar.
 Bons estudos 🖖
- 
3 de maio de 2023 às 21:48 #115112Miguel Júnior Zua Mendes Adão ParticipantePodem me ajudar estou tento dificuldade. 
 Quando pede pra continuar clico “S” ou “N”, lê a resposta erra
 Esta : escreva(“[ERRO] Resposta inválida, tente novamente!\n”)
 E soma dos valores está dando errado.inclua biblioteca Tipos –> t 
 funcao inicio()
 {
 cadeia teclado, resp=” ”
 inteiro num=0, soma=0, c=1
 enquanto(verdadeiro){
 escreva(“—————————————“)
 escreva(“\n\tVALOR ” + c)
 escreva(“\n—————————————“)
 escreva(“\nDigite um número (entre 1 e 10): “)
 leia(teclado)
 se (t.cadeia_e_inteiro(teclado, 10)){
 num = t.cadeia_para_inteiro(teclado,10)se (num >= 1 e num <=10){ 
 escreva(“Quer continuar? [S/N] “)
 leia(resp)
 se (resp==”N” e resp==”n”){pare } se( resp!=”s” ou resp!=”S” ou resp!=”n” ou resp!=”N”){ 
 escreva(“[ERRO] Resposta inválida, tente novamente!\n”)
 }}senao { escreva(“[ERRO] O número deve estar entre 1 e 10!\n”) } }senao{ escreva(“[ERRO] O valor deve ser um número inteiro!\n”) } num++ 
 soma +=num
 c++
 }
 escreva(“\n”)
 escreva(“\n======== RESULTADO ==============”)
 escreva(“\nAo todo, você digitou ” + num + ” valores.”)
 escreva(“\nA soma de todos os números foi ” + soma)
 }} 
- 
4 de maio de 2023 às 10:57 #115149Tutora Jessica ModeradorOla Miguel, você precisa se atentar aos fechamentos das chaves de se/senão. 
 Nesse trecho por exemplo :se (num >= 1 e num <=10){o seu senao esta lá embaixo dentro do fechamento de outros se/senao.
 Esse trecho por exemplo, precisa ficar dessa forma:se (num >= 1 e num <= 10) { pare } senao{ escreva("<<ERRO>> O número deve estar entre 1 e 10.\n") } } senao { escreva("<<ERRO>> O valor deve ser um número inteiro.\n") } }Tente refazer seu código prestando mais a atenção nesses fechamentos das chaves, veja algumas explicações acima também que isso irá lhe ajudar. 
 Bons estudos 🖖- 
6 de maio de 2023 às 20:26 #115429Miguel Júnior Zua Mendes Adão ParticipanteOk, obrigado! Já refiz o código, mas a única dificuldade que tive foi
 ao passar pra o segundo valor. Não consigo verificar o erro.inclua biblioteca Tipos –>t 
 funcao inicio()
 {
 inteiro num=0, c=1, val_digitado=0, soma=0
 cadeia resp=” “, tecladoenquanto(verdadeiro){ 
 escreva(“——————————-“)
 escreva(“\n\tValor ” + c)
 escreva(“\n——————————-“)
 escreva(“\nDigite um num número (1 e 10): “)
 leia(teclado)
 c++se (t.cadeia_e_inteiro(teclado,10)){ 
 num = t.cadeia_para_inteiro(teclado,10)
 se( num >= 1 e num <= 10){
 val_digitado++
 soma+=num
 escreva(“Quer continuar? [S/N] “)
 leia(resp)
 se(resp==”n” ou resp==”N”){pare } se (resp!=”S” e resp!=”s”){ 
 escreva(“[ERRO] Resposta inválida, tente novamente!\n”)
 escreva(“Quer continuar? [S/N] “)
 leia(resp)
 }}senao{ 
 escreva(“[ERRO] O número deve estar entre 1 e 10!\n”)
 }}senao{ 
 escreva(“[ERRO] O valor deve ser um número inteiro!\n”)
 }} escreva(“\n”) 
 escreva(“================= RESULTADO ======================”)
 escreva(“\nAo todo você digitou ” + val_digitado + ” valores.”)
 escreva(“\nA soma de todos eles foi ” + soma)
 escreva(“\n”)} 
 }
 
- 
- 
8 de maio de 2023 às 17:52 #115539Tutora Jessica ModeradorOla Miguel, parabéns pela nova resolução, testei aqui e esta funcionando certinho conforme foi pedido no exercício. 
 Bons estudos 🖖
- 
1 de setembro de 2023 às 11:16 #122452Marcio Junior ParticipanteBom dia! 
 gostaria de entender porque o meu código não está funcionando. Ele está apresentando o seguinte erro:——————————————————————————————————– 
 Traduzindo erro sintático: org.antlr.runtime.NoViableAltException
 line 9:18 – no viable alternative at input ”’
 Contexto atual: expressao7line 10:0 mismatched character ‘\t’ expecting ”’ 
 ERRO: A expressão ”’ não era esperada neste local, remova a expressão para corrigir o problema. Linha: 9, Coluna: 18Programa finalizado. 
 ———————————————————————————————————-Segue o código que criei: programa { 
 inclua biblioteca Texto –> txt
 inclua biblioteca Tipos –> tip
 funcao inicio() {
 escreva(“{ EXERCÍCIO 053 – Números Validados }\n\n”)inteiro valor, c = 1, soma = 0 
 cadeia teclado = “”
 caracter resp = ”enquanto (verdadeiro) { 
 escreva(
 “————————————-\n”,
 ” VALOR “, c, “\n”,
 “————————————-\n”
 )enquanto (verdadeiro) { 
 escreva(“Digite um número (entre 1 e 10): “)
 leia(teclado)se (tip.cadeia_e_inteiro(teclado, 10)){ valor = tip.cadeia_para_inteiro(teclado, 10) se (valor >= 1 e valor <= 10) { 
 pare
 } senao {
 escreva(“<<ERRO>> O número deve estar entre 1 e 10!\n”)
 }
 } senao {
 escreva(“O valor digitado deve ser um número inteiro!\n”)
 }
 }soma += valor enquanto (verdadeiro) { 
 escreva(“Quer continuar? [S/N] “)
 leia(teclado)se (txt.cadeia_e_caracter(teclado)) { resp = teclado se (resp == ‘N’ ou resp == ‘n’ ou resp == ‘S’ ou resp == ‘s’) { 
 pare
 } senao {
 escreva(“<<ERRO>> Resposta inválida, responda S ou N\n”)
 }} 
 }se (resp == ‘N’ ou resp == ‘n’) { 
 pare
 } senao se (resp == ‘S’ ou resp == ‘s’) {
 c++
 }} escreva( 
 “============ RESULTADO ============\n”,
 “Ao todo, você digitou “, c, ” valores.”,
 “A soma de todos eles foi “, soma, “\n”
 )
 }
 }
- 
1 de setembro de 2023 às 13:01 #122456Tutora Jessica ModeradorOlá Marcio, na sua linha 9 esta faltando uma aspas. 
 Após vão aparecer alguns outros erros, dê uma olhada nas explicações acima e veja se consegue resolver seu código, caso não consiga só retornar ao fórum que iremos lhe ajudar.
- 
1 de setembro de 2023 às 15:20 #122464Marcio Junior ParticipanteBoa tarde, Jéssica! De todas as formas que tento, está dando o mesmo erro. Até fazendo igualzinho a resolução do Guanabara. Não sei se é porque estou utilizando o Portugol Web no Chrome. segue o erro e um novo código que fiz: ——————————————————————————- 
 ERRO: Erro na compilação!. Linha: 0, Coluna: 0
 ERRO: /tmp/portugol/programas/Programa1693592057725.java:104: error: variable flag_1693592057737 is already defined in method executar(String[]). Linha: 0, Coluna: 0
 ERRO: boolean flag_1693592057737 =false;while(flag_1693592057737). Linha: 0, Coluna: 0
 ERRO: ^. Linha: 0, Coluna: 0
 ERRO: 1 error. Linha: 0, Coluna: 0Programa finalizado. 
 ———————————————————————————-programa { inclua biblioteca Tipos --> t funcao inicio() { cadeia teclado inteiro num, soma = 0, cont = 0 caracter resp faca { enquanto(falso) { escreva("Digite o " + (cont + 1) + "º número: ") leia(teclado) se (t.cadeia_e_inteiro(teclado, 10)) { num = t.cadeia_para_inteiro(teclado, 10) se (num >= 1 e num <= 10) { pare } senao { escreva("<<ERRO>> O número deve estar entre 1 e 10.\n") } } senao { escreva("<<ERRO>> O valor deve ser um número inteiro.\n") } } cont++ soma += num enquanto (falso) { escreva("Quer continuar? [S/N] ") leia(teclado) se (t.cadeia_e_caracter(teclado)) { resp = t.cadeia_para_caracter(teclado) se (resp == 'S' ou resp == 's' ou resp == 'N' ou resp == 'n') { pare } senao { escreva("<<ERRO>> Por favor, responda S ou N.\n") } } senao { escreva("<<ERRO>> O valor deve ser uma letra.\n") } } } enquanto (resp == 'S' ou resp == 's') escreva("------------------------------------") escreva("\nVocê digitou " + cont + " valores.") escreva("\nA soma entre eles é " + soma) escreva("\n-----------------------------------\n\n") } }- 
1 de setembro de 2023 às 15:28 #122465Marcio Junior Participanteno código acima eu coloquei o valor “falso” dentro do “enquanto” para testar. Mas antes eu fiz com “verdadeiro” e apresentou o mesmo erro. 
 
- 
- 
1 de setembro de 2023 às 16:07 #122467Tutora Jessica ModeradorOlá Marcio, 
 você precisa inicializar a variável num = 0,
 e a variável resp com aspas simples (com espaço no meio), dessa forma: resp = ‘ ‘ , após você pode colocar o seu enquanto com verdadeiro.
 Observe sempre os erros que o programa mostra , ali mesmo tem dicas de onde encontrar o erro, ou se ficar muito confuso pode pesquisar o erro ou trazer aqui no fórum ou no discord que vamos lhe ajudar.- 
		Esta resposta foi modificada 2 anos, 2 meses atrás por Tutora Jessica. 
- 
		Esta resposta foi modificada 2 anos, 2 meses atrás por Tutora Jessica. 
 - 
1 de setembro de 2023 às 16:13 #122470Marcio Junior ParticipanteOi Jessica, obrigado!!! Realizei as alterações, mas mesmo assim continuava dando erro de compilação. Acabei descobrindo que era a versão do Portugol Studio que eu estava utilizando (versão web – antiga). Fui para a versão nova e funcionou. Mais uma vez, obrigado pela atenção!! 
 
- 
		Esta resposta foi modificada 2 anos, 2 meses atrás por 
- 
11 de setembro de 2023 às 18:16 #123067Milena Rosa Carnielli ParticipanteOlá Jessica Meu código esta dando erro de compilação na linha 0, não consigo entender o pq, pois já vi a explicação e parece estar ok. Segue abaixo: programa 
 {
 inclua biblioteca Tipos –> tifuncao inicio() 
 {
 escreva(“{ Exercício 53 – Numeros Validados }\n\n”)inteiro c=1, n, soma = 0 
 cadeia dadosI, dadosR
 caracter respfaca{ 
 enquanto (verdadeiro){
 escreva (“Digite o “, c, “° número de 1 a 10: “)
 leia (dadosI)se (ti.cadeia_e_inteiro(dadosI,10)){ 
 n = ti.cadeia_para_inteiro(dadosI,10)se (n >=1 e n <=10){ } senao{ 
 escreva (“<<ERRO>> O número precisa estar entre 1 a 10!\n\n”)
 }}senao{ 
 escreva (“<<ERRO>> O valor precisa ser um numero inteiro!\n\n”)
 }
 }
 c++
 soma += n
 enquanto(verdadeiro) {
 escreva (“Quer continuar? [S/N] “)
 leia (dadosR)se (ti.cadeia_e_caracter(dadosR)){ 
 resp = ti.cadeia_para_caracter(dadosR)se (resp ==’S’ ou resp ==’s’ ou resp ==’N’ ou resp ==’n’){ 
 pare
 }senao{
 escreva (“<<ERRO>> o valor digitado precisa ser S para sim e N para não\n\n”)
 }
 }
 }}enquanto(resp == ‘S’ ou resp ==’s’) 
 escreva (“Voce digitou “, c, ” valores\n”)
 escreva (“E a soma entre eles é “, soma)
 }
 }Obrigada pela ajuda 🙂 
- 
11 de setembro de 2023 às 19:33 #123077Tutora Jessica ModeradorOla Milena, trouxe sua dúvida para uma já existente no fórum do mesmo exercício. 
 Dê uma olhadinha nas explicações acima e veja se consegue resolver seu erro, caso não consiga ou tenha alguma dúvida, só retornar ao fórum que iremos lhe ajudar.
 Bons estudos 🖖- 
12 de setembro de 2023 às 09:28 #123124Milena Rosa Carnielli ParticipanteObrigada Jessica, achei que o erro da linha 0 vinha antes de inicializar, e pq tinha usado o faça enquanto primeiro não precisaria inicializar, mas esqueci que utilizei enquanto dentro. Consegui entender, muito obrigada! 
 
- 
 
- 
- 
		AutorPosts
- Você deve fazer login para responder a este tópico.
