quinta-feira, 26 de março de 2009

Estruturas de Decisão

ESTRUTURAS DE DECISÃO
Imagine um programa que apresente a média escolar de um aluno. Até aqui, muito simples; mas além de calcular a média, o programa deve apresentar uma mensagem indicando se o aluno foi aprovado ou reprovado. Esta variável, que até então servia para cálculos, agora passa a ser uma variável de controle, onde partir dela poderemos tomar uma decisão sobre o status do aluno. Em Pascal existem duas instruções para efetuar tomadas de decisão e desvios de operações:
a instrução de decisão simples if...then; e
a instrução de decisão composta if...then...else.

Instrução if..then

A instrução if...then tem por finalidade tomar uma decisão e efetuar um desvio no processamento, dependendo, é claro, da condição atribuída ser verdadeira ou falsa.
Sendo a condição verdadeira, será executada a instrução que estiver escrita após a instrução if..then. Se a instrução for falsa, serão executadas as instruções que estejam após as instruções consideradas verdadeiras.
Sintaxe:

if then
;
;

Vejamos um exemplo de um trecho de programa com o uso da instrução

if...then:
...
if (x > 10) then
writeln(“O valor da variavel X e 10”);
...
Caso venha a existir mais de uma instrução verdadeira para uma determinada condição, estas deverão estar inseridas em um bloco. Um bloco é o conjunto de instruções estar entre begin e end.




Sintaxe:
if then
begin




end;

Observe que o end é finalizado com um ponto-e-vírgula ( ; ) e não apenas ponto. O uso de ponto ao final de um end ocorre somente na finalização de um programa.
Vejamos um exemplo de um trecho de programa com a utilização de um bloco de instruções:
...
if (x > 10) then
begin
writeln(“O valor da variavel X e 10”);
x : = x + 1;
writeln(“O valor da variavel X agora e11”);
end;
...
Vejamos um exemplo completo de um programa com o uso da instrução if...then.

“Ler dois valores inteiros e independentemente da ordem em que foram inseridos, estes deverão ser exibidos em ordem crescente, ou seja, se forem fornecidos 5 e 3 respectivamente, deverão ser apresentados 3 e 5. O programa em questão deverá efetuar a troca dos valores entre as duas variáveis”

Algoritmo
1. Ler dois valores inteiros (estabelecer variáveis A e B);
2. Verificar se o valor de A é maior que o valor de B:
a. se for verdadeiro, efetuar a troca de valores entre as variáveis;
b. se for falso, pedir para executar o que está estabelecido no passo 3;
3. Apresentar os valores das duas variáveis.

Programa em Pascal

program ORDENA;
var
X, A, B : integer;
begin
write (‘Informe uma valor para a variavel A: ‘);
readln(A);
write (‘Informe uma valor para a variavel B: ‘);
readln(B);
writeln;
if (A > B) then
begin
X := A;
A := B;
B := X;
end;
writeln(‘Os valores ordenados são: ‘);
write(A, ‘ ‘, B);
end.
Instrução if...then...else

Assim como a instrução if...then, a instrução if...then...else tem por finalidade tomar uma decisão e efetuar um desvio no processamento. Se a condição for verdadeira será executada a instrução logo abaixo do if. Sendo a condição falsa, será executada a instrução que estiver posicionada logo após a instrução else. O conceito de blocos de instruções vale também para esta instrução.

Sintaxe:

if then

else
;
Caso venha a existir mais de uma instrução verdadeira ou falsa para uma condição, estas deverão estar inseridas em um bloco.

Sintaxe:

if then
begin
;
;
end
else
begin
;
;
end;

Observe que nos dois casos abordados acima, qualquer instrução que antecede a instrução else está escrita sem o ponto-e-vírgula (;). Isto ocorre pelo fato de a instrução else ser uma extensão da instrução if...then, e sendo assim, o final da condição somente ocorre após o processamento da instrução else.
Vejamos um exemplo:
“Ler dois valores numéricos e efetuar a adição. Caso o valor somado seja maior ou igual a 10, este deverá ser apresentado somando-se a ele mais 5. Caso o valor somado não seja maior ou igual a 10, esta deverá ser apresentado subtraindo-se 7.”

Algoritmo
1. Ler dois valores (variáveis A e B);
2. Efetuar a soma dos valores A e B, atribuindo o resultado da soma a uma variável X;
3. Verificar se X é maior ou igual a 10:
a. se for verdadeiro, mostrar X+5;
b. se for falso, mostrar X-7.

Programa em Pascal

program ADICIONA_NUMEROS;
var
X, A, B : integer;
begin
write(‘Informe um valor para a variavel A: ‘);
readln(A);
write(‘Informe um valor para a variavel B: ‘);
readln(B);
writeln;
X := A + B;
write (‘O resultado equivale a: ‘);
If (X>=10) then
writeln(X+5)
else
writeln(X-5)
end.
Podemos trabalhar com o relacionamento de duas ou mais condições dentro da instrução if...then. Para estes casos, é necessário trabalhar com os operador lógicos, vistos anteriormente. Vejamos alguns exemplos:

Operador AND

program TESTA-LOGICA-AND;
var
NUMERO : integer;
begin
write(‘Informe um numero: ’);
readln(NUMERO);
writeln;
if (NUMERO >= 20) and (NUMERO <=90) then
writeln(‘O numero esta na faixa de 20 a 90’)
else writeln(‘O numero esta fora da faixa de 20 a 90’);
end.

Operador OR

program TESTA-LOGICA-OR;
var
A, B : integer;
begin
write(‘Informe um valor para a variavel A: ‘);
readln(A);
write(‘Informe um valor para a variavel B: ‘);
readln(B);
writeln;
if (A>0) or (B>0) then
writeln(‘Um dos numeros e positivo’);

Operador NOT

program TESTA-LOGICA-NOT;
var
A, B, C, X : integer;
begin
write(‘Informe um valor para a variavel A: ‘);
readln(A);
write(‘Informe um valor para a variavel B: ‘);
readln(B);
write(‘Informe um valor para a variavel X: ‘);
readln(X);
if not (X>5) then
C := (A + B) * X
else
C := (A - B) * X;
writeln(‘O resultado da variavel C corresponde a:’, C);
end.

Tipos de Dados em Pascal

Comentários
Comentários são textos escritos dentro do código-fonte para explicar ou descrever alguns aspectos relativos ao mesmo. Os comentários podem ser colocados em qualquer lugar do programa onde um espaço em branco possa existir.
Você pode colocar comentários de duas formas: ou envolvendo o texto entre chaves “{..}” ou entre “ (* .. *)”. Quando o compilador encontra o símbolo “{“ ele salta todos os caracteres até encontrar um “}”. Da mesma forma, todos os caracteres que seguem “(*” são pulados até ser detectado o símbolo ”*)”. Como resultado disso, qualquer uma das formas pode ficar dentro da outra; por exemplo {...(*...*)...} é um comentário.

Tipos de Dados
Os dados são representados pelas informações a serem processadas por um computado. Um tipo de dados especifica as características, ou seja os valores e operações possíveis de serem utilizados com um dado desse tipo. Toda variável e constante usada em um programa tem um tipo associado a ela. A linguagem Pascal fornece ao programador um conjunto de tipos de dados predefinidos.
Tipos de Dados Inteiros
São caracterizados tipos inteiros, os dados numéricos positivos ou negativos, excluindo-se qualquer número fracionário. Em Pascal, este tipo de dado pode ser referenciado por um dos seguintes identificadores:

Tipo de dado inteiro Faixa de abrangência Tamanho(bytes )
shortint de –128 até 127 1 byte
integer de –32.768 a 32.767 2 bytes
longint de –2.147.483.648 a 2.147.483.647 4 bytes
byte de 0 até 255 1 byte
Word de 0 até 65535 2 bytes

Vejamos um exemplo:

var
NumAlunos : integer;
Cont, cont1: integer;

Tipos de Dados Reais
O tipo de dado real permite trabalhar com números fracionários, tanto positivos como negativos, sendo sua capacidade de armazenamento maior que dos números inteiros. Vejamos os tipos:
Tipo de dado real Faixa de abrangência Tamanho(bytes )
real de 2.9 e -39 até 1.7 e 38 6 bytes
single de 1.5 e-45 até 3.4 e38 4 bytes
double de 5.0 e-324 até 1.7e308 8 bytes
extended de 3.4 e-4.932 até 1.1 e4.932 10 bytes
comp de –9.2 e18 até 9.2 e18 8 bytes

Vejamos um exemplo:

var
Nota : real;
Salario, media : real;

Tipos de Dados Caracteres
São considerados tipos caracteres, as seqüências contendo letras, números e símbolos especiais. Uma seqüência de caracteres, em Pascal, deve ser representada entre apóstrofos (‘’). Este tipo de dado é referenciado pelo identificador string, podendo armazenar de 1 até 255 caracteres. Podemos ainda especificar um tamanho menor do que os 255 caracteres permitidos. Vejamos a sintaxe para criarmos uma variável do tipo string com tamanho limitado.

Sintaxe:
variável : string[tamanho];

Vejamos um exemplo do uso de strings:

var
Frase : string;
Nome : string[45];

Existe ainda o tipo char, utilizado da mesma forma que o tipo string, porém com uma pequena diferença: é usado para strings de apenas um caracter. Vejamos um exemplo do tipo de dado char:

var
Sexo : char;
15

Tipos Lógicos
São caracterizados tipos lógicos, os dados com valores true (verdadeiro) e false (false). Este tipo de dado também e chamado de tipo boleano. Ele é representado pelo identificador boolean.
Vejamos um exemplo da utilização do tipo de dado boolean:

var
Aprovado : boolean;
Confirma : boolean;

Variáveis
Variável, no sentido de programação, é uma região previamente identificada, que tem por finalidade armazenar informações (dados) de um programa temporariamente. Uma variável armazena apenas um valor por vez. Sendo considerado como valor o conteúdo de uma variável, este valor está associado ao tipo de dado da variável.

Sintaxe:

var
identif [ , identif ]... : tipo-de-dado;
[identif [ , identif ]... : tipo-de-dado; ] ...

onde: tipo-de-dado é um dos tipos predefinidos ou um tipo definido pelo usuário:

Vejamos um exemplo:

var
Soma, Total, Salario : real;
Idade, Contador : integer;

Constantes
Uma constante é um valor que não pode ser alterado durante a execução do programa, sendo que seu tipo é definido por seu conteúdo.

Sintaxe:
const
identificador = expressão;
...
identificador = expressão;

Vejamos um exemplo:

program Area_Circulo;
{ Programa para calcular a área de um círculo. }
const
PI = 3.141519265;
var
Area, Comprimento, Raio : real;
begin
writeln( ´Digite o Raio : ´ );
readln( Raio );
Area := PI * Raio * Raio;
Comprimento := 2 * PI * Raio;
writeln( ´Área = ´, Area );
writeln( ´Comprimento da Circunferencia = ´, Comprimento );
end.

Lista de Exercícios 2

Lista de Exercícios 02 – Operadores e Desvios Condicionais

1) Dadas as variáveis A, B, C e D, numéricas, e os seguintes comandos de atribuição:
A <-- 10 B<--15 C <--8 D <-- 20
Avalie as expressões abaixo e descubra se são falsas ou verdadeiras.
A = (D / 2)
(B * 2) = (A + D)
B >= A
(A * ( C + 2 )) <> (D * 5)
(A + B + C + D) >= 43
2 ) Calcule o valor de K nas expressões lógicas abaixo de modo que sempre retornem Verdadeiro como resultado (leve em consideração o valor das outras variáveis, I e J, atribuídos da seguinte maneira):

I <--18 J<-- I / 2
(9 + K) = 17
K = (I + J)
(3 * K) = I
(K + J) = (I + 10)
(K / 2) = (I * 3) / ( J - 3 )

3) Faça um algoritmo para ler um número inteiro e informar se este é maior que 10.
4) Faça um algoritmo para ler dois números inteiros e informar se estes números são iguais ou diferentes.
5) Faça um algoritmo para ler um número inteiro e informar se o número é par ou ímpar.
6) Faça um algoritmo para ler dois números inteiros A e B e informar se A é divisível por B.
7) Faça um algoritmo para ler dois números inteiros e escrever o maior.
8) Faça um algoritmo para ler dois números inteiros e escrevê-los em ordem crescente.
9) Faça um algoritmo para ler duas variáveis inteiras A e B e garantir que A e B fiquem em ordem
crescente, ou seja, a variável deverá armazenar o menor valor fornecido e a variável B o maior.
10) Faça um algoritmo para ler os coeficiente de uma equação do segundo grau e escrever as suas raízes.
11) Faça um algoritmo para ler três valores reais e informar se estes podem ou não formar os lados de um triângulo. Para que três valores possam formar os lados de um triângulo cada lado deve ser menor que a soma dos outros dois.
12) Faça um algoritmo para ler três valores reais e informar se estes podem ou não formar os lados de um triângulo e qual tipo de triângulo seria: Equilátero, isósceles ou Escaleno.
13) Faça um algoritmo para ler três números positivos e escrevê-los em ordem crescente.
14) Faça um algoritmo para ler o nome, as três notas e o número de faltas de um aluno e escrever qual a sua situação final: Aprovado, Reprovado por Falta ou Reprovado por Média. A média para aprovação é 5,0 e o limite de faltas é 27. A reprovação por falta sobrepõe a reprovação por Média.
15) Faça um algoritmo para ler um salário e atualizá-lo de acordo com a tabela abaixo.

FAIXA
SALARIAL AUMENTO

Até 500,00 50%

1000,01 a 2.000,00 30%

2000,01 a 2.5000,00 20%

Acima de 2.500,00 10%



16) Faça um algoritmo para escrever os números entre 1 e 1000
17) Faça um algoritmo para escrever os números pares entre 1 e 1000
18) Faça um algoritmo para ler dois números inteiros representando um intervalo e escrever em ordem crescente todos os números ímpares do intervalo.
19) Faça um algoritmo para ler 100 números inteiros e escrever a soma e a média dos números lidos.
20) Faça um algoritmo para ler um valor N e em seguida ler N números inteiros e escrever o maior número lido.
21) Faça um algoritmo para ler números inteiros, onde o Flag será o valor 0 e em seguida escrever o menor valor lido e quantas vezes este ocorreu nos números lidos.
22) Faça um algoritmo para ler salários, onde o Flag será um Salário igual a 0 e escreva quais os três maiores valores dos salários lidos.
23) Faça um algoritmo para ler o nome, sexo ("M" =Masculino e "F"=Feminino), três notas e o número de faltas dos alunos de uma turma, onde o Flag será um nome igual a "fim" e escrever:
a. A média e a situação final de cada aluno;
b. A média das notas dos homens e a média das notas das mulheres;
c. O percentual de homem e o percentual de mulheres reprovados;
d. O percentual geral de reprovação da turma.
24) Faça algoritmo para escrever a série de Fibonacci = (0,1,1,2,3,5,8,13,21,34,…) enquanto o termo a ser impresso for menor que 5000.
25) Faça um algoritmo para ler um número inteiro positivo e escrever o seu fatorial.
26) Faça um algoritmo para ler um número inteiros positivo e informar se este número é primo ou não.
27) Faça um algoritmo para ler um valor inteiro N e escrever os N primeiros números primos.
28) Faça um algoritmo para ler um número inteiro e gerar outro número inteiro formado pelos dígitos invertidos do número lido. Ex: NúmeroLido = 12345; NúmeroGerado = 54321. Dica: Observe os resultados das funções Quociente e Resto de um número por 10.
29) Faça um algoritmo para ler o código, descrição, estoque mínimo e estoque das mercadorias de um supermercado, onde o Flag será um código igual a 0. Escreva o código e a descrição das mercadorias como estoque abaixo do mínimo.
30) Faça um algoritmo para apurar o resultado do segundo turno da eleição para prefeito de uma
cidade. O algoritmo deverá ler o nome dos dois candidatos, em seguida todas as zonas (flag zona = 0), onde o Flag será o valor 0 e para cada zona todas as suas secções (flag secção = 0) e para cada secção serão lidos os nomes de cada candidato e seu número de votos. O algoritmo deverá escrever o nome e o percentual de votos de cada candidato.
31) Faça um programa que receba o valor do salário de uma pessoa e o valor de um financiamento pretendido. Caso o financiamento seja menor ou igual a 5 vezes o salário da pessoa, o programa deverá escrevar "Financiamento Concedido"; senão, escreverá "Financiamento Negado". Independente de conceder ou não o financiamento, o programa escreverá depois a frase "Obrigado por nos consultar."
32) Em uma escola, o aluno faz duas provas por período, com as notas variando de 0 a 10. Caso a média aritmética das duas notas seja 5 ou mais, ele passa de ano; senão, ele é reprovado. Faça um programa que receba as duas notas de um aluno e escreva se ele passou ou não de ano.
33) Dois carros percorreram diferentes distâncias em diferentes tempos. Sabendo que a velocidade média é a razão entre a distância percorrida e o tempo levado para percorrê-la, faça um programa que leias as distâncias que cada carro percorreu e o tempo que cada um levou, e indique o carro que teve maior velocidade média.

Lista de Exercícios 1

Lista de Exercícios 01 - Algoritmos
1) Faça um programa que leia dois números, e calcule e exiba a sua soma.
2) Faça um programa que leia dois valores numéricos, e calcule e exiba a sua média aritmética.
3) Reescreva o programa-solução do Exercício 1 mas sem usar a variável Media. Lembre-se que o comando Escreva aceita imprimir o resultado de uma expressão...
4) Fazer um algoritmo que dadas as dimensões de um triângulo, calcule a sua área e escreva na tela.
5) Faça um programa que calcule o perímetro de um quadrado.
6) Faça um programa que leia três valores numéricos, e calcule e exiba a sua média aritmética.
7) Faça um programa que leia o nome de um piloto, uma distância percorrida em km e o tempo que o piloto levou para percorrê-la (em horas). O programa deve calcular a velocidade média em km/h, e exibir a seguinte frase:
A velocidade média de XX foi YY km/h.
Onde XX é o nome do piloto, e YY é sua velocidade média.
8) Em um rally foram percorridos dois trechos. Faça um programa que leia o nome de um piloto, a quilometragem de cada um dos trechos em km, e depois o tempo total para percorrê-los, em horas. Calcule e imprima a velocidade média geral do piloto.
9) Realizarei uma viagem de vários dias em meu automóvel, e gostaria de saber a quilometragem média por litro de gasolina. Para isto, anotarei a quilometragem no velocímetro ao sair de viagem, e depois ao chegar; também vou somar toda a gasolina que comprar para o carro. Você poderia fazer um programa que me desse, com estes dados, quantos km fiz, em média, por litro de gasolina?
10) Em uma pizzaria, cada tulipa de chopp custa R$0,80 e uma pizza mista grande custa R$10,00 mais R$1,50 por tipo de cobertura pedida (queijo, presunto, banana, etc.). Uma turma vai à pizzaria e pede uma determinada quantidade de "chopps" e uma pizza grande com uma determinada quantidade de coberturas. Faça um programa que calcule a conta e, sabendo quantas pessoas estão à mesa, quanto que cada um deve pagar (não esqueça os 10% do garçon)...
11) Faça um algoritmo para ler uma temperatura em graus Celsius e transformá-la em farenheit. Utilize
a seguinte fórmula: F=180 (C+32).
100
12) Faça um algoritmo para ler duas variáveis inteiras e trocar o seu conteúdo.

13) Faça um algoritmo para ler o horário de entrada e saída de um cliente na fila de um banco e seguida calcular o tempo de permanência do cliente na fila. Cada horário será lido em duas variáveis inteiras representando a hora e os minutos.

14) Construa um programa em Pascal para calcular as raízes reais de uma equação do 2º grau (Ax2 + Bx + C), sendo que os valores de A, B e C são fornecidos pelo usuário.
ESTRUTURA DE UM PROGRAMA EM PASCAL
Todo programa escrito em Pascal é subdividido em três áreas distintas: cabeçalho do programa, área de declarações e corpo do programa.

Cabeçalho do Programa
Esta área é utilizada para se fazer a identificação do programa com um nome. O cabeçalho de um programa é atribuído pela instrução program seguida de um nome. Ao final do nome deve-se colocar o símbolo ponto-e-vírgula ( ; ). Não pode existir nenhuma variável no programa que tenha o mesmo nome dado ao programa.
Vejamos um exemplo:
program CALCULA_AREA;

Caso você tenha atribuído ao programa o nome Soma e também tenha atribuído este nome a uma variável no programa, quando for executado apresentará uma mensagem de erro.

Área de Declarações
Esta área é utilizada para validar o uso de qualquer tipo de identificador que não seja predefinido, estando subdividida em sete sub-áreas: uses, label, const, type, var, procedure e function.
Inicialmente, vamos estudar apenas a sub-área var. As demais serão estudadas em capítulos posteriores. A sub-área var é utilizada na declaração das variáveis que serão utilizadas durante a execução de um programa, bem como, também o seu tipo.
Desta forma, a linguagem Pascal efetua a reserva de espaço na memória para que as variáveis sejam utilizadas.
A declaração das variáveis é atribuída pela instrução var seguida da relação de variáveis. Após os nomes de cada variável deverá ser utilizado o símbolo dois-pontos
( : ), e após estes é mencionado o tipo de dado que a variável irá receber, seguido de ponto-e-vírgula.
Vejamos um exemplo:
var
NOME : string;
IDADE : integer;
ALTURA : real;

Caso as variáveis sejam de mesmo tipo, estas poderão ser relacionadas separadas
por vírgula. Vejamos um exemplo:

A, B, C : integer;

Corpo do Programa
O programa propriamente dito em Pascal está escrito na área denominada corpo do programa. Esta área tem início com a instrução begin e é finalizada pela instrução end seguida do símbolo ponto ( . ). O uso destas instruções caracteriza o que é chamado de bloco, como indicado abaixo:

begin
instruções;
(...)

end.

Na área denominada corpo do programa, poderão existir, dependendo da necessidade, vários blocos.
Exemplo de um Programa em Pascal
Para se colocar em prática o que foi explicado até este momento, considere o seguinte exemplo de um problema:
“Desenvolver um programa que efetue a leitura de dois valores numéricos. Faça a operação de adição entre os dois valores e apresente o resultado obtido.”
Note que sempre estaremos diante de um problema, e que este deverá ser resolvido primeiro por nós, para que depois seja resolvido por um computador. Primeiramente, você deve entender bem o problema, para depois buscar a sua solução dentro de um computador, ou seja, você deverá “ensinar” a máquina a resolver seu problema, através de um programa. Desta forma, o segredo de uma boa lógica está na compreensão adequada do problema a ser solucionado. Vejamos nosso problema citado acima:
Algoritmo:
1. Ler um valor para a variável A;
2. Ler outro valor para a variável B;
3. Efetuar a soma das variáveis A e B, colocando o resultado na variável X;
4. Apresentar o valor da variável X após a operação de soma dos dois valores fornecidos.
Completada a fase de interpretação do problema e da definição das variáveis a serem utilizadas passa-se para a fase de codificação de nosso programa para a linguagem Pascal.


program ADICIONA_NUMEROS;
var
X : integer;
A : integer;
B : integer;
begin
readln(A);
readln(B);
X := A + B;
writeln(X);

end.

Estrutura de Dados

Estruturas de Dados

Um aspecto fundamental na construção de algoritmos computacionais são as estruturas de dados, que representam as informações do problema a ser resolvido.
Tais estruturas estão organizadas em tipos distintos de informações. Dentro do escopo das estruturas de dados, definimos os termos CONSTANTE, VARIÁVEL e IDENTIFICADOR.
􀂉 Tipos Primitivos de Dados
São os grupos de informações que o computador manipula. Podem ser:
1. Numéricos

a) inteiros Ex: 1 -4 100 0 -905 ...
b) reais Ex: 1,3 816,97 3,0 -0,0055 ...
1. Não-numéricos

a) alfanuméricos Ex: “CASA” “livro” “18” ‘R$ 55,36’ ....
b) lógicos ou booleanos Ex: Falso, Verdadeiro (ou False, True)
Obs: O delimitador usado para alfanuméricos pode ser : “ ” ou ‘ ’

􀂉 Constantes
Representam valores constantes, ou seja, que não variam no decorrer do algoritmo.
Ex: 148, “Opção:”, -8.69, “Tecle algo para continuar”, Falso ...
􀂉 Variáveis

Representam informações cujos valores são modificados ao longo do tempo (Ex. Genérico: a idade de um indivíduo). Podemos definir variáveis também como um local onde um determinado valor (de um dos tipos definidos) é armazenado. Assim, a variável é composta de dois elementos básicos:
􀀹 conteúdo - valor atual da variável
􀀹 identificador - nome dado à variável para possibilitar sua manipulação

O conceito de variável, na verdade, corresponde a “posições de memória RAM”, onde serão armazenados os dados manipulados pelo programa quando este for implementado.

􀂉 Identificador
Nome de um local onde se pode colocar qualquer valor do conjunto de valores possíveis de um tipo básico associado. Usado para manipular todos os dados variáveis do algoritmo. Pode também ser usado para rotular valores constantes (ex: uso do identificador PI para representar o valor constante 3,14).
Regras para Definição de Identificadores em Pseudolinguagem (Portugol):
􀀹 devem começar por um caracter alfabético (uma letra);
􀀹 pode ser seguido de letras e/ou dígitos;
􀀹 é permitido o uso do caracter especial “_” situado entre letras e/ou dígitos.

Ex. de identificadores válidos: Operador, Nome, X, y, ENDEREÇO, Aluno_01

􀂉 Declaração de Variáveis
É a criação (ou definição) de locais na memória rotulados com o identificador da variável (ou constante) que será utilizada no algoritmo para a manipulação de um determinado tipo de informação.
Sintaxe Geral em Portugol:
Lista de Variáveis : Tipo ;
O Tipo pode ser inteiro, real, caracter (alfanumérico) ou booleano.
Ex: NUM, X : inteiro;
parcela : real;
resposta : booleano;
PI : real; { definição de uma constante real }
NOME, ENDEREÇO : caracter;
􀀻 Neste momento, as variáveis ainda não contém nenhum valor associado a elas.
􀀻 A declaração de variáveis deve ser feita antes da definição das ações do algoritmo.
􀀻 Os comentários representam qualquer texto que explique uma ação ou um dado usado no algoritmo. Eles podem ser colocados em qualquer ponto do algoritmo, utilizando { } ou * * como delimitadores.
3.4 Operações Básicas
􀂉 Comando de Atribuição

Serve para atribuir (ou associar) um valor a uma variável ou constante.
Sintaxe Geral em Pseudolinguagem:
identificador 􀃅 expressão ;
onde expressão pode ser um(a): Constante, Variável, Expressão matemática, Função matemática, Expressão booleana, etc.
Ex: NOMEß’Fulano de Tal’
PIß 3.14
Erroß Verdadeiro
Mediaß(P1+P2)/2

􀂉 Funções Matemáticas
nome da função (argumento)
􀀻 O argumento é a informação que é dada à função para que ela possa ser efetuada adequadamente. Pode ser uma constante ou uma variável.
Exemplos de Funções Matemáticas que utilizaremos:
Sin (X) - Função que calcula o seno da variável X
SQRT (y) - Função que calcula a raiz quadrada de y
int (z) - Função que retorna a parte inteira da variável z
(que deve ser do tipo real)

O que são Operadores?
Os operadores são meios pelos quais são efetuados incrementos, decrementos,
comparações e avaliações de dados dentro do computador. Pode-se destacar três tipos
de operadores:
Operadores Aritméticos;
● Operadores Relacionais;
● Operadores Lógicos.
􀂉 Operadores Aritméticos
Os operadores aritméticos são os utilizados para obter resultados numéricos. Além da
adição, subtração, multiplicação e divisão, pode-se utilizar outros operadores
aritméticos (cujo suporte depende da linguagem de programação escolhida), como o
operador para exponenciação por exemplo. Os símbolos para os operadores
aritméticos são: Os operadores aritméticos são os utilizados para obter resultados numéricos. Além da
adição, subtração, multiplicação e divisão, pode-se utilizar outros operadores
aritméticos (cujo suporte depende da linguagem de programação escolhida), como o
operador para exponenciação por exemplo. Os símbolos para os operadores
aritméticos são:

+ - Unários
** exponenciação
* multiplicação
/ divisão
+ - soma e subtração (binários)
div divisão truncada (ou inteira) (ex: x div y)
mod resto da divisão inteira

Qual a hierarquia de precedência das Operações Aritméticas?
1º) ( ) Parênteses
2º) Exponenciação
3º) Multiplicação, divisão (o que aparecer primeiro)
4º) + ou – (o que aparecer primeiro)

􀂉 Operadores Relacionais
Os operadores relacionais são utilizados para comparar valores de tipos de dados
semelhantes, sejam constantes ou variáveis de um mesmo tipo. Estes operadores
sempre retornam valores lógicos (verdadeiro ou falso/ True ou False). Parênteses
podem ser usados para se definir prioridades na avaliação de expressões relacionais.
< <= > >= = < > (diferente)
Exemplo:
Tendo duas variáveis A = 5 e B = 3, os resultados das expressões seriam:
Expressão Resultado
A == B Falso
A <> B Verdadeiro
A > B Verdadeiro
A < B Falso
A >= B Verdadeiro
A <= B Falso
􀂉 Operadores Lógicos
Os operadores lógicos servem para combinar resultados de expressões relacionais,
retornando se o resultado final é verdadeiro ou falso. Os operadores lógicos são:
● AND (E) - Uma expressão AND (E) é verdadeira se todas as condições forem
verdadeiras;
● OR (OU) - Uma expressão OR (OU) é verdadeira se pelo menos uma
condição for verdadeira
● NOT (NÃO) - Um expressão NOT (NÃO) inverte o valor da expressão ou
condição, se verdadeira inverte para falsa e vice-versa.
** Podemos usar parênteses para alterar ordem de prioridade das operações.

􀂉 Comandos de Entrada e Saída de Dados
Representam as ações básicas de algoritmos para recebimento e apresentação de dados, respectivamente.
Entrada de Dados: informações que são fornecidas ao programa pelo “usuário” durante a resolução do problema.
Representação em Portugol:
leia (identificador, identificador, ...) ;
Ex: leia (altura, idade, sexo);
Saída de Dados: informações que são mostradas ao usuário como resposta ao problema.
Representação em Pseudolinguagem:
Escreva (expressão, expressão, ...) ;
Ex: escreva (‘ Seu peso ideal eh : ’ , peso_ideal) ;
escreva (‘ Media final = ’, (P1 + P2)/2) ;
􀂉 Esquema Genérico de Algoritmos em PseudoLinguagem

Declaração de Variáveis / Constantes
INICIO
inicialização de variáveis / constantes
{comentários}
bloco de comandos de entrada de dados
{comentários}
bloco de comandos de cálculo
{comentários}
bloco de comandos de saída de dados
FIM
Exemplo: Algoritmo em pseudolingugem para o problema do cálculo da média final dos alunos da 6ª Série.
* declaração de variáveis
Real: P1, P2, P3, P4, Media;
Inicio
* comandos de entrada de dados
Leia (p1);
Leia (p2);
Leia (p3);
Leia (p4);
* processamento- Calculo da media
Media 􀃅 (P1 + P2 + P3 + P4)/4;
* saída de dados
Escreva (‘ Media final = ’, Media);
Fim