Universidade Federal do Amap
Curso de Engenharia Eltrica
Algoritmos e Programao
Unidade 2 Portugus Estruturado
Algoritmo e Programao Portugus Estruturado
Definio
Conforme ser verificou na resoluo dos
algoritmos propostos como exerccio, a escrita
dos comandos linha linha uma forma de se
representar um algoritmo;
Essa lista de instrues estruturada consiste no
que chamamos de Portugus Estruturado, e
ser a ferramenta adotada para a construo do
algoritmo;
O portugus estruturado tambm denominado
de portugol, pseudolinguagem ou ainda de
pseudocdigo.
Algoritmo e Programao Portugus Estruturado
Caractersticas do Portugus
Estruturado
Utiliza um conjunto muito mais limitado de comandos
do que a lngua portuguesa normal, porm ao se
combinar esse conjunto de comandos pode-se construir
desde algoritmos simples at outros bem complexos;
Essa tcnica possibilita que cada comando tenha uma
interpretao nica para a mquina a partir de um rigor
adotado para a construo de algoritmos, impedindo
assim, a existncia de ambiguidades, e
consequentemente erros de programao;
A partir do rigor de construo adotado no portugus
estruturado, o algoritmo torna-se uma lista ordenada de
comandos combinados, cujo sequenciamento de
execuo consiste na soluo do problema.
Algoritmo e Programao Portugus Estruturado
Sintaxe e Semntica do Portugus
Estruturado
A Sintaxe consiste no conjunto de regras a
serem seguidas para a escrita dos algoritmos,
semelhante as regras que seguimos em nossa
lngua para escrevermos, por exemplo uma frase
onde, em geral, deve conter sujeito + verbo+
predicado;
A semntica refere-se ao que efetuado pelo
computador quando ele encontra um comando;
Portanto, a sintaxe est relacionada a forma
de um comando, enquanto que a semntica
est relacionada ao seu contedo
Algoritmo e Programao Portugus Estruturado
Tipos de Dados
Os computadores armazenam dados na memria sob
forma de nmeros (0 e 1), por forma a facilitar a
transformao desses dados em sinais eltricos;
Contudo, no o objetivo desse curso sabermos como
esses dados so armazenados na memria do
computador, mas sim que tipo de dado deve ser
armazenado;
Um dado, sobretudo, consiste em alguma informao no
estado primitivo, que ao ser processado pode gerar outro
tipo de informao til. Por exemplo, o nmero 9,5 pode
ser um dado a ser utilizado dentro de um algoritmo para
representar a nota de um aluno, bem como ser utilizado
para calcular a mdia final desse mesmo aluno. Sozinho o
dado 9,5 no tem significado algum.
Algoritmo e Programao Portugus Estruturado
Tipos de Dados
Por causa da natureza do que pode ser
armazenado na memria do computador,
existem diferentes tipos de dados. Os
cinco tipos bsicos de dados que
adotaremos para a construo de
algoritmos consistem em:
Inteiro;
Real;
Lgico;
Caractere;
Cadeia de Caracteres.
Algoritmo e Programao Portugus Estruturado
Tipos de Dados
Dado do tipo Inteiro
Representa qualquer valor contido no conjunto dos
nmeros inteiros como 1, 2, 34, -5, ..., etc.
utilizado para representar informao onde no
existe parte fracionria;
Dado do tipo Real
Representa todo valor contido no conjunto dos
nmeros reais (que contm parte fracionria), como
1.223; 3.45; 9.9999; -0.345392..., etc. Conforme
se verifica a parte fracionria separada da
parte inteira pelo ponto decimal. Isto uma
maneira de nos acostumarmos s linguagens
de programao que utilizam o ponto decimal
ao invs de vrgula.
Algoritmo e Programao Portugus Estruturado
Tipos de Dados
Dado do tipo Lgico (ou Booleano)
Representa uma situao que s pode ser
verdadeira ou falsa. No se trata de um dado
numrico como os dados do tipo inteiro e real,
respectivamente.
Dado do tipo Caractere
Um caractere pode ser uma letra (A, b, C...),
um dgito (3, 0, 7, ...), ou smbolos (&, @,
#, !, espao em branco, etc). Contudo, em
algoritmos sempre que quisermos
escrever um caractere, este deve ser
envolvido por aspas simples (). Ex: 7,
@, 1233, ola.
Algoritmo e Programao Portugus Estruturado
Tipos de Dados
Dado do tipo Cadeia de Caractere
Este
dado representa um conjunto de
caracteres a ser armazenado na
memria do computador. Da mesma
forma que o simples caractere, a
cadeia de caracteres deve ser
envolvida por aspas simples ()
para ser reconhecida no algoritmo.
Ex: Universidade Federal do
Amap; 123456.
Algoritmo e Programao Portugus Estruturado
Operadores Aritmticos
Os operadores aritmticos so
smbolos conectivos utilizados para
efetuar um determinado clculo
numrico. Eles consistem em:
Algoritmo e Programao Portugus Estruturado
Operadores Aritmticos - Exemplos
3+7
7*3
3.2*7
3/7
3-7
7#3
igual a 10
igual a 21
igual a 22.4
igual 0.4285 (quociente real)
igual a -4
igual a 2 (o quociente da uma diviso
7.4#3
7%3
7/0
3*
%3
no possvel, pois o operador #
s trabalha com nmeros inteiros
inteira)
igual a 1 (resto da diviso inteira)
no pssivel
sintaticamente errado
sintaticamente errado
Algoritmo e Programao Portugus Estruturado
Operadores Relacionais
So operadores que possibilitam relacionar
dois elementos, cujo resultado da
comparao ser verdadeiro ou falso. Esses
operadores so:
Algoritmo e Programao Portugus Estruturado
Operadores Relacionais - Exemplos
3>4
igual a falso
10 >=9 igual a verdadeiro
-1 > -2
igual a verdadeiro
7.3!=8.9
igual a verdadeiro
<12
sintaticamente errado
Algoritmo e Programao Portugus Estruturado
Operadores Lgicos
Estes operadores possibilitam estender o
uso dos operadores relacionais compondo
situaes lgicas mais sofisticadas. Eles
consistem em:
Operador
Relao
E (&&)
Conjuno de Operao
Ou (||)
Disjuno de Operao
No (~, !)
Negao de Operador
Algoritmo e Programao Portugus Estruturado
Operadores Lgicos - Tabelas
Para o melhor entendimento de como funciona cada
operador lgico, vamos acompanhar as tabelas a
seguir relativas a cada tipo de operador.
Tabela-verdade do operador E
Algoritmo e Programao Portugus Estruturado
Operadores Lgicos - Tabelas
Tabela-verdade do operador Ou
Tabela-verdade do operador No
Algoritmo e Programao Portugus Estruturado
Operadores Lgicos - Exemplos
Conforme as tabelas anteriores, podemos
ento, nos exemplos a seguir, afirmar
que:
8 > 3 e 10 > 4 igual a verdadeiro
8 > 3 e 10 < 4 igual a falso
No 4 = 4
igual a falso
Em geral, os operadores lgicos so
bastante utilizados pelos comandos de
deciso (se <condio>- ento faa) e de
repetio(enquanto <condio> - faa)
conforme ser visto mas adiante.
Algoritmo e Programao Portugus Estruturado
Funes
As funes consistem num pequeno
programa que tendo valores de entrada
geram uma resposta no local do clculo
onde foram solicitadas. Em outras palavras,
elas retornam um resultado;
A sintaxe de uma funo consiste em:
<nome da funo> (<parmetro1>,<parmetro2>,...)
Em programao costumamos explicar a construo de
uma determinada sintaxe utilizando os sinais < e >.
Contudo, esses sinais no devem ser escrito no
algoritmo, pois so apenas simblicos para indicar ao
programador como deve ser construda uma
determinada sintaxe de programao.
Algoritmo e Programao Portugus Estruturado
Funes
Exemplo de uma funes que podem ser
utilizadas na construo dos algoritmos:
Algoritmo e Programao Portugus Estruturado
Funes
importante comentar que em grande parte das
linguagem de programao existem funes
internas j definidas pela prpria ferramenta
computacional;
No entanto, prtica comum se criar funes e
subfunes dentro de um algoritmo para realizar
um clculo ou tarefa especficos. Porm, devese ter sempre o cuidado em se definir uma
nova funo com um nome distinto de
funes internas da linguagem de
programao utilizada, para que no haja
conflito e conseqentes erros de
programao.
Algoritmo e Programao Portugus Estruturado
Prioridade na Montagem de
Expresses
Em geral, as expresses definidas em um
algoritmo envolvem uma combinao de
operadores;
Alm da combinao de operadores, a
expresso pode conter sub-expresses
entre parnteses, alterando a prioridade
de clculo, semelhante ao que se verifica
na matemtica (1 - parntese, 2 colchetes e 3 - chaves).
Algoritmo e Programao Portugus Estruturado
Prioridade na Montagem de
Expresses
A tabela a seguir ilustra a prioridade que deve ser
assumida durante a execuo de clculo dentro de
uma determinada expresso:
1 Lugar
Parnteses mais internos
2 Lugar
Funes
3 Lugar
Operadores Aritmticos
4 Lugar
Operadores relacionais
5 Lugar
Operadores Lgicos
1 Lugar
2 Lugar
Multiplicativos (*, /,#,%)
Aditivos (+, -)
1 Lugar
2 Lugar
3 Lugar
no
e
ou
Quando houver algum empate, deve-se fazer primeiro o
clculo da esquerda.
Algoritmo e Programao Portugus Estruturado
Prioridade na Montagem de
Expresses
Exemplos:
a) 3+4*9
36
(O operador multiplicativo tem prioridade sobre o aditivo)
3+36
39
b) (3+4)*9
7
(Os parnteses agora ganham a prioridade)
7*9
63
Algoritmo e Programao Portugus Estruturado
Prioridade na Montagem de
Expresses
Exemplos:
c) 8-quad(4)+5
16
(A funo tem prioridade sobre outros operadores)
8-16+5
-8
(H um empate entre dois operadores aditivos e +. Neste caso
calcula-se o mais a esquerda)
-8 + 5
-3
Algoritmo e Programao Portugus Estruturado
Prioridade na Montagem de
Expresses
Tente fazer:
a) 10>9 e 5+4>14
b) 7+10#2-8*3*4
Algoritmo e Programao Portugus Estruturado
Variveis
As variveis representam um dos elementos mais
importante na construo de algoritmos. So elas
as responsveis pelo armazenamento dos
dados na memria do computador;
Para ensinar o computador como manipular um
dado, o programador precisa nomear um lugar na
memria onde esse dado ser guardado;
Uma varivel portanto consiste num local com um
nome especfico dentro da memria do
computador, criado em um algoritmo, para
armazenar um determinado dado.
Algoritmo e Programao Portugus Estruturado
Variveis
Representao abstrata das variveis na memria de
um computador.
19
0.453
Idade_cliente
Taxa_imposto
65
Resultado
Jorge
Nome_colega
MEMRIA
Algoritmo e Programao Portugus Estruturado
Variveis
A notao de varivel tem haver com o
fato de que o dado pode se modificar (isto
, variar) durante a execuo do
algoritmo pela mquina;
As variveis esto presentes na memria
do computador durante a execuo do
algoritmo. Aps o trmino da execuo,
como se os dados fossem apagados e os
endereos (variveis) destrudas.
Algoritmo e Programao Portugus Estruturado
Nomes das Variveis
Toda a varivel precisa ter um nome definido pelo
programador, e que deve ser nico dentro do algoritmo
para no resultar em ambiguidades quando o algoritmo
for executado;
Como regra geral, todo o nome de varivel deve
comear por uma letra, e depois deve incluir apenas
letras, dgitos ou ainda o sinal de sublinado (_). No
deve conter acentos, espao, bem como ser
definida igualmente como o nome de alguma
funo implcita de uma dada linguagem de
programao;
Em programao estes nomes (variveis) criados pelo
programador so chamados de identificadores.
Algoritmo e Programao Portugus Estruturado
Exemplos de nomes de variveis
Exemplos
Exemplosvlidos:
vlidos:
valor_pago
valor_pago
cal_media
cal_media
ii
cont
cont
idade
idade
soma
soma
mes_do_ano
mes_do_ano
Exemplos
Exemplosinvlidos:
invlidos:
1nota
1nota (comea
(comeacom
com
numero)
numero)
mdia_arit
mdia_arit(possui
(possuiacento)
acento)
quant
quant inicial
inicial(possui
(possui
espao)
espao)
Valor_em_R$
Valor_em_R$(possui
(possuioo
caracter
caracter$$que
queuma
umadada
dada
linguagem
linguagemde
deprogramao
programao
pode
podeutilizar
utilizarinternamente)
internamente)
Algoritmo e Programao Portugus Estruturado
Tipos de dado das variveis
Toda a varivel deve ter um tipo de dado relacionado a
ela. Ao se criar uma varivel, preciso se definir qual
tipo de dado ela vai armazenar;
Por exemplo:
Queremos contabilizar a quantidade de latas de refrigerante de
um armazm em um algoritmo. Para isso definimos a varivel
quant_lata que deve guardar dados do tipo inteiro;
O mesmo poderamos proceder para armazenar os preos de
blusas de uma loja, criando uma varivel preco_blusas que deve
armazenar dados do tipo real.
Conforme podemos verificar as variveis precisam ser
declaradas no algoritmo para que a mquina entenda
os tipos de dados que elas devem armazenar.
Algoritmo e Programao Portugus Estruturado
Declarao de Variveis
Toda varivel usada em um algoritmo
precisa ser declarada. Isto deve ser feito no
incio da construo do algoritmo. A sintaxe
para declarao de variveis
<varivel1>, <varivel2>,...:<tipo>;
Exemplos:
quant_lata, quant_blusas:inteiro;
preco_blusa, media_arit:real;
nome_funcionario:cadeia;
Algoritmo e Programao Portugus Estruturado
Observao importante
Uma varivel s pode armazenar um
dado de cada vez!
Qualquer valor armazenado em uma
varivel sempre vai apagar algum
outro guardado anteriormente dentro
dela, no mesmo algoritmo.
Algoritmo e Programao Portugus Estruturado
Sintaxe geral de um algoritmo
A forma de um algoritmo em portugus estruturado
sempre segue a estrutura bsica descrita a seguir:
Tipos
Declarao de tipos
//Declarao de tipos personalizados
<tiponovo1>=<tipo1>;
<tiponovo2>=<tipo2>;
Declarao de variveis
Variveis
// Declarao de variveis do algoritmo
<varivel1>=<tipo1>;
comentrio
<varivel2>=<tipo2>;
...
Parte principal do algoritmo
//Corpo do algoritmo
Incio
<comando1>;
<comando2>;
...
Indentao
Fim.
//Mdulos
Modulo <nomemdulo1>;
[[
Mdulos dos algoritmo
]];
Algoritmo e Programao Portugus Estruturado
Comando de Atribuio
A atribuio consiste no comando solicitado
mquina que permite armazenar o resultado de uma
expresso dentro de uma varivel. A sintaxe no
portugus estruturado :
<nomevarivel> = <expresso>;
importante verificar que no portugus
estruturado (conforme se verificou na
estrutura geral apresentada anteriormente)
sempre colocamos o sinal de ponto-e-vrgula
aps um comando. Ele funciona como um
delimitador entre o comando que foi escrito e
o que vir depois.
Algoritmo e Programao Portugus Estruturado
Comando de Atribuio
Exemplo:
cota = 5;
cont = 1;
preco_gasolinha = 2,666
valor = preco_unitario*quat;
Obs: suposto que as variveis do
exemplo acima j foram previamente
declaradas, pois uma varivel do tipo
inteiro no pode receber um dado do
tipo real.
Algoritmo e Programao Portugus Estruturado
Comando de Entrada de Dados
Quando ensinamos o computador a executar algo,
na maioria das vezes, a mquina precisa de dados
de entrada a serem processados;
No portugus estruturado o comando que indica ao
computador quando ele deve solicitar dados do
usurio, consiste no comando ler;
Essa solicitao chamada de entrada ou leitura de
dados atravs de um dispositivo de entrada (o
teclado, por exemplo);
A sintaxe do comando de entrada de dados consiste
em:
ler <var1>, <var2>,...;
Algoritmo e Programao Portugus Estruturado
Comando de Entrada de Dados
Exemplo:
ler
valor1;
ler num_banco, cod_agencia;
ler nome_funcionario;
ler a,b,c;
Algoritmo e Programao Portugus Estruturado
Comando de Sada de Dados
Assim como o computador precisa de dados de
entrada para executar um determinado
processamento, no faria sentido ele no exibir
esses resultados;
Portanto o computador necessita de um comando
em que ele entenda que deve escrever (ou imprimir)
resultados e mensagens para um dispositivos de
sada (supondo, o monitor de vdeo);
A sintaxe do comando de sada de dados consiste
em:
escrever <var1>, <var2>,...;
Algoritmo e Programao Portugus Estruturado
Comando de Sada de Dados
Exemplo:
escrever soma; // imprime o contedo da varivel soma
escrever Fim de Clculo // Exibe uma mensagem
escrever O saldo atual , saldo; // Exibe mensagem e um
// contedo
escrever a+b; // Exibe resposta da expresso
Obs: Note que no comando escrever uma
mensagem pode ser escrita com os acentos e
outros smbolos.
Algoritmo e Programao Portugus Estruturado
Estudo de um exemplo
No exemplo a seguir apresentado um algoritmo abordando os
demais comandos apresentados anteriormente, em que realiza a
soma de dois nmeros:
// Algoritmo para a soma de dois nmeros
// Autor: Rogrio Almeida - Macap: 05/03/2010
Variveis
num1, num2, soma:real;
Incio
ler num1;
ler num2;
soma = num1+num2;
escrever A soma dos dois nmeros :, soma;
Fim
Algoritmo e Programao Portugus Estruturado
Estudo de um exemplo
Observaes importantes
As duas primeiras linhas iniciadas por duas barras
(//) consistem em comentrios;
Foram criadas trs variveis para este problema,
num1, num2 e soma, respectivamente. Ambas so
declaradas como variveis que recebero dados do
tipo real;
No corpo do algoritmo utilizamos o ponto-e-vrgula
ao final de cada comando;
Alguns comandos foram indentados em relao a
margem esquerda para indicar que fazem parte de
um comando mais geral.
Viel mehr als nur Dokumente.
Entdecken, was Scribd alles zu bieten hat, inklusive Bücher und Hörbücher von großen Verlagen.
Jederzeit kündbar.