Your SlideShare is downloading. ×

Linguagens de programação

25,647
views

Published on

Published in: Technology

1 Comment
6 Likes
Statistics
Notes
  • Bom trabalho. Fornece uma visão geral das diversas linguagens com uma cronologia dos avanços na área.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
25,647
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
550
Comments
1
Likes
6
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. As linguagens de Programação
  • 2. Escola Secundária de Santo André Tema do trabalho As Linguagens de Programação Disciplina Programação Web Formador Guilherme Batista Elaborado por Paulo Cardoso e Ricardo Paulino Data: 03/12/2009 2
  • 3. Índice 1. Introdução__________________________________________________________4 2. Tipologia de linguagens_______________________________________________5 3. Tipos de linguagem___________________________________________________7 4. Evolução das linguagens de programação________________________________9 5. Código Fonte e Código Máquina_______________________________________13 6. Compilador e Interpretador__________________________________________14 7. Linguagem C_______________________________________________________14 8. Conclusão_________________________________________________________22 9. Webgrafia_________________________________________________________23 3
  • 4. 1. Introdução As linguagens de programação surgiram para descrever mecanismos abstractos, têm como objectivo a descrição e comunicação do utilizador ou programador para o computador. Com o passar dos anos as linguagens de programação vêm sendo criadas a partir dos defeitos de outras linguagens ou por simples melhoria de desempenho e algumas designadas apenas para alguma tarefa específica. Umas mais complexas que outras mas todas com o mesmo fim, solucionar algum problema. 4
  • 5. 2. Tipologia de Linguagens As linguagens de programação podem ser representadas de várias maneiras como demonstramos de seguida: 2.1 Por níveis Linguagens de Baixo Nível  Representadas pelo Assembler e o Código Máquina e com a característica de serem dependentes do computador onde trabalham porque os programas criados por estas linguagens não podem transitar para outro computador. Linguagens de Alto Nível  Representadas pelo FORTRAN, PASCAL e SIMULA, aqui as linguagens são independentes dos computadores podendo ser lidos em qualquer um onde tem um papel determinante o cálculo numérico. Linguagens de Muito Alto Nível  Representadas pelo SQL, PROLOG, Haskell, o problema é descrito em função da relação com o objecto e com precisão nessa descrição o computador poderá resolver o problema sem mais nenhuma intervenção. 2.2 Por Gerações 1ª Geração  Linguagem binária, linguagens máquina e Assembler. 2ª Geração  COBOL, BASIC, RPG, FORTRAN IV/V, ALGOL 58/60/68/W, estas linguagens utilizam compiladores para traduzir ou compilar para linguagem binária. 5
  • 6. 3ª Geração  PL/1, PASCAL, FORTRAN 8X, APL, C, SIMULA, BLISS, linguagens para procedimentos. 4ª Geração  ADA, linguagem que produz programas noutras linguagens (Gerador de programas);  SQL, QBE, utilizadas para bases de dados. 5ª Geração  LISP, PROLOG, linguagens para especificar problemas. 2.3 Por Áreas de Aplicação Cientificas  ALGOL, BASIC, FORTRAN Comerciais  COBOL Processamento de Listas  LISP Gerais  ALGOL 68, PASCAL, SIMULA 67 Inteligência Artificial  PROLOG Ciências Sociais  SPSS 6
  • 7. Planeamento de espaços  PROLOG Programação de sistemas  C 3. Tipos de Linguagens 3.1 Programação Imperativa Linguagem orientada por acções tendo como fundador o FORTRAN (FORmula TRANslator) criado pela IBM para o IBM 704 por um grupo liderado por John Backus. Criada para processar ficheiros de registos (RECORDS) surgiu a linguagem COBOL. Nos anos 60, foi elaborada a ALGOL, linguagem que deu origem mais tarde a outras duas linguagens, o PASCAL e o C. Para simplificar e para ser utilizada por qualquer utilizador sem ter de ser programador criou-se o BASIC. PL/1 foi uma linguagem que tentou juntar os conceitos das linguagens FORTRAN, ALGOL e COBOL sendo a primeira linguagem generalista. Criado com origem no ALGOL, surgiu o PASCAL sendo denominada como a linguagem didáctica dos anos 70 e 80. A linguagem C é hoje em dia utilizada para várias aplicações, mas quando foi criada era reservada para programação de sistemas. O MODULA, outra linguagem derivada, esta derivada do PASCAL, criada para o suporte de módulos (ADT) e programação de sistemas. 7
  • 8. Imagem 1 – Exemplo de programação Imperativa 3.2 Programação Funcional Linguagem com origem no LISP (LISt Processor), que serve para processamento simbólico (Cálculo diferencial e integral; Teoria de circuitos eléctricos; Lógica; Resolução de jogos). MACLISP, INTERLISP, SCHEME e ZETALISP são derivações de LISP. 3.3 Programação baseada em lógica Tem como única linguagem o PROLOG, concebido para processar linguagem natural (Francês), é utilizado para processamento simbólico como acontece com o LISP. No PROLOG para se chegar ao resultado introduz-se a informação base (factos) e as regras em vez de se descrever um algoritmo. 3.4 Programação Orientada por Objectos Neste tipo de programação o objecto é afectado pela introdução de atributos mais as operações necessárias. Teve origem no SIMULA (SIMULAtion) mas quase todas as linguagens que existem foram alteradas de modo a suportarem o paradigma OO (C++, ADA95, MODULA3, CLOS, PROLOG++, etc.). Algumas linguagens são conhecidas como OO puras por serem criadas para suportar este paradigma (SIMULA, SMALLTALK, EIFELL, JAVA). 8
  • 9. Imagem 2 – SIMULA, a origem da programação OO 4. Evolução das Linguagens de Programação 1954 - Criação do FORTRAN por John Backus, sendo considerada a primeira linguagem de alto nível. Imagem 3 – John Backus 9
  • 10. 1957 - Surge o FORTRAN I com aplicações para computação científica. 1958 - Criado o ALGOL 58 com o objectivo de facilitar a descrição de algoritmos; - Desenvolvido o FORTRAN II que corrigiu diversos erros do FORTRAN I; - Surgiu o FORTRAN III que nunca chegou a ter grande distribuição. 1959 - John McCarthy concebe o LISP que é a primeira linguagem funcional e que só trabalhava com dois tipos de dados: átomos e listas (listas simples e listas aninhadas. 1960 - Ano da criação do FORTRAN IV, sendo considerado como norma nas aplicações de cálculo cientifico; - Desenvolvimento do COBOL que veio permitir tratar grandes quantidades de informação comercial; - Numa reunião que durou 6 dias em Paris surgiu o ALGOL 60 melhorando o ALGOL 58 e foi linguagem padrão dos algoritmos nos próximos vinte anos e sendo a primeira linguagem independente do computador. 1962 - Kenneth Iverson é quem cria o APL. 1964 - Surgimento do BASIC, feito por John Kemeny e Thomas Kurtz com a particularidade do acesso livre e da fácil aprendizagem por parte dos estudantes das áreas não científicas. 1965 - A IBM e a SHARE concebem o PL/I juntando o que havia de melhor nas linguagens existentes. 10
  • 11. 1967 - Ano de criação do SIMULA 67 por Dahl e Nygaard que foi desenvolvido com base no ALGOL 60. 1968 - Surge o ALGOL 68, continuação do desenvolvimento do ALGOL 60. 1971 - Niklaus Wirth cria o PASCAL tendo como característica a necessidade de as variáveis serem declaradas no inicio dos programas, linguagem utilizada no ensino de programação estruturada. 1972 - Alan Kay é quem concebe o SMALLTALK no XEROX Park, primeira linguagem a utilizar interface gráfica; - Na Universidade de Marselha cria-se o PROLOG, linguagem aplicada em gerência de bases de dados; - Nos laboratórios Bell, Dennis Ritchie cria o C, que tinha como objectivo formar o sistema operativo UNIX, linguagem pequena, flexível e capaz de criar código eficiente. Imagem 4 – Dennis Ritchie 11
  • 12. 1975 - Criado o ADA, desenvolvida para o Departamento de Defesa dos EUA, criada em homenagem a Ada Augusta Byron (ajudante e patrocinadora de Charles Babbage), linguagem para programas complexos e grandes. 1978 - Ano de criação do FORTRAN 77 onde surge a instrução IF-THEN-ELSE ao contrário das versões anteriores onde se utilizava o GO TO; - E.F. Codd, da IBM, cria a linguagem SQL, linguagem direccionada para base de dados. 1985 - Criado o C++ por Bjarne Stroustrup com o intuito de melhorar a linguagem C, tendo como uma das vantagens poder programar em baixo e alto nível, softwares como o Emule, Microsoft Office ou o Internet Explorer foram criados em linguagem C++; - Surge a linguagem EIFFEL, por Bertrand Meyer da ISE, linguagem que não é case- sensitive, o que facilita a escrita. 1987 - Criado o PERL por Larry Wall, linguagem que possibilita a sua utilização em vários sistemas operativos e usado na maioria para criar aplicações Web. 1990 - Criação do FORTRAN 90 que ganhou recursos; - Em homenagem a Haskell Curry é criada a linguagem HASKELL, linguagem essencialmente funcional. 1991 - Lançada uma linguagem de alto nível, a PYTHON por Guido van Rossum e com uma sintaxe esclarecedora devido ao poder da biblioteca padrão que possui; - A Sun Microsystems através de James Gosling criou a linguagem JAVA, linguagem orientada a objectos. 12
  • 13. 1993 - Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes criaram a linguagem LUA, linguagem imperativa, de procedimentos e de abstracção de dados. 1995 - A Sun cria o JAVASCRIPT com base no C++ sendo um pouco mais simples; - Rasmus Lerdof cria a linguagem PHP, com a característica de ter portabilidade; - Surge a linguagem RUBY, por Yukihiro Matsumoto sendo esta uma linguagem orientada a objectos; - Criada a linguagem DELPHI pela Borland Software Corporation, linguagem orientada a objectos e eventos. 2000 - Criada a linguagem C# por Anders Hejlsberg e sua equipa e é usada como parte da plataforma .NET. 5. Código Fonte e Código Máquina Código Fonte É o conjunto de palavras ou símbolos, que escritos de forma ordenada constroem instruções lógicas numa das linguagens de programação. O conjunto de palavras vai formar linhas de comando que devem estar dentro do padrão da linguagem escolhida. Código Máquina Código representado por sequências de bits, é um conjunto de instruções que o processador de um computador consegue ler, executar. Um programa neste código é representado por variáveis em sistema binário, hexadecimal ou em alguns casos em sistema octal. 13
  • 14. 6. Compilador e Interpretador Compilador São programas que através de um código fonte escrito numa linguagem compilada, cria um programa com o mesmo significado mas escrito em código máquina sendo perceptível e possível ao computador executar o programa. Interpretador São programas que após lerem um código fonte de uma linguagem de programação interpretada, convertem o código fonte em código executável. O interpretador pode ler linha a linha e converter o programa conforme o vai executando ou pode ler todo o programa e converte-lo de uma só vez e executá-lo. 7. Linguagem C A linguagem C foi criada em 1972, é uma linguagem padrão, imperativa, procedimental ou estruturada de alto nível que serviu para desenvolver o sistema operativo UNIX que era escrito em ASSEMBLY, uma das características é não ser necessário conhecer o processador. Foi standarizada em 1983 pela ANSI (American National Standard Institute). Variáveis Quando programamos em C devemos ter em conta que o nome das variáveis não pode ser igual ao nome de uma função nem igual ao nome de uma palavra reservada, e para a escrita de uma variável não devemos ultrapassar os 32 caracteres nem colocar caracteres especiais. 14
  • 15. Constantes A linguagem C permite que se utilize constantes hexadecimais e octais, no caso das hexadecimais as constantes têm de começar com “0x”, nas octais têm de começar com “0”. . Características - Tem rapidez capaz de conseguir desempenhos iguais aos do ASSEMBLY; - Tem uma grande popularidade em todo o mundo; - Pode utilizar-se em diversas máquinas e sistemas operativos; - É uma linguagem que tem uma sintaxe simples com poucas palavras reservadas; - Permite juntar vários módulos para criar uma única aplicação; - É uma linguagem para compiladores, em que lê o código fonte e cria o código objecto apenas uma vez; - É sensível a letras maiúsculas (Case Sensitive); - As bibliotecas utilizadas têm de ser indicadas nas primeiras linhas do programa. Aplicações escritas em C A linguagem serviu de base para várias aplicações tais como: - A reestruturação do sistema operativo UNIX; - As folhas de cálculo 1, 2, 3 e o Excel (Inicial); - As bases de dados dBase III, IV e o Access; - Efeitos especiais em filmes (Star Trek, Star Wars). 15
  • 16. Estrutura de um programa em C Directivas ao pré-processador - Includes - Macros Declarações Globais - Funções - Variáveis Definição das Funções Main () { /* begin */ } /* end */ Existem na linguagem C alguns caracteres especiais: n – nova linha r – „enter‟ t – tabulação horizontal v – tabulação vertical b – retrocesso ” – Aspas ’ - Plica - Barra ? – Ponto de interrogação a ou 7 – bell %% - Carácter % 16
  • 17. Operadores A linguagem C possui operadores binários e unários. Os operadores binários utilizam 2 variáveis e dão um retorno de um terceiro valor sem alterar as variáveis originais. É possível fazer operações lógicas bit-a-bit em números, sendo o número representado na sua forma binária e em cada bit dele são feitas as operações. Operador de atribuição O „=‟ é o sinal pelo qual designamos operador de atribuição. Operadores aritméticos Estes são os operadores aritméticos ( +, -, *, / ), aos quais juntamos este (%), que nos dá o resto de uma divisão inteira. Operadores Relacionais e Lógicos Como operadores relacionais temos, como o próprio nome indica operadores que relacionam, comparam. > (maior), < (menor), >= (maior ou igual), <= (menor ou igual, == (igual), != (diferente). Os operadores lógicos são o && (and), || (or) e o ! (not). Para incrementar Variáveis ++x – Aumenta o x antes de utilizar o seu valor x++ - Aumenta o x depois de utilizado o seu valor Decrementar São avaliados da esquerda para a direita, a ordem da avaliação pode ser alterada utilizando parênteses ++ -- mais alta + - mais baixa 17
  • 18. Cast Serve para forçar uma expressão. Sizeof Serve para assegurar a portabilidade do programa devolvendo o tamanho da variável em bytes. Operador ternário Serve para expressar if-else de maneira abreviada. 18
  • 19. Ciclo de desenvolvimento de um programa Begin Edit program Compile program Compiler Yes errors? No Test program Run-time Yes errors? No End 19
  • 20. Funções básicas da biblioteca C - Printf () – Esta função é de I/O que se baseia na introdução de códigos de formatação como input e posteriormente exibidos no monitor ou impressos como Output. - Scanf () – É similar à função anterior ler os dados introduzidos através do teclado. - Getchar () – Serve para guardar os caracteres de entrada até que o ENTER seja pressionado. - Putchar () – Escreve no monitor o argumento do seu caractere na posição corrente. Estruturas de controlo de fluxo A linguagem C é possuidora de vários comandos de controlo de fluxo, e é possível, sem utilizar todos resolver todos os problemas. - if – comando de condição. - if-else-if – serve para testar uma variável as vezes necessárias até encontrar algo que coincida. - switch – para testar uma variável repetidamente contra variáveis inteiras ou caracteres. - loop for – serve para controlar o loop. - while (do while) – permite a execução repetida do código fonte de acordo com uma condição. - break – para terminar o comando em execução. - continue – serve para saltar partes do programa. 20
  • 21. Matrizes - matriz unidimensional – o índice de uma matriz é 0, se utilizarmos uma matriz de inteiros de 10 elementos a variação vai de 0 a 9. - matriz multidimensional – funciona como a dimensional mas com mais índices. - matrizes estáticas – os dados de tipo simples são inicializados mas só como variáveis globais. - limite das matrizes – são os programas que testam os limites das matrizes. Manipulação de strings Uma string é uma matriz tipo char que acaba com „O‟. A string deve ter uma posição a mais do que os caracteres desejados. Função Gets () Utilizada para ler uma string pelo dispositivo padrão até se carregar no ENTER. Esta função não testa os limites da matriz em que é chamada. Função Puts () Função escrita no dispositivo de saída, coloca um „N‟ no fim. Função Strcpy () Esta função copia o conteúdo de uma string. Função Strcat () Função que junta 2 strings sem verificar o tamanho. Função Strcmp () Função de comparação entre 2 strings. 21
  • 22. 8. Conclusão Neste trabalho vimos como cada linguagem tem o seu tipo de aplicação, a sua maneira de comunicar com o computador varia conforme o desfecho pretendido. Utilizadas em vários sectores desde o informático ao comercial passando pelo lazer, as linguagens vão servindo de base para todo o tipo de comunicação com o computador e através dessa comunicação vamos subindo patamares na evolução tecnológica. 22
  • 23. 9. Webgrafia Textos http://uainfor.com.sapo.pt/2616/cadapoio.pdf http://www.inf.unioeste.br/~adriana/LP/Aulas/Unidade02.pdf ftp://ftp.unicamp.br/pub/apoio/treinamentos/linguagens/c.pdf Imagens http://2.bp.blogspot.com/_gJAmIAq- N0Y/SWj2Fe9KlmI/AAAAAAAAAHU/jQgs1nqVm3Y/s320/progImp.png http://prosjekt.ring.hibu.no/simula/images/simula.gif http://libai.math.ncu.edu.tw/bcc16/pool/image/Backus.gif http://www.cs.helsinki.fi/u/kerola/tkhist/k2000/alustukset/unix_hist/ritchie.jpeg 23