Você está na página 1de 13

Introduo a Algoritmos

Seqenciais
Programao para Engenharia I
Aula 01
Prof. Marcos Antonio Estremote

Algoritmos Seqenciais
O que um algoritmo?
Um
Umconjunto
conjuntofinito
finitode
deregras,
regras,bem
bemdefinidas,
definidas,
Para
Paraaasoluo
soluode
deum
umproblema
problema
em
emum
umtempo
tempofinito.
finito.

Algoritmo Seqencial

A execuo das tarefas corretamente cumprida, se


executarmos todos os passos (instrues) na
seqncia em que elas aparecem, da primeira at a
ltima, sem omisses e sem repeties
Programao para Engenharia I

Exemplo #1
Dados trs valores positivos, a, b e c,
determine a sua mdia aritmtica, harmnica,
geomtrica e ponderada com pesos de 1, 2 e
3 respectivamente.

Quais as tarefas a serem executadas para a


soluo deste problema?

Programao para Engenharia I

Soluo Exemplo #1
1.
2.
3.
4.
5.
6.
7.

Obter os valores para a, b e c.


Calcular a mdia aritmtica.
Calcular a mdia harmnica.
Calcular a mdia geomtrica.
Calcular a mdia ponderada.
Comunicar os resultados.
Terminar.
Programao para Engenharia I

aabbcc
ma
ma
33
33
mh
mh
11//aa11//bb11//cc
33
mg

mg aa.b.b.c.c

11aa22bb33cc
mp
mp
112233

Exerccios
Quais os passos/regras necessrias para
1.
2.

Trocar um pneu de carro?


Fazer um bolo de chocolate?

Programao para Engenharia I

Entrada e Sada
Entrada
Entrada
Conjunto
Conjunto de
de
Regras
Regras
Sada
Sada

Obter
Obteros
osvalores
valorespara
paraa,a,bbeec.c.
Calcular
Calcularaamdia
mdiaaritmtica.
aritmtica.
Calcular
Calcularaamdia
mdiaharmnica.
harmnica.
Calcular
Calcularaamdia
mdiageomtrica.
geomtrica.
Calcular
Calcularaamdia
mdiaponderada.
ponderada.
Comunicar
Comunicaros
osresultados.
resultados.

Programao para Engenharia I

Efetividade e Tempo
Todo o algoritmo possui pelo menos um
resultado.
Princpio da Efetividade

Execuo exata e em tempo finito.

Os passos devem ser precisos, no dando


margem a ambigidades.
Um algoritmo til deve terminar em um
tempo muito finito.
Programao para Engenharia I

Exemplo Algoritmo de tempo


Infinito
1.
1.
2.
2.

Fazer
Fazer nn igual
igual aa zero
zero ee ii igual
igual aa 11
Enquanto
Enquanto nn for
for menor
menor do
do que
que 55
a)a) Escrever
Escreverii
b)
b) Somar
Somar22ao
aoii

3.
3. Terminar
Terminar

Problema?????
Problema?????

AAvarivel
varivelnniniciada
iniciadaem
emzero
zero
EEno
nono
noalterada
alteradapor
por
nenhuma
nenhumainstruo!!!!!
instruo!!!!!
Programao para Engenharia I

Critrios para Avaliao do


Algoritmo
Pode existir mais de uma soluo para o
mesmo problema
Exemplo

Encontrar o mximo divisor comum de dois


nmeros m e n inteiros e positivos
Seja r o resto da diviso de m por n e 0 r < n

Programao para Engenharia I

Solues
Soluo 1

Soluo 2

1.1.
2.2.
3.3.
4.4.
5.5.

Seja
Sejar
rooresto
restoda
dadiviso
divisode
dem
mpor
porn
nee00rr<<nn
Se
Serr==00ento
entoescrever
escrevern
ncomo
comoresposta
respostaeeterminar.
terminar.
mm==nn
nn==rr
Voltar
Voltarao
aopasso
passo1.1.

1.1.

Se
Sem
mn
nento
entofazer
fazerm
migual
igualao
aoresto
restode
dem
m
dividido
divididopor
porn
neerepetir
repetireste
estemesmo
mesmopasso
passo
Trocar
Trocaros
osvalores
valoresde
dem
meen
nentre
entresi.
si.
Se
Sen
n==00ento
entoescrever
escreverm
mcomo
comoresposta
respostaee
terminar.
terminar.
Voltar
Voltarao
aopasso
passoinicial.
inicial.

2.2.
3.3.
4.4.

Programao para Engenharia I

10

Solues...
Soluo 3

1.
1.
2.
2.
3.
3.
4.
4.
5.
5.
6.
6.
7.
7.

Dividir
Dividirm
mpor
porn
neefazer
fazerr
rser
serooresto.
resto.
Se
Serr==00ento
entoescrever
escrevern
ncomo
comoresposta
respostaee
terminar.
terminar.
Dividir
Dividirn
npor
porr
reefazer
fazerm
mser
serooresto.
resto.
Dividir
Dividirr
rpor
porm
meefazer
fazern
nser
serooresto.
resto.
Se
Sem
m==00escrever
escreverm
mcomo
comoresposta
respostaee
terminar.
terminar.
Se
Senn==00escrever
escrevern
ncomo
comoresposta
respostaeeterminar.
terminar.
Voltar
Voltarao
aopasso
passoinicial.
inicial.

Programao para Engenharia I

11

Critrios para um algoritmo


Ter um nmero finito de passos
Ter passo devem estar precisamente definido.
Existir um conjunto de zero ou mais entradas, bem
definidas.
Existir uma ou mais sadas.
Ter um conjunto de passos que leve a execuo de
uma tarefa til.
Ter uma condio de fim sempre atingida para
quaisquer entradas e num tempo finito.
Programao para Engenharia I

12

Exerccios
Reescreva o exemplo do clculo das mdias
apresentado, em uma linguagem como a dos
exemplos anteriores.
Escrever um algoritmo que escreve os
nmeros mpares entre 10 e 20.
Escrever um algoritmo que calcula e escreve
o fatorial de 5.
Programao para Engenharia I

13

Você também pode gostar