SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
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
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
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.
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.
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
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.
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).
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
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.
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
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.
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.
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.
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).
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 %
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
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.
19
Ciclo de desenvolvimento de um programa
Yes
No
Yes
No
Begin
Edit program
Compile program
Compiler
errors?
Test program
Run-time
errors?
End
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.
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.
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.
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

Mais conteúdo relacionado

Mais procurados

Fundamentos da linguagem c
Fundamentos da linguagem cFundamentos da linguagem c
Fundamentos da linguagem cMarcia Santana
 
Tecnicas programacao i_c_p1
Tecnicas programacao i_c_p1Tecnicas programacao i_c_p1
Tecnicas programacao i_c_p1D M
 
Atps paradigmas da linguagem
Atps paradigmas da linguagemAtps paradigmas da linguagem
Atps paradigmas da linguagemRafael Cianci
 
Sistemas de Processamento de Linguagem Natural na Prática
Sistemas de Processamento de Linguagem Natural na PráticaSistemas de Processamento de Linguagem Natural na Prática
Sistemas de Processamento de Linguagem Natural na PráticaWilliam Colen
 
Apresentação linguagem cobol
Apresentação linguagem cobolApresentação linguagem cobol
Apresentação linguagem cobolLorranna Machado
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem corvel
 

Mais procurados (12)

Fundamentos da linguagem c
Fundamentos da linguagem cFundamentos da linguagem c
Fundamentos da linguagem c
 
Seminário: Lisp
Seminário: LispSeminário: Lisp
Seminário: Lisp
 
Seminário: C++
Seminário: C++Seminário: C++
Seminário: C++
 
Apresentação lisp
Apresentação lispApresentação lisp
Apresentação lisp
 
Tecnicas programacao i_c_p1
Tecnicas programacao i_c_p1Tecnicas programacao i_c_p1
Tecnicas programacao i_c_p1
 
Bioestatistica usando R
Bioestatistica usando RBioestatistica usando R
Bioestatistica usando R
 
Atps paradigmas da linguagem
Atps paradigmas da linguagemAtps paradigmas da linguagem
Atps paradigmas da linguagem
 
Sistemas de Processamento de Linguagem Natural na Prática
Sistemas de Processamento de Linguagem Natural na PráticaSistemas de Processamento de Linguagem Natural na Prática
Sistemas de Processamento de Linguagem Natural na Prática
 
Introducao java
Introducao javaIntroducao java
Introducao java
 
Phyton
PhytonPhyton
Phyton
 
Apresentação linguagem cobol
Apresentação linguagem cobolApresentação linguagem cobol
Apresentação linguagem cobol
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 

Destaque

Water quality data
Water quality dataWater quality data
Water quality dataAn Taisce
 
Ellie Goulding Digipak analysis
Ellie Goulding Digipak analysisEllie Goulding Digipak analysis
Ellie Goulding Digipak analysisrakhatewany
 
Crescimento da atividade turística em faro
Crescimento da atividade turística em faroCrescimento da atividade turística em faro
Crescimento da atividade turística em faroNuno Bexiga
 
6 клас урок
6 клас урок6 клас урок
6 клас урокorestznak
 
незалежне оцінювання, шляхи розв’язування
незалежне оцінювання, шляхи розв’язуваннянезалежне оцінювання, шляхи розв’язування
незалежне оцінювання, шляхи розв’язуванняТетяна Герман
 
Taking the Fear out of WAF
Taking the Fear out of WAFTaking the Fear out of WAF
Taking the Fear out of WAFBrian A. McHenry
 
Caracteristicas del gobierno de calles
Caracteristicas del gobierno de callesCaracteristicas del gobierno de calles
Caracteristicas del gobierno de callesfernandaximena3oC
 

Destaque (13)

Big Data & Hadoop
Big Data & HadoopBig Data & Hadoop
Big Data & Hadoop
 
Water quality data
Water quality dataWater quality data
Water quality data
 
Mafer
MaferMafer
Mafer
 
Terror alert usa_new 7-31-06
Terror alert usa_new 7-31-06Terror alert usa_new 7-31-06
Terror alert usa_new 7-31-06
 
Resumen y ensayo
Resumen y ensayoResumen y ensayo
Resumen y ensayo
 
JR_Berry_Resume_11-2015
JR_Berry_Resume_11-2015JR_Berry_Resume_11-2015
JR_Berry_Resume_11-2015
 
Ellie Goulding Digipak analysis
Ellie Goulding Digipak analysisEllie Goulding Digipak analysis
Ellie Goulding Digipak analysis
 
Crescimento da atividade turística em faro
Crescimento da atividade turística em faroCrescimento da atividade turística em faro
Crescimento da atividade turística em faro
 
James S. Reinhold Resume
James S. Reinhold ResumeJames S. Reinhold Resume
James S. Reinhold Resume
 
6 клас урок
6 клас урок6 клас урок
6 клас урок
 
незалежне оцінювання, шляхи розв’язування
незалежне оцінювання, шляхи розв’язуваннянезалежне оцінювання, шляхи розв’язування
незалежне оцінювання, шляхи розв’язування
 
Taking the Fear out of WAF
Taking the Fear out of WAFTaking the Fear out of WAF
Taking the Fear out of WAF
 
Caracteristicas del gobierno de calles
Caracteristicas del gobierno de callesCaracteristicas del gobierno de calles
Caracteristicas del gobierno de calles
 

Semelhante a Linguagensdeprogramao 100611235520-phpapp01

Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programaçãoessa
 
Linguagen..
Linguagen..Linguagen..
Linguagen..essa
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09essa
 
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdfsilo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdfAmlieOGalaxias
 
Linguagem de programação estruturada, orientação a objetos
Linguagem de programação estruturada, orientação a objetosLinguagem de programação estruturada, orientação a objetos
Linguagem de programação estruturada, orientação a objetosNelsonCavalheirodosR
 
Linguagem C Entendendo a Programação
Linguagem C Entendendo a ProgramaçãoLinguagem C Entendendo a Programação
Linguagem C Entendendo a ProgramaçãoMonike Santos
 
Grande porte cobol level 1 - versão 2.3.5
Grande porte   cobol level 1 - versão 2.3.5Grande porte   cobol level 1 - versão 2.3.5
Grande porte cobol level 1 - versão 2.3.5Jeison Barros
 
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdfparadigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdfAndreiaCristinaFlore
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de ProgramaçãoBeDMK
 
Progamacao para não programadores
Progamacao para não programadoresProgamacao para não programadores
Progamacao para não programadoresalexandre freire
 
Trabalho linguagem python
Trabalho linguagem  pythonTrabalho linguagem  python
Trabalho linguagem pythonBruno Maspoli
 
Paradigmas da programacao apostila
Paradigmas da programacao apostilaParadigmas da programacao apostila
Paradigmas da programacao apostilaNathiele Lacerda
 

Semelhante a Linguagensdeprogramao 100611235520-phpapp01 (20)

Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Linguagen..
Linguagen..Linguagen..
Linguagen..
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09
 
Isc aula 7
Isc   aula 7Isc   aula 7
Isc aula 7
 
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdfsilo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
 
LP002 - AULA 1.potx
LP002 - AULA 1.potxLP002 - AULA 1.potx
LP002 - AULA 1.potx
 
LP003 - AULA 2.potx
LP003 - AULA 2.potxLP003 - AULA 2.potx
LP003 - AULA 2.potx
 
Linguagem de programação estruturada, orientação a objetos
Linguagem de programação estruturada, orientação a objetosLinguagem de programação estruturada, orientação a objetos
Linguagem de programação estruturada, orientação a objetos
 
Linguagem C Entendendo a Programação
Linguagem C Entendendo a ProgramaçãoLinguagem C Entendendo a Programação
Linguagem C Entendendo a Programação
 
Grande porte cobol level 1 - versão 2.3.5
Grande porte   cobol level 1 - versão 2.3.5Grande porte   cobol level 1 - versão 2.3.5
Grande porte cobol level 1 - versão 2.3.5
 
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdfparadigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação
 
Progamacao para não programadores
Progamacao para não programadoresProgamacao para não programadores
Progamacao para não programadores
 
Trabalho linguagem python
Trabalho linguagem  pythonTrabalho linguagem  python
Trabalho linguagem python
 
Object pascal
Object pascalObject pascal
Object pascal
 
Linguagem de programação
Linguagem de programaçãoLinguagem de programação
Linguagem de programação
 
1.1.paradigmas
1.1.paradigmas1.1.paradigmas
1.1.paradigmas
 
02 historia da programação
02   historia da programação02   historia da programação
02 historia da programação
 
Paradigmas da programacao apostila
Paradigmas da programacao apostilaParadigmas da programacao apostila
Paradigmas da programacao apostila
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 

Linguagensdeprogramao 100611235520-phpapp01

  • 2. 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
  • 3. 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
  • 4. 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.
  • 5. 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.
  • 6. 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
  • 7. 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.
  • 8. 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).
  • 9. 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
  • 10. 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.
  • 11. 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
  • 12. 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.
  • 13. 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.
  • 14. 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.
  • 15. 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).
  • 16. 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 %
  • 17. 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
  • 18. 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.
  • 19. 19 Ciclo de desenvolvimento de um programa Yes No Yes No Begin Edit program Compile program Compiler errors? Test program Run-time errors? End
  • 20. 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.
  • 21. 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.
  • 22. 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.