ALP Algoritmos e Programação. . Linguagens para Computadores



Documentos relacionados
O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.

ARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa

Introdução às Linguagens de Programação

3 Revisão de Software

Introdução à Arquitetura de Computadores IFES Campus Serra

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

Figura 1 - O computador

3. O NIVEL DA LINGUAGEM DE MONTAGEM

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

1.1. Organização de um Sistema Computacional

Introdução à Arquitetura de Computadores

Programação de Computadores III

Disciplina: Organização de computadores

Organização e Arquitetura de Computadores I. de Computadores

Software Básico (INF1018)

Aula teórica 3. Tema 3.Computadores e linguagens Linguagens de Programação Compilação e linkagem LP Java. Preparado por eng.

Componentes do Computador e. aula 3. Profa. Débora Matos

Introdução aos Computadores

Introdução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis

Sistemas Operacionais

Curso Técnico em Redes

MC-102 Aula 01. Instituto de Computação Unicamp

Sistema de Computação

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br

Edeyson Andrade Gomes

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

Introdução à Lógica de Programação

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

Linguagem de Programação I

ARQUITETURA DE COMPUTADORES

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Máquina Multinível. Um programa pode ser definido como uma seqüência de instruções que descrevem como executar uma determinada tarefa.

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2

Máquinas Multiníveis

INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E AULA TEÓRICA 2 PROF. MARCELO LUIZ SILVA (R E D)

Programação de Computadores

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1

O modelo do computador

BARRAMENTO DO SISTEMA

LÓGICA DE PROGRAMAÇÃO

Software. Professora Milene Selbach Silveira Prof. Celso Maciel da Costa Faculdade de Informática - PUCRS

Disciplina: Introdução à informática Profª Érica Barcelos

COMPILADORES E INTERPRETADORES

Lição 1 Introdução à programação de computadores

Sistemas Computacionais II Professor Frederico Sauer

Sistemas Operacionais

Organização de Computadores

Estrutura de Dados. Ricardo José Cabeça de Souza Parte 1

Arquiteturas RISC. (Reduced Instructions Set Computers)

Introdução à Arquitetura de Computadores. Renan Manola Introdução ao Computador 2010/01

UNIVERSIDADE DO OESTE DE SANTA CATARINA CAMPUS DE SÃO MIGUEL DO OESTE

NOTAS DE AULA Prof. Antonio Carlos Schneider Beck Filho (UFSM) Prof. Júlio Carlos Balzano de Mattos (UFPel) Arquitetura de Von Neumann

Processamento de Dados

Usando o simulador MIPS

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

Informática I. Aula 4. Aula 4-11/09/2006 1

Introdução à Engenharia de Computação

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Introdução à Programação 2006/07. Computadores e Programação

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar

Organização de Computadores Software

ANHANGUERA EDUCACIONAL. Capítulo 2. Conceitos de Hardware e Software

Linguagem de Montagem 2. Operações e Operandos

Linguagem de Montagem

Parte II Introdução a Linguagens de Programação

UMA BREVE INTRODUÇÃO AO ESTUDO E IMPLEMENTAÇÃO DE COMPILADORES

Introdução à Programação de Computadores

Curso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber

MC102 Algoritmos e Programação de Computadores 2ª Aula Programa, entrada e saída de dados

Figura 01 Kernel de um Sistema Operacional

Introdução à Programação

ARQUITETURA DE COMPUTADORES

Geração de código intermediário. Novembro 2006

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Algoritmos DCC 119. Introdução e Conceitos Básicos

UNIP - UNIVERSIDADE PAULISTA. Arquitetura de computadores

Capítulo 1 Introdução

UFRPE Prof. Gustavo Callou

Resolução de problemas e desenvolvimento de algoritmos

Computação Eletrônica

3 Sistemas de Numeração:

Introdução à Organização e Arquitetura de Computadores. Prof. Leonardo Barreto Campos 1

Construção de Compiladores. Construção de Compiladores. Motivação. Motivação. Contexto Histórico. Classificações: Gerações 09/03/2010

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

ULA Sinais de Controle enviados pela UC

Introdução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes

UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Curso de Introdução à Informática Prof: Anilton Joaquim da Silva / Ezequiel Roberto Zorzal

INFORMÁTICA BÁSICA. Prof. Rafael Zimmermann

Everson Scherrer Borges João Paulo de Brito Gonçalves

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

Arquitetura de Computadores 1

Tecnologia da Informação. Visão Geral sobre Informática

Introdução aos Sistemas da InformaçãoAula 4 p. 1

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

Computador Digital Circuitos de um computador (Hardware)

1 - Processamento de dados

Transcrição:

ALP Algoritmos e Programação Iniciação aos computadores. Linguagens para Computadores. Compiladores, Interpretadores. Ambientes de Programação 1

Linguagens para Computadores. Linguagem binária: Dispositivos eletrônicos que compõe o computador distinguem com precisão apenas 2 sinais elétricos, caracterizados pela passagem de corrente elétrica por esses dispositivos. Assim, dados e operações são representados em linguagem binária, ou seja, em um alfabeto que tem apenas dois símbolos: geralmente 1 e 0. Cada um desses símbolos é chamado de bit. Uma sequência de bits pode representar dados ou instruções que a CPU pode executar. Exemplo: 10101101010000 Pode constituir um código usado para representar a operação (instrução) de somar dois números em um determinada arquitetura de hardware. 2

Linguagens para Computadores. Linguagem de Máquina: A linguagem constituída pelas instruções que podem ser diretamente executadas pela CPU (somar, carregar valores, comparar valores, movimentar valores na memória, desviar de uma instrução para a outra), representadas na forma de sequências de bits, é chamada de linguagem de máquina. Assim, a sequência de bits abaixo pode representar a instrução que a CPU 8086 executa para somar 2 números inteiros. Ela representará então a linguagem de máquina para a soma. 10101101010000 Inicialmente os programadores de computador só dispunham da linguagem de máquina para desenvolver seus programas. Continua 3

Linguagens para Computadores. Linguagem de Máquina: Para facilitar, os programadores passaram a usar nomes (apelidos) para as instruções e dados que a CPU podia executar: Ex:. MOV R1, x. ADD R1, R2. JNZ L O programa era então manualmente traduzido para linguagem de máquina e depois carregado na memória para ser executado. A evolução seguinte foi passar para o próprio computador a tarefa de montar (transformar) aqueles apelidos em linguagem de máquina. O programa responsável por isso é chamado montador. 4

Linguagens para Computadores. Linguagens de Médio e Alto Nível Para facilitar a tarefa de programação foram desenvolvidas linguagens que oferecem um conjunto mais rico de operações e construções sintáticas adequadas para expressar, de maneira mais natural, algoritmos usados na solução de problemas. Assim, as linguagem de máquina e de montagem são chamadas de linguagens de baixo nível. Um exemplo de linguagem de montagem é o assembly, portanto de baixo nível. A linguagem C é de médio nível. Para que um programa escrito em linguagem de alto nível possa ser executado pelo computador, ele precisa ser primeiro traduzido para um programa equivalente em linguagem de máquina. Esse processo de tradução é chamado compilação e o programa que faz isso de compilador 5

ALP Algoritmos e Programação Iniciação aos computadores. Linguagens para Computadores. Compiladores, Interpretadores. Ambientes de Programação 6

Compiladores, Interpretadores. Compilador É um programa tradutor, de programas escritos em uma determinada linguagem, chamada de linguagem fonte, para um programa equivalente em outra linguagem, chamada linguagem objeto. A junção do programa objeto (no processo de compilação) com as bibliotecas de linkagem, gera o programa executável pelo sistema operacional. Esse último processo é chamado linkedição. O compilador verifica o texto do programa fonte, para ver se ele está sintaticamente correto, isto é, em conformidade com as regras da gramática da linguagem. Caso haja erro, compilador emite mensagens que auxiliam o programador na identificação e correção dos erros existentes. 7

Compiladores, Interpretadores. Interpretador É um programa que interpreta diretamente as frases do programa fonte diretamente. Ou seja, simula a execução dos comandos desse programa sobre um conjunto de dados, fornecidos como entrada para o interpretador. A interpretação é mais lenta que a execução de um programa compilado. Entretanto, é mais fácil desenvolver um interpretador que um compilador para um determinada linguagem de alto nível. 8

ALP Algoritmos e Programação Iniciação aos computadores. Linguagens para Computadores. Compiladores, Interpretadores. Ambientes de Programação 9

Ambiente de Programação. Editor de Texto: Permite editar o programa fonte, eventualmente ressaltando as palavras reservadas da linguagem de programação.. Depurador: É um programa que oferece funções específicas para o acompanhamento da execução de um programa, com o objetivo de auxiliar o programador na detecção e identificação da origem dos erros que possam existir em um programa. Editores de texto, compiladores, interpretadores e depuradores podem ser programas independentes. Em um ambiente integrado de desenvolvimento (IDE) as tarefas de edição, compilação, interpretação e depuração são oferecidas como opções disponíveis em um mesmo programa. Ex. de IDE: Dev-C++, Eclipse, etc... 10