Prévia do material em texto
Prof. Fábio Purcino 1 Curso: Tecnologia em Bancos de Dados Disciplina: Algoritmos e Estruturas de Dados AULA 1 – APRESENTAÇÃO DA DISCIPLINA E INTRODUÇÃO À LÓGICA E ALGORITMOS 1 – Sobre o professor Fabio Purcino é pós-graduado em Tecnologia da Informação pela Fundação Getúlio Vargas, pós-graduado em Gestão Empresarial pelo Centro Universitário da Fundação Santo André, graduado em Análise e Desenvolvimento de Sistemas pela Faculdade de Tecnologia Termomecânica e Técnico em Informática pela ETE Lauro Gomes. Possui 11 anos de experiência em análise e desenvolvimento de sistemas de informação em diversas plataformas e tecnologias. 2 – Sobre a disciplina O objetivo desta disciplina é desenvolver a capacidade de desenvolvimento de algoritmos necessários para a programação estruturada de computadores independente da linguagem. Através de exercícios de desenvolvimento de algoritmos solucionados em portugol e diagrama de blocos, capacitar o aluno a propor soluções algorítmicas enfocando a validação do mesmo com o uso do teste de mesa. Os conhecimentos adquiridos em sala de aula serão fundamentais ao desenvolvimento de programas em toda e qualquer linguagem de programação. 3 – Lógica de Programação Pode-se entender como lógica, a ciência dos princípios formais do raciocínio. Todos têm a capacidade de raciocínio, porém é necessário representá-la formalmente. A lógica estuda a organização do pensamento ou raciocínio estruturado. A lógica de programação é a base para o desenvolvimento de todo e qualquer tipo de programa de computador e é representada por meio de algoritmos. 4 – Algoritmos Entende-se por algoritmo uma sequência finita de instruções que não pode ter duplo sentido e que pode ser executada mecanicamente. De forma prática é como uma “receita de bolo” dando ao computador instruções detalhadas sobre como executar determinada tarefa. Essa sequência de regras formais normalmente envolve expressões matemáticas para a resolução de um problema. Lembrando que um problema é uma proposta duvidosa que pode ter múltiplas soluções ou mesmo não ter nenhuma, logo cada indivíduo pode construir sua própria solução. Prof. Fábio Purcino 2 Os algoritmos podem ser: Não estruturados: são aqueles usados para descrever soluções para problemas cotidianos e que não necessariamente podem ser executados por máquinas. Estruturados: são aqueles usados para descrever instruções detalhadas considerando que as mesmas serão executadas por máquinas. Os algoritmos podem ser representados das seguintes formas: Diagrama de fluxo: também conhecido como diagrama de blocos é uma forma gráfica que representa as instruções de acordo com formas geométricas padronizadas e mundialmente aceitas. Português estruturado: também conhecido como portugol descreve as instruções em língua portuguesa como se fossem instruções em linguagem nativa. Diagrama de Chapin: também conhecido como diagrama N-S representa as instruções em forma de quadros e de forma hierárquica. 5 – Diagrama de blocos O diagrama de blocos utiliza formas geométricas para representar o algoritmo proposto. Segue algumas das formas principais que utilizaremos nos exercícios de aplicação: 5.1 Terminadores Os terminadores são utilizados para indicar o início e fim de um algoritmo. 5.2 Entrada de dados via teclado Este símbolo indica que o programa deve receber dados através da digitação em um teclado. 5.3 Entrada de dados via outros dispositivos Este símbolo indica que o programa deve receber dados de dispositivos diversos, que não sejam teclados. Prof. Fábio Purcino 3 5.4 Saída de dados em vídeo Este símbolo indica que deve haver uma saída de dados em um dispositivo de vídeo. 5.5 Saída de dados em outro dispositivo Este símbolo indica que deve haver saída de dados em outro dispositivo que não seja vídeo. 5.6 Processamento Este símbolo indica que deve haver um cálculo ou outro tipo de processamento no programa. 5.7 Decisão Este símbolo indica que deve haver um desvio do programa, que executará determinada instrução se a mesma for verdadeira e outra se for falsa. Prof. Fábio Purcino 4 Veja a seguir um exemplo de diagrama de blocos que descreve o processo de uma blitz policial para checagem de documentos. 5.9 Boas práticas na construção de diagramas de bloco: Sempre comece e termine o diagrama com um terminador. Um diagrama só deve conter UM terminador indicando o início, ao passo que pode ser múltiplos terminadores para indicar seu fim. Sempre usar setas para indicar a próxima instrução. Cada forma deve conter apenas uma instrução. Dentro de uma estrutura de decisão sempre formular uma pergunta cuja resposta seja “SIM” ou “NÃO” Construa um diagrama que possa ser lido e interpretado por todos, ele é um documento de grande valia em um projeto. 6. Exercícios de aplicação a-) Desenvolva um diagrama de blocos que expresse a lógica envolvida em fritar um ovo. Utilize ao menos 2 instruções de decisão. b-) Desenvolva um diagrama de blocos que expresse a lógica do jogo “Blackjack”, também conhecido como “21”, no qual o objetivo é somar 21 pontos por meio das cartas do baralho. O jogo parte de 2 cartas e o jogador pode optar múltiplas vezes por Prof. Fábio Purcino 5 receber outras cartas, desde que não tenha feito 21 pontos e vencido ou passado de 21 pontos e perdido. c-) Desenvolva um diagrama de blocos que expresse a lógica em aconselhar uma pessoa que está pensando em começar a tomar anabolizantes a fazê-lo ou não baseado em critérios como treino, saúde e efeitos colaterais esperados. d-) Desenvolva um diagrama de blocos que expresse a lógica envolvida desde entrar até sair de uma balada. 7. Referências Bibliográficas OLIVEIRA, Jayr Figueiredo de; MANZANO, José Augusto N. G. Algoritmos: Lógica para Desenvolvimento de Programação de Computadores. 23ª Edição. São Paulo: Érica, 2010.