um tutorial de programaÇÃo em visual fortran · no início da década de 90, o fortran foi...

12
167 UM TUTORIAL DE PROGRAMAÇÃO EM VISUAL FORTRAN WILTON PEREIRA DA SILVA Professor – Universidade Federal de Campina Grande/UFCG [email protected] CLEIDE MARIA DINIZ PEREIRA DA SILVA E SILVA Professora – Universidade Federal de Campina Grande/UFCG [email protected] DIOGO DINIZ PEREIRA DA SILVA E SILVA Matemático – Universidade Estadual de Campinas/UNICAMP [email protected] CLEITON DINIZ PEREIRA DA SILVA E SILVA Engenheiro Eletrônico – Empresa Brasileira de Aeronáutica/EMBRAER [email protected]

Upload: lytram

Post on 02-Dec-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

167

UM TUTORIAL DE PROGRAMAÇÃO EM VISUAL FORTRAN

WILTON PEREIRA DA SILVA Professor – Universidade Federal de Campina Grande/UFCG

[email protected]

CLEIDE MARIA DINIZ PEREIRA DA SILVA E SILVA Professora – Universidade Federal de Campina Grande/UFCG

[email protected]

DIOGO DINIZ PEREIRA DA SILVA E SILVA Matemático – Universidade Estadual de Campinas/UNICAMP

[email protected]

CLEITON DINIZ PEREIRA DA SILVA E SILVA Engenheiro Eletrônico – Empresa Brasileira de Aeronáutica/EMBRAER

[email protected]

da Vinci, Curitiba, v. 5, n. 1, p.s167-177, 2008168

UM TUTORIAL DE PROGRAMAÇÃO EM VISUAL FORTRAN

RESUMO Esteartigo temoobjetivodecomunicarodesenvolvimentodeumtutorial, emPortuguêseemInglês,paraprogramaçãoemVisualFortran.Otutorialédivididoemnovelições,dasquaisastrêsprimeirassãodestinadasaumbreveestudodosprincipaisrecursosnuméricosdalinguagem,comênfasenascaracterísticasintroduzidasnasrevisõesde1990e1995,comoalocaçãodinâmicadememóriaetambémconstruçãoeusodemódulos.Quatrolições adicionais apresentam as noções básicas para a construção de uma interface gráfica amigávelparaosprogramasdesenvolvidos.Essasnoçõesenvolvemosconceitosfundamen-taisdeprogramaçãoparaoambienteWindows,oqueincluiconstruçãodemenus,caixasdediálogo, animações, gráficos 2D e 3D, DLL e outros recursos avançados. É apresentado o código fonte de uma estrutura que possibilita compilar, com recursos gráficos, programas desenvolvidosemFortran77.Asduasúltimasliçõessãodestinadasarecursosvisuaismaisavançadosdeprogramação.Ograndenúmerodedownloadsdasversõesdisponibilizadasdotutorial,bemcomoonúmerode e-mails recebidospelosautorescomquestões ligadasaoVisualFortran,eagrandedemandaporcursosdeextensãosobreprogramaçãovisualemFortran, comousodo tutorial, são indicadoresda relevânciadomaterialdesenvolvidoedistribuídolivrementepelainternet. Palavras-chave:GUI,programaçãovisual,windows,barradeferramentas,menu.

ABSTRACT Theobjectiveof thispaper istocommunicatethedevelopmentof atutorial, inPortugueseandinEnglish,onprogramminginVisualFortran.Thetutorialisdividedintonine lessons, of which the first three ones are destined to perform a quick overview of the mainfeaturesof thelanguage,withemphasisonthecharacteristicsintroducedwiththe1990and 1995 revisions, like allocatable arrays and the possibility to use modules. Four additional lessonspresentthebasicnotionsforthebuildingof afriendliergraphicaluserinterfacetothedevelopedprograms.Thesebasicnotionsinvolvethegeneralconceptsof programmingfortheWindowsenvironment,includingthedevelopmentof menus,toolbars,dialogboxes,animations, 2D and 3D graphs, DLL and other more advanced resources. The source code of astructurethatallowsthecompilation,withgraphicalresources,programsdevelopedinFortran77 ispresented.Thetworemaining lessonsaredestinedtomoreadvancedvisualresources.Thegreatnumberof downloadsof atrialversionof thistutorial,aswellasthenumberof receivedemailsrelatedtoVisualFortranandalsothegreatdemandforcoursesusingthetutorialareindicatorsof theusefulnessof thedevelopedmaterialthatisdistributedfreely at the Internet. Keywords:GUI,visualprogramming,windows,toolbar,menu.

da Vinci, Curitiba, v. 5, n. 1, p. 167-177, 2008 169

WILTON P. DA SILVA, CLEIDE MARIA DINIZ P. DA SILVA E SILVA, DIOGO DINIZ P. DA SILVA E SILVA E CLEITON DINIZ P. DA SILVA E SILVA

UM TUTORIAL DE PROGRAMAÇÃO EM VISUAL FORTRAN

WILTON P. DA SILVA / CLEIDE MARIA DINIZ P. DA SILVA E SILVA DIOGO DINIZ P. DA SILVA E SILVA / CLEITON DINIZ P. DA SILVA E SILVA

1 INTRODUÇÃO

Nasduasúltimasdécadas,comosavançosocorridosnaáreadainformáticaecoma inclusão dos computadores no cotidiano das pessoas, houve profunda modificação nos re-cursosdisponíveisnoensinoenapesquisa,emtodasasáreasdoconhecimentohumano.Paraacompanhar esta revolução, tanto na busca por novos conhecimentos, como no acesso àsinformações disponíveis, professores, alunos e profissionais de diversas áreas tiveram que se adequaràsmodernasferramentasdisponíveis,naáreadacomputação.Novas linguagensdeprogramaçãoforamdesenvolvidaseasexistentesatéentãotiveramquesermodernizadasparanãosucumbirdiantedestenovocenário.Comoexemplodessamodernização,pode-secitaroBasic,quepassouasechamar Visual Basicaoagregarrecursosvisuais(ver,porexemplo,The History of Visual Basic and Basic on the PC, on-line). Umadaslinguagensdisponíveisnoiníciodessarevoluçãoequeteveumagrandein-fluência no desenvolvimento da computação é o Fortran (FORmula TRANslation).ExistefartaliteraturaemlínguaportuguesasobreFortran77(umdosprimeirosemaisconhecidospadrõesda linguagem Fortran), podendo-se destacar Farrer et al. (1992). Grande parte dos programas desenvolvidosatémeadosdadécadade80,principalmenteaquelescomaplicaçãoemciênciasexatas,eradesenvolvidanessalinguagem,criadanadécadade50(ver,porexemplo,aseção1.4deThe History of FortranemCHAPMAN,1998).Mesmoatualmente,oacervodeprogramasparaaáreatecnológicadesenvolvidosemFortran 77 é significativo mas, em geral, restrito à área acadêmica.Muitosdessesprogramascorremoriscodeentraremdesusodevidoaofatodenãoterem uma interface gráfica amigável, embora apresentem boa performanceemtermosdetempodeexecuçãoedeprecisãonumérica. Noiníciodadécadade90,oFortranfoireformuladoparaseadequarànovarealidadeem termos de informática, havendo significativa modernização da linguagem, em si, voltada paraocálculonumérico,comaintroduçãodemuitosrecursos,comoalocaçãodinâmicadememória, criação e uso de módulos e também de DLLs (Dinamic Link Library).Algumasop-çõesdeprogramaçãovisualparaoambienteWindowsforamcriadase,dentreelas,destacam-seoQuickWin ApplicationetambémoWindows Application.Nascia,então,oprimeiroestúdioparaprogramaçãoemVisual Fortran,denominadoMicrosoft Fortran PowerStation (verLanguage Guide, 1993). Conforme o Language Guide (1993), o QuickWin Applicationéumaopçãodepro-gramação visual simplificada, com recursos que possibilitam: a) compilar programas criados para o ambiente DOS dentro de aplicações simples para Windows; b) minimizar e maximizar aplicativos; c) chamar rotinas gráficas; d) carregar e salvar bitmaps; e) selecionar, copiar e colar

da Vinci, Curitiba, v. 5, n. 1, p.s167-177, 2008170

UM TUTORIAL DE PROGRAMAÇÃO EM VISUAL FORTRAN

texto, gráfico ou uma mistura de ambos; f) detectar e responder a cliques do mouse (Waiton-mouseevent); g) imprimir gráficos; h) criar menus; i) criar ícones e j) abrir múltiplas janelas. Em contraposiçãoàexcelênciaemtermosdecálculonumérico, logoseperceberamalgunspro-blemascomosrecursosvisuaisdosprogramasdesenvolvidosnesteestúdio.Comoexemplo,podem-se destacar a pouca fidelidade na reprodução de cores na tela, identificado em alguns tiposdecomputadores,etambémnaimpressãodedocumentos.Havia,ainda,algunserrosemtempodeexecuçãodenominadosQuickWin Internal Error,queocorriamdeformaaleatória,emgeralquando,noprograma,seusavameventoscontroladospelomouse (Subroutine Mouse)ouaindaafunçãoWaitonmouseevent.Comisso,muitosengenheiros,professoreseestudantesquetrabalhavamcomFortransesentiramdesestimuladosemestudaranovaferramenta,bemmaiscomplexaqueaantiga,edesistiramdeincorporarrecursosvisuaisemseusprogramas.MesmoquandoutilizavamoestúdioPowerStationparadesenvolverosseusprogramascomoFortran 90, muitosprogramadorespreferiamtrabalharemumaopçãodeprogramaçãochamadaConsole Application, voltada para a criação de programas a serem executados no ambiente DOS. Em1997,osproblemasdetectadoscomosrecursosvisuais(osmencionadosaquieoutros)foramresolvidoscomolançamentodoMicrosoft Visual Studio(Microsoft Developer Studio 97).Esseestúdiorepresentouumavançoemmuitosaspectos,comrelaçãoaoPowerStation,maseletambémtinhaalgunsdefeitos,comoademoranainicializaçãodosprogramasnelecom-pilados,quandoexecutadosconcorrentementecomoutrosprogramas.AfunçãoPlaysoundfoiretiradadomóduloDfwin(antigoMsfwin)deformaqueaexecuçãoderecursossonoroscareciadousodeumasoluçãoalternativa:adicionar,aoprojeto,umabibliotecachamadaWinmm.lib.Maisumavez,boapartedosprogramadoresemFortran preferiucontinuarutilizandoaopçãodeprogramaçãoConsole Application. No ano de 2000, o estúdio passou a se chamar Compaq Visual Fortran (CVF, 2000) e sofreu várias modificações que fizeram dele uma ferramenta bem mais confiável. Um indicador dessa confiabilidade foram os softwaresquecomeçaramaserdisponibilizadosnainternet,nestesúltimosanos,desenvolvidosnesteestúdio.Comoexemplo,pode-secitaroDynaFit(KUZMIC,2003), o EnergyPlus (2003) e o SimFit (BARDSLEY, 2003). O problema com o qual se defron-touamaioriadosusuáriosdonovoestúdiopassouaser,então,afamiliarizaçãocomasopçõesdeprogramaçãovisualquesão,emgeral,muitomaiscomplexasqueaopçãoConsole Application.Para dificultar ainda mais o uso dos recursos gráficos disponíveis, não havia, na época, como aindahojenãohá,muitasreferênciassobreoassunto.Aspoucasreferênciasdisponíveisnãoeramacessíveisaosusuáriosiniciantes,poiseramdestinadasaosprogramadoresquejátinhamalgumconhecimentoprévioemprogramaçãovisuale,mesmoassim,somentenalínguainglesa(ver, por exemplo, LAURENCE, 2002). Não raro, o interessado em Visual Fortrandispunhaapenasdaajudadoestúdio,quenãoéumaferramentadeestudomuitoamigávelparaprogra-madoresiniciantes. Devido ao fato de Silva e Silva (1999) terem desenvolvido um programa para trata-mentodedadosdenominadoLAB Fit Curve Fitting Software(LAB Fit),inicialmenteparaoam-biente DOS, e querendo que tal softwaretivesseinterfacemaisamigável,nãorestou,aosautores,outraalternativasenãoestudardeformadetalhadaaajudadoCVF.Foitãodifícilesteestudo,queosautoresdecidirampublicar,emPortuguêseemInglês,umtutorialcomasnoçõesbásicasnecessáriasaoaprendizado,denominadoVFortran Tutorial (SILVA et al., 2002). Entre as duas principaisopçõesdisponíveisparaprogramaçãoemVisual Fortran noCVFfoiescolhida,paraotutorial,amenoscomplicada,masnemporissoconsideradasimples:QuickWin Application.

da Vinci, Curitiba, v. 5, n. 1, p. 167-177, 2008 171

WILTON P. DA SILVA, CLEIDE MARIA DINIZ P. DA SILVA E SILVA, DIOGO DINIZ P. DA SILVA E SILVA E CLEITON DINIZ P. DA SILVA E SILVA

Alémdesermenoscomplicada,poroferecerumescopodeprogramaçãovisualjápronto,estaopção possibilita compilar programas desenvolvidos para o ambiente DOS como aplicações simplesparaWindows,oquefazdoQuickWinumpoderosoaliadodosadeptosdoFortran 77.Quanto ao tutorial, a ideia básica foi a de criar um material específico para quem já tinha alguma experiênciaemprogramaçãoemFortran,masquenãotinhafamiliaridadecomprogramaçãovoltada para o ambiente Windows. Nesse tutorial, nem se tentaria corrigir maus hábitos deprogramaçãooriundosdoFortran 77,decorridosdaprópriaestruturaçãodalinguagem,como,porexemplo,escreveroscomandosapartirdasétimacoluna(emvezdaformalivrecomousodeindentação),oumesmofazerumquestionamentosobreousodevariáveisimplícitas,ou ainda,ousode características consideradasobsoletas comoos comandosGoto e Format(verProgrammer’s Guide,1994).Otutorialfoidivididoemnovelições,dasquaissetejáforamconcluídase,embreve,serácomplementadocommaisduasliçõescontendorecursosvisuaisavançados.Emcadalição,alémdoestudodasferramentasdeprogramação,oprogramadordeve desenvolver, também, parte de um projeto que, ao final, resultará no seu primeiro softwareparaoambienteWindows.

2 O VFORTRAN TUTORIAL

Mesmo tendocomoobjetivoprincipaloestudoderecursosvisuaisdeprogramaçãodesenvolvidosparaalingua-gemFortran,astrêsprimeirasliçõesdotutorialsãodestinadasarealizarumabreverevisãodosprincipaiscomponentesdapartenuméricadestalinguagem.Essarevisãoprocuradestacaralgu-masinovaçõesintroduzidasnalinguagemem1990eem1995,comoaconstruçãoeusodemódulosealocaçãodinâmicadememória.Asquatroliçõesseguintesapresentamalgunsrecur-sos visuais para a construção de uma interface gráfica mais ami-gávelparaosusuáriosqueutilizamprogramasdesenvolvidosnessa linguagem. As figuras 1 e 2 mostram, respectivamente, ositensdomenu“Tutorial”eas liçõesdisponíveisquandoseescolhe o item “Texto com as lições (Detalhado – CVF)”.

Figura 1 – Itens do menu “Tutorial”.

Figura 2 – Caixa de diálogo para a escolha da lição.

da Vinci, Curitiba, v. 5, n. 1, p.s167-177, 2008172

UM TUTORIAL DE PROGRAMAÇÃO EM VISUAL FORTRAN

Aseguir,seráapresentadoumresumocomoconteúdodecadalição.

2.1 Lição 1: apresentação, o Visual Studio, formas fixa e livre, entrada e saída

AprimeiraliçãofazumaapresentaçãoresumidadoFortran 77edoFortran 90,tentandorealizarumparaleloentreasduas,emostracomoacessaroestúdiodedesenvolvimento,oCVF.Há uma abordagem sobre as formas fixa (Fortran 77)elivre(Fortran 90) de codificação dos pro-gramas e também aborda a questão da entrada e saída de dados. É feita, ainda, uma revisão sobre variáveise formatose, também,sobreaberturadearquivose leituradedados.Tambémsãoabordadosostemasprogramafonte,programaobjetoeprogramaexecutável.Aliçãopropõeodesenvolvimentodeumprogramasimpleseterminacomaquiloqueseráumaspectoessencialemtodasaslições:incentivaroprogramadoraconhecereautilizaraajudadoestúdio. Umainformaçãoadicional:comoasliçõessãoapresentadasemarquivosdotipohlp(arquivosdeajudadoWindows),háapossibilidadedeseselecionartrechosdecódigofontedes-sas lições, copiar, e depois colar em arquivos de um projeto do estúdio, o que simplifica e agiliza seuestudo.

2.2 Lição 2: tipos de dados, operadores, if, goto, do, dimension, programas simples

Essaliçãofazumarevisãodostiposbásicosdedados(inteiro,real,complexo,literalelógico)edosprincipaisoperadoresdalinguagem:deatribuição,aritméticos,deconcatenação,lógicoserelacionais.Há,também,aapresentaçãodoscomandosIf, Goto, DoeSelect Case.Adecla-raçãoDimensionéabordadaparamotivareestimularoestudodealocaçãodinâmicadememória.Aliçãoéencerradacomodesenvolvimentodeumprogramasimplesparaaresoluçãodeequa-çõesdosegundograuque,posteriormente,seráincorporadoemumaestruturacominterfacegráfica.

2.3 Lição 3: programas complexos, programa principal, funções e subrotinas

Aterceiraliçãoabordaodesenvolvimentodeprogramasmaiscomplexos,paraosquaisexisteapossibilidadedesuadivisãoemumprogramaprincipaleemsubprogramas(funçõesesubrotinas)paratornaraprogramaçãomaismodulareestimularareusabilidadedecódigo.Há,também,umbreveestudosobrerecursividadenousodesubrotinas.Nessalição,oprogramadortem o seu primeiro contato, ainda que superficial, com algumas funções e subrotinas gráficas contidas em módulos disponíveis no estúdio. É proposto o desenvolvimento de um programa paracalcularovalormédioeodesviopadrãodeumasériedevalores.TalprogramatambémseráincorporadonumaestruturadeprogramaçãovisualqueresultaránoprimeirosoftwareparaWindowsaserdesenvolvido.Aliçãoéencerradacomoestudodacriaçãoeuso,emprogramas,depacotesquecontêmumconjuntodefunçõesesubrotinas,chamadosdemódulos.

2.4 Lição 4: estruturação de um projeto com interface gráfica

AquartaliçãoapresentaaestruturadeumprojetoemQuickWin Application. É apre-sentadoocódigofontedaestruturaqueresultaráemumsoftware simples, com interface gráfica. O código fonte é subdividido em: a) um programa principal com laço infinito, para que o pro-

da Vinci, Curitiba, v. 5, n. 1, p. 167-177, 2008 173

WILTON P. DA SILVA, CLEIDE MARIA DINIZ P. DA SILVA E SILVA, DIOGO DINIZ P. DA SILVA E SILVA E CLEITON DINIZ P. DA SILVA E SILVA

grama não termine ao final da primeira execução; b) uma função denominada Initialsettingsec)váriassubrotinasdenominadasCallbacks.Normalmente,emQuickWin Application,oprogramaprincipaléapartedosoftware onde se obtém as informações gerais sobre a configuração do com-putador (como resolução, número de linhas e colunas da tela, etc.). É no programa principal que normalmente se faz a modificação dessas configurações e, também, onde se define a aparência dosoftware.Alémdoprogramaprincipal,éenfocada,também,aformadeseconstruirummenupormeiodeumafunçãológicachamadaInitialsettings. É abordada, ainda, a forma de se executar antigos programas desenvolvidos para o ambiente DOS com subrotinas denominadas Callbacks.EstaliçãoterminacomatransformaçãodosprogramasdesenvolvidosnasliçõesanterioresemsubrotinasCallbacksecomasuainclusãonaestruturapreviamenteestudada.

2.5 Lição 5: diálogos – tipos, construção e ativação de uma caixa de diálogo

Aquintaliçãoabordaaconstruçãoeaativaçãodecaixasdediálogo,bemcomoalgunstiposdediálogosdisponíveisemQuickWin Application. É explicado como incluir, no projeto, as caixasdediálogosqueoprogramadorjulgarnecessáriasaobomdesempenhodeseusoftware.Explicam-se,também,formasdeconstruçãoeinserçãodebitmapseíconesemumprojeto.

2.6 Lição 6: animações (ideia básica), função Dlgsetsub, gráficos 2D e 3D A sexta liçãoenfoca a criaçãode animações simples e explica comoseprocessa aaberturadeoutrasjanelas,alémdaprincipal,chamadasChild Window.Aliçãoaprofundaoestudodecriaçãodecaixasdediálogos,enfocandodoisnovoselementosdediálogos:check boxeradiobutton.Aborda,também,aevocaçãodecaixasdediálogo,comousodafunçãológicaDlgsetsub,eaindaoassuntorecursividadeemcaixasdediálogo.Aliçãoaindafalasobreodesenvolvimentode programas gráficos 2D e 3D apresentando, inclusive, dois programas fontes preliminares que, compilados e executados, podem gerar gráficos similares aos mostrados nas figuras 3 e 4.

y = sen(x) / x, com x de -25 até +25y = -Exp(-x1^2 – x2^2), com x1 e x2 de -3 até +3

Figura 3 – Gráfico da função sinc(x). Figura 4 – Gráfico da função.

da Vinci, Curitiba, v. 5, n. 1, p.s167-177, 2008174

UM TUTORIAL DE PROGRAMAÇÃO EM VISUAL FORTRAN

Deve-se ressaltar que, no tutorial, o objetivo destes programas é mostrar a base da programação para a construção de gráficos, e não como fazê-los com qualidade para publi-cação.

2.7 Lição 7: criação de uma DLL e evocação por um executável

Aliçãodenúmero7temumúnicoobjetivo:mostrardeformasimplesediretacomo desenvolver, compilar e evocar, em Fortran 90, uma DLL. Uma DLL é um arquivo quepodesercarregadoeexecutadoporprogramasdinamicamente.Basicamente, éumrepositórioexternodecódigopré-compilado.Umexemplosimplesdedesenvolvimentode uma DLL, bem como de um programa executável que a evoque, é apresentado nesta lição. Já detalhes sobre suporte a diferentes linguagens, embora não seja especificamente tratado,estádisponívelnaajudadoestúdio.

2.8 Lições 8 e 9

Essas duas lições visam ao estudo de: a) eventos controlados pelo mouse e b)abertura e salvamento de arquivos. Nessas lições, os assuntos são abordados por meiodeexemplosqueincluemcódigosfontesquepodemseraproveitadospelosinteressados.Alémdoscódigosfontesdessaslições,háoutrosdisponíveisnapastadeinstalaçãodotu-torial,emumarquivocompactadochamado“CodigosFontes.zip”.Nessearquivoexistemváriosexemplosealgunsdelescomplementamosassuntosdessasduaslições.

3 UMA ESTRUTURA PARA PROGRAMADORES INICIANTES

Naliçãodenúmero4,éapresentadoocódigofontedeumaestruturainicialparaprogramaçãoemVisual Fortran. Entretanto, no final da lição, há um comentário sobre as limitaçõesdessaestrutura:elaérecomendadaapenasparaaexecuçãodetarefasrápidasporque,duranteasuaexecução,todoosoftware fica em modo de espera e, portanto, encon-tra-seindisponível.IssoaconteceporqueafunçãoInitialsettingsbloqueiatodoosoftware en-quantoumasubrotina Callbackevocadaporelaestiverexecutandoumadeterminadatarefa.Outroponto fracoéqueosprogramasdesenvolvidoscomessa estruturanãodispõemdeumabarradeferramentas,oqueseriaumaalternativaaousodomenu.Aliás,aopçãoQuickWin Applicationnãodispõedesserecurso(verLanguage Guide, 1993), mas ele pode ser construído por meio de códigos específicos. Para contornar os problemas dessa estrutura preliminar,outramaiscomplexa,porémmaiscompleta,estásendodisponibilizada.Nessaestrutura,alémdaexistênciadeumabarradeferramentas,umaCallback evocadapelafun-çãoInitialsettingsnãoexecutadiretamenteatarefacorrespondenteaocliquedeumbotão(oudeumitemdomenu).Paraevitarobloqueiodosoftwareduranteaexecução,acallbacktransfere tal execução para o laço infinito do programa principal. Isso possibilita a criação desoftwares mais eficientes, como o que será mencionado a seguir. Ainda: nesta estrutura éapresentadaumaalternativaàbarradeferramentas, inerenteàopçãodeprogramaçãoWindows Application.

da Vinci, Curitiba, v. 5, n. 1, p. 167-177, 2008 175

WILTON P. DA SILVA, CLEIDE MARIA DINIZ P. DA SILVA E SILVA, DIOGO DINIZ P. DA SILVA E SILVA E CLEITON DINIZ P. DA SILVA E SILVA

3.1 Aparência do software

A estrutura eficiente mencionada anteriormente já está disponível, podendo ser encontrada no diretório de instalação do VFortran Tutorial em um arquivo compactadochamadoTBM.zip.Quandocompiladaeexecutada,asua interfacevisual,quepodesermodificada à medida que o programador for adquirindo experiência, é aquela mostrada na figura 5. Apesardeserbemmaiscomplexa,quandocomparadacomaestruturaanterior-mente apresentada, envolvendo inclusive eventos controlados pelo mouse, utilizados, porexemplo,paraaconstruçãodabarradeferramentas,aestruturaémaisfácildeserutilizadaporprogramadoresiniciantesdoqueaquelapropostanaquartalição.Issoporqueospro-gramas desenvolvidos pelo usuário para o ambiente DOS são simplesmente adicionados ao projetocommínimasalterações(àsvezes,nenhuma),conformeasinstruçõessimplesqueserãomencionadasaseguir.

Figura 5 – Tela principal da estrutura TBM criada para programas em Visual Fortran.

3.2 Instruções para uso da estrutura

Naturalmente,ousodessaestruturadeprogramaçãopressupõequeointeressadojá tenhaalguma informaçãobásicaacercadeprogramaçãovisualemFortran.Masmesmoaquelesqueestãoapenas iniciandoosseusestudosnessaáreapodemutilizaraestrutura,transformando seus antigos programas para DOS em aplicativos para o ambiente Windows.Paratal,foielaboradoumconjuntodeinstruçõescurtas,direcionadasatalestudo.Taisins-truçõessãodisponibilizadasquando,nomenuInformaçõesdoTBM,ousuárioescolheoitemajudadosoftware.

4 CONCLUSÕES

É inegável que a década de 90 foi pouco proveitosa para os programadores em Fortran, em termos de programação visual, quando comparado com outras linguagens. São poucosos softwaresdisponíveisnessalinguagem,destinadosaumpúblicodiferentedoacadê-

da Vinci, Curitiba, v. 5, n. 1, p.s167-177, 2008176

UM TUTORIAL DE PROGRAMAÇÃO EM VISUAL FORTRAN

mico,desenvolvidosduranteesteperíodo.Entretanto,olegadodeprogramasdesenvolvidosnosúltimos50anoséenorme.Existeumnúmero imensodebibliotecascomsubrotinasaltamenteotimizadas,principalmenteparacálculonumérico,desenvolvidasemFortran(ver,porexemplo,asMath Librariesemqualquerumdostrêsestúdiosjáreferidos).Osprogramasdesenvolvidoscomessaferramenta,emgeral,sãorápidosecomerrosnuméricosmínimos,emcomparaçãocomoutrasferramentassimilares.Essascaracterísticasmantiveramviva,nomeioacadêmico,umalinguagemqueduranteumadécadainteiraenfrentoualgunsproblemasem termos de avanços em recursos gráficos. Com o desenvolvimento de ferramentas visuais mais confiáveis, o que aconteceu a partir do ano de 2000, a tendência para o Fortran 90éocuparumaposiçãodemaiordestaqueemuniversidadescomcursosnaáreadasciênciasexatas. Infelizmente,aindaexistempoucoslivrossobreautilizaçãoderecursosvisuaisemFortraneissodeveexplicar,pelomenosemparte,osucessoeautilidadedoVFortran Tutorial,tantonoBrasil,quantoemalgunsoutrospaíses.Asversõesdotutorialdisponibilizadasdesdeo ano de 2002 já foram utilizadas por quase 30 000 pessoas, o que é um número expressivo, levando-se em conta a especificidade deste material. O interesse crescente em Visual For-tran, tanto por estudantes quanto por professores de cursos de engenharia e afins, pode ser evidenciadopelascentenasdee-mailsrecebidosnosúltimosdoisanospelosdoisprimeirosautoresdesteartigo,comquestionamentossobretemasaindanãoabordadospelotutorial.Mesmonauniversidadeemquetaisautorestrabalham,ademandaporcursosdeextensãosobreprogramaçãovisualpormeiodoFortran 90émuitograndeecrescente.Emdezenasde trabalhos de iniciação científica, mestrado e doutorado, já se pode perceber a utilidade do VFortran Tutorial.Obviamente,apublicaçãodesseartigotemcomoobjetivolevaraumnú-meromaiordepessoasainformaçãosobreaexistênciadessematerial,oquedeveaumentaraindamaisonúmerodeproblemassolucionadoscomoestudodessaferramenta. Porúltimo,umaperguntaqueleitoresdesseartigoeusuáriosdotutorialpoderiamfazer,seriaarespeitodosistemaoperacional:porqueWindowsenãoLinux?Naverdade,ospróprios autores já se fizeram esta pergunta e, em vez de tentar respondê-la, eles já estavam realizando estudos iniciais para desenvolver uma versão para Linux do softwareLAB Fit que,emúltimaanálise,foioelementogeradordetodoestetrabalho.Entretanto,jáexistemsoftwa-res,comooWinehq (2003), que possibilitam a execução de aplicativos WindowsnoambienteLinux.Assim, essaquestão, embora importante, deixoude serumaprioridade, apesardeosautoresreconheceremqueestapodenãoserumasoluçãoideal.Quantoaotutorialnomomento,omaisadequado,noentendimentodosautores,éconcluirotrabalho iniciado,disponibilizandoasduasúltimaslições,quesãofrequentementecobradasporusuáriosdotutorial.

AGRADECIMENTOS

OsautoresagradecemaosusuáriosdoVFortran Tutorialque,comsuassugestões,têmcontribuídoparaoaperfeiçoamentodaslições.Agradecem,ainda,aosalunosdosvá-rioscursosdeextensãopromovidospelaUFCGsobreintroduçãoaoVisual Fortran,peloscomentáriosesugestõessobreotutorialetambémaosalunosdoúltimocursopromovido,pela leitura crítica de uma versão preliminar submetida ao COBENGE 2006.

da Vinci, Curitiba, v. 5, n. 1, p. 167-177, 2008 177

WILTON P. DA SILVA, CLEIDE MARIA DINIZ P. DA SILVA E SILVA, DIOGO DINIZ P. DA SILVA E SILVA E CLEITON DINIZ P. DA SILVA E SILVA

REFERÊNCIAS

BARDSLEY, W. G. Simfit V5.6.11. Disponível em: <http://www.simfit.man.ac.uk/default.htm>. Acesso em: 30 jan. 2009.

CHAPMAN, S. J. Fortran 90/95 for scientists and engineers. Boston: WCB/McGraw, 1998.

COMPAQ Visual Fortran. Compaq Computer Corporation, 2000.

ENERGY plus V 1.1.1. Disponível em: <http://www.eere.energy.gov/buildings/energy-plus/>. Acesso em: 1 fev. 2009.

FARRER,H.etal.Fortran estruturado. Rio de Janeiro: Guanabara Koogan, 1992.

KUZMIC,P.Program dynaFit. Disponível em: <http://www.biokin.com>. Acesso em: 1 fev. 2009.LANGUAGE Guide: microsft fortran power station. Microsoft Corporation, 1993.

LAURENCE, N. Compaq Visual Fortran: aguidetocreatingwindowsapplications.Wo-burn: Digital Press, 2002.

VISUAL Fortran Professional Edition. Microsoft Corporation.

FORTRAN Power Station 4.0. Programmer’s Guide Microsoft Coporation, 1994-95.

SILVA, W. P.; SILVA, C. M. D. P. S. LAB Fit Curve Fitting Software: 1999-2009. Disponí-vel em: <http://www.angelfire.com/rnb/labfit>. Acesso em: 31 jan. 2009.

SILVA, W. P.; Silva, C. M. D. P.; Soares, I. B. VFortran Tutorial (20092). Disponível em: <http://br.geocities.com/pextensao/vf.html>,<http://www.angelfire.com/ab5/extensao/vf.html>, <http://zeus.df.ufcg.edu.br/labfit/TCMFC.htm>. Acesso em: 05 jan. 2009.

The history of visual basic and basic on the PC. Disponível em: <http://dc37.dawson-college.qc.ca/compsci/gmack/info/VBHistory.htm>. Acesso em: 1 fev. 2009.

Winehq. Disponível em: <http://www.winehq.com>. Acesso em: 2 fev. 2009.