Programação de Computadores III



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

Programação de Computadores:

Curso Técnico em Redes

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

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

Edeyson Andrade Gomes

Organização de Computadores

ARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa

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

Introdução ao Processamento de Dados (IPD)

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

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

Algoritmos e Linguagem de Programação I

Introdução à Arquitetura de Computadores

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

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

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

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

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

16/09/2012. Agenda. Introdução. Introdução. Tipos de Software (Básico) Tipos de Software. Curso Conexão Noções de Informática

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

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

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

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

Sistemas Operacionais

3. O NIVEL DA LINGUAGEM DE MONTAGEM

Organização de Computadores Software

INE5317 Linguagens Formais e Compiladores. AULA 2: Es trutura geral dos Compiladores

Geração de código. Ivan Ricarte INTRODUÇÃO À COMPILAÇÃO

Algoritmos e Programação Aula 01 Introdução a Computação

Disciplina: Organização de computadores

ARQUITETURA DE COMPUTADORES

Software Básico (INF1018)

Figura 1 - O computador

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

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

O modelo do computador

Introdução à Arquitetura de Computadores IFES Campus Serra

O Hardware e o Software do Computador

3 Revisão de Software

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

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

Introdução à Programação de Computadores

Linguagem de Programação I

Capacidade de Armazenamento

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas)

BARRAMENTO DO SISTEMA

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

FundamentosemInformática

28/9/2010. Unidade de Controle Funcionamento e Implementação

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

1.1. Organização de um Sistema Computacional

UFRPE Prof. Gustavo Callou

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

Programação científica C++

Introdução ao FORTRAN (Parte I)

ARQUITETURA DE COMPUTADORES INTRODUÇÃO

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

Linguagem de Montagem 2. Operações e Operandos

Fonte (livro-texto): Conceitos de Linguagens de Programação, 4ed. Robert W. Sebesta

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

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

Sistema de Computação

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

Computador Digital Circuitos de um computador (Hardware)

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

Capítulo 1 Introdução

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

Princípios de funcionamento dos computadores

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

Linguagens de programação

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

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

Programação de Computadores

Computador = Hardware + Dados

O objetivo desta prática é ensinar como usar a máquina chamada computador visível ou vc0, um simulador de computador de von Neumann escrito em Java.

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

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

COMPILADORES E INTERPRETADORES

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

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

Resolução de problemas e desenvolvimento de algoritmos

Linguagens de Programação. Introdução. Carlos Bazilio

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO

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

Programação de Computadores. Professor Ilaim Costa Junior

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

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

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

Paradigmas de Linguagens de Programação. Aspectos Preliminares

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

1 - Processamento de dados

1.2. Sistemas de Programação

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

1 O que é um computador? Definição uma máquina que lê dados, efectua cálculos e fornece resultados.

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

Adriano Mauro Cansian 2

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

Transcrição:

Programação de Computadores III Introdução a Linguagens de Programação Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.1/tcc-00.157 Seis Camadas Problema para Resolver Algoritmo Projeto Linguagem de Programação Software Aplicativo (Programa) Sistema Operacional Arquitetura Hardware 2 1

O que é dado? Dado é o elemento a ser processado Tipos de dados Numérico o42 (quarenta e dois), 3,14159265... (π), 10 100 (um googol), etc. Alfabéticos o Letras (A-Z) Alfanuméricos o Números, letras, caracteres especiais ({, >, +, #) 3 Processamento de Dados É o processo de receber dados, manipulá-los e produzir novos dados ou resultados Dados Iniciais Entrada Processamento Saída Dados Finais (Resultados Finais) Transformações Exemplos de processamento manual Procurar um número telefônico na lista telefônica e anotá-lo numa caderneta Somar valores de compra de supermercado 4 2

Computador Máquina que processa dados Menos tempo Maior segurança contra erro humano Funções básicas do computador Entrada de dados Processamento A computer lets de you dados make more mistakes faster than any invention in human history - with the possible exceptions Saída de informações of handguns and tequila. Armazenamento de informações Mitch Ratcliffe 5 Dado x Instrução x Programa Dado Informação a ser processada Exemplos: Nome do aluno, número de matrícula, notas Instrução Operação elementar que o computador pode processar sobre os dados Tipos: transferência de dados, E/S, aritmética, comparação, controle da seqüência do programa, etc. Programa Conjunto de instruções,organizadas de forma que o computador as execute em determinada ordem 6 3

Dado x Instrução x Programa Definição do Problema Leia os cinco números listados abaixo: 3, 5, 2, 4 e -13 Dado Calcule o somatório desses números e informe o resultado Programa, escrito, aqui, em uma linguagem de programação hipotética Solução em um Computador Hipotético 1. Iniciar acumulador com 0 (zero) 2. Ler primeiro valor 3. Acumular valor lido 4. Ler segundo valor 5. Acumular valor lido 6. Ler terceiro valor 7. Acumular valor lido 8. Ler quarto valor 9. Acumular valor lido 10. Ler quinto valor 11. Acumular valor lido 12. Mostrar valor no acumulador Instrução 7 Linguagens de Programação Método padronizado para expressar instruções Conjunto de regras sintáticase semânticas para definir um programa de computador Sintaxe Conjunto de regras formais para a escrita de um programa Semântica Diz respeito ao significado do programa sintaticamente válido 8 4

Linguagens de Programação Método padronizado para expressar instruções Conjunto de regras sintáticase semânticas para definir um programa de computador Permite ao programador especificar... sobre quais dados o computador vai atuar... como os dados serão armazenados... como os dados serão transmitidos... quais ações devem ser tomadas Exemplos: Pascal, C, Java, FORTRAN, C# 9 Gerações de Linguagens de Programação 1ª Geração Linguagens de máquina 0010 0001 0110 1100 2ª Geração Linguagens de montagem (Assembly) ADD R1, TOTAL 3ª Geração Linguagens orientadas ao usuário LET SOMA = VAR1 + TOTAL IF SOMA > 3 THEN EXIT 4ª Geração Linguagens orientadas à aplicação Baixo Nível Alto Nível LIST ALL NOME, ENDERECO, TELEFONE FOR CIDADE = NITERÓI 5ª Geração Linguagens de conhecimento (IA) 10 5

1ª Geração Linguagens de Máquina Linguagem de máquina escrita em notação binária 0010000101101100 Código da operação: adição Endereço do registrador Endereço da posição de memória que contém o dado Tradução Somao dado armazenado no registrador 0001com o dado armazenado na posição de memória 0110 1100 11 2ª Geração Linguagens de Montagem Linguagem de baixo nível Elimina a notação binária Introduz o uso de assemblers(montadores) Usam códigos mnemônicos com letras e números para representar os comandos Exemplo de comandos LOAD B Carrega no registrador o dado que está no endereço B ADD A Adiciona ao registrador o dado que está no endereço A 12 6

3ª Geração Linguagens Orientadas ao Usuário Linguagens de alto nível Usam comandos com nomes geralmente auto-explicativos read, write, if, open, etc. Exemplos de linguagens FORTRAN(1954) Cobol(1959) Basic(1965) Pascal (1975) C (1980) 13 Exemplo FORTRAN C Primeiro programa de Programacao de Computadores III C Calcula e imprime a soma de dois valores inteiros PROGRAM Soma2Int INTEGER Int1, Int2, Soma Int1 = 5 Int2 = 10 Soma = Int1 + Int2 PRINT*, Int1, +, Int2, =, Soma STOP END 14 7

4ª Geração Linguagens Orientadas à Aplicação Geram código a partir de expressões de alto nível Exemplo de linguagens DBASE, SQL Exemplo em DBASE List All Nome, Endereco, Telefone For Cidade = Niterói Tradução: lê todos os registros que compõem um arquivo e, para cada registro lido, seleciona aqueles cuja cidade é Niterói 15 5ª Geração Linguagens de Conhecimento Inteligência artificial Princípio São criadas bases de conhecimento, obtidas a partir de especialistas, e as linguagens fazem deduções, inferências e tiram conclusões baseadas no conhecimento armazenado Exemplos: Prolog, Lisp, Art 16 8

Nível das Linguagens de Programação Alto Nível Capacidade da linguagem em compreender escritas em dialetos próximos do inglês (Ada e Pascal, por exemplo) Baixo Nível Aproximam-se da linguagem própria da máquina Compostas por instruções binárias e outras incompreensíveis para alguém não treinado Quanto mais clara para o ser humano (simplicidade maior), mais obscura a linguagem será para a máquina (velocidade menor) 17 Nível das Linguagens de Programação Nível Baixo Nível Médio Nível Alto Velocidade Clareza Assembler C Basic COBOL FORTRAN Pascal Ada Modula-2 18 9

Montador x Compilador x Interpretador Código Fonte (linguagem de prog.) Montador Tradutor Tradutor para linguagens de 2ª geração Compilador Traduz linguagens de alto nível, convertendo todo o código fonte em código intermediário ou código objeto Interpretador Traduz o programa instrução por instrução Código Objeto (executável)... LET SOMA = VAR1 + TOTAL...... 000101101110010110010... 19 Linguagens de Programação Bizarras Top 10 Truly Bizarre Programming Languages http://listverse.com/2011/02/17/top-10-truly-bizarre-programming-languages Fonte: Listverse Postado em 17 de fevereiro de 2011 20 10