Anda di halaman 1dari 21

Escola Nacional de Ciências Estatísticas

Curso de Graduação em Estatística


(Bacharelado)

Computação

Unidade IV:
Introdução à Programação Pascal

 Tipos, Constantes e Variáveis


 Operações Aritméticas e de
Atribuição
 Funções Matemáticas
 Entrada e Saída

Professor: Eduardo Corrêa


Data: 20/08/2007

1
Escola Nacional de Ciências Estatísticas

Introdução

A partir da unidade anterior, a lógica de programação passou a representar o foco


principal de nosso curso. Esse processo pode ser definido como a forma de encadear
corretamente pensamentos e separá-los em uma seqüência de passos que sejam capazes de
solucionar um determinado problema. Esta seqüência de passos é chamada de algoritmo.
Esta unidade apresenta os primeiros conceitos necessários para permitir com que o
estudante seja capaz de transformar algoritmos em programas Pascal. Estes conceitos são:
blocos de comandos, variáveis, tipos, constantes, operações aritméticas, operações de
atribuição, funções matemáticas e comandos de entrada e saída de dados.

IV.1 Linguagem Pascal

A linguagem Pascal é uma linguagem de alto nível desenvolvida no início dos anos
70 por Niklaus Wirth. A linguagem Pascal é uma linguagem de propósito geral; isto quer
dizer que, através dela, é possível construir qualquer tipo de programa (desde um programa
simples que soma dois números, até programas complexos como um controle de estoque,
ou mesmo, um sistema operacional).
A partir do fim dos anos 90, a linguagem PASCAL deixou de ser utilizada em
aplicações comerciais e passou a ser pouco utilizada em sistemas acadêmicos e científicos
(como acontecia nos anos 70 e 80). No entanto, mesmo nos dias de hoje, a linguagem ainda
apresenta algumas características vantajosas, conforme descrito a seguir:

• Em primeiro lugar, continua sendo uma das mais didáticas de todas as


linguagens, talvez a mais fácil de se aprender e ensinar. Linguagens como C,
C++ e Java (utilizadas nos sistemas atuais) são altamente simbólicas. Nestas
linguagens, tem-se por exemplo que os símbolos “{“ e “}” são utilizados para
delimitar o início e o fim de um bloco; A linguagem Pascal, por outro lado,
privilegia a utilização de palavras. Em Pascal, usa-se, por exemplo, “begin” e
“end” para marcar um bloco. Desta forma, os principiantes acabam por se sentir
menos assustados ao lidar com o Pascal como uma primeira linguagem. De fato,
uma das principais metas a serem atingidas pela linguagem Pascal, quando ela
foi criada nos anos 70, era de que a mesma pudesse servir como a melhor
ferramenta para o ensino de programação.

• A linguagem Object Pascal (Pascal com extensões orientadas a objeto) foi


adotada pelo Delphi1, desde a sua primeira versão, em 1995. Além disso, ainda
existem linguagens popularmente utilizadas que possuem o chamado estilo
Pascal-Like (sintaxe parecida com o Pascal), tais como a PL/SQL2, somente
para citar a mais importante delas.
1
Delphi é uma linguagem de programação muito popular (especialmente no Brasil). Ela é utilizada para o
desenvolvimento de aplicativos comerciais em ambiente Windows, principalmente aplicativos que precisam
interagir com informações armazenadas em banco de dados.
2
PL/SQL é a linguagem utilizada pelo banco de dados Oracle, que é o sistema gerenciador de banco de dados
mais utilizado em todo o mundo.

2
Escola Nacional de Ciências Estatísticas

As seções a seguir introduzem os conceitos fundamentais sobre a programação em


Pascal.

IV.2 Estrutura de um Programa em Pascal

Todo programa escrito em Pascal possui a estrutura apresentada na Figura IV.1. Ele
deve ser composto por um um cabeçalho e um bloco de comandos.

program NOME_DO_PROGRAMA; } cabeçalho


<seção de declarações> }

begin } bloco de
<comandos> } comandos
end. }
Figura IV.1 – Forma geral de um programa escrito em Pascal.

No cabeçalho do programa, a primeira linha sempre deve conter o nome do


programa e este deve ser indicado após a palavra reservada program. Uma palavra
reservada é uma palavra que possui um significado predefinido para o Pascal (ou seja, o
compilador Pascal “entende” as palavras reservadas, mas não entende outras palavras).
Ainda no cabeçalho do programa, a partir da segunda linha inicia-se a seção de
declarações. Nesta seção, o programador deve indicar ao Pascal quais informações serão
manipuladas pelo programa. É nesta seção, por exemplo, que serão especificadas todas as
variáveis.
As instruções (ou comandos) utilizados pelo programa devem ser colocados entre as
palavras reservados BEGIN e END. (observe que existe um ponto “.” após a palavra
END). As instruções serão executadas pelo computador na ordem em que estiverem
dispostas entre as palavras BEGIN e END. Ou seja, a instrução logo abaixo da palavra
BEGIN será a primeira a ser executada; a instrução a seguir será a segunda a ser executada;
e a instrução imediatamente anterior ao END. será a última a ser executada pelo
computador (se a lógica de programação estiver correta, o programador terá disposto as
instruções de forma adequada no programa). Uma instrução é sempre finalizada com o
caractere “ ; ” (ponto-e-vírgula).

3
Escola Nacional de Ciências Estatísticas

IV.3 Variável: o Elemento Fundamental da Programação

O conceito de variável pode ser entendido pelo aluno da seguinte forma: o nome de
um local onde é possível guardar um determinado valor. Este valor pode ter sido
especificado como entrada pelo usuário (via teclado, por exemplo) ou pode ter sido
calculado dentro do programa. Para simplificar ainda mais, você pode imaginar a variável
como sendo uma “caixinha” que possui um nome e guarda um determinado valor (Figura
IV.2).

Figura IV.2 – Variáveis servem para guardar informações.

Na figura acima são apresentadas três variáveis: NOME, IDADE e SALARIO. A


variável NOME armazena o valor “Maria”. Em outras palavras, pode-se dizer que o
conteúdo da variável NOME é “Maria”. A variável IDADE tem conteúdo 32, enquanto
SALARIO armazena o valor 1500.02.

Na realidade uma variável representa um endereço da memória principal do


computador, onde alguma informação está armazenada (Figura IV.3). Melhor explicando: a
variável é um “apelido” para uma posição de memória. É mais fácil, dentro de um
programa, localizar a informação usando este apelido (por exemplo, NOME) do que
utilizando o número de um endereço onde a informação está armazenada (como, por
exemplo (FFFFEA00)16).

Figura IV.3 – Uma variável aponta para algum endereço da memória principal.

4
Escola Nacional de Ciências Estatísticas

Todas as variáveis que serão utilizadas em um programa Pascal precisam ser


declaradas (na seção de declarações do programa). Esta declaração consiste em especificar
o seu nome e o seu tipo de dado. A Figura IV.4 ilustra a declaração de quatro variáveis em
um programa.A palavra reservada var foi utilizada para avisar ao Pascal que desejamos
declarar variáveis (isto é necessário porque na seção de declarações é possível declarar
outras coisas além de variáveis).
No programa da Figura IV.4, a variável chamada NOME é do tipo string; da mesma
forma IDADE é do tipo integer, SALARIO do tipo real e POSSUI_CARRO do tipo
boolean.

program Declara1;
var NOME: string;
IDADE: integer;
SALARIO: real;
POSSUI_CARRO: boolean;
begin
...
end.

Figura IV.4 – Declaração de Variáveis.

É possível declarar diversas variáveis de um mesmo tipo de uma vez só, bastando
separar os nomes de cada variável por vírgula (Figura IV.5).

program Declara2;
var NOME, ENDERECO, PROFISSAO: string;
IDADE, QUANT_FILHOS: integer;
begin
...
end.

Figura IV.5 – Declaração de Diversas Variáveis numa Mesma Linha.

As subseções a seguir fornecem detalhes sobre as propriedades das variáveis.

IV.3.1 Nomenclatura de Variáveis

Quando o programador for dar nome para as variáveis em um programa Pascal,


precisará respeitar as seguintes regras:

• O primeiro caractere (primeira posição do nome) deve ser uma letra.


• Os caracteres seguintes podem ser letras, números ou o caractere especial “_”
(underscore ou sublinhado). Outros caracteres especiais não são aceitos em
nomes de variáveis (tais como “*”, “+”, “&”, etc).

5
Escola Nacional de Ciências Estatísticas

Os seguintes nomes de variáveis são válidos:

• PESO, ALTURA, IMC, X, Y, Z, KM, Milhas, ZZZ, PI


• Salario_Anual, TOT_RENDA, Z_Z_Z
• N1, N2, Z10, H999

Os nomes a seguir são inválidos (não podem ser utilizados como nomes de
variáveis):

• 1N, 10_ABC, 2ALTURA (começam com número).


• *PESO*, E@MAIL, &1, X$ (contém caracteres especiais).
• _X (começa com co caractere sublinhado)

O nome de uma variável também é chamado de identificador da variável.

IV.3.2 Tipo de Dado

Toda variável possui, obrigatoriamente, um tipo de dado. O tipo de uma variável


determina a espécie de valor que a esta pode armazenar. Em Pascal existem quatro tipos
básicos: caractere, inteiro, real, e lógico.

• Caractere: armazena qualquer informação composta por caracteres. Existem


dois subtipos:

SUBTIPO INTEIRO DESCRIÇÃO EXEMPLOS DE


DECLARAÇÃO E
VALORES VÁLIDOS
char Pode armazenar apenas uma letra, ‘A’, ‘B’, ‘e’, ‘X’, ‘0’,
número ou dígito. ‘9’, ‘*’, ‘/’, ‘@’, ‘#’

Ocupa 1 byte em memória.


string Pode armazenar até 255 caracteres. ‘ENCE’,
‘info@hotmail.com’,
Ocupa de 1 a 255 bytes, dependendo ‘Av. Chile, 500’,
da quantidade de caracteres que irá ‘Niklaus Wirth’
armazenar.

• Inteiro: pode armazenar um número inteiro. O Pascal suporta os seguintes


subtipos de variável inteira:

6
Escola Nacional de Ciências Estatísticas

SUBTIPO INTEIRO DESCRIÇÃO EXEMPLOS DE


VALORES
VÁLIDOS
integer Mais comumente usado. Pode armazenar 0, 1, -1, -9999, 10,
número inteiro, positivo ou negativo na -500, 32767
faixa entre –32768 e +32767.

Ocupa 16 bytes em memória.


shortint Pode armazenar número inteiro, positivo 0, 1, -1, 65, -128,
ou negativo na faixa entre –128 e +127. -100, 100

Ocupa 1 byte em memória.


longint Pode armazenar número inteiro, positivo 0, 1, -1, 9999, -15,
ou negativo na faixa entre -2.147.483.648 e 2147483648
+2.148.483.647.

Ocupa 32 bytes em memória.


byte Pode armazenar apenas número inteiro 0, 1, 128, 255
positivo na faixa entre 0 e 255.

Ocupa 1 byte em memória.


word Pode armazenar apenas número inteiro 0, 1, 128, 255,
positivo na faixa entre 0 e 65535. 1000, 65535.

• Real: pode armazenar um número real (fracionário). , seja ele negativo, nulo ou
positivo. Exemplos: 0, 1, -1, 3.14, -99.99, 1.50, 1000, 100000.

O Pascal suporta os seguintes subtipos de variável real:

SUBTIPO REAL DESCRIÇÃO


real Mais utilizado neste curso. Pode armazenar número real,
positivo ou negativo na faixa entre 2,9 x 10-39 a 1,7 x 1038.

single Representam outros subtipos de variáveis real que serão menos


double utilizados ao longo deste curso.
extend
comp

• Lógico: armazena apenas um destes dois valores: TRUE (verdaeiro) ou FALSE


(falso). Existe apenas um subtipo em Pascal, chamado boolean. Este tipo de
variável deve ser preferencialmente utilizado quando desejamos armazenar uma

7
Escola Nacional de Ciências Estatísticas

informação cujo valor será ou verdadeiro ou falso (ex: Possui Carro? Possui
Casa Própria? Tem cartão de crédito?).

IV.3.3 Atribuição

A atribuição consiste na operação de armazenar um valor em uma variável. O valor


deve ser compatível com o tipo da variável. Veja o exemplo da Figura IV.6

program Atribui1;
var NOME: string;
IDADE: integer;
SALARIO: real;
POSSUI_CARRO: boolean;
begin
NOME := ‘Maria’;
IDADE := 33;
SALARIO := 1500.05;
POSSUI_CARRO := TRUE;
end.

Figura IV.6 – Atribuição.

O operador “:=” ( “dois-pontos-igual”) é utilizado como operador de atribuição na


linguagem Pascal. No programa acima, quatro variáveis foram declaradas na seção de
declarações: NOME (tipo string), IDADE (tipo integer), SALARIO (tipo real) e
POSSUI_CARRO (tipo boolean). Quando uma variável é declarada, o Pascal cria uma
“caixinha vazia” para cada uma das variáveis (ou seja, o conteúdo das variáveis é vazio). A
seguir, no bloco de comandos, existem instruções de atribuição que preenchem o conteúdo
de cada variável.
Na linha 7, o conteúdo da variável NOME é preenchido com o valor “Maria”. Ao
atribuir um valor para uma variável do tipo string e char é preciso especificar este valor
entre aspas simples (o modo correto é NOME := ‘Maria’ e não NOME := Maria).
Na linha 8, o valor 33 foi atribuído à variável IDADE. A variável IDADE aceita
apenas números inteiros. Seria um erro atribuir um valor como 33.5 a esta variável, por
exemplo.
Na linha 9, o valor 1500.05 foi atribuído à variável SALARIO. Observe que, pelo
fato do Pascal utilizar a língua inglesa como base, o ponto “.” é utilizado como separador
entre as partes decimal e fracionária do número
Na linha 10 o valor TRUE foi atribuído à variável POSSUI_CARRO. Como esta
variável é do tipo boolean, ela só aceita dois valores TRUE ou FALSE. Estes valores não
devem ser postos entre aspas!

O conteúdo de uma variável pode ser modificado a qualquer momento no bloco de


comandos do programa (é exatamente por isso que ela se chama “variável”). Cada variável
pode armazenar apenas um valor de cada vez. Quando um novo valor é atribuído a uma

8
Escola Nacional de Ciências Estatísticas

variável, o valor antigo é apagado (por isso, é dito que a operação de atribuição é
destrutiva).

IV.3.4 Operações Aritméticas

Finalizando esta seção, a Tabela IV.1 apresenta os principais operadores aritméticos


do Pascal. Estes operadores permitem a realização de cálculos sobre números inteiros ou
reais.
Tabela IV.1 – Operadores Aritméticos.
Operador Operando Resultado
+ (adição) Inteiro ou real Inteiro ou real
- (subtração) Inteiro ou real Inteiro ou real
* (multiplicação) Inteiro ou real Inteiro ou real
/ (divisão real) Inteiro ou real Real
DIV (quociente da divisão inteira) Inteiro Inteiro
MOD (resto da divisão inteira) Inteiro Inteiro

O programa da Figura IV.7 apresenta exemplos de utilização destes operadores,


tornando mais claros os conceitos apresentados.

program Contas;
var I1, I2, I3, I4, I5 : integer;
R1: real;
begin
I1 := 6 + 1 * 10;
I2 := (6 – 1) * 10;
I3 := I1 + I2;
I4 := 15 DIV 2;
I5 := 15 MOD 2;
R1 := 10 – 4 / 2;
end.

Figura IV.7 – Operações Aritméticas.

Na linha 5, a variável I1 recebe o valor 16 como conteúdo. As operações de


multiplicação e divisão possuem prioridade sobre a soma e a subtração, mas esta prioridade
pode ser modificada com o uso de parênteses, como ocorre na linha 6 do programa (o valor
atribuído a I2 é 50).
A instrução da linha 7 faz com que I3 receba a soma do conteúdo de I1 (16) e de I2
(50). Ou seja, atribui-se 66 para a variável I3.
As linhas 8 e 9 demonstram os operadores DIV e MOD. Estes operadores só podem
ser aplicados a números inteiros. 15 DIV 2, significa “obtenha o quociente da divisão de 15
por 2”. Com isso, a variável I4 recebe o valor 7. Já 15 MOD 2 significa “obtenha o resto da
divisão de 15 por 2”, o que resulta em 1. Desta forma, 1 é atribuído como valor para a
variável I5.

9
Escola Nacional de Ciências Estatísticas

Na última linha do programa, apresenta-se uma conta envolvendo o operador “ / ”


(divisão real). No Pascal, o resultado de qualquer operação envolvendo “ / ” resulta em um
número real e por isso precisa ser armazenado numa variável real. A conta 10 – 4 / 2 resulta
em 8 este valor é armazenado em R1. O resultado é inteiro, mas foi preciso armazena-lo
numa variável real, por exigência do Pascal.

IV.4 Entrada de Dados

Nas linguagens de programação, um comando de entrada serve para permitir com


que o programa possa receber dados do ambiente externo (dados especificados pelo
usuário) e armazena-los em variáveis. A linguagem Pascal possui um comando principal de
entrada: readln.
O comando de entrada é aquele que permite que o usuário digite dados,
possibilitando um “diálogo com o computador”. O dado digitado é copiado
imediatamente para a variável especificada. Observe o seguinte exemplo:

readln(NOME);

Este comando significa: “leia um valor para a variável nome”. Quando o


computador “vê” este comando, ele fica esperando o usuário digitar uma informação. O
computador não passa para a instrução seguinte do programa enquanto o usuário não digitar
uma informação.

OBS: o comando READ também é usado para entrada em Pascal, mas não será utilizado
neste curso.

IV.5 Saída de Dados

Um comando de saída é responsável por enviar dados (um resultado ou uma


mensagem) para o usuário, através de um dispositivo de saída (monitor, impressora, etc). A
linguagem Pascal possui apenas dois comandos de saída: write e writeln.
A informação a ser exibida como saída deve estar especificada entre parênteses.
Através de um comando de saída é possível escrever três tipos de informação na tela: uma
mensagem, o valor de uma variável ou o resultado de uma operação aritmética.

IV.5.1 Escrevendo uma mensagem

Para escrever uma mensagem na tela, basta usar o comando writeln (ou write) e
especificar a mensagem entre aspas simples, conforme apresentado no programa da Figura
IV.8.

10
Escola Nacional de Ciências Estatísticas

program HelloWorld;
begin
writeln(‘Hello World’);
readln;
end.

Figura IV.8 – Escrevendo uma Mensagem

Este programa não possui entrada e não realiza nenhum processamento. Somente
escreve uma mensagem na tela através do comando localizado na terceira linha. O comando
readln na quarta linha serve apenas para esperar o usuário digitar ENTER antes de terminar
o programa (é um “macete” costumeiramente usado no Pascal).

IV.5.2 Escrevendo o valor de uma variável

Para escrever o valor de uma variável, é necessário especificar a variável sem usar
aspas simples. Veja o exemplo da Figura IV.9: o que aparece na tela é o valor de X (10).

program EscreveVariavel;
var X: integer;
begin
X := 10;
writeln(X);
readln;
end.

Figura IV.9 – Escrevendo o Valor de uma Variável

11
Escola Nacional de Ciências Estatísticas

IV.5.3 Escrevendo o valor de uma operação aritmérica

Para escrever o valor de uma expressão, basta introduzir esta expressão entre
parênteses (sem usar as aspas! Elas são usadas apenas quando desejamos imprimir
mensagens). No exemplo da Figura IV.10 o Pascal calcula a expressão X * 10 + 100
(resulta em 200, pois X é igual a 10) e, em seguida, exibe o seu resultado na tela.

program EscreveVariavel;
var X: integer;
begin
X := 10;
writeln(X * 10 + 100);
readln;
end.

Figura IV.10 – Escrevendo o Valor de uma Expressão

IV.5.4 Write x Writeln

Os comandos write e writeln são idênticos a não ser por uma característica: o
comando writeln imprime a informação desejada e, depois, força uma quebra de linha. O
comando write imprime a mensagem e não “pula linha”. Veja o exemplo da Figura IV.11.

program HelloWorld2;
begin
writeln(‘ Hello’);
writeln(‘ World’);
write(‘ Hello’);
write(‘ World’);
readln;
end.

Figura IV.11 – Write x Writeln

12
Escola Nacional de Ciências Estatísticas

IV.6 Problemas Resolvidos

Esta seção apresenta uma série de exercícios resolvidos que exemplificam a


estruturação do bloco de comandos, a utilização de variáveis e dos comandos de entrada e
saída. Muitos dos exercícios foram resolvidos na aula de laboratório. Para observar o
funcionamento dos programas, digite e compile os exemplos no Dev-Pascal.

EXEMPLO IV.6.1 Escreva um programa que solicite ao usuário um valor de distância em


MILHAS. Em seguida calcule e imprima o valor equivalente em QUILÔMETROS.

RESOLUÇÃO:

program Milhas_Para_Km;
var MILHAS, Km: real;
begin
writeln('* * Programa Conversor: Milhas -> Km * *');
writeln;
write('Digite o valor da distancia em Milhas: ');
readln(MILHAS);
Km := MILHAS * 1.61;
writeln;
writeln('O valor equivalente em km eh: ', Km);
readln;
end.

EXPLICAÇÃO:

1. A primeira linha contém o nome do programa (“Milhas_para_Km”). Ela faz parte


do cabeçalho do programa.

2. A segunda linha contém a declaração das variáveis MILHAS e Km. Conforme visto
anteriormente, uma variável serve para armazenar informações que serão utilizadas
pelo programa.As duas variáveis foram declaradas como sendo do tipo real.

3. As oito linhas localizadas entre as palavras reservadas begin e end. representam o


bloco de comandos do programa. Observe que cada comando é finalizado sempre
por um ponto-e-vírgula (“;”). O computador reconhece o fim de uma instrução
quando encontra o “;”.

4. A quarta linha exibe uma mensagem que informa ao usuário sobre o propósito do
programa.

5. A comando da linha 5 (writeln sem nenhum parâmetro) é usado apenas por motivos
“estéticos”. Ele faz com que uma linha em branco seja impressa na tela.

13
Escola Nacional de Ciências Estatísticas

6. A linha 6 exibe uma mensagem no vídeo, pedindo com que o usuário digite o valor
de uma distância em milhas.

7. A linha 7 é a responsável, de fato, por receber o valor que será digitado pelo usuáiro
e armazenar na variável MILHAS. Ela contém o comando readln, o comando de
entrada do Pascal. Quando o computador “vê” a instrução readln(MILHAS) ele
“sabe” que deve esperar o usuário digitar um valor no teclado e “sabe” que deve
copiar este valor para a variável MILHAS.

8. Contém um comando que converte o valor da distância em milhas para quilômetros,


através de uma operação aritmética. O resultado é armazenado na variável Km, com
o uso do comando de atribuição.

9. O comando da linha 9 imprime uma linha em branco na tela.

10. A linha 10 imprime uma mensagem e o valor armazenado na variável Km. Note que
a mensagem é especificada entre aspas, depois usa-se o caractere virgula e o
identificador Km (a vírgula é utilizada para separar as coisas que desejamos
imprimir no writeln).

11. O readln final (linha 11) serve apenas para “segurar a tela”.

Uma maneira mais “bonita” de resolver este programa é alterar a linha 11 da seguinte
forma:

writeln('O valor equivalente em km eh: ', Km:5:2);

Esta alteração faz com que o valor da variável Km seja impresso com 5 casas inteiras e
duas casas decimais. Isto chama-se “máscara de exibição”. Se não utilizamos uma máscara,
o Pascal imprime o valor de variáveis reais usando notação científica.

RESOLUÇÃO ALTERNATIVA:

program Milhas_Para_Km;
var MILHAS: real;
begin
writeln('* * Programa Conversor: Milhas -> Km * *');
writeln;
write('Digite o valor da distancia em Milhas: ');
readln(MILHAS);
writeln;
writeln('O valor equivalente em km e: ', MILHAS * 1.61);
readln;
end.

14
Escola Nacional de Ciências Estatísticas

EXPLICAÇÃO:

Neste exemplo, optamos por não declarar a variável Km. O valor da conversão de milhas
para quilômetros é calculado e impresso dentro do próprio comando writeln.

EXEMPLO IV.6.2 A conversão de graus Celsius para graus Fahrenheit é obtida pela seguinte
fórmula:

F = C x 1,8 + 32

Elabore um programa que receba como entrada o valor da temperatura em graus Celsius e
imprima o valor da temperatura em graus Fahrenheit.

RESOLUÇÃO:

program Temperatura;
var C, F: real;
begin
writeln('--> Programa Conversor: Celsius -> Fahrenheit');
writeln;
write('Digite o valor da temperatura em graus Celsius: ');
readln(C);
F := C * 1.8 + 32;
writeln;
writeln('Valor equivalente em Fahrenheit = ', F:5:2);
readln;
end.

EXEMPLO IV.6.3 A Escreva um programa que solicite ao usuário as seguintes informações:


distância a ser percorrida (em Km) e consumo de combustível do carro (em Km / litros ).

Em seguida o programa deve calcular e imprimir quantos litros de combustível são


necessários para percorrer a distância.

RESOLUÇÃO:

program Consumo;
var DIST, CONSUMO, LITROS: real;
begin
writeln('* * Programa LITROS DE GASOLINA * *'); writeln;
write('Digite o valor da distancia que voce vai percorrer (em Km): ');
readln(DIST); writeln;
write('Especifique o consumo do seu carro (em Km/l): ');
readln(CONSUMO); writeln;
LITROS := DIST / CONSUMO;
writeln('Voce deve abastecer ', LITROS:3:2, ' litros de combustivel');
readln;
end.

15
Escola Nacional de Ciências Estatísticas

EXEMPLO IV.6.4 Escreva o seguinte programa “interativo” em Pascal: o computador deve


fazer a seguinte pergunta ao usuário “Qual o seu nome?”.

O usuário então, digita seu nome e, em seguida, o computador deve imprimir a seguinte
mensagem na tela:

Bom dia, fulano!

Você já está ficando “fera” em Pascal...

RESOLUÇÃO:

program Interacao;
var N: string;
begin
writeln('Qual o seu nome?');
readln(N);
writeln;
writeln('Bom dia ', N, '!');
writeln('Voce ja está ficando “fera” em Pascal... ');
readln;
end.

EXEMPLO IV.6.5 Exemplo de programa que demonstra a alteração em conteúdo de variável


ao longo do bloco de comandos.

RESOLUÇÃO:

program Variavel;
var NOME: string;
begin
NOME:= 'ENCE';
Writeln(NOME);
NOME := 'IBGE';
Writeln(NOME);
Readln;
end.

16
Escola Nacional de Ciências Estatísticas

EXEMPLO IV.6.6 Escrever um programa que funcione da seguinte maneira:

Inicialmente, o programa deve ler um número inteiro digitado pelo usuário e armazená-lo
numa variável chamada x.

Em seguida, o sistema deve calcular e imprimir o valor da função y = f(x) + g(x), onde:

h(x) = x2 – 16

f(x) = h(x) x 2;

g(x) = h(x) + 4;

RESOLUÇÃO:

program Fxy;
var X, Y, Hx, Fx, Gx: integer;
begin
writeln('programa y = f(x) + g(x)');
writeln;
writeln('Digite o valor de x'); readln(x);
hx := (x * x) – 16;
fx := hx * 2;
gx := hx + 4;
y := fx + gx;
writeln;
writeln('y = ', y);
readln;
end.

IV.7 Comentários

Os comentários são textos ou frases que aparecem delimitados entre os símbolos { e


} ou (* e *) em um programa Pascal. Os comentários são ignorados pelo compilador
Pascal na hora de gerar o programa em linguagem de máquina. Eles servem apenas para
documentação do programa (para serem lidos pelos humanos que estiverem analisando ou
alterando um programa).

IV.8 Constantes

As constantes são utilizadas para armazenar, dentro de um programa, um valor fixo.


As constantes são definidas na seção de declarações do programa e jamais podem ter o seu
conteúdo alterado. Em geral as constantes são utilizadas para melhorar e legibilidade de
um programa e facilitar a programação. A declaração de constantes é feita por intermédio
da palavra reservada const. Veja o exemplo a seguir:

17
Escola Nacional de Ciências Estatísticas

EXEMPLO IV.6.7 Escreva um programa que receba como entrada o valor do raio de uma
esfera e calcule e imprima o valor da área e do volume.

A = 4πr2
V = 4π r3 ÷ 3

RESOLUÇÃO:

program Esfera;
const PI = 3.14;
var raio, A, V: real;
begin
writeln('programa que calcula a area e volume da esfera');
writeln;
writeln('Digite o valor do raio:'); readln(raio);
A := 4 * PI * (raio * raio);
V := 4/3 * PI * (raio * raio * raio);
Writeln('Area = ', A);
Writeln('Volume = ', V);
end.

IV.9 Funções Matemáticas

A linguagem Pascal possui um conjunto de funções matemáticas que podem ser


utilizadas para manipular números inteiros e reais. Uma função é utilizada da seguinte
forma: ela recebe um ou mais parâmetros como entrada e retorna um valor como saída. O
valor retornado pode ser armazenado numa variável ou pode ser utilizado em expressões.

A Tabela IV.2 apresenta algumas destas funções:


Tabela IV.2 – Funções Matemáticas
Função Descrição Parâmetro Resultado
srq(x) Determina o quadrado de x Inteiro ou real O mesmo de x
sqrt(x) Determina a raiz quadrada Inteiro ou real Real
de x
round(x) Arredondamento de x Real Inteiro
(determina o inteiro mais
próximo)
trunc(x) “trucamento” de x (remove a Real Inteiro
parte decimal do número)
sin(x) Calcula o seno de x em Inteiro ou real Real
radianos
cos(x) Calcula o co-seno de x em Inteiro ou real Real
radianos

18
Escola Nacional de Ciências Estatísticas

EXEMPLO IV.6.8 Utilizando de funções matemáticas

program Funcoes;
var X, Y, Q, R: real;
Z1, Z2: integer;
begin
X:=100; Y:= 9;
R := sqrt(X); {R recebe 10}
Q := sqr(Y); {Q recebe 81}
Writeln(X:2:2,' ', Y:2:2, ' ', R:2:2, ' ',Q:2:2);
X := 1.8;
Z1 := round(X); {Z1 recebe 2}
Z2 := trunc(X); {Z2 recebe 1}
Writeln(X:2:2,' ', Z1,' ', Z2);
Readln;
end.

ANEXO 1 - Palavras Reservadas do Pascal

As palavras reservadas têm um sentido predefinido em Pascal. Isto quer dizer que
elas conseguem ser “decodificadas” como instruções pelo compilador Pascal. As principais
palavras reservadas são indicadas na Tabela IV.1.

Tabela IV.1 – Principais palavras reservadas do Pascal


AND DO FORWARD MOD PROCEDURE TO
ARRAY DOWNTO FUNCTION NIL PROGRAM TYPE
BEGIN ELSE GOTO NOT RECORD UNTIL
CASE END IF OF REPEAT VAR
CONST FILE IN OR SET WHILE
DIV FOR LABEL PACKED THEN WITH

Na prática isto quer dizer, que você não pode, por exemplo, chamar o seu programa de
Program Array, pois ARRAY é uma palavra reservada. Um nome de programa nunca pode
ser igual ao de uma palavra reservada. Da mesma maneira, você não pode declarar uma
variável ou constante com o nome de uma palavra reservada.

Exercícios

(1) Faça um programa que solicite a idade de uma pessoa e que, depois, imprima quantos
anos ela terá em 2030.

(2) Faça um programa que receba a base e a altura de um triângulo e que calcule e imprima
a sua área.

19
Escola Nacional de Ciências Estatísticas

(3) Escreva um programa capaz de gerar a tela apresentada a seguir:

(4) Quais serão os valores das variáveis X1, X2, Y1, Y2 ao final da execução do programa
abaixo?
program Valores;
var X1, X2: real;
Y1, Y2: integer;
begin
X1:=0; X2:=2; Y1:= sqr(9);
Y2 := (Y1 MOD 5) + (Y1 DIV 9);
Y1 := trunc(8.9) + round(9.1);
X1 := 5 * 10 + 12 / 3; X1 := Y1 * 10;
readln;
end.

(5) Escreva um programa que receba como entrada o valor de um número inteiro N e que
calcule o valor de S da seguinte forma:

S = 1 * (N - 1) + 2 * (N - 2) + 3 * (N - 3) + 4 * (N - 4) + 5 * (N - 5)

(6) Escreva um programa para o cálculo do valor de uma prestação em atraso, utilizando a
fórmula: prestação = valor + (valor * (taxa / 100) * tempo).

OBS: observe a fórmula acima e decida que dados você precisará receber como entrada.

(7) Faça um programa que receba como entrada o nome, a idade e o valor do salário mensal
de uma pessoa. Em seguida calcule o salário desta pessoa em quantidade de salários
mínimos e imprima a seguinte mensagem na tela:

Seu nome é fulano, você tem x anos e você recebe z salários mínimos por mês.

20
Escola Nacional de Ciências Estatísticas

(8) Faça um programa que receba dois números inteiros e imprima:


- o quadrado da diferença do primeiro valor pelo segundo;
- a diferença dos quadrados dos dois números

(9) Faça um programa que receba 10 números como entrada e calcule e imprima a média
destes 10 números.

Exercícios Especiais

(10) Considere uma empresa de engenharia que possui um programa para a contratação de
recém-formados. Neste programa, 10 engenheiros “trainees” são contratados anualmente.
Estes novos funcionários começam a trabalhar no mês de janeiro, com salário inicial de R$
2.000,00. No mês de junho os trainees recebem um aumento salarial de 2%. No mês de
Dezembro o salário é aumentado em mais 5%. Elabore um programa que calcule e imprima
o valor gasto pela empresa ao final do ano com os salários dos 10 engenheiros trainees.

OBS: considere que estes funcionários não recebem 13o Salário.

(11) Escreva um programa que leia o valor de duas variáveis A e B do tipo char, efetuar a
troca dos valores, de forma que a variável A passe a ter o valor da variável B e que a
variável B passe a ter o conteúdo da variável A. Apresente na tela os valores trocados.

(12) Faça um programa que leia um número inteiro de 4 dígitos e que imprima, em duas
linhas separadas, os dois primeiros e os dois últimos algarismos deste número:

Ex: se usuário digitar o número 3025, o programa deve imprimir:

- Dois primeiros algarismos = 30


- Dois últimos algarismos = 25

Dica: utilize os operadores DIV e MOD

21

Anda mungkin juga menyukai