Compreenda a linguagem Pascal

Quando você começa a estudar programação você provavelmente vai se deparar com a linguagem Pascal no qual irei abordar aqui neste post.

Mas antes de estudar Pascal, é importante compreender o que é um Fluxograma, um Diagrama de Blocos, uma Estrutura de Decisão entre outros requisitos importantes para uma entendimento 100%.

Neste artigo irei mostrar os seguintes exemplos:

  • Estruturas de repetição – (for..do)

Nos estudos de programação utilizei o programa Pascalzim. Este é um software que foi desenvolvido no Departamento de Ciências da Computação da Universidade de Brasília e concebido para fins educacionais.
pascalzim-logo
Antigamente, o software usado para estudos era o Turbo Pascal no qual teve uma grande importância no sucesso da linguagem Pascal, já que não era apenas um simples compilador, mas um ambiente de desenvolvimento, onde se podia construir e depurar o código, o que foi uma novidade para a época.

A sua primeira versão foi realizada em 1983 no mercado norte-americano.
logo-turbo-pascal
Também é possível encontrar compiladores online como o http://www.tutorialspoint.com/compile_pascal_online.php.

Sobre a Linguagem Pascal

A linguagem Pascal foi desenvolvida no início dos anos 70 por Nicklaus Wirth na Universidade Técnica de Zurique, Suíça, com o objetivo de oferecer uma linguagem para o ensino de programação que fosse simples, coerente e capaz de incentivar a confecção de programas claros e facilmente legíveis, favorecendo a utilização de boas técnicas de programação.

Ebook Linguagem Pascal

Por que do nome Pascal?

Pascal é uma linguagem de programação estruturada, e recebeu este nome em homenagem ao matemático e físico Blaise Pascal

Quem foi Blaise Pascal?

“O coração tem suas razões, que a razão não conhece”. O homem que criou esta frase entre outras tantas chamava-se Blaise Pascal, e nasceu em Clermont, França, a 19 de junho de 1623.

Seu pai, Étienne Pascal, era um homem culto, que além dos seus conhecimentos linguísticos e filosóficos era um destacado matemático.

Blaise Pascal faleceu em 1662 na cidade de Paris.
blaise-pascal

O que é um algoritmo?

É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa.
flow chart diagram

The Big Bang Theory – The Friendship Algorithm

Em um episódio da série The Big Bang Theory, Sheldon tenta fazer amizade com Barry Kripke para conseguir um equipamento de laboratório de última geração.

Para conseguir esse objetivo, ele desenvolve um fluxograma de como fazer amigos.

A cena está disponível na 2º Temporada no Episódio 13.

O que é um Fluxograma?

Fluxograma é um tipo de diagrama, e pode ser entendido como uma representação esquemática de um processo, muitas vezes feito através de gráficos que ilustram de forma descomplicada a transição de informações entre os elementos que o compõem, ou seja, é a sequência operacional do desenvolvimento de um processo.
fluxograma

Estrutura de decisão

A maioria dos algoritmos precisam tomar decisões ao longo de sua execução. Para isso existem as estruturas de decisão, e a mais utilizada é a estrutura SE-ENTÃO-SENÃO (Em inglês IF-THEN-ELSE). No decorrer deste post mostrarei vários exemplos.
estrutura-de-decisao

Palavras reservadas em Pascal

and downto In packed to
array else inline procedure type
asm End interface program unit
begin File Label record until
case For mod repeat const
Foward nil set uses constructor
Function not shl var destructor
Goto object shr while div
If of string with do
implementattion or then xor

Tipo de dados

Tipo Descrição
Boolean Define dois valores lógicos: FALSE e TRUE. Um dado do tipo booleano ocupa um byte
de espaço na memória.
Char Define os elementos do conjunto de caracteres que compõem o alfabeto ASCII,
adicionados dos caracteres representados pelos códigos de 128 a 255. Um dado do
tipo char ocupa um byte de espaço na memória.
Integer Define os valores inteiros compreendidos no intervalo de -2.147.483.647 até
2.147.483.647. Um dado do tipo integer ocupa quatro bytes de espaço na memória.
Real Define os valores reais definidos no intervalo de 3.4·10 -38 até 3.4·10 +38 . Um dado do
tipo real ocupa quatro bytes de espaço na memória
String Define uma cadeia de caracteres. Se nenhuma restrição de tamanho for especificada,
um dado do tipo string é capaz de armazenar uma sequência contendo até 255
caracteres, onde cada caracter ocupa um byte de espaço na memória. Uma cadeia de
caracteres pode ter seu tamanho definido (contendo menos de 255 caracteres), onde o
tamanho especifica o número máximo de caracteres contidos na cadeia. Essa
especificação deve ser indicada entre colchetes, logo após a palavra reservada string,

Comandos de Entrada

read
 ( <lista de identificadores> );
readln
 ( <lista de identificadores> );

O comando WRITELN posiciona o cursor na próxima linha da tela.

Comandos de Saída

write
 ( <lista de identificadores> );
writeln
 ( <lista de identificadores> );

O comando WRITELN posiciona o cursor na próxima linha da tela.

Vetores

var
  array [ limite_inferior .. limite_superior ] of <tipo>;

Exemplo:

var
  Alunos : array [1..100] of string;
Alunos[1] := 'Valeria';

Operadores lógicos

Os operadores lógicos são utilizados para se analisar duas ou mais expressões interrelacionadas. Abaixo os operadores lógicos existentes em Pascal.

Operador Símbolo
E and
OU or
NÃO not

Exemplo 1

Neste exemplo vamos calcular a média de notas. Algo bem simples 🙂

  1. Program exemplo1;
  2. var
  3. nome : string;
  4. nota1, nota2, nota3 : integer;
  5. calc_media : real;
  6. begin
  7. nome := ‘James’;
  8. nota1 := 10;
  9. nota2 := 8;
  10. nota3 := 6;
  11. calc_media := (nota1 + nota2 + nota3) / 3;
  12. writeln (‘O aluno ‘, nome, ‘ teve a média:’ );
  13. writeln (calc_media);
  14. end.

Veja o resultado
exemplo-pascal-1

Exemplo 2

Na estrutura de decisão de múltipla escolha o Case é extremamente importante para extruturação de um programa que possua diversas opções de execução, tornando-o legível e estruturado, evitando o uso repetido do if.

  1. Program exemplo2;
  2. var
  3. valor : integer;
  4. begin
  5. write(‘Digite um número entre 0 e 2 ‘);
  6. readln (valor);
  7. case valor of
  8. 0: begin
  9. writeln (‘Número digitado = zero’);
  10. end;
  11. 1: begin
  12. writeln (‘Número digitado = um’);
  13. end;
  14. 2: begin
  15. writeln (‘Número digitado = dois’);
  16. end;
  17. else
  18. writeln (‘Número digitado inválido…’);
  19. end;
  20. end.

Veja o resultado
exemplo-pascal-2

Exemplo 3

  1. Program exemplo3;
  2. var
  3. cont : integer;
  4. begin
  5. cont := 0;
  6. while (cont < 5) do
  7. begin
  8. writeln(cont);
  9. cont := cont + 1;
  10. end;
  11. end.

Veja o resultado
exemplo-pascal-3

Estruturas de repetição – (for..do)

Este tipo de looping tem seu funcionamento controlado por uma variável de controle do tipo contador, podendo ser crescente ou descrescente.

  1. program loopingCrescente;
  2. uses crt;
  3. var
  4. cont: integer;
  5. begin
  6. for cont:= 1 to 10 do
  7. begin
  8. writeln (‘Ordem crescente:’, cont);
  9. end;
  10. end.

  1. program loopingDecrescente;
  2. uses crt;
  3. var
  4. cont: integer;
  5. begin
  6. for cont:= 10 downto 1 do
  7. begin
  8. writeln (‘Ordem decrescente:’, cont);
  9. end;
  10. end.

Exemplo 4

Faça um programa que leia a quantidade de notas de um aluno que o usuário informar e suas respectivas notas, ao final mostrar a soma total das notas e a sua média.

  1. program notasAluno;
  2. uses crt;
  3. var
  4. cont, qtdNotas : integer;
  5. nota, soma, media : real;
  6. begin
  7. nota := 0;
  8. soma := 0;
  9. media := 0;
  10. write (‘Digite a quantidade de notas de um aluno: ‘);
  11. readln (qtdNotas);
  12. for cont := 1 to qtdNotas do
  13. begin
  14. write (‘Digite a ‘, cont, ‘º nota.: ‘);
  15. readln (nota);
  16. soma := soma + nota;
  17. end;
  18. writeln (‘A soma das notas: ‘, soma:2:2);
  19. media := soma / qtdNotas;
  20. writeln (‘A média das notas: ‘, media:2:2);
  21. end.

Veja o resultado
exemplo-pascal-4

Exemplo 5

Neste 2º exemplo vamos fazer uma atividade um pouco mais difícil.
Uma fábrica tem 3 representantes. Cada um recebe uma comissão calculada a partir do número de itens de um pedido, segundo os seguintes critérios:

  • para mais de 20 itens vendidos, a comissão é de 10% do valor total do pedido;
  • para pedidos de 20 e 49 itens, a comissão é de 15% do valor total do pedido;
  • para pedidos de 50 a 74 itens, a comissão é de 20% do valor total do pedido;

Faça um programa que processe alguns pedidos. Para cada pedido o programa deve ler o código do representante (1 a 3) e o total de itens do pedido. Pode-se atribuir um valor fixo ao produto ou solicitar um valor de produto, para o cálculo do valor total do pedido (vp = itens * valor_prod).
Ao final, o programa deverá informar:

  • o valor da comissão de cada pedido;
  • o total faturado com todas as vendas realizadas (depois todos os pedidos processados);
  • o total de comissões a ser pagas, para cada representante;
  • o total de comissões que a companhia pagou a todos os seus representantes;
  • o nome do representante que mais “vendeu/faturou” para a empresa.

Um filme sobre Blaise Pascal

Um filme do ano de 1972, acompanha a trajetória de Pascal, dos 17 anos até sua morte precoce, mostrando seus célebres estudos de Matemática e Geometria, incluindo a criação da primeira calculadora mecânica.

Seus trabalhos revolucionários sobre o vácuo, os fluídos e a pressão atmosférica. Sua relação com o Jansenismo e a concepção de suas principais obras filosófico-religiosas.

Com austeridade, ternura e realismo, o diretor Rossellini realizou um filme de extrema beleza sobre os conflitos religiosos e filosóficos de um personagem histórico fascinante.

Compartilhe

Sobre o autor

James R. Moro

James Moro

Iniciei minha vida profissional como desenvolvedor web em 2008. Tenho um canal no Youtube onde publico vídeos sobre tecnologia.

Faça um comentário