Atps paradigmas da linguagem
Upcoming SlideShare
Loading in...5
×
 

Atps paradigmas da linguagem

on

  • 387 views

 

Statistics

Views

Total Views
387
Views on SlideShare
387
Embed Views
0

Actions

Likes
0
Downloads
2
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Atps paradigmas da linguagem Atps paradigmas da linguagem Document Transcript

  • CURSO SUPERIOR DE CIÊNCIA DA COMPUTAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PROFº. HEITOR KAZUO YOKOMIZO 1811283419 – RAFAEL CIANCI DA SILVA- FELIPE SEWAYBRICKER LOMBARDI 1809308367 - FRANCISCO MARIANO DE C. NETO ATPS PARADIGMA DA LINGUAGEM Sorocaba 2012 – 8º Semestre
  • História e evolução da linguagem Fortran:Pode-se classificar o Fortran como o "avô" de todas as linguagens computacionaiscientificas. O nome FORTRAN deriva de FORmula TRANslation, que indica que estalinguagem estava destinada, desde o inicio, para a tradução de equações cientificasnuma linguagem computacional. Antes da existência desta linguagem, os programaseram essencialmente escritos em linguagem de máquina, o que era um processo lento eenfastiante. Fortran foi um produto verdadeiramente revolucionário. Inicialmente, oprogramador podia prever o algoritmo desejado como uma série de equações algébricasstandard, e o compilador Fortran convertia em linguagem de máquina que ocomputador reconhecia e executava. A linguagem Fortran original comparada comoutras versões mais modernas era bastante rudimentar. Continha apenas um númerolimitado de tipos de declaração e suportava apenas as variáveis do tipo Real Data eInteger, também não existiam subrotinas. Foi uma primeira tentativa para escreverlinguagem computacional de alto nível, no entanto foram encontradas muitasdeficiências pelos utilizadores regulares. Assim, a IBM desenvolveu o FORTRAN II em1958. Desenvolvimentos posteriores continuaram durante 1962, quando o FORTRAN IVfoi disponibilizado. Este foi um grande passo e tornou-se a versão standard nos 15 anosseguintes. Em 1966 FORTRAN IV foi adoptado como um ANSI ficando conhecido comoFORTRAN 66. A linguagem fortran sofreu outra grande alteração em 1977. FORTRAN77 facilitava a escrita devido à melhor estrutura que esta linguagem apresentava,tornando-se rápidamente O FORTRAN. Introduziu várias estruturas , tais como: o blocoIF; e foi a primeira versão onde as variáveis CHARACTER eram mais fáceis demanipular. Mais tarde, surgiu uma nova versão, o FORTRAN 90. Esta linguagem não étão rígida como o FORTRAN 77. Em 1997 apareceu o FORTRAN 95. Este acrescentanovas características à linguagem fortran, como por exemplo: construções FORALL,funções puras e alguns novos procedimentos intrísecos. Em conjunto clarifica inúmerasambiguidades no FORTRAN 90 standard.Observações:Um programa completo em fortran é composto pelo programa principal e por umqualquer número de sub-programas. Existem dois tipos de sub-programas:Subroutine - é caracterizada por uma lista de argumentos e é chamada no programaprincipal através da instrução CALL. Functions - esta apresenta como resultado umúnico valor e é chamada no programa principal através do nome que lhe foi atribuído.Os sub-programas deverão ser agrupados no final do programa principal.As variáveis ou constantes podem ser: Integer- número inteiro (positivo, negativo ou nulo), que pode ser representado por umconjunto de dígitos que não contém aspas, nem ponto decimal.Real - as variáveis deste tipo podem ser representadas com números com ponto decimalou com notação exponencial. As aspas não são válidas. Character - as variáveis deste tipo são incluídas entre apóstrofes ou aspas. O númerode caracteres constitui o comprimento da variável. Logical - variáveis do tipo: .TRUE. ou .FALSE..Há ainda a considerar outros tipos, tais como: Complex, Double Precision.Geralmente utiliza-se a instrução IMPLICIT NONE, a qual obriga a que o utilizadortenha que declarar todas as variáveis. Os identificadores são nomes usados paraidentificar programas, constantes, variáveis, etc. Estes devem começar por uma letra,seguido de outras letras, dígitos ou underscores.
  • Instruções de transferência de controlo e outras:Program - esta instrução só aparece como a primeira instrução do programa principal. Stop - suspende a execução do programa. Pause - suspende temporariamente a execução do programa. Continue - esta instrução não tem qualquer efeito no que respeita ao resultado daexecução do programa. Return - esta instrução permite sair do subprograma, voltando ao local onde é efectuadaa chamada do mesmo subprograma. Rewind - permite voltar ao inicio de um ficheiro de dados, mesmo depois de já teremsido lidos alguns dados do mesmo. End - termina uma unidade do programa (programa principal ou um subprograma). If If aritmético If lógico If then If then elseElse if ....End ifCiclo Do.... End Do ou ContinueEstrutura de um programa exemplo em FORTRAN:Program exemploImplicit noneDeclaração das variáveisLeitura e escrita de dadosAlgoritmo do problemaEscrita dos resultadosEnd programEQUAÇÕES NÃO LINEARES:A resolução de equações não lineares, pode ser utilizada, por exemplo, para determinaras raízes de uma dada equação f(x)=0 , isto é, os zeros da função ou ainda obter o vectorsolução de um determinado sistema. Ao contrário do que sucede com as equaçõesalgébricas lineares e quadráticas não se conhecem fórmulas explicitas para as soluçõesdestas equações. Assim recorre-se a métodos aproximados para as resolver. Paraproblemas cuja determinação da solução é difícil e não exata utilizam-se métodositerativos para o efeito. Nos métodos iterativos parte-se de uma aproximação inicial dasolução e utiliza-se um processo que permite calcular uma aproximação melhorada. Esteprocesso é repetido até que o valor calculado se aproxime da solução exata do problemaem questão, satisfazendo o critério de precisão estabelecido. Os métodos, para resoluçãode equações não lineares, podem ser classificados como:Métodos com delimitação prévia da solução:Método da bissecção;Método da falsa posiçãoMétodo da falsa posição modificada;
  • Método de Muller.Métodos abertos:Método da secante;Método de Newton;Método de Richmond;Método das substituições sucessivas;Método de Steffensen.Os métodos com delimitação prévia da solução convergem sempre. Neste caso (àexcepção do método de Muller) a solução é delimitada no intervalo genérico [a;b], talque:f(a).f(b)<0Ao contrário dos primeiros, os métodos abertos não necessitam de uma delimitaçãoprévia, mas apenas uma aproximação inicial à solução. Estes métodos podem nãoconvergir, sendo que alguns têm uma condição que assegura a sua convergência.Estetrabalho incidirá sobre o método da bissecção:Método da bissecção:Permite a construção de subintervalos por divisões sucessivas a metade e relativamenteaos quais se verifica a condição de o produto dos seus valores na função seja menor quezero. Desta forma confirma-se um zero da função f a intervalos tão pequenos quantodesejados. É um método de fácil implantação (não necessita do conhecimento dederivadas) mas que por vezes apresenta uma convergência muito lenta. A ordem deconvergência é linear (p=1) e a razão de convergência c=0.5.HistóricoFORTRAN é a mais antiga das linguagens de programação de alto nível podendo serconsiderada a mãe de quase todas linguagens de programação moderna. Foi criada em1956 por Jonh Backus como a 1ª tentativa de padronizar a programação decomputadores que era feita até aquele momento apenas em assembly.FORTRAN foi desenvolvida inicialmente para resolução de problemas científicos ematemáticos, sendo muito utilizada ainda nos meios técnicos-científicos. O primeirocompilador FORTRAN representou um marco na história da Computação, no tempo emque computadores tinham bem pouca memória (da ordem de 15 kb mais ou menos),eram bastante lentos e tinham Sistemas Operacionais primitivos (quando tinham um).Naquele tempo, a única forma conhecida de se programar um computador era através dalinguagem Assembly. Os pioneiros do FORTRAN não tinham idéia do potencial dalinguagem que estavam criando, e nem sequer sonhavam em escrever programas emlinguagem de alto nível, mas sem querer, eles criaram a primeira Linguagem de AltoNível bem sucedida. O primeiro compilador FORTRAN foi projetado e escrito em1954-1957 pela IBM por um grupo liderado por John W. Backus e contou com aparticipação de excelentes programadores como Sheldon F. Best, Harlan Herrick, PeterSheridan, Roy Nutt, Robert Nelson, Irving Ziller, Richard Goldberg, Lois Haibt andDavid Sayre. Backus também foi responsável pelo projeto do primeiro computador ausar o FORTRAN, o IBM 704. A invenção ficou famosa rapidamente, o que não era dese admirar, visto que programas que levavam semanas para serem escritos poderiamagora ser feitos em questão de horas, além de exigir muito menos trabalho. Outra grandevantagem da invenção era a portabilidade dos programas escritos em FORTRAN. A
  • linguagem foi adotada pelas comunidades militares e usada extensivamente emprogramas espaciais e projetos militares. Como os computadores naquele tempo eramusados quase que exclusivamente para cálculos e por pessoas do meio acadêmico ecientífico, a linguagem foi desenvolvida sem praticamente nenhuma preocupação comestruturação lógica ou clareza em sua codificação que facilitasse a escrita de programasgrandes, mesmo porque não havia programas realmente grandes naquela época.FORTRAN passou por algumas grandes revisões:FORTRAN IV (FORTRAN 66)Esta versão foi feita em meados da década de 60 e foi a primeira padronização dalinguagem, que gerou um grande número de versões diferentes a partir dela. Programasescritos em FORTRAN 66 são raros hoje em dia.FORTRAN 77Uma grande reformulação foi feita em meados da década de 70 e várias novascaracterísticas foram adicionadas à versão anterior. A versão FORTRAN 77 foi ogrande apogeu dessa linguagem de programação por assim dizer e há mais programasescritos nesta versão do que em qualquer outra de suas revisões, mesmo as maisrecentes.FORTRAN 90No final da década de 80, a versão 90 do FORTRAN foi elaborada, embora outraslinguagens de programação mais modernas tivessem tomado conta do mercado, quaseque substituindo completamente sua utilização. Muitas características novas foramacrescentadas a esta versão, como por exemplo recursão, ponteiros e o tipo de dadoTYPE, o qual permite uma maior abstração dos dados. Além disso, algumas dasrestrições anteriores foram retiradas.FORTRAN 95, FA versão mais recente do FORTRAN trás como novidade nessa linguagem apossibilidade de se trabalhar orientado a objetos e várias outras características novas.Alguns críticos argumentam que essa é uma tentativa de criar uma linguagem modernade programação totalmente baseada em FORTRAN.HistóriaAlgolEm 1957 as linguagens de programação estavam surgindo aos montes.Indústrias Ynham seus padrões, Universidades Ynham seus padrões, Havia muitospadrões, e nenhuma padronização, Algol surgiu para acabar com isto, Universal,independente de máquina, Um comitê internacional foi criado em 1958, para estabelecero projeto, Muitos Algols, No final das contas, três projetos: Algol 58, Algol 60 e Algol68. Os comitês foram ficando cada vez maiores e mais estrelados.A longa herançaQuase toda linguagem que surgiu depois de 1958 usaidéias de Algol: Blocos delimitadores, Estrutura léxica de formato livre, Sintaxedefinida via BNF, Escopo de bloco para variáveis locais, Tipagem estáYca comanotações de Ypo, If‐then‐else’s aninhados, Chamada por valor, Recursão e expressõescondicionais, Alocação dinâmica de memória, Procedimentos de primeira classe,Operadores definidos pelo usuário.
  • PolêmicasAs primeiras linguagens usavam rótulos e goto’s para criar desvios de fluxo. Algol esimilares vieram com uma nova proposta, baseada em estruturas de controle. Houvemuita polêmica. Em 1968, Edsgar Dijkstra escreveu um arYgo muito famoso: “Go tostatement considered harmful”.A Programação EstruturadaA programação baseada em estruturas de controle, em vez de rótulos, é chamadaprogramação estruturada. Muitos programadores achavam difícil programar semgo‐tos. Hoje a polêmica parece ter chegado ao final, Algumas linguagens, como Java,nem possuem goto’s, E mesmo em linguagens onde go‐to’s existem, os programadoresraramente os usam. Esta polêmica toda surgiu com Algol.OrtogonalidadeO projeto de Algol tentava ao máximo evitar casos especiais: Sintaxe independende daforma dos programas. Eliminação de limites arbitrários: nomes podem ter qualqueramanha, arranjos podem ter qualquer número de dimensões, etc. – Ortogonalidade:conceitos podem ser combinados de qualquer forma. Ex.: declaração de parâmetros =declaração de variáveis, arranjos de qualquer Ypo primiYvo, registros com quaisquercampos, etc.Exemplo de Ortogonalidade Integers Arrays ProceduresPassar como parâmetro x x xArmazenar em variável x x xArmazenar em arranjo x x xRetornar de uma função x x xCada combinação proibida é um caso especial, que precisa ser lembrado peloprogramador. Em Algol 68 todas as combinações acima sãopossíveis. Poucas linguagens modernas levam ortogonalidade tão a sério quanto Algol.Más noticiasAlgol nunca foi tão usada quanto se esperaria, – Algol 58 deu origem a Jovial, Algol 60foi usada como padrão de publicação de algoritmos.Razões do insucesso:O projeto negligenciou entrada/saída, A linguagem era considerada complicada, Algunserros: passagem por nome, Não havia suporte coorporaYvo ou governamental.John Backus desenvolveu a Forma Normal de Backus, conhecido como BNF, paradescrever ALGOL 58. O método foi revisado e expandido por Peter Naur, recebendoentão o nome de Forma de Backus-Naur, e mantendo a sigla. C.A.R. Hoare disse deALGOL 60: "Aqui está uma linguagem tão a frente de seu tempo, que não foi umamelhoria sobre seus predecessoras, mas também a quase todas suas sucessoras". Essafala foi também uma crítica velada a ALGOL 68, uma linguagem considerada inchadademais por muitos de seus críticos (e que não teve praticamente nenhum sucessocomercial).
  • ImpactoA definição do ALGOL 60 foi um evento-chave na história das linguagens deprogramação. Foi a primeira linguagem de Programação estruturada. Nenhuma outralinguagem teve influência tão importante nos projetos de novas linguagens.Além disso, a especificação da linguagem também criou desafios técnicos para aconstrução de compiladores, como mais tarde aconteceria com PL/I e AdaCaracterísticasAs duas características principais do Algol são: a clareza e a elegância da sua estruturabaseada nos blocos e o estilo de sua definição, que usa uma linguagem metalingüísticapara definir de forma concisa e relativamente completa a sua sintaxe. A linguagemcontinuou sendo desenvolvida e enriquecida com novas construções e novos comandosque aumentaram seu potencial. Existem outras versões do Algol, como, por exemplo, oAlgol 68, o Algol W voltado para máquinas IBM e o Algol 6000/7000 da Burroughs.ALGOL e Burroughs12(definição de arquivos e seus atributos, comandos para manipulação de arquivos evariedade de formatos)[1], facilidades para o tratamento de cadeias de caracteres (tipostring, tipo POINTER (ou Ponteiro), comandos e funções para manipulação de cadeias),acesso a bits de memória (palavra parcial) e facilidade para definir macros (declaraçãoDEFINE). Esta linguagem se tornou apropriada para escrever software básico; emparticular o sistema operacional do B6700 (MCP – "Master Control Program" estáescrito em ESPOL, uma extensão do Algol, permitindo manipulações mais perto dohardware. Há uma outra extensão, o DCALGOL, Data Communications ALGOL, usadopara escrever software de comunicação de dados.Variantes PadrõesALGOL 58, primeira proposta da linguagemALGOL 60, versão mais conhecida da linguagemALGOL 68, versão bem mais poderosa, porém menos conhecidaReferências bibliográficas :CHAPMAN,S. J. ,"Introduction to fortran 90/95", McGraw-Hill, 1997;GERALD,C. F. ; WHEATLEY,P. O. , "Applied numerical Analysis", 5th ed., Addison-Wesley Publishing Company, Nova Iorque (