Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouLívia Amaro Alterado mais de 10 anos atrás
1
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!
2
Conceitos básicos de programação
Aula 2 Conceitos básicos de programação
3
Introdução à Programação
Variáveis bool encontrado = false; int número_de_alunos = 39; float taxa_de_conversão = f; 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
4
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
5
Memória do computador (II)
Uma sequência de bits 768 Mbyte = byte = bit Aproximadamente 1 bit por habitante da Terra Introdução à Programação 2003/2004
6
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 ) ‘A’ ‘a’ ‘0’ Introdução à Programação 2003/2004
7
Interpretação dos caracteres
‘A’ ( )2 = (65)10 ‘a’ ( )2 = (97)10 ‘0’ ( )2 = (48)10 char caractere = ‘A’ char caractere = char(65); Introdução à Programação 2003/2004
8
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
9
Manipulando inteiros não negativos
= ? = ? O bit mais significativo não cabe num inteiro de 4 bits Introdução à Programação 2003/2004
10
Representação de inteiros não negativos
Introdução à Programação 2003/2004
11
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
12
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
13
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: Gama de valores representáveis com n bits: -2n-1 a 2n-1-1 Gama de valores representáveis com 32 bits: a Introdução à Programação 2003/2004
14
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
15
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
16
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, F, ... 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
17
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
18
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
19
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
20
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
21
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
22
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 << << endl; 2.5 Introdução à Programação 2003/2004
23
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
24
Precedência e associatividade (I)
Regras comuns respeitadas: cout << * 3 << endl; cout << 16 / 2 / 2 << endl; 16 4 Introdução à Programação 2003/2004
25
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
26
Operadores especiais de atribuição
+=, -=, *=, /=, %= Expressões do tipo x = x + 10; São abreviadas para x += 10; Introdução à Programação 2003/2004
27
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
28
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
29
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.