A LINGUAGEM PASCAL (by Jucemito)
Adaptado do site: adptado de[Link]
Histórico:
Ano de criação: 1970
Criador: Criada por NIKLAUS WIRTH, na década de 1970, na Universidade Técnica de
Zurique – Suíça — o nome “Pascal” é uma homenagem matemático BLAISE PASCAL.
Tipo de Linguagem: É uma linguagem estruturada e fortemente tipada, muito utilizada no
ensino de programação.
Derivação: ALGOL 68
Vantagens e desvantagem:
Vantagem: É uma linguagem de fácil aprendizagem. Compõe uma boa base para o
aprendizado de lógica de programação que pode ser utilizada em diversas outras linguagens.
Também é a base para a linguagem Object Pascal (Para usar em IDE's tipo Delphi). É uma
linguagem compilada, onde gera automaticamente um executável. Possui um dos
compiladores mais rápidos do mercado.
Desvantagens: As versões somente do pascal, possuem poucos recursos Visuais, devendo
migrar para IDE’s do Object Pascal.
Versões e IDE’s: ([Link] )
Tipos de Dados: Letras e Números
Conteúdo Letras: Só Letras (Alfabéticas), Números e Caracteres especiais (Alfanuméricas);
Conteúdo Números: Números inteiros (sem ponto) e Números Fracionários (com o ponto);
Conteúdos Lógicos: Representa somente dois valores, Verdadeiros ou Falsos.
Representação dos tipos de Dados por Variáveis:
Alfabéticas e Alfanuméricas: String, Var, Varchar, …
Numéricas Inteiras (sem o ponto): Integer (ShortInt, SmallInt, LongInt, BigInt, int32, int64,
…).
Numéricas Fracionárias (com o ponto: Real (Float, Double, Single, …).
Boolean: True (para Verdadeiro) ou False (para Falso).
Comandos: São instruções que realizam atividades.
Comandos para Escrita: Write (‘String’, Variável) ou WriteLn (‘String’, Variável)
Comandos para Leitura de dados: Read (Variável) ou ReadLn (variável);
Comandos Desvios/Decisões: IF ... Then ... Else …; Case; Goto; …
Comandos Repetições (Loops): For ... do …; While; Repeate; …
Estrutura de uma lógica de programação:
Entrada de Dados: Uso das variáveis para obter os dados de entrada.
Processamento dos Dados: Cálculos efetuados com os valores das variáveis (Uso dos
Operadores Matemáticos, Relacionais e Lógicos, Contadores, Acumuladores, Medias, ...).
Saída dos Dados: Amostragem dos resultados obtidos.
Estrutura Geral de um Programa “Pascal”:
Program NomeDoPrograma;
Uses Crt; // Quando for usar biblioteca de comandos externos
Begin
writeln('Alô Mundo!');
End.
Declarando variáveis:
var A, B, Soma : Integer;
Nome, Sexo : String;
Salario, Peso, Altura : Real;
Comando de Entrada:
// Usa-se o WriteLn para mensagem ao usuário informando o que deve digitar
Writeln('Informe o valor da primeira variável:');
Readln(A);
Writeln('Informe o valor da segunda variável:');
Readln(B);
Atribuição (Cálculo de expressões) – O sinal atribuidor é o :=
Soma := A + B;
Comando de Saída: Geralmente usamos para se comunicar com o usuário,
mostrando mensagens e resultados
Writeln ('Resultado..............');
Writeln (A, ' + ', B, ' = ', Soma);
Comando Condicional/Pergunta/Decisão (If (Pergunta) Then ... Else ...): )
// If com um comando somente dentro do THEN ou ELSE
If ((A mod 2) = 0)
Then Writeln (A, ' é um nro par.')
Else Writeln (A, ' é um nro ímpar.');
// Um IF dentro de outro IF
If (A < 0)
Then writeln(A, ' é um nro negativo.')
Else If (A = 0) Then Writeln (A, ' é o nro zero.')
Else Writeln (A, ' é um nro positivo.');
If (A > B)
Then writeln (A, ' é maior que ', B)
Else If (A = B) Then Writeln (A, ' é igual a ', B)
Else Begin
Writeln ('Resultado conclusivo.');
Writeln (A, ' é menor do que ', B);
End;
Comandos de repetição (While, For e Repeat)
Verifica se um dado número inteiro eh um Calcula o fatorial de n:
número primo: var i, n: integer;
Var i, num: integer; fat: longint;
primo: boolean; begin
begin clrscr;
clrscr; write('Digite um número: ');
write('Digite um número : '); readln(n);
readln(num);
primo := true; fat := 1;
i := 2;
for i:=n downto 1 do
while (i <= (num div 2)) and fat := fat * i;
(primo = true) do
begin {ou }
if (num mod i) = 0
then primo := false; for i:=1 to n do
else i := i + 1; fat := fat * i;
end;
writeln(n, '! = ', fat);
if primo = true ...
then writeln('eh primo.') end.
else writeln('não eh primo.');
...
end.
Faz 10 repetições: Consistência de valores, somente aceita os
i := 1; caracteres M ou F:
while i <= 10 do var sexo: char;
begin begin
writeln(i);
i := i + 1; repeat
end; clrscr;
write('Sexo (M/F): ');
for i:=1 to 10 do writeln(i); readln(sexo);
until (sexo = 'M') or (sexo = 'm')
i := 1; or (sexo = 'F') or (sexo = 'f');
repeat ...
writeln(i); end.
i := i + 1;
until i > 10;
Looping infinito:
while true do
begin
clrscr; writeln(Informe o valor de n, (-1) para encerrar: ');
readln(n);
if (n = (-1))
then break;
...
end;
IDE – PascalZim (Não é necessário instalar, copiar)
===========================================================================
Programa base do Pascal
PROGRAM Nome;
//Preambulo ...
Type Nome : Tipo;
Var Nome : Tipo;
...
Uses Biblioteca;
Begin //
// Comandos ...
End. //
==========================================================================
{} - Chaves no pascal servem para fazer textos de comentários longos
// - Servem para fazer textos de comentários curtos (na linha)
{ kjskdjshdksjhdksjhdhskdh
sdlk
}
Program Soma2;
Var Soma, A, B : Real;
Begin
// Entrada
ReadLn (A);
ReadLn (B);
// Processamento
Soma := A + B;
// Saida
WriteLn (Soma);
End.
Adaptado
Program Soma2;
Var Soma, A, B : Real;
Begin
// Entrada
WriteLn ('Favor informar um numero->');
ReadLn (A);
WriteLn ('Favor informar outro numero->');
ReadLn (B);
// Processamento
Soma := A + B;
// Saida
WriteLn; WriteLn;
WriteLn ('A soma= ',Soma);
End.