Sei sulla pagina 1di 22

Introdução à Ciência da

Computação

Linguagens de Programação
Introdução
• Computador é somente uma máquina

• “Só realiza operações que tenham sido


previamente programadas”

• A questão é: como?
Introdução
• Uma unidade de execução típica consiste de 4 passos:
– Obter o endereço de locações para um resultado e 1 ou mais
operandos
– Obter o dado operando da(s) locação(ões) do operando
– Computar o dado resultado dos dados operandos
– Armazenar o dado resultado na locação resultado.

• Exemplo de execução de uma operação básica:


– C := A + B
• Obter os endereços de A, B e C
• Obter os dados dos Endereços A e B
• Computar o resultado de A + B
• Armazenar o resultado na locação de C
– Unidade de Programa Padrão
• (que no caso acima é chamada de: Comando de Atribuição)
Linguagens de Programação
• Definições

– Algoritmos

• “Conjunto predeterminado e bem definido de regras e


processos destinados à solução de um problema, com um
número finito de etapas”

• É a descrição, de forma lógica, de um conjunto finito de


passos a serem executados no cumprimento de
determinada tarefa
Linguagens de Programação
• Abstração

– Como em qualquer modelo, um algoritmo é uma


abstração da realidade.
– é o processo de identificar as propriedades
relevantes do fenômeno que esta sendo modelado.
– Usando o modelo abstrato, podemos nos centrar
unicamente nas propriedades relevantes,
dependendo da finalidade da abstração, e ignorar as
irrelevantes
Linguagens de Programação
• Sintaxe
– É um conjunto de regras que determinam
quais construções são corretas

• Semântica
– Descrição de como as construções
sintaticamente corretas são interpretadas ou
executadas ( informal )
Linguagens de Programação
• Programa

– é a formalização de um algoritmo em uma


determinada linguagem de programação,
segundo suas regras de sintaxe e semântica,
de forma a permitir que o computador possa
interpretar a seqüência de ações a executar.
Linguagens de Programação

• Definição

– conjunto finito de símbolos com os quais se


escrevem programas de computador.
Classificações
• Linguagem de alto nível
– linguagem que se aproxima mais da linguagem utilizada pelo
ser humano. Exemplos: Pascal, COBOL, C e SQL.
– Obs.: Delphi e o Visual Basic são ambientes de programação e
não linguagens no sentido estrito da definição. O Delphi tem por
linguagem base um extensão do Pascal chamada Pascal
Orientado a Objetos ou Object-Pascal e o Visual Basic tem por
base uma linguagem que é um extensão do Basic de nome
Visual Basic.
• Linguagem de nível intermediário
– linguagem entre a linguagem de alto nível e a linguagem de
baixo nível.
– São códigos chamados de mnemônicos, mais conhecidos como
assembly.
• Linguagem de baixo nível
– código que o computador executa diretamente, composta de 0´s
e 1´s e conhecida como linguagem binária.
Classificações
• Procidemental vs não-procedimental

– procedimental
• o usuário deve descrever, comando a comando, como o
programa trabalhará para chegar ao fim desejado. Exemplos
típicos são Pascal, Cobol e C.

– não-procedimental
• o usuário deve descrever o que programa executará, mas
não como fará isso. Exemplo típico é a linguagem SQL.
Gerações
• Primeira Geração
– Linguagens de máquina usadas nos anos 50;
– Codificadas em binários
• Segunda Geração
– Linguagens de montagem ou Assembly
– Mnemônicos e ainda em baixo nível
• Terceira Geração
– Linguagens mais próximas do contexto de aplicação e da
interação humana
– Exemplos: Basic, Pascal, Fortran, C, etc.
• Quarta Geração
– Maior nível de abstração

(Yourdon, E)
Linguagens de Programação
• Do programador ao computador

– Compilação:
• Transformação do código-fonte para linguagem de
máquina, que possa ser interpretado e executado
pelo computador.

Código Código
Fonte Tradutor Objeto
Linguagens de Programação
• Código-fonte
– não é executável diretamente pelo processador
– permite apenas que o programador consiga definir o
programa em uma forma legível aos humanos.
• Código-objeto
– é o código produzido pelo compilador
– é uma forma intermediária, similar a linguagem de
máquina do computador.
– Apesar de estar representado em binário, não é
executável diretamente pelo processador
– pode referenciar partes de programa que não estão
necessariamente definidas no mesmo arquivo
Linguagens de Programação
• Interpretação

– tradução do programa fonte um comando por vez por


aplicativo específico
– executa repetidamente a seguinte seqüência:
1. Obter o próximo comando do programa.
2. Determinar que ações devem ser executadas.
3. Executar estas ações.
– Características
• Identificação de erros na linguagem original em cada ponto
de execução
• Prototipagem Rápida
• Baixa Performance
Linguagens de Programação
• Compilação

– Um compilador traduz o programa fonte inteiro, produzindo


outro programa equivalente em linguagem executável

– Esta tradução é feita em vários passos. Por exemplo:


• Inicialmente traduzidos para código Assembly (compilador)
• Depois ser traduzido para código realocável (objeto), em linguagem
de máquina
• O programa inteiro é carregado na memória principal, como código
executável de máquina.
– Características
• Traduz cada comando apenas uma vez
• Alta performance
• Portabilidade
Exemplos
Exemplo
• Exemplo de um Programa “fonte” em C

#define TAM 40 /* Definicoes */


#include <stdio.h> /* Biblioteca usada */
void main ( )
{
char nome[TAM]; /* variável */
int i;
puts("Por favor, qual o seu nome e sua idade.");
scanf("%s", &nome);/* Entrada de dados do vetor */
scanf("%d",&i);
printf("Eu sou um computador, em que posso ajuda-lo
%s?\n", nome);
printf("%d",i);
}
Exemplo
• Exemplo de execução do programa
Exemplo
• Exemplo de um “executável”
Exemplo
• Editando o arquivo executável

– Em hexadecimal
Logo
• PF n
• PT n
• PD n
• PE n
• REPITA n [ comando(s) ]
• TAT
• UL (usalapis)
• UN (usanada)

• http://www.nied.unicamp.br/publicacoes/pub.php?
classe=software&cod_publicacao=70
Cronograma
• 08 – Linguagens de Programação
• 09 – Redes e Internet
• 10 – Construindo uma página na Internet
• 11 – Utilizando recursos da Internet e data limite
para armazenamento dos trabalhos.
• 12 – Apresentações de Seminários
• 13 – Apresentações de Seminários
• 14 – Apresentações de Seminários
• 15 – Avaliação e relatório sobre apresentações

Potrebbero piacerti anche