Aplicação. Programa Linguagem de Alto Nível. Programa em Linguagem Assembly. Programa em Linguagem Máquina

Documentos relacionados
Existem três categorias principais de linguagem de programação: linguagem de máquina, linguagens assembly e linguagens de alto nível.

Desenvolvimento de Aplicações Desktop

Arquitectura de Computadores

Linguagens de Programação Classificação

Compiladores. Introdução à Compiladores

Apresentação. Informação geral + Conceitos iniciais

Lic. Engenharia de Sistemas e Informática

Aula teórica 7. Preparado por eng.tatiana Kovalenko

a) Computador b) Estrutura do sistema i. Hardware ii.software c) Linguagens de Programação i. Paradigmas e Programação 1.

Sistema Computacional

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 1ª Parte Prof. Sandra Pais Soares

Programação: Compiladores x Interpretadores PROF. CARLOS SARMANHO JR

DECivil Departamento de Engenharia Civil, Arquitectura e Georrecursos. Apresentação. Computação e Programação (CP) 2013/2014.

Sâmia Rodrigues Gorayeb. Arquitetura de Computadores Linguagem de Máquina

TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE. Professora: Isabela C. Damke

Introdução à Programação de Computadores Fabricação Mecânica

Função Fundamental do SO

Estrutura e funcionamento básico de um computador

II.1 Conceitos Fundamentais. Uma delas é programar o =>

Arquitetura e Organização de computadores

Ferramentas Programação. UDESC - Prof. Juliano Maia 1

Introdução à Computação: Máquinas Multiníveis

Programação de Computadores

INFORMÁTICA: Informação automática

Memória. Arquitetura de Von Neumann. Universidade do Vale do Rio dos Sinos Laboratório I Prof.ª Vera Alves 1 CPU. Unidade de controle ULA

Linguagens de Programação

Linguagens de Programação

Programação de Computadores

Programação de Computadores

Linguagens de máquina, linguagens simbólicas e linguagens de alto nível

Arquitectura e Organização de Computadores

Linguagens compiladas: C++ Fora do livro adoptado

Introdução à Computação

Arquitetura e Organização de computadores

Resolução de Problemas com Computador. Resolução de Problemas com Computador. Resolução de Problemas com Computador

Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang

Organização de um computador. O que é um computador Organização de um computador Arquitectura de von Neumann

Projeto de Compiladores

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

3. Linguagem de Programação C

Sistemas Operacionais

Arquitectura e Organização de Computadores

Compiladores. Motivação. Tradutores. Motivação. Tipos de Tradutores. Tipos de Tradutores

Introdução ao Fortran 90

Arquitetura de Computadores

Introdução à Computação

COMPILAÇÃO. Ricardo José Cabeça de Souza

Introdução à Computação

1 Introdução à Programação O que é? Para que serve?... 1

Programação de Computadores:

Construção de Compiladores. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2014.

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

PROGRAMAÇÃO I. Introdução

Infraestrutura de Hardware. Funcionamento de um Computador

Estrutura e Funcionamento dos Computadores (Conceitos Básicos)

Conceitos básicos sobre computadores (continuação)

AJProença, Sistemas de Computação, UMinho, 2017/18 1

Programação de Computadores IV. Introdução a Linguagens de Programação Simone Martins SLIDES CEDIDOS POR BRUNO MARQUES 1

4 O conceito de variável

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão.

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

Métodos de implementação de linguagens. Kellen Pinagé

Compiladores. Introdução

LISTA DE EXERCÍCIOS 01 INTRODUÇÃO À INFORMÁTICA

Informática Básica. Licenciatura em Ciência da Informação. Tito Carlos S. Vieira. Tito Carlos S. Vieira

Arquitetura de Um Computador

ORGANIZAÇÃO DE COMPUTADORES

Organização e Arquitetura de Computadores INTRODUÇÃO

Introdução (Aula 2) Introdução Arquitetura de Hardware. Organização Estruturada de Computadores. Introdução Conceitos (2) Introdução Conceitos (1)

Paradigmas de Linguagem de Programação. Aspectos Básicos

Algoritmos e Programação

Introdução às Bases de Dados

Arquitetura de Von Neumann

Introdução à Computação Parte 2

CP Introdução à Informática Prof. Msc. Carlos de Salles

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

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

Conversões de Linguagens: Tradução, Montagem, Compilação, Ligação e Interpretação

Algoritmos Computacionais

Introdução ao Python. Programa Computacional

Introdução. (Aula 2) Organização Estruturada de Computadores

EA876 - Introdução a Software de Sistema

Montador (assembler)

Arquiteturas RISC e CISC. Adão de Melo Neto

Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade

Algoritmos. Prof. Jonatas Bastos Site:

Instituto Superior de Engenharia de Lisboa

PROGRAMAÇÃO ORIENTADA A OBJETOS I -CONCEITOS PRELIMINARES. Prof. Angelo Augusto Frozza, M.Sc.

Aula de hoje. Programação. Comunicação com computadores. Comunicação com computadores. Comunicação com computadores. Comunicação com computadores

Fundamentos de Programação 1

Máquinas. Visão geral O que você precisa Fatores de sucesso O futuro. realizar algo, precisa que alguém m lhe indique o que fazer V.V.

Estrutura do tema ISC

Programação Estruturada

Algoritmo de Programação. Aula1

Puca Huachi Vaz Penna

Programação de Computadores I Introdução PROFESSORA CINTIA CAETANO

SSC304 Introdução à Programação Para Engenharias

Transcrição:

Níveis de Abstracção Nível 5 Nível 4 Nível 3 Nível 2 Nível 1 Nível 0 Aplicação Programa de Alto Nível Programa em Assembly Programa em Máquina Micro-programa em de Transferência de Registos Sistema Digital (CPU) Programador Compilador Assembler Projectistas do Processador Projectistas de Sistemas Digitais 1 Níveis de Abstracção Cada nível de abstracção permite que sejam realizadas acções mais complexas e especializadas Os diferentes níveis de abstracção criados sobre o CPU tornam os computadores mais poderosos e simples de usar O nível de abstracção mais baixo a considerar é o da linguagem máquina, que é constituída por um conjunto de bits, directamente interpretável pelo processador 2

Linguagens O computador utiliza normalmente dois níveis de linguagem: máquina Utilizada para transmitir instruções à máquina (hardware) de modo a desempenhar as funções básicas do CPU; Linguagens criadas sobre a linguagem máquina Linguagens que têm capacidades e características particulares. 3 Linguagens A programação directamente em linguagem máquina exige dos programadores um esforço muito grande de memorização e de consulta de documentação, revelando-se muito ineficiente em termos de tempo investido. A programação de um computador pode e deve ser feita utilizando níveis de abstracção superiores usando linguagens de alto nível (Pascal, C, Java). Os programas escritos nestas linguagens têm de ser posteriormente traduzidos para linguagem assembly e daí para linguagem máquina, antes de serem executados pelo processador. 4

Compiladores e Interpretadores Os compiladores e os interpretadores permitem ao computador entender programas escritos em linguagens de programação de alto nível Compiladores (tradutores) Traduzem as linguagens de programação para a linguagem máquina Interpretadores (simuladores) Simulam a execução dos programas de modo a produzir o efeito desejado 5 Compiladores e Interpretadores Os compiladores e os interpretadores são programas escritos na linguagem máquina Programação Alto-nível Compilador Máquina Programação Alto-nível Interpretador Resultado 6

Porquê Assembly? Permite analisar muitos aspectos da arquitectura e da organização de um computador que estão escondidos do programador de uma linguagem de alto nível: Mostra como os programas interagem com o sistema operativo, processador e BIOS; Mostra como a informação é representada e armazenada na memória ou em componentes externos; Clarifica a forma como o processador recebe e executa instruções e como estas instruções, por sua vez, acedem e processam dados; Clarifica como um programa acede a componentes externos; 7 Assemblers O Assembler é um programa tradutor que recebe um ficheiro de dados.asm (ficheiro em texto simples com o código fonte em Assembly ou Simbólica) e traduz o mesmo para um ficheiro executável.com ou.exe (em Máquina). Programa fonte Assembly Assembler Máquina Programa objecto Dados Resultados 8

Falha vs Erro O erro (error) pode ser definido como algo que se encontra mal no código fonte, em termos de sintaxe ou semântica, e que impede o assembler de completar a tradução do código. A falha (bug) é uma incorrecção na estrutura do programa, que não é detectada pelo assembler, mas com que o programador se depara na execução do programa quando este gera um resultado imprevisto. Ambos devem ser corrigidos no código fonte. Uma vez que as falhas (bugs) são mais difíceis de detectar, existem programas específicos para a sua detecção e correcção. 9 Debbugers O debbuger (depurador) é um programa destinado a auxiliar o programador a localizar e corrigir as falhas dos programas. Permitem que o programador visualize no ecrã a execução das instruções do programa, uma a uma, e os seus efeitos nos diversos componentes que compõem a estrutura base do computador. Do ponto de vista do utilizador os debbugers são mais complexos que os assemblers, pois permitem que se façam inúmeras operações. 10