Tsunade Tsunade  • 24.05.17 22:02

Introdução a Linguagem Pascal Empty Introdução a Linguagem Pascal 24.05.17 22:02

Olá a todos novamente!

Hoje, finalmente, iremos começar a programar de fato, e fazer o nosso primeiro programa! Quanto a linguagem, iremos utilizar a Linguagem Pascal num primeiro momento. Apesar de muitos não concordarem com o uso dela, eu a considero a melhor escolha para o ensino da programação, por ter uma sintaxe clara e fácil de ser entendida.

Para escrever e compilar (transformar o código escrito em um arquivo executável), utilizaremos o Pascal Zim, um ambiente criado pelo departamento de Ciência da Computação da Universidade de Brasília, para o auxílio no ensino da disciplina de Algoritmos. Atualmente, ele encontra-se na versão 5.01. O link para download você encontra aqui. Algumas pessoas podem preferir utilizar o Turbo Pascal, da Borland. Eu optei pelo Pascal Zim por dois motivos: a última versão do Turbo Pascal é de 1991 (ou seja, já tem 18 anos!!!) e também pelo fato do Pascal Zim ser brasileiro! (vamos valorizar os programadores do Brasil!). Caso queiram utilizar o Turbo Pascal, fiquem à vontade, pois a sintaxe é a mesma.

Após baixarem o Pascal Zim, descompacte-o utilizando o Winrar, PKZip, Winzip, 7Zip, enfim, qualquer um que você tenha aí. Logo após, vá até a pasta pascalzim e execute o Pzim.exe. Teremos a seguinte janela:

Introdução a Linguagem Pascal Pascalzim

Esta é a tela de edição de um programa no Pascal Zim. É nela que escreveremos os comandos que irão compor o nosso programa. A seguir, temos um programa simples em algoritmo que iremos passar para a linguagem Pascal:

algoritmo ola_mundo

[Processamento]
escreva("Olá, Mundo! Estou no blog do Striker07!")
[Fim]

Este é um programa extremamente simples, que escreve o texto Olá, Mundo! Estou no blog do Striker07! na tela. Em Pascal, este programa ficaria dessa forma:

program ola_mundo;

begin
write('Olá, Mundo! Estou no blog do Striker07!');
end.

Vamos agora explicar passo-a-passo este primeiro programa. Na primeira linha, temos Program Ola_Mundo; Esta linha define o nome do nosso programa, da mesma forma que definimos o nome do nosso algoritmo na primeira linha dele. Perceba que, os comandos do Pascal terminam com ; e se você não colocá-los, ocorrerá um erro na hora de compilar. Logo em seguida temos o Begin, que significa o início do programa. Os comandos do nosso programa começarão a ser escritos a partir deste Begin. Ele não tem ; porque não é um comando, mas uma indicação de que a área de processamento está iniciando. A seguir, temos o comando write(‘Olá, Mundo! Estou no blog do Striker07!’); que corresponde ao Escreva(“Olá, Mundo! Estou no blog do Striker07!”). Perceba, basicamente, é a mesma coisa no algoritmo e no programa, com a diferença de que no Pascal os comandos são em inglês. Outra diferença é que na linguagem Pascal o texto deve vir entre aspas simples ‘ enquanto que no algoritmo ele vem entre aspas duplas “. Também não se deve esquecer de colocar o ponto e vírgula no final do comando. Encerrando o programa, temos End. que indica o final do programa. Este End deve sempre ser acompanhado do ponto final, indicando que o programa se encerra aí.

Caso você esteja utilizando o Turbo Pascal, precisará incluir a seguinte linha depois do título do programa:

program ola_mundo;

uses
wincrt;

begin
...

Esta linha inclui a biblioteca padrão de comandos. Caso esteja utilizando a versão para DOS do Turbo Pascal, substitua wincrt por crt. No Pascal Zim, a biblioteca é incluída automaticamente, então não há a necessidade de colocar esta linha.

Vamos agora fazer um programa simples, que recebe dois números do usuário e os soma. Primeiro, vamos fazer o algoritmo deste programa:

algoritmo soma_dois_numeros

[Declaração de Variáveis]
numero1, numero2, resultado : inteiro

[Processamento]
escreva("Digite o primeiro número: ")
leia(numero1)
escreva("Digite o segundo número: ")
leia(numero2)
resultado ← numero1 + numero2
escreva("O resultado da soma é ", resultado)
[Fim]

Um algoritmo muito simples, onde lemos o valor de duas variáveis do tipo inteiro, e depois as somamos, armazenando na variável resultado, e mostramos na tela. Agora vamos fazer o mesmo programa em Pascal:

Código:
 

program soma_dois_numeros;
 
var
  numero1, numero2, resultado : integer;
 
begin
  write('Digite o primeiro número: ');
  readln(numero1);
  write('Digite o segundo número: ');
  readln(numero2);
  resultado := numero1 + numero2;
  write('O resultado da soma é ', resultado);
end.

Este programa tem alguns elementos a mais que o outro não tinha. Na primeira linha, temos o título do programa, da mesma forma como estava no Olá Mundo. Após isso, temos a área Var, onde declaramos as variáveis do tipo Inteiro, no caso da linguagem Pascal, Integer. A seguir os tipos básicos e os seus respectivos nomes na linguagem Pascal:

Inteiro = Integer
Real = Real
Caracter = Char
Booleano = Boolean
Literal = String

Na linguagem Pascal, todas as variáveis devem ser declaradas nesta seção. Caso queira declarar variáveis de tipos diferentes, deve-se fazer igual a um algoritmo:

Código:


// No Algoritmo
[Declaração de Variáveis]
  soma : inteiro
  inicial : caracter
  media : real
 
{ Em Pascal }
var
  soma : integer;
  inicial : char;
  media : real;

Uma coisa importante que eu tinha esquecido de falar é que a linguagem Pascal não distingue maiúsculas de minúsculas. Ou seja, Real é a mesma coisa que real ou rEaL ou reaL. Da mesma forma se você declarar uma variável Media, não poderá declarar outra com o nome de media.

Continuando o código, temos o início do programa. O primeiro comando escreve uma mensagem pedindo pra o usuário entrar com o primeiro número. Em programação, esse tipo de mensagem é conhecido como prompt. Em seguida, temos a função readln() que lê um valor do usuário e o armazena em uma variável. Depois, repetimos os dois comandos para ler o segundo número da soma. Em seguida, temos o cálculo da soma. Perceba que, na linguagem Pascal, o operador de atribuição é representado por := em vez da seta que representamos nos algoritmos. Na última linha, temos a apresentação do resultado na tela, através da função write(), onde colocamos entre os parênteses o texto e a variável que queremos exibir na tela.

Para concluir este primeiro post, vamos fazer um último programa que calcula a sua idade, baseando-se no seu ano de nascimento, utilizando o conceito de constantes. Teremos, então o seguinte algoritmo:

algoritmo calculo_idade

[Declaração de Constantes]
ano_atual = 2009

[Declaração de Variáveis]
ano_nascimento, idade : inteiro
nome : literal

[Processamento]
escreva("Olá! Poderia me dizer qual é o seu nome? ")
leia(nome)
escreva("Em que ano você nasceu? ")
leia(ano_Nascimento)
idade ← ano_atual - anoNascimento
escreva("Prazer em conhecê-lo, ", nome, ".")
escreva("Você tem ", idade, " anos.")
[Fim]

Passando este algoritmo para a linguagem Pascal, teremos o seguinte:
Código:

program calculo_idade;
 
const
  ano_atual = 2009;
 
var
  ano_nascimento, idade : integer;
  nome : string;
 
begin
  write('Olá! Poderia me dizer qual é o seu nome? ');
  readln(nome);
  write('Em que ano você nasceu? ');
  readln(ano_nascimento);
  idade := ano_atual - ano_nascimento;
  writeln('Prazer em conhecê-lo, ', nome, '.');
  write('Você tem ', idade, ' anos.');
end.

Basicamente, temos apenas um detalhe novo em relação ao último programa: a inclusão da área Const para a declaração de constantes. A declaração ocorre da mesma forma que nos algoritmos, ou seja, sem a definição do tipo, utilizando o operador = para indicar o valor da constante. Outro detalhe é a utilização da função writeln(). Mas qual a diferença entre write() e writeln()? Ao utilizar a função write(), o cursor ficará posicionado logo após o final do texto. Já na função writeln(), o cursor pulará para a próxima linha ao escrever o texto. O emprego dessas funções deve priorizar a estética na tela, deixando o programa com um visual mais “agradável”.

Qualquer dúvida, postem nos comentários.

Abraço a todos.
Permissões neste sub-fórum
Não podes responder a tópicos

BH Servers

Recomendamos a BH Servers com proteção DDOS gratuita em Cloud Server de alta performance. Entrega imediata.