UMA METODOLOGIA DE ENSINO DE LÓGICA APLICADA EM CURSOS DE CIÊNCIAS HUMANAS - PDF
UMA METODOLOGIA DE ENSINO DE LÓGICA APLICADA EM CURSOS DE CIÊNCIAS HUMANAS
Download "UMA METODOLOGIA DE ENSINO DE LÓGICA APLICADA EM CURSOS DE CIÊNCIAS HUMANAS"
João Henrique Bugalho Felgueiras
1 RAM REVISTA DE ADMINISTRAÇÃO MACKENZIE, V. 10, N. 2 MAR./ABR ISSN UMA METODOLOGIA DE ENSINO DE LÓGICA APLICADA EM CURSOS DE CIÊNCIAS HUMANAS A TEACHING METHODOLOGY OF APPLIED FORMAL LOGIC IN SOCIAL SCIENCES COURSES DENIS SILVA DA SILVEIRA Mestre em Informática pela Universidade Federal do Rio de Janeiro (UFRJ). Professor assistente da Faculdade de Engenharia da Universidade Federal do Rio de Janeiro (UFRJ). Cidade Universitária, Centro de Tecnologia, bloco F, sala F113, Ilha do Fundão Rio de Janeiro RJ CEP ELIANE MARIA LOIOLA Doutora em Engenharia da Produção pela Universidade Federal do Rio de Janeiro (UFRJ). Professora assistente da Faculdade de Administração da Pontifícia Universidade Católica do Rio de Janeiro (PUC-RJ). Rua Marquês de São Vicente, 225, Gávea Rio de Janeiro RJ CEP SIMONE BACELLAR LEAL FERREIRA Doutora em Informática pela Pontifícia Universidade Católica do Rio de Janeiro (PUC-RJ). Professora adjunta II da Faculdade de Sistemas de Informação da Universidade Federal do Rio de Janeiro (UFRJ). Avenida Pasteur, 458, Urca Rio de Janeiro RJ CEP Submissão: 15 fev Aceitação: 8 out Sistema de avaliação: às cegas dupla (double blind review). UNIVERSIDADE PRESBITERIANA MACKENZIE. Walter Bataglia (Ed.), p
2 RESUMO O impacto causado pelo uso de novas tecnologias nos diversos setores da atividade econômica requer profundas transformações no processo pedagógico dos cursos superiores de Ciências Humanas e Ciências Sociais Aplicadas, trazendo dificuldade e insegurança para os educadores e coordenadores de instituições de ensino superior. Para alcançar um conhecimento das tecnologias correntes, que possa ser aplicado na solução de problemas reais de diversas naturezas, torna-se essencial o ensino de conceitos fundamentais de Lógica Aplicada tradicionalmente presentes em cursos de Ciências da Computação, proporcionando uma formação teórica, o desenvolvimento de raciocínio lógico e formal e de habilidades práticas bastante exigidas no mercado de trabalho. Apresentamos uma metodologia para o ensino de conceitos fundamentais de Lógica Formal Aplicada que vem sendo usada em cursos de graduação em Administração e Economia, com o propósito de colaborar na construção de um novo paradigma de ensino de tecnologia, que se aplica a diversas áreas de atuação, e contribuir para o aprimoramento do processo pedagógico desses cursos. PALAVRAS-CHAVE Lógica; Raciocínio lógico; Metodologia; Algoritmo e ensino de tecnologia; Ensino da Administração. ABSTRACT The use of new technologies in so many sectors changed the way of how economic activities are done. Because of this transformation, pedagogical processes of Social Sciences and Applied Social Sciences courses need deep attention and must restructured. Since this is not an easy task, educator and undergraduate programs coordinators sometimes become insecure. This paper presents a teaching methodology of basic Applied Formal Logic that, if properly used, can assist professors to 165
3 RAM REVISTA DE ADMINISTRAÇÃO MACKENZIE Volume 10, n. 2, 2009, p better deal with new technologies and help them to reduce their uncertainty. Once this methodology can be applied in the solution of different real problems, it can be useful teaching basic concepts of Applied Logic, traditionally present in Computer Science courses. It provides a steady theoretical formation, enhances the development of logical and formal reasoning and practical abilities. This methodology has been used and tested in undergraduate courses in Schools of Business Administration and Economics. This experience contributed to construct new paradigm of technology education. KEYWORDS Logic; Logic reasoning; Methodology; Algorithm and teaching of technology; Management Teaching. 1 INTRODUÇÃO 166 A transformação da economia industrial em economia da informação fez que a informação e seus respectivos sistemas desempenhem funções fundamentais e estratégicas nas organizações em sua totalidade. Nesse sentido, a informação passou a ser um recurso estratégico que deve ser utilizado como vantagem competitiva, não podendo ser ignorado, o que pode ser explicado principalmente pela globalização. As organizações inseridas na sociedade da informação tendem a fazer uso de tecnologia para ganhar competitividade. Essa importância crescente do papel desempenhado pela tecnologia na sociedade vem determinando a necessidade de inserir conceitos tradicionalmente presentes em disciplinas dos cursos de Ciências da Computação e afins em cursos de Ciências Humanas, Ciências Sociais Aplicadas, Jurídicas, da Saúde etc. Necessidade que se antecipou às diretrizes acadêmicas, orientando como esse aprendizado pode ser realizado de forma adequada dentro das instituições de ensino superior (LOIOLA; SILVEIRA, 2003). O estudo de conceitos de lógica como suporte para o estudo de algoritmos tem adquirido tamanha importância que já se considera a Algorítmica como ciência que se dedica a estudar a lógica dos algoritmos em diferentes aspectos. Conceitos pertinentes à Algorítmica têm migrado do âmbito da pesquisa acadêmica para setores econômicos (indústria e comércio) e aos poucos estão influenciando o ensino da Administração (FRIEDMANN, 2003). Exemplificando esse processo, destaca-se a lei norte-americana Sarbanes Oxley (2006) que responsabiliza seus gestores por suas ações e pelos dados apresentados a todos os stakeholders, mostrando
4 UMA METODOLOGIA DE ENSINO DE LÓGICA APLICADA EM CURSOS DE CIÊNCIAS HUMANAS DENIS SILVA DA SILVEIRA ELIANE MARIA LOIOLA SIMONE BACELLAR LEAL FERREIRA a importância de dispor de uma descrição formal (algoritmo) para gerenciar e respaldar as decisões. Este trabalho apresenta uma metodologia para o ensino de fundamentos de Lógica Aplicada que norteiam cursos de Ciências da Computação, sendo direcionada para alunos de cursos de áreas como administração, direito, medicina etc. O foco principal é desenvolver uma forma algorítmica para avaliar e solucionar problemas. 2 QUESTÕES RELACIONADAS AO ENSINO DE ALGORITMO Um grupo finito de passos a serem seguidos para resolver um problema constitui um algoritmo. A importância dos algoritmos é sua aplicabilidade na resolução de problemas de modo geral, não necessariamente associados ao uso de computadores. Assim, uma disciplina que trata de algoritmos desenvolve a habilidade de projetar soluções para problemas genéricos de uma maneira lógica e em passos. Tradicionalmente, seu ensino é problemático e costuma apresentar altos índices de desistência e reprovação (FORBELLONE; EBERSPÄCHER, 1993; FRIEDMANN, 2003; HENDERSON, 1986, 1987). Trata-se de um problema mundial. Henderson (1986) menciona o espanto dos professores ao constatarem que seus alunos não conseguem entender e elaborar algoritmos para os mais simples problemas. Certamente, esse choque se deve a uma expectativa equivocada de que seu público já está munido, a priori, de habilidades para análise e resolução de problemas, obtenção de conclusões lógicas e capacidade de síntese. É certo que a ausência de disciplinas necessárias para o estudo de algoritmos, como a Filosofia, nos currículos da maioria dos cursos também colabora para o crescimento dessa deficiência. Um outro ponto importante é a heterogeneidade do público. É inegável que alguns alunos apresentam facilidade nata para raciocínios abstratos e elaboração de soluções algorítmicas para problemas, o que dificulta ainda mais a construção de uma ementa para a disciplina e a escolha do grau de complexidade dos problemas propostos. Essas questões devem ser bem conduzidas para solucionar problemas dessa natureza e permitir que a disciplina possa ser compartilhada entre vários cursos das mais diversas áreas, com diferentes expectativas e anseios, permitindo um uso melhor do investimento realizado na implantação de uma disciplina como esta, com foco extremamente multidisciplinar. Essas questões dificultam o uso de metodologias que têm como objetivo principal o ensino de algoritmos no contexto de cursos de graduação em Ciência da Computação ou correlatos, em que a disciplina de algoritmos compõe uma linha mestra da grade curricular. 167
5 RAM REVISTA DE ADMINISTRAÇÃO MACKENZIE Volume 10, n. 2, 2009, p METODOLOGIA Nossa metodologia é constituída por quatro etapas: a primeira compreende uma introdução aos fundamentos de lógica, matéria-prima para elaboração de algoritmos, mostrando sua necessidade e importância no cenário atual. São introduzidos conceitos de lógica proposicional com base em exemplos do cotidiano. A segunda etapa envolve a resolução de problemas para valorizar a autonomia cognitiva. Os problemas propostos nesta etapa são de diversos domínios, não requerem conhecimentos específicos e não são relacionados à computação. Esse universo inclui quebra-cabeças simbólicos e lógicos, jogos e charadas, problemas simples de aritmética e geometria. Na terceira etapa, discutem-se os formatos de representação disponíveis na literatura que possibilitam descrever, sem ambiguidade, soluções de problemas anteriormente propostos. Finalmente, ensina-se a transpor os problemas propostos e formalmente descritos para uma linguagem de programação. Utiliza-se o Visual Basic for Applications (VBA) por tratar-se de uma linguagem de programação presente no Microsoft Office (que inclui ferramentas bastante familiares para profissionais de administração, contabilidade e economia), com funcionalidades que permitem acesso à maioria das funções do sistema operacional. O VBA suporta execução automática de código quando um documento é aberto, tornando relativamente simples a construção de unidades de processamento para resolução de problemas, além de possuir uma interface amigável. Recomenda-se que os problemas usados como exemplos tenham ligação direta e prática com as demais disciplinas da grade curricular do curso. Em nossa experiência, foram desenvolvidos inúmeros exemplos com aplicabilidade prática em diversas áreas e com sugestões de resolução que utilizam nossa metodologia, indicando como apresentar e conduzir o estudo do problema até alcançar a resolução. 3.1 PRIMEIRA ETAPA: LÓGICA 168 A primeira etapa desta metodologia é a introdução aos fundamentos de lógica, matéria-prima para elaboração de algoritmos (FORBELLONE; EBERSPÄCHER, 1993). Segundo Fonseca (1998), a lógica foi um instrumento indispensável ao pensamento científico na tradição clássica e medieval. Dela nasceram a lógica matemática e, dentro desta, várias filosofias que interpretam os cálculos simbólicos e sua sistematização axiomática. Junto aos alunos que estão iniciando nessa ciência, é interessante abordar, em particular, a questão do pensamento dedutivo e matemático, seus limites, assim como o problema da mecanização e representação do pensamento quantitativo por meio do raciocínio lógico, uma vez que todo raciocínio lógico é baseado na tomada de decisão por meio do cumprimento
6 UMA METODOLOGIA DE ENSINO DE LÓGICA APLICADA EM CURSOS DE CIÊNCIAS HUMANAS DENIS SILVA DA SILVEIRA ELIANE MARIA LOIOLA SIMONE BACELLAR LEAL FERREIRA de determinadas condições. Tais condições podem ser situações cotidianas presentes na vida das pessoas. Em linhas gerais, deve-se introduzir o conceito de algoritmos como sendo: qualquer procedimento bem definido que considera valores/dados de entrada (insumos), uma condição ou uma combinação de condições (processamento) e que a aplicação das condições aos dados gera os valores/dados de saída (produto). Um exemplo comumente citado é o apótema de Descartes: Penso, logo existo. O fato de pensar (dado de entrada) levou Descartes à constatação de sua existência (dado de saída). Na mesma linha, deve-se introduzir o conceito da lógica proposicional, tão cobrada em concursos públicos e processos de seleção para estágios e empregos. Essa característica é fundamental para incentivar os alunos mais jovens, que rapidamente irão perceber que a importância da lógica proposicional transcende a realidade dos concursos, funcionando, em um segundo momento, como outro agente motivador para que eles permaneçam matriculados na disciplina até alcançar o nível de maturidade desejado. A peculiaridade da lógica proposicional é trabalhar apenas com variáveis cujos valores se alternam exclusivamente entre dois estados (verdadeiro e falso; sim ou não; 0 ou 1). Portanto, a lógica proposicional é a ferramenta ideal para trabalhar com grandezas cujos valores são expressos no sistema binário. Para exemplificar a lógica proposicional em sala de aula, devem ser usados exemplos do cotidiano cultural dos alunos, o que facilita o entendimento. Um exemplo bastante comum à cultura ocidental é apresentado na Figura 1: uma placa de identificação de banheiro público. Quando se observa a porta de um banheiro onde consta esta figura, é possível fazer uma análise e concluir, usando o senso comum, que o banheiro é feminino. Logo, essa é a condição imposta para o problema de usar o banheiro. O dado de entrada é o sexo da pessoa que pretende usar o banheiro: feminino ou masculino. Já o dado de saída, ou seja, a decisão sobre a pessoa entrar ou não no banheiro, é obtido mediante a aplicação da condição ao dado de entrada. Logo, tem-se a condição (é do sexo feminino: sim ou não?) e a decisão ( sim se a resposta for sim; não se for não). Esse é um exemplo introdutório de uma condição simples, na qual há apenas um dado de entrada e um dado de saída. FIGURA 1 IDENTIFICAÇÃO DE UM BANHEIRO PÚBLICO 169
7 RAM REVISTA DE ADMINISTRAÇÃO MACKENZIE Volume 10, n. 2, 2009, p A mesma figura, no entanto, poderia ser analisada de forma contrária, ou seja, sexo masculino não entra. Logo, tem-se a condição (é do sexo masculino: sim ou não?) e a decisão ( sim, pode usar o banheiro, se a resposta for não; não, não pode usar o banheiro, se a resposta for sim). Esse é um exemplo de negação (NOT) facilmente entendido por qualquer perfil de aluno. É possível incluir no problema a necessidade de pagar para usar o banheiro, ou seja, para usar o banheiro é necessário, além de ser do sexo permitido, ter efetuado o pagamento. Esse exemplo é mais complexo, são avaliadas duas condições através de dois dados de entrada: o sexo do usuário (é do sexo feminino? Sim ou não?) e a realização do pagamento (efetuou o pagamento: sim ou não?). Para obter uma decisão sim que garante o uso do banheiro, é preciso cumprir ambas as condições. Não é suficiente ser do sexo feminino; se a pessoa não realizou o pagamento, então não pode utilizar o banheiro. E não é suficiente realizar o pagamento, pois a pessoa pode não ser do sexo feminino. Portanto, a decisão sim, que permite o uso do banheiro, depende de ambos os dados de saída serem sim. Nesse caso, a condicional e (AND) é apresentada sem empregar nenhum aspecto computacional. É possível ainda apresentar uma situação em que o uso do banheiro requer pagamento apenas para adultos, mas que uma criança de qualquer sexo poderá usá-lo sem precisar pagar. Nesse caso, para entrar no banheiro, é necessário ser adulto do sexo feminino e ter realizado o pagamento ou ser criança, não importando o sexo. Cumprida qualquer uma das condições, será permitido o uso do banheiro. Ou seja, é do sexo feminino e realizou o pagamento: sim ou não? Se sim, a primeira condição está cumprida, e a decisão é sim, o usuário pode entrar. Caso contrário, não. Logo, é necessário examinar a segunda condição, ou seja, é criança: sim ou não? Se sim, a segunda condição foi cumprida, portanto o usuário pode usar o banheiro, mesmo não sendo do sexo feminino e não tendo realizado pagamento. Nesse exemplo, a decisão sim, que permite o uso do banheiro, é suficiente para que um dos dados de saída seja sim, ilustrando a condicional ou (OR). Em um sistema computacional, todas as operações são feitas por meio de tomadas de decisões que, por mais complexas que sejam, são formadas pela combinação das três operações lógicas correspondentes às condições anteriormente descritas: NOT, AND e OR. Para tomadas de decisões mais complexas, é necessário mostrar ao aluno que tudo o que ele precisa é combinar essas operações.
8 UMA METODOLOGIA DE ENSINO DE LÓGICA APLICADA EM CURSOS DE CIÊNCIAS HUMANAS DENIS SILVA DA SILVEIRA ELIANE MARIA LOIOLA SIMONE BACELLAR LEAL FERREIRA 3.2 SEGUNDA ETAPA: RESOLUÇÃO DE PROBLEMAS O principal objetivo desta etapa é desenvolver a autonomia na busca por soluções próprias para os problemas apresentados. Uma boa estratégia é desfazer a ideia de que é necessário conhecimento prévio de um método específico de resolução, estabelecendo a validade do processo de tentativa e erro, certamente não aleatório, para buscar soluções (LEVITIN, 2000). O professor deve agir como um facilitador das atividades, sugerindo exercícios para explicitar questões despercebidas e indicando formas alternativas de interpretar o problema e encaminhar as tentativas de solução. Além de sugerir material suplementar para consulta e propor a formação de pequenos grupos para discutir os temas apresentados, mesmo com entendimento ainda superficial. Atualmente, muitas teorias de aprendizagem são categóricas ao afirmarem que a aquisição do conhecimento só ocorre com a experiência, ou seja, deve-se aprender fazendo (CASTRO et al., 2003). Os problemas propostos devem ser de diversos domínios e não requerer conhecimentos específicos e relacionados à computação. Esse universo inclui quebra-cabeças simbólicos, quebra-cabeças lógicos, jogos e charadas, problemas simples de aritmética e geometria. Ou seja, o objetivo desta etapa está em capacitar o aluno no processo de percepção e interpretação do problema e no hábito de analisar desafios de diferentes domínios. A etapa culmina na autoafirmação do aluno para ponderar e validar suas próprias soluções. Um exemplo que pode ser utilizado é o problema das torres de Hanói, apresentado na Figura 2, que consiste em mover os discos do primeiro para o segundo pino, usando o terceiro como intermediário, respeitando certas regras: mover um disco por vez, nunca colocar um disco maior sobre um menor, nem mover uma peça localizada abaixo de outra. FIGURA 2 TORRE DE HANÓI a b c
9 RAM REVISTA DE ADMINISTRAÇÃO MACKENZIE Volume 10, n. 2, 2009, p TERCEIRA ETAPA: A REPRESENTAÇÃO Esta etapa é trabalhada em duas fases. Na primeira, evidencia-se a necessidade de representar a solução de um problema em uma linguagem utilizada para comunicação. Quando a comunicação é homem-homem, utiliza-se a linguagem natural (português, inglês etc.) ou uma representação gráfica. Cada aluno pode expor verbalmente sua solução ao grupo. Simultaneamente, o grupo é estimulado pelo professor a explorar, questionar e validar a solução apresentada. Essa verbalização constrói, sob a intervenção dos componentes do grupo, progressiva e interativamente, uma formalização considerada satisfatória pelo grupo. FIGURA 3 REPRESENTAÇÃO GRÁFICA E EM LINGUAGEM NATURAL PARA A TORRE DE HANÓI a b c a b c Mova o disco 1 da torre A para a torre B a b c 2. Mova o disco 2 da torre A para a torre C a b c Mova o disco 1 da torre B para a torre C a b c 4. Mova o disco 3 da torre A para a torre B a b c Mova o disco 1 da torre C para a torre A 6. Mova o disco 2 da torre C para a torre B a b c Mova o disco 1 da torre A para a torre B Nesta fase, o papel do professor é minimizar o nível de competitividade e manter o grupo em ação colaborativa e investigativa. Valoriza-se a discussão em grupo como um instrumento para despertar a percepção das fragilidades da linguagem natural. Lacunas intrínsecas ao processo de verbalização de soluções,
10 UMA METODOLOGIA DE ENSINO DE LÓGICA APLICADA EM CURSOS DE CIÊNCIAS HUMANAS DENIS SILVA DA SILVEIRA ELIANE MARIA LOIOLA SIMONE BACELLAR LEAL FERREIRA ou não, são percebidas na discussão, evidenciando as diferenças entre relatar, sintetizar e formalizar. Por ser interativa e não documentada, a primeira fase não comporta problemas que pressuponham soluções extensas e elaboradas. No exemplo das torres de Hanói, apresentado anteriormente, a representação da solução pode ser dada graficamente da forma apresentada na Figura 3. Uma outra forma para representar uma solução é por meio de um modelo. Um modelo é uma descrição da realidade que ressalta alguns aspectos em detrimento de outros. Cada tipo de modelo utiliza uma linguagem de modelagem, que pode ser formal ou informal. Uma linguagem de modelagem é formada por uma notação e um conjunto de regras sintáticas e semânticas que especificam seu uso. A sintaxe define como os símbolos são mostrados e combinados na linguagem de modelagem, enquanto a semântica define o que cada símbolo significa e como ele deve ser interpretado (SILVEIRA; SCHMITZ, 2000). A seguir, um outro problema é apresentado, mostrando sua solução por meio de um modelo de fluxograma. FIGURA 4 REPRESENTAÇÃO EM FLUXOGRAMA PARA SOLUÇÃO DE UM PROBLEMA Identificar as bolas a, b, c, d, e, f, g, h Colocar em cada prato três bolas a, b, c f, g, h sim a, b, c = f, g, h não Colocar as duas restantes d e sim a, b, c > f, g, h não sim d > e não Colocar uma em cada prato a c Colocar uma em cada prato f h d mais pesada e mais pesada sim a = c não sim f = h não 173 b mais pesada sim a > c não g mais pesada sim f > h não a mais pesada c mais pesada f mais pesada h mais pesada
11 RAM REVISTA DE ADMINISTRAÇÃO MACKENZIE Volume 10, n. 2, 2009, p O problema consiste em oito bolas de bilhar, e uma delas é defeituosa, ou seja, pesa mais do que as outras. Essa é a única diferença, pois todas as bolas apresentam o mesmo tamanho e cor. Dessa forma, o aluno deve construir um fluxograma que possibilite a descoberta da bola mais pesada. Entretanto, o problema apresenta a restrição de apenas duas pesagens em uma balança de pratos. A Figura 4 mostra o fluxograma para esse problema. A segunda fase desta etapa visa a uma melhoria da solução, tornando-a mais genérica. A fase pode começar com a transcrição da solução de um aluno no quadro-negro. Nesse ponto, o professor deve propiciar de forma espontânea um debate sobre o que foi transcrito, gerando correções ou outras propostas de solução. Ao identificar alterações ou propostas novas consistentes, o professor determina a suspensão da discussão e a transcrição da respectiva intervenção, num processo cíclico de aperfeiçoamento. A ideia é possibilitar uma solução genérica. Por exemplo, mostrar a possibilidade de modificar a solução apresentada na Figura 3 para obter uma solução genérica, ou seja, aplicável a qualquer quantidade de torres. Esse desafio, quando colocado em grupo, estimula a participação dos alunos. A Figura 5 apresenta uma solução para o problema da Torre de Hanói em uma forma genérica, ou seja, para qualquer quantidade de discos. FIGURA 5 ALGORITMO GENÉRICO EM LINGUAGEM NATURAL PARA A TORRE DE HANÓI Enquanto a transferência não estiver completa faça Mova o menor disco, sempre no sentido horário; Faça a única movimentação válida com o outro disco disponível; 3.4 QUARTA ETAPA: A LINGUAGEM 174 Nesta etapa, discute-se a existência de ferramentas que apresentem esses resultados utilizando algoritmos. O objetivo principal é permitir que os alunos vejam o resultado do trabalho desenvolvido pelo uso de uma linguagem de programação. Uma linguagem de programação propriamente dita representa a realidade de como é realizado o desenvolvimento profissional de programas de computador. Nossa experiência foi realizada com alunos dos cursos de graduação em Administração e em Economia, e optou-se por utilizar o VBA, pois a construção de macros no Microsoft Excel tornou o VBA uma das linguagens mais utilizadas no âmbito empresarial, sendo muito difundido no mercado financeiro. Portanto, o ensino didaticamente estruturado dessa linguagem nos cursos de Economia e Administração também determina um grande diferencial no currículo dos alunos.
12 UMA METODOLOGIA DE ENSINO DE LÓGICA APLICADA EM CURSOS DE CIÊNCIAS HUMANAS DENIS SILVA DA SILVEIRA ELIANE MARIA LOIOLA SIMONE BACELLAR LEAL FERREIRA Para conduzir esta etapa, o professor pode solicitar aos alunos a descrição formal de um procedimento simples que possa ser utilizado para definir algoritmo e programa, além de introduzir a tradução para a linguagem de programação. Pode ser feita uma pequena descrição de como utilizar um compilador, além da apresentação da estrutura básica de um programa, definindo alguns tipos de variáveis e alguns comandos ou instruções simples como as de leitura e escrita de dados. Certamente, o formalismo de uma linguagem de programação, por ser bem mais rigorosa, poderá trazer certas dificuldades para os alunos, mas em pouco tempo estas poderão ser superadas. Ao final desta etapa, é desejável que os alunos detenham pelo menos a capacidade de desenvolver programas que envolvam comandos de entrada e saída de dados, estruturas de seleção e de repetição. Os problemas propostos em sala de aula devem ter ligação direta e prática com outras disciplinas da grade curricular do curso. A próxima seção apresenta um problema que pode ser utilizado no curso de Administração, enfatizando o conteúdo de disciplinas ligadas a marketing e explorando o assunto customer relationship management (CRM). 4 UM EXEMPLO O gestor de um pequeno varejo, com o desejo de expandir seu negócio, decidiu conhecer melhor os seus clientes e optou por implementar um CRM, acreditando que com esse recurso tomará decisões mais acertadas em relação ao futuro do seu negócio, como na aquisição de novas mercadorias ou promoções. Assim, foram definidas cinco categorias principais de produtos no estabelecimento: hortifrútis, açougue, grãos, padaria e bazar. Identificou-se a existência dos seguintes perfis de clientes: de ocasião, regulares e preferenciais. E foram estabelecidos os critérios para posicionar cada cliente em um determinado perfil: Clientes com apenas uma ida mensal ao supermercado e que consomem produtos de hortifrútis e padaria: enquadram-se no perfil de clientes de ocasião. Clientes com mais de uma e menos de cinco passagens mensais e que consomem produtos de hortifrútis, açougue e grãos: são considerados clientes regulares. Em quaisquer outros casos: enquadram-se no perfil de clientes preferenciais. 175
13 RAM REVISTA DE ADMINISTRAÇÃO MACKENZIE Volume 10, n. 2, 2009, p Se esse problema puder ser trabalhado em parceria com o professor de marketing, será ainda mais fácil e interessante propor ao aluno a construção de uma macro em VBA que realize uma classificação em perfis, obedecendo às condições estabelecidas, um conjunto de n clientes cadastrados que frequentaram o supermercado durante um determinado período. Neste ponto, é importante discutir com os alunos a necessidade de estudar o problema e identificar os dados de entrada (insumo) e os de saída (produto), verificando as condições que fazem entradas gerarem saídas, exatamente como apresentado inicialmente na seção 3.1. Devem-se abordar os conceitos de eficácia e eficiência, ou seja, analisar o problema, com o propósito de encontrar sempre a melhor solução, como referido no caso da Torre de Hanói. Com base nessa análise, é possível mostrar ao aluno a necessidade de representar a solução do problema de forma não ambígua, uma vez que este será executado por uma máquina. Em nossa experiência, o aluno codifica o problema utilizando a linguagem VBA. O Quadro 1 ilustra uma planilha Excel onde o problema foi resolvido e executado. QUADRO 1 O PROBLEMA SOLUCIONADO USANDO MACROS NO EXCEL CONSUMIDOR HORTIFRÚTIS GRÃOS PADARIA AÇOUGUE BAZAR FREQUÊNCIA CLASSIFICAR José João X X 1 Ocasião Gustavo Azevedo Manoel Pereira X X X X X 6 Preferencial X X X 2 Regular Juliana Silva X X X 3 Regular Eduardo Mello X X X 6 Preferencial 176 A seguir, é apresentada uma descrição detalhada de como conduzir o processo de obtenção de uma solução para o problema apresentado. Essa descrição é apresentada como uma sugestão.
14 UMA METODOLOGIA DE ENSINO DE LÓGICA APLICADA EM CURSOS DE CIÊNCIAS HUMANAS DENIS SILVA DA SILVEIRA ELIANE MARIA LOIOLA SIMONE BACELLAR LEAL FERREIRA 4.1 ENTENDENDO O ENUNCIADO DOS PROBLEMAS Com discrição e naturalidade, recomenda-se que o professor faça repetidamente os mesmos questionamentos e indique alguns passos para a obtenção de uma solução. Por exemplo: Qual é a incógnita? Do que é que se precisa? O que é que se quer? O que é que se deve procurar?. A finalidade é focalizar a atenção do aluno nas incógnitas (variáveis). Algumas vezes, obtém-se o mesmo efeito de maneira mais natural, fazendo uma sugestão objetiva: Considere a incógnita!. A indagação e a sugestão têm o mesmo objetivo: ambas tendem a provocar uma operação mental. O exemplo apresenta, conforme o Quadro 2, as seguintes incógnitas. QUADRO 2 INCÓGNITAS COM SEUS DOMÍNIOS E SUAS DESCRIÇÕES NOME DOMÍNIO DESCRIÇÃO Frequência Hortifrútis Grão Padaria Açougue Bazar Inteiro Lógico Lógico Lógico Lógico Lógico Representará com que frequência mensal o cliente vai ao supermercado. Representará a condição do cliente em relação à compra de hortifrútis, onde X será sim, e a ausência do X será não. Representará a condição do cliente em relação à compra de grãos, onde X será sim, e a ausência do X será não. Representará a condição do cliente em relação à compra de padaria, onde X será sim, e a ausência do X será não. Representará a condição do cliente em relação à compra de açougue, onde X será sim, e a ausência do X será não. Representará a condição do cliente em relação à compra de bazar, onde X será sim, e a ausência do X será não. Perfil Caractere Representará a classificação de cada cliente de acordo com as condicionantes do problema. 177 Além de Qual é a incógnita?, outro questionamento deve ser claramente exposto aos alunos: Quais são as condicionantes?. Essas questões são de aplicação geral e podem ser utilizadas com sucesso no tratamento de problemas de qualquer natureza, algébrico ou geométrico, matemático ou não, um problema científico importante ou um mero enigma. O Quadro 3 apresenta as condicionantes para o problema do supermercado.
15 RAM REVISTA DE ADMINISTRAÇÃO MACKENZIE Volume 10, n. 2, 2009, p QUADRO 3 AS CONDICIONANTES DAS INCÓGNITAS PARA OS PERFIS IDENTIFICAÇÃO VALOR POSSÍVEL CONDICIONANTE C1 C2 Ocasional Regular (hortifrútis = sim ) AND (padaria = sim ) AND (frequência = 1). (hortifrútis = sim ) AND (açougue = sim ) AND (grão = sim ) AND (frequência > 1) AND (frequência < 5). C3 Preferencial Todos os outros casos não contemplados. 4.2 O ALGORITMO PROPOSTO Somente após o entendimento completo do problema, será possível que os alunos estruturem, de forma clara e natural, o desenvolvimento de uma solução por meio de um algoritmo. Certamente, aqueles alunos que não conseguiram passar pela etapa de entendimento não conseguirão esboçar um algoritmo. A Figura 6 ilustra, de forma bastante simples, um algoritmo para este problema. FIGURA 6 ALGORITMO PROPOSTO PARA O PROBLEMA DE CRM PROPOSTO 178 Enquanto houver Cliente Faça Verificar a frequência Verificar os produtos consumidos Se C1 Então // C1 descrita no Quadro 3 Perfil do Cliente é Ocasional Caso Contrário Se C2 Então // C2 descrita no Quadro 3. Perfil do Cliente é Regular Caso Contrário Perfil do Cliente é Preferencial Fim Se Fim Se Próximo Cliente
16 UMA METODOLOGIA DE ENSINO DE LÓGICA APLICADA EM CURSOS DE CIÊNCIAS HUMANAS DENIS SILVA DA SILVEIRA ELIANE MARIA LOIOLA SIMONE BACELLAR LEAL FERREIRA 4.3 A MACRO A realização deste exercício é concluída quando os alunos conseguem transcrever o algoritmo para a linguagem VBA. Dessa forma, o grupo passa a ter o pensamento, antes intangível, na forma tangível, através de um programa que pode ser executado por uma máquina o computador. A Figura 8 ilustra o trecho de uma macro, pertinente ao algoritmo apresentado na Figura 7, para o exercício de CRM proposto. FIGURA 7 O TRECHO DA MACRO PERTINENTE AO ALGORITMO DA FIGURA 6 While Mercado.Cells(linha, 2).Value <> frequencia = VerificaFrequencia VerificaProdutosConsumidos (hortifrutis, grão, padaria,açougue,bazar) If (hortifrutis = True) And (padaria = True) And (frequencia = 1) Then Mercado.Cells(linhaPerfil_1, 10).Value = Mercado.Cells(linha, 2).Value linhaperfil_1 = linhaperfil_1 + 1 Else If (hortifrutis = True) And (açougue = True) And (grão = True) _ And (frequencia > 1) And (frequencia < 5) Then Mercado.Cells(linhaPerfil_2, 11).Value = Mercado.Cells(linha, 2).Value linhaperfil_2 = linhaperfil_2 + 1 Else Mercado.Cells(linhaPerfil_3, 12).Value = Mercado.Cells(linha, 2).Value linhaperfil_3 = linhaperfil_3 + 1 End If End If linha = linha + 1 Wend 5 CONSIDERAÇÕES FINAIS 179 Desde 2005, uma instituição de ensino superior tem oferecido aos alunos de Adminstração e Economia a disciplina Lógica Aplicada, com resultados satisfatórios que melhoram gradativamente. O objetivo de incluí-la no currículo acadêmico é utilizar uma abordagem mais natural e flexível, sem perder o foco do aprendizado proposto.
17 RAM REVISTA DE ADMINISTRAÇÃO MACKENZIE Volume 10, n. 2, 2009, p Nos questionários de avaliação semestrais da disciplina, que são realizados pelos alunos de forma anônima, percebe-se um interesse crescente de nosso público. Essa disciplina tornou-se um diferencial importante no currículo do corpo discente, principalmente quando nossos alunos participam de processo seletivo no mercado de trabalho, em que, para grandes programas de estágio, trainee e para outros postos de trabalho, sempre há uma prova de lógica para avaliação de candidatos. Esse diferencial aumenta substancialmente quando o processo seletivo é para o setor financeiro, em que essa qualidade é um requisito fundamental. No entanto, o maior destaque dessa metodologia é a formação de profissionais adaptados à nova realidade, ao desenvolvimento tecnológico por meio do aprimoramento de novas maneiras de pensamento sobre o saber e o processo pedagógico. Nesse contexto, o ensino de conceitos fundamentais de Lógica Aplicada, mesmo em cursos que não possuem uma tradição em seu uso, é imprescindível na construção desse novo paradigma em todas as áreas de atuação. REFERÊNCIAS 180 CASTRO, T. C. et al. Utilizando programação funcional em disciplinas introdutórias de computação. In: X WORKSHOP SOBRE EDUCAÇÃO EM COMPUTAÇÃO. EVENTO INTEGRANTE DO XXII CONGRESSO DA SBC. 2002, Florianópolis. Anais... Florianópolis: WEI, FONSECA, C. História da computação teoria e tecnologia. Brasília: LTR, FORBELLONE, A. L. V.; EBERSPÄCHER, H. F. Lógica de programação: a construção de algoritmos e estrutura de dados. São Paulo: Makron Books, FRIEDMANN, C. V. P. Matemática discreta, algoritmos, modelos Tese (Doutorado) Universidade Federal do Rio de Janeiro, Rio de Janeiro, HENDERSON, P. B. Anatomy of an introductory computer science course. In: SIGCSE TECHNI- CAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 17., 1986, Cincinnati. Proceedings... Ohio: ACM Press, p Modern introductory computer science. In: SIGCSE TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 18., 1987, St. Louis. Proceedings... Missouri: ACM Press, p LEVITIN, A. Design and analysis of algorithms reconsidered. In: TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 30., 2000, EUA. Proceedings... EUA, p LOIOLA, E. M.; SILVEIRA, D. S. O ensino de administração focado em sistemas de informação. XIV In: ENCONTRO NACIONAL DOS CURSOS DE GRADUAÇÃO EM ADMINISTRAÇÃO, 14., 2003, Foz do Iguaçu. Foz do Iguaçu, SARBANES-OXLEY ACT. Disponível em: <http://www.sarbanes-oxley.com/>. Acesso em: 12 dez SILVEIRA, D. S.; SCHMTIZ, E. Desenvolvimento de software orientado a objetos. Rio de Janeiro: Brasport, 2000.
Uma Metodologia de Ensino de Lógica Aplicada em Cursos de Ciências Humanas. Resumo
Uma Metodologia de Ensino de Lógica Aplicada em Cursos de Ciências Humanas Autoria: Denis Silva da Silveira, Eliane Maria Loiola, Simone Bacellar Leal Ferreira, Gustavo Britto Hupsel de Azevedo Resumo
RAM. Revista de Administração Mackenzie ISSN: 1518-6776 revista.adm@mackenzie.com.br Universidade Presbiteriana Mackenzie Brasil SILVA DA SILVEIRA, DENIS; LOIOLA, ELIANE MARIA; BACELLAR LEAL FERREIRA,