Você está na página 1de 47

1

D fi i
Definio
O desenvolvimento de um programa muito
complexo.
ALGORITMO: a descrio dos passos
necessrios para se resolver um problema.

Problema

Algoritmo

Programa

R i de
Receitas
d bolo
b l
Um algoritmo semelhante a uma
receita de bolo: so fornecidos os
ingredientes e o modo de fazer.
Seguindo a receita obteremos o bolo.
bolo

Al i
Algoritmos
& Receitas
R i
Uma receita apresenta certa
semelhana com algoritmos:
ENTRADA: So os ingredientes.
PROCESSAMENTO: Modo de
p p
preparo
SADA: O alimento pronto.

E
Exemplo:
l
Identifique a entrada, processamento
e sada na receita abaixo:
Sanduche Solduba
Ingredientes:
2 fatias de po de forma integral
1 tomate
queijo
queijo branco
peito de peru
organo
azeite
sal
Modo de preparo:
Corte o tomate e o queijo branco em fatias finas e coloque sobre o po
po. Acrescente o
peito de peru, uma pitada de organo, azeite e sal a gosto. Feche com a outra fatia.
Voc pode levar o sanduche ao forno se preferir.
5

I
Imprecises
i das
d Receitas
R i
A linguagem utilizada nas receitas
muito vaga para ser utilizada no
desenvolvimento de programas.
Por
P exemplo,
l na receita
it anterior
t i no

foi especificada a quantidade de


queijo nem se o peito de peru
deveria
de
e a se
ser fatiado
at ado ou no!
o

Li
Linguagens
para algoritmos
l i
Para formalizar a construo de
algoritmos, so utilizadas as
seguintes linguagens:
Formato
F
t livre
li
Fluxogramas
g
Pseudocdigos

F
Formato
li
livre
Consiste em se escrever os passos
necessrios numerados item a item.
Exemplo:
1- Introduzir
I t d i o primeiro
i i valor
l
2- Introduzir o segundo
g
valor
3 - Somar os dois valores
4 - Mostrar
M
o resultado
l d
(O que ffaz o algoritmo
l
it
acima?)
i ?)
8

D
Desvantagem
ddo fformato li
livre
O formato livre pode apresentar
imprecises em algoritmos mais
complexos.
O formato
f
t livre
li
s
vantajoso
t j
em
algoritmos muito simples.

Fluxogramas
Fl
uma representao grfica do
formato livre. Exemplo:
Incio

Introduzir 1 valor

Calcular a soma
dos dois valores

Introduzir 2 valor

Mostrar o
resultado

Fim

10

Fluxogramas
Fl
Um fluxograma pode se tornar muito
difcil de se ler quando o algoritmo
se torna complexo, alm de gastar
muito papel para ser desenhado!

11

P d di
Pseudocdigo
Os algoritmos atuais so muito
complexos.
Para facilitar o desenvolvimento, o
algoritmo
l
it
dividido
di idid em blocos,
bl
que
realizam determinadas tarefas que
quando juntos formam a soluo
co p eta
completa.
Esta forma de desenvolvimento se
chama Programao Estr
Estruturada
Estruturada.
t rada
12

P
Programao
estruturada
d
A programao estruturada produz
algoritmos complexos mas fceis de se ler
(e entender!).
O formato livre e o fluxograma no se
adaptam programao estruturada. Sua
forma de programao chama-se
chama se
PROGRAMAO LINEAR.
LINEAR
Para se escrever algoritmos estruturados
so usados os PSEUDOCDIGOS
PSEUDOCDIGOS.
13

Al i
Algoritmos
estruturados
d
No desenvolvimento dos algoritmos estruturados
devem ser observados 3 items bsicos:
1-FUNCIONABILIDADE: o algoritmo deve funcionar!
2-SIMPLICIDADE: o algoritmo no deve realizar
t f inteis.
tarefas
i t i Ele
El deve
d
ser feito
f it da
d forma
f
mais
i
simples possvel.
3 CLAREZA: o algoritmo deve ser claro
3-CLAREZA:
claro, isto
, fcil
de se ler e entender.
Sem estas caractersticas,
caractersticas o algoritmo estar
ERRADO!
ERRADO

14

Pseudocdigo - Portugus Estruturado


O Pseudocdigo utilizado no
desenvolvimento de algoritmos
estruturados chamado de
Portugus Estruturado
Estruturado.
Nas prximas telas veremos como
so escritas as estruturas usando o
o tugus Estruturado.
st utu ado
Portugus

15

E
Estrutura
de
d um algoritmo
l i

Um algoritmo escrito em pseudocdigo possui a seguinte


estrutura:

Algoritmo Nome
var
Declarao de variveis
incio
Comandos
d
fim
Obs.:: No utilize espaos
Obs
no nome do algoritmo!

16

Estrutura de um algoritmo - Fluxograma


Incio

Comandos

Fim

17

P d di
Pseudocdigo:
V
Variveis
i i

As variveis so utilizadas para guardar valores na


memria.
So utilizadas no lugar do endereo de memria.
memria
So identificadas por um nome.
Os nomes devem obedecer s seguintes regras:
1-S podem comear por LETRA.
2-S podem ter LETRAS, NMEROS e o caractere _
(sublinhado).
(sublinhado)
Exemplos:
A,, B,, A2,, Contador,, X_2,, ABC2,, Nome_Cliente ((vlidos))
2A, ABC$%, A B C, Nome Cliente 2, Incio
(invlidos)
Os comandos do pseudocdigo so palavras reservadas e
no
podem
d
ser usados
d como nome de
d variveis.
i i Por
P isso,
i
as palavras reservadas devem ser sublinhadas!
18

D l
Declarao
de
d variveis
i i

Equivale lista de ingredientes da receita. Serve para informar


quais os tipos de variveis utilizadas no algoritmo.

var
NomeDaVarivel : tipo

Os tipos de variveis so os seguintes:

Inteiro: Nmeros sem parte decimal.


Real: Nmeros com parte decimal.
Word: Nmeros inteiros positivos.
Booleano: Valores VERDADEIRO e FALSO.
Caractere: Um nico smbolo grfico.
String: Conjunto de caracteres. Armazena um texto.

Obs.: O fluxograma no utiliza declarao de variveis.

19

E
Exemplos:
l
var
X : real
i j : inteiro
i,j
Nome_cliente : string
Valor1,
, Valor2 : real
Flag : booleano
Letra : caractere
Taxa : word

20

A ib i de
Atribuio
d valores
l
Indicam o valor que uma varivel
deve receber em um algoritmo.
varivel valor
Exemplos:
x2
xy
xy + 2
21

Atribuio de valores - Fluxograma

Varivel Valor

22

O
Operadores
d
A
Aritmticos
i i
So utilizados os seguintes
operadores:
+
*
/
div
mod

Adio
S btrao
Subtrao
Multiplicao
Diviso
Diviso inteira
Resto da diviso inteira
23

E
Exemplos:
l
x
y
z
i
r

a
2
5
5
5

+ b
* x
/ 2
div 2 (quanto vale i?)
mod 2 (quanto vale r?)

24

E
Entrada
d e Sada
S d
Entrada:
Entrada indica que algum dado deve
ser fornecido ao algoritmo
(programa) pelo USURIO.
Sada
S d indica
Sada:
i di que algum
l
dado
d d deve
d
ser fornecido pelo algoritmo
(programa) ao USURIO.

25

P d di
Pseudocdigo:
E
Entrada
d
Leia Varivel
O valor digitado pelo usurio ser
armazenado na Varivel. Exemplo:
Leia X
O valor digitado ser armazenado na
varivel
i l X.
X

26

E
Entrada
d - Fluxograma
Fl

Leia X

Leia X

27

P d di
Pseudocdigo:
S
Sada
d
Escreva Varivel
Escreva Mensagem
Mensagem
No primeiro caso, o valor da Varivel
ser exibido ao usurio; no segundo,
g
entre
ser mostrada a mensagem
aspas (). Ex.:
Escreva X
Escreva Bom dia!
28

S d Fl
Sada:
Fluxograma

Escreva X

Escreva X

29

P d di
Pseudocdigo:
C
Condicionais
di i i
utilizado na tomada de decises.
1)
Se condio ento
incio
Bloco de comandos
comandos
fim
Os comandos so executados quando a
condio for VERDADEIRA.
30

P d di
Pseudocdigo:
C
Condicionais
di i i
2)
Se condio ento
Incio
Comandos1
fim
seno
incio
Comandos2
fim

Bloco 1

Bloco 2

Comandos1 so executados se a condio for


VERDADEIRA; Comandos2 so executados quando a
condio for FALSA.
FALSA
31

C di i i - Fluxograma
Condicionais
Fl

Condio

Condio

V
Comandos

Comandos1

Tipo 1

Tipo 2

Comandos2

32

O
Operadores
d
R
Relacionais
l i i

Relacionam DUAS grandezas.


O resultado da relao pode ser Falso ou Verdadeiro.
= igual a
diferente de
> maior
a o que
< menor que
maior ou igual a
menor ou igual a

Exemplos:

3>2
5<3
x5

V
F
D
Depende
d d
do valor
l de
d x
33

O
Operadores
d
L
Lgicos
i
Relacionam duas ou mais grandezas
lgicas.
O resultado de uma operao lgica
um valor
l lgico.
l i
Os valores lgicos
g
so FALSO e
VERDADEIRO.

34

O
Operador
d L
Lgico
i E (AND)
Tabela Verdade
A
B
F
F
F
V
V
F
V
V

Sada
F
F
F
V

35

O
Operador
d L
Lgico
i OU (OR)
Tabela Verdade
A
B
F
F
F
V
V
F
V
V

Sada
F
V
V
V

36

O
Operador
d L
Lgico
i NO (NOT)
Tabela Verdade
A
F
V

Sada
V
F

Obs.:
NO (F) = V
NO (NO (F)) = F
NO (NO (NO (F))) = V
37

C di Exemplo
Condies:
E
l
Exemplo:
Se (x>2) e (y<4) ento
Escreva x + y
seno
incio
Escreva x - y
Escreva x * y
fim
38

P d di
Pseudocdigo:
L
Lao Repita
R i
Lao REPITA...AT QUE
repita
comandos
at
t que condio
di

Bloco de comandos

O lao termina quando a condio


for VERDADEIRA.
VERDADEIRA
A condio do mesmo tipo da
usada nos condicionais.
39

L
Lao
Repita
R i - Fluxograma
Fl
1

Comandos

Condio

V
40

L
Lao
Repita:
R i Exemplo
E
l
i 0
repita
Escreva i
i i + 1
at que i > 5

O que faz o lao acima?

41

P d di
Pseudocdigo:
L
Lao Enquanto
E
Lao ENQUANTO...FAA
Enquanto condio faa
incio
comandos
d
Bl
Bloco
de
d Comandos
C
d
fim

O lao termina quando a condio for


FALSA.
A condio a mesma utilizada pelos
condicionais.
condicionais
42

L
Lao
Enquanto
E
- Fluxograma
Fl
1

Condio F
V
Comandos

2
43

L
Lao
Enquanto:
E
Exemplo
E
l
i 0
q
i 5 faa

Enquanto
incio
i i + 1
Escreva i
fim

O que faz o lao acima?


44

P d di
Pseudocdigo:
L
Lao Para
P
Para VC VI at VF faa
incio
comandos
Bloco de comandos
fi
fim

VC: Varivel
VC
Vari el Contadora (inteiro)
VI: Valor Inicial (inteiro)
VF: Valor Final (inteiro)
VC inicializada com VI e incrementada de 1 at atingir VF,
quando o lao para.

45

L
Lao
Para
P - Fluxograma
Fl

O fluxograma no possui estrutura Para. Ela deve ser feita usando a estrutura
Enquanto faa
Enquanto...faa.

VCVI

VC>VF?

F
Comandos
VCVC+1

1
46

Bibli
Bibliografia
fi
Algoritmos-Lgica para Desenvolvimento de programao.
Jos Augusto N. G. Manzano e Jayr Figueiredo de Oliveira. Ed.
rica.
Tcnicas de Programao - Uma abordagem estruturada.
Wlater Luiz Caram Saliba. Makron Books.
Projeto de Algoritmos com implementao em PASCAL e C .
Nvio Ziviani. Ed Cengage Learning
((PLT 83) Construo
Co st uo de Algoritmos.
go t os Andr
d Luiz
u Villar
a
Forbellone e Henri Frederico Eberspcher. Ed. Pearson
Education.
(PLT 81) Programao Estruturada / Algoritmo e Programao
/ Treinamento em Linguagem C. Victorine Viviane Mizrahi. Ed.
Pearson Education

47