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



Documentos relacionados
Introdução. introdução. tópicos. referência. INF1005 Programação I Prof. Hélio Lopes 8/7/12

A FÓRMULA DE CONVERSÃO ENTRE AS UNIDADES É: F = 1.8 C

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

1 Modelo de computador

Introdução. introdução. tópicos. referência. INF1005 Programação I Prof. Hélio Lopes 8/14/13

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

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

O modelo do computador

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

Organização de Computadores Hardware

3. O NIVEL DA LINGUAGEM DE MONTAGEM

Introdução à Programação

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

Organização e Arquitetura de Computadores I

Lógica de Programação

Introdução à Arquitetura de Computadores

Sistema de Computação

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

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

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

Linguagem de Montagem Funcionamento de CPU e Assembly Rudimentar

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

Programação de Computadores III

Aula 2 Modelo Simplificado de Computador

Capítulo 2: Introdução à Linguagem C

Figura 1 - O computador

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

Introdução à Programação de Computadores

Programação de Computadores I Pseudocódigo PROFESSORA CINTIA CAETANO

Algoritmos e Linguagem de Programação de Computadores I

Princípios de funcionamento dos computadores

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

FUNDAMENTOS DE HARDWARE COMO FUNCIONA UM PC? Professor Carlos Muniz

Arquitetura de Computadores. Tipos de Instruções

Usando o simulador MIPS

Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

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

Programação Básica usando o Computador Visível. Jorge Fernandes Maio de 2004

ULA Sinais de Controle enviados pela UC

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

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CP C U P U - Un U i n da d d a e d e Ce C n e t n ral a de d e Pr P oc o es e sam a e m n e t n o o Pr P oc o es e sad a o d r o Aula 03

13 Números Reais - Tipo float

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Disciplina de Lógica Computacional Aplicada. Prof. Dr.

Cálculo Numérico. ECA / 4 créditos / 60 h Introdução, Erros e Matlab. Ricardo Antonello.

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

Arquitetura de Computadores I

Lista de Exercícios Sistemas de Numeração

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

PROGRAMAÇÃO JAVA. Parte 1

Dispositivos de Entrada e Saída

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

ICC Introdução para JavaScript

DESENVOLVIMENTO DE SOFTWARE II. Aula 07 A linguagem de programação C# e sua sintaxe

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

Prof. Esp. Adriano Carvalho

Orientação a Objetos

3 Sistemas de Numeração:

Informática. Prof. Macêdo Firmino. Macêdo Firmino (IFRN) Informática Setembro de / 25

O processador é composto por: Unidade de controlo - Interpreta as instruções armazenadas; - Dá comandos a todos os elementos do sistema.

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme

Curso Técnico em Redes

Engenharia de Software

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

CAPÍTULO 6 ARITMÉTICA DIGITAL

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

Sistemas de Numeração. Professor: Rogério R. de Vargas INFORMÁTICA 2014/2

Entrada e Saída. Prof. Leonardo Barreto Campos 1

Organização e Arquitetura de Computadores. Aula 10 Ponto Flutuante Parte I Juliana F. Camapum Wanderley

Eletrônica Digital 1 Módulo1 Capítulo 1 Sistemas Numéricos. Prof. Nilton Costa Junior

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

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

Conceitos Importantes:

Representação de Dados (inteiros não negativos)

Máscaras de sub-rede. Fórmula

OBI2009 Caderno de Tarefas

UFRPE Prof. Gustavo Callou

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

Computadores XXI: Busca e execução Final

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

1. NÍVEL CONVENCIONAL DE MÁQUINA

COMPILADORES E INTERPRETADORES

Algoritmos e Pseudocódigo

LÓGICA DE PROGRAMAÇÃO

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: Prof. Dr. Raimundo Moura

BARRAMENTO DO SISTEMA

MODOS DE ENDEREÇAMENTO

1.1. Organização de um Sistema Computacional

Acessando a Porta Paralela com o Delphi. Vitor Amadeu Souza. vitor@cerne-tec.com.br

CAPÍTULO 7 NÍVEL DE LINGUAGEM DE MONTAGEM

Programando o computador IAS

20 Caracteres - Tipo char

Processamento de Dados

ARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa

Componentes da linguagem C++

A Unidade Central de Processamento é a responsável pelo processamento e execução de programas armazenados na MP.

20/09/2009 TRANSFORMANDO DADOS EM. PROCESSANDO DADOS George Gomes Cabral SISTEMAS NUMÉRICOS INFORMAÇÕES

Gerenciamento de Clientes

Transcrição:

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

Tópicos Principais Modelo de um Computador Um computador hipotético Ciclo de Desenvolvimento

Modelo de um Computador

Modelo de um Computador A Bus é o canal que transfere informação entre os componentes do computador

Modelo de um Computador Cérebro do computador

Modelo de um Computador Executa instruções armazenadas na memória principal

Modelo de um Computador Informação é perdida quando o computador é desligado

Modelo de um Computador Informação é mantida mesmo quando o computador é desligado

Modelo de um Computador Para executar um programa, ele precisa ser copiado da memória secundária para a principal

Modelo de um Computador Possibilitam o usuário fornecer e receber informações do computador

Um computador hipotético A memória armazena números. Cada posição na memória possui um endereço. Os endereços começam com 0. Logo os endereços 0, 1, 2 são os endereços das primeiras 3 posições. Existe uma memória chamada registrador, que registra o resultado de uma operação.

Instruções do computador read pos: lê um número do teclado e armazena na posição de memória pos write pos: escreve na tela o número armazenado na posição de memória pos storeconst num pos: grava na posição pos o número num

Instruções do computador add pos1 pos2: soma os números armazenados em pos1 e pos2 e armazena o resultado no registrador. sub pos1 pos2: calcula pos1 - pos2 e armazena o resultado no registrador. mul pos1 pos2: multiplica os números em pos1 e pos2 e armazena o resultado no registrador. div pos1 pos2: divide os números em pos1 e pos2 e armazena o resultado no registrador.

Instruções do computador store pos: armazena o número no registrador na posição de memória pos

Executando programas Programas nesse computador são sequências das instruções mostradas

Programa soma 2.5 Nós queremos implementar um programa que lê do teclado um valor, soma 2 a ele e mostra na tela o resultado

Programa soma 2.5 read 0 storeconst 2.5 1 add 0 1 store 2 write 2

Programa soma 2.5 O programa abaixo também resolve o problema read 0 storeconst 2.5 1 add 0 1 store 0 write 0

Programa soma 2.5 O programa abaixo resolve o problema? read 0 storeconst 2.5 1 add 0 1 store 0 write 2

Armazenamento de números na memória No nosso computador, cada posição de memória possui 8 subseções e cada subseção é capaz de armazenar um número de 0 a 9.

Armazenamento de números na memória O número zero é representado assim:

Armazenamento de números na memória Somos capazes de armazenar 10 8 valores distintos em uma posição de memória. O maior valor inteiro positivo seria:

Armazenamento de números na memória Para armazenar números negativos, nós podemos usar uma convenção. A primeira subseção terá o valor 1 para números negativos e 0 para números positivos. Logo o número -457 é representado pela memória abaixo:

Armazenamento de números na memória Para armazenar números fracionários, podemos usar as 4 subseções após o sinal para o número inteiro, e as 3 seguintes para a parte fracionária. Abaixo está representado o número -257.4

Armazenamento de números na memória O formato que nós usaremos em nossos exemplos usa notação científica para armazenar números fracionários. O número -257.4 em notação científica fica -0.2574 x 10 3. As 5 primeiras subseções armazenam o número e as 3 seguintes armazenam a potência. Ambas as partes possuem uma subseção destinada ao sinal (1 = negativo, 0 = positivo). Abaixo temos o número -0.2574 x 10 3 :

Armazenando Programas Para o nosso computador hipotético executar um programa, ele precisa estar armazenado na memória. Como nossa memória só armazena números, precisamos definir um número para cada instrução.

Números para cada read = 0 write = 1 storeconst = 2 add = 3 sub = 4 mul = 5 div = 6 store = 7 Instrução

Um programa em memória read 0 storeconst 2.5 1 add 0 1 store 2 write 2

Um programa em memória read 0 storeconst 2.5 1 add 0 1 store 2 write 2

Um programa em memória read 0 storeconst 2.5 1 add 0 1 store 2 write 2

Ciclo de Desenvolvimento Escolha da linguagem depende da aplicação que será desenvolvida No nosso caso vamos trabalhar com C: - Base para Programação II - Interoperabilidade entre as engenharias - Eficiência, facilidade de uso - Base para qualquer outra linguagem (as mais sofisticadas)

Ciclo de Desenvolvimento Um programa em C deve respeitar a sintaxe da linguagem. O computador não é capaz de executar instruções em C. Para executar um programa em C devemos convertêlo para linguagem de máquina (0s e 1s). Essa conversão chama-se compilação. O programa que faz a conversão chama-se compilador.

Ciclo de Desenvolvimento

Ciclo de Desenvolvimento Extensão.C

Ciclo de Desenvolvimento Extensão.C Converte C para Código de Máquina

Ciclo de Desenvolvimento Extensão.C Converte C para Código de Máquina Extensão.exe

Referências Waldemar Celes e Roberto Ierusalimschy, Apostila de Programação (Disponível no site da disciplina) Capítulo 1 - Introdução à Programação