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

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

CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA: ALGORITMO PROFº.: LEANDRO GONZALEZ

Apresentações semelhantes


Apresentação em tema: "CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA: ALGORITMO PROFº.: LEANDRO GONZALEZ"— Transcrição da apresentação:

1 CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA: ALGORITMO PROFº.: LEANDRO GONZALEZ

2 Conteúdo programático: Introdução: Lógica; Algoritmo; Formas de representação de Algoritmo; Programa. Itens fundamentais: Tipos de dados; Constantes; Variáveis; Comentários; Expressões e Operadores; Comandos de entrada e saída; ALGORITMO

3 Itens fundamentais: Estrutura sequencial; Estrutura condicional; Estrutura de repetição. Estrutura de dados: Vetores; Matrizes; Arquivos; Modularização: Sub-rotinas; Funções Utilização da Ferramenta VisuALG ALGORITMO

4 Bibliografia: FORBELLONE, Luis e EBERSPACHER, Henri. Lógica de Programação: a construção de algoritmos e estrutura de dados. APOSTILA ALGORITMOS. Disponível em: programacao ALGORITMO

5 Lógica é oriunda da palavra grega logiké, que significa arte de raciocinar. Aristóteles, filósofo grego ( a.C.), foi o primeiro a estudar sobre os aspectos da lógica. Lógica é o ramo da filosofia que cuida das regras do bem pensar ou do pensar correto. A lógica ensina a colocar Ordem no Pensamento.

6 Resolva os seguintes problemas de lógica (5 minutos): P1 – Uma lesma deve subir um poste de 10m de altura. Durante o período diurno (manhã e tarde) sobe 2m e à noite desce 1m. Em quantos dias atingirá o topo do poste? P2 - O pai do padre é filho do meu pai. O que eu sou do Padre? P3 – Qual o próximo número da sequência 7,8,10,13,17... ? P4 - Três gatos comem três ratos em três minutos. Cem gatos comem cem ratos em quantos minutos?

7 Sequencia Lógica é um conjunto de instruções executadas (sequencialmente) até atingir um objetivo ou solução de um problema.

8 Na linguagem comum: Instrução é a norma definida para a realização de algo. Em informática: Instrução indica ao computador uma ação elementar a ser executada. Uma ordem isolada não permite realizar o processo completo, para isso é necessário um conjunto de instruções colocadas em ordem sequencial lógica.

9 Ex: ao fazer omelete de batatas, precisaremos colocar em prática uma série de instruções: Descascar as batatas, bater os ovos, fritar as batatas, etc...; Essas instruções tem que ser executadas em uma ordem adequada; Assim, uma instrução tomada em separado não tem muito sentido.

10 Algoritmo é uma sequencia de passos que visam atingir um objetivo bem definido. Podemos pensar em algoritmo como uma receita, uma sequência de instruções para atingir uma meta específica.

11 Algoritmo é a descrição de um conjunto finito de instruções para a solução de um problema em um tempo finito. Estas tarefas não podem ser ambíguas nem subjetivas na sua definição, devem ser claras e precisas.

12 Exemplo de aplicação da lógica e construção de algoritmos: Um homem precisa atravessar um rio com um barco e suas três cargas, que são: um cachorro, uma galinha e um saco de milho. Quais as restrições desse problema? Há limite na quantidade de viagens? O que o homem deve fazer para conseguir atravessar o rio sem perder as suas cargas?

13 Quais as restrições desse problema? O barco possui capacidade de transportar apenas o Homem e mais uma de suas três cargas O cachorro não pode ficar só com a galinha A galinha não pode ficar só com o milho Há limite na quantidade de viagens? Não O que o homem deve fazer para atravessar a carga?

14 Início: H – C – G – M | vazio

15 Torre de Hanói Haste AHaste B Haste C Peça Pequena Peça Média Peça Grande

16 Objetivo: Mover os discos da haste A para a haste C. Quais as restrições? Um disco maior não pode ficar em cima de um disco menor. Só pode mover um disco de cada vez. Qual a sequência lógica para resolver este problema? Torre de Hanói

17 Um problema pode ser solucionado através de diversos algoritmos. Não se aprende algoritmo copiando. Só aprende algoritmo exercitando. Um algoritmo deve sempre possuir pelo menos um resultado, normalmente chamado de saída.

18 Abstração - todo o esforço é concentrado na resolução do problema e não em detalhes computacionais que podem ser acrescentados posteriormente. Portabilidade - uma solução algorítmica pode ser traduzida para qualquer linguagem de programação.

19 Descrição narrativa ou Linguagem Natural; Fluxograma ou Diagrama de Blocos; Diagrama de Chapin; Pseudocódigo, Português estruturado ou Portugol.

20 É a forma mais espontânea de representação de algoritmos, pois descrevemos os passos do algoritmo utilizando o nosso linguajar quotidiano. Não se emprega nenhum recurso diagramático, e não há uma rigidez na estruturação das ações. Apresenta conteúdo extenso.

21 Exemplo: O uso de linguagem natural pode gerar más interpretações, ambiguidades e imprecisões.

22 É uma representação gráfica de algoritmo onde formas geométricas diferentes implicam ações distintas. Tal propriedade facilita o entendimento das ideias contidas nos algoritmos. Pouca atenção aos dados, não oferecendo recursos para descrevê-los ou representá-los. Inicie o fluxograma de cima para baixo e da esquerda para a direita. Evitar cruzamento nas linhas do fluxograma.

23 No fluxograma existem símbolos padronizados para início, entrada de dados, cálculos, saída de dados, fim, etc.

24 Exemplo:

25 A ideia básica deste diagrama é representar as ações de um algoritmo dentro de um único retângulo, subdividido em retângulos menores, que representam os diferentes blocos de sequência de ações do algoritmo. SequênciaSeleçãoRepetição

26 Exemplo

27 Representação rica em detalhes e assemelha-se bastante à forma em que os programas são escritos. Pode-se definir quais e como os dados vão estar estruturados. Passagem quase imediata do algoritmo para uma linguagem de programação qualquer. Sintaxe não padronizada.

28 Exemplo:

29 Existem três estruturas básicas para a construção de algoritmos: sequenciação, seleção e repetição. A combinação destas três estruturas permite-nos a construção de algoritmos para a resolução de problemas extremamente complexos. A programação estruturada se baseia nestas três estruturas básicas.

30 Imagine a seguinte situação: precisamos elaborar um algoritmo para trocar uma lâmpada. Utilizando apenas a estrutura de sequenciação.

31 No entanto, antes de trocarmos a lâmpada devemos nos certificar de que ela realmente esteja queimada, para então trocá-la. Assim, podemos melhorar o nosso algoritmo.

32 Ainda podemos deixá-lo mais completo. Quando verificamos que a lâmpada está queimada, subimos para trocá-la, mas não consideramos a hipótese da lâmpada nova também estar queimada, e se isso ocorrer, precisaremos executar algumas ações novamente, até que a lâmpada acenda.

33 1. Identificar o problema (objetivo) mediante leitura atenta de seu enunciado; 2. Retirar do enunciado as entradas de dados, ou seja, identificar os dados que devem ser fornecidos; 3. Retirar do enunciado as saídas de dados que devem ser gerados como resultado da solução; 4. Determinar o que deve ser feito para transformar (processar) as entradas nas saídas desejadas; 5. Construir o algoritmo; 6. Testar a solução.

34 1- Construir um algoritmo para fazer um suco de Laranja natural. Entrada: Laranja Processamento: Cortar a laranja Espremer a laranja Saída: Suco de laranja 2- Construir um algoritmo para somar dois números Entrada: Primeiro número Segundo Número Processamento: Somar os números Saída: Resultado da soma

35 O conhecimento de Lógica de Programação é essencial para as pessoas que desejam trabalhar com desenvolvimento de sistemas e programas. Uma boa lógica de programação é desenvolvida a partir de um conjunto de elementos, entre eles: Integridade; Clareza; Eficiência; Modularidade; Generalidade. A lógica de programação permite definir a sequência correta para o desenvolvimento de algoritmo e programas computacionais.

36 Programas são algoritmos escritos em uma linguagem de programação (Java, PHP, C#, Ruby, Delphi, Visual Basic) e que são interpretados e executados por uma máquina. Um computador é somente capaz de realizar estritamente as tarefas que lhe forem delegadas e que façam parte do conjunto daquelas ações que ele pode executar (programa).


Carregar ppt "CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA: ALGORITMO PROFº.: LEANDRO GONZALEZ"

Apresentações semelhantes


Anúncios Google