este texto consiste em parte do primeiro relatório enviado à FAPESP
1. INTRODUÇÃO
A determinação do comportamento da curva-R para os materiais cerâmicos tem se constituído num importante procedimento experimental quando o interesse é a otimização da resistência ao choque térmico daqueles materiais, caracteristicamente frágeis.
A importância do trabalho com a curva-R é o estudo da possibilidade de inter-relacionar o comportamento da curva com a resistência ao dano por choque térmico. No entanto, são muitos os parâmetros que controlam a expansão da trinca e por isso é preciso muita comprovação experimental para se estabelecer definitivamente a relação que existe entre o patamar da curva e a expansão da trinca.
Daí a importância de se
investir em softwares que venham acelerar a obtenção
experimental da curva-R, a partir de um teste de propagação
estável de trinca em arranjo de flexão.
1.1. Objetivos
Dentro do que se entende por informatização envolvida no projeto inclui-se:
a) compreensão dos modelos teóricos e das técnicas experimentais envolvidas de modo a poder se desenvolver algoritmos para cumprir tarefas específicas;
b) compreensão da automação da máquina universal de ensaios mecânicos, da MTS que é o "coração" desta pesquisa, e que gera os arquivos primários de dados, carga x deflexão, os quais serão convertidos na curva-R;
c) geração de programas amigáveis (utilizando-se as técnicas de janelas) para o cálculo da curva-R em linguagens visuais orientadas a objetos/eventos (Visual Basic convenientemente associada a C++);
d) geração de pacotes
de análise de curvas-R, nos quais se calculam curvas-R
através de diferentes modelos teóricos ou procedimentos
experimentais.
2. PLANO DE TRABALHO
2.1. Plano de trabalho original
Inicialmente,
propôs-se à realização do seguinte
cronograma de trabalho:
1. Participação em reuniões de grupo para discussões técnicas.
2. Leitura de textos básicos e apenas introdutórios sobre propriedades mecânicas de materiais cerâmicos.
3. Leitura de textos básicos e apenas introdutórios sobre determinação de curva-R.
4. Estudo e aprofundamento das linguagens Basic, C++ e Visual Basic.
5. Elaboração de fluxograma do programa básico (um para cada técnica de determinação de curva-R) para a determinação da cura-R em linguagem Basic.
6. Programação em Basic do fluxograma do item 5.
7. Teste do programa básico realizado no item 6.
9. Teste do aplicativo desenvolvido no item 7.
10. Expansão daquele aplicativo para se tornar um pacote de análise de curva-R.
11. Teste do pacote aplicativo.
12.
Divulgação do aplicativo à comunidade.
2.2 Plano de trabalho efetivamente
realizado
Conforme
previsto, durante todo este primeiro período da bolsa,
foram realizadas reuniões de grupo para a discussão
da aplicação das técnicas e métodos
de obtenção de curva-R e solução de
dificuldades surgidas durante sua implementação.
Porém, como a necessidade de
utilização do software em desenvolvimento era urgente,
os itens 5., 6., 7. e 8. do cronograma original
passaram a ser cumpridos simultaneamente, à medida que
se adquiria o conhecimento necessário para tal tarefa através
dos itens anteriores. Esta técnica de desenvolvimento é
conhecida no ramo de engenharia de software como prototipação,
onde o programa é implementado ao lado do desenvolvimento
do projeto, dando maior flexibilidade à correção
de erros e solução de problemas que apareceriam
somente no momento final, levando, às vezes, à necessidade
de se reprojetar a parte defeituosa.
O
aplicativo inicialmente está sendo desenvolvido com dois
processos de cálculo para a obtenção da curva-R,
um através de métodos numéricos, e outro,
analíticos. Sendo assim, em relação ao item
5. um único fluxograma foi elaborado. Tal se refere
ao processo de obtenção utilizando-se processos
numéricos, por ser mais genérico e abrangente. Não
se notou a necessidade de se elaborar um segundo fluxograma, mesmo
porque tal forma de representação se tornaria obsoleta
e ineficiente quando o software fosse engendrado nas linguagens
orientadas a objetos e eventos, porém cabe bem ao propósito
de representação do código original em Basic,
uma linguagem não estruturada.
Sendo
estas as únicas alterações feitas em relação
ao plano original, o restante do trabalho foi desenvolvido conforme
previsto.
3. ATIVIDADES DESENVOLVIDAS
3.1. Leitura de textos básicos
e apenas introdutórios sobre propriedades mecânicas
de materiais cerâmicos e determinação de curva-R.
3.2. Estudo e aprofundamento das
linguagens Basic, C++ e Visual Basic.
3.2.1. Interface gráfica /
Visual Basic
Interfaces gráficas de usuário, ou GUIs, têm revolucionado a indústria da microcomputação. Elas demonstram que o provérbio "uma imagem vale por mil palavras" não perdeu sua veracidade. Em lugar do aviso enigmátigo C:> visto durante anos pelos usuários do DOS (e temido há tempos por muitos), os usuários agora são apresentados a uma área de trabalho cheia de ícones e com programas que utilizam mouse e menus. A longo prazo, talvez ainda mais importante do que a aparência dos aplicativos do Microsoft Windows seja o comportamento dos aplicativos desenvolvidos para ele. Normalmente, os aplicativos Windows têm uma interface de usuário consistente. Isso significa que os usuários podem passar mais tempo procurando dominar o aplicativo e menos tempo se preocupando com que seqüência de teclas fazem o quê nos menus e caixas de diálogo, como costumavam ser os antigos programas desenvolvidos para o ambiente DOS.
Embora os programadores venham demonstrando há muito tempo sentimentos confusos a respeito das GUIs, tanto os usuários principiantes quanto aqueles que necessitam do computador apenas como uma ferramenta eficiente para desenvolverem seu trabalho parecem gostar delas, e por isso, espera-se que os programas Windows baseiem-se no modelo GUI (e que tenham a aparência e o comportamento adequados). Portanto é necessária uma ferramenta para desenvolver com eficiência aplicativos com base em GUIs.
Durante muito tempo não havia tais ferramentas. Antes do lançamento do Visual Basic em 1991, o desenvolvimento de aplicativos Windows era muito mais trabalhoso que o desenvolvimento de aplicativos DOS. Os programadores tinham um excesso de itens com os quais se preocupar, como o que o mouse estava fazendo, onde um usuário se encontrava dentro de um menu, e se ele estava dando um clique ou um clique duplo em um determinado local. O desenvolvimento de aplicativos Windows exigia programadores em C experientes e centenas de linhas de código para a tarefa mais simples. Até os especialistas tinham problemas. (O Kit de Desenvolvimento de Software para Windows da Microsoft exigido, em adição ao compilador C, pesava cerca de 4,5 kg).
O Visual Basic em suas três primeiras
versões começou a mudar esse processo. Agora podem
ser desenvolvidos aplicativos Windows sofisticados em uma fração
do tempo necessário anteriormente e erros de programação
(bugs) não ocorrem com tanta freqüência
e, se ocorrem, são bem mais fáceis de serem descobertos
e corrigidos.
3.2.2. Linguagens Orientadas a Objeto
/ C++
Originalmente chamada de "C com classes", C++ foi desenvolvida por Bjarne Stroustrup nos Laboratórios Bell, em Murray Hill, New Jersey, em 1983 e abrange o C padrão. Foi uma linguagem desenvolvida principalmente para facilitar o gerenciamento, a programação e a manutenção de grandes sistemas de software.
Um dos aspectos de C mais criticado, e mais adorado é o que lhe dá virtualmente liberdade ilimitada para fazer o que quiser sem muita reclamação da linguagem. Infelizmente, em grandes projetos, onde muitos programadores usam rotinas compartilhadas, essa liberdade ilimitada pode levar a problemas maiores em virtude dos efeitos colaterais. Isto também pode acontecer em sistemas que serão transmitidos a outros desenvolvedores/programadores mais tarde, em virtude de continuação ao projeto iniciado por uma pessoa ou equipe anteriormente.
C++ tenta preservar a liberdade e o espírito de C tornando possível criar unidades funcionais tipo caixa preta que têm acesso rigorosamente controlado. Essas unidades caixa-preta são geralmente chamadas de objetos, e C++, por apresentar a possibilidade de implementação desse tipo de estrutura de dados é classificada como uma linguagem orientada a objeto. Ao contrário de linguagens como ADA ou Modula-2, em C++, o uso dessas facilidades compete ao programador, obedecendo o espírito original de C. A idéia fundamental de linguagens orientadas a objeto é a possibilidade de combinar num único registro campos que conterão dados e campos que são funções para operar os campos de dados do registro. Uma unidade assim definida é chamada classe. Uma variável de uma classe é chamada objeto e contém campos de dados e funções. Esta técnica de programação é chamada de encapsulamento.
Os elementos principais que foram adicionados à linguagem C para dar origem a C++ consistem nas classes, nos objetos e na idéia de programação orientada a objeto.
C++ é rica em recursos que atendem
às limitações impostas pelas linguagens procedurais.
A programação orientada
a objetos do C++ vem ao encontro da linguagem orientada a eventos
do Visual Basic, pois ambos paradigmas têm em comum a comunicação
através da passagem de mensagens (que é a
forma como trabalha a programação com vistas ao
ambiente Windows) e a idéia de encapsulamento como proteção
de informação.
3.3. Elaboração de
fluxograma do programa básico
3.4. Programação em
Basic do fluxograma do item 5.
3.5. Teste do programa básico
realizado no item 6.
Algumas telas do software em desenvolvimento:
3.6.1. Breve explicação
sobre os botões do formulário mostrado acima
4. PRÓXIMAS ETAPAS
Pretende-se
dar continuidade ao cronograma do plano de trabalho original (secção
2.1).
5. CONCLUSÕES
Os objetivos finais previstos para
o primeiro período deste trabalho foram alcançados
com sucesso, pois mesmo um certo avanço no cronograma pôde
ser observado conforme descrito no item anteriror deste relatório.
Os estudos sobre a determinação de curva-R associados
às reuniões técnicas e sobre as linguagens
e ambientes de programação com os quais este projeto
se propõe a lidar introduziram conceitos fundamentais para
a continuidade deste trabalho, tendo como primeiro fruto sólido
um programa que é a base para a conclusão do aplicativo
final.
6. DIFICULDADES ENCONTRADAS
Até o momento, as maiores dificuldades
encontradas se concentram na manipulação de arquivos
visando compatibilidade com outros softwares e a própria
MTS. E na comunicação direta e dinâmica com
certos outros aplicativos que podem ser utilizados como apoio
na análise ou apresentação dos resultados
obtidos, como por exemplo, o Microsoft Excell®, onde a comunicação
foi conseguida sem problemas. Também encontrou-se dificuldades
na hora da utilização da impressora dentro da concepção
de objetos.
7. LISTAGEM DAS DISCIPLINAS
8. BIBLIOGRAFIA
CONSULTADA
8.1. Computação
C, completo e total / Herbert Schildt
- São Paulo : Makron, McGraw-Hill, 1990
Delphi: segredos e soluções
/ Gary Cornell, Troy Strain - São Paulo : MAKRON Books,
1995
Segredos dos Mestres do Visual Basic
3 for Windows / Gary Entsminger - Rio de Janeiro : Berkeley, 1993
Treinamento em Linguagem C++ - Módulo
2 / Victorine Viviane Mizrahi - São Paulo : Makron Books,
1994
8.2. Engenharia de Materiais
Determinação de curva-R
(monografia) / Maria de Fátima de Andrade Magon - GEMM,
DEMa, UFSCar, 1995, 41 pp.
Investigation of R-curve measurement technics applied to MgO-C refractory / Mark Leverköhne - DEMa, UFSCar & AB Technische Keramik, Technische Universität Hamburg-Harburg, 1996, 46 pp.