Vous êtes sur la page 1sur 24

1

1
Sumrio
Algoritmia
2
Definio
O desenvolvimento de um programa muito complexo.
ALGORITMO: a descrio dos passos necessrios para
se resolver um problema.
Problema
Algoritmo Programa
2
3
Exemplo
Um algoritmo semelhante a uma receita
de bolo: so fornecidos os ingredientes e o
modo de fazer. Seguindo a receita obteremos
o bolo.
4
Algoritmos e receitas
Uma receita apresenta certa semelhana
com algoritmos:
ENTRADA: So os ingredientes.
PROCESSAMENTO: Modo de preparo
SADA: O alimento pronto.
3
5
Exemplo
Identifique a entrada, processamento e sada
na receita abaixo:
Sanduche Solduba
Ingredientes:
2 fatias de po de forma integral
1 tomate
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. 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.
6
Imprecises
A linguagem utilizada nas receitas muito
vaga para ser utilizada no desenvolvimento
de programas.
Por exemplo, na receita anterior no foi
especificada a quantidade de queijo nem se
o peito de peru deveria ser fatiado ou no!
4
7
Linguagem para algoritmos
Para formalizar a construo de algoritmos,
so utilizadas as seguintes linguagens:
Formato livre
Fluxogramas
Pseudocdigos
8
Formato livre
Consiste em se escrever os passos necessrios
numerados item a item.
Exemplo:
1 - Introduzir o primeiro valor
2 - Introduzir o segundo valor
3 - Somar os dois valores
4 - Mostrar o resultado
(O que faz o algoritmo acima?)
5
9
Formato livre - desvantagens
O formato livre pode apresentar imprecises
em algoritmos mais complexos.
O formato livre s vantajoso em algoritmos
muito simples.
10
Fluxogramas
uma representao grfica do formato
livre. Exemplo:
1
Fim
Incio
Introduzir 1 valor
Introduzir 2 valor
1
Calcular a soma
dos dois valores
Mostrar o
resultado
6
11
Fluxogramas
Um fluxograma pode se tornar muito difcil
de se ler quando o algoritmo se torna
complexo, alm de gastar muito papel para
ser desenhado!
12
Pseudacdigos
Os algoritmos atuais so muito complexos.
Para facilitar o desenvolvimento, o
algoritmo dividido em blocos, que
realizam determinadas tarefas que quando
juntos formam a soluo completa.
Esta forma de desenvolvimento se chama
Programao Estruturada.
7
13
Programao estruturada
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 PROGRAMAO
LINEAR.
Para se escrever algoritmos estruturados so
usados os PSEUDOCDIGOS.
14
Algoritmos estruturados
No desenvolvimento dos algoritmos estruturados devem
ser observados 3 items bsicos:
1- FUNCIONABILIDADE: o algoritmo deve funcionar!
2- SIMPLICIDADE: o algoritmo no deve realizar tarefas
inteis. Ele deve ser feito da forma mais simples possvel.
3- CLAREZA: o algoritmo deve ser claro, isto , fcil de se
ler e entender.
Sem estas caractersticas, o algoritmo estar ERRADO!
8
15
Pseudocdigo Portugus estruturado
O Pseudocdigo utilizado no desenvolvimento
de algoritmos estruturados chamado de
Portugus Estruturado.
Nos prximos diapositivos veremos como so
escritas as estruturas usando o Portugus
Estruturado.
16
Estrutura de um algoritmo
Um algoritmo escrito em pseudocdigo possui a seguinte estrutura:
Algoritmo Nome
var
Declarao de variveis
incio
Comandos
fim
Obs.: No utilize espaos
no nome do algoritmo!
9
17
Estrutura algoritmo - fluxograma
Fim
Incio
Comandos
18
Pseudocdigo - variveis
As variveis so utilizadas para guardar valores na memria.
So utilizadas no lugar do endereo de 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).
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
ser usados como nome de variveis. Por isso, as palavras reservadas
devem ser sublinhadas!
10
19
Declarao variveis
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.
Caracter: Um nico smbolo grfico.
String: Conjunto de caracteres. Armazena um texto.
Obs.: O fluxograma no utiliza declarao de variveis.
20
Exemplo
var
X : real
i,j : inteiro
Nome_cliente : string
Valor1, Valor2 : real
Flag : booleano
Letra : caracter
Taxa : word
11
21
Atribuio de valores
Indicam o valor que uma varivel deve
receber num algoritmo.
varivel valor
Exemplos:
x 2
x y
x y + 2
22
Atribuio valores - fluxograma
Varivel Valor
12
23
Operadores aritmticos
So utilizados os seguintes operadores:
+ Adio
- Subtrao
* Multiplicao
/ Diviso
div Diviso inteira
mod Resto da diviso inteira
24
Exemplos
x a + b
y 2 * x
z 5 / 2
i 5 div 2 (quanto vale i?)
r 5 mod 2 (quanto vale r?)
13
25
Entrada e Sada
Entrada: indica que algum dado deve ser
fornecido ao algoritmo (programa) pelo
UTILIZADOR.
Sada: indica que algum dado deve ser
fornecido pelo algoritmo (programa) ao
UTILIZADOR.
26
Pseudocdigo - Entrada
Ler Varivel
O valor digitado pelo utilizador ser armazenado
na Varivel. Exemplo:
Ler X
O valor digitado ser armazenado na varivel
X.
14
27
Entrada - fluxograma
Ler X
28
Pseudocdigo - Sada
Escrever Varivel
Escrever Mensagem
No primeiro caso, o valor da Varivel ser
exibido ao utilizador; no segundo, ser
mostrada a mensagem que est entre aspas ().
Exemplos:
Escrever X
Escrever Bom dia!
15
29
Sada - fluxograma
Escrever X
30
Pseudocdigo - Condies
utilizado na tomada de decises.
1)
Se condio ento
incio
comandos
fim
Os comandos so executados quando a condio for
VERDADEIRA.
16
31
2)
Se condio ento
Incio
Comandos1
fim
seno
incio
Comandos2
fim
Comandos1 so executados se a condio for VERDADEIRA;
Comandos2 so executados quando a condio for FALSA.
Bloco 1
Bloco 2
Pseudocdigo - Condies
32
Condies - fluxograma
Comandos
1
Condio
V
F
Tipo 1
Condio
V
F
Comandos1
1
Comandos2
Tipo 2
17
33
Operadores relacionais
Relacionam DUAS grandezas.
O resultado da relao pode ser Falso ou Verdadeiro.
= igual a
diferente de
> maior que
< menor que
maior ou igual a
menor ou igual a
Exemplos:
3 > 2
5 < 3 F
x 5
V
Depende do valor de x
34
Operadores lgicos
Relacionam duas ou mais grandezas lgicas.
O resultado de uma operao lgica um valor
lgico.
Os valores lgicos so FALSO e VERDADEIRO.
18
35
Operador lgico E (and)
A B Sada
F F F
F V F
V F F
V V V
Tabela Verdade
36
Operador lgico OU (or)
Tabela Verdade
A B Sada
F F F
F V V
V F V
V V V
19
37
Operador lgico NO (not)
A Sada
F V
V F
Obs.:
NO (F) = V
NO (NO (F)) = F
NO (NO (NO (F))) = V
Tabela Verdade
38
Exemplo
Se (x>2) e (y<4) ento
Escrever x + y
seno
incio
Escrever x - y
Escrever x * y
fim
20
39
Pseudocdigo ciclo Repetir
Ciclo REPITIR...AT QUE
repitir
comandos
at que condio
O ciclo termina quando a condio for
VERDADEIRA.
A condio do mesmo tipo da usada nas
condies
Bloco de comandos
40
Ciclo Repetir - fluxograma
1
Comandos
Condio
V
F
21
41
Ciclo Repetir - exemplo
i 0
repetir
Escrever i
i i + 1
at que i > 5
O que faz o ciclo acima?
42
Pseudocdigo ciclo Enquanto
Ciclo ENQUANTO...FAZER
Enquanto condio fazer
incio
comandos
fim
O ciclo termina quando a condio for
FALSA.
A condio a mesma utilizada pelas
condicies
Bloco de Comandos
22
43
Ciclo Enquanto - fluxograma
1
Comandos
2
Condio
V
F
44
Ciclo Enquanto - exemplo
i 0
Enquanto i 5 fazer
incio
i i + 1
Escrever i
fim
O que faz o clico acima?
23
45
Pseudocdigo ciclo PARA
Para VC VI at VF fazer
incio
comandos
fim
VC: Varivel Contadora (inteiro)
VI: Valor Inicial (inteiro)
VF: Valor Final (inteiro)
VC inicializada com VI e incrementada de 1 at atingir VF, quando o
cliclo pra.
46
Ciclo PARA - fluxograma
O fluxograma no possui estrutura Para. Ela deve ser feita usando
a estrutura Enquanto...fazer.
VC VI
Comandos
VC VC+1
1
VC>VF?
V
F
24
47
Ciclo PARA - exemplo
Para vc 1 at 10 fazer
incio
Escrever 9 * vc
fim
O que faz o clico acima?

Vous aimerez peut-être aussi