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



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

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

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

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

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

ARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa

Introdução à Arquitetura de Computadores IFES Campus Serra

Figura 1 - O computador

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

Curso Técnico em Redes

3 Revisão de Software

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

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

3. O NIVEL DA LINGUAGEM DE MONTAGEM

ARQUITETURA DE COMPUTADORES

1. NÍVEL CONVENCIONAL DE MÁQUINA

Software Básico (INF1018)

Organização e Arquitetura de Computadores I

Resolução de problemas e desenvolvimento de algoritmos

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

Introdução à Arquitetura de Computadores

Edeyson Andrade Gomes

Geração e Otimização de Código

O modelo do computador

Programação de Computadores III

1.1. Organização de um Sistema Computacional

Dadas a base e a altura de um triangulo, determinar sua área.

Linguagem de Programação I. Aula 05 Linguagem C

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

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

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

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

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

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

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

Algoritmos e Programação I

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

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

UFRPE Prof. Gustavo Callou

Introdução à Engenharia de Computação

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

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

Introdução à Programação de Computadores

Introdução à Programação

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

COMPILADORES E INTERPRETADORES

Processamento de Dados

Sistema de Computação

Informática I. Aula 5. Aula 5-13/05/2006 1

Linguagem de Montagem

Introdução a Computação

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

Programação 1. Rafael Vargas Mesquita. ftp://ftp.ci.ifes.edu.br/informatica/mesquita/

Sistemas Operacionais

CURSO BÁSICO DE PROGRAMAÇÃO AULA 8. Introdução ao Linux Introdução a linguagem C

4 Estrutura do Sistema Operacional Kernel

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

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução. Sumários. Objectivos da cadeira. História das linguagens de programação. Classificação das Linguagens de programação

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

Conjunto de instruções do CPU. Arquitectura de um computador. Definição das instruções (1) Definição das instruções (2)

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

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

UNIVERSIDADE FEDERAL DE SANTA CATARINA MODELAGEM DE UMA PLATAFORMA VIRTUAL PARA SISTEMAS EMBUTIDOS BASEADA EM POWERPC

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

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

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Especificação do 3º Trabalho

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

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

ICC Introdução para JavaScript

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

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

UNIP - UNIVERSIDADE PAULISTA. Arquitetura de computadores

Aula 10 Introdução à Algoritmos. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Disciplina: Organização de computadores

Linguagens de Programação

BARRAMENTO DO SISTEMA

INF1004 e INF1005: Programação 1. Introdução à Programação

Computador Digital Circuitos de um computador (Hardware)

Introdução. Capítulo Breve sinopse

Sistemas Operacionais

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

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

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

Introdução à Programação. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

Programação de Computadores. Turma CI-180-B. Josiney de Souza.

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X

Unidade 10: A Unidade Lógica Aritmética e as Instruções em Linguagem de Máquina Prof. Daniel Caetano

Sobre C. Linguagem de Programação C

Máquinas Multiníveis

Organização de Computadores Software

Linguagens de. Aula 01. Profa Cristiane Koehler

MC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores

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

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1

PROGRAMAÇÃO JAVA. Parte 1

Sistemas de Informações Gerenciais

Algoritmos e Programação

Transcrição:

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

Histórico de Linguagens de Programação O computador não faz nada sozinho Precisamos informar, de forma clara, como ele deve executar as tarefas Ou seja, o computador precisa ser programado

Histórico de Linguagens de Programação

Histórico de Linguagens de Programação A linguagem nativa dos computadores (no nível de máquina) é muito limitada Todas as construções são representadas por 0 s e 1 s Cada computador (CPU) só entende um conjunto relativamente pequeno de instruções (seu conjunto de instruções)

Histórico de Linguagens de Programação Exemplos de instruções de CPU mova este número de uma posição para outra em memória some esses dois números inteiros

Histórico de Linguagens de Programação Programas na linguagem de máquina são ditos programas em linguagem de máquina Esse tipo de programação é considerada programação de baixo nível São programas difíceis de escrever, ler e modificar (para os humanos)

Linguagem Assembly Também conhecida como linguagem de montagem Melhoramento sobre a linguagem de máquina Usa mnemônicos para representar as instruções de linguagem de máquina 10011011 (linguagem de maquina) pode virar apenas ADD (em assembly)

Linguagem Assembly Também permite que sejam atribuídos nomes a variáveis (ou seja, posições de memória do computador) Por exemplo, a posição 00111010 pode ser definida pelo programador (e ao seu critério) como simplesmente X

Linguagem Assembly No entanto, o que o computador entende é linguagem de máquina e não assembly Programas escritos em assembly precisam então de um programa especial, chamado assembler (ou montador) Traduz de assembly para a linguagem de máquina Um para cada tipo de CPU

Linguagem Assembly Apesar de ter sido um melhoramento para o programador, assembly ainda é difícil Ainda é considerada linguagem de baixo nível Entre meados da década de 40 até meados da década de 50, todos programas de computador eram de baixo nível

Linguagem Assembly

Histórico de Linguagens de Programação Uma facilidade maior para os programadores foi a introdução das linguagens de alto nível Programas passaram a ser escritos em linguagem mais próxima da linguagem humana Mas essa linguagem é específica para ser usada com os computadores

Histórico de Linguagens de Programação

Histórico de Linguagens de Programação O programador pode usar uma linguagem mais simples para passar tarefas para o computador As instruções podem ser especificadas sem se preocupar com os detalhes do computador que vai executar

Compiladores e Interpretadores Todo programa escrito em alguma linguagem de programação precisa de uma tradução para a linguagem de máquina do computador que vai executar Como o assembler Tipo mais simples de tradutor que apenas substitui as instruções para a linguagem de máquina

Compiladores e Interpretadores Linguagens de alto nível requerem tradutores mais complicados Usualmente, uma única instrução em linguagem de alto nível pode corresponder a muitas instruções em linguagem de máquina Existem dois tipos: compiladores e interpretadores

Compiladores Traduz programas escritos em linguagem de alto nível (programas fonte) em programas (programas objeto) em uma linguagem de baixo nível (linguagem de máquina ou assembly) Depende da linguagem para qual foi projetado e também para qual computador deve ser feita a tradução Existe compilador (da linguagem) X (ex. Pascal) para o computador Y (ex. Mac)

Compiladores Usualmente, um programa escrito em alto nível possui várias partes que são compiladas separadamente Para unir utiliza-se um programa chamado link editor (editor de ligações). Une todas as partes do programa em um único programa integrado

Interpretadores Não produz um programa objeto Simula um computador cuja linguagem de máquina seria aquela sendo traduzida Cada instrução do programa (em alto nível) é traduzida exatamente antes de ser executada, de acordo com o fluxo do programa Requerem um interpretador para o programa funcionar

Tipos de Linguagens As linguagens de alto nível oferecem vantagens aos programadores, que podem ser analisadas segundo as algumas propriedades: Portabilidade Legibilidade Manutenibilidade Eficiência

Portabilidade O programa fonte pode ser transportado para qualquer computador que tenha o tradutor apropriado Já os programas escritos em linguagens de baixo nível são específicos para cada tipo de computador Ou seja, para transportar para outro computador, precisaria ser reescrito

Legibilidade A linguagem é próxima à humana Fáceis de serem lidos e escritos No entanto, depende muito do programador

Manutenibilidade A facilidade do programa ser mantido (modificado) Relacionada à legibilidade Quanto mais fácil de ser lido (e entendido), mais fácil de ser modificado

Eficiência É medida pelo espaço de memória ocupado e pela rapidez de execução Um programa eficiente ocupa pouco espaço e produz as saídas rapidamente Diferentes sequencias de instruções podem produzir o mesmo resultado Algumas são mais eficientes que outras O programador deve se preocupar em construir o programa da melhor forma

Tipos de Linguagens Linguagens de caráter específico Construídas visando uma área de aplicação Exemplo: COBOL para área comercial Dificilmente pode ser utilizada em outra área Linguagens de caráter geral Podem escrever programas em qualquer área Exemplo: Pascal, C, etc

Paradigmas de Linguagens de Programação Indica a filosofia ou conceitos teóricos do desenvolvimento da linguagem Paradigma Funcional Paradigma Lógico Paradigma orientado à objetos Paradigma modular