Ir ao conteúdo
  • Cadastre-se
kakajr10

Programação pascal loop até que digite o comando de saida

Recommended Posts

pessoal, to com esse exercício pra fazer e não consigo desenvolver a segunda tela, a primeira já esta feita, alguém pode me ajudar? segue a primeira tela

Program ATIVIDADE3 ;
VAR
PRODCR: STRING;
PRECOCR: REAL;
QUANTCR: INTEGER;
TOTALPCR: REAL;
TOTALCCR: REAL;
DESCCR: REAL;
TOTALLCR: REAL;
RESPCR:CHAR; //CONTROLE DO LAÇO
 Begin
    REPEAT
     CLRSCR; //LIMPAR A TELA
     WRITELN ( ' SISTEMA COMPRA/VENDA - TELA ENTRADA ');
     WRITELN ( ' ----------------------------------- ');
     WRITELN ( ' PRODUTO---------------------------- ');
     READLN  ( PRODCR );
     WRITELN ( ' PREÇO UNITÁRIO--------------------- ');
     READLN  ( PRECOCR );
     WRITELN ( ' QUANTIDADE------------------------- ');
     READLN  ( QUANTCR );
     WRITELN ( '------------------------------------ ');
     TOTALPCR:= PRECOCR*QUANTCR;
     TOTALCCR:= TOTALCCR+TOTALPCR;
     WRITELN ( ' TOTAL PARCIAL----:', TOTALPCR:0:2);
     WRITELN ( 'TOTAL DA COMPRA---:', TOTALCCR:0:2);
     WRITELN ( '---------------------------------');
     WRITE ( 'OUTRO PRODUTO ( S/N )?');
     READLN ( RESPCR );
     UNTIL ( RESPCR = ' N ' );
  
 End.

 

programação.jpg

Editado por DiF
Botão CODE <>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá @kakajr10. Seja bem vindo ao Fórum do Clube do Hardware...

 

Alguns ponto que acho importante:

 

1) Padrão do texto do código

Não use CAIXA ALTA, pois dificulta a leitura das informações (e parece que tá gritando).

 

Veja a diferença:

program Atividade3;
var
  prodcr  :string;
  precocr :real;
  quantcr :integer;
  totalpcr:real;
  totalccr:real;
  desccr  :real;
  totallcr:real;
  respcr  :char; //controle do laço
BEGIN
repeat
  ClrScr; //limpar a tela
  writeln(' SISTEMA Compra/Venda - Tela Entrada');
  writeln(' -----------------------------------');
  writeln(' Produto----------------------------');
  readln(prodcr);
  writeln(' Preço Unitário---------------------');
  readln(precocr);
  writeln(' Quantidade-------------------------');
  readln(quantcr);
  writeln(' -----------------------------------');
  totalpcr:=precocr*quantcr;
  totalccr:=totalccr+totalpcr;
  writeln(' Total Parcial-----: ',totalpcr:0:2);
  writeln(' Total da Compra---: ',totalccr:0:2);
  writeln(' -----------------------------------');
  write  (' Outro produto <s/n> ?'); readln(respcr);
until (respcr = ' n ');
END.

Obs.: já fiz alguns ajustes para tentar ajudar...
Obs.2: 

 

2) Condição do repeat

Lá no until não existe esses espaços... fica apenas 'n' (não ' n ').

 

3) Padronização do texto

Da mesma forma que o Total Parcial e Total da Compra, o texto na parte de cima tem que ficar no lado, e não embaixo (use também write - sem o ln)

 

4) Segunda tela

O próprio enunciado já explica como faz.

Basta usar os write/writeln e os readln de modo que fique parecido com a tela do anexo, assim como efetuar a referida conta...é bem parecido com a primeira tela, a diferença que não precisa de um repeat/until.

 

5) O que significar esses "CR" no final de cada variável???

Não entendi...

 

***

 

No aguardo

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Simon Viegas  meu amigo, nao estou conseguindo fazer o programa funcionar, pode me ajudar?

Program ATIVIDADE3 ;
VAR
PRODCR: STRING;
PRECOCR: REAL;
QUANTCR: INTEGER;
TOTALPCR: REAL;
TOTALCCR: REAL;
DESCCR: REAL;
TOTALLCR: REAL;
RESPCR:CHAR; //CONTROLE DO LAÇO

 Begin
    REPEAT
     CLRSCR; //LIMPAR A TELA
     WRITELN ( ' SISTEMA COMPRA/VENDA - TELA ENTRADA ');
     WRITELN ( ' ----------------------------------- ');
     WRITELN ( ' PRODUTO---------------------------- ');
     READLN  ( PRODCR );
     WRITELN ( ' PREÇO UNITÁRIO--------------------- ');
     READLN  ( PRECOCR );
     WRITELN ( ' QUANTIDADE------------------------- ');
     READLN  ( QUANTCR );
     WRITELN ( '------------------------------------ ');
     TOTALPCR:= PRECOCR*QUANTCR;
     TOTALCCR:= TOTALCCR+TOTALPCR;
     WRITELN ( ' TOTAL PARCIAL----:', TOTALPCR:0:2);
     WRITELN ( 'TOTAL DA COMPRA---:', TOTALCCR:0:2);
     WRITELN ( '---------------------------------');
     WRITE ( 'OUTRO PRODUTO ( S/N )?');
     READLN ( RESPCR );
     UNTIL ( RESPCR = ' N ' );
   READLN;  
   //INICIO DOS CALCULOS
   IF(TOTALCCR<100)THEN DESCCR:=TOTALCCR*0.10
                 ELSE
              IF(TOTALCCR>=100)THEN DESCCR:=TOTALCCR*0.20;
                            
   TOTALCCR:=TOTALCCR-DESCCR;
   CLRSCR;
   WRITELN ('------------------------------');
   WRITELN ( ' SISTEMA COMPRA/VENDA - TELA SAIDA ');
   WRITELN ('------------------------------');
   WRITELN (' TOTAL DA COMPRA:',TOTALPCR:0:2 );
   WRITELN (' DESCONTO:',DESCCR:0:2         );
   WRITELN (' TOTAL LIQUIDO:',TOTALLCR:0:2 );
   WRITELN ('------------------------------');
   WRITELN ('FIM DE PROGRAMA, TECLE ENTER'  );

  
 End.

 

Editado por Simon Viegas
Ao postar um código, favor inserir na tag CODE (botão <>)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá @kakajr10.

 

Por favor, siga as orientações passadas na minha postagem anterior.

 

Em relação ao item 1), abaixo já deixo seu código com letras minúsculas. Favor usar esse código... faltando apenas fazer alguns pequenos ajustes em algumas palavras que devem ficar todo em maiúsculo ou só as iniciais.

 

program atividade3;
var
  prodcr  :string;
  precocr :real;
  quantcr :integer;
  totalpcr:real;
  totalccr:real;
  desccr  :real;
  totallcr:real;
  respcr  :char; //controle do laço

BEGIN
repeat
  ClrScr; //limpar a tela
  writeln(' sistema compra/venda - tela entrada ');
  writeln(' ----------------------------------- ');
  writeln(' produto---------------------------- ');
  readln(prodcr);
  writeln(' preço unitário--------------------- ');
  readln(precocr );
  writeln(' quantidade------------------------- ');
  readln(quantcr );
  writeln('------------------------------------ ');
  totalpcr:= precocr*quantcr;
  totalccr:= totalccr+totalpcr;
  writeln(' total parcial----:', totalpcr:0:2);
  writeln('total da compra---:', totalccr:0:2);
  writeln('---------------------------------');
  write( 'outro produto ( s/n )?');
  readln(respcr);
until (respcr=' n ');
readln;
//inicio dos calculos
if (totalccr<100) then
  desccr:=totalccr*0.10
else
  if(totalccr>=100)then desccr:=totalccr*0.20;
    totalccr:=totalccr-desccr;
ClrScr;
writeln('------------------------------');
writeln( ' sistema compra/venda - tela saida ');
writeln('------------------------------');
writeln(' total da compra:',totalpcr:0:2 );
writeln(' desconto:',desccr:0:2         );
writeln(' total liquido:',totallcr:0:2 );
writeln('------------------------------');
writeln('fim de programa, tecle enter'  );
END.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×