2. Criação de Algoritmos Neste capítulo, será visto o desenvolvimento de um algoritmo, regras, etapas e simbologias. 2.1 O que é Pseudocódigo? Fig.1: Ilustração de algoritmo Fonte: Internet Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma referência à implementação que será feita em alguma linguagem de programação, assim quando for programar em uma linguagem, por exemplo, C++, estará sendo gerado o código em C++. Desta forma 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. O algoritmo ocupa a posição de intermediário entre a linguagem falada e a linguagem de programação e ele deve possuir uma estrutura fácil de ser interpretado e fácil de ser codificado. Outra definição dada a Pseudocódigo é: técnica textual de representação de um algoritmo, e o termo é também conhecido como Português Estruturado ou Portugol. Nele os verbos, ações, disponíveis para utilização são restritos e empregados no imperativo, deve-se evitar as expressões excessivamente longas, estas restrições são para eliminar a possibilidade de ambigüidade. 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. (Wikipédia)
Exemplo de Pseudocódigo: Fig.2: Ilustração Pseudocódigo Fonte : Internet 2.2 Existem regras para construção do Algoritmo? Para escrever um algoritmo precisa-se listar a seqüência de instruções, de maneira simples e objetiva. Para isso utilizam-se algumas técnicas: 1. Usar somente um verbo por frase e no imperativo; 2. Usar sentenças fáceis de ser 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.
2.3 Etapas Já foi visto que Algoritmo é uma seqüência lógica de instruções que podem ser executadas e é importante destacar que qualquer tarefa que siga certo padrão pode ser representada por um algoritmo, entretanto para montálo, precisa-se primeiro dividir a tarefa em questão em três fases fundamentais. Entrada Processamento Saída Onde temos: Fig. 3: Etapas de um algoritmo Fonte : Internet 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. Fazendo uma analogia entre o algoritmo e o ser humano ficaria assim: Fig.4: Ilustração de um algoritmo Fonte: Internet
2.4 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. Onde: MédiaFinal P1 P2 P3 P4 4 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 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 2.5 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. Do exemplo anterior: Nota da Prova P1 Nota da Prova P2 Nota da Prova P3 Nota da Prova P4 Dá-se valores à tabela abaixo: P1 P2 P3 P3 Média 8.0 7.6 9.5 8.4 8.4 7.3 8.8 5.7 6.9 7.2 6.6 5.5 9.8 10 8.0
2.6 O que é um diagrama de bloco? Uma forma eficiente de representar os passos lógicos de uma determinada tarefa é através d diagrama de blocos, ele é segue um padrão facilitando assim o seu entendimento mesmo não estando a par do problema em questão. Através do uso do diagrama pode-se definir uma seqüência de símbolos, com significado bem definido, assim a sua principal função é a de facilitar a visualização dos passos de execução de uma tarefa. Fig.5: Diagrama de Blocos Fonte: Internet
2.7 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: Fig.6: Tabela de Simbologia Fonte: Internet Símbolo Descrição Função Terminal Processamento Símbolo que indica o inicia ou o fim de um processamento. Ex: inicio do algoritmo Símbolo de processamento em geral. Ex: cálculo de dois números Entrada de dado manual Símbolo que indica a entrada de dados através do teclado. Ex: digitar a nota da prova 1 Exibir Conectar Símbolo que mostra informações ou exibe resultados. Ex: mostre o resultado do cálculo Símbolo utilizado para conectar duas partes do digrama de bloco. Comparar Símbolo utilizado para comparação entre expressões. Ex: código <= 1000 (sim/não) No interior do símbolo será 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. A seguir é mostrado um exemplo:
Exemplos de Diagrama de Bloco: Chupar uma Bala Inicio Pegar a Bala Retirar o Papel Chupar a Bala Jogar o Papel no Lixo Fim Fig.6: Exemplo de Diagrama de Blocos Fonte : Internet Percebe-se no primeiro exemplo, da bala, que foi seguido uma seqüência lógica somente com informações diretas, porém no segundo exemplo, da média, foi utilizado um cálculo e exibido o resultado do mesmo.
2.8 Exercícios de fixação 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 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 - Quantidade vendida E depois construa o diagrama de blocos do algoritmo desenvolvido, e por fim faça um teste de mesa. 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