Carregar apresentação
A apresentação está carregando. Por favor, espere
1
DEInfo - Prof. Paulemir Campos
UFRPE – Deptº de Estatística e Informática Disciplina: Introdução à Computação Prof.: Paulemir G. Campos Algoritmo 11/18/2018 DEInfo - Prof. Paulemir Campos
2
DEInfo - Prof. Paulemir Campos
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. 11/18/2018 DEInfo - Prof. Paulemir Campos
3
DEInfo - Prof. Paulemir Campos
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. 11/18/2018 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. 11/18/2018 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?!? Quanto tempo?!? De uma vez só?!? Quanto tempo?!? 11/18/2018 DEInfo - Prof. Paulemir Campos
6
Algoritmo Textual Informal Refinado
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 11/18/2018 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 11/18/2018 DEInfo - Prof. Paulemir Campos
8
Algoritmo Gráfico-Textual Informal
Identificação das peças 11/18/2018 DEInfo - Prof. Paulemir Campos
9
Algoritmo Gráfico-Textual Informal
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 ... 11/18/2018 DEInfo - Prof. Paulemir Campos
10
Algoritmo Textual Informal 2
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... “ 11/18/2018 DEInfo - Prof. Paulemir Campos
11
Algoritmo Gráfico Informal
Troca de pneu 11/18/2018 DEInfo - Prof. Paulemir Campos
12
Algoritmo Gráfico Semi-formal
Troca de pneu (Fluxograma) Acessórios OK? Abre porta-malas Pega triângulo Fecha porta-malas Pneu furado? Segue viagem Sim Não 11/18/2018 DEInfo - Prof. Paulemir Campos
13
Algoritmo Textual Formal
Troca de pneu abre(porta_malas) Se acessorio_ok = FALSO Então fecha(porta_malas) espera_carona() Senão pega_triangulo() ... 11/18/2018 DEInfo - Prof. Paulemir Campos
14
Algoritmo: Problemas Complexos
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 11/18/2018 DEInfo - Prof. Paulemir Campos
15
Algoritmo: Problemas Complexos
Passo 1: mova disco menor para terceiro eixo 11/18/2018 DEInfo - Prof. Paulemir Campos
16
Algoritmo: Problemas Complexos
Passo 2: mova disco médio para segundo eixo 11/18/2018 DEInfo - Prof. Paulemir Campos
17
Algoritmo: Problemas Complexos
Passo 3: mova disco menor para segundo eixo 11/18/2018 DEInfo - Prof. Paulemir Campos
18
Algoritmo: Problemas Complexos
Passo 4: mova disco maior para terceiro eixo 11/18/2018 DEInfo - Prof. Paulemir Campos
19
Algoritmo: Problemas Complexos
Passo 5: mova disco menor para primeiro eixo 11/18/2018 DEInfo - Prof. Paulemir Campos
20
Algoritmo: Problemas Complexos
Passo 6: mova disco médio para terceiro eixo 11/18/2018 DEInfo - Prof. Paulemir Campos
21
Algoritmo: Problemas Complexos
Passo 7: mova disco menor para terceiro eixo 11/18/2018 DEInfo - Prof. Paulemir Campos
22
Algoritmo: Problemas Complexos
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 11/18/2018 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 criatividade e experiência 11/18/2018 DEInfo - Prof. Paulemir Campos
24
DEInfo - Prof. Paulemir Campos
Tipos de Lógica As usadas em processamento automático de dados são: Lógica Linear; Lógica Modular; Lógica Estruturada. 11/18/2018 DEInfo - Prof. Paulemir Campos
25
DEInfo - Prof. Paulemir Campos
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. 11/18/2018 DEInfo - Prof. Paulemir Campos
26
Lógica Linear - Diagrama
Rotina 01 Rotina 02 . . . Rotina N 11/18/2018 DEInfo - Prof. Paulemir Campos
27
DEInfo - Prof. Paulemir Campos
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. 11/18/2018 DEInfo - Prof. Paulemir Campos
28
Lógica Modular - Diagrama
Rotina 01 Rotina 02 Bloco Principal Rotina 03 Rotina 04 11/18/2018 DEInfo - Prof. Paulemir Campos
29
DEInfo - Prof. Paulemir Campos
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. 11/18/2018 DEInfo - Prof. Paulemir Campos
30
DEInfo - Prof. Paulemir Campos
Lógica Estruturada rotina 01 rotina 02 rotina 04 rotina 03 fim 03 fim 02 fim 04 fim 01 11/18/2018 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. 11/18/2018 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). 11/18/2018 DEInfo - Prof. Paulemir Campos
33
DEInfo - Prof. Paulemir Campos
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. 11/18/2018 DEInfo - Prof. Paulemir Campos
34
Fluxogramas - Principais Símbolos
Indica o ponto onde começa o algoritmo. Não é codificado em forma de comando. Início Indica operação de leitura ou entrada dos dados para os locais chamados X, ..., Y na memória do computador. Ler X, ... Y Indica operação aritmética ou cálculo de uma fórmula. Z = Expressão 11/18/2018 DEInfo - Prof. Paulemir Campos
35
Fluxogramas - Principais Símbolos
Indica comparação de um valor com outro. Conforme o resultado desta comparação, um dos três caminhos diferentes será seguido nesse algoritmo. > < Comparar Z com W = Indica verificação ou comparação em forma de pergunta, podem ocorrer uma das respostas ‘Sim’ ou ‘Não’. O sinal ‘::’ pode ser ‘=’, ‘<>’, ‘>’, ‘<’, etc. Sim Z :: W ? Não 11/18/2018 DEInfo - Prof. Paulemir Campos
36
Fluxogramas - Principais Símbolos
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). N Indica operação de saída ou impressão do valor Z numa linha da impressora. Escrever Z Indica o ponto onde o algoritmo suspende a execução de comando(s) ou seu fim. Pare ou Fim 11/18/2018 DEInfo - Prof. Paulemir Campos
37
DEInfo - Prof. Paulemir Campos
Fluxogramas - Exemplo 1 Achar o valor da expressão: D = B2 - 4AC. Início 1 Escrever D Ler A, B, C D = B^2 - 4*A*C 1 Fim 11/18/2018 DEInfo - Prof. Paulemir Campos
38
DEInfo - Prof. Paulemir Campos
Fluxogramas: Exemplo 2 Início Achar o maior de dois números A e B. Ler A, B Comparar A com B A=B A<B A>B Escrever: “A e B iguais” Escrever: “A é maior” Escrever: “B é maior” Fim 11/18/2018 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. 11/18/2018 DEInfo - Prof. Paulemir Campos
40
Português Estruturado - Exemplo 1
Achar o valor da expressão: D = B2 - 4AC. Ler os valores de A, B e C Calcular a expressão D = B2 - 4AC Mostrar o resultado desse cálculo 11/18/2018 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 11/18/2018 DEInfo - Prof. Paulemir Campos
42
DEInfo - Prof. Paulemir Campos
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. 11/18/2018 DEInfo - Prof. Paulemir Campos
43
DEInfo - Prof. Paulemir Campos
Portugol - Exemplo 1 Achar o valor da expressão: D = B2 - 4AC. Início Declare A,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. 11/18/2018 DEInfo - Prof. Paulemir Campos
44
DEInfo - Prof. Paulemir Campos
Portugol - Exemplo 2 Achar o maior de dois números A e B. Início Declare A,B; { Declaração de variáveis } Leia(A,B); Se A = B Então Escreva(“A e B iguais”); Senão Se A>B Então Escreva(“A é maior”); Senão Escreva(“B é maior”); Fim-Se Fim. 11/18/2018 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. 11/18/2018 DEInfo - Prof. Paulemir Campos
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.