Tudo bem com os sistemas lineares. Eles são uma forma de demonstrar matematicamente um problema que, em nosso caso, envolve três equações e três variáveis. Tudo bem também em utilizar o método de Gauss para solucioná-los, separando o contexto em uma matriz dominante e um vetor de termos independentes (a solução), daí aplicando operações de soma e multiplicação de vetores. O que não está tudo bem é quantidade de material duvidoso encontrado na internet a respeito desse tema.
Não sei se fomos nós que não soubemos procurar, ou as fontes que recorremos (incluindo-se aí sites de conhecidas universidades brasileiras) eram vagas demais. O fato é que, depois de três ou quatro algoritmos totalmente implementados, isto é, não apenas copiados com ctrl+c mas sim interpretados e até convertidos de pseudo-linguagem para o nosso C, simplesmente nenhum deles prestou um resultado coerente.
Então por quê pesquisar na internet? Estamos em ciência da computação; mais do que ninguém, sabemos que a tecnologia avança muito rápido. Sei que a pesquisa em livros (não em todos os casos, certamente) torna-se obsoleta em um curto espaço de tempo; e os professores nos disseram que este algoritmo (o Gauss-Jordan) seria de fácil acesso na web. Sua implementação do zero não seria a questão, mas sim entender seu funcionamento.
Fica como lição deste problema 4 do labinter que: Apesar de trabalharmos em equipe, e incentivados à colaboração, tem horas que, se quiser algo bem feito, faça você mesmo.
O lado bom: Ainda bem que bater tanto a cabeça em busca da solução - que não era nosso objetivo principal-, nos fez compreender como manipular os sistemas lineares, o que fazer para encontrar os determinantes, o pivoteamento, e, ainda, receber uma solidária contribuição do professor de Álgebra Linear (o algoritmo para resolver uma matriz triangular superior, que publicarei no próximo post) para consolar nossos esforços.
quarta-feira, 3 de junho de 2009
terça-feira, 2 de junho de 2009
Um microcontrolador sai do papel
Literalmente, nos foi apresentado um problema de proporções geométricas. Dois quadrados e um retângulo, todos em um círculo, precisavam ser dispostos de forma a obter o melhor aproveitamento possível do espaço, disponível dentro do dispositivo onde seria empregado; no caso, uma boneca de brinquedo.
O círculo, com raio de 6mm e representando o tamanho projetado no brinquedo para receber o circuito eletrônico, precisava ser preenchido com formas quadradas, onde o retângulo teria como altura a metade da medida de sua própria largura.
Pensamos, discutimos usamos várias (e duvidosas) fórmulas para tentar colocar um quadrado no meio, dividí-lo para que se tornasse um retângulo, e outras suposições a mais. Numa boa teoria, nos baseamos no princípio do círculo trigonométrico, onde o número PI poderia nos ajudar a delimitar o espaço total, para então usar de integrais e chegar na área desejada.
A conferência da professora Valéria mostrou que o tamanho mínimo de cada um dos componentes, por facilitar o cálculo do da área preenchida, deveria ter sido observado ou até especificado no problema. Foram enfocados conceitos da matemática e geometria fundamental, como utilizar compassos, traçar ângulos, tangentes e usar a famosa hipotenusa. Certamente são coisas que, se um dia achei que poderia esquecer, seria bom rever isso agora.
(Em off: Nossa, como esse círculo trigonométrico me ajudou a entender questões de seno e cosseno nesse período! obrigado labinter, professora Valéria e professor Zani.)
O círculo, com raio de 6mm e representando o tamanho projetado no brinquedo para receber o circuito eletrônico, precisava ser preenchido com formas quadradas, onde o retângulo teria como altura a metade da medida de sua própria largura.
Pensamos, discutimos usamos várias (e duvidosas) fórmulas para tentar colocar um quadrado no meio, dividí-lo para que se tornasse um retângulo, e outras suposições a mais. Numa boa teoria, nos baseamos no princípio do círculo trigonométrico, onde o número PI poderia nos ajudar a delimitar o espaço total, para então usar de integrais e chegar na área desejada.
A conferência da professora Valéria mostrou que o tamanho mínimo de cada um dos componentes, por facilitar o cálculo do da área preenchida, deveria ter sido observado ou até especificado no problema. Foram enfocados conceitos da matemática e geometria fundamental, como utilizar compassos, traçar ângulos, tangentes e usar a famosa hipotenusa. Certamente são coisas que, se um dia achei que poderia esquecer, seria bom rever isso agora.
(Em off: Nossa, como esse círculo trigonométrico me ajudou a entender questões de seno e cosseno nesse período! obrigado labinter, professora Valéria e professor Zani.)
A beleza da modelagem funcional
O contexto anterior sugeria que o produto - na verdade, a pesquisa de um novo microcontrolador - seria apresentado a um grupo de investidores, altamente especializados em finanças, e, na mesma proporção, leigos em microinformática. Então, a proposta deste segundo problema seria apresentar o projeto de pesquisa aos executivos, aguardando deles a aprovação para fomento. A sugestão seria utilizar a modelagem funcional.
Decidimos oferecer aos acionistas um projeto multimídia, com redução de termos técnicos e aprofundamento em questões inovadoras, tornando assim o produto 'comprável'. Faltava agora definir a melhor ideia para isso, como mostrar uma modelagem funcional do 8051.
Nessa hora então aprendi que a modelagem funcional não serve apenas para formatar problemas, ou ainda questões envolvendo software. A modelagem funcional serve para tudo; tudo que pode ser explicado, com exemplos e desenhos, pode ser modelado utilizando estes padrões. No diagrama de contexto, até nos confundimos, pois as entradas e saídas podem sim ser questões (digamos) abstratas, mas que se autoexplicam ao desmembrarmos em diagramas menores. Com o auxílio do diagrama zero e sua hierarquia, permite-se um detalhamento inimaginável ao funcionamento e objetivos do microcontrolador (e de qualquer outra coisa).
A conferência ministrada pela professora Lívia nos indicou que um projeto grande - como a capilaridade de uma rede de transmissão de energia elétrica - pode ser (e foi) demonstrado utilizando o poderoso modelo funcional.
Decidimos oferecer aos acionistas um projeto multimídia, com redução de termos técnicos e aprofundamento em questões inovadoras, tornando assim o produto 'comprável'. Faltava agora definir a melhor ideia para isso, como mostrar uma modelagem funcional do 8051.
Nessa hora então aprendi que a modelagem funcional não serve apenas para formatar problemas, ou ainda questões envolvendo software. A modelagem funcional serve para tudo; tudo que pode ser explicado, com exemplos e desenhos, pode ser modelado utilizando estes padrões. No diagrama de contexto, até nos confundimos, pois as entradas e saídas podem sim ser questões (digamos) abstratas, mas que se autoexplicam ao desmembrarmos em diagramas menores. Com o auxílio do diagrama zero e sua hierarquia, permite-se um detalhamento inimaginável ao funcionamento e objetivos do microcontrolador (e de qualquer outra coisa).
A conferência ministrada pela professora Lívia nos indicou que um projeto grande - como a capilaridade de uma rede de transmissão de energia elétrica - pode ser (e foi) demonstrado utilizando o poderoso modelo funcional.
O microcontrolador 8051
Entendemos - através deste primeiro problema do laboratório interdisciplinar - a diferença entre um microcontrolador e um microprocessador. O modelo 8051, microcontrolador lançado inicialmente pela Intel, e hoje facilmente fabricado por pequenas empresas da área, demonstra a força de um circuito integrado em uma única pastilha, frente à plataforma exigida para abrigar um microprocessador. Largamente utilizado, o 8051 e seus descendentes podem ser encontrados em áreas como automação industrial, brinquedos, celulares e muitos outros produtos que necessitem de um completo e funcional computador, dentro de um diminuto micro chip.
Saber como diferenciar um microprocessador de um microcontrolador foi meu aprendizado neste problema. Enquanto o primeiro permite aplicações genéricas e poderosas, o segundo é bem mais aplicado e específico. Com um processador é possível trabalhar instruções ainda não conhecidas, enquanto o controlador apenas executa as sentenças já gravadas em seu pequeno circuito. Com um microcontrolador posso reduzir o tamanho e custo de um produto; por outro lado um processador um tanto mais caro e maior pode assumir funções tantas quantas lhe forem atribuídas.
Saber como diferenciar um microprocessador de um microcontrolador foi meu aprendizado neste problema. Enquanto o primeiro permite aplicações genéricas e poderosas, o segundo é bem mais aplicado e específico. Com um processador é possível trabalhar instruções ainda não conhecidas, enquanto o controlador apenas executa as sentenças já gravadas em seu pequeno circuito. Com um microcontrolador posso reduzir o tamanho e custo de um produto; por outro lado um processador um tanto mais caro e maior pode assumir funções tantas quantas lhe forem atribuídas.
Assinar:
Comentários (Atom)