Baixe o app para aproveitar ainda mais
Prévia do material em texto
08/08/2018 1 Linguagem e Técnicas de Programação Análise e Desenvolvimento de Sistemas Prof. MSc. Douglas Rodrigues E-mail: dogrodrigues@gmail.com Algoritmos Linguagem e Técnicas de Programação Conceitos Quando uma tarefa deixa de ser realizada pelo homem e passa a ser executada por uma máquina qualquer, temos o que se conhece como automação Para que a automação seja bem sucedida, é necessário que a máquina que irá realizar a tarefa seja capaz de executar cada uma das etapas de que constituem o processo de maneira eficiente Garantindo-se ainda que esse processo possa ser repetido 3 Conceitos Para assegurar a repetibilidade do processo, é importante especificar com clareza e exatidão cada fase do processo Além da sequência em que essas fases são executadas A especificação da sequência ordenada de passos que deve ser seguida para a execução de uma tarefa, garantindo-lhe a repetibilidade, recebe o nome de algoritmo 4 Conceitos Existem vários conceitos formais de algoritmos que podem ser encontrados na literatura: “Algoritmo é uma sequência de passos que visa atingir um objetivo bem definido.” – Forbellone, 1999 “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, 1999 5 Conceitos Existem vários conceitos formais de algoritmos que podem ser encontrados na literatura: “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, 1999 6 08/08/2018 2 Conceitos O conceito de algoritmo é anterior à computação Na verdade, podemos definir algoritmos para várias atividades do cotidiano Ex. 1: Somar 3 números Passo 1: receber 3 números Passo 2: somar os números Passo 3: mostrar o resultado 7 Conceitos Ex. 2: Fazer um sanduíche com pão de hambúrguer Passo 1: dispor os ingrediente sobre a mesa Passo 2: cortar o pão ao meio Passo 3: passar a maionese Passo 4: colocar alface Passo 5: fritar o hambúrguer Passo 6: colocar o hambúrguer no pão Passo 7: fechar o pão 8 Conceitos Ex. 3: Sacar dinheiro no banco 24 horas Passo 1: inserir cartão Passo 2: selecionar a opção “saque” Passo 3: informar o valor Passo 4: digitar a senha Passo 5: confirmar o saque Passo 6: retirar o dinheiro Passo 7: retirar o cartão 9 Exercícios 1) Desenvolva algoritmos para: a) Trocar uma lâmpada b) Trocar um pneu furado c) Estacionar um carro d) Ir para a faculdade e) Calcular a média final de um aluno 10 Métodos para Construção de Algoritmos Para construir qualquer tipo de algoritmo, são necessários os passos a seguir: 1. Ler atentamente o enunciado, destacando os pontos mais importantes 2. Definir os dados de entrada, ou seja, dados que serão fornecidos 3. Definir o processamento, ou seja, quais cálculos serão efetuados e quais as restrições para esses cálculos 4. Definir dados de saída, ou seja, dados que serão gerados após o processamento 5. Construir o algoritmo, utilizando notação apropriada 6. Testar o algoritmo usando simulações 11 Tipos de Algoritmos Existem 3 tipos de algoritmos bastante utilizados: Linguagem natural (descrição narrativa) Fluxograma Linguagem estruturada (português estruturado, ou portugol ou pseudocódigo) 12 08/08/2018 3 Tipos de Algoritmos Linguagem natural (descrição narrativa) Análise do enunciado e escrita dos passos que devem ser seguidos para a resolução do problema Vantagem: não é necessário aprender nenhum conceito novo, pois a língua natural já é bem conhecida Desvantagem: a linguagem natural apresenta ambiguidades que podem dificultar a transcrição do algoritmo para um programa 13 Tipos de Algoritmos Fluxograma Utiliza símbolos gráficos predefinidos para a construção de algoritmos Vantagem: entendimento de símbolos gráficos é mais fácil do que o texto Desvantagem: necessário aprender a simbologia dos fluxogramas, e o algoritmo resultante não apresenta muitos detalhes, podendo dificultar a transcrição para um programa 14 Tipos de Algoritmos Fluxograma 15 Tipos de Algoritmos Fluxograma Ex 1: algoritmo que mostra o resultado da multiplicação de dois números Ex 2: algoritmo que mostra divisão de dois números 16 Tipos de Algoritmos Linguagem estruturada (pseudocódigo) Utiliza regras predefinidas para se escrever os passos a serem seguidos na resolução de um problema Vantagem: a passagem do algoritmo para a linguagem de programação é quase imediata ◼ Bastando conhecer as palavras reservadas da linguagem de programação a ser utilizada Desvantagem: é necessário conhecer as regras do pseudocódigo 17 Tipos de Algoritmos Linguagem estruturada (pseudocódigo) Variáveis ◼ Um algoritmo recebe dados ◼ Que devem ser armazenados na memória do computador ◼ Uma variável representa uma porção de memória ◼ Possui um nome e um tipo associado ◼ Variáveis servem para guardar temporariamente os dados ◼ Sendo que seu valor pode mudar ao longo do tempo ◼ Cada variável armazena apenas um dado por vez 18 08/08/2018 4 Tipos de Algoritmos Linguagem estruturada (pseudocódigo) Ex 1: Dividir dois números ALGORITMO Divisão Declare n1, n2, d: numérico INÍCIO Escreva (“Digite dois números”); Leia (n1, n2); Se (n2 = 0), então escreva (“Erro!”); Senão, d n1/n2; Escreva (“O resultado é”, d); FIM 19 Tipos de Algoritmos Linguagem estruturada (pseudocódigo) Ex 2: Média de 4 números ALGORITMO Média Declare num, soma: inteiro m: real INÍCIO soma 0; Leia (num); soma num; Leia (num); soma soma + num; Leia (num); soma soma + num; 20 Leia (num); soma soma + num; m soma/4; Escreva (“A média é”, m); FIM Exercícios 1) Faça algoritmos em pseudocódigo para: a) Calcular a média de 4 valores inteiros. b) Receber os valores da base e da altura de um triângulo e informar a área. c) Ler o valor de uma mercadoria e o valor de desconto (%), e informar o preço com desconto. d) Ler os valores de a, b, c e informar o valor de x, seguindo a fórmula x = 2ab + 3ac – 4bc. e) Ler os valores de a e b, e trocá-los entre si. Ex: a 2 => b = 2 b 3 a = 3 21
Compartilhar