A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

DEInfo - Prof. Paulemir Campos

Apresentações semelhantes


Apresentação em tema: "DEInfo - Prof. Paulemir Campos"— Transcrição da apresentação:

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


Carregar ppt "DEInfo - Prof. Paulemir Campos"

Apresentações semelhantes


Anúncios Google