SlideShare uma empresa Scribd logo
As linguagens
      de




Programação
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
Í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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Ciclo de desenvolvimento de um programa


     Begin




 Edit program




Compile program




   Compiler               Yes
    errors?



        No
  Test program




   Run-time
                                Yes
    errors?


        No
     End


                  19
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
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
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
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

Mais conteúdo relacionado

Mais procurados

Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de Algoritmos
Elaine Cecília Gatto
 
Plano de curso informatica
Plano de curso informaticaPlano de curso informatica
Plano de curso informaticaF Guanambi
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação C
Gercélia Ramos
 
Minicurso de App Inventor
Minicurso de App InventorMinicurso de App Inventor
Minicurso de App Inventor
Leinylson Fontinele
 
Algoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introduçãoAlgoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introdução
Mauro Pereira
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
Gercélia Ramos
 
Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de Programação
André Agostinho
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
Aislan Rafael
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação
BeDMK
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
fabiocerqueira
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introdução
Cleber Ramos
 
Visualg
VisualgVisualg
Visualg
Pedro Silva
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1
Cloves da Rocha
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
Gleydson Sousa
 
Aula 02 - Escolha caso
Aula 02 - Escolha casoAula 02 - Escolha caso
Aula 02 - Escolha caso
Eder Samaniego
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
vini_campos
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugol
Gabriel Faustino
 
Aula 4 - Teste de mesa
Aula 4 - Teste de mesaAula 4 - Teste de mesa
Aula 4 - Teste de mesaPacc UAB
 

Mais procurados (20)

Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de Algoritmos
 
Plano de curso informatica
Plano de curso informaticaPlano de curso informatica
Plano de curso informatica
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação C
 
Minicurso de App Inventor
Minicurso de App InventorMinicurso de App Inventor
Minicurso de App Inventor
 
Algoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introduçãoAlgoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introdução
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
Evolução da informática
Evolução da informáticaEvolução da informática
Evolução da informática
 
Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de Programação
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introdução
 
Visualg
VisualgVisualg
Visualg
 
Pascal
PascalPascal
Pascal
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Aula 02 - Escolha caso
Aula 02 - Escolha casoAula 02 - Escolha caso
Aula 02 - Escolha caso
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugol
 
Aula 4 - Teste de mesa
Aula 4 - Teste de mesaAula 4 - Teste de mesa
Aula 4 - Teste de mesa
 

Destaque

Linguagem da programação
Linguagem da programaçãoLinguagem da programação
Linguagem da programação
Rodrigo Gonçalves
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação12anogolega
 
Linguagem de Programação II - Plano de Ensino
Linguagem de Programação II - Plano de EnsinoLinguagem de Programação II - Plano de Ensino
Linguagem de Programação II - Plano de Ensino
Daniel Arndt Alves
 
Paradigmas de Linguagens de Programação - Introdução
Paradigmas de Linguagens de Programação - IntroduçãoParadigmas de Linguagens de Programação - Introdução
Paradigmas de Linguagens de Programação - IntroduçãoAdriano Teixeira de Souza
 
Apresentação linguagem cobol
Apresentação linguagem cobolApresentação linguagem cobol
Apresentação linguagem cobolLorranna Machado
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.
Valmon Gaudencio
 
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...Adriano Teixeira de Souza
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programaçãoAlbertoVach
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
Elaine Cecília Gatto
 
Linguagem de Programação II - Apresentação da Disciplina
Linguagem de Programação II - Apresentação da DisciplinaLinguagem de Programação II - Apresentação da Disciplina
Linguagem de Programação II - Apresentação da Disciplina
Daniel Arndt Alves
 
Introdução ao paradigma imperativo
Introdução ao paradigma imperativoIntrodução ao paradigma imperativo
Introdução ao paradigma imperativo
Tony Alexander Hild
 
TREINAMENTO E DESENVOLVIMENTO PESSOAL
TREINAMENTO E DESENVOLVIMENTO PESSOALTREINAMENTO E DESENVOLVIMENTO PESSOAL
TREINAMENTO E DESENVOLVIMENTO PESSOAL
Jessica Ferreira
 
Psicologia do trabalho
Psicologia do trabalhoPsicologia do trabalho
Psicologia do trabalhoHugo Cordeiro
 
Software
SoftwareSoftware
Requisição domiciliário livro que vai e que vem
Requisição domiciliário   livro que vai e que vemRequisição domiciliário   livro que vai e que vem
Requisição domiciliário livro que vai e que vem
Maria João Silva
 
2º trabalho de base dados
2º trabalho de base dados2º trabalho de base dados
2º trabalho de base dadosessa
 

Destaque (20)

Linguagem da programação
Linguagem da programaçãoLinguagem da programação
Linguagem da programação
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação
 
Linguagem de Programação II - Plano de Ensino
Linguagem de Programação II - Plano de EnsinoLinguagem de Programação II - Plano de Ensino
Linguagem de Programação II - Plano de Ensino
 
Paradigmas de Linguagens de Programação - Introdução
Paradigmas de Linguagens de Programação - IntroduçãoParadigmas de Linguagens de Programação - Introdução
Paradigmas de Linguagens de Programação - Introdução
 
Apresentação linguagem cobol
Apresentação linguagem cobolApresentação linguagem cobol
Apresentação linguagem cobol
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
Paradigmas de Linguagens de Programação - Quatro Paradigmas + Ambientes de Pr...
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programação
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Linguagem de Programação II - Apresentação da Disciplina
Linguagem de Programação II - Apresentação da DisciplinaLinguagem de Programação II - Apresentação da Disciplina
Linguagem de Programação II - Apresentação da Disciplina
 
Introdução ao paradigma imperativo
Introdução ao paradigma imperativoIntrodução ao paradigma imperativo
Introdução ao paradigma imperativo
 
TREINAMENTO E DESENVOLVIMENTO PESSOAL
TREINAMENTO E DESENVOLVIMENTO PESSOALTREINAMENTO E DESENVOLVIMENTO PESSOAL
TREINAMENTO E DESENVOLVIMENTO PESSOAL
 
Psicologia do trabalho
Psicologia do trabalhoPsicologia do trabalho
Psicologia do trabalho
 
Software
SoftwareSoftware
Software
 
Guião de utilização do Catwin - Registo novo
Guião de utilização do Catwin - Registo novoGuião de utilização do Catwin - Registo novo
Guião de utilização do Catwin - Registo novo
 
Requisição domiciliário livro que vai e que vem
Requisição domiciliário   livro que vai e que vemRequisição domiciliário   livro que vai e que vem
Requisição domiciliário livro que vai e que vem
 
2º trabalho de base dados
2º trabalho de base dados2º trabalho de base dados
2º trabalho de base dados
 
Bailarina
BailarinaBailarina
Bailarina
 

Semelhante a Linguagens de programação

Linguagensdeprogramao 100611235520-phpapp01
Linguagensdeprogramao 100611235520-phpapp01Linguagensdeprogramao 100611235520-phpapp01
Linguagensdeprogramao 100611235520-phpapp01
Romário santos
 
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
 
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
 
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
NelsonCavalheirodosR
 
Linguagem C Entendendo a Programação
Linguagem C Entendendo a ProgramaçãoLinguagem C Entendendo a Programação
Linguagem C Entendendo a Programação
Monike Santos
 
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
AmlieOGalaxias
 
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdfparadigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
AndreiaCristinaFlore
 
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
 
LP002 - AULA 1.potx
LP002 - AULA 1.potxLP002 - AULA 1.potx
LP002 - AULA 1.potx
MarceloRosenbrock1
 
LP003 - AULA 2.potx
LP003 - AULA 2.potxLP003 - AULA 2.potx
LP003 - AULA 2.potx
MarceloRosenbrock1
 
Object pascal
Object pascalObject pascal
Trabalho linguagem python
Trabalho linguagem  pythonTrabalho linguagem  python
Trabalho linguagem python
Bruno Maspoli
 
IES GF - Linguagem de Programação Estruturada - Parte 1
IES GF - Linguagem de Programação Estruturada - Parte 1IES GF - Linguagem de Programação Estruturada - Parte 1
IES GF - Linguagem de Programação Estruturada - Parte 1
Ramon Mayor Martins
 
Poo frank
Poo frankPoo frank
Poo frank
Francelma
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
Franklin G. Mendes
 
Progamacao para não programadores
Progamacao para não programadoresProgamacao para não programadores
Progamacao para não programadores
alexandre freire
 
aula03-introprogy.pptx
aula03-introprogy.pptxaula03-introprogy.pptx
aula03-introprogy.pptx
brayankedroksi
 
Desenvolvimento de Jogos
Desenvolvimento de JogosDesenvolvimento de Jogos
Desenvolvimento de Jogos
KelvinSalton
 

Semelhante a Linguagens de programação (20)

Linguagensdeprogramao 100611235520-phpapp01
Linguagensdeprogramao 100611235520-phpapp01Linguagensdeprogramao 100611235520-phpapp01
Linguagensdeprogramao 100611235520-phpapp01
 
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
 
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
 
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
 
Isc aula 7
Isc   aula 7Isc   aula 7
Isc aula 7
 
Linguagem C Entendendo a Programação
Linguagem C Entendendo a ProgramaçãoLinguagem C Entendendo a Programação
Linguagem C Entendendo a Programação
 
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
 
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdfparadigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
 
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
 
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
 
Object pascal
Object pascalObject pascal
Object pascal
 
Trabalho linguagem python
Trabalho linguagem  pythonTrabalho linguagem  python
Trabalho linguagem python
 
IES GF - Linguagem de Programação Estruturada - Parte 1
IES GF - Linguagem de Programação Estruturada - Parte 1IES GF - Linguagem de Programação Estruturada - Parte 1
IES GF - Linguagem de Programação Estruturada - Parte 1
 
Poo frank
Poo frankPoo frank
Poo frank
 
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
 
aula03-introprogy.pptx
aula03-introprogy.pptxaula03-introprogy.pptx
aula03-introprogy.pptx
 
Desenvolvimento de Jogos
Desenvolvimento de JogosDesenvolvimento de Jogos
Desenvolvimento de Jogos
 

Mais de essa

Ubuntu versão final
Ubuntu versão finalUbuntu versão final
Ubuntu versão finalessa
 
Si trabalho
Si trabalhoSi trabalho
Si trabalhoessa
 
Espaço shengen (questão integradora cp1)
Espaço shengen (questão integradora cp1)Espaço shengen (questão integradora cp1)
Espaço shengen (questão integradora cp1)essa
 
Configuração de um router trabalho rlw
Configuração de um router trabalho rlwConfiguração de um router trabalho rlw
Configuração de um router trabalho rlwessa
 
Ubuntu
UbuntuUbuntu
Ubuntuessa
 
Windows seven 08-04-10(1)
Windows seven   08-04-10(1)Windows seven   08-04-10(1)
Windows seven 08-04-10(1)essa
 
Questao integradora nova
Questao integradora novaQuestao integradora nova
Questao integradora novaessa
 
Questao integradora nova[1]
Questao integradora nova[1]Questao integradora nova[1]
Questao integradora nova[1]essa
 
Questao integradora cidadania europeia cp1
Questao integradora cidadania europeia cp1Questao integradora cidadania europeia cp1
Questao integradora cidadania europeia cp1essa
 
Programação 1
Programação 1Programação 1
Programação 1essa
 
1º trabalho base dados
1º trabalho base dados1º trabalho base dados
1º trabalho base dadosessa
 
Intel core i3,i5,i7
Intel core i3,i5,i7Intel core i3,i5,i7
Intel core i3,i5,i7essa
 

Mais de essa (12)

Ubuntu versão final
Ubuntu versão finalUbuntu versão final
Ubuntu versão final
 
Si trabalho
Si trabalhoSi trabalho
Si trabalho
 
Espaço shengen (questão integradora cp1)
Espaço shengen (questão integradora cp1)Espaço shengen (questão integradora cp1)
Espaço shengen (questão integradora cp1)
 
Configuração de um router trabalho rlw
Configuração de um router trabalho rlwConfiguração de um router trabalho rlw
Configuração de um router trabalho rlw
 
Ubuntu
UbuntuUbuntu
Ubuntu
 
Windows seven 08-04-10(1)
Windows seven   08-04-10(1)Windows seven   08-04-10(1)
Windows seven 08-04-10(1)
 
Questao integradora nova
Questao integradora novaQuestao integradora nova
Questao integradora nova
 
Questao integradora nova[1]
Questao integradora nova[1]Questao integradora nova[1]
Questao integradora nova[1]
 
Questao integradora cidadania europeia cp1
Questao integradora cidadania europeia cp1Questao integradora cidadania europeia cp1
Questao integradora cidadania europeia cp1
 
Programação 1
Programação 1Programação 1
Programação 1
 
1º trabalho base dados
1º trabalho base dados1º trabalho base dados
1º trabalho base dados
 
Intel core i3,i5,i7
Intel core i3,i5,i7Intel core i3,i5,i7
Intel core i3,i5,i7
 

Linguagens de programação

  • 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