Nuno Sousa

Respostas no Fórum

Visualizando 6 posts - 1 até 6 (de 6 do total)
  • Autor
    Posts
  • em resposta a: M02A06-Ex26 (Inicialização de variáveis) #68844
    Nuno Sousa
    Participante

    Boa tarde.
    Peço desculpa pelo trabalho de editar os meus posts mas ainda não sabia como fazer a formatação do código como está no Portugol Studio.
    Segui todos os conselhos que me deu e funcionou tudo na perfeição, só a passagem da variável “r” para real gerou um problema nos resultados das outras operações mas penso que ficou bem resolvido com a conversão desses valores para real. Deixo aqui o resultado final para o caso de poder ajudar alguém:

    programa
    {	/*Exercício 26: Super Tabuada V1.0
    	Autor: Nuno Sousa*/
    	
    	inclua biblioteca Tipos --> t
    	funcao inicio()
    	{
    		//Declaração de Variáveis
    		caracter op
    		cadeia tipo = ""
    		inteiro n1 = 0, n2 = 0
    		real r = 0.0
    		//Entrada de dados
    		escreva("\n=========================")
    		escreva("\n + 	Adição")			    
    		escreva("\n -	Subtração")			
    		escreva("\n *	Multiplicação")
    		escreva("\n /	Divisão")
    		escreva("\n=========================")
    		escreva("\nDigite uma opção => ")
    		leia(op)
    		//Saída de dados
    		escreva("\nDigite o primeiro número: ")
    		leia(n1)
    		escreva("Digite o segundo número: ")
    		leia(n2)
    		escolha(op){
    			caso '+': 
    			escreva("Você escolheu a operação [+]")
    			r = t.inteiro_para_real(n1 + n2)
    			tipo = "SOMA"
    				pare
    			caso '-':
    			escreva("Você escolheu a operação [-]")
    			r = t.inteiro_para_real(n1 - n2)
    			tipo = "SUBTRAÇÃO"
    				pare
    			caso '*':
    			escreva("Você escolheu a operação [*]")
    			r = t.inteiro_para_real(n1 * n2)
    			tipo = "MULTIPLICAÇÃO"
    				pare
    			caso '/':
    			escreva("Você escolheu a operação [/]")
    			r = t.inteiro_para_real(n1 / n2)
    			tipo = "DIVISÃO"
    				pare
    			caso contrario:
    			escreva("Você digitou uma operação inválida!")
    				pare
    		}
    		escreva("\n...........................")
    		escreva("\nA calcular o valor de " + n1 + op + n2)
    		escreva("\nResultado da " + tipo + " = " + r)
    		escreva("\n\n")
    	}
    }

    Obrigado pela paciência e dedicação.

    em resposta a: Eu não sei usar o portugol estudio. #68754
    Nuno Sousa
    Participante

    O módulo 00 não é propriamente para te ensinar já a construir um programa nem para digitar comando, esse módulo é apenas uma introdução ao estudo da programação, a sua história, o propósito da programação e apresentado o programa Portugol Srtudio, só no módulo 01 começa a criação de pequenos comandos e eles vão aumentando a complexidade a cada aula, por isso não desesperes. Vai por mim, não tenhas pressa em aprender, aprende com calma mas bem, acredita que se seguires todos os vídeos de todos os módulos vais conseguir.

    em resposta a: Eu não sei usar o portugol estudio. #68733
    Nuno Sousa
    Participante

    Bom dia Orlando.
    Melhor conselho que acho que posso dar é assistires aos vídeos todos do curso Programação Básica desde o módulo 00 até ao 05, lá aprendes todos os passos para trabalhar com essa ferramenta.

    em resposta a: M02A06-Ex26 (Inicialização de variáveis) #68703
    Nuno Sousa
    Participante

    Boa tarde!
    Obrigado pelos conselhos, percebi melhor a questão das variáveis, também percebi que a repetição do código para digitar o valor era desnecessária e assim diminui bastante o tamanho do código colocando fora do escolha como me tinha dito. Em relação à realização dos cálculos, corrigi isso logo após ter feito o primeiro post, percebi que essa era a melhor opção. Neste momento o código encontra-se assim:

    
    programa
    {       /*Exercício 26: Super Tabuada V1.0
    	Autor: Nuno Sousa*/
    	inclua biblioteca Tipos --> t
    	funcao inicio()
    	{
    		//Declaração de Variáveis
    		caracter op
    		inteiro n1, n2, r
    		//Entrada de dados
    		escreva("\n===========================")
    		escreva("\n+ 	Adição")			    
    		escreva("\n-	Subtração")			
    		escreva("\n*	Multiplicação")
    		escreva("\n/	Divisão")
    		escreva("\n===========================")
    		escreva("\nDigite uma opção => ")
    		leia(op)
    		r = 0
    		n1 = 0
    		n2 = 0
    		//Saída de dados
    		escreva("\nDigite o primeiro número: ")
    		leia(n1)
    		escreva("Digite o segundo número: ")
    		leia(n2)
    		escolha(op){
    			caso '+': caso '1': 
    			escreva("Você escolheu a operação [+]")
    			r = (n1 + n2)
    				pare
    			caso '-': caso '2':
    			escreva("Você escolheu a operação [-]")
    			escreva("\n\nDigite o primeiro número: ")
    			r = (n1 - n2)
    				pare
    			caso '*': caso '4':
    			escreva("Você escolheu a operação [*]")
    			r = (n1 * n2)
    				pare
    			caso '/': caso '5':
    			escreva("Você escolheu a operação [/]")
    			r = t.inteiro_para_real(n1) / n2
    				pare
    			caso contrario:
    			escreva("Você digitou uma operação inválida!")
    				pare
    		}
    		escreva("\n...........................")
    		escreva("\nA calcular o valor de " + n1 + op + n2)
    		escreva("\nResultado da " +  + " = " + r)
    		escreva("\n\n")
    	}
    }
    

    Agora o meu problema é a conversão de um dos valores na divisão para dar um número real, conforme tenho o código agora dá-me um aviso de que a expressão (r = t.inteiro_para_real(n1) / n2) será truncada. Para finalizar em relação à minha ideia com as varáveis (s = “SOMA”, sub =”SUBTRAÇÃO”
    m = “MULTIPLICAÇÃO”, d = “DIVISÃO”) que não estavam a ser utilizadas era com o objetivo de integrar no caso e no final puxar esse nome para ser exibido o nome da operação realizada. Como por exemplo: escreva(“\nResultado da ” + SOMA + ” = ” + r).
    Neste momento são os dois únicos problemas que tenho para finalizar o programa.
    Obrigado pela ajuda!

    em resposta a: M02A06-Ex26 (Inicialização de variáveis) #68547
    Nuno Sousa
    Participante

    Boa noite.
    Obrigado pela ajuda já está resolvido!
    Acho que agora já percebi, quer dizer que sempre que tenha variáveis que vão trabalhar dentro de um qualquer bloco elas têm que inicializadas ao declarar?

    em resposta a: questões 6 e 8 do modulo 1 programação #68478
    Nuno Sousa
    Participante

    Boa noite.

    A função de arredondamento tem de ser colocada antes do valor que vai ser arredondado, o valor tem de ser colocada entre parênteses seguido de uma vírgula e o número de casas decimais que se pretende. No exemplo de baixo o valor vai ser arredondado para ter apenas 2 casa decimais.

    Exemplo:
    escreva(“O valor é ” + Metamatica.arredondar(valor, 2))

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