s e Lógica de programação Introdução Atuais:.Net Java Delphi PHP Anteriores: Dbase Clipper VB6 As linguagens Ruby on Rails Python / Perl Objective-C Android (Java) Outras: PL/SQL T-SQL ADVPL Html5 C++ Cobol Prof. Valdecir Ap Reghini valdecir@fgp.com.br Os produtos Todo e qualquer aplicativo/programa/sistema, desktop, web ou mobile. Os ingredientes Conhecimento das tecnologias Cursos Graduação, cursos extensão, treinamentos, internet.. Ferramentas de desenvolvimento IDE desenvolvimento, IDE testes, integração. Ferramentas de apoio Editores, internet, Lógica, Lógica, Lógica e muita lógica Organização das ideias Facilidade no entendimento Agilidade no desenvolvimento 1
Definição: é a descrição de uma seqüência de passos que deve ser seguida para a realização de uma tarefa (Ascencio, 1999) é um conjunto ordenado e seqüencial de passos que busca solucionar problemas do mundo real Problema ou situação Solução é uma seqüência de passos finitos com o objetivo de solucionar um problema (Lopes, 2002) Em geral, os caminhos que levam a uma solução são muitos Lógica Definição: É a técnica de encadear pensamentos para atingir determinado objetivo. O aprendizado desta técnica é necessário para quem deseja trabalhar com desenvolvimento de sistemas e programas. (Lopes, 2002) Lógica: Forma correta de organizar os pensamentos e demonstrar o raciocínio de maneira correta. Permite solucionar problemas e atingir objetivos O pensamento antecipa cada uma de nossas ações e a lógica estabelece sua ordem. Exemplos de pensamento lógico: A gaveta está fechada. A bala está na gaveta. Para pegar a bala preciso antes abrir a gaveta. Exemplos de s Trocar um pneu Trocar uma lâmpada Preparar um sanduíche (x-salada) Fazer uma ligação telefônica Somar três números Calcular a área de um quadrado Calcular a conta de energia elétrica Podem existir vários algoritmos para resolver o mesmo problema! 2
Exemplos de s Partes de um Trocar uma Lâmpada (no teto) Relacionar os passos necessários para realizar a troca de uma lâmpada de teto, supostamente queimada. de Situações: Se a lâmpada a ser trocada não estiver queimada? Se após a troca a lâmpada não acender? Elaboração de um X-Salada Ingredientes: -Pão -Mussarela - Alface -Tomate - Hambúrguer (manipulação) Lanche (X-Salada) Construção de s Ler atentamente o problema a ser resolvido Definir os dados de entrada Definir o processamento, ou seja, quais os cálculos a serem realizados Definir os dados de saída Construir o algoritmo Testar o algoritmo utilizando simulações Tipos de s Os três tipos mais utilizados são: Descrição Narrativa Fluxograma Pseudocódigo ou Portugol 3
Descrição Narrativa Descrição do algoritmo em linguagem natural (português). Pode haver ambiguidades na interpretação desse algoritmo: Por ex: Afrouxar ligeiramente as porcas. Nem todos conseguirão atingir o mesmo ponto. Descrever o algoritmo utilizando símbolos gráficos pré-definidos INÍCIO Fluxograma N1,N2 MEDIA = (N1 + N2)/2 de MEDIA FIM Fluxograma Pseudocódigo Descrever o algoritmo utilizando regras prédefinidas. Se assemelha às linguagens Calculo_Media Variáveis real n1, n2, media Início Escreva ( Digite dois números: ) Leia(n1,n2) media = (n1 + n2) / 2 Escreva ( Média:, media) Fim de 4
Tipos de Variáveis Constantes Estrutura Seqüencial Comandos: de Atribuição e Expressões Estrutura de Controle Condicional Repetição Regras para construção de Pseudocódigos Exercícios (Usar a descrição Narrativa) 1) Escreva um algoritmo para levar um leão, uma cabra e um pedaço de grama de um lado para outro de um rio, com um bote, que suporta 1 ou 2 passageiros. Sabe-se que o leão não pode ficar sozinho com a cabra e nem a cabra sozinha com a grama.. 2) É necessário levar para a outra margem do rio com um bote, 3 padres e 3 canibais. Não pode haver mais canibais do que padres em nenhuma das margens, porque senão os canibais podem comer os padres. O bote comporta 1 ou 2 passageiros. * Obs: O bote não navega sozinho, sempre deve haver pelo menos 1 dentro do bote para ir e voltar Exercícios 3) Considere três baldes sem marcação de medidas, com capacidades para 8, 5 e 3 litros. Começando com o balde de 8 litros cheio de água e os outros vazios, descrever os passos para separar 4 litros em dois dos baldes, usando apenas os 3 baldes? 4) Especifique as ações necessárias para mover três disco de uma Torre de Hanói, que consiste de três pinos, uma das quais serve de suporte para três discos de tamanhos diferentes. Pode-se mover um disco de cada vez para qualquer haste, contanto que nunca seja colocado um disco maior sobre um menor. O objetivo é transferir os três discos para outra haste. Para determinar o número mínimo de movimentações, faça: 2 discos -1 5