As aulas não cobrem toda a matéria! Há que ler as folhas teóricas!

Slides:



Advertisements
Apresentações semelhantes
PRÓ-INFORMÁTICA QUALIFICAÇÃO PROFISSIONAL
Advertisements

Sistemas de Numeração.
Laboratório de Programação
Aritmética Computacional
Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias
Lógica booleana e implementação de funções booleanas
Versão – Prof.: Mauro César Lopes
Sistemas de Numeração.
Representação de Dados e Sistemas de Numeração Aula 4
Multiplicação e Divisão Serial Moraes/Ney - 07/novembro/2007
INTRODUÇÃO À ENGENHARIA DE COMPUTAÇÃO Prof. Wanderley
Eletrônica Digital Contadores
Algoritmos e Programação Linguagens de Programação Teoria Aula 5 (05/05) Universidade Federal do Vale do São.
Linguagem Java Renata Araujo
25/02/ Organização de Computadores: Uma Introdução aos Componentes Fundamentais Lógica Digital Introdução a Arquitetura Prof. Dr. Ronaldo Gonçalves.
ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE MONTAGEM
MC542 Organização de Computadores Teoria e Prática
MC542 Organização de Computadores Teoria e Prática
Soma de Produtos Soma de produtos é uma forma padrão de representação de funções Booleanas constituida pela aplicação da operação lógica OU sobre um conjunto.
Maria Aparecida Castro Livi
Disciplina: AAM Profa. Ana Watanabe 03/13 vol.2
Wagner Santos C. de Jesus
Registradores de deslocamento (Shift Register)
Registradores de deslocamento (Shift Register)
Etec Dr. Emilio Hernandez Aguilar
Versão – Prof.: Mauro César Lopes
Versão – Prof.: Mauro César Lopes
Laboratório de Programação de Computadores I
Unidades de Armazenamento
Variável Variável: “objecto” que pode assumir diversos valores;
Matrizes clássicas e vectores em C++
1 Aula 4 Ponteiros. 2003/2004 Programação Orientada para Objectos 2 Instâncias de um programa C++ int i = 10; Nome: i Tipo: int Valor: 10.
Sobrecarga de nomes de rotinas Rotinas recursivas Invocação de rotinas
2002/2003 Programação Orientada para Objectos 1 Aula 4 Memória, unidade básica de memória e conceito de endereço Ponteiros Relação de ponteiros com matrizes.
Faculdade Pitágoras Prof. Edwar Saliba Júnior Setembro de 2008
Conversão entre base decimal e binária
UNIDADE II.
Introdução a Tecnologia da Informação
Sistemas Numéricos Sistemas Numéricos de Interesse
Técnica de modelagem de Máquina de Estados em VHDL
Introdução a Computação e Cálculo Numérico
Arrays em Java Revisão Assuntos Aulas Anteriores
< declaração de variáveis > ( estrutura de dados )
Algoritmos Computacionais ( Programas )
Ameliara Freire Os programas manipulam dados, armazenando- os e, muitas vezes, modificando seus valores. Basicamente, a linguagem.
Circuitos combinatórios típicos: circuitos aritméticos
Operações Aritméticas em Binário
Sistemas de Numeração.
Manipulação de informação
Representação Digital da Informação
ICC – 4.2. Aritmética Binária
Computador Simplificado Conceitos p.ex. FLUXO de execução
Infra-Estrutura de Hardware
Tópicos em Arquitetura de Computadores João Angelo Martini Universidade Estadual de Maringá Departamento de Informática Mestrado em Ciência.
Introdução à Linguagem Java
Funcionamento básico de um processador de 8 bits
Programação em C++ Compiladores
Representação de dados
Mini Curso Java como Programar
1.
COMPUTAÇÃO AULA 3 Codificação Hexadecimal
Sistemas de Numeração.
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
Representação de Números Inteiros
Representação de Dados
Tipos de Dados Operadores
Subtrator e Somador BCD
Operações Aritméticas no Sistema binário
Tipos de dados inteiro caracter real logico
|PAULANINA| Byte Bits. Bits/Bytes Os computadores só “percebem ” o que lhes dizemos através de impulsos elétricos, que PODEM SER representados por: 1.
Transcrição da apresentação:

As aulas não cobrem toda a matéria! Há que ler as folhas teóricas! Atenção! As aulas não cobrem toda a matéria! Há que ler as folhas teóricas!

Conceitos básicos de programação Aula 2 Conceitos básicos de programação

Introdução à Programação Variáveis bool encontrado = false; int número_de_alunos = 39; float taxa_de_conversão = 200.482f; char caractere = ‘A’; Nomes de pedaços de memória Interpretação dada pelo tipo Tipo: booleano, ou seja, só pode tomar os valores falso e verdadeiro Valor inicial Nome Introdução à Programação 2003/2004

Memória do computador (I) … encontrado: bool número_de_alunos: int falso Taxa_de_conversão: float 39 caractere: char 200,482 A … Introdução à Programação 2003/2004

Memória do computador (II) Uma sequência de bits 768 Mbyte = 805 306 368 byte = 6 442 450 944 bit Aproximadamente 1 bit por habitante da Terra Introdução à Programação 2003/2004

Introdução à Programação Caracteres Tipo: char Número de bits: 8 Número de padrões: 28 = 256 Código: e.g. ISO-Latin-9 (ISO-8859-15) ‘A’ ..... 0100 0001 ‘a’ ..... 0110 0001 ‘0’ ..... 0011 0000 Introdução à Programação 2003/2004

Interpretação dos caracteres ‘A’ ..... (0100 0001)2 = (65)10 ‘a’ ..... (0110 0001)2 = (97)10 ‘0’ ..... (0011 0000)2 = (48)10 char caractere = ‘A’ char caractere = char(65); Introdução à Programação 2003/2004

Introdução à Programação Inteiros Tipo: int Número de bits: 32 (normalmente) Para simplificar, vamos assumir que têm apenas 4 bits Número de valores diferentes: 24 = 16 Se não representarem valores negativos: 0 a 24-1 Introdução à Programação 2003/2004

Manipulando inteiros não negativos 1 + 15 = ? 0001 1111 + 10000 2 + 14 = ? 0010 1110 + 10000 O bit mais significativo não cabe num inteiro de 4 bits Introdução à Programação 2003/2004

Representação de inteiros não negativos Introdução à Programação 2003/2004

Introdução à Programação Inteiros com sinal Qual o padrão de bits mais adequado a representar (-1)10? (1111)2 E o (-2)10? (1110)2 Introdução à Programação 2003/2004

Inteiros com sinal: quando parar? Em (-8)10: Aproximadamente mesmo número de positivos e negativos Negativos identificados pelo bit mais significativo Introdução à Programação 2003/2004

Representação de inteiros em complemento para dois Gama de valores representáveis com 4 bits: -8 a 7 Representação binária de -5: 10000 0101 - 1011 Gama de valores representáveis com n bits: -2n-1 a 2n-1-1 Gama de valores representáveis com 32 bits: -2 147 483 648 a 2 147 483 647 Introdução à Programação 2003/2004

Caracteres como inteiros char caractere = 'A'; int código = int(caractere); cout << código << endl; int código = int(caractere) + 1; cout << caractere << endl; ++caractere; 65 66 A B Introdução à Programação 2003/2004

Valores em vírgula flutuante Tipo: float Número de bits: 32 Valores: s  m  2e s0 1, m-1 ... m-23 e7 ... e0 Sinal Expoente Mantissa Introdução à Programação 2003/2004

Tamanho/Formato típico Tipos básicos Tipo Tamanho/Formato típico Valores literais (números inteiros) short 16 bits/complemento para dois int 32 bits/complemento para dois 176, ... long 64 bits/complemento para dois 8374L, ... (números decimais) float 32-bit IEEE 754 3.14f, 200.482F, ... double 64-bit IEEE 754 18.0, 1.8e1, 18.0, ... long double 96-bit IEEE 754 18.0L, 1.8e1L, 18.0L, ... (outros tipos) char 8 bits ‘A’, ‘.’, ‘€’, ... bool 1 byte = 8 bits false e true Têm versão unsigned Introdução à Programação 2003/2004

Estrutura de um programa em C++ // Inclusão de ficheiros de interface de bibliotecas e módulos (a // explicar mais tarde): #include <iostream> // Directiva de utilização do espaço nominativo std (a explicar mais // tarde): using namespace std; int main() { ... // Aqui é onde se escreve o programa. } Todas as frases precedidas de // ou entre /* e */ são comentários, sendo ignoradas pelo compilador Introdução à Programação 2003/2004

Introdução à Programação Instruções Uma instrução em C++ pode ser da forma expressão; Ocorrendo nesta Operadores Variáveis Valores literais ... Introdução à Programação 2003/2004

Operação de atribuição Afecta o estado do programa: altera o valor de uma variável variável = expressão; O estado do programa é definido pelo valor das suas variáveis Introdução à Programação 2003/2004

Operadores aritméticos (I) A divisão (/) é a divisão inteira se os seus operandos forem inteiros int x = 1 / 2; cout << x << endl; Introdução à Programação 2003/2004

Operadores aritméticos (II) % significa resto da divisão ou módulo: int x = 15 % 6; cout << x << endl; 3 Introdução à Programação 2003/2004

Operadores aritméticos (III) Se os operandos forem de tipos diferentes, o operando de um tipo menos potente é convertido para o tipo mais potente antes do cálculo: cout << 1.5 + 1 << endl; 2.5 Introdução à Programação 2003/2004

Operadores relacionais e de igualdade e diferença >, >=, <, <= Operador de igualdade: == Operador de diferença: != O resultado é um bool Introdução à Programação 2003/2004

Precedência e associatividade (I) Regras comuns respeitadas: cout << 1 + 5 * 3 << endl; cout << 16 / 2 / 2 << endl; 16 4 Introdução à Programação 2003/2004

Precedência e associatividade (II) Excepção: atribuição int i = 1, j = 2; i = j = 0; cout << i << ‘ ‘ << j << endl; Valor da atribuição é o valor da variável atribuída int x = 0; double f = 0.0; f = x = 1.3; cout << f << ‘ ‘ << x << endl; 0 0 1.0 1 Introdução à Programação 2003/2004

Operadores especiais de atribuição +=, -=, *=, /=, %= Expressões do tipo x = x + 10; São abreviadas para x += 10; Introdução à Programação 2003/2004

Operadores de incrementação e decrementação (I) ++ e -- prefixos e sufixos Expressões do tipo x = x + 1; São abreviadas para ++x; // operador prefixo ou x++; // operador sufixo Preferível! Introdução à Programação 2003/2004

Operadores de incrementação e decrementação (II) Operador prefixo: int i = 0; int j = ++i; cout << i << ’ ’ << j << endl; Operador sufixo int i = 0; int j = i++; cout << i << ’ ’ << j << endl; 1 1 1 0 Introdução à Programação 2003/2004

Introdução à Programação Aula 2: Sumário Conceito de memória Variáveis como forma estruturada de usar a memória Tipos básicos em C++ Noções sobre a representação física dos tipos Noções de representação de inteiros em complemento para dois Noções de representação de valores em vírgula flutuante Noções sobre códigos de caracteres Interpretação de valores do tipo char como inteiros Valores literais Computadores como máquinas finitas Expressões e operações Precedência e associatividade Operação de atribuição: alteração do estado da memória Introdução à Programação 2003/2004