SISTEMAS DE INFORMAÇÃO

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais Aula II
Advertisements

Algoritmo e Programação
Software Prof. Lucio Mauro Duarte Prof. Avelino Zorzo
Material elaborado pela professora Alzennyr Cléa da UFRPE / DFM
gerador de código intermediário
Introdução à Ciência da Computação Linguagens de Programação.
Arquitetura e organização de computadores.
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
Entrada e Saída Introdução.
Linguagem de Montagem Visão geral.
Software Básico Silvio Fernandes
LABORATÓRIO DE PROGRAMAÇÃO
Introdução à Compilação Prof. Leandro Magno Slides adaptados a partir do material cedido pelos professores Heloise Manica Paris Teixeira, Yandre M. G.
Teoria dos Compiladores
INTRODUÇÃO À PROGRAMAÇÃO
Professor: Erivelto Tschoeke – UDESC/CEPLAN
Ferramentas Programação
Curso Sistemas de Informação Disciplina: Arquitetura de Software
Tradutores de Linguagens
Linguagens de Programação
Princípios de funcionamento
Prof. Msc. Raul Paradeda Aula 2 Introdução
Professor Fernando Luís
Lógica de Programação UNIDADE 1 – Introdução a) Computador
JAVA: Conceitos Iniciais
PROGRAMAÇÃO I UNIDADE 1.
Aula prática - análise contextual
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Ciência da Computação Aula 02: Introdução.
Linguagem de programação I A
Aula 1 - Introdução ao C Ameliara Freire.
PCI- Introdução à Computação
Laboratório I Mateus Raeder Material baseado nos originais da
Avaliação da Linguagem de Programação
Organização e Arquitetura de Computadores
Professor: Márcio Amador
02/08/2011 Professor Leomir J. Borba- –
Geração de Código aula-12-geração-de-código.pdf.
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
Software Básico Nível ISA Capítulo 5 Mitsuo Takaki
Capítulo VIII Ambientes de Execução
Execução de programas Cap. VIII.
Analise Semântica aula-10-analise-semântica.pdf.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Projeto de Linguagens de Programação
Processadores de Linguagens
Sistemas da informação para processos produtivos Softwares e programação.
Introdução a Banco de Dados Aula 04
Conceitos Básicos de Informática
Organização e Arquitetura de Computadores
Back-End Compilação aula-11-back-end.pdf.
Algoritmos e Programação I
COMPILADORES 04 Prof. Marcos.
Fundamentos de linguagens de programação
CES-10 INTRODUÇÃO À COMPUTAÇÃO
Software Básico Introdução à Organização de Computadores Capítulo 1 Mitsuo Takaki
Algoritmos e Programação MC102
Descrever as tendências principais na área de software.
SISTEMAS DE INFORMAÇÃO
Introdução a linguagem de Programação Java. Linguagens de Programação Linguagens de máquina(muito difíceis de usar e compreender) – Comanda ações do computador.
Faculdade Pernambuca - FAPE
Paradigmas de Programação
Introdução à lógica de programação
Paradigmas das Linguagens de Programação - História
Introdução à Programação
ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções
Compilador Software que traduz o texto (linguagem fonte) que representa um programa para código máquina(linguagem alvo) capaz de ser executado pelo.
Influencias sobre o Projeto da Linguagem
LÓGICA DE PROGRAMAÇÃO Curso: Técnico em Informática Professor: Ronaldo Disciplina: Lógica de Programação.
COMPILADORES 02 Prof. Marcos. COMPILADORES Do Programa à Execução Computadores das mais variadas arquiteturas têm funcionamento:
Transcrição da apresentação:

SISTEMAS DE INFORMAÇÃO Disciplina: Introdução à Computação Professora: Dina Françoile – dinna@bol.com.br Aula 3: Linguagens de Programação

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

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

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

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 .

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.

Processo de Compilação Programa-fonte Analisador Léxico Analisador Sintático Gerador de Código Intermediário e Analisador Semântico Gerador de Có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

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

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

Processo de Compilação Analisador Sintático: verifica se o programa está sintaticamente correto pegando as unidades do analisador léxico. Analisador Sintático

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 e Analisador Semântico

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. Gerador de Código Final

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 Tabela de Símbolos

Processo de Compilação Programa-fonte Analisador Léxico Analisador Sintático Gerador de Código Intermediário e Analisador Semântico Gerador de Có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

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.

Interpretação Interpretação Pura ou Interpretação Programa-fonte Interpretador Resultados Dados de entrada

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

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

Interpretação Programa-fonte Interpretador Resultados Dados de entrada

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

Gerador de Código Intermediário 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

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

Sistemas Híbridos Analisador léxico: reúne os caracteres do programa-fonte em unidades léxicas. Analisador Léxico

Sistemas Híbridos Analisador Sintático: verifica se o programa está sintaticamente correto pegando as unidades do analisador léxico. Analisador Sintático

Gerador de Código Intermediário 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

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

Gerador de Código Intermediário 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

Bibliografia SEBESTA, Robert W. Conceitos de Linguagens de Programação

SISTEMAS DE INFORMAÇÃO Disciplina: Introdução à Computação Professora: Dina Françoile – dinna@bol.com.br Aula 4: Gerenciamento de Dados

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.

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

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

Bibliografia O´BRIEN, James A. Sistemas de Informação e as decisões gerenciais na era da Internet. ed. Saraiva. 2ª Edição - 2004 STAIR, Ralph. Princípios de sistemas de informação: uma abordagem gerencial. Rio de Janeiro. Editora: LTC. Tradução da 6ª Edição, 2006