Você está na página 1de 23

As linguagens de

Programao

Escola Secundria de Santo Andr

Tema do trabalho
As Linguagens de Programao

Disciplina
Programao Web

Formador
Guilherme Batista

Elaborado por
Paulo Cardoso e Ricardo Paulino

Data:
03/12/2009

ndice
1. Introduo__________________________________________________________4 2. Tipologia de linguagens_______________________________________________5 3. Tipos de linguagem___________________________________________________7 4. Evoluo das linguagens de programao________________________________9 5. Cdigo Fonte e Cdigo Mquina_______________________________________13 6. Compilador e Interpretador__________________________________________14 7. Linguagem C_______________________________________________________14 8. Concluso_________________________________________________________22 9. Webgrafia_________________________________________________________23

1. Introduo
As linguagens de programao surgiram para descrever mecanismos abstractos, tm como objectivo a descrio e comunicao do utilizador ou programador para o computador. Com o passar dos anos as linguagens de programao vm sendo criadas a partir dos defeitos de outras linguagens ou por simples melhoria de desempenho e algumas designadas apenas para alguma tarefa especfica. Umas mais complexas que outras mas todas com o mesmo fim, solucionar algum problema.

2. Tipologia de Linguagens
As linguagens de programao podem ser representadas de vrias maneiras como demonstramos de seguida:

2.1 Por nveis


Linguagens de Baixo Nvel Representadas pelo Assembler e o Cdigo Mquina e com a caracterstica de serem dependentes do computador onde trabalham porque os programas criados por estas linguagens no podem transitar para outro computador. Linguagens de Alto Nvel Representadas pelo FORTRAN, PASCAL e SIMULA, aqui as linguagens so independentes dos computadores podendo ser lidos em qualquer um onde tem um papel determinante o clculo numrico. Linguagens de Muito Alto Nvel Representadas pelo SQL, PROLOG, Haskell, o problema descrito em funo da relao com o objecto e com preciso nessa descrio o computador poder resolver o problema sem mais nenhuma interveno.

2.2 Por Geraes


1 Gerao Linguagem binria, linguagens mquina e Assembler. 2 Gerao COBOL, BASIC, RPG, FORTRAN IV/V, ALGOL 58/60/68/W, estas linguagens utilizam compiladores para traduzir ou compilar para linguagem binria.

3 Gerao PL/1, PASCAL, FORTRAN 8X, APL, C, SIMULA, BLISS, linguagens para procedimentos. 4 Gerao ADA, linguagem que produz programas noutras linguagens (Gerador de programas); SQL, QBE, utilizadas para bases de dados. 5 Gerao LISP, PROLOG, linguagens para especificar problemas.

2.3 Por reas de Aplicao


Cientificas ALGOL, BASIC, FORTRAN Comerciais COBOL Processamento de Listas LISP Gerais ALGOL 68, PASCAL, SIMULA 67 Inteligncia Artificial PROLOG Cincias Sociais SPSS

Planeamento de espaos PROLOG Programao de sistemas C

3. Tipos de Linguagens

3.1 Programao Imperativa


Linguagem orientada por aces 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 didctica dos anos 70 e 80. A linguagem C hoje em dia utilizada para vrias aplicaes, mas quando foi criada era reservada para programao de sistemas. O MODULA, outra linguagem derivada, esta derivada do PASCAL, criada para o suporte de mdulos (ADT) e programao de sistemas.

Imagem 1 Exemplo de programao Imperativa

3.2 Programao Funcional


Linguagem com origem no LISP (LISt Processor), que serve para processamento simblico (Clculo diferencial e integral; Teoria de circuitos elctricos; Lgica; Resoluo de jogos). MACLISP, INTERLISP, SCHEME e ZETALISP so derivaes de LISP.

3.3 Programao baseada em lgica


Tem como nica linguagem o PROLOG, concebido para processar linguagem natural (Francs), utilizado para processamento simblico como acontece com o LISP. No PROLOG para se chegar ao resultado introduz-se a informao base (factos) e as regras em vez de se descrever um algoritmo.

3.4 Programao Orientada por Objectos


Neste tipo de programao o objecto afectado pela introduo de atributos mais as operaes necessrias. 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 so conhecidas como OO puras por serem criadas para suportar este paradigma (SIMULA, SMALLTALK, EIFELL, JAVA).

Imagem 2 SIMULA, a origem da programao OO

4. Evoluo das Linguagens de Programao

1954 - Criao do FORTRAN por John Backus, sendo considerada a primeira linguagem de alto nvel.

Imagem 3 John Backus

1957 - Surge o FORTRAN I com aplicaes para computao cientfica.

1958 - Criado o ALGOL 58 com o objectivo de facilitar a descrio de algoritmos; - Desenvolvido o FORTRAN II que corrigiu diversos erros do FORTRAN I; - Surgiu o FORTRAN III que nunca chegou a ter grande distribuio.

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 criao do FORTRAN IV, sendo considerado como norma nas aplicaes de clculo cientifico; - Desenvolvimento do COBOL que veio permitir tratar grandes quantidades de informao comercial; - Numa reunio que durou 6 dias em Paris surgiu o ALGOL 60 melhorando o ALGOL 58 e foi linguagem padro dos algoritmos nos prximos 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 fcil aprendizagem por parte dos estudantes das reas no cientficas.

1965 - A IBM e a SHARE concebem o PL/I juntando o que havia de melhor nas linguagens existentes.

10

1967 - Ano de criao do SIMULA 67 por Dahl e Nygaard que foi desenvolvido com base no ALGOL 60.

1968 - Surge o ALGOL 68, continuao do desenvolvimento do ALGOL 60.

1971 - Niklaus Wirth cria o PASCAL tendo como caracterstica a necessidade de as variveis serem declaradas no inicio dos programas, linguagem utilizada no ensino de programao estruturada.

1972 - Alan Kay quem concebe o SMALLTALK no XEROX Park, primeira linguagem a utilizar interface grfica; - Na Universidade de Marselha cria-se o PROLOG, linguagem aplicada em gerncia de bases de dados; - Nos laboratrios Bell, Dennis Ritchie cria o C, que tinha como objectivo formar o sistema operativo UNIX, linguagem pequena, flexvel e capaz de criar cdigo eficiente.

Imagem 4 Dennis Ritchie

11

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 criao do FORTRAN 77 onde surge a instruo IF-THEN-ELSE ao contrrio das verses 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 nvel, 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 no casesensitive, o que facilita a escrita.

1987 - Criado o PERL por Larry Wall, linguagem que possibilita a sua utilizao em vrios sistemas operativos e usado na maioria para criar aplicaes Web.

1990 - Criao do FORTRAN 90 que ganhou recursos; - Em homenagem a Haskell Curry criada a linguagem HASKELL, linguagem essencialmente funcional. 1991 - Lanada uma linguagem de alto nvel, a PYTHON por Guido van Rossum e com uma sintaxe esclarecedora devido ao poder da biblioteca padro que possui; - A Sun Microsystems atravs de James Gosling criou a linguagem JAVA, linguagem orientada a objectos.

12

1993 - Roberto Ierusalimschy, Luiz Henrique de Figueiredo e Waldemar Celes criaram a linguagem LUA, linguagem imperativa, de procedimentos e de abstraco 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 caracterstica 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. Cdigo Fonte e Cdigo Mquina


Cdigo Fonte
o conjunto de palavras ou smbolos, que escritos de forma ordenada constroem instrues lgicas numa das linguagens de programao. O conjunto de palavras vai formar linhas de comando que devem estar dentro do padro da linguagem escolhida.

Cdigo Mquina
Cdigo representado por sequncias de bits, um conjunto de instrues que o processador de um computador consegue ler, executar. Um programa neste cdigo representado por variveis em sistema binrio, hexadecimal ou em alguns casos em sistema octal.

13

6. Compilador e Interpretador
Compilador
So programas que atravs de um cdigo fonte escrito numa linguagem compilada, cria um programa com o mesmo significado mas escrito em cdigo mquina sendo perceptvel e possvel ao computador executar o programa.

Interpretador
So programas que aps lerem um cdigo fonte de uma linguagem de programao interpretada, convertem o cdigo fonte em cdigo executvel. 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 padro, imperativa, procedimental ou estruturada de alto nvel que serviu para desenvolver o sistema operativo UNIX que era escrito em ASSEMBLY, uma das caractersticas no ser necessrio conhecer o processador. Foi standarizada em 1983 pela ANSI (American National Standard Institute).

Variveis
Quando programamos em C devemos ter em conta que o nome das variveis no pode ser igual ao nome de uma funo nem igual ao nome de uma palavra reservada, e para a escrita de uma varivel no devemos ultrapassar os 32 caracteres nem colocar caracteres especiais.

14

Constantes
A linguagem C permite que se utilize constantes hexadecimais e octais, no caso das hexadecimais as constantes tm de comear com 0x, nas octais tm de comear com 0. .

Caractersticas

- Tem rapidez capaz de conseguir desempenhos iguais aos do ASSEMBLY; - Tem uma grande popularidade em todo o mundo; - Pode utilizar-se em diversas mquinas e sistemas operativos; - uma linguagem que tem uma sintaxe simples com poucas palavras reservadas; - Permite juntar vrios mdulos para criar uma nica aplicao; - uma linguagem para compiladores, em que l o cdigo fonte e cria o cdigo objecto apenas uma vez; - sensvel a letras maisculas (Case Sensitive); - As bibliotecas utilizadas tm de ser indicadas nas primeiras linhas do programa.

Aplicaes escritas em C
A linguagem serviu de base para vrias aplicaes tais como: - A reestruturao do sistema operativo UNIX; - As folhas de clculo 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

Estrutura de um programa em C

Directivas ao pr-processador - Includes - Macros Declaraes Globais - Funes - Variveis Definio das Funes Main () { /* begin */ } /* end */

Existem na linguagem C alguns caracteres especiais: \n nova linha \r enter \t tabulao horizontal \v tabulao vertical \b retrocesso \ Aspas \ - Plica \\ - Barra \? Ponto de interrogao \a ou \7 bell %% - Carcter %

16

Operadores
A linguagem C possui operadores binrios e unrios. Os operadores binrios utilizam 2 variveis e do um retorno de um terceiro valor sem alterar as variveis originais. possvel fazer operaes lgicas bit-a-bit em nmeros, sendo o nmero representado na sua forma binria e em cada bit dele so feitas as operaes.

Operador de atribuio O = o sinal pelo qual designamos operador de atribuio.

Operadores aritmticos Estes so os operadores aritmticos ( +, -, *, / ), aos quais juntamos este (%), que nos d o resto de uma diviso inteira.

Operadores Relacionais e Lgicos Como operadores relacionais temos, como o prprio nome indica operadores que relacionam, comparam. > (maior), < (menor), >= (maior ou igual), <= (menor ou igual, == (igual), != (diferente). Os operadores lgicos so o && (and), || (or) e o ! (not).

Para incrementar Variveis ++x Aumenta o x antes de utilizar o seu valor x++ - Aumenta o x depois de utilizado o seu valor

Decrementar So avaliados da esquerda para a direita, a ordem da avaliao pode ser alterada utilizando parnteses ++ -- mais alta + - mais baixa

17

Cast Serve para forar uma expresso.

Sizeof Serve para assegurar a portabilidade do programa devolvendo o tamanho da varivel em bytes.

Operador ternrio Serve para expressar if-else de maneira abreviada.

18

Ciclo de desenvolvimento de um programa Begin

Edit program

Compile program

Compiler errors?

Yes

No
Test program

Run-time errors?

Yes

No
End

19

Funes bsicas da biblioteca C - Printf () Esta funo de I/O que se baseia na introduo de cdigos de formatao
como input e posteriormente exibidos no monitor ou impressos como Output. - Scanf () similar funo anterior ler os dados introduzidos atravs 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 posio corrente.

Estruturas de controlo de fluxo

A linguagem C possuidora de vrios comandos de controlo de fluxo, e possvel, sem utilizar todos resolver todos os problemas.

- if comando de condio.
- if-else-if serve para testar uma varivel as vezes necessrias at encontrar algo que coincida. - switch para testar uma varivel repetidamente contra variveis inteiras ou caracteres. - loop for serve para controlar o loop. - while (do while) permite a execuo repetida do cdigo fonte de acordo com uma condio. - break para terminar o comando em execuo. - continue serve para saltar partes do programa.

20

Matrizes
- matriz unidimensional o ndice de uma matriz 0, se utilizarmos uma matriz de inteiros de 10 elementos a variao vai de 0 a 9. - matriz multidimensional funciona como a dimensional mas com mais ndices. - matrizes estticas os dados de tipo simples so inicializados mas s como variveis globais. - limite das matrizes so os programas que testam os limites das matrizes.

Manipulao de strings
Uma string uma matriz tipo char que acaba com \O. A string deve ter uma posio a mais do que os caracteres desejados.

Funo Gets () Utilizada para ler uma string pelo dispositivo padro at se carregar no ENTER. Esta funo no testa os limites da matriz em que chamada.

Funo Puts () Funo escrita no dispositivo de sada, coloca um \N no fim.

Funo Strcpy () Esta funo copia o contedo de uma string.

Funo Strcat () Funo que junta 2 strings sem verificar o tamanho.

Funo Strcmp () Funo de comparao entre 2 strings.

21

8. Concluso
Neste trabalho vimos como cada linguagem tem o seu tipo de aplicao, a sua maneira de comunicar com o computador varia conforme o desfecho pretendido. Utilizadas em vrios sectores desde o informtico ao comercial passando pelo lazer, as linguagens vo servindo de base para todo o tipo de comunicao com o computador e atravs dessa comunicao vamos subindo patamares na evoluo tecnolgica.

22

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/_gJAmIAqN0Y/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

Você também pode gostar