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 FILIPEINFORMATICA10
      uses Crt; var X, Y : Integer; begin Writeln ('Entre com dois Números:'); { Mostra na tela a mensagem} Readln (X, Y); { Lê os dois números } If (X = Y) Then {Condição - SE X for igual a Y} Begin {INICIO - Repare abaixo que existe duas instruções, dois comandos Writeln, por isso estão entre BEGIN e END} Writeln ('X é igual que Y'); Writeln ('O Valor de X é =', X); End; {FIM} end.
    • By mayconyury
      Galera, boa noite.
       
      Estou com dificuldades para realizar um insert em uma tabela no oracle. 
       
      Criei duas lists, uma buscando o código das filiais existentes em uma tabela e outro para receber as filiais de acordo com a escolha do usuário. Estou realizando um cadastro de produtos por filial, então ao terminar o cadastro o dialog pergunta se quer atualizar os dados em outra filial. Se marcada a opção SIM, abre a tela para escolher para qual filial o usuário quer copiar ( update ). Mas pode existir situações onde o produto não existe, então queria que realiza-se um insert para essas filiais ao invés do update.
       
      Alguém pode ajudar?
       
    • By JorgeeHenrique
      Bom dia, sou iniciante em Delphi, estou fazendo um Cadastro de Clientes, gostaria de usar três Edit´s para filtrar alguns  dados porem com o código abaixo consegui fazer apenas com 1 edit.text, como faço pra usar três e que se algum estiver em branco ele retorna o valor apenas do Edit.text que foi preenchido?
       
      Exemplo: 
       
      Quero buscar por Nome, Situação e Rota (Cliente a da rota B com situação C) e se algum desses campos estiver vazio ele busca apenas o que foi preenchido. Obrigado pela atenção!
       
      .
      procedure TFrm_Cadastro.Bt_BuscarClick(Sender: TObject); begin with Frm_Cadastro.Tbl_Clientes do begin Close; SQL.Clear; SQL.Add( 'Select * from Tbl_Cad_Clientes'); SQL.Add('where Cli_Nome like :nome'); ParamByName('nome').Value := '%' + txt_buscar_nome.Text + '%'; Open; end; end;  
    • By lhdario
      Boa tarde Senhores, estou com um projeto de inclusão da QR-Code no sistema para um cliente que fica no Rio Grande do Sul através de WEB Service. Estou colocando os web-service disponível no site da SEFAZ-RS, mas está dando erro 403. Preciso que vocês me enviem um WEB-Service e se precisa de algum certificado digital válido. 
       
      Estou tentando com esse:
       
      https://nfce.sefazrs.rs.gov.br/ws/NfeConsulta/NfeConsulta4.asmx

      Encontrei ele por esse site:
       
      http://nfce.encat.org/desenvolvedor/webservices-p/
       
      Desde já agradeço.
      Luis Dario
    • By flavionorvel
      #include <stdio.h>
      #include <stdlib.h>
      // Limites de tamanhos
      #define MINIMO 2
      #define MAXIMO 50
      // Variáveis globais
      int opcao = 0;
      int linhas = MAXIMO;
      int colunas = MAXIMO;
      int matrizA[MAXIMO][MAXIMO];
      int matrizB[MAXIMO][MAXIMO];
      void limpar_tela();
      // Retorna resposta do usuario se quer rodar novamente
      int rodar_novamente()
      {
      int opcao = 0;
      printf("\n\nDeseja rodar novamente? Digite 1 para SIM e 0 para Não: ");
      scanf("%d",&opcao);
      if (opcao == 1 || opcao == 0) {
      return opcao;
      }
      printf("\nOpcao invalida. Escolha novamente.");
      return rodar_novamente();
      }
      // Recebe valor inteiro do usuario
      int receber_numero()
      {
      int numero = 0;
      scanf("%d",&numero);
      if (numero >0) {
      return numero;
      }
      printf("\nNúmero inválido. digite um número positivo.: ");
      return receber_numero();
      }
      // Valida tamanhos de linhas e colunas
      int validar_tamanhos(int linhas, int colunas)
      {
      if ((linhas >= MINIMO && linhas <= MAXIMO) && (colunas >= MINIMO && colunas <= MAXIMO) && (linhas !
      = colunas)) {
      return 1;
      }
      printf("\nLinhas e Colunas devem ser diferentes e ter valores entre %d e %d. Tente
      novamente.",MINIMO,MAXIMO);
      return 0;
      }
      // Preencher matriz
      void preencher_matriz(int matriz[MAXIMO][MAXIMO], int linhas, int colunas)
      {
      int i,j;
      for (i = 0 ; i < linhas ; i ++) {
      for (j = 0 ; j < colunas ; j ++) {
      printf("\nDigite um valor inteiro para a posicao %d-%d da matriz A: ",i,j);
      matriz[j] = receber_numero();
      }
      }
      }
      // Imprimir matrizes
      void imprimir_matrizes(int matrizA[MAXIMO][MAXIMO], int matrizB[MAXIMO][MAXIMO], int linhas, int
      colunas)
      {
      int i,j;
      limpar_tela();
      printf("\n\nMATRIZ A\n");
      for (i = 0 ; i < linhas ; i++) {
      for (j = 0 ; j < colunas ; j ++) {
      printf("\nMATRIZ A POSICAO %d-%d: %d",i,j,matrizA[j]);
      }
      }
      printf("\n\nMATRIZ B (TRANSPOSTA DE A)\n");
      for (i = 0 ; i < colunas ; i++) {
      for (j = 0 ; j < linhas ; j ++) {
      printf("\nMATRIZ B POSICAO %d-%d: %d",i,j,matrizB[j]);
      }
      }
      }
      void limpar_tela()
      {
      system("@cls||clear");
      }
      // Laço principal
      int main()
      {
      int i,j;
      do {
      //Inicializar variáveis
      opcao = 0;
      linhas = 0;
      colunas = 0;
      i = 0;
      j = 0;
      do {
      printf("\nEntre com o tamanho para linhas: ");
      linhas = receber_numero();
      printf("\nEntre com o tamanho para colunas: ");
      colunas = receber_numero();
      } while (!validar_tamanhos(linhas,colunas));
      // entrar com valores para a matriz A
      preencher_matriz(matrizA, linhas, colunas);
      // criar matriz transposta de A
      for(i = 0 ; i < linhas ; i ++) {
      for(j = 0 ; j < colunas ;j ++) {
      matrizB[j] = matrizA[j];
      }
      }
      // Imprimir matrizes
      imprimir_matrizes(matrizA,matrizB,linhas, colunas);
      // Pergunta ao usuário se quer continuar
      opcao = rodar_novamente();
      } while (opcao == 1);
      }me 

       
×

Important Information

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