Buscar

aula 11 introdução à programação

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

CCT0001 - 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 */
Intidades[15];
/*declarar um vetor para armazenar 100 notas*/
Floatnotas[100];
/*declarar um vetorpara armazenar o sexo de 30 pessoas*/
Charsexo[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;
 cin>>vetor[i];	
			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");
}
Introdução à Programação
AULA 11: Estruturas homogêneas

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais

Outros materiais