de Algoritmos Prof. Araken Medeiros araken@ufersa.edu.br Angicos, RN 15/9/2009 Como representar um algoritmo? 15/9/2009 Prof. Araken Medeiros 2 Há várias formas de representação de Dentre elas, as mais utilizadas são: Representação através da linguagem natural Descreve o algoritmo como um texto simples Forma mais espontânea de representação de Descreve os passos do algoritmo utilizando o linguajar cotidiano 10:47 3 10:47 4 Exemplo Cálculo da Média de um Aluno Obter as suas duas notas de provas Calcular a média aritmética das notas Se a média for maior ou igual a 7, o aluno foi aprovado Caso contrário, ele foi reprovado Problemas Quanto maior a complexidade do problema, maior a dificuldade de compreensão e interpretação Falta de rigidez sintática e semântica Falta de rigidez na estruturação das ações 10:47 5 10:47 6 1
Forma de representação gráfica dos Emprega formas geométricas padronizadas Indicar as ações e decisões que devem ser executadas Simbologia 10:47 7 10:47 8 Problemas Representação gráfica não é prática Dificuldade de construção para problemas complexos Dificuldade de correção de uma linha de pensamento Pode implicar a reconstrução de muitas instruções 10:47 9 10:47 10 Emprega uma linguagem intermediária entre a linguagem natural e a linguagem de programação Linguagem g de especificação (descrição) de Forma de representação rica em detalhes Definição dos tipos de variáveis Assemelha-se bastante à forma como os programas escritos em uma linguagem g de programação 10:47 11 10:47 12 2
O uso do pseudocódigo torna a codificação final (isto é, a tradução para uma linguagem de programação) relativamente fácil. É considerado um primeiro rascunho, dado que o pseudocódigo tem de ser traduzido depois para uma linguagem de programação Facilidade de tradução de um algoritmo nela representado para uma linguagem de programação específica Atualmente é a maneira mais comum de representar 10:47 13 10:47 14 Algoritmo é uma palavra que indica o início da definição de um algoritmo em forma de pseudocódigo. <nome_do_algoritmo> é um nome simbólico dado ao algoritmo com a finalidade de distinguí-lo dos demais. 10:47 15 10:47 16 <declaração_de_variáveis> consiste em uma porção opcional onde são declaradas as variáveis globais usadas no algoritmo principal e, eventualmente, nos sub.. 10:47 17 <sub> consiste de uma porção opcional do pseudocódigo onde são definidos os sub. e são respectivamente as palavras que delimitam o início e o término do conjunto de instruções do corpo do algoritmo. 10:47 18 3
Descrição Narrativa Vantagens O português é bastante conhecido por nós. Padrão mundial. Ferramenta bem conhecida. Figuras dizem muito mais que palavras. Independência de linguagem de programação. Usa o português como base. Define-se melhor quais e como os dados vão estar estruturados. Passagem quase imediata do algoritmo para uma linguagem de programação qualquer. Desvantagens Imprecisão. Pouca confiabilidade (a imprecisão acarreta a desconfiança). Extensão (normalmente, escrevese muito para dizer pouca coisa). Complica-se à medida que o algoritmo cresce. Pouca atenção aos dados, não oferecendo recursos para declarálos. Exige a definição de uma linguagem não real para trabalho. Não é padronizada. 10:47 19 20 Exemplo: Algoritmo para converter uma temperatura em Fahrenheit para Celsius Descrição narrativa do algoritmo Fahrenheit- Celsius: Solicite it a temperatura t em Fahrenheit; h Transforme a temperatura em Fahrenheit para Celsius; Informe a temperatura em Celsius. 21 22 do algoritmo Fahrenheit-Celsius do algoritmo Entrada da temperatura (F) Fahrenheit Celsius = 5/9 * (Fahrenheit 32) Cálculo da temperatura (C) Desc. Narrativa Solicite a temperatura em Fahrenheit. Transforme de Fahrenheit para Celsius. Informe a temperatura em Celsius. Fahrenheit Celsius = 5/9 * (Fahrenheit 32) Algoritmo Fahrenheit_Celsius Real: Fahrenheit, Celsius; Leia (Fahrenheit); Celsius 5/9 * (Fahrenheit 32); Escreva (Celsius); Celsius Apresentação do resultado Celsius 23 do algoritmo 24 4
Exercícios Lista de Exercícios 5