introdução à ciência da computação linguagens de programação

22
Introdução à Ciência da Computação Linguagens de Programação

Upload: internet

Post on 16-Apr-2015

131 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introdução à Ciência da Computação Linguagens de Programação

Introdução à Ciência da Computação

Linguagens de Programação

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

Page 3: Introdução à Ciência da Computação Linguagens de Programação

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)

Page 4: Introdução à Ciência da Computação Linguagens de Programaçã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

Page 5: Introdução à Ciência da Computação Linguagens de Programação

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

Page 6: Introdução à Ciência da Computação Linguagens de Programação

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 )

Page 7: Introdução à Ciência da Computação Linguagens de Programação

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.

Page 8: Introdução à Ciência da Computação Linguagens de Programação

Linguagens de Programação

• Definição

– conjunto finito de símbolos com os quais se escrevem programas de computador.

Page 9: Introdução à Ciência da Computação Linguagens de Programação

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.

Page 10: Introdução à Ciência da Computação Linguagens de Programação

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.

Page 11: Introdução à Ciência da Computação Linguagens de Programação

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)

Page 12: Introdução à Ciência da Computação Linguagens de Programação

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 Fonte Tradutor

Código Objeto

Page 13: Introdução à Ciência da Computação Linguagens de Programação

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

Page 14: Introdução à Ciência da Computação Linguagens de Programação

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

Page 15: Introdução à Ciência da Computação Linguagens de Programação

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

Page 16: Introdução à Ciência da Computação Linguagens de Programação

Exemplos

Page 17: Introdução à Ciência da Computação Linguagens de Programação

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);}

Page 18: Introdução à Ciência da Computação Linguagens de Programação

Exemplo

• Exemplo de execução do programa

Page 19: Introdução à Ciência da Computação Linguagens de Programação

Exemplo

• Exemplo de um “executável”

Page 20: Introdução à Ciência da Computação Linguagens de Programação

Exemplo

• Editando o arquivo executável

– Em hexadecimal

Page 21: Introdução à Ciência da Computação Linguagens de Programação

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

Page 22: Introdução à Ciência da Computação Linguagens de Programação

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