linguagens de programação

23
As linguagens de Programação

Upload: essa

Post on 30-Jun-2015

26.363 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Linguagens de programação

As linguagens

de

Programação

Page 2: 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

Page 3: Linguagens de programação

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

Page 4: Linguagens de programação

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.

Page 5: Linguagens de programação

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.

Page 6: Linguagens de programação

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

Page 7: Linguagens de programação

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.

Page 8: Linguagens de programação

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).

Page 9: Linguagens de programação

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

Page 10: Linguagens de programação

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.

Page 11: Linguagens de programação

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

Page 12: Linguagens de programação

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.

Page 13: Linguagens de programação

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.

Page 14: Linguagens de programação

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.

Page 15: Linguagens de programação

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).

Page 16: Linguagens de programação

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 %

Page 17: Linguagens de programação

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

Page 18: Linguagens de programação

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.

Page 19: Linguagens de programação

19

Ciclo de desenvolvimento de um programa

Yes

No

Yes

No

Begin

Edit program

Compile program

Compiler

errors?

Test program

Run-time

errors?

End

Page 20: Linguagens de programação

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.

Page 21: Linguagens de programação

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.

Page 22: Linguagens de programação

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.

Page 23: Linguagens de programação

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