Você está na página 1de 4

Sistema de Gerenciamento de Reflorestamento

Problem Based Learning


Kauan Caio de A. Farias1
1
Departamento de Ciências Exatas – Universidade Estadual de Feira de Santana (UEFS)
Av. Transnordestina, s/n - Feira de Santana, Novo Horizonte - BA, 44036-900
arrudakauanfarias@gmail.com

Abstract. Deforestation is one of the most debated points, when it comes to


the debate of environmental harm, and reforestation becomes a better way to
combat this problem. Due to this problem, it was requested the creation of a
software that registers reforestation areas in the northeast, for the purpose of
control. The software must be developed in the python programming language,
through the knowledge acquired in classes, using only the initial paradigms of
the language. This system processes the important data and issues a report
containing information. Therefore, there was a registration system that contains
information about area, location and type of tree.

Resumo. O desmatamento é um dos pontos mais debatidos, quando se trata de


discussão ambiental, e reflorestar se tornou a melhor forma de combater esse
mal. Em virtude dessa problemática, foi solicitado a criação de um software
que cadastre áreas de reflorestamento no nordeste, para fim de controle. O soft-
ware deve ser desenvolvido na linguagem de programação python, através do
conhecimento adquirido em aulas, utilizando apenas os paradigmas iniciais da
linguagem. Esse sistema processa os dados coletados e emite um relatório con-
tendo informações importantes. Por consguinte, teve-se um sistema de cadastro
que contém informações sobre área, localização e tipo de árvore.

1. Introdução
O desmatamento é um processo de degradação da flora nativa. Este processo gera
modificações do clima, reduz a capacidade de absorver gás carbônico (CO2) e atrapa-
lha o ciclo hidrológico. Uma forma de reverter este problema, é reflorestando áreas que
foram desmatadas. Uma Organização Não-Governamental, chamada de “Reflorestar é
reviver!”, solicitou aos alunos de Algoritmos e Programação do curso de Engenharia de
Computação da UEFS o desenvolvimento de um software em Python que gerencie áreas
de reflorestamento e ao final do cadastro emita um relatório contendo informações impor-
tantes para o controle.
O software deve permitir entradas das áreas de reflorestamento, contendo o código
para área, a cidade e o estado em que se localizam, como também, as dimensões (base
e altura) e o tipo de árvore utilizada (Cajueiro, Mangueira, Dendê, Coqueiro, Bambu
gigante e Ipê).
O sistema pode ser interrompido a cada cadastro e apresentando um relatório com
as seguintes informações: área total reflorestada por estado, da Região Nordeste e por
cada tipo de árvore, além do tipo de árvore mais usado no reflorestamento e o menos usado
(considerando apenas o uso e não a dimensão das áreas reflorestadas). Deve-se imprimir
também informações (código, cidade, estado, área, tipo de árvore) da maior extensão de
área reflorestada e a quantidade de áreas reflorestadas por estado, por fim o estado menos
reflorestado, para ações futuras (considerando a dimensão da área reflorestada).
Para a entrada das informações foi utilizado um menu através de uma variável
com input chamada “opcao” e toda vez que esta variável recebe valor igual a 1, inicia-
se as entradas de informações do cadastramento dentro de um laço de repetição while.
As informações foram processadas através de diversas condicionais “if” que realizavam
através de variáveis contadoras e acumuladoras, a armazenagem dos dados com as di-
mensões e a quantidade de áreas solicitadas para determinada área especı́fica, estado ou
tipo de árvore.

2. Metodologia
O problema foi apresentado e discutido nas primeiras sessões tutoriais. A primeira difi-
culdade foi entender do que se tratava o problema, tendo em vista, que estas sessões foram
o primeiro contato de fato com a metodologia Problem Based Learning (PBL). Os inte-
grantes se mantiveram fugidios e perdidos com o problema e isso gerou uma confusão,
lentidão e principalmente mal andamento da sessão.

2.1. Sessões tutoriais.


No decorrer das sessões, o andamento foi otimizado e consequentemente, a sessão tutorial
se tornou fluı́da e o problema mais claro. Questões foram abordadas sobre a resolução
do problema, como o uso de funções, uso de listas, dicionários e matriz. Essas questões
de paradigma foram muito bem esclarecidas pelo tutor, que os recomendou a seguirem o
andamento do componente curricular Algoritmos e Programação (EXA 801). As questões
lógicas como uso de condicionais dentro e fora dos loops, validação de dados e verificação
de erros, foram outras questões discutidas.

2.2. Requisitos e funcionalidades do sistema.


O problema em questão, exigia entradas e resultados especı́ficos. E a compreensão deste,
é peça fundamental na elaboração do software. As entradas deveriam ser para o usuário
entar com um código para a área, a cidade e o estado onde a área se encontra, as dimensões
(base x altura) e o tipo de árvore utilizada no reflorestamento daquela área.
A partir destas entradas, o software deveria entregar um relatório que contenha
a área total reflorestada por estado, da Região Nordeste e por cada tipo de árvore, além
do tipo de árvore mais usado no reflorestamento e o menos usado (a quantidade de vezes
emitida aquele tipo de árvore). Deve-se imprimir também informações (código, cidade,
estado, área, tipo de árvore) da maior extensão de área reflorestada e a quantidade de
áreas reflorestadas por estado, por fim o estado menos reflorestado, para ações futuras
(considerando a dimensão da área reflorestada).
As sessões possibilitaram o esclarecimento para um problema bastante perti-
nente; como começar a desenvolver o código. Após discussões e colaborações dos
integrantes, chegou-se a ”um fator comum”. O código deveria se basear, primeira-
mente, nas definições das entradas e nos resultados da saı́da. Com a ajuda do li-
vro Algoritmos - Lógica para Desenvolvimento de Programação de Computadores,
[Manzano and de Oliveira 2000], construiu o fluxograma que ajudou na parte lógica, pois
foi possı́vel compreender como aconteceria o armazenamento dos dados das entradas ape-
nas utilizando variáveis.

2.3. Descrição do algoritmo.


O código primeiramente, declara todas as variáveis que seriam utilizadas em todo o soft-
ware. Para os usuários entrarem no cadastramento, foi necessário utilizar uma entrada
chamada “opcao”, depois uma condicional verifica-se a entrada é igual à 1 (um). As-
sim, prossegue o código com as entradas de dados das áreas. Após cada cadastramento,
é solicitado ao usuário se deseja prosseguir, se “opcao” for igual a 1 (prossegue com o
cadastramento), se “opcao” for igual a 2 (obtém-se relatório), se “opcao” for igual a 3 (ou
encerrar o sistema).
Os dados das entradas foram acumulados e contadas por variáveis acumuladoras
contadoras, que através de condicionais, armazenam os dados dos tipos de árvores e es-
tados. Para a área total do nordeste, foram somados os resultados de todas as áreas dos
estados em uma variável da área total.
Para atender os demais requisitos dentro do loop, utilizou-se de condicionais para
encontrar informações da maior área, foi preciso comparar a variável da área estivesse
com o maior valor e esta deveria ser acumulada na variável de maior área. Para corrigir
um problema de categorização numérica do tipo de árvore, foi necessário usar condicio-
nadores para trocar o número por um texto.
Caso o usuário digite 2 (dois) para o valor de “opcao”, um relatório é solicitado,
neste relatório é printado junto ao um texto, os valores de cada variável acumuladora e
contadora, conforme os requisitos. Entretanto, neste momento é também verificado os da-
dos de tipo de árvore mais usada e estado menos reflorestado através de condicionais. Foi
optado o uso fora do loop, para que os valores não se anulassem, contudo, vale ressaltar
que existiam formas sofisticadas de se chegar ao mesmo resultado.

3. Resultado e discussões
O software inicia-se com um menu para selecionar o cadastramento, relatório ou sair. Ao
selecionar o cadastramento, o usuário inicia o cadastramento, conforme as orientações
pedidas. Após cada cadastro, é emitido se o usuário deve prosseguir, ou ter o relatório.
Isso permanece, até o usuário terminar seu cadastro e assim selecionar o relatório, onde
constará as informações de controle.
Para a entrada do código, é possı́vel o uso de texto, número ou código alfa-
numérico. Já para cidade, é necessário entrar com texto, porém aceita-se número também.
Contudo, para o estado deve-se seguir as orientações, informar o estado conforme a sigla,
assim como para o tipo de árvore, apenas os números correspondentes, caso o usuário
entre com um outro valor, não será contabilizado no relatório, ou se caso entre com um
texto, o sistema para de funcionar. Para altura e largura aceita apenas números, se entrar
com um texto, o código parará.
Com os dados fornecidos de forma correta, as saı́das serão processadas através
de condicionais que verificará e calculará conforme os requisitos pedidos no problema.
Então terá; área total reflorestada por estado, da Região Nordeste e por cada tipo de árvore,
além do tipo de árvore mais usado no reflorestamento e o menos usado (considerando
apenas o uso e não a dimensão das áreas reflorestadas), como as informações (código,
cidade, estado, área, tipo de árvore) da maior extensão de área reflorestada, a quantidade
de áreas reflorestadas por estado e o estado menos reflorestado.

4. Conclusão
Este presente trabalho foi fruto da colaboração coletiva e da autoaprendizagem incenti-
vada pelo PBL. O produto gerado a partir do problema, além de efetivo e funcional, é
também o resultado das semanas de estudo e de sessões tutoriais. Deve-se, ressaltar que
o contato primário com uma metodologia pouco conhecida, foi um desafio maior que o
próprio problema.
O sistema, apesar de atender todos os requisitos, além dos percalços durante o
desenvolvimento, é preciso evidenciar que necessita de pontos de melhoria. Um dos pon-
tos que deveria ser visto é a estrutura do código que poderia ser mais simples e eficiente,
talvez devido à uma falta de preparo da lógica. Outro ponto é a validação de certos erros,
para que o usuário não entre com dados que corrompam ou atrapalhem o funcionamento
do sistema.
No demais, o resultado do produto é satisfatório, ainda mais pelo conhecimento
gerado e produzido durante seu desenvolvimento. Apesar dos desafios que carregam a
metodologia, o produto final é cheio de vislumbres de um futuro sonhado por muitos.

Referências
Manzano, J. A. N. and de Oliveira, J. F. (2000). Algoritmos lógica para desenvolvimento
de programação de computadores. Saraiva Educação SA.

Você também pode gostar