Buscar

aula 11 introdução à programação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 15 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

CCT0001 - Introdução à Programação 
Aula 11: Estruturas homogêneas 
Introdução à Programação 
AULA 11: Estruturas homogêneas 
• Matriz é um arranjo de elementos dispostos em linhas e colunas 
• Toda matriz tem uma letra maiúscula como nome e, de forma subscrita, 
sua dimensão, isto é, o número de linhas (m) e de colunas (n) separadas 
pela letra “x” minúscula 
• Cada elemento é representado pela letra minúscula correspondente ao 
nome da matriz e, de forma subscrita, sua posição linha (m) / coluna (n) 
Revisão de Matemática 
Introdução à Programação 
AULA 11: Estruturas homogêneas 
Matrizes unidimensionais 
Revisão de Matemática 
Introdução à Programação 
AULA 11: Estruturas homogêneas 
Conceitos 
A estrutura homogênea é formada por elementos do mesmo tipo 
 
Podemos dizer que uma matriz é um conjunto de variáveis, todas com o mesmo 
nome e só diferenciadas pela posição que ocupam nesse conjunto. Ou seja, 
uma coleção de variáveis do mesmo tipo 
 
Como já vimos, quando uma matriz tem somente uma dimensão, chamamos de 
vetor, como na Matemática, ou array ou matriz unidimensional 
 
Na linguagem C++, assim como em outras linguagens, essa dimensão que 
localiza a posição de uma variável vem entre um par de colchetes 
Introdução à Programação 
AULA 11: Estruturas homogêneas 
Declaração 
Alguns exemplos de declaração em C++ 
Linguagem C++ 
/* declarar um vetor para armazenar 15 idades */ 
Int idades[15]; 
/*declarar um vetor para armazenar 100 notas*/ 
Float notas[100]; 
/*declarar um vetor para armazenar o sexo de 30 pessoas*/ 
Char sexo[30]; 
Introdução à Programação 
AULA 11: Estruturas homogêneas 
Declaração 
Na linguagem C++, uma string é um vetor de caracteres terminado com um 
caracter nulo cujo valor inteiro é igual a zero (código ASCII igual a 0). O 
terminador nulo também pode ser escrito usando a convenção de barra 
invertida do C++ como sendo '\0'. 
 
 Como precisamos reservar uma posição para o terminador, sempre iremos 
declarar o tamanho necessário mais um. 
 
 Observe o armazenamento da variável universidade declarada com tamanho 8: 
Universidade 
E S T A C I O \0 
0 1 2 3 4 5 6 7 
Introdução à Programação 
AULA 11: Estruturas homogêneas 
Construindo um vetor 
Programa que armazena valores inteiros em um vetor de 6 posições e gera um 
vetor com o dobro de cada elemento 
1 #include <iostream> 
2 using namespace std; 
3 
4 int main(int argc, char** argv) { 
5 int i, vetor [6], dobro [6]; 
6 
7 for (i=0;i <6;i++){ 
8 
9 cout<<"Qual o valor de vetor*”<<i<<“+? "<<endl; 
10 cin>>vetor[i]; 
11 dobro[i]= vetor[i]*2; 
11 } 
12 for (i=0;i <6;i++){ 
13 cout<<“dobro*“<<i<<“+ = “<< dobro*i+<<endl; 
14 } 
15 system (“pause”); 
16 return 0; 
17 } 
Ambos valores ficam armazenados 
Introdução à Programação 
AULA 11: Estruturas homogêneas 
Um tipo especial: string 
int main () 
{ 
 char nome[5]; 
 cout << "ler um caractere:"; 
 cin >> nome[0]; //ler um caractere: A 
 cout << nome [0] << "\n"; //A 
 cout << "ler um nome:"; 
 cin >> nome[5]; //ler um nome: amor 
 cout << nome[5]<<"\n"; //amor 
 system ("pause"); 
} 
Introdução à Programação 
AULA 11: Estruturas homogêneas 
Um tipo especial: string 
int main () 
{ 
 char nome[5]; 
 cout << "CARACTERE 1:"; 
 cin >> nome[0];  O 
 cout << "CARACTERE 2:"; 
 cin >> nome[1];  L 
 cout << "CARACTERE 3:"; 
 cin >> nome[2];  A 
 cout << nome [5] << "\n";  ??????? 
system ("pause"); 
} 
TODA STRING DEVE TERMINAR COM \0 
Introdução à Programação 
AULA 11: Estruturas homogêneas 
Um tipo especial: string 
int main () 
{ 
 char nome[5]; 
 cout << "CARACTERE 1:"; 
 cin >> nome[0];  O 
 cout << "CARACTERE 2:"; 
 cin >> nome[1];  L 
 cout << "CARACTERE 3:"; 
 cin >> nome[2];  A 
 nome*3+ = ‘\0’; 
 cout << nome [5] << "\n";  OLA 
TODA STRING DEVE TERMINAR COM \0 
Introdução à Programação 
AULA 11: Estruturas homogêneas 
Exemplificando 
Construa um algoritmo (e implemente em C++) que permita a entrada da 
matrícula, do salário base e a classificação de vários funcionários. Para cada 
funcionário deverão ser impressos a matrícula e seu novo salário. A 
entrada de dados termina quando se digita uma matricula não positiva. 
Uma empresa classifica seus funcionários de acordo com um índice de 
produtividade: (1) Excelente, (2) Bom e (3) Regular. Cada nível acrescenta 
um abono ao salário base do funcionário de acordo com a seguinte tabela: 
Excelente 40 % do salário base 
Bom 20 % do salário base 
Regular 5 % do salário base 
Introdução à Programação 
AULA 11: Estruturas homogêneas 
Exemplificando 
int main ( ) 
{ 
 int matricula; 
 float salario; 
 char indice; 
 do { 
 cout <<"Matricula: "; 
 cin >> matricula; 
 if (matricula > 0){ 
 cout << "Salario: R$ "; 
 cin >> salario; 
 cout <<"Indice : "; 
 cin >> indice; 
switch (indice){ 
 case 'e': salario = salario * 1.4; 
 break; 
 case 'b': salario = salario * 1.2; 
 break; 
 case 'r': salario = salario *1.05; 
 break; 
 default: cout << "Indice Invalido\n"; 
 } 
 cout << "Matricula: "<< matricula ; 
 cout <<" Salario: R$ " << salario << “\n"; 
 } 
 } while (matricula> 0); 
 system ("pause"); 
} 
Introdução à Programação 
AULA 11: Estruturas homogêneas 
Exemplificando 
Como armazenar estes valores para gerar uma listagem no final? 
 
• Criaremos um vetor para matricula e um para avaliação e outro para o salário. 
• Vamos estimar que a empresa tem no máximo 100 funcionários  precisaremos 
para dimensionar os vetores. 
• Será preciso controlar dois parâmetros: a quantidade máxima e o término 
provocado pelo usuário 
Introdução à Programação 
AULA 11: Estruturas homogêneas 
Exemplificando 
int main ( ) 
{ 
 int matricula[100], i=0, j=0; 
 float salario[100], sal=0; 
 char índice[100]; 
 do { 
 cout <<"Matricula: "; 
 cin >> matricula[i]; 
 if (matricula[i] > 0){ 
 cout << "Salario: R$ "; 
 cin >> salario[i]; 
 cout <<"Indice : "; 
 cin >> índice[i]; 
 i++; 
 } 
 } while (matricula[i]> 0 && i<100); 
for (j=0; j <i; j++) { 
 cout << "Matricula: "<< matricula[j] << endl ; 
 switch (índice[j]){ 
 case 'e': sal = salario[i] * 1.4; 
 break; 
 case 'b': sal = salario[i] * 1.2; 
 break; 
 case 'r': sal = salario[i] *1.05; 
 break; 
 default: cout << "Indice Invalido\n"; 
 } 
 cout <<" Salario: R$ " << salario << “\n"; 
 } 
system ("pause"); 
}

Outros materiais