Jump to content
Sign in to follow this  
Gustavo Granato

Exercício Visualg

Recommended Posts

É o seguinte moçada, sou novo aqui, e sou novo em programação, por isso estou em lógica.

Chega de conversa fiada.

Estou com uma dúvida em um programa que o meu professor passou em classe, e não sei terminá-lo.

 

Gente me desculpem, eu entrei no fórum e não vi as regras, terminei de ler só agora, não consegui editar o texto acima, está dando erro, venho aqui pedir desculpas pelo mesmo ocorrido. @quitZAUMMM arrumo

Trago aqui, o post com a tag[.code] e sem caixa alta(letras maiúsculas). Desculpem e não acontecerá denovo. É o seguinte moçada, sou novo aqui, e sou novo em programação, por isso estou em lógica.

Chega de conversa fiada.

Estou com uma dúvida em um programa que o meu professor passou em classe, e não sei terminá-lo.

 

O programa tem que se adequar à essas especificações:

 

Faça um programa com três opções, 1,2 e 3;

Opção 1: Fatorar um Numero inteiro.

Opção 2: Calcular o Fibonacci de um número.

Opção 3: Sair.

Se digitar outros números, volta ao menu.

Se digitar letras ou caracteres especiais aparecer a seguinte mensagem: " Você não pode digitar letras" e voltar ao menu para a escolha de uma das opções.

 

Eu fiz o programa até aí,...

Quando compilado faz o fatorial, faz o cálculo fibonacci e quando digitado 3 ele sai do programa.

A única coisa que eu não sei colocar, é na hora de digitar letras.

 

Alguém me ajuda.

PS: Não posso usar nenhum outro comando além do: se, enquanto, para, e repita.

 

Agradeço desde já, abaixo vai o código do programa do jeito que tá, até onde eu parei. [/i]

algoritmo "Calcular fatorial e fibonacci"
// Função :    Calcular fatorial e fibonacci"
// Autor :  Gustavo Granato Silva
// Data : 16/4/2010
// Seção de Declarações 
var
num, fat, contador :inteiro  //variáveis do fatorial
fibA, fibB, fibC :real //variaveis do fibonacci
cont, numero :inteiro
op : inteiro
inicio
// Seção de Comandos 
repita

   Escreval ("Digite 1 para fatorar")
   Escreval ("Digite 2 para calcular o fibonacci de um número")
   Escreval ("Digite 3 para fatorar")
      Leia (op)

      fat:=1
    Se (op = 1) entao
         Escreval ("Digite um número a ser fatorado: ")
            Leia (num)
         para contador de 1 ate num faca
            fat:=fat*contador
         fimpara
            Escreval(fat)
         Senao
            Se (op = 2) entao
         Escreval ("Digite o número para calcular o fibonacci")
         Leia (numero)
         fibA:=1
         fibB:=1
         fibC:=0
         para cont de 1 ate numero faca
         Escreval ("O número", numero, " em fibonatti é: ", fibA)
         Escreval
         fibA:=fibB+fibC;
         fibC:=fibB
         fibB:=fibA
         fimpara
            senao
               se (op = 3) entao
               Escreval ("                                                    ")
               Escreval ("                                                    ")
               Escreval ("                                                    ")
               Escreval ("                       Você está saindo do programa!")
               Escreval ("                                                    ")
               Escreval ("                                                    ")
               Escreval ("                                                    ")
               fimse
            fimse
         fimse
   ate (op=3)
fimrepita


fimalgoritmo
outra coisa, eu tentei colocar a variável "op" como caracter, mas quando coloco da erro no exercício, por exemplo, quando declarado caracter, se eu apertar 5 não repete indo pro menu, ele vai pro cálculo fibonacci, e teria que repetir o menu, até você apertar 1,2, ou 3. OBRIGADO Edited by quitZAUMMM
Retirada a palavra "AJUDA" do Titulo ou Descrição | Inclusão da tag [code]

Share this post


Link to post
Share on other sites

melhor, ao invez de trabalhar com numeros vamos trabalhar com caracteres então assim:

repita
    leia (op)
    se (op = '1') então
        .
        .
    senão se (op = '2') então
        .
        .
    senão se (op = '3') então
        .
        .
    senão
        .
        .
    fimse

[]s

Share this post


Link to post
Share on other sites

Pessoal estou muito precisando da ajuda de vcs que sabem usar o visualg!!! Eu comecei amexer nele agora e preciso criar um pragrama.

 

Desenvolver um algoritimo que calcule o salário bruto e o salario liquido de um funcionário.

 

Observações:

 

O valor do salario minimo = R$350,00

Valor da Hora-extra = R$10,00

 

Sabe-se:

 

Salario Hora-extra = horas-extras * valor da hora extra;

Salario bruto = 3 * salario minimo + salario hora extra;

desconto INSS = 12% do salario bruto, se salario bruto for maior que R$1.500,00;

desconto do imposto de renda = 20% do salario bruto, se o mesmo for maior que R$2.000,00

salario liquido = salario bruto * * deduções

 

Dados de entrada:

 

Nome do funcionario

Quantidade de horas-extras trabalhadas

 

 

Processamento: (procure identificar com comentário cada calculo)

Calculo valor - horas extras

SAL_EXTRA <- QTDE_EXTRA * 10.0

 

Calculo salario bruto

SAL_BRUTO <- 3 * 350.00 + SAL_EXTRA

 

Calcular INSS (lembre-se de criar uma condição para calcular o INSS de acordo com o valor estipulado

maiores ou igual a 1.500,00

INSS <- SAL_BRUTO * 0.12 e para os demais INSS <- 0

 

Calcular Imposto de Renda(IR) ((lembre-se de criar uma condição para verificar o SALARIO BRUTO (SAL_BRUTO)

é maior que 2.000,00

IR <- SAL_BRUTO * 0.20 e para os demais IR <- 0

 

Calcular o salario liquido

SAL_LIQUIDO <- SAL_BRUTO - (INSS + IR)

 

 

 

Saida:

 

Salario bruto

Salario liquido

Podera apresentar tambem os outros valores calculados (VALOR HORA EXTRA, VALOR INSS, VALOR DE IMPOSTO DE RENDA)

 

Pessoal eu agradeceria muita de algum de vcs pudessem me ajudar!!!

Valeu galera

Share this post


Link to post
Share on other sites

para andersonbassanalista não sei se ta certo mas funcionou beleza ta ai

algoritmo "semnome"
// Função :
// Autor :
// Data : 6/6/2010
// Seção de Declarações 
var
ir,inss,salario_bruto,salario_liquido,hora_extra,valor_hora_extra:real
nome:caracter
inicio
// pedir informação
escreval("Informe seu nome")
leia(nome)
escreval("Informe a quantidade de horas extras trabalhadas")
leia(hora_extra)
//calculos
valor_hora_extra <- hora_extra * 10 //calcila o valor da hora extra
salario_bruto <- (3 * 350) + valor_hora_extra //define o salario bruto
se(salario_bruto > 1.500) entao //ver se salario é maior que 1.500 para fazer desconto
   inss <- salario_bruto * 0.12 //desconto do inss
   ir <- salario_bruto * 0.20 //desconto do inposto de renda
   salario_liquido <- salario_bruto - (inss + ir) //definindo o salario liquido
fimse
//exibindo
escreval("Salário bruto é:R$", salario_bruto) //exibindo salario bruto
escreval("Salário liquido é:R$", salario_liquido) //exibindo salario liquido
escreval("Hora trabalhada:",hora_extra) //exibindo hora extra
escreval("INSS:R$", inss) //exibindo desconto do inss
escreval("IR:R$", ir) //exibindo desconto do IR
fimalgoritmo
Edited by quitZAUMMM
Inclusão da tag [code]

Share this post


Link to post
Share on other sites

andersonbassanalista, para dúvidas seguintes por favor abra um novo tópico!

 

[]s

Share this post


Link to post
Share on other sites

Ta ai gustavo granato ta meio certo e só volta quando coloca número diferente da uma estudada nele ai

e você quitzaummm da uma olhada ai tambem e ve oque você acha o pessoal que visita tambem deixa comentarios ai

é um exercicio dificiu até eu demorei quase três horas para conseguir isso ai dão ajuda ai para ele repetir quando colocar letras frases é para a ajuda do nosso amigo ai beleza valew

algoritmo "Calcular fatorial e fibonacci"
// Função :    Calcular fatorial e fibonacci"
// Autor :  Gustavo Granato Silva
// Data : 16/4/2010
// Seção de Declarações
var
num,fat,contador:inteiro  //variáveis do fatorial
fibA,fibB,fibC:real //variaveis do fibonacci
numero,op,comeco:inteiro //variaveis dos comandos
inicio
// Seção de Comandos
procedimento lercomeco
inicio
enquanto(op <> 3 faca
   Escreval ("Digite 1 para fatorar")
   Escreval ("Digite 2 para calcular o fibonacci de um número")
   Escreval ("Digite 3 para sair")
      Leia (op)
   se(op <> 1)e(op <> 2)e(op <> 3)entao //ve se for outro numero volta no inicio
      lercomeco
   fimse
   fimprocedimento
   lercomeco
   //calcular fatorial
      fat:=1
    Se (op = 1) entao
        Escreval ("Digite um número a ser fatorado: ")
        Leia (num)
        para contador de 1 ate num faca
           fat:=fat*contador
        fimpara
         Escreval(fat)
        Senao
         //calcular fibonacci
           Se (op = 2) entao
               Escreval ("Digite o número para calcular o fibonacci")
               Leia (numero)
               fibA:=1
               fibB:=1
               fibC:=0
               para cont de 1 ate numero faca
                  Escreval ("O número", numero, " em fibonatti é: ", fibA)
                  Escreval
                  fibA:=fibB+fibC;
                  fibC:=fibB
                  fibB:=fibA
               fimpara
               senao
                  //sair do programa
                  se (op = 3) entao
                      Escreval ("                                             ")
                      Escreval ("                                             ")
                      Escreval ("                                             ")
                      Escreval ("                Você está saindo do programa!")
                      Escreval ("                                             ")
                      Escreval ("                                             ")
                      Escreval ("                                             ")
                  fimse
           fimse
    fimse
fimenquanto
fimalgoritmo
Edited by quitZAUMMM
Inclusão da tag [code]

Share this post


Link to post
Share on other sites

Ooooooh coisa burra, fatorar um número é diferente de fatorial de um número pra quem não sabe,

Já tentei fatorar um numero no visualg mas nao consegui, porque pede pra converter de Real para inteiro, de Inteiro para real e ainda nao encontrei uma ferramenta como tem no Java e em outras linguagens de programação. Abraços

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.