Ir ao conteúdo
  • Cadastre-se

Ajuda em Pascal


Posts recomendados

Prezados, boa tarde!

 

Mais uma vez estou com dúvidas em 3 programas em Pascal.

 

1-    Uma determinada empresa armazena para cada funcionário uma ficha contendo o nome do funcionário, o número de horas trabalhadas e o seu número de dependentes. Considerando que:

 

A)   A empresa paga 45,00 reais por hora e 25 reais por dependente para compor o seu salário bruto

B)   Sobre o salário bruto são feitos descontos de 11% para o INSS e um percentual para IR.

C)   Para o cálculo do IR(Imposto de Renda) é importante levar em consideração as informações da tabela abaixo:

,Base de Cálculo

Aliquota(%)

Parcela a Deduzir R$

De 0,00 até 1

0,00

0,00

De 1.787,78 até 2.679,29

7,50

134,00

De 2.679,30 até 3.572,13

15,00

335,03

De 3.572,44 até 4.463,81

22,50

602,96

Acima de 4.463,81

27,50

826,15

 

Dedução_dependente <- R$171,97 * Número de dependentes

IR <-((salario bruto – INSS – Dedução_ dependete)) * Aliquota) – Parcela a Deduzir

Salário Líquido <- Salário Bruto – Desconto INSS – Desconto IR

 

Faça um programa em pascal para ler o nome do funcionário, número de horas trabalhadas e número de dependentes do funcionário. Após a leitura, escrever: o número do funcionário, os valores descontados para cada tipo de imposto e finalmente o salario liquido de cada um dos funcionários. Encerre a entrada de dados quando for digitada a leta ‘N’, após a pergunta: ‘Novo funcionário ( S/N)?

Program salario;Uses crt;Var nome:string;       Horastrabalhadas: real;       Numerodedependentes: real;       Salariobruto:real;        INSS:real;       IR: real;       Valorhora: real;       Deduzir:real;      Aliquota:real;      Key: char;     BeginN:=0;Writeln:('Informe o nome do funcionario:');Readln(nome);Writeln('Informe o numero de horas trabalhadas:’);Readln(horastrabalhadas);Writeln('Informe o numero de dependentes:')Readln(numerodedependentes);salariobruto := horastrabalhadas + numerodedependentes*valorhora;INSS := salario_bruto*0.11;Alíquota :=0;Deduzir :=0;If salariobruto-INSS >= 1 thenBeginAlíquota :=(salariobruto – INSS) *7.50;Deduzir := 134.00;End;If salariobruto – INSS >=12.679,30 thenBeginAlíquota := (salariobruto- INSS)*15.00;Deduzir :=335,03;End;If salariobruto – INSS >=3.572.44 thenBegin            Alíquota :=(salariobruto – INSS) *22.50;            Deduzir: 602.96;End;If salariobruto – INSS >=4.463,81 thenBegin           Alíquota :=(salariobruto – INSS) *27.50;            Deduzir: 826.15;End;IR := alíquota – (salariobruto-INSS) – deduzir;Salarioliquido :=salariobruto-INSS-IR;writeln ('Informe o valor do INSS: ', INSS:);writeln ('Informe o valor do a deduzir: ', deduzir); writeln ('Informe o aliquota: ', aliquota);  writeln ('Informe o valor do imposto de renda: ', IR);   writeln ('Informe o valor do salario bruto: ', salariobruto);  writeln ('Informe o valor do salario liquido: ', salarioliquido);   writeln;    write ('Pressione qualquer tecla para terminar . . . ');    key := readkey;end.

Duvidas:

1)    Onde inserir esses R$45,00 pago por hora?

2)    Onde inserir esses R$25,00 pago por dependente?

3)    Onde descontar esses 11% do INSS?

4)    Onde descontar o IR?

5)    Aliquota seria uma variável?

6)    Deduzir seria uma variável?

7)    Como encontrar esse número do funcionário?

 

1-    Foi feita uma pesquisa entre os habitantes de uma região. Foram coletados os dados de idade, sexo(M/F) e salario. Faça um programa em PASCAL que informar:

 

A)   A média de salário do grupo;

B)   A maior e a menor idade do grupo

C)   A quantidade de mulheres com salário até R$1.00,00

 

Encerre a entrada de dados quando for digitada uma idade negativa.

Program Exer2;Uses crt;Var idade:integer;       Idademaior:integer;        Idademenor: integer;       menoridade:integer;       cont1:integer;      cont2: integer;       sexo:char;     Sexo_Menorsalario: char;      Salario: real;     Menorsalario:real;     Soma:real;     media : real;                         Begin N:=0;cont1:=0; cont2:=0; idadeMaior:=0; idadeMenor:=9999; Menorsalario:=9999; soma:=0; writeln('informe a sua idade'); readln(idade); while (idade>0) do Begin writeln('informe o seu sexo sendo: f-feminino e m-masculino'); readln(sexo); writeln('informe o seu salario'); readln(salario); If(salario>0) then begin soma:=soma+salario; cont2:=cont2+1; end; if (idade<idadeMenor) then idadeMenor:=idade; if (idade>idadeMaior) then idadeMaior:=idade; if (sexo='f') and (salario<=1000) then cont1:=cont1+1; if( salario<Menorsalario) then begin Menorsalario:=salario; Sexo_Menorsalario:=sexo; MenorIdade:=idade; end; writeln('informe a sua idade ou algum numero negativo para sair'); readln(idade); end; media:=soma/cont2; writeln('a media dos salarios do grupo é:' ,media); writeln('a maior idade do grupo é:' ,idadeMaior); writeln('a menor idade do grupo é:' ,idadeMenor); writeln('a quantidade de mulheres com salario até R$ 1000,00 é:' ,cont1); writeln('a idade da pessoa que que possui o menor salario é:' ,MenorIdade, ' e o seu sexo é:' ,Sexo_Menorsalario); 

Duvidas:

Acho que está rodando, mas não está dentro do que está pedindo, mas não encontro o meu erro.

 

3) Um hotel com 30 quartos cobra R$50,00 por diária e mais uma taxa de serviços; A taxa de serviços é de: (2,5 pontos)

* R$4,00 por diária, se o número de diárias for <15;

* R$3,60 por diária, se o número de diárias for = 15;

* R$3,00 por diária, se o número de diárias for >15.

 

Faça um programa em PASCAL que imprima o nome e o total da conta de cada cliente do hotel e imprima também o total ganho pelo hotel.

program Exer3;uses crt;var  N : array[1..t] of string;  M : array[1..t,1..4] of real;  cont, diarias, faturamento:integer;  for cont:=1 to 30 do;  begin    write('Digite o nome do cliente: ');    readln(n[cont]);  end;    for cont:=1 to t do                                    begin    if (m[cont,1] < 15) then    m[cont,2] := 4;    else    if (m[cont,1] = 15) then    m[cont,2] := 3.60;    else    if (m[cont,1] > 15) then    m[cont,2] := 3;  end;  Begin    for cont:=1 to t do begin    m[cont,3] := 200*m[cont,1];    m[cont,4] := m[cont,3]+m[cont,2];    write('O cliente:' ,N[cont]);    write('O valor das diarias:' ,M[cont,3]);    write('A taxa adicional de servicos:' ,M[cont,2]);    write('O Total:' ,M[cont,4]);  end;  Begin    for cont:=1 to t do begin    diarias := diarias+M[cont,1];    faturamento := diarias+M[cont,4];  end;    write('O hotel faturou' ,faturamento 'servindo' ,diarias 'diarias');  readln; end.

Erro: For não esperado.

 

Desde já agradeço.

 

Att,

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!