Curso Técnico em Informática para Internet Aula 2 – Criação de Algoritmos Instituto Federal de Santa Catarina Informática para Internet Introdução: • Para resolver um problema no computador é necessário que seja primeiramente encontrada uma maneira de descrever este problema de uma forma clara e precisa. É preciso que encontremos uma sequência de passos que permitam que o problema possa ser resolvido de maneira automática e repetitiva. Além disto é preciso definir como os dados que serão processados serão armazenados no computador. • A solução de um problema por computador é baseada em dois pontos: a sequência de passos e a forma como os dados serão armazenados no computador. Esta sequência de passos é chamada de algoritmo. 2 Informática para Internet Introdução: • Um algoritmo é um conjunto finito de regras que fornece uma seqüência de operações para resolver um problema específico. • Todos nós sabemos construir algoritmos. Se isto não fosse verdade, não conseguiríamos sair de casa pela manhã, ir ao trabalho, decidir qual o melhor caminho para chegar a um lugar, voltar para casa, etc. Para que tudo isto seja feito é necessário uma série de entradas do tipo: a que hora acordar, que hora sair de casa, qual o melhor meio de transporte, etc. 3 Informática para Internet O que é Pseudocódigo? Forma genérica de escrever um algoritmo, utilizando uma linguagem simples (nativa a quem o escreve, de forma a ser entendida por qualquer pessoa) sem necessidade de conhecer a sintaxe de nenhuma linguagem de programação. (Fonte:Wikipédia) 4 Informática para Internet O que é Pseudocódigo? Os algoritmos são independentes das linguagens de programação. Diferentemente de uma linguagem de programação, escrever um algoritmo, não exigirá um formalismo rígido. 5 Pseudocódigo também pode ser definido como uma técnica textual de representação de um algoritmo. Ele é também conhecido como Português Estruturado ou Portugal. Nele os verbos, ações, disponíveis para utilização são restritos e empregados no imperativo, devese evitar as expressões excessivamente longas, tais restrições existem para eliminar a possibilidade de ambiguidade. Informática para Internet O que é Pseudocódigo? • Esta forma de representação de algoritmos é rica em detalhes, como a definição dos tipos das variáveis usadas no algoritmo. Por assemelharse bastante à forma em que os programas são escritos, encontra muita aceitação. • Na verdade, esta representação é suficientemente geral para permitir a tradução de um algoritmo nela representado para uma linguagem de programação específica seja praticamente direta. 6 Informática para Internet O que é Pseudocódigo? A forma geral da representação de um algoritmo na forma de pseudocódigo: Algoritmo <nome_do_algoritmo> <declaração_de_variáveis> <subalgoritmos> Início <corpo do algoritmo> Fim 7 Informática para Internet O que é Pseudocódigo? Representação do algoritmo do cálculo da média de um aluno, na forma de um pseudocódigo 8 Informática para Internet Exemplo de Pseudocódigo: 9 Informática para Internet Exemplo de Pseudocódigo: Resolução de uma equação do segundo grau. Neste algoritmo vamos assumir que o coeficiente a da equação é sempre diferente de 0. principal () início ler a, b, c delta = b*b-4*a*c se delta < 0 então imprimir ¨Não há raizes reais.¨ senão início x1 = (-b + sqrt(delta))/(2*a) x2 = (-b + sqrt(delta))/(2*a) imprimir x1, x2 fim de se fim 10 Informática para Internet Existem regras para a construção do Algoritmo? 1) Usar somente um verbo por frase e no imperativo; 2) Usar sentenças fáceis de serem entendidas por pessoas leigas no assunto; 3) Usar frases simples e curtas; 4) Ser direto e objetivo; 5) Usar palavras que não tenham sentido duplo. 11 Informática para Internet Etapas : • Algoritmo é uma sequência lógica de instruções que podem ser executadas. É importante destacar que qualquer tarefa que siga um certo padrão pode ser representada por um algoritmo; entretanto, para montá-lo é necessário dividir a tarefa em três fases fundamentais. 12 Informática para Internet Etapas de um algoritmo ? • Entrada: São as informações que iniciam o algoritmo. • Processamento: São os passos necessários para atingir a meta. • Saída: São os resultados do processamento. de ser julgada.” 13 Informática para Internet Exemplo de Algoritmo? • Problema: Calcular a média final dos alunos da 8ª Série. Os alunos realizarão quatro provas: P1, P2, P3 e P4. 14 Informática para Internet Construção de um Algoritmo • Para montar o algoritmo proposto, fazem-se três perguntas: • 1) Quais são os dados de entrada? • Resp.: P1, P2, P3 e P4. • 2) Qual será o processamento a ser utilizado? • Resp.: Somar todos os dados de entrada e dividi-los por 4 • 3) Qual será o dado de saída? • Resp.: A média final 15 Informática para Internet Algoritmo: • Recebe a nota da prova P1 • Recebe a nota de prova P2 • Recebe a nota de prova P3 • Recebe a nota da prova P4 • Some todas as notas e divida o resultado por 4 • Mostre o resultado da divisão 16 Informática para Internet Verificação do Algoritmo: • Ao desenvolver um algoritmo, em seguida ele deverá sempre ser testado para verificar o seu bom funcionamento. Esta verificação chama-se: Teste de Mesa, onde é simulada a execução das instruções do algoritmo para provar se os passos utilizados levarão ao resultado esperado ou não. 17 Informática para Internet Do exemplo anterior: • Nota da Prova P1 Dá-se valores à tabela abaixo: • Nota da Prova P2 • Nota da Prova P3 • Nota da Prova P4 18 Informática para Internet O que é um diagrama de bloco? • Uma forma eficiente de representar os passos lógicos de uma determinada tarefa é a utilização de um diagrama de blocos porque ele segue um padrão, fazendo com que o seu entendimento ( mesmo não estando a par do problema em questão) torne-se bastante facilitado. 19 Informática para Internet Diagrama de Blocos Através do uso do diagrama pode-se definir uma sequência de símbolos, com significado bem definido, assim a su(a principal função é a de facilitar a visualização dos passos de execução de uma tarefa. 20 Informática para Internet Simbologia Padrão • Em um diagrama de blocos existem diferentes símbolos e no quadro a seguir, são mostrados alguns dos principais símbolos utilizados: • No interior do símbolo é escrito uma expressão matemática ou lógica, uma ação, um índice e etc., o que for relevante mostrar, pois somente os símbolos vazios não significarão nada. Veja o exemplo na Tabela. 21 Informática para Internet Simbologia ? • Cada uma destas formas se aplica a uma determinada ação como está indicado. Existem outras formas que podem ser aplicadas. 22 Informática para Internet Simbologia: 23 Informática para Internet Exemplo de Diagrama de Blocos Percebe-se que no primeiro exemplo (da bala) uma sequência lógica foi seguida, utilizando somente as informações diretas, porém no segundo exemplo (da média) foi utilizado um cálculo e a seguir, foi exibido o seu resultado final. 24 Informática para Internet 25 Informática para Internet SÍNTESE • • • • Há diversas formas de representação de algoritmos que diferem entre si pela quantidade de detalhes de implementação que fornecem ou, inversamente, pelo grau de abstração que possibilitam com relação à implementação do algoritmo em termos de uma linguagem de programação específica. • Dentre as principais formas de representação de algoritmos destacam-se: a descrição narrativa, o fluxograma convencional e o pseudocódigo (ou linguagem estruturada). 26 Informática para Internet ATIVIDADES DE APRENDIZAGEM 1) Construa um diagrama de blocos que: • Leia a cotação do dólar • Leia um valor em dólares • Converta esse valor para Real • Mostre o resultado 2) Desenvolva um diagrama que: • Leia 4 (quatro) números • Calcule o quadrado para cada um • Somem todos e • Mostre o resultado 27 Informática para Internet ATIVIDADES DE APRENDIZAGEM 3) Construa um algoritmo para pagamento de comissão de vendedores de peças, levando-se em consideração que sua comissão será de 5% do total da venda e que você tem os seguintes dados: • Identificação do vendedor • Código da peça • Preço unitário da peça A seguir, construa o diagrama de • Quantidade vendida blocos do algoritmo desenvolvido, e ao final, faça um teste de mesa. 28 Informática para Internet ATIVIDADES DE APRENDIZAGEM 4) Identifique os dados de entrada, processamento e saída no algoritmo abaixo: • Receba código da peça • Receba valor da peça • Receba Quantidade de peças • Calcule o valor total da peça (Quantidade * Valor da peça) Mostre o código da peça e seu valor total 29 Informática para Internet Bibliografia • Forbellone, André L. V.; Eberspächer, Henri Frederico, Lógica de Programação, 2ª Edição. Editora Pearson Education, São Paulo, 2001 • Berg, Alexandre; Figueiró, Joice Pavek, Lógica de Programação, 3ª Edição, Editora Ulbra,Canoas, 2000 • Moraes, Paulo Sérgio de, Lógica de Programação, Unicamp - Centro de Computação – DSC, Ultima Atualização: 04 de Abril de 2000 30