Jump to content
Temóteo Francisco

Lógica de programação em pascal

Recommended Posts

/*Alguém me ajuda na seguinte questão por favor!!:persevere: Eu sou iniciante e não to entendendo já faz 4hs que tô tentando isso até tentei fazer com o comando case e não deu certo,me ajudem caras !! eu so tenho meu android pra codar nem pc eu tenho kkkk fiz isso no app:pascal-N IDE(se e que pode falar marca aqui)

faça um algoritmo que receba o número de horas trabalhadas por um funcionário, o serviço que ele fez,e calcule o valor a ser pago a esse funcionário, onde o valor pago e o número de horas * valor do serviço. Os valores das horas dos serviços seguem na primeira tabela, porém, dependendo do número de horas trabalhadas, esse funcionário terá uma porcentagem de aumento de acordo com a segunda tabela:

(tabela na imagem) sou iniciante e fiz assim:*/

 

 

program aumento_horra;
var s,resultado:real; nh: Integer;
begin
  WriteLn('digite o numero de horas trabalhadas');
  ReadLn(nh);
  WriteLn('qual o serviço feito? A,B ou C ?');
  ReadLn(s);
  if s = 'A' then
  begin
  resultado:=10*nh;
  if nh := 0..10 then
  nh=true
    begin
    WriteLn('total a pagar R$:',nh,'Sem aumento');
    end;
    end
      else if nh:=11..15  then
      begin
      resultado:=10*nh+(25/100);
      end
        else if nh:=16..25 then
        begin
        reaultado:=10*nh+(35/100);
        end
          else if nh < 26 then
          begin
          resultado:=10*nh+(45/100);
          end;
          end;
 
  f s = 'B' then
  begin
  resultado:=20*nh;
    else if nh := 0..10 then
    nh=true
    begin
    WriteLn('total a pagar R$:',nh,'Sem aumento');
    end;
   
      else if nh:=11..15  then
      begin
      resultado:=20*nh+(25/100);
      end
        else if nh:=16..25 then
        begin
        reaultado:=20*nh+(35/100);
        end
          else if nh < 26 then
          begin
          resultado:=20*nh+(45/100);
          end;
          end;
  f s = 'C' then
  begin
  resultado:=10*nh;
    else if nh:=0..10 then
    nh=true
    begin
    WriteLn('total a pagar R$:',nh,'Sem aumento');
    end;
   
      else if nh:=11..15  then
      begin
      resultado:=30*nh+(25/100);
      end
        else if nh:=16..25 then
        begin
        reaultado:=30*nh+(35/100);
        end
          else if nh < 26 then
          begin
          resultado:=30*nh+(45/100);
          end;
          end;
          writeln('o valor a ser pago e: ',resultado);
          writeln('Obrigado por trabalhar conosco');
          readln;
end.
       

 

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

  • Similar Content

    • By kelson_mc
      Olá...
       
      sou novo em Delphi e gostaria de saber como fazer buscas de informações via snmp para a plataforma mobile ?
    • By luca0202
      SQL state: 42000 SQL error code 8179
      Não foi possivel encontrar a instrução preparada como o identificador - 1
      estou utilizando o os componentes dbExpress ai quando eu testo no meu computador que e windows 10 roda de boinha ai quando vou testar no pc de outra pessoa que e windows 7 da esse erro quando vou abrir um um dbgrid
      o que pode ser esse erro ? alguem me ajude ?
      obs: estou utilizando o banco sql server
    • By amauri.alves
      Bom dia,
      Estou em uma estação windows tentando me conectar a uma base SQL Server 2012 que está em um servidor Linux e estou tendo o seguinte problema.
      O Sistema tem duas instalações rodando em dois ambientes de servidores.
      Uma equipe utiliza o sistema com a base em um servidor Windows. Isto está funcionando sem problemas.
      Uma outra equipe vai precisar utilizar uma outra instalação do mesmo sistema porem esta terá que utilizar a mesma base instalada em um servidor Linux.
      O Sql Server manager está correto, conectou sem problemas e me responde todas as tabelas sem erros, lista todas as querys e executa todas as procedures views e triguers.
      A Conexão OBDC tambem respondeu sem erros e deu teste de conexção concluido com exito.

      No delphi eu utilizo Ado conection para me conectar à base, e ele responde também sem erros e testa a conexão retornando 
      teste de conexção concluido com exito.
      Até ai está tudo certo.
      O Problema é o seguinte.
      Quando eu ligo uma adotable ou uma ado query ele tambem conecta sem me retornar nenhum erro porem as tabelas não me trazem valor algum, elas respondem como se a base estivesse Vazia.
      Alguem sabe o que eu posso estar fazendo de errado?
      Obs. A Instalação está em dois Ambientes por que a demanda é desativar o servidor Windows e deixar somente a instalaçao Linux.

      **************************************************************
      Ambiente: Estação Windows 10
                Delphi 10.3 
                Sql Server 2012 Instalada em um Servidor Linux
                Conexão ODBC
      **************************************************************
    • By luca0202
      ola fiz a instalação de um programa que eu fiz e deu o seguinte erro : SQL state: 42000 SQL error code 8179
      Não foi possivel encontrar a instrução preparada como o identificador - 1.
      O que pode ser ? estou usando componentes dbexpress
    • By amauri.alves
      Boa Noite.

      Estou desenvolvendo um relatório utilizando o fastreport e estou com o seguinte problema.

      É um relatório de pedidos e por tanto precisa imprimir um pedido, voltar para a tela de parâmetros imprimir o próximo e assim sucessivamente.

      Porem o primeiro relatório vai certinho mas ele não limpa os dados e os próximos relatórios saem todos iguais ao primeiro.

      Ja tentei iniciar ele de varias formas diferente e nenhuma deu certo atualmente estou iniciando ele assim.

      *******************************************
      fr:=frxRComanda.Create(self);
      fr.LoadFromFile('Commanda.fr3');
      fr.PrepareReport(); // Prmeiro relatório setar True para limpar todos os anteriores
      fr.ShowReport;
      fr.clear;
      fr.free;
      ********************************************
      Ambiente: - Delphi 10.3
                            FastReport 6
                            SqlServer 2012
                           Windows 10

      Alguem ja pegou uma situação desta?
×

Important Information

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