Você está na página 1de 19

Universidade Federal do Amap

Curso de Engenharia Eltrica

Algoritmos e Programao
Unidade 4 Estruturao de
Algoritmos

Algoritmo e Programao Estruturao de Algoritmos

Objetivos

Os principais objetivos dessa unidade


consitem em:
Aprender a desenvolver os principais
comandos de deciso em algoritmos;
Criar comandos de deciso compostos por
meios de blocos dentro do algoritmo;
Aprender a criar laos de repetio de um ou
mais trechos em um algoritmo;
Conceituar e praticar o hbito do uso de
variveis contadoras e acumuladores em
algoritmo

Algoritmo e Programao Estruturao de Algoritmos

Estruturas de Deciso

Em programao, os comandos de
deciso tem por objeto instruir a
mquina a no realizar todos os
comando includos em um
algoritmo;
Esses comandos especificamente
ensinam a mquina a tomar
decises, optando por executar ou
no um ou mais comandos.

Algoritmo e Programao Estruturao de Algoritmos

Estruturas de Deciso

Comando Se (if...then...else)

O comando Se consiste na estrutura bsica de


deciso em algoritmos. Sua sintaxe :

Se
Se<expr_lgica>
<expr_lgica>ento
ento<comando>
<comando>fimse
fimse
ou
ou
Se
Se<expr_lgica>
<expr_lgica>ento
ento<comando1>
<comando1>seno
seno<comando2>
<comando2>fimse
fimse

Conforme podemos verificar na execuo do


algoritmo a mquina sempre ver o resultado da
expresso e far apenas um dos dois comandos
(nunca os dois ao mesmo tempo)

Algoritmo e Programao Estruturao de Algoritmos

Estruturas de Deciso

Exemplo Algoritmo para ler a idade de uma pessoa


e imprimir a mensagem Voc maior de idade se
ela tiver 18 anos ou mais.
// Algoritmo para ler a idade de uma pessoa e dizer se maior de idade
// Verso 1.0
Variveis
idade: inteiro;
Incio
escrever Entre com idade do indivduo:;
ler idade;
se idade >= 18 ento
escrever O indivduo maior de idade;
seno
escrever O indivduo menor de idade;
fimse
Fim.

Algoritmo e Programao Estruturao de Algoritmos

Estruturas de Deciso

Um outra maneira de escrever o mesmo algoritmo


sem que seja utilizado a opo seno, mostrado a
seguir.
// Algoritmo para ler a idade de uma pessoa e dizer se maior de idade
// Verso 1.1
Variveis
idade: inteiro;
Incio
escrever Entre com idade do indivduo:;
ler idade;
se idade >= 18 ento
escrever O indivduo maior de idade;
fimse
se idade < 18
escrever O indivduo menor de idade;
fimse
Fim.

Algoritmo e Programao Estruturao de Algoritmos

Estruturas de Deciso

Encadeamento
Um encadeamento caracterizado quando o algoritmo
apresenta um comando de deciso dentro de outro, que
pode estar localizado internamente ao ento ou ao seno,
como mostrado a seguir
se A > B ento
se K > M ento
C <- K;
fimse
fimse
se X < Y ento
S <- X+Y;
Seno
se X < A+B ento
A <- C;
seno
B <- C;
fimse

Algoritmo e Programao Estruturao de Algoritmos

Estruturas de Deciso

Comando Caso (Case)

O comando Caso importante em situaes em


que existe a necessidade de se testar uma
mesma varivel (ou expresso) que possa conter
diversos valores, executando assim comandos
diferentes para valores diferentes. Sua sintaxe :
Caso
Caso<var
<varou
ouexpr>
expr>seja
seja
<valor1>:<comando1>;
<valor1>:<comando1>;
<valor2>:<comando2>;
<valor2>:<comando2>;
..
..
..
Seno
Seno <comando>;
<comando>;
fimcaso
fimcaso

Algoritmo e Programao Estruturao de Algoritmos

Estruturas de Deciso

Exemplo Dado o nmero de matrcula de um scio


de um clube social,fornecido pelo usurio, faa um
algoritmo que imprima o ms de pagamento da
anuidade, de acordo com a tabela:

Algoritmo e Programao Estruturao de Algoritmos

Estruturas de Deciso
// Algoritmo para impresso do ms de pagamento de anuidade
// Verso: 1.0
Variveis
nfinal_matricula: inteiro;
Incio
escrever Entre com o ltimo digito da matrcula do scio:;
ler nfinal_matricula;
caso nfinal_matricula seja
0: escrever Pagamento em Janeiro;
1: escrever Pagamento em Fevereiro;
2: escrever Pagamento em Maro;
3: escrever Pagamento em Abril;
seno
escrever Pagemento em Maio;
fimcaso
Fim.

Algoritmo e Programao Estruturao de Algoritmos

Estruturas de Repetio

Comando Repita e Enquanto


Esses

comandos permitem repetir um


ou mais comandos no corpo de um
algoritmo. A sintaxe dos comando
consistem em:

repita
repita
<comando1>;
<comando1>;
<comando2>;
<comando2>;
..
..
..
<comandoN>;
<comandoN>;
at
at<expr>
<expr>
fimrepita
fimrepita

Enquanto
Enquanto<expr>
<expr>faa
faa
<comando>;
<comando>;
fimenquanto
fimenquanto

Algoritmo e Programao Estruturao de Algoritmos

Estruturas de Repetio - Exemplos


// Algoritmo para nmero pares e impares
// Usando o comando repita at
Variveis
num: inteiro;
Incio
escrever Entre com um nmero inteiro:;
ler num;
repita
se num >= 0
se num%2 = 0
escrever O nmero, num, par;
seno
escrever O nmero, num, mpar;
fimse;
escrever Entre com um nmero inteiro:;
ler num
fimse;
at num<0
fimrepita
Fim.

// Algoritmo para nmero pares e impares


// Usando o comando enquanto - faa
Variveis
num: inteiro;
Incio
escrever Entre com um nmero inteiro:;
ler num;
enquanto num >= 0 faa
se num%2 = 0
escrever O nmero, num, par;
seno
escrever O nmero, num, mpar;
fimse;
escrever Entre com um nmero inteiro:;
ler num
fimenquanto
Fim.

Algoritmo e Programao Estruturao de Algoritmos

Variveis Contadoras

Um varivel se caracteriza como


contadora se ela tem a capacidade
de armazenar uma certa quantidade
de elementos ou iteraes;
So muito utilizadas em estruturas
de repetio, especificamente
problemas que envolvem contagem
de valores.

Algoritmo e Programao Estruturao de Algoritmos

Variveis Contadoras - Exemplo


// Algoritmo para contar iteraes
// Usando o comando repita ate
Variveis
cont, iter: inteiro;
Incio
escrever Entre com o nmero de iteraes:;
ler iter;
cont = 0
repita
cont = cont +1 // varivel contadora
at cont <= iter
fimerepita
escrever O contador registrou, cont, contagens;
Fim.

// Algoritmo para contar iteraes


// Usando o comando enquanto faa
Variveis
cont, iter: inteiro;
Incio
escrever Entre com o nmero de iteraes:;
ler iter;
cont = 0
enquanto cont <=iter faa
cont = cont +1 // varivel contadora
fimenquanto
escrever O contador registrou, cont,
contagens;
Fim.

Algoritmo e Programao Estruturao de Algoritmos

Variveis Acumuladoras

Esse tipo de varivel caracteriza-se por


armazenar dentro de si resultado
acumulado de uma srie de valores, em
geral, uma soma, por exemplo;

Quando no algoritmo existe a necessidade


de armazenar sucessivamente um grande
quantidade de nmeros, imprescindvel
o uso de variveis acumuladoras.

Algoritmo e Programao Estruturao de Algoritmos

Variveis Acumuladoras - Exemplo


// Algoritmo para somar at 10 numeros aleatorios
// Usando o comando repita ate
Variveis
num, soma: real;
cont, quant: inteiro;
Incio
cont = 0; // inicializao da variavel contadora
soma = 0; //inicializao da variavel acumiladora
escrever Quantidade de numeros a somar:;
ler quant;
repita
escrever Entre com um nmero:
ler num;
soma = soma+num; // varivel acumuladora
cont = cont +1
at cont < quant
fimerepita
escrever Soma total:, soma;
Fim.

// Algoritmo para somar at 10 numeros aleatorios


// Usando o comando enquanto faa
Variveis
num, soma: real;
cont, quant: inteiro;
Incio
cont = 0; // inicializao da variavel contadora
soma = 0; //inicializao da variavel acumiladora
escrever Quantidade de numeros a somar:;
ler quant;
enquanto cont < quant faa
escrever Entre com um nmero:
ler num;
soma = soma+num; // varivel acumuladora
cont = cont +1;
fimenquanto
escrever Soma total:, soma;
Fim.

Algoritmo e Programao Estruturao de Algoritmos

Estrutura de Repetio Complementar

Comando Para (for)


Para

facilitar a construo de laos que


fazem uso de variveis contadoras,
especialmente para contagens de 1 em
1, podemos utilizar outro comando de
repetio complementar chamado
Para (for). Sua sintaxe :

para
para<var>
<var>de
de<valorinicial>
<valorinicial>at
at<valorfinal>
<valorfinal>faa
faa
<comando>;
<comando>;
fimpara
fimpara

Algoritmo e Programao Estruturao de Algoritmos

Estrutura de Repetio Complementar

Exemplo do comando Para


// Algoritmo para impresso de numeros inteiros
// Usando o comando para - faa
Variveis
valor: inteiro;
Incio
escrever Nmeros inteiros de 1 at 100:; // impresso complementar
para valor de 1 at 100 faa
escrever valor=,valor; // escreve na tela do computador os nmeros de 1 a
100

fimpara
Fim.

Algoritmo e Programao Estruturao de Algoritmos

Tente fazer

Procure refazer o algoritmo para


calcular as razes de uma equao
do segundo grau utilizando agora o
comando de deciso Se...ento.
Com a incluso desse comando o
algoritmo ficar completo.