Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda a resolver exercícios no pascal!


JoNiiN

Pergunta

Sei que isso é besteira pra muito de vocês mas, pra mim ta f..*&. Me ajudem a resolver esses 3 exercícios por favor! estou desesperado!

1- Faça um programa que receba três números e mostre-os em ordem crescente.

2- Faça um programa que receba a hora de inicio de um jogo e a hora final do jogo ( cada hora é composta por duas variáveis inteiras: horas e minutos). Calcule e mostre a duração do jogo (hora e minuto) sabendo-se que o tempo máximo de duração do jogo é de 24 horas e que o jogo pode iniciar em um dia e terminar no dia seguinte.

3- Faça um programa que receba o código correspondente ao cargo de um funcionário e seu salário atual e mostre o cargo, o valor do aumento e seu sálario. Os cargos estão na tabela a seguir:

Código Cargo Percentual

1 Escrituário 50%

2 Secretário 35%

3 Caixa 20%

4 Gerente 10%

Por favor!!! estou realmente desesperado!

Editado por JoNiiN
Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0
Sei que isso é besteira pra muito de vocês mas, pra mim ta f..*&. Me ajudem a resolver esses 3 exercícios por favor! estou desesperado!

1- Faça um programa que receba três números e mostre-os em ordem crescente.

2- Faça um programa que receba a hora de inicio de um jogo e a hora final do jogo ( cada hora é composta por duas variáveis inteiras: horas e minutos). Calcule e mostre a duração do jogo (hora e minuto) sabendo-se que o tempo máximo de duração do jogo é de 24 horas e que o jogo pode iniciar em um dia e terminar no dia seguinte.

3- Faça um programa que receba o código correspondente ao cargo de um funcionário e seu salário atual e mostre o cargo, o valor do aumento e seu sálario. Os cargos estão na tabela a seguir:

Código Cargo Percentual

1 Escrituário 50%

2 Secretário 35%

3 Caixa 20%

4 Gerente 10%

Por favor!!! estou realmente desesperado!

Por favor, qual é sua dúvida?

Post aqui o que você já fez por favor!

Abraços...

Paulo!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Pensando melhor, vou fazer uma coisa que não costumo fazer... Vou postar um programa pronto pra você! fiz o número 03 aí da sua lista! Não quero postar os outros prontos pra você, quero que tente fazer, se eu postar isso pronto, é uma falta de étic da minha parte, e também, você não aprenderá... Programação não tem como colar, se você não estudar, nunca aprenderá!!! Então meu amigo, quero agora que post os dois primeiros, pelo menos o que já fez, quero saber de suas dúvidas, do que tem dificuldade!!!

LEMBRANDO... FIZ ELE RAPIDINHO AQUI, ELE ESTÁ RODANDO, MAIS TALVEZ POSSA TER MELHORES VERSÕES FUTURAS...

Program CALCULO_SALARIO;
Var
nome: string[40];
func: string[12];
cargo, base, percent, valor, sal:real; 
N:char;
BEGIN
 N:='S';
 while (n='S') or (n='s') do
   begin
      writeln('                             SCRIPT BRASIL');
      writeln;
      writeln('               SISTEMA DE CALCULO DE FOLHA DE PAGAMENTO');
      writeln('________________________________________________________________________________');
      writeln;
      writeln('Digite o nome do Funcionário: ');
      readln(nome);
      writeln('Digite o código referente ao cargo do Funcionário, ',nome,' :');
      writeln('(1)Escrituário     (2)Secretário     (3)Caixa     (4)Gerente'); 
      readln(cargo);
      writeln('Informe o valor do salário base do funcionário: ');
      readln(base);
      percent:=0;
      If (cargo = 1 ) then
        begin
          func:='Escrituário';
          percent:=50;
          valor:=(base*percent)/100;
          sal:=base+valor;
        end
     Else
       If (cargo = 2 )then
        begin
          func:='Secretário';
          percent:=35;
          valor:=(base*percent)/100;
          sal:=base+valor;
        end 
        else
          If (cargo = 3 )then
            begin
              func:='Caixa';
              percent:=20;
              valor:=(base*percent)/100;
              sal:=base+valor;
            end
            else
              If (cargo = 4 ) then
                begin
                  func:='Gerente';
                  percent:=10;
                  valor:=(base*percent)/100;
                  sal:=base+valor;
                end;
            
           writeln;
           writeln;
           writeln('--------------------------------------------------------------------------------');
           writeln('                             CONTRA CHEQUE');
           writeln('________________________________________________________________________________');
           writeln; 
           writeln('Nome do Funcionário: ',nome);
           writeln('Cargo: ',func);
           writeln('Salário base: R$ ',base:5:2);
           writeln('Porcentagem de aumento: ',percent:2:0,'%');
           writeln('valor do aumento: R$ ', valor:5:2);
           writeln; 
           writeln('Total de Proventos: R$ ',sal:5:2);
           writeln; 
           writeln('Valor corrigido: R$ ',sal:5:2);
           writeln;
           writeln;
           writeln;
           writeln('Líquido a Receber: R$ ',sal:5:2);
           writeln;
           writeln('--------------------------------------------------------------------------------');
           writeln;          
           writeln('Deseja calcular outra conta? (s/n)');
           readln(n);
             if (n='n') or (n='N') then
                begin
                   writeln;
                   writeln; 
                   writeln('                        Saindo do sistema...');
                   writeln('                     Sistema sendo encerrado...');
                   writeln;
                   writeln;
                   writeln('                       SISTEMA ENCERRRADO!!!');
                   writeln('                    PRESSIONE "ENTER" PARA SAIR');
                end;
   end;
End.

Espero que um já pronto ajude você bastante!!! Aguardo suas dúvidas e os outros dois programas que você fará...

Abraços...

Paulo!!!

Editado por Paulo_elite
Link para o comentário
Compartilhar em outros sites

  • 0

Antes vou agradecer pela força que vocês estão me dando! =p

Tipo eu consegui fazer o exercício 3, mas esqueci de mencionar que era pra ser feito somente com condiçoes (=p, mal).

meu ficou assim o exercício 3.

PROGRAM CARGOSALARIAL;

USES CRT;

VAR

CODCAR:INTEGER;

SALATUAL, A1, A2, A3, A4: REAL;

BEGIN

CLRSCR;

WRITELN('DIGITE O CODIGO DO CARGO');

WRITELN('[1] ESCRITUARIO [2] SECRETARIO [3] CAIXA [4] GERENTE');

READLN(CODCAR);

WRITELN('DIGITE O SALARIO ATUAL DO FUNCIONARIO');

READLN(SALATUAL);

IF(CODCAR=1)THEN

BEGIN

WRITELN('CARGO-ESCRITUARIA');

A1:=(SALATUAL*0.5);

WRITELN('O AUMENTO SERA DE R$',A1:4:2,'.');

WRITELN('O NOVO SALARIO SERA R$',SALATUAL+A1:4:2,'.');

END;

IF(CODCAR=2)THEN

BEGIN

WRITELN('CARGO-SECRETARIO');

A2:=(SALATUAL*0.35);

WRITELN('O AUMENTO SERA DE R$',A2:4:2,'.');

WRITELN('O NOVO SALARIO SERA R$',SALATUAL+A2:4:2, '.');

END;

IF(CODCAR=3)THEN

BEGIN

WRITELN('CARGO-CAIXA');

A3:=(SALATUAL*0.20);

WRITELN('O AUMENTO SERA DE R$',A3:4:2,'.');

WRITELN('O NOVO SALARIO SERA R$',SALATUAL+A3:4:2,'.');

END;

IF(CODCAR=4)THEN

BEGIN

WRITELN('CARGO-GERENTE');

A4:=(SALATUAL*0.10);

WRITELN('O AUMENTO SERA DE R$',A4:4:2,'.');

WRITELN('O NOVO SALARIO SERA R$',SALATUAL+A4:4:2, '.');

END;

READKEY;

END.

O que eu fiz tah rodando.

agora em relação ao exercício 1, eu to em duvida de como fazer a condição pra colocar os numeros em ordem crescente.

obs: nem tive aula de vetor.

Mais uma vez obrigado pela ajuda!

Link para o comentário
Compartilhar em outros sites

  • 0

CONSEGUI FAZER O 1º.

PROGRAM ORDEMCRESC;

USES CRT;

VAR

N1,N2,N3:INTEGER;

BEGIN

CLRSCR;

WRITE('DIGITE UM VALOR INTEIRO: ');

READ(N1);

WRITE('DIGITE UM VALOR INTEIRO: ');

READ(N2);

WRITE('DIGITE UM VALOR INTEIRO: ');

READ(N3);

IF (N1>N2) AND (N2>N3) THEN

BEGIN

WRITE(' A ORDEM CRESCENTE : ',N3,', ',N2,', ',N1);

END;

IF (N1<N2) AND (N2<N3) THEN

BEGIN

WRITE('A ORDEM CRESCENTE : ',N1,', ',N2,', ',N3);

END;

IF (N1>N2) AND (N2<N3) THEN

BEGIN

WRITE('A ORDEN CRECENTE : ',N2,', ',N1,', ',N3);

END;

IF (N1<N2) AND (N2>N3) THEN

BEGIN

WRITE('A ORDEM CRESCENTE : ',N1,', ',N3,', ',N2);

END;

READKEY;

END.

EU FIZ, MAS TEM OUTRO JEITO DE FAZER COM CONDIÇÃO, QUE O TORNE UM POUCO MENOR?

VLW PELA ATENÇÃO!

Link para o comentário
Compartilhar em outros sites

  • 0

entre várias coisas que você pode diminuir uma delas é tirar esses Begins do su sistema;

Veja o quanto usa sem necessidade...

IF (N1>N2) AND (N2>N3) THEN

BEGIN

WRITE(' A ORDEM CRESCENTE : ',N3,', ',N2,', ',N1);

END;

IF (N1<N2) AND (N2<N3) THEN

BEGIN

WRITE('A ORDEM CRESCENTE : ',N1,', ',N2,', ',N3);

END;

IF (N1>N2) AND (N2<N3) THEN

BEGIN

WRITE('A ORDEN CRECENTE : ',N2,', ',N1,', ',N3);

END;

IF (N1<N2) AND (N2>N3) THEN

BEGIN

WRITE('A ORDEM CRESCENTE : ',N1,', ',N3,', ',N2);

END;

Uma regra da programação, depois de uma ondicional, se tiver mais de uma lina, us-se um BEGIN, mais se for apenas uma linha, não é necessário... a máquina lê sempre a primeira linha se a condição verificad for verdadeira...

Vou frisar bem isso: Do jeito que você fez, não está errado... é que não há necessidade desses blocos intermediários...

Veja o exemplo que farei a seguir...

IF (N1>N2) AND (N2>N3) THEN
  WRITE(' A ORDEM CRESCENTE : ',N3,', ',N2,', ',N1);
ELSE  
  IF (N1<N2) AND (N2<N3) THEN
    WRITE('A ORDEM CRESCENTE : ',N1,', ',N2,', ',N3);
  ELSE 
    IF (N1>N2) AND (N2<N3) THEN
      WRITE('A ORDEN CRECENTE : ',N2,', ',N1,', ',N3);
    ELSE
       IF (N1<N2) AND (N2>N3) THEN
        WRITE('A ORDEM CRESCENTE : ',N1,', ',N3,', ',N2);

Eu não fiz nada, a não ser retirar os Begin do seu sistema, é a sua mesma lógica, apenas simplificada... Olha só o quento fica menor... Mais lembre-se, isso só se faz, se for uma linha de comando apenas, se for mais de uma, é obrigatório usar os blocos com BEGIN

Abraços...

Paulo!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Valeu, eu tinha me esquecido disso!

Agora, o exercício 2, eu não consegui fazer, me enrolei nas variáveis, resumindo, não entendi nada!

Eu fiz isso:

program duracao;

uses crt;

var

hin, min, hter, mint:integer;

durac,durac2,resul1,resul2:real;

begin

clrscr;

writeln ('Digite a hora de in¡cio da partida:');

read (hin);

writeln ('Digite os minutos do in¡cio da partida');

read (min);

writeln ('Digite a hora do final da partida:');

read (hter);

writeln ('Digite os minutos do final da partida:');

read (mint);

resul1:=durac+durac2;

resul2:=hter-hin;

writeln ('a partida durou:',resul2:1:0,'hora(s) e',resul1:1:0,'minutos.');

readkey;

end.

Mas com certeza ta errado, e ainda, como tem que usar condição, estaria errado mesmo estando certo. (o.O')

Me ajuda a resolver esse, ele é o unico que eu não consegui fazer. i.i

Abraço!

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --lucas --

escrever um algoritmo que le a hora inicial de um jogo ea hora final do jogo (considerando apenas horas inteiras )e calcular a duracao do jogo em horas sabendo-se que o tempo maximo de duracao do jogo é de 24 horas e que o jogo pode iniciar em um dia e terminar no dia seguinte.não é em pascal!!!!!

Link para o comentário
Compartilhar em outros sites

  • 0
Guest carlo alexandre

Uma empresa decidiu dar um aumento escalonado aos seus funcionários de acordo com a seguinte regra: 25% para os salários inferiores ou iguais a R$ 250,00; 11% para os salários situados entre R$ 250,00 e R$ 400,00 (inclusive ) e 5% para os demais salários. Escreva um programa PASCAL que receba (pelo teclado) o salário de um funcionário e exiba na tela o valor do seu novo salário.

Link para o comentário
Compartilhar em outros sites

  • 0
Sei que isso é besteira pra muito de vocês mas, pra mim ta f..*&. Me ajudem a resolver esses 3 exercícios por favor! estou desesperado!

1- Faça um programa que receba três números e mostre-os em ordem crescente.

2- Faça um programa que receba a hora de inicio de um jogo e a hora final do jogo ( cada hora é composta por duas variáveis inteiras: horas e minutos). Calcule e mostre a duração do jogo (hora e minuto) sabendo-se que o tempo máximo de duração do jogo é de 24 horas e que o jogo pode iniciar em um dia e terminar no dia seguinte.

3- Faça um programa que receba o código correspondente ao cargo de um funcionário e seu salário atual e mostre o cargo, o valor do aumento e seu sálario. Os cargos estão na tabela a seguir:

Código Cargo Percentual

1 Escrituário 50%

2 Secretário 35%

3 Caixa 20%

4 Gerente 10%

Por favor!!! estou realmente desesperado!

Link para o comentário
Compartilhar em outros sites

  • 0

<script type='text/javascript'>window.mod_pagespeed_start = Number(new Date());</script>

escrever um algoritmo que le a hora inicial de um jogo ea hora final do jogo (considerando apenas horas inteiras )e calcular a duracao do jogo em horas sabendo-se que o tempo maximo de duracao do jogo é de 24 horas e que o jogo pode iniciar em um dia e terminar no dia seguinte.não é em pascal!!!!!

#include <stdio.h>
int main(void){
int hi,hf,ht;
scanf("%i %i",&hi,&hf);
if (hf < hi){
hf = hf+24;
}
ht = hf - hi;
printf("O JOGO DUROU %i HORA(S)",ht);
return 0;
}
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...