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



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

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

Projeto e Desenvolvimento de Algoritmos

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

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

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

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

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

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

Sistemas numéricos. Prof. Leandro Tonietto Introdução a computação e suas aplicações Curso de Segurança da Informação UNISINOS ago-09

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

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

Aula 4 Instruções Primitivas

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

Sistemas de Numeração

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

PC Fundamentos Revisão 4

Unidade 5: Sistemas de Representação

20 Caracteres - Tipo char

Exemplo de Subtração Binária

o semestre

Resolução de problemas e desenvolvimento de algoritmos

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

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

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

I n f o r m á t i c a

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

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

Sistemas de Numeração

Introdução à Engenharia de

Algoritmos e Programação de Computadores

Aula 11 Introdução ao Pseudocódigo. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Fundamentos em Informática (Sistemas de Numeração e Representação de Dados)

Conversões em Sistemas de Numeração. José Gustavo de Souza Paiva

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

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

PROGRAMADOR JAVA. Aula 0 20 semanas. Instrutor : Léo Billi leo.billi@gmail.com

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

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

Classe A: Apenas o primeiro octeto identifica a rede e os três últimos identificam os Hosts.

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

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

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

ARQUITETURA DE COMPUTADORES

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

Sistemas de Numeração

1 Fundamentos da Computação Prof. Bruno Guilhen

Aula 3 - Sistemas de Numeração

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

SISTEMAS DIGITAIS Prof. Ricardo Rodrigues Barcelar

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

Sistemas de numeração e conversão de bases Conversões;bit e byte (conceituação)

centena dezena unidade

Variáveis e Comandos de Atribuição

Arquitetura de Computadores Universidade Guarulhos Prof. Erwin A. Uhlmann

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

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.

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

Capítulo 9: Codificação. Prof.: Roberto Franciscatto

Programação II. Victor Amorim dos Santos

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

Unidade 3: Sistemas de Numeração Conversões Entre Quaisquer Bases e Aritmética em Bases Alternativas Prof. Daniel Caetano

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

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

Bases Numéricas e Conversão. DCC Circuitos Digitais

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

Fabio Bento

Principais códigos utilizados. Codificação. Código binário puro. Codificação binária. Codificação Binária. Código Binário puro e suas variantes

Sistemas de Numeração e Conversão de Base

Representação de Dados

Aula 2 Modelo Simplificado de Computador

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

1. Sistemas de numeração

Estrutura de Dados Básica

ILP - Introdução à Linguagem de Programação. Plano de estudo: - Constantes e variáveis. - Atribuindo valores às variáveis.

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

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

Aula 7. Codificadores e Decodificadores. SEL Sistemas Digitais. Prof. Dr. Marcelo Andrade da Costa Vieira

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

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

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

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

Conceitos básicos da linguagem C

Sistema de Numeração e Códigos. CPCX UFMS Prof. Renato F. dos Santos

Faculdade de Tecnologia de Teresina-PI Tecnologia em Redes de Computadores. Arquitetura de Computadores Prof. Nathan Saraiva

ICC - Aula 6. Ivan da Silva Sendin. November 17, Bits, portas logicas, flip-flops,... Numeros e Simbolos Exercicios

Circuitos Combinacionais. Sistemas digitais

Organização e Arquitetura de Computadores I

Capítulo 2. Numéricos e Códigos Pearson Prentice Hall. Todos os direitos reservados.

Notas de aula #1 SISTEMAS NUMÉRICOS

ICC Introdução para JavaScript

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

CURSO: Engenharia Elétrica e Engenharia de Computação. DISCIPLINA: Circuitos Lógicos I Z520234

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

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

Representação em nível de máquina

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

Transcrição:

Aula 2 Variáveis 1. Introdução Computadores precisam manipular informações. Por conseguinte, precisam armazená-las em sua memória. Para isso, usamos a abstração de variáveis. 2. Sistemas de numeração Explicar os diferentes sistemas de numeração: decimal, octal, hexadecimal, binário... Justificativa: o Computador só armazena dados binários. 3. Arquitetura da memória Analogia da memória como uma tabela mapeando endereços à informações; Cada informação é um byte. 1 byte = 8 bits. Bit = binary digit, 0 ou 1; Um byte armazena 2 8 informações distintas (faça as contas!); A arquitetura de um computador define que o byte é a menor parte acessível da memória. Não podemos recuperar ou alterar somente um bit. 4. Armazenamento de dados na memória Precisamos armazenar os tipos de dados da aula anterior (inteiros, reais, literais e lógicos) em memória. Como fazer? 4.1. Inteiros Mostrar que se (435) 10 = 4. 102 + 3. 101 + 5. 100, então (101) 2 = 1. 22 + 0. 21 + 1. 20 = 5; Basta usamos a quantidade suficiente de bytes: 1 byte = -127 a 128, 2 bytes = -32.768 a 32.767, 4 bytes = -2.147.483.648 a 2.147.483.647; Em pseudocódigo, não nos preocuparemos com este limite. 4.2. Reais Armazenamento similar ao dos inteiros, no entanto dividindo o byte em duas partes: mantissa (m) e expoente (e), sendo calculado por m = r e, sendo r a mesma base para todos os números armazenados; Não é foco do curso aprofundar nisso. Basta saber que para linguagens de programação reais, geralmente são usados 4 bytes para precisão simples e 8 bytes para precisão dupla. 4.3. Literais (Strings) O computador só armazena números. Precisamos de um padrão que converta números para letras. Se O = 15 e I = 8, então [15][8][0] na memória armazenam a palavra OI ; Os computadores surgiram nos EUA e o 1º padrão inventado foi o ASCII (American Standard Code for Information Interchange), armazenando uma letra por byte e, portanto, no máximo 256 letras (não contemplava acentos); Hoje o padrão mais aceito é o Unicode, que usa 4 bytes para representar uma letra. Sendo assim, podem representar 4.294.967.296 letras diferentes, reunindo desde letras comuns, com acento, alfabetos orientais e tudo mais.

4.4. Lógicos (Booleanos) Um único bit poderia armazenar.v. ou.f., mas por questões de arquitetura, um byte inteiro é usado..f. poderia ser representado por zero e.v. por qualquer outro valor. 5. Conceito e utilidade das variáveis Dado que sabemos agora como armazenar nossos dados, basta indicarmos uma posição da memória, efetuarmos a conversão do dado para o formato adequado (em binário!) e pedirmos para que o computador armazene. Para ler, efetuamos o processo inverso. Simples, não? Felizmente, o computador faz todos este trabalho para nós, por meio de uma abstração que chamamos de variável; Uma variável é uma entidade destinada a guardar uma informação. Possui um nome, um tipo de dado e um valor armazenado; Nome: serve para identificar a variável. Deve começar com uma letra, seguido por letras, números ou sublinhado _. Exemplos [Saliba, 1992, p. 22] 1 : SALÁRIO 1ANO ANO1 A CASA Errado (não começou com letra) Errado (contém o caractere branco/espaço) SALARIO/HORA Errado (contém o caractere / ) SALARIO_HORA _DESCONTO Errado (não começou com letra) Devemos escolher nomes que façam sentido dada a informação que a variável armazena; Uma vez atribuídos o nome e o tipo de dado, não se pode alterá-los. O valor, claro, pode. 6. Variáveis em pseudocódigo É obrigatório definir todas as variáveis a serem utilizadas antes de usá-las. Algumas linguagens dispensam essa formalidade (mas não é o caso de C, que estudaremos depois); Sintaxe de definição (antes do início do corpo do algoritmo): VAR <lista_de_variáveis> : <tipo_da_variável> <outras_variaveis> : <tipo> A lista de variáveis pode conter uma ou mais delas, separadas por vírgula; Quando definimos literais, devemos informar a quantidade de letras que podem ser armazenadas, ou seja, o tamanho da string: literal[<tamanho>]; Exemplos [Saliba, 1992, p. 24]: VAR NOME, SOBRENOME IDADE SALÁRIO TEM_FILHOS : literal[10] : inteiro : real : lógico 1 Saliba, W. L. C. Técnicas de programação: uma abordagem estruturada. Pearson Makron Books, 1992.

7. Mapeamento de variáveis em memória A tradução da abstração usada por nós e o baixo nível usado pelo computador é feita por meio de uma tabela de símbolos. Exemplo [Saliba, 1992, p. 25]: Nome Simbólico Posição inicial Tipo de dado NOME 0 Literal[10] SOBRENOME 10 Literal[10] IDADE 20 Inteiro SALÁRIO 22 Real TEM_FILHOS 26 Lógico

Exercícios Variáveis 1) [Saliba, 1992, p. 26] Na lista seguinte, assinale com V os nomes de variáveis válidos e com I os inválidos. ( ) abc ( ) 3abc ( ) a ( ) 123a ( ) _a ( ) acd1 ( ) _ ( ) Aa ( ) 1 ( ) A123 ( ) _1 ( ) A0123 ( ) a123 ( ) _a123 ( ) b312 ( ) AB CDE ( ) etc... ( ) guarda-chuva 2) Declare, em pseudocódigo, variáveis para os dados descritos a seguir. Utilize nomes e tipos de dados adequados. Assuma que todas elas pertencem ao mesmo algoritmo chamado ExercícioDois e que o corpo deste algoritmo é vazio. Nome completo de uma pessoa; Salário de um funcionário; Sigla de unidade federativa (estado) do Brasil; Indicação se um determinado aluno da UFES é ou não especial; Carga horária de uma disciplina; Distância entre dois planetas; Número de funcionários de uma empresa de médio porte.

Resolução dos Exercícios Variáveis 1) Na lista seguinte, assinale com V os nomes de variáveis válidos e com I os inválidos. ( V ) abc ( I ) 3abc ( V ) a ( I ) 123a ( I ) _a ( V ) acd1 ( I ) _ ( V ) Aa ( I ) 1 ( V ) A123 ( I ) _1 ( V ) A0123 ( V ) a123 ( I ) _a123 ( V ) b312 ( I ) AB CDE ( I ) etc... ( I ) guarda-chuva 2) Algorítmo ExercícioDois VAR nome_completo : literal[50] salário : real sigla_estado : literal[2] aluno_especial : lógico carga_horária : inteiro distância : real num_funcionarios : inteiro Início Fim.