Anda di halaman 1dari 42

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.

Anda mungkin juga menyukai