Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

carlozz

Dificuldade com variável

Recommended Posts

Estou no começo de um curso de Ti e meu professor passou um exercício em visualg estou com dificuldades apenas para fazer o item b ) da lista de coisas que o programa deve fazer.

 

O Exercicio foi o seguinte:

 

wt9lat.jpg

 

Meu programa está funcionando rendondinho só não consegui pensar em nada para o item b ) por isso decidi pedir ajuda a vocês que tem muito mais experiência no assunto.

algoritmo "Exercicio 1"

var
   S, med_anterior, media, maiorS, Perc : real

   cont : inteiro
inicio
      maiorS:=0
      med_anterior:=0
      media:=0
      repita
      escreva ("Digite o valor do salário:")
      leia (S)
      se s<>0 entao
      cont:=cont+1
      med_anterior:=med_anterior+S
      fimse
      se (S<=1.000) entao
      S:=S+(S*2/10)
      fimse
      se (S>1.000) e (S<=2.000) entao
      S:=S+(S/10)
      fimse
      se (S>2.000) entao
      S:=S+(S/20)
      fimse
      se S>maiorS entao
      maiorS:=S
      fimse
      media:=media+S
      ate S=0
      perc:=media/med_anterior-1.0
      escreval ("A folha sálarial da empresa antes do reajuste era igual a R$ ", med_anterior)
      escreval ("A folha sálarial da empresa após os reajustes é igual a R$ ", media)
      escreval ("O percentual de aumento sobre a folha salarial foi de :", perc*100:2:2,"%")
      escreval ("O maior salário é R$ ", maiorS)
      escreval ("A média sálarial antes dos reajuste era igual a R$ ", med_anterior/cont)
      escreval ("A média sálarial após o reajusta é igual a R$ ", media/cont)
fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não entendi muito bem o que os blocos de 18 à 26 estão fazendo, mas acredito que estejam calculando o novo salário. Primeiro, se o objetivo daquelas formulas sejam calcular a porcentagem, está sendo feito errado:

Você digitou:

se (S>1.000) e (S<=2.000) entao
      S:=S+(S/10)
      fimse

Mas na verdade é diferente. Veja abaixo a formula na matemática e no algoritmo para fazer os cálculos:

 

Matemática: percentual = 5 / 100 (Que resulta em: 0,05)
Algorítimo: percentual <- (porcentagem / 100)

Agora, uma formula básica de formula para calcular o salário atual:

Matemática: percentual do salário = salário atual * porcentagem calculada
Algorítimo: percentualsalario <- (salarioatual * percentual)

E, para calcular o novo salário já aplicado o aumento:

Matemática: salário novo = salário atual + percentagem do salário calculada
Algorítimo: salarionovo <- (salarioatual + salariopercentual)

Ou seja, se o funcionário tem um salário de 1.000,00 reais, e receberá um aumento de 20%, logo 20% de 1.000,00 reais é 200,00 reais, então será aumentado 200,00 reais, e o novo salário será de 1.200,00 reais.

 

Então, você terá que tirar os blocos de código que estão "calculando o salário" e aplicar essas formulas. Veja abaixo a resolução correta do bloco de 18 à 20.

Antes:

se (S<=1.000) entao
      S:=S+(S*2/10)
      fimse

Depois:

Se s <= 1.000 entao
        sn <- s*20/100
        sn <- ns+s

Observações: A variável "sn" deve ser criada (ou com outra denominação) para que possa armazenar a quantidade que deverá ser somada ao salário. Eu continuei mantendo a variável "s" como a que carrega o salário "velho". O 20 que está sendo dividido por 100, corresponde a quantidade em porcentagem que será adicionado, como consta na formula.

 

É isso aí, agora basta você aplicar em tudo como eu já havia dito anteriormente e alterar as informações dependendo do valor do salário. Espero ter ajudado, preparei uma reposta bem elaborada para que você consiga entender. Abraços e bons estudos.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala pessoal.
      Tudo bem?
       
      Tenho o seguinte código que funcionda perfeitamente:
       
      date_default_timezone_set("America/Sao_Paulo");
      $d_inicio= date('Y-m-d');
      $d_final= date('Y-m-d', strtotime('+30  day'));
       
      Mas eu quero definir a quantidade de dias pegando o valor que a variável:
       
      date_default_timezone_set("America/Sao_Paulo");
      $tempo = 30;
      $d_inicio= date('Y-m-d');
      $d_final= date('Y-m-d', strtotime('+$tempo  day'));
       
      Mas quando declaro com variável não funciona.
      Obrigado pela ajuda.
    • Por alexdyna
      Prezados,
      Amigos tenho que fazer um trabalho da faculdade onde o professor me da um arquivo que vou colocar anexo e tenho que fazer um algoritmo que leia o arquivo e monte uma tabela com as informações.
      pelo que vejo ele tem na primeira linha 8 barra e nas demais linha 10 barras
      ate a ultima que seria sua parada onde temos 2 barras seguidas.
       
      ficaria muito grato com a ajuda de todos.
       
      No arquivo anexo esta o texto:
      Nome/telefone/nascimento/Horas Curso/vendas T1/vendas T2/vendas T3/vendas T4/
       Luiz Ranza Neo/99934-5255/05/12/1989/200/107099,072578621/76915,8996218681/100922,271239691/76372,9971916498/
      Richard de Barrissaia/99326-4689/18/03/1990/150/55123,0080621828/68062,2200055909/67233,9928593779/45236,5928531083/
      Rodrigo Abalâminos/99911-7413/09/08/1987/168/71697,3866071191/58063,5644108225/88183,6230762134/48160,3116315664/
      José Gigfrid/99658-7874/15/04/1997/135/48816,199086596/50086,3689415844/52916,3066872779/55232,0663463164/
      Luiza Celly Silva/99659-1214/01/02/2000/90/29208,8223591438/39361,8088384592/45062,056112236/38913,7237126574/
      Maria Kunlun/99686-7845/21/04/1984/182/92076,1053757689/80440,5339844205/87575,0546657182/79220,9398178354/
      //
       
    • Por thiago_tw
      eu to com uma tarefa que preciso de ajuda, já tentei alguns algoritmos que achei por aqui mas nunca dá certo, mandei a imagem do que é para ser feito, agradecido se me ajudarem

    • Por lezão
      Boa tarde, galera!
      Tudo bem com vcs?
       
      Estou precisando de uma limitador de palavras.
      Tenho um texto de 600 palavras e gostaria de que na pagina principal aparece se, apenas 30 palavras do texto.
      Achei esse codigo na innternet, mas ele não limita palavras, mas sim ele corta as palavras ficando assim:  "Tenho um texto de 600 palav..."
      ?php echo substr("$texto;", 0, 200); ? com uma variavel que limita as palavras ficaria assim: "Tenho um texto de 600 palavras". exibiria essas 6 palavras.
    • Por Luiz Henrique
      Olá pessoas,
       
      Tenho uma classe e dentro dela várias chamadas para métodos de acordo com a necessidade em outra classe (para obter dados DB), como são muitas e vou duplicar os arquivos, para ganhar tempo queria colocar o nome da classe em uma variável porém não funciona.
       
      use Class1; class Class2 { public $className = 'Class1'; ... $dados = $this->className::function(); // não funciona } Era para gerar isso:
      $dados = Class1::function();
      Se eu der um echo $this->$className, ele me retorno o nome da Class1 porém para executar um método dentro da Class1 não vai, diz que a classe Class1 não existe!
      Tem alguma forma de funcionar isso?
       
      Obrigado.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.