Você está na página 1de 25

Curso

Tcnico(a) Mul1mdia Sistemas de Informao


Mdulo 1

Tradicionalmente, programar signicava


apenas a escrita de um programa, que
resolvesse o problema pretendido de uma
forma aparentemente linear.

PROBLEMA

PROGRAMA

Desvantagens:

Programas pouco claros e pouco ecientes.


Algumas vezes, programas funcionavam de forma

incorrecta.

Diculdade de converter o programa para outra


linguagem de programao.

Necessidade Realizar uma passagem


de adoptar
progressiva do
uma nova
problema ao programa,
metodologia de maneira a evitar
de resoluo todos os inconvenientes
anteriormente
de
apontados.
problemas.

Vantagens:

Programa mais claro e eciente.


Programa formalmente correcto (ausncia de

erros lgicos).

Fcil de converter para qualquer linguagem de

programao, pois praHcamente independente


da linguagem de programao.

Regras para a Lgica da


Programao

Entender o
Problema

Ter bem
denido o
seu
objec1vo.

Se no
chegar ao seu
Vericar
Dividir o
todos os
problema em
objec1vo,
dados
partes
reec1r
porqu e
disponveis menores, se
Pergunta
para resolve-
ele for
Chave: Qual reveja os
lo
complexo
o resultado passos aqui
que desejo mencionados
alcanar?

Como sabemos, um computador no resolve problemas sozinho,


apenas executa os passos que lhe indicamos para a sua resoluo.
Em inform1ca, a formulao de um algoritmo no mais do que a
descrio, de forma ordenada, com clareza e rigor, das operaes que
se pretende realizar num computador para resolver um problema ou
a1ngir determinados objec1vos.
Um bom algoritmo, pode ser escrito na nossa linguagem natural,
u1lizando expresses sint1cas e exactas e, normalmente, tambm
alguns sinais convencionais. O algoritmo deve ser formulado de modo
a poder ser traduzido numa qualquer linguagem de programao.

FORMAS PARA REPRESENTAO DA LGICA

ALGORITMOS

Sequncia de procedimentos nitos que,


se forem executadas em determinado
perodo de tempo, chegar ao seu
objec1vo.

FLUXOGRAMAS

uma representao lgica de um


algoritmo, que recorrendo a um conjunto
de primi1vas simples, permitem a sua
representao e interpretao.

EXEMPLO : Elabore um algoritmo que


permita a um robot efectuar a mudana do
pneu furado de uma viatura.

1TopDown (gracamente):

Subs1tuio do
pneu furado

Ir buscar macaco
+pneu bom
+chave

Colocar macaco
em posio
correcta e elevar
o carro

Re1rar pneu
furado e
subs1tu-lo

Guardar macaco
+pneu furado
+chave

2 Denir as operaes elementares:


dar passos
abrir ou fechar
pegar ou largar
rodar
deslocar no sen=do ...
capacidade de deciso

3 Narra1va Identada: [Subs1tuio pneu

furado]

1. [Buscar macaco, chave e pneu sobresselente]


1.1 Repe=r at chegar ao carro
1.1.1 Dar passos
1.2 Abrir a mala
1.3 Pegar macaco, chave e pneu bom
1.4 Repe=r at chegar ao pneu furado
1.4.1 Dar passos

3 Narra1va Identada: [Subs1tuio pneu

furado] conHnuao

2. [Colocar o macaco em posio correcta e elevar

o carro]
2.1 Largar o pneu e a chave
2.2 Encaixar macaco

2.2.1 Deslocar o macaco no sen=do do carro at encaixar

2.3 Elevar o carro


2.3.1 Repe=r at carro elevado
2.3.1.1 Rodar manivela no sen=do horrio

3 Narra1va Identada: [Subs1tuio pneu furado] - con1nuao


3.[Re=rar o pneu furado e subs=tu-lo]
3.1 Pegar na chave
3.2 Repe=r quatro vezes
3.2.1 Deslocar a chave at encaixar na porca
3.2.2 Repe=r at porca cair
3.2.2.1 Rodar sen=do an=-horrio
3.3 Largar chave
3.4 Pegar no pneu furado
3.5 Desloc-lo sen=do contrrio ao carro
3.6 Largar pneu furado
3.7 Pegar no pneu bom
3.8 Deslocar pneu no sen=do do carro
3.9 Encaixar pneu
3.10 Pegar na chave
3.11 Repe=r quatro vezes
3.11.1 Pegar na porca
3.11.2 Encaixar porca
3.11.3 Pegar chave
3.11.4 Repe=r at car apertado
3.11.4.1 Rodar no sen=do horrio
3.12 Largar chave

3 Narra1va Identada: [Subs1tuio pneu

furado] - con1nuao

4. [Guardar o macaco, chave e o pneu furado]


4.1 Baixar o carro

4.1.1 Rodar manivela no sen=do contrario ao horrio

4.2 Desencaixar macaco


4.3 Pegar pneu furado+macaco+chave
4.4 Repe=r at mala
4.4.1 Dar passos

4.5 Largar chave+macaco+pneu furado


4.6 Fechar mala
[FIM]

EXERCCIO: Elabore um algoritmo que


permita a um robot efectuar a mudana de
uma lmpada fundida.

1TopDown (gracamente):

Mudana de
lmpada
fundida
Preparar
acessos
lmpada
fundida

Re1rar
lmpada
fundida

Escolher
lmpada
nova

Colocao
da lmpada
nova

Arrumar
escada

2 Denir as operaes elementares:


dar passos
subir/descer degraus
pegar/largar objectos
rodar objectos sen=do directo/indirecto
capacidade de deciso

3 Narra1va Identada:
1. [Preparar acessos lmpada fundida]
1.1 Repe=r enquanto no chegar escada
1.1.1 Dar passos

1.2 Pegar objecto (escada)


1.3 Repe=r enquanto no chegar debaixo

lmpada fundida
1.3.1 Dar passos

3 Narra1va Identada: (conHnuao)


2. [Re=rar lmpada fundida]
2.1 Repe=r enquanto no chegar lmpada

fundida

2.1.1 Subir degraus

2.2 Repe=r enquanto no soltar a lmpada

fundida

2.2.1 Rodar objecto(L.F.) no sen=do indirecto

2.3 Repe=r enquanto no chegar ao cho


2.3.1 descer degraus

3 Narra1va Identada: (conHnuao)


3.[Escolher lmpada nova]
3.1 Repe=r enquanto no chegar junto gaveta das

lmpadas novas
3.1.1 Dar passos

3.2 Repe=r enquanto houver lmpadas novas ou

potncia L.N. diferente de potncia L.F.


3.2.1 Pegar objecto (L.N.)
3.2.2 Se potncia L.N. = Potncia L.F.
3.2.2.1 Ento largar a L.F.
3.2.2.2 Seno largar a L.N.

3 Narra1va Identada: (conHnuao)


4. [Colocao da lmpada nova]
4.1 Repe=r enquanto no chegar escada
4.1.1 Dar passos
4.2 Repe=r enquanto no chegar ao casquilho
4.2.1 Subir degraus
4.3 Repe=r enquanto no rmar a lmpada nova
4.3.1 Rodar objecto(L.N.) no sen=do horrio

4.4 Repe=r enquanto no chegar ao cho


4.4.1 descer degraus

3 Narra1va Identada: (conHnuao)


5. [Arrumar escada]
5.1 Pegar objecto(escada)
5.2 Repe=r enquanto no chegar ao s=o da

escada

5.2.1 Dar passos

5.3 Largar objecto (escada)


[FIM]

EXERCCIOS

a) Elabore um algoritmo que permita a um robot

entrar numa viatura automvel e arrancar.

b) Elabore um algoritmo que permita a um robot

aquecer um copo de leite num micro-ondas.

c) Elabore um algoritmo que permita a um robot

andar de bicicleta.