Prévia do material em texto
UNIVERSIDADE SÃO FRANCISCO Algoritmos e Lógica Computacional Profa. Dra.Estefania Bissoni Organização do computador O computador é uma máquina que funciona mediante as instruções enviadas pelo ser humano ou por outra máquina, executando tarefas ou resolvendo problemas, tais como: cálculos complexos, geração de relatórios, comandos de outras máquinas, controle de contas bancárias, transmissão de informações, etc. Uma visão ilustrada de um computador Objetivos O principal objetivo deste curso é conseguir visualizar um problema do mundo real é transformá-lo em um algoritmo. O esquema abaixo mostra as etapas em macro visão: Etapas para o desenvolvimento de um programa: -Análise: estuda-se o enunciado do problema; -Algoritmo: ferramentas como: descrição narrativa, fluxograma e pseudocódigo são utilizadas para descrever o problema com suas soluções; -Codificação: onde o algoritmo é transformado em códigos da linguagem de programação. Lógica A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas. Ela permite definir a sequência lógica para o desenvolvimento do programa. Lógica de programação é a técnica de encadear pensamentos para atingir determinados objetivos. Sequência lógica Esses pensamentos podem ser descritos como uma sequência de instruções que devem ser seguidas para cumprir uma certa tarefa. Em informática instrução é a informação que indica a um computador uma ação elementar a executar. Algoritmo Algoritmo é um conjunto predeterminado e bem definido de regras e processos destinados à solução de um problema com um número finito de etapas. Podem existir diversos algoritmos para um mesmo problema, uns mais e outros menos eficientes. No entanto, independentemente da solução encontrada, um algoritmo deve sempre levar a uma mesma saída (resposta) para um mesmo conjunto de dados fornecidos como entrada. Algumas definições de algoritmo “Algoritmo é uma sequência finita de instruções ou operações cuja execução, em tempo finito, resolve um problema computacional, qualquer que seja sua instância.” (SALVETTI, 1998). “Ação é um acontecimento que, a partir de um estado inicial, após um período de tempo finito, produz um estado final previsível e bem definido. Portanto, um algoritmo é a descrição de um conjunto de comandos que, obedecidos, resultam numa sucessão finita de ações.” (FARRER, 2010). DESCRIÇÃO NARRATIVA Exemplo: Algoritmo 1 – Trocar uma lâmpada queimada. ✔ Pegar uma escada; ✔ Posicionar a escada debaixo da lâmpada; ✔ Buscar uma lâmpada nova; ✔ Subir na escada; ✔ Retirar a lâmpada queimada; ✔ Colocar lâmpada nova. Todo algoritmo tem um uma forma padrão que é descrita no diagrama abaixo: Entrada: são os dados de entrada do algoritmo. Processamento: são os procedimentos utilizados para chegar ao resultado final. Saída: são os dados já processados. Exemplo: 1.) Faça um algoritmo para calcular a soma de dois números quaisquer e apresentar o resultado. -Quais são os dados de entrada? -Quais os passos a serem realizados (processados)? -Quais os dados de saída? N1 N2 SOMA Obter as notas e calcular a soma (somar N1 + N2) e apresentar a SOMA. Formas de representação de algoritmos Algoritmos podem ser representados em diversas notações. A seguir veremos como representá-los por meio de: ✔ Descrição narrativa, ✔ Fluxograma e ✔ Pseudocódigo. Descrição Narrativa Consiste em descrever o algoritmo utilizando-se de linguagem natural. Essa abordagem possui como inconveniente o fato da linguagem natural não ser suficientemente formal para evitar sentenças que possam levar a interpretações errôneas. Por outro lado, uma vantagem dessa notação é que não é preciso mais do que o conhecimento da língua para se acompanhar a sequência de passos do algoritmo. Descrição Narrativa Vantagem: não é necessário aprender nenhum conceito novo. Desvantagem: a língua natural abre espaço para várias interpretações o que posteriormente dificultará a transcrição deste algoritmo para o programa. Exemplo 1 - DESCRIÇÃO NARRATIVA 1.) Faça um algoritmo usando descrição narrativa para trocar uma lâmpada queimada. Passo 1 - Pegar uma escada Passo 2 - Posicionar a escada embaixo da lâmpada Passo 3 - Subir na escada Passo 4 - Retirar a lâmpada queimada Passo 5 - Colocar a lâmpada nova Passo 6 - Descer da escada Passo 7 - Ligar o interruptor Exemplo 1 - DESCRIÇÃO NARRATIVA 2.) Faça um algoritmo para calcular a soma de dois números quaisquer e apresentar o resultado. Passo 1 - Entrar com a primeira nota Passo 2 - Entrar com a segunda nota Passo 3 - Calcular a soma da primeira nota com a segunda nota Passo 4 - Mostrar o resultado do calculo Exercícios – Descrição narrativa 1. Faça um algoritmo para calcular a media aritmética final de um aluno, sendo que foram realizadas 4 provas. Mostre o resultado do cálculo da média. FLUXOGRAMA O fluxograma consiste em analisar o enunciado do problema e escrever utilizando símbolos gráficos predefinidos. Símbolo utilizado para indicar o início e o fim do algoritmo. Permite indicar o sentido do fluxo de dados. Serve exclusivamente para conectar os símbolos ou blocos existentes. Símbolo utilizado para indicar os cálculos e atribuição de valores. Processamento de dados. Símbolo utilizado para representar a entrada de dados. Símbolo utilizado para representar a saída de dados. Símbolo que indica que deve ser tomada uma decisão, indicando a possibilidade de desvios. Conector: permite um desvio para um ponto qualquer. FLUXOGRAMA Vantagem: o entendimento de elementos gráficos é mais fácil que o entendimento de textos. Desvantagem: é necessário aprender a simbologia dos fluxogramas e, além disso, o algoritmo resultante não apresenta muitos detalhes, dificultando a sua transição para um programa. Exemplo 1 - FLUXOGRAMA 1. Construa um fluxograma que descreva os passos para escovar os dentes. Fechar a torneira 1 início Pegar a escova de dentes fim Colocar creme dental Abrir a torneira Molhar o creme dental Lavar a escova Escovar os dentes Enxaguar a boca Fechar a torneira Abrir a torneira Guardar a escova de dentes 1 Exemplo 2 - FLUXOGRAMA início SOMA n1+n2 “O resultado da soma é: ”, SOMA fim 2.) Construa um fluxograma para somar dois números e mostrar o resultado da soma. comando de atribuição N1, N2 Exercícios – FLUXOGRAMA 1. Construa um fluxograma que receba o salário de um funcionário, calcule e mostre o novo salário, sabendo-se que sofreu um aumento de 25%. 2. Construa um fluxograma para ler dois números e apresentar o resultado da divisão do primeiro pelo segundo. 3. Construa um fluxograma para calcular a média final de um aluno, sendo que foram realizadas 4 provas. Mostre o resultado do cálculo da média. Pseudocódigo ou Portugol O pseudocódigo ou portugol consiste em analisar o enunciado do problema e escrever, por meio de regras predefinidas, os passos a serem seguidos para a resolução do problema. Vantagem: a passagem do algoritmo para qualquer linguagem de programação é quase imediata, bastando conhecer as palavras reservadas da linguagem de programação que será utilizada. Desvantagem: é necessário aprender as regras do pseudocódigo. Exercícios - Pseudocódigo 1. Construa um fluxograma que receba o salário de um funcionário, calcule e mostre o novo salário, sabendo-se que sofreu um aumento de 25%. 2. Construa um fluxograma para ler dois números e apresentar o resultado da divisão do primeiro pelo segundo. 3. Construa um fluxograma para calcular a média final de um aluno, sendo que foram realizadas 4 provas. Mostre o resultado do cálculo da média.