Objetivos:
|
Descrever em linhas gerais as 3 formas de representação de um algoritmo, apresentando as vantagens e as desvantagens da utilização de cada uma delas, bem como exemplos que facilitem a compreensão do leitor.
|
Recursos e materiais:
|
Nenhum
|
Última atualização:
|
13/04/2020
|
Aulas do capítulo:
|
Algoritmos: 1. O que são algoritmos e porque eles são tão importantes 2. Três formas de representação de um algoritmo 3. Tipos de dados, variáveis e identificadores 4. Operadores aritméticos, relacionais e lógicos 5. Exercícios de lógica de programação para iniciantes 6. Atribuição, entrada e saída de dados em algoritmos 7. Aprendendo como fazer um algoritmo com exercícios 8. As estruturas de decisão: se-então-senão e escolha-caso 9. Exercícios sobre estruturas de decisão em algoritmos 10. Estruturas de repetição com teste no início 11. Estruturas de repetição com teste no final e com variável de controle 12. Exercícios sobre estruturas de repetição |
Em nossa aula sobre “O que são algoritmos e porque eles são tão importantes”, vimos que os algoritmos são uma ferramenta poderosa, que agregam uma série de vantagens e facilitam nossa vida como programadores. Se você ainda não conhece muito bem o que são algoritmos e os benefícios em utilizá-los, acesse agora o nosso material e aprenda mais sobre eles. Hoje, conheceremos a descrição narrativa, os fluxogramas e os pseudocódigos, 3 formas de representação de um algoritmo. Cada uma delas possui suas próprias características e regras, que devem ser seguidas para facilitar a comunicação e garantir que todos os envolvidos no projeto compreendam a lógica do programa.
Descrição narrativa
O primeiro método de representação de um algoritmo, chamado de descrição narrativa, consiste em simplesmente especificar em palavras os passos que o programa deverá seguir. Para um problema em que desejamos calcular a média de 3 notas de provas e dizer se o aluno foi aprovado caso a média seja maior ou igual a 60 pontos, por exemplo, a solução utilizando a descrição narrativa poderia ser obtida ao informar que a média é calculada ao somarmos as notas das três provas e dividirmos o resultado por três.
Uma outra situação poderia ser também um problema em que desejamos calcular o fatorial de um número inteiro N qualquer. Neste caso, a solução deveria descrever que o fatorial de um número N é calculado através da equação abaixo, que nos diz para multiplicarmos todos os números inteiros compreendidos entre 1 e o valor de N. O fatorial de 4, por exemplo, é , que é igual a 24.
Como precisamos de muito pouco treinamento especializado para elaborarmos uma descrição narrativa, essa forma de expressão parece fácil de ser realizada. Entretanto, nos dois exemplos que consideramos, a solução é bem simples e acaba não representando dificuldade considerável para ser elaborada. À medida em que a complexidade do problema aumenta, a linguagem natural se mostra longa, imprecisa e pouco confiável como veículo para transmitir informação. Isso faz da descrição narrativa uma linguagem pouco adequada para os algoritmos, lhe garantindo aplicações apenas em situações onde há necessidade de apresentarmos comentários ou esclarecimentos nas outras duas formas de representação.
Fluxogramas
O fluxograma é um método gráfico de representação, capaz de apresentar de forma clara e objetiva, os testes, decisões e ações que o programa elaborado deverá tomar durante sua execução. Por ser um método formal, os algoritmos desenvolvidos por meio desta técnica devem ser elaborados seguindo um padrão, onde o fluxo de processamento é indicado por setas e as operações por figuras geométricas, conforme ilustrado na Figura 1 abaixo.
Considerando os mesmos dois exemplos da descrição narrativa, para cálculo da média das notas de 3 provas e para cálculo do fatorial de um número inteiro N, podemos desenvolver fluxogramas parecidos com as Figuras 2 e 3 para apresentarmos a solução dos problemas.
Conforme podemos observar nesses exemplos, esses fluxogramas permitem um elevado nível de clareza em relação a sequência das operações. Porém, considerando que para desenharmos um fluxograma é necessário conhecermos as convenções gráficas da Figura 1 que, apesar de serem simples, não estamos acostumados a elas, e por ser bastante trabalhoso realizarmos alterações ou correções em um fluxograma já desenvolvido, essa forma de representação gráfica também não costuma ser muito utilizada.
Pseudocódigo
Por fim, a descrição de algoritmos utilizando pseucocódigos consiste em representar textualmente os passos envolvidos na resolução do problema, seguindo um conjunto de regras que visam restringir e estruturar o uso do português. Essas regras evitam os problemas de ambiguidade presentes na descrição narrativa e fazem a compreensão da lógica de programação ser bem mais fácil. Além disso, por ser uma forma de representação que se aproxima bastante do código fonte de linguagens de programação reais, como C++, Pascal, Python, etc., os pseudocódigos são o método de desenvolvimento de algoritmos mais utilizado e que abordaremos com mais detalhes nas próximas aulas. De qualquer forma, os algoritmos via pseudocódigo para os mesmos dois exemplos analisados anteriormente, poderiam ser aqueles mostrados a seguir:
1 |
inicio;
|
2 |
real: n1, n2, n3, M;
|
3 |
escreva (“Informe as suas notas”);
|
4 |
leia (n1, n2, n3);
|
5 |
M ← (n1 + n2 + n3)/3;
|
6 |
leia (N);
|
7 |
se (M >= 60) então
|
8 |
escreva(“Você foi aprovado!”);
|
9 |
senão
|
10 |
escreva(“Você está reprovado!”);
|
11 |
fimse;
|
12 |
fim.
|
1 |
inicio;
|
2 |
inteiro: N, Fat, Aux;
|
3 |
Fat ← 1;
|
4 |
Aux ← 1;
|
5 |
escreva (“Insira o valor de N”);
|
6 |
leia (N);
|
7 |
Fat ← Fat*Aux;
|
8 |
Aux ← Aux + 1;
|
9 |
enquanto (Aux <= N) faça
|
10 |
Fat ← Fat*Aux;
|
11 |
Aux ← Aux + 1;
|
12 |
fimenquanto;
|
13 |
fim.
|
Depois de conhecermos essas 3 formas de representação de um algoritmo, começaremos a dar nossos primeiros passos para aprendermos como escrever pseudocódigos. Ainda não é cadastrado em nosso blog? Então não perca tempo e acesse agora esse link para ficar por dentro dos próximos conteúdos! Estamos preparando muitas novidades para você ficar fera em Mecatrônica!
Referências bibliográficas
A. A. T. Maia, “Fundamentos da Computação – Algoritmos – Programação em Linguagem C”. Universidade Federal de Minas Gerais, 2013.
G. G. Texera, P. Francine & J. Muniz, “Fluxogramas, diagrama de blocos e de Chapin no desenvolvimento de algoritmos”. 2013. Online. [Acesso 26 Março 2018]