Marcio Junior

Respostas no Fórum

Visualizando 4 posts - 1 até 4 (de 4 do total)
  • Autor
    Posts
  • em resposta a: Ex. 53 #122470
    Marcio Junior
    Participante

    Oi 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!!

    em resposta a: Ex. 53 #122465
    Marcio Junior
    Participante

    no código acima eu coloquei o valor “falso” dentro do “enquanto” para testar. Mas antes eu fiz com “verdadeiro” e apresentou o mesmo erro.

    em resposta a: Ex. 53 #122464
    Marcio Junior
    Participante

    Boa 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: 0

    Programa 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")
    	}
    }
    em resposta a: Ex. 53 #122452
    Marcio Junior
    Participante

    Bom 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: expressao7

    line 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: 18

    Programa 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”
    )
    }
    }

Visualizando 4 posts - 1 até 4 (de 4 do total)