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



Documentos relacionados
Programação de Computadores III

Programação de Computadores:

Curso Técnico em Redes

Edeyson Andrade Gomes

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

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

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

Introdução ao Processamento de Dados (IPD)

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

ARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa

Organização de Computadores

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

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

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

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

Algoritmos e Linguagem de Programação I

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

Introdução à Arquitetura de Computadores

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

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

Introdução ao FORTRAN (Parte I)

3. O NIVEL DA LINGUAGEM DE MONTAGEM

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

1.1. Organização de um Sistema Computacional

ARQUITETURA DE COMPUTADORES

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

Disciplina: Organização de computadores

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

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

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

Figura 1 - O computador

Sistemas Operacionais

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

O modelo do computador

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

Resolução de problemas e desenvolvimento de algoritmos

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

Unidade Central de Processamento Organização da UCP Execução de instruções em paralelo ("pipeline") Execução de programas

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

UFRPE Prof. Gustavo Callou

BARRAMENTO DO SISTEMA

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

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

Software Básico (INF1018)

Introdução à Arquitetura de Computadores IFES Campus Serra

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

FundamentosemInformática

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

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

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Organização de Computadores Software

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

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

O Hardware e o Software do Computador

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

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

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

COMPILADORES E INTERPRETADORES

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

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

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

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

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

3 Revisão de Software

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

Algoritmo e Programação

Capacidade de Armazenamento

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

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

Sistema de Computação

Capítulo 1 Introdução

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

Introdução à Programação de Computadores

Computadores de Programação (MAB353)

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

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

Arquitetura de Computadores Paralelismo, CISC X RISC, Interpretação X Tradução, Caminho de dados

Web site. Objetivos gerais. Introdução. Profa. Patrícia Dockhorn Costa

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

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

Programação de Computadores

Conceitos básicos de programação

1.2. Sistemas de Programação

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

Princípios de funcionamento dos computadores

Computador = Hardware + Dados

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

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

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

Informática I. Aula 6. Aula 6-12/09/2007 1

Sistemas Operacionais

Introdução à Programação e Algoritmos. Aécio Costa

ARQUITETURA DE COMPUTADORES INTRODUÇÃO

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

1. NÍVEL CONVENCIONAL DE MÁQUINA

Computador Digital Circuitos de um computador (Hardware)

Linguagem de Programação I

Transcrição:

Programação de Computadores III Aula 1 Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2011.1/tcc-03.063 Roteiro da Aula de Hoje Parte I Apresentação da Disciplina Parte II Introdução a Linguagens de Programação 2 1

Parte I Apresentação da Disciplina i 3 Objetivos Ensinar noções básicas Construção de algoritmos estruturados Programação de computadores Ensinar a linguagem de programação FORTRAN FORmula TRANslation Criado pela IBM nos anos 50 Linguagem mais antiga utilizada na engenharia FORTRAN 77 é a versão mais utilizada até hoje 4 2

Bibliografia Recomendada FARRER, H. et al. FORTRAN Estruturado Editora Guanabara Koogan, 1992 GUIMARÃES, A.M.; LAGES, N.A.C. Algoritmos e Estruturas de Dados Editora LTC, 1994 CRISTO, H.P. Programação em Linguagem FORTRAN Belo Horizonte, 2003 5 Avaliação Duas provas escritas (A1 e A2) Prova escrita Individual Sem consulta Projeto final (A3) Implementação, relatório e apresentação Em grupo Média: (A1 + A2 + A3) / 3 6 3

Avaliação Aprovado Freqüência >= 75% Média >= 6,0 Verificação Suplementar Freqüência >= 75% 4,0 <= Média < 6,0 Aprovado se nota >= 6,0 Reprovado Freqüência < 75% Média < 4,0 Nota < 6,0 na Verificação Suplementar 7 Presença Cobrada por meio de lista de chamada Regulamento dos cursos de graduação Presença mínima necessária de 75% das aulas previstas (Art. 83, 15) Em um total de 34 aulas, são toleradas até 8 faltas Nenhuma falta é abonada, exceto casos citados no Art. 83, 16 TCC-00.181 Interface Homem/Máquina (2011.1) 4

Projeto Final Grupos de até três integrantes Nota composta por (Apresentação + Relatório + Implementação + Participação) / 4 Participação Cada integrante avalia os colegas de seu grupo Participação em sala também é levado em conta Seja pró-ativo desde o início Multa de um ponto por dia de atraso na entrega 9 Informações Atualizadas Lista de discussão http://groups.google.com/group/uff_tcc03063_2011-1 Página da disciplina Todos os alunos devem se cadastrar nessa lista! http://www.ic.uff.br/~laffernandes/teaching/2011.1/tcc-03.063 1/tcc 03 063 10 5

Parte II Introdução a Linguagens de Programação 11 Seis Camadas Problema para Resolver Algoritmo Projeto Linguagem de Programação Software Aplicativo (Programa) Sistema Operacional Arquitetura Hardware 12 6

O que é dado? Dado é o elemento a ser processado Tipos de dados Numérico o 42 (quarenta e dois), 3,14159265... (π), 10 100 (um googol), etc. Alfabéticos o Letras (A-Z) Alfanuméricos o Números, letras, caracteres especiais ({, >, +, #) 13 Processamento de Dados É o processo de receber dados, manipulá-los e produzir novos os 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 14 7

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 15 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 16 8

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 Instrução 10. Ler quinto valor 11. Acumular valor lido 12. Mostrar valor no acumulador 17 Linguagens de Programação Método padronizado para expressar instruções Conjunto de regras sintáticas e semânticas para definir i 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 18 9

Linguagens de Programação Método padronizado para expressar instruções Conjunto de regras sintáticas e semânticas para definir i 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# 19 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) 20 10

1ª Geração Linguagens de Máquina Linguagem de máquina escrita em notação binária 0010 0001 0110 1100 Código da operação: adição Endereço do registrador Endereço da posição de memória ói que contém o dadod Tradução Soma o dado armazenado no registrador 0001 com o dado armazenado na posição de memória 0110 1100 21 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 22 11

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) 23 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 24 12

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 25 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 26 13

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) 27 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 28 14

Montador x Compilador x Interpretador Código Fonte (linguagem de prog.) Tradutor Montador Tradutor para linguagens de 2ª geração Compilador Código Objeto (executável)... LET SOMA = VAR1 + TOTAL...... 000101101110010110010... 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 29 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 30 15