Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prof. Claudio Cesar de Oliveira Cordeiro 001 claudio_cesar_cordeiro@yahoo.com.br Seg, 28 Out 2013 Capítulo 05 Arrays Vetores e Matrizes Linguagem de Programação C++ Parte 1 Variáveis Simples 002 claudio_cesar_cordeiro@yahoo.com.br Linguagem de Programação C++ Variáveis Simples do C++ Variáveis Simples Inteiras ► São do tipo int. ► Recebem valores inteiros: 1, 2, 10 etc. C++ tem vários tipos de variáveis simples. Ao lado vemos algumas. Variáveis Simples Decimais de Precisão Simples ► São do tipo float. ► Recebem valores reais: 1.0, 2, 10.23 etc. Variáveis Simples Tipo Caractere ► São do tipo char (segundo o Código ASCII) ► Recebem valores que são caracteres: ‘A’, ‘B’, ‘1’, ‘2’ etc. Variáveis Simples Decimais de Precisão Dupla ► São do tipo double. ► Recebem valores reais: 1.0, 2, 10.23 etc. 003 claudio_cesar_cordeiro@yahoo.com.br Linguagem de Programação C++ Variáveis e a RAM Variáveis São Posições de Memória! Como já sabemos, variáveis são, na verdade, posições da Memória RAM do computador. Quando declaramos uma variável x no C++, é reservada uma área com n bytes na memória, dependendo do tipo da variável. RAM x Byte 04 Byte 03 Byte 02 Byte 01 Tipo int ► 4 bytes 004 claudio_cesar_cordeiro@yahoo.com.br Linguagem de Programação C++ Endereço de Memória das Variáveis Variáveis Têm Endereços de Memória! int x; RAM x Byte 04 RAM Byte 03 Byte 02 Byte 01 0x28ff41 Endereço 0x28ff42 0x28ff43 0x28ff44 Byte 04 Byte 03 Byte 02 Byte 01 int x,y; x Byte 04 Byte 03 Byte 02 Byte 01 0x28ff41 0x28ff42 0x28ff43 0x28ff44 Byte 04 Byte 03 Byte 02 Byte 01 RAM Byte 04 RAM Byte 03 Byte 02 Byte 01 0x28ff4d Endereço 0x28ff4e 0x28ff3f 0x28ff40 Byte 04 Byte 03 Byte 02 Byte 01 y Note que alocação de memória é do endereço mais alto para o mais baixo! 2ª Declaração 1ª Declaração Programinha Para Descobrir Endereço das Variáveis 005 claudio_cesar_cordeiro@yahoo.com.br Linguagem de Programação C++ Arrays – Vetores e Matrizes /**************************************************************************** Nome: C++ - Ponteiros 01 - Declarando um Ponteiro Autor: Prof. Claudio Cordeiro - Data: Qua, 18/09/13 23:56 Notas: Uso dos operadores & (endereço) e * (ponteiro) *****************************************************************************/ #include <iostream> #include <conio.h> using namespace std; main() { int x,y,z; //Variáveis declaradas como tipo inteiro int *p1,*p2,*p3; //Ponteiros declarados como tipo inteiro. Não podem ser float! Note o asterisco! x = 10; y = 20; z = 30; p1 = &x; //Ponteiro p1 tem o endereço de memória de x p2 = &y; //Ponteiro p2 tem o endereço de memória de y p3 = &z; //Ponteiro p3 tem o endereço de memória de z cout << endl << endl; cout << "Ponteiro p1 tem o endereco hexadecimal de x ....: " << p1; cout << endl; cout << "Ponteiro p2 tem o endereco hexadecimal de y ....: " << p2; cout << endl; cout << "Ponteiro p3 tem o endereco hexadecimal de z ....: " << p3; cout << endl << endl; cout << "O conteudo apontado por *p1 tem o valor de x ...: " << *p1; cout << endl; cout << "O conteudo apontado por *p2 tem o valor de y ...: " << *p2; cout << endl; cout << "O conteudo apontado por *p3 tem o valor de z ...: " << *p3; getch(); return 0; } Este programa foi quem descobriu os endereços, que podem variar! Para descobrirmos os endereços de variáveis usamos um tipo especial de variáveis: Os Ponteiros (*p) e o Operador de Endereço & (&var). Programinha Para Descobrir Endereço das Variáveis 006 claudio_cesar_cordeiro@yahoo.com.br Linguagem de Programação C++ Arrays – Vetores e Matrizes Este programa é que descobriu os endereços, que podem variar! Observando a saída do programinha vemos que os endereços das variáveis começam num endereço mais alto da memória da RAM e vão avançando para endereços mais baixos (subindo em direção ao topo da memória). Estes endereços podem variar de máquina para máquina e até mesmo de compilador para compilador. Portanto, se em seu computador os endereços forem diferentes dos aqui apresentados, para o exemplo em pauta, NO STRESS! Arrays 007 claudio_cesar_cordeiro@yahoo.com.br Linguagem de Programação C++ Arrays – Vetores e Matrizes Arrays são variáveis que armazenam mais de um valor sob o mesmo nome da variável. Isto é, ao declararmos um array podemos armazenar mais de um dado na sua estrutura, desde que os dados sejam do mesmo tipo. O C++ tem outro tipo de variáveis que não são do tipo simples. São as Variáveis Estruturadas. Os famosos Arrays! Assim podemos ter: ► Arrays de números inteiros ► Arrays de números decimais ► Arrays de caracteres ► Os famosos STRINGS! Atenção! As Linguagens C e C++ não tem um tipo pré-definido de variável para Strings, como temos para números inteiros, decimais etc. Strings são tratados(as) como arrays! Declarando um Array de Inteiros 008 claudio_cesar_cordeiro@yahoo.com.br Linguagem de Programação C++ Arrays – Vetores e Matrizes int array [5]; Tipo de dados do array Nome do array, no caso array mesmo Início do indicador de array Quantidade de elementos Fim do indicador de array Atenção! Os elementos do array são referenciados a partir de 0 (zero) e não de 1 (um). Neste nosso caso acima o array de nome array tem cinco (5) elementos numerados de 0 (zero) a 4 (quatro). NUNCA SE ESQUEÇA! Declarando um Array de floats 009 claudio_cesar_cordeiro@yahoo.com.br Linguagem de Programação C++ Arrays – Vetores e Matrizes float notas [9]; Tipo de dados array Nome do array, no caso notas Início indicador de array Quantidade de elementos Fim do indicador de array Atenção! O nome do array segue as mesmas Regras de Nomeação de Variáveis (não podem começar por número, não podem ter espaços, acentos e cedilha etc. Iniciando um Array 010 claudio_cesar_cordeiro@yahoo.com.br Linguagem de Programação C++ Arrays – Vetores e Matrizes Podemos iniciar um array de diversas formas: int array [5]; //Declarando array[4]=45; //Iniciando elemento 4 array[3]=20; //Iniciando elemento 3 array[2]=2013; //Iniciando elemento 2 array[1]=10; //Iniciando elemento 1 array[0]=25; //Iniciando elemento 0 Caso 1: Iniciando os elementos manualmente um a um: Iniciando um Array 011 claudio_cesar_cordeiro@yahoo.com.br Linguagem de Programação C++ Arrays – Vetores e Matrizes Podemos iniciar um array de diversas formas: #define MAX 5 using namespace std; int main() { int array[MAX]={25,10,2013,21,10}; } Caso 2: Iniciando um a um, com atalho: MAX é uma constante Elemento 0 Elemento 4 Elementos do array dentro de { } e separados por vírgulas! Iniciando um Array 012 claudio_cesar_cordeiro@yahoo.com.br Linguagem de Programação C++ Arrays – Vetores e Matrizes Iniciando um array de 5 elementos float com atalho: #define MAX 5 using namespace std; int main() { float array[MAX]={(2.5), 10.2, 20.13,21.9,10}; } MAX é uma constante Elemento 0 Elemento 4 Elemento 1 Elementos do array dentro de { } e separados por vírgulas! DeclarandoArrays – Exemplo 01 013 claudio_cesar_cordeiro@yahoo.com.br Linguagem de Programação C++ Arrays – Vetores e Matrizes /************************************************************* Prog.: Arrays 01 - Declarando e Iniciando Manualmente Função: Declarando um array e iniciando. Autor: Prof. Claudio Cesar Cordeiro - Data: Sex, 25/10/13 20:33 Referência: Paul Snaith - C++ Para Leigos Passo a Passo *************************************************************/ #include <iostream> #include <conio.h> #define NL endl using namespace std; int main() { int array[5]; //Declarando o array com dez posições para números inteiros int desloc; //Declarando desloc, deslocamento do array array[4]=45; array[3]=20; array[2]=2013; array[1]=10; array[0]=25; cout << NL; cout << "Arrays 01 - Declarando e Iniciando Manualmente" << endl << endl; cout << NL; cout << "Mostrando os Elementos e Conteudo do Array" << NL; cout << "==========================================" << NL << NL; for (desloc=0;desloc<=4;desloc++) { cout << "Elemento " << desloc+1 << " - Conteudo de array[" << desloc << "]: " << array[desloc] << NL; } getch(); return 0; } Fonte para copiar e colar no Dev-C++. Declarando Arrays - Exemplo 01 – Parte 1/2 014 claudio_cesar_cordeiro@yahoo.com.br Linguagem de Programação C++ Arrays – Vetores e Matrizes /************************************************************* Prog.: Arrays 01 - Declarando e Iniciando Manualmente Função: Declarando um array e iniciando. Autor: Prof. Claudio Cesar Cordeiro - Data: Sex, 25/10/13 20:33 Referência: Paul Snaith - c++ Para Leigos Passo a Passo *************************************************************/ #include <iostream> #include <conio.h> #define NL endl using namespace std; int main() { int array[5]; //Declarando o array com dez posições para números inteiros int desloc; //Declarando desloc, deslocamento do array Declarando Arrays - Exemplo 01 – Parte 2/2 015 claudio_cesar_cordeiro@yahoo.com.br Linguagem de Programação C++ Arrays – Vetores e Matrizes int desloc; //Declarando desloc, deslocamento do array array[4]=45; array[3]=20; array[2]=2013; array[1]=10; array[0]=25; cout << NL; cout << "Arrays 01 - Declarando e Iniciando Manualmente" << endl << endl; cout << NL; cout << "Mostrando os Elementos e Conteudo do Array" << NL; cout << "==========================================" << NL << NL; for (desloc=0;desloc<=4;desloc++) { cout << "Elemento " << desloc+1 << " - Conteudo de array[" << desloc << "]: " << array[desloc] << NL; } getch(); return 0; }
Compartilhar