Algoritmo e fluxogramas: introdução à lógica

BrunoCosta121828 61 views 45 slides Mar 14, 2024
Slide 1
Slide 1 of 45
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45

About This Presentation

Slides sobre algoritmos


Slide Content

3/14/2024 DEInfo -Prof. Paulemir Campos 1
UFRPE –Deptº de Estatística e Informática
Disciplina: Introdução à Computação
Prof.: Paulemir G. Campos
Algoritmo

3/14/2024 DEInfo -Prof. Paulemir Campos 2
Definições
É a descrição de um conjunto de
comandos que, obedecidos, resultam
numa sucessão finita de ações.
Isto é, é uma descrição das etapas de
resolução de um problema ou a
indicação de uma seqüência de ações
bem definidas.

3/14/2024 DEInfo -Prof. Paulemir Campos 3
Definições
Ou ainda, é um conjunto de instruções
dispostas passo-a-passo, que através
de uma determinada lógica resolve um
dado problema.

3/14/2024 DEInfo -Prof. Paulemir Campos 4
Exemplos de Algoritmos
Apresentamos em alguns dos slides
seguintes exemplos de algoritmos, como:
–receitas de bolos;
–manuais técnicos;
–guias de montagem, etc.
Contudo, recomenda-se que sejam feitos
refinamentos objetivando o entendimento
do algoritmo por outras pessoas.

3/14/2024 DEInfo -Prof. Paulemir Campos 5
Algoritmo Textual Informal
Modo de preparo:
–Bata a margarina, as gemas e o açúcar até ficar
cremoso
–Junte o leite, o coco e a farinha e continue
batendo
–Acrescente o fermento e, por último, as claras em
neve
–Unte uma forma com manteiga e leve ao forno
para assar
Quão cremoso?!?
De uma vez só?!?
Quanto tempo?!?
Quanto tempo?!?

3/14/2024 DEInfo -Prof. Paulemir Campos 6
Modo de preparo:
–Bata a margarina, as gemas e o açúcar por 15
minutos
–Junte o leite, o coco e a farinha e continue
batendo por mais 15 minutos
–Acrescente 20 g de fermento e, por último, as
claras em neve
–Unte uma forma com manteiga e leve ao forno
para assar por 30 minutos
Algoritmo Textual Informal Refinado

3/14/2024 DEInfo -Prof. Paulemir Campos 7
Algoritmo Gráfico-Textual Informal
Montagem de um Aeromodelo
–Material
•Cola especial para plásticos
•Estilete
•Lixas finas
•Durex ou fita crepe
•Pregador de roupas, elásticos

3/14/2024 DEInfo -Prof. Paulemir Campos 8
Identificação das peças
Algoritmo Gráfico-Textual Informal

3/14/2024 DEInfo -Prof. Paulemir Campos 9
Instruções
–Leia e entenda as instruções antes de começar a
montagem
–Lave as peças com água e detergente. Na lavagem
serão removidos desmoldantes e sujeiras, que
dificultam a colagem e a pintura. Faça isto dentro de
uma bacia, para evitar perder peças pequenas, que
porventura se soltem
–Encontre as peças que devem ser usadas na
primeira parte da montagem (figura do slide anterior)
–Lixe as peças com cuidado eliminando as rebarbas
–...
Algoritmo Gráfico-Textual Informal

3/14/2024 DEInfo -Prof. Paulemir Campos 10
Troca de pneu
“Abra o porta-mala e verifique se todos
acessórios estão lá. Em caso negativo, feche
o porta-malas e peça carona a alguém. Em
caso positivo, retire o triângulo, posicione-o a
cerca de 30 m do carro, e, depois, retire o
estepe e o macaco. Levante o carro... “
Algoritmo Textual Informal 2

3/14/2024 DEInfo -Prof. Paulemir Campos 11
Troca de pneu
Algoritmo Gráfico Informal

3/14/2024 DEInfo -Prof. Paulemir Campos 12
Pneu furado? Segue viagem
Acessórios
OK?
Abre porta-malas
Pega triângulo
Fecha
porta-malas
Troca de pneu (Fluxograma)
Algoritmo Gráfico Semi-formal
Não
Sim

3/14/2024 DEInfo -Prof. Paulemir Campos 13
Troca de pneu
abre(porta_malas)
Seacessorio_ok = FALSO
Então
fecha(porta_malas)
espera_carona()
Senão
pega_triangulo()
...
Algoritmo Textual Formal

3/14/2024 DEInfo -Prof. Paulemir Campos 14
Problema da Torre de Hanói
–Seja a seguinte situação:
•deve-se mover todos os discos do primeiro eixo para o
terceiro mantendo-se a ordem original
•em cada movimento, pode-se mover apenas um disco
•um disco nunca poderá ser sobreposto por outro maior
Algoritmo: Problemas Complexos

3/14/2024 DEInfo -Prof. Paulemir Campos 15
Passo 1:
mova disco menor para terceiro eixo
Algoritmo: Problemas Complexos

3/14/2024 DEInfo -Prof. Paulemir Campos 16
Passo 2:
mova disco médio para segundo eixo
Algoritmo: Problemas Complexos

3/14/2024 DEInfo -Prof. Paulemir Campos 17
Passo 3:
mova disco menor para segundo eixo
Algoritmo: Problemas Complexos

3/14/2024 DEInfo -Prof. Paulemir Campos 18
Passo 4:
mova disco maior para terceiro eixo
Algoritmo: Problemas Complexos

3/14/2024 DEInfo -Prof. Paulemir Campos 19
Passo 5:
mova disco menor para primeiro eixo
Algoritmo: Problemas Complexos

3/14/2024 DEInfo -Prof. Paulemir Campos 20
Passo 6:
mova disco médio para terceiro eixo
Algoritmo: Problemas Complexos

3/14/2024 DEInfo -Prof. Paulemir Campos 21
Passo 7:
mova disco menor para terceiro eixo
Algoritmo: Problemas Complexos

3/14/2024 DEInfo -Prof. Paulemir Campos 22
Seqüência de passos completa:
Passo 1: mova disco menor para terceiro eixo
Passo 2: mova disco médio para segundo eixo
Passo 3: mova disco menor para segundo eixo
Passo 4: mova disco maior para terceiro eixo
Passo 5: mova disco menor para primeiro eixo
Passo 6: mova disco médio para terceiro eixo
Passo 7: mova disco menor para terceiro eixo
Algoritmo: Problemas Complexos

3/14/2024 DEInfo -Prof. Paulemir Campos 23
Algoritmo: Observação
Não existe um algoritmo para
construir algoritmos
–a criação de um algoritmo é um exercício de
criatividadee experiência

3/14/2024 DEInfo -Prof. Paulemir Campos 24
Tipos de Lógica
As usadas em processamento
automático de dados são:
–Lógica Linear;
–Lógica Modular;
–Lógica Estruturada.

3/14/2024 DEInfo -Prof. Paulemir Campos 25
Lógica Linear
Visa a solução dos problemas como
foram propostos, sem dividi-los em
segmentos.
Tenta-se resolver os problemas
linearmente, tratando de cada ação na
ordem em que sua necessidade for
aparecendo.

3/14/2024 DEInfo -Prof. Paulemir Campos 26
Lógica Linear -Diagrama
Rotina 01
Rotina 02
Rotina N
. . .

3/14/2024 DEInfo -Prof. Paulemir Campos 27
Lógica Modular
Caracteriza-se pela subdivisão do
problema proposto em diversos
módulos (subproblemas), para poder
analisar melhor cada rotina
(separadamente) visando, assim, a
solução geral da questão.

3/14/2024 DEInfo -Prof. Paulemir Campos 28
Lógica Modular -Diagrama
Rotina 01
Bloco
Principal
Rotina 02
Rotina 03 Rotina 04

3/14/2024 DEInfo -Prof. Paulemir Campos 29
Lógica Estruturada
Usa resoluções em laços, de dentro
para fora. Dentro de uma rotina,
existem outras rotinas, numa espécie
de aninhamento.
É muita utilizada em ambientes de
linguagens de programação que pouco
fazem uso de comandos de desvio.

3/14/2024 DEInfo -Prof. Paulemir Campos 30
Lógica Estruturada
rotina 01
rotina 02 rotina 04
rotina 03
fim 01
fim 02
fim 03
fim 04

3/14/2024 DEInfo -Prof. Paulemir Campos 31
Instrumentos da Lógica de Programação
A organização do raciocínio de
resolução de um problema, ou seja, o
algoritmo, pode ser feita, com
vantagem, utilizando-se instrumentos
adequados.

3/14/2024 DEInfo -Prof. Paulemir Campos 32
Instrumentos da Lógica de Programação
Neste contexto existem diversos
instrumentos, sendo que destacam-se:
–Pictóricos ou Gráficos:
•Fluxogramas.
–Narrativos:
•Português estruturado;
•Portugol (pseudocódigo).

3/14/2024 DEInfo -Prof. Paulemir Campos 33
Fluxogramas
Permite expressar qualquer lógica, por
mais complicada que seja, de forma
gráfica, usando símbolos padronizados;
Útil a pessoas que bem a conheçam
para resolver pequenos problemas.

3/14/2024 DEInfo -Prof. Paulemir Campos 34
Fluxogramas -Principais Símbolos
Início
Indica o ponto onde começa o algoritmo.
Não é codificado em forma de comando.
Indica operação de leitura ou entrada dos
dados para os locais chamados X, ..., Y na
memória do computador.
Z = Expressão
Indica operação aritmética ou cálculo de
uma fórmula.
Ler X, ... Y

3/14/2024 DEInfo -Prof. Paulemir Campos 35
Indica comparação de um valor com
outro. Conforme o resultado desta
comparação, um dos três caminhos
diferentes será seguido nesse algoritmo.
Indica verificação ou comparação em
forma de pergunta, podem ocorrer uma
das respostas ‘Sim’ ou ‘Não’. O sinal ‘::’
pode ser ‘=’, ‘<>’, ‘>’, ‘<’, etc.
<
>
=
Comparar
Z com W
Z :: W ?
Sim
Não
Fluxogramas -Principais Símbolos

3/14/2024 DEInfo -Prof. Paulemir Campos 36
Indica operação de saída ou impressão do
valor Z numa linha da impressora.
Indica o ponto onde o algoritmo suspende
a execução de comando(s) ou seu fim.
Pare ou Fim
Escrever Z
Fluxogramas -Principais Símbolos
N
Conectivo que indica o local para onde o
fluxo do algoritmo deve ser desviado,
onde N é um número natural seqüencial,
iniciando com o valor 1 (um).

3/14/2024 DEInfo -Prof. Paulemir Campos 37
Fluxogramas -Exemplo 1
Achar o valor da expressão: D = B
2
-4AC.
Início
Ler A, B, CD = B^2 -4*A*C
1
1
Escrever D
Fim

3/14/2024 DEInfo -Prof. Paulemir Campos 38
Fluxogramas:
Exemplo 2
Achar o maior de
dois números A e B.
Início
Ler A, B
A=B A<B
A>B
Comparar
A com B
Escrever:
“A e B iguais”
Fim
Escrever:
“A é maior”
Escrever:
“B é maior”

3/14/2024 DEInfo -Prof. Paulemir Campos 39
Português Estruturado
Apresenta a seqüência de passos do
algoritmo visando à elaboração de um
programa de computador, sem, no
entanto, ser um suporte imediato à
codificação.
É detalhado em maior ou menor
escala, conforme necessário.

3/14/2024 DEInfo -Prof. Paulemir Campos 40
Português Estruturado -Exemplo 1
Achar o valor da expressão: D = B
2
-4AC.
Ler os valores de A, B e C
Calcular a expressão D = B
2
-4AC
Mostrar o resultado desse cálculo

3/14/2024 DEInfo -Prof. Paulemir Campos 41
Português Estruturado -Exemplo 2
Achar o maior de dois números A e B.
Ler dois números A e B
Comparar A com B
Mostrar o resultado dessa comparação

3/14/2024 DEInfo -Prof. Paulemir Campos 42
Portugol
É um pseudocódigo que permite ao
projetista apresentar a solução lógica
oferecendo toda a facilidade para a
conversão a qualquer código de
programação.
Para facilitar a sua legibilidade usa-se
de recursos como recuo de parágrafos
e padronizações de instruções.

3/14/2024 DEInfo -Prof. Paulemir Campos 43
Portugol -Exemplo 1
Achar o valor da expressão: D = B
2
-4AC.
Início
DeclareA,B,C,D; { Declaração de variáveis }
Leia(A,B,C);
D B^2 -4*A*C; { Operação de atribuição }
Escreva(D);
Fim.

3/14/2024 DEInfo -Prof. Paulemir Campos 44
Portugol -Exemplo 2
Achar o maior de dois números A e B.
Início
DeclareA,B; { Declaração de variáveis }
Leia(A,B);
SeA = B EntãoEscreva(“A e B iguais”);
SenãoSeA>B EntãoEscreva(“A é maior”);
SenãoEscreva(“B é maior”);
Fim-Se
Fim-Se
Fim.

3/14/2024 DEInfo -Prof. Paulemir Campos 45
Referências Bibliográficas
Farrer, H. et. ali. Programação
Estruturada de Computadores:
Algoritmos Estruturados.Rio de
Janeiro: Guanabara Koogan, 1989.
Velloso, F. C. Informática: Conceitos
Básicos.Rio de Janeiro: Campus, 1999.
Slides sobre “Conceitos Básicos de
Algoritmos”, da Universidade de Caxias
do Sul, 2002.
Tags