1 SISTEMAS DE INFORMAÇÃO Disciplina: Introdução à Computação Professora: Dina Françoile – [email protected] Aula 3: Linguagens de Programação
Apr 07, 2016
1
SISTEMAS DE INFORMAÇÃO
Disciplina:Introdução à Computação
Professora:Dina Françoile – [email protected]
Aula 3: Linguagens de Programação
2
Linguagens de Programação
Linguagem de Programação
É um método padronizado para expressar instruções para um computador.
Permite ao programador desenvolver os conjuntos de instruções que constituem o programa de computador
3
Linguagens de Programação Linguagem de Máquina
Uma linguagem de programação em que as instruções são expressas no código binário do computador
A linguagem de máquina é considerada uma linguagem de baixo nível porque não existe esquema de codificação de programa menos sofisticado do que este que usa símbolos binários (zeros e uns)
Sendo ainda a única linguagem capaz de instruir diretamente a Unidade Central de Processamento (UCP ou CPU). Desta forma, toda instrução de programa em outra linguagem deve ser traduzida para a linguagem de máquina antes da sua execução
4
Linguagens de Programação Linguagem de Baixo Nível
Uma linguagem em que cada declaração corresponde a uma instrução de máquina.
Linguagem de Alto Nível As linguagens de alto nível utilizam ordens,
chamadas instruções, que utilizam formulações ou expressões aritméticas.
As instruções individuais em linguagens de alto nível são, na verdade, macroinstruções, ou seja, cada instrução individual gera várias instruções de máquina quando traduzidas em linguagem de máquina
5
Linguagens de Programação Tradução
As linguagens de programação podem converter ou traduzir o código-fonte ou programa-fonte, descrito em linguagens de alto nível, em código de máquina;
Esse processo denomina-se tradução e os três métodos gerais são: Compilação; interpretação pura; sistemas híbridos .
6
Linguagens de Programação Compilação
Primeiramente, traduz todo o texto do programa (código-fonte ou programa-fonte), para só depois executar o programa
então se diz que o programa foi compilado e que o mecanismo utilizado pra a tradução é um compilador.
A versão compilada do programa tipicamente é armazenada, de forma que o programa pode ser executado um número indefinido de vezes, diretamente no computador, sem que seja necessária nova compilação. Isso é chamado de implementação compilada.
Esse método tem a vantagem de uma execução de programa muito rápida, assim que o processo de tradução for concluído.
7
Processo de Compilação
Programa-fonte
Analisador Léxico
Analisador Sintático
Gerador de Código Intermediário e Analisador Semântico
Gerador deCódigo Final
Computador
Tabela de Símbolos
Unidades Léxicas
Árvores de Análise
Código Intermediário
Linguagem de Máquina
Dados de Entrada
Resultados
8
Processo de Compilação
Programa-fonte: Texto do programa escrito em uma linguagem de programação; instruções descritas através das sintaxes das linguagens de programação.
Programa-fonte
9
Processo de Compilação
Analisador léxico: reúne os caracteres do programa-fonte em unidades léxicas e (identificadores, as palavras especiais, os operadores e os símbolos de pontuação etc.) atribui códigos internos às unidades de acordo com sua estrutura.
Analisador Léxico
10
Processo de Compilação
Analisador Sintático: verifica se o programa está sintaticamente correto pegando as unidades do analisador léxico.
Analisador Sintático
11
Processo de Compilação
O gerador de código intermediário produz um programa em uma linguagem diferente, no nível intermediário entre o programa-fonte e a saída final do compilador;
O analisador semântico faz parte integralmente do gerador de código intermediário e verifica se há erros referente a semântica da sintaxe.
Gerador de Código Intermediário
eAnalisador Semântico
12
Processo de Compilação
Gerador de Código Final: código converte a versão do código intermediário do programa para um programa em linguagem de máquina equivalente.
Geradorde
Código Final
13
Processo de Compilação
Tabela de Símbolos: serve como um banco de dados para o processo de compilação. Seu principal conteúdo são informações sobre tipos e atributos de cada nome definido pelo usuário no programa
Tabelade
Símbolos
14
Processo de Compilação
Programa-fonte
Analisador Léxico
Analisador Sintático
Gerador de Código Intermediário e Analisador Semântico
Gerador deCódigo Final
Computador
Tabela de Símbolos
Unidades Léxicas
Árvores de Análise
Código Intermediário
Linguagem de Máquina
Dados de Entrada
Resultados
15
Linguagens de Programação Interpretação Pura ou Interpretação
Se o texto do programa (código-fonte ou programa-fonte) é traduzido à medida que vai sendo executado, num processo de tradução de trechos seguidos de sua execução imediata, então diz-se que o programa foi interpretado e que o mecanismo utilizado para a tradução é um interpretador. Essa técnica é chamada de interpretação pura ou, simplesmente interpretação.
Programas interpretados são geralmente mais lentos que os programas compilados, a principal causa dessa lentidão é a decodificação das instruções de linguagem de alto nível, bem mais complexas do que as instruções em linguagem de máquina.
16
Interpretação Interpretação Pura ou Interpretação
Programa-fonte
Interpretador
Resultados
Dados de entrada
17
Interpretação
Programa-fonte: Texto do programa escrito em uma linguagem de programação; instruções descritas através das sintaxes das linguagens de programação.
Programa-fonte
18
Interpretação
Interpretador: tradutor acionado exatamente no momento de execução do programa. Tradução da LP de alto nível durante o tempo de execução.
Interpretador
20
Linguagens de Programação Sistemas de Implementação Híbridos
Alguns sistemas de implementação de linguagem são um meio-termo entre o compilador e o interpretador.
Eles traduzem programas em linguagem de alto nível para uma linguagem intermediária projetada para permitir fácil interpretação
21
Sistemas Híbridos
Programa-fonte
Analisador Léxico
Analisador Sintático
Gerador de Código Intermediário
Unidades Léxicas
Árvores de Análise
Código Intermediário
Interpretador
Resultados
Dados de entrada
22
Sistemas Híbridos
Programa-fonte: Texto do programa escrito em uma linguagem de programação; instruções descritas através das sintaxes das linguagens de programação.
Programa-fonte
23
Sistemas Híbridos
Analisador léxico: reúne os caracteres do programa-fonte em unidades léxicas.
Analisador Léxico
24
Sistemas Híbridos
Analisador Sintático: verifica se o programa está sintaticamente correto pegando as unidades do analisador léxico.
Analisador Sintático
25
Sistemas Híbridos
o gerador de código intermediário produz um programa em uma linguagem diferente, no nível intermediário entre o programa-fonte e a linguagem de máquina.
Gerador de Código Intermediário
26
Sistemas Híbridos
Interpretador: a tradução do código intermediário gerado será acionada exatamente no momento de execução do programa. Efetiva tradução para linguagem de máquina somente em tempo de execução.
Interpretador
27
Sistemas Híbridos Programa-fonte
Analisador Léxico
Analisador Sintático
Gerador de Código Intermediário
Unidades Léxicas
Árvores de Análise
Código Intermediário
Interpretador
Resultados
Dados de entrada
29
Disciplina:Introdução à Computação
Professora:Dina Françoile – [email protected]
Aula 4: Gerenciamento de Dados
SISTEMAS DE INFORMAÇÃO
30
Gerenciamento de Dados Banco de Dados
Coleção de dados e informações organizados de modo que possam ser acessados e utilizados em muitas aplicações diferentes
Sistema Gerenciador de Banco de Dados (SGBD) Funciona como interface de software entre usuário e os
bancos de dados; É um conjunto de programas de computador que controla
a criação, manutenção de uso dos bancos de dados por uma organização e seus usuários finais.
31
Gerenciamento de Dados Os quatro maiores usos de um SGBD
Desenvolvimento do Banco de Dados Consulta ao Banco de Dados Manutenção dos Bancos de Dados Desenvolvimento de Aplicações
Administração de Banco de Dados controle e níveis de acesso
32
Gerenciamento de Dados
Administração de Banco de Dados Os bancos de dados e os sistemas de gerenciamento de
bancos de dados são instalados e coordenados por uma pessoa ou um grupo que executa uma função chamada administração de banco de dados;
Controle de acesso: tem como função permitir ou não o acesso ao sistema;
Níveis de acesso: determinam onde e como o usuário pode acessar informações específicas