Etapas de Processamento de um Programa
Para facilidade de visualiza��o procura-se aqui (Figura I-9) colocar esquematicamente as etapas pelas quais um programa passa, ao ser compilado, e depois executado. Embora somente o caso do compilador propriamente dito seja esquematizado, pela pr�pria descri��o dos dois outros m�todos, pode-se comparativamente desenhar seus esquemas de funcionamento.
Figura I-9. Esquema das etapas de compila��o e execu��o de um programa
Erros
Note que os dados, como o raio das circunfer�ncias externa e interna do problema do anel, s� ser�o lidos se houve sucesso na compila��o. Caso contr�rio o computador devolve uma listagem do programa - "Relat�rio de Erros" - apontando os erros cometidos. Faz-se ent�o a corre��o dos comandos errados, o que gera um novo programa fonte, e recome�a-se o processo.Os erros cometidos no programa fonte s�o principalmente de duas naturezas e s�o chamados Erros de Sintaxe ou Erros de L�gica. Pode haver tamb�m erros nos dados. Na sequ�ncia discute-se brevemente cada um deles.
ERROS DE SINTAXE
Ao receber o programa fonte do usu�rio, o compilador verifica se cada comando observa suas regras de sintaxe, isto �, verifica se est� escrito conforme as regras da linguagem que regem a grafia daquele comando.
Por exemplo, em linguagem FORTRAN o comando
ESCREVA, "AREA DO ANEL ...:", ARANEL, "cm2"
ficar�:
PRINT, "AREA DO ANEL ...:", ARANEL, "cm2"
Supondo que, por descuido ou ignor�ncia, se tivesse escrito:
PLINT "AREA DO ANEL ...:", ARANEL, "cm2"
dois erros seriam cometidos:
- O correto � PRINT e n�o PLINT
- Foi omitida uma v�rgula ap�s o PRINT.
Neste caso seriam acusados erros de sintaxe no momento da compila��o e o computador devolveria uma lista do programa apontando os locais e a descri��o dos erros cometidos. � bom notar que �s vezes um erro encobre v�rios outros e assim, quando um � corrigido aparecem diversos n�o apontados na primeira compila��o.
A causa do erro pode vir explanada por extenso, no relat�rio do pr�prio computador, ou pode ser informado apenas um n�mero codificado e em manuais pr�prios se encontra a sua explica��o.
ERRO DE DADOS
Supondo que a �rea do anel tivesse sido negativa, isto poderia talvez ser explicado como erro de dados, em que se forneceu primeiramente, no registro lido, o raio do c�rculo interno e depois o externo, contrariamente ao que esperava o programa. �bvio que o problema poderia ser tamb�m provocado por erro de f�rmula ao se dar as instru��es de c�lculo (ver Erro de L�gica).
ERRO DE L�GICA
Ainda no programa do anel, se em lugar da f�rmula da �rea do c�rculo se tivesse usado a do comprimento da circunfer�ncia (2*p *R) o resultado final n�o seria correto pois as f�rmulas de c�lculo est�o erradas, diz-se, logicamente. Infelizmente o computador n�o � inteligente o suficiente (ainda ...) para detectar erros de l�gica e por isto estes s�o os piores de ser encontrados e portanto corrigidos. Uma das ferramentas para encontr�-los mais diretamente � a chamada Tabela de Mem�ria.
Principais Linguagens de Programa��o
A t�tulo ilustrativo faz-se a seguir um breve resumo de algumas linguagens de programa��o de uso bastante difundido.
FORTRAN (FORmula TRANslator: tradutor de f�rmulas)
A linguagem Fortran foi das primeiras linguagens de alto n�vel desenvolvidas. Sua primeira vers�o ocorreu em 1957, criada pela IBM. Como seu pr�prio nome diz, � uma linguagem com um forte ferramental matem�tico embutido e, por isto, muito apropriada para problemas cient�ficos em universidades, institutos de pesquisa, firmas de engenharia, etc.
J� h� uma dezena de anos se tem profetizado sua morte iminente. Por�m, como novas vers�es modernizadas t�m surgido e j� existem in�meros sistemas com ela constru�dos, que demandariam muito trabalho para transformar em linguagens mais modernas, ela tem se mantido e regenerado.
� usada sobretudo em computadores grandes e m�dios, embora j� existam vers�es para microcomputadores profissionais.
COBOL (Common Business Oriented Language: Linguagem comum, voltada para o com�rcio)
Linguagem desenvolvida em primeira vers�o em 1959 com filosofia de constru��o de modo a facilitar sua utiliza��o na solu��o de problemas comerciais.
Os problemas comerciais caracterizam-se geralmente por terem grande movimento de leitura de dados e muito trabalho de impress�o de resultados e relativamente poucos c�lculos matem�ticos. (Os problemas cient�ficos apresentam caracter�stica oposta: l�em-se uns poucos dados, faz-se um grande processamento de c�lculos com estes dados e ao final imprime-se um resultado curto, que �s vezes resume-se a um n�mero). Em uma ag�ncia banc�ria, por exemplo, s�o lidos uma enorme quantidade de entradas de numer�rio, deduzidas as sa�das e impressos os saldos assim calculados de in�meros correntistas. V�-se que poucas vezes se foge das 4 opera��es aritm�ticas b�sicas. Para este tipo de problema o Cobol foi desenvolvido e sua instala��o � encontrada nos mesmos tipos de m�quinas que o Fortran: m�dias e grandes, de prefer�ncia.
BASIC (Beginners All-purpose Symbolic Instruction Code: C�digo de Instru��o Simb�lica de Uso Geral para Iniciantes)
Linguagem criada no in�cio da d�cada de 60. Tinha por objetivo inicial a cria��o de um instrumento did�tico.
Por trabalhar com interpretadores de tamanho reduzido, foi implantada em quase todos os microcomputadores, que n�o t�m grande mem�ria dispon�vel.
Tem a vantagem de ser muito interativa, o que a torna interessante na fase de depura��o do programa, avisando de modo claro, a cada comando incorreto, o erro cometido.
PASCAL
A Linguagem Pascal foi desenvolvida em 1971 na Universidade de Zurique, Sui�a, pelo Professor Nicklaus Wirth, com modernos recursos de programa��o estruturada. Esta � uma t�cnica que, grosso modo, consiste em fazer programas modulares, em que cada m�dulo � composto pelas tr�s estruturas gerais (sequ�ncia, repeti��o e sele��o). Isto leva � maior facilidade de constru��o de programas e, geralmente, tamb�m a produtos de maior qualidade.
Gra�as � sua modernidade, o Pascal tem sido progressivamente utilizado, tanto no ensino de inform�tica, sobretudo nas Universidades, como nas aplica��es cient�ficas e comerciais, em lugar do Fortran e do Cobol. Entretanto, devido talvez ao grande acervo de sistemas constru�dos naquelas linguagens e tamb�m � sua constante moderniza��o, englobando os conceitos das linguagens estruturadas e outras modernas id�ias de programa��o, ambas t�m sobrevivido h� anos, desafiando profecias de morte iminente.