Projeto e Desenvolvimento de Algoritmos



Documentos relacionados
MC102 Algoritmos e programação de computadores Aula 3: Variáveis

Aula 2 Variáveis. Precisamos armazenar os tipos de dados da aula anterior (inteiros, reais, literais e lógicos) em memória. Como fazer?

Introdução. A Informação e sua Representação (Parte III) Universidade Federal de Campina Grande Departamento de Sistemas e Computação

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

Exemplo de Subtração Binária

Introdução. A Informação e sua Representação (Parte II) Universidade Federal de Campina Grande. Unidade Acadêmica de Sistemas e Computação

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

Unidade 5: Sistemas de Representação

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Informática Aplicada à Química. Sistemas de Numeração Representação de Dados

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

13 Números Reais - Tipo float

Segue-se o estudo da forma como os computadores armazenam e acedem às informações contidas na sua memória.

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE. Prof. Dr. Daniel Caetano

Introdução à Engenharia de

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

Sistemas Numéricos bit / Byte BIT BYTE. Prof. Celso Candido ADS / REDES / ENGENHARIA

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

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS

Algoritmos e Programação _ Departamento de Informática

Representação de Dados

Sistemas de Numeração. Introdução ao Computador 2010/1 Renan Manola

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM. Conceitos Básicos ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM

Curso de Hardware Aula 01 Tema: Sistema de Medidas Por: Edmilson de Oliveira Reis Revisado em: 02/03/2012

Organização e Arquitetura de Computadores I

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

Programação: Tipos, Variáveis e Expressões

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

1. Sistemas de numeração

Deste modo, por razões tecnológicas e conceituais, os números binários e a álgebra boole-ana formam a base de operação dos computadores atuais.

Trabalho compilado da Internet Prof. Claudio Passos. Sistemas Numéricos

Hardware de Computadores

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

ULA- Unidade Lógica Aritmética. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

Sistemas de Numeração

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

Universidade Federal de São João Del Rei - UFSJ

Resolução de problemas e desenvolvimento de algoritmos

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

Exercícios de Fixação Pseudocódigo e Estruturas Básicas de Controle

Capítulo 1. Introdução. 1.1 Sistemas numéricos

A declaração de uma variável vel define o seu tipo. O tipo do dado define como ele será: Armazenado na memória. Manipulado pela ULA.

2. Representação Numérica

Aula 2 Sistemas de Numeração (Revisão)

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

¹CPTL/UFMS, Três Lagoas, MS,Brasil, ²CPTL/UFMS, Três Lagoas, MS, Brasil.

PC Fundamentos Revisão 4

INF 1005 Programação I

23/02/ NOME João CPF SALARIO 3000,00 VARIÁVEL VARIÁVEIS

Aula 3 - Sistemas de Numeração

Arquitetura de Computadores

ARQUITETURA DE COMPUTADORES

Algoritmos Computacionais ( Programas )

Identificação das variáveis de entrada; resultados/variáveis de saída e método ou solução. (procedimentos e funções)

Fabio Bento

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

I n f o r m á t i c a

Algoritmos e Programação de Computadores

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

20 Caracteres - Tipo char

Capítulo SETE Números em Ponto Fixo e Ponto Flutuante

Aula 2 Modelo Simplificado de Computador

Aula 9. Introdução à Computação. ADS IFBA

Representação Binária de Números

Capítulo I : Noções Gerais

Genericamente qualquer sistema de numeração pode ser caracterizado por:

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

ARQUITETURA DE COMPUTADORES. Sistemas de Numeração. 1 Arquitetura de Computadores

Sistemas Numéricos e a Representação Interna dos Dados no Computador

Organização de Computadores. Cálculos Binários e Conversão entre Bases Aritmética Binária

ARQUITETURA DE COMPUTADORES

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

Sistemas de numeração

1. Introdução 2. Representação de números 2.1. Conversão Numérica 2.2. Aritmética de ponto flutuante 3. Erros 3.1 Erros Absolutos e Relativos

3 Sistemas de Numeração:

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

10/02/2015. Introdução. Podemos classificar os tipos de dados a serem processados em dados e instruções Dados: Algoritmos e Lógica de Programação

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

1 Modelo de computador

AULA 10 REPRESENTAÇÃO NUMÉRICA O

Endereçamento IP 09/05/2014. Endereçamento IP CLASSE B CLASSE A CLASSE A CLASSE C

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

Representação de Dados e Sistemas de Numeração

Algoritmo. Linguagem natural: o Ambígua o Imprecisa o Incompleta. Pseudocódigo: o Portugol (livro texto) o Visualg (linguagem) Fluxograma

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

Algoritmos com VisuAlg

ERROS MAIS COMUNS COMETIDOS EM PROGRAMAS E ALGORITMOS

Unidades de medida Prof a. Sediane Carmem Lunardi Hernandes

ORGANIZACÃO DE COMPUTADORES PROCESSADORES CHIPS TRANSISTORES

Sistemas Numéricos Eletrônica Digital PROFESSOR LUCAS KOEPSEL ROSA

Aula 6 Aritmética Computacional

Sistemas de Numeração. Engenharia da Computação 3 Período Alex Vidigal Bastos

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

Componentes da linguagem C++

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

Transcrição:

Projeto e Desenvolvimento de Algoritmos Variáveis Adriano Cruz e Jonas Knopman

Índice Objetivos Introdução Modelo de Memória Armazenamento de Dados Numéricos Dados Inteiros Dados Reais Armazenamento de Dados Literais Armazenamento de Dados Lógicos Variáveis

Objetivos Apresentar o modelo de memória do computador Mostrar como os diversos tipos de dados são armazenados na memória do computador. Apresentar o conceito de variável e sua utilidade no desenvolvimento de algoritmos.

Memória A memória é um conjunto ordenado de células, cada um identificada por um endereço. A unidade mínima de informação na memória é o bit que consegue armazenar ou o valor 0 ou 1. Um conjunto de 8 bits forma um byte. Um conjunto de bytes, usualmente 4 (32 bits) forma uma palavra de memória.

Palavras e bytes Usualmente uma palavra de memória é composta de 4 bytes. Byte 3 Byte 2 Byte 1 Byte 0 Palavra i A maioria das memórias são endereçadas por byte, portanto o endereço permite manipular o conteúdo de um determinado byte

Memória e endereçamento Memória com 2 n -11 palavras de 4 bytes. Então n+2 é o número de bits do endereço. Largura = quantidade de bits da palavra Palavra 0 Palavra 1 Palavra 2 Byte 3 Byte 7 Byte 2 Byte 6 Byte 1 Byte 5 Byte 0 Byte 4 Altura= No. de palavras Palavra 2 n -1

Memória e endereços Podemos pensar cada byte como uma casa. Uma palavra seria uma vila de casas. A memória uma rua de vilas. Suponha uma rua (memória)) com 5 vilas (palavras), cada vila com 4 casas (bytes).

Memória e endereços Casa 0 Casa 1 Casa 2 Casa 3 Casa 2 vila 1 ou casa 6 Vila 0 Vila 1 Vila 2 Vila 3 Vila 4 Casa 16 Casa 17 Casa 18 Casa 19

Memória e endereços Temos endereços de casas indo de casa 0 até casa 19. Temos endereços de vilas indo de vila 0 até vila 4. Posso dar meu endereço como casa 6 ou casa 2 da vila 1. Observar que 6 dividido por 4 (casas por vila) é igual a 1 com resto 2. Em computação os endereços de memória começam sempre em 0.

Exemplo Memória de 128 Mega (2 20 ) bytes Memória com 128 x 2 20 = 2 7 x 2 20 = 128 x 1.048.576 bytes O endereço deve ter 27 bits 7 bits devido aos 128 = 2 7 20 bits devido aos 2 20 Se cada palavra de memória tem 4 bytes temos então 32 Mega palavras

Bits e dados Cada tipo de dado requer uma quantidade de bits para armazenar o valor. Esta quantidade é variável e depende da linguagem e do computador. Atualmente computadores típicos possuem memórias com palavras de 32 bits, ou 4 bytes.

Armazenamento de Inteiros O conjunto dos números inteiros (Z={,-2, 2,-1,0,+1,+2, }) contém uma quantidade infinita de elementos. Como o número de bits disponíveis na memória para armazenar os números é finito não é possível representar todos os números deste conjunto.

Armazenamento de Inteiros Considere uma palavra de 32 bits. Um bit é reservado para o sinal. Um número inteiro i pode variar entre -2 31 <= i <= 2 31-1 -2.147.483.648<= i <= 2.147.483.647 Como não temos +0 e 0, há um número negativo a mais que os positivos. Bit Bits Bit menos significativo Bit mais significativo 31 0 S Sinal Dados

Armazenamento de Inteiros Observar que não podemos armazenar números maiores que 2.147.483.647 e menores que -2.147.483.648. Isto pode ser contornado, em alguns casos, empregando-se os números reais que veremos em seguida.

Armazenamento de Reais Os números reais também são armazenados em 32 bits Estes números são, as vezes, chamados de números em ponto flutuante devido a forma como eles são processados pelo processador. O método é parecido com a notação científica que algumas calculadoras empregam.

Notação científica Os números em notação científica nas calculadoras são expressos por um número real normalizado multiplicado por um número elevado a uma potência. Ex. 1,5 E+8 = 1,5 x 10 8 Um número normalizado implica que antes da vírgula somente deve aparecer um algarismo. Ex. (5,0 E+8) + (6,0 E+8) = 11,0 E+8 Resultado final = 1,10 E+9

Armazenamento de Reais O conjunto dos números reais contém uma quantidade infinita de elementos. Como o número de bits para armazenar os números é finito não é possível representar todos os números deste conjunto.

Reais em bits Considere uma palavra de 32 bits. Um bit é reservado para o sinal. Oito bits são reservados para o expoente. A base do expoente depende do computador, normalmente 2. Vinte e três bits são usados para o número real, chamado de mantissa. Bits 31 30 23 22 0 S Sinal Expoente Mantissa

Quais números reais? Computadores tem dificuldade de armazenar os números reais muito grandes e os muito pequenos. O subconjunto dos números reais disponíveis pode ser representado como 0.0 -RMAX -RMIN RMIN RMAX O zero está incluído no conjunto. Para uma palavra de 32 bits temos RMAX=3.4E+38 e RMIN=3.4E-38 38

Armazenamento de caracteres O código de caracteres normalmente empregado é o ASCII que precisa de 8 bits ou um byte. Como os computadores endereçam a memória por bytes então é possível armazenar um caractere por byte. Para armazenar um conjunto de caracteres normalmente se emprega um conjunto de bytes.

Valores Lógicos Este tipo de dado somente possui dois valores verdadeiro e falso. Portanto um bit é suficiente para armazenar estes dados. Normalmente se usa um byte inteiro para armazenar valores lógicos devido a dificuldade de endereçar bits.

Variáveis Diversos tipos de dados são armazenados na memória. A memória é endereçada por meio de números. Para procurar um determinado dado na memória seria preciso saber o número da palavra (ou byte) onde este dado está armazenado. Este método seria complicado e ilegível. Mais fácil empregar nomes como fazemos com as ruas de nossa cidade.

Nomes de Variáveis Variáveis receberão nomes. Cada variável deve receber um nome diferente para poder ser idenficada sem problemas. Estes nomes deverão ser utilizados sempre que quisermos modificar ou saber o conteúdo de uma posição na memória do computador.

Nomes de Variáveis As regras para criação dos nomes das variáveis são as seguintes: Um nome de variável pode conter letras, algarismos e o caracter _ (sublinha( sublinha); Um nome de variável deve necessariamente começar por uma letra; Um nome de variável não deve conter nenhum símbolo diferente de letra ou algarismo,, exceto o símbolo _ (sublinha) Não existe limitação para o número de caracteres do nome; Não será feita diferenciação entre letras maiúsculas e minúsculas.

Dicas Escolher nomes significativos para as variáveis P. Ex. salario,, total, nota, pagamento Nomes significativos ajudam a tornar os algoritmos e os programas auto- explicativos Nomes de variáveis com mais de uma palavra podem ajudar também Separe os nomes por sublinhados P. Ex. total_pagamentos, prova_final

Dicas Não é necessário alongar desnecessáriamente os nomes. P. Ex. total_de_recebimentos recebimentos_do do_ano, variavel_nota Evitar nomes que não ajudem o entendimento do algoritmo.

Exemplos de nomes corretos soma salario_total nota_final prova1 raio velocidade_inicial inicial

Exemplos de nomes incorretos soma$ salario total permitido 2prova Salario/hora $ não é permitido Espaço em branco não é Não começou por uma letra / não é permitido