Linguagens de Programação

Slides:



Advertisements
Apresentações semelhantes
Algoritmo e Programação
Advertisements

1.3.2 – Linguagem Assembly Um programa em linguagem de máquina sofre de total falta de clareza O programa é uma sequência de linhas numeradas Cada linha.
Introdução à Ciência da Computação Linguagens de Programação.
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Ciência da Computação Aula 06: Funções.
Arquitetura e organização de computadores.
Linguagem de Montagem Visão geral.
Paradigmas de Linguagens Conceitos Básicos
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula.
Software Básico Silvio Fernandes
ARQUITETURAS RISC E CISC
Introdução a Informática
INTRODUÇÃO À PROGRAMAÇÃO
LPG - I: Alocação Dinâmica de Memória - Ponteiros
Professor: Erivelto Tschoeke – UDESC/CEPLAN
Ferramentas Programação
Universidade Federal do Espírito Santo
Complexidade de Algoritmos
Arquitetura de Computadores
Sistemas Operacionais
Prof. Msc. Raul Paradeda Aula 2 Introdução
Professor Fernando Luís
Paradigmas de programação
Lógica de Programação UNIDADE 1 – Introdução a) Computador
JAVA: Conceitos Iniciais
PROGRAMAÇÃO I UNIDADE 1.
Representação de Instruções
Linguagem de Programação II Parte IX
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.
PCI- Introdução à Computação
Introdução a Programação
Sistemas Operacionais
Arquitetura de computadores
Avaliação da Linguagem de Programação
Organização e Arquitetura de Computadores
Professor: Márcio Amador
02/08/2011 Professor Leomir J. Borba- –
Orientação a Objetos Parte I
Lógica Estruturada Aplicada
Geração de Código aula-12-geração-de-código.pdf.
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Sistemas Operacionais
Técnicas de Programação - TPR
Projeto de Linguagens de Programação
Processadores de Linguagens
Sistemas da informação para processos produtivos Softwares e programação.
Algumas notas sobre a linguagem de programação C
Zeque - Grad. CC1 Sistemas Operacionais Curso de Ciência da Computação da UFPE Prof. José Queiroz - ZEQUE.
Back-End Compilação aula-11-back-end.pdf.
PCS - Departamento de Engenharia de Computação e Sistemas Digitais Projeto de Formatura – Turmas 2010 Integrantes: Professor Orientador: Co-orientador:
Algoritmos e Programação I
Fundamentos de linguagens de programação
Software Básico Introdução à Organização de Computadores Capítulo 1 Mitsuo Takaki
Introdução à Computação - Jorge Macêdo1 ICC – Software Jorge Macêdo.
Algoritmos e Programação MC102
Gerenciamento de Memória - Capítulo 7 - Sistemas Operacionais Prof. Dr. José Carlos Becceneri Luciana Sêda Cardoso.
Programação Computacional Aula 2: Introdução -Algoritmos
Linguagens de Programação
SISTEMAS DE INFORMAÇÃO
Linguagem de Programação I PARTE i
Introdução à lógica de programação
Ciência da Computação I
Influencias sobre o Projeto da Linguagem
Computadores vs. Programas / Algoritmos Computadores vs. Programas -> Algoritmos O tratamento de problemas através do computador geralmente envolve uma.
LÓGICA DE PROGRAMAÇÃO Curso: Técnico em Informática Professor: Ronaldo Disciplina: Lógica de Programação.
Módulo I – Softwares: Linguagens de Programação Prof.: Rogério Morais.
PROGRAMAÇÃO DE COMPUTADORES Engenharia Unificado Prof. Leonardo Bacelar Lima Santos Departamento de Matemática
COMPILADORES 02 Prof. Marcos. COMPILADORES Do Programa à Execução Computadores das mais variadas arquiteturas têm funcionamento:
EA869 Modos de Endereçamento Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1.
Lógica de Programação Aula 06 Prof. Marcelo Marcony.
Transcrição da apresentação:

Linguagens de Programação Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação Linguagens de Programação Professor Responsável: Luiz Affonso Henderson Guedes de Oliveira Prof. Do Estágio Docente: Kliger Kissinger F. Rocha Valnaide Gomes Bittencourt Turma: Engenharia Química – 2004.1 Natal, RN, abril/2004

LINGUAGENS DE PROGRAMAÇÃO Usadas para descrever algoritmos; isto é, seqüências de passos que levam à solução de um problema. Permitir que os usuários especifiquem como estes passos devem ser seqüenciados para resolver um problema. Especificar algoritmos com precisão.

Tipos de Linguagem As linguagens de baixo nível Restritas a linguagem de máquina Forte relação entre as operações implementadas pela linguagem e as operações implementadas pelo hardware. As linguagens de alto nível Aproximam-se das linguagens utilizadas por humanos para expressar problemas e algoritmos Cada declaração numa linguagem de alto nível equivale a várias declarações numa linguagem de baixo nível.

Primeiras Linguagens Programadores usavam linguagem de máquina Seqüências de dígitos binários (0s e 1s). Por exemplo, a instrução “some 1 + 1” deveria ser representada como: 10100100 Muitas desvantagens: Grande probabilidade de erro em todos os estágios do processo de programação. Mesmo sendo com algoritmos simples resulta em longos programas, o que dificulta o processo de validação e detecção de erros. O cálculo de endereços de memória devem ser feitos manualmente, com um árduo trabalho e uma grande probabilidade de erros.

Assembler Algumas das desvantagens podem ser superadas fazendo com que o computador seja o responsável pelo estágio de tradução. O programa ainda é escrito em termos de operações básicas de máquina, mas a tradução em código binário é feita pelo computador. O programa que faz essa tradução é chamado de assembler Exemplo: ADD 1,1 Trata do problema de cálculo de endereço, usando nomes em formato de texto para endereçar os dados.

Linguagens de Alto Nível Vs Linguagens de Baixo Nível Problemas podem ser solucionados muito mais rapidamente e com muito mais facilidade A solução do problema não necessita ser obscurecida pelo nível de detalhes necessários em um programa em linguagem de baixo nível. O programa em linguagem de alto nível é normalmente fácil de seguir e entender cada passo da execução.

Linguagens de Alto Nível Vs Linguagens de Baixo Nível Indicada para funções que precisam implementar instruções de máquina específicas que não são suportadas por linguagens de alto nível A grande eficiência e o reduzido tamanho dos programas Impossibilidade de uso de linguagens de alto nível (hardware simples)

Histórico das Linguagens de Programação Existem centenas de linguagens de programação Agrupadas em 4 gerações: Primeira geração: linguagem de máquina Segunda geração: grande quantidade de bibliotecas de software, sistemas de execução em tempo real e desenvolvimento de gerenciadores de base de dados. Terceira geração: capacidade procedural e estrutural Quarta geração: sistemas especialistas, desenvolvimento de inteligência artificial execução dos programas em paralelo.

Processamento de Linguagens Embora seja teoricamente possível a construção de computadores especiais, capazes de executar programas escritos em uma linguagem de programação qualquer, os computadores existentes hoje em dia são capazes de executar somente programas em uma linguagem de nível baixo, a linguagem de máquina. Linguagens de máquina: rapidez de execução de programas, do custo de sua implementação

Processamento de Linguagens Linguagens de programação: facilidade na construção e da confiabilidade de programas Um problema básico:como uma linguagem de nível mais alto pode ser implementada em um computador cuja linguagem de máquina é bastante diferente, e de nível bem mais baixo. Existem basicamente duas alternativas para esta implementação: interpretação e tradução.

Interpretação Nesta solução, as ações indicadas pelos comandos da linguagem são diretamente executadas. Mais precisamente, um interpretador é um programa que 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.

Tradução Nesta solução, programas escritos em linguagem de alto nível são traduzidos para versões equivalentes em linguagem de máquina, antes de serem executados. Esta tradução é feita em vários passos. Por exemplo: Inicialmente traduzidos para código Assembly (compilador) Depois ser traduzido para código relocável (objeto), em linguagem de máquina O programa inteiro é carregado na memória principal, como código executável de máquina.