Voltar à Página Inicial
Volta à Página do Tema
TURBO PASCAL

Com grande utilização em faculdades ligadas à informática, devido a sua estrutura didática, o Pascal é uma linguagem que vem ganhando terreno ainda agora devido ao seu sucessor, o Delphi. Quem não conhece um algoritmo Pascal tem maiores dificuldades de se adaptar à linguagem da Inprise / Borland.

Aqui você poderá conhecer dicas, rotinas e até baixar o compilador do Turbo Pascal 7.0 (708Kb) apenas clicando no link anterior. Se você for estudante visite regularmente nossa página recorrendo, quando precisar, ao Quadro de Dúvidas ou aos E-Mails.


Algumas dicas rápidas para quem está començando a se aventurar no estruturado Pascal:


*Instrução Completa: Entende-se por instrução completa uma rotina que compreenda uma ação dentro de um programa não importando como ela está disposta no programa. Assim, o local correto do ponto-e-vírgula deve ser muito bem observado. Veja o Exemplo:

If a = 34 Then

   WriteLN('O número está correto!!');

A primeira linha não tem o ponto-e-vírgula porque ainda não acabou a instrução, que foi "quebrada" em duas linhas apenas por questão de organização.

Porém, ela poderia ter sido escrita desta forma:

If a = 34 Then WriteLN('O número está correto!!');

Aí sim, existiria o ponto-e-virgula já que a cláusula estaria completa.

Em outro exemplo, usaremos um "if" com um "else":

If b = 'carro' Then

    WriteLN('Tem carro!!')

Else

    WriteLN('Nao tem carro!!');

Note que, apesar de "quebrar" em várias linhas, a rotina só possui um ponto-e-vírgula. Por quê? Simples! A instrução só estará completa com o "SE faça SENÃO faça"! Ela não pode ser divida em partes. Assim, a rotina poderia ser escrita desta maneira:

If b = 'carro' Then WriteLN('Tem carro!!') Else WriteLN('Nao tem carro!!);

Esta rotina pode ser escrita de diversas maneiras sem que o compilador Pascal se "confunda" desde que o ponto-e-vírgula seja corretamente empregado!


Veja, abaixo, a listagem de um fonte simples que armazena números em 10 variáveis e, utilizando-se de uma propriedade matemática identifica-os como PARES ou ÍMPARES:

program exerc01;

uses crt;

var
   n1, n2, n3, n4, n5, n6, n7, n8, n9, n10: integer;

begin
   clrscr; {Limpar a Tela.}

   write('INFORME O 1o. NUMERO: '); {Imprime na Tela e passar p/                                      proxima linha.}
   readln(n1); {Obtem do usuario o valor p/ uma variavel.}

   write('INFORME O 2o. NUMERO: ');
   readln(n2);

   write('INFORME O 3o. NUMERO: ');
   readln(n3);

   write('INFORME O 4o. NUMERO: ');
   readln(n4);

   write('INFORME O 5o. NUMERO: ');
   readln(n5);

   write('INFORME O 6o. NUMERO: ');
   readln(n6);

   write('INFORME O 7o. NUMERO: ');
   readln(n7);

   write('INFORME O 8o. NUMERO: ');
   readln(n8);

   write('INFORME O 9o. NUMERO: ');
   readln(n9);

   write('INFORME O 10o. NUMERO: ');
   readln(n10);

   writeln('-------------------------------------------');
   writeln(' ');

   if n1 mod 2 = 0 then
   begin {Quando ha  mais de uma instrucao colocar begin.}
      write(n1);
      writeln(' é par');
   end
   else
   begin
      write(n1);
      writeln(' é ímpar');
   end;

   if n2 mod 2 = 0 then
   begin {Quando ha  mais de uma instrucao colocar begin.}
      write(n2);
      writeln(' é par');
   end
   else
   begin
      write(n2);
      writeln(' é ímpar');
   end;

   if n3 mod 2 = 0 then
   begin {Quando ha  mais de uma instrucao colocar begin.}
      write(n3);
      writeln(' é par');
   end
   else
   begin
      write(n3);
      writeln(' é ímpar');
   end;

   if n4 mod 2 = 0 then
   begin {Quando ha  mais de uma instrucao colocar begin.}
      write(n4);
      writeln(' é par');
   end
   else
   begin
      write(n4);
      writeln(' é ímpar');
   end;

   if n5 mod 2 = 0 then
   begin {Quando ha  mais de uma instrucao colocar begin.}
      write(n5);
      writeln(' é par');
   end
   else
   begin
      write(n5);
      writeln(' é ímpar');
   end;

   if n6 mod 2 = 0 then
   begin {Quando ha  mais de uma instrucao colocar begin.}
      write(n6);
      writeln(' é par');
   end
   else
   begin
      write(n6);
      writeln(' é ímpar');
   end;

   if n7 mod 2 = 0 then
   begin {Quando ha mais de uma instrucao colocar begin.}
      write(n7);
      writeln(' é par');
   end
   else
   begin
      write(n7);
      writeln(' é ímpar');
   end;

   if n8 mod 2 = 0 then
   begin {Quando ha  mais de uma instrucao colocar begin.}
      write(n8);
      writeln(' é par');
   end
   else
   begin
      write(n8);
      writeln(' é ímpar');
   end;

   if n9 mod 2 = 0 then
   begin {Quando ha  mais de uma instrucao colocar begin.}
      write(n9);
      writeln(' é par');
   end
   else
   begin
      write(n9);
      writeln(' é ímpar');
   end;

   if n10 mod 2 = 0 then
   begin {Quando ha  mais de uma instrucao colocar begin.}
      write(n10);
      writeln(' é par');
   end
   else
   begin
      write(n10);
      writeln(' é ímpar');
   end;

   readkey;  {Aguarda que uma tecla seja pressionada}

end.

Agora, veja o mesmo programa, utilizando a cláusula "WHILE [condição] DO" (ENQUANTO [condição] FAÇA). O código-fonte ficou muito menor e o resultado final, para o usuário será o mesmo do anterior.

program exerc02;

uses crt;

var
   cont, num: integer;

begin

   clrscr;

   cont := 0;

   while cont < 10 do   {Aqui eh criado um loop}
   begin
      cont := cont + 1;
      write('INFORME UM NUMERO: ');
      readln(num);

      if num mod 2 = 0 then
         writeln('O NUMERO E PAR !')
      else
         writeln('O NUMERO E IMPAR !');

      readkey;

   end;

end.

A rotina à cima funciona perfeitamente, porém, para ser logicamente mais correta o Pascal possui a cláusula FOR...DO (PARA...FAÇA). Esta cláusula de repetição cria um loop obedecendo uma contagem seqüencial. Então, com ela, poderíamos mandar o programa "contar" de 1 a 10 enquanto repete a rotina.

program exerc02;

uses crt;

var
   cont, num: integer;

begin

   clrscr;

   For cont := 1 to 10 do   {Aqui eh criado um loop de 1 a 10}
   begin
      cont := cont + 1;
      write('INFORME UM NUMERO: ');
      readln(num);

      if num mod 2 = 0 then
         writeln('O NUMERO E PAR !')
      else
         writeln('O NUMERO E IMPAR !');

      readkey;

   end;

end.


Colaboração: FERNANDA SIQUEIRA


Webmaster: CARLO VINÍCIUS DE MELO ALMEIDA

 

 

 

Hosted by www.Geocities.ws

1