Buscar

ILP Vetores Aula 5

Prévia do material em texto

INTRODUÇÃO A LINGUAGEM
DE PROGRAMAÇÃO
Prof.: Danilo Coimbra
(coimbra.danilo@ufba.br)
Danilo Peleteiro
(dan.pltr@gmail.com) 
2018 -1
Vetores
1
Introdução
“As maneiras de organizar a informação são limitadas: 
aprenda as formas, procure variantes e começará a 
fazer ligações e opções que levam a compreensão.”
Richard Saul Wurman
 É importante conhecer as diversas estruturas de dados para 
aplicar, a cada situação, a estrutura mais adequada para 
atingir da melhor maneira os resultados esperados
2
Introdução
 Para determinadas situações faz-se necessário 
armazenar valores em estrutura de dados específicas 
a fim de resolver um determinado problema
 Exemplos?
 Uma variável ou uma mesma posição de memória 
pode guardar vários valores de um mesmo tipo? 
3
Vetores - Definição
 Uma das estruturas mais simples para armazenar 
valores/variáveis de um mesmo tipo 
 Também chamado de array
 Definições
 Um vetor é um conjunto de elementos de um mesmo tipo que são 
acessados e referenciados individualmente 
 Por meio de uma posição de índices
 É uma variável 
 composta (formada por um número finito de variáveis) 
 homogênea (possuem um mesmo tipo) 
 unidimensional (possui apenas uma dimensão)
4
Vetores - Sintaxe
 Um vetor é declarado utilizando a seguinte sintaxe:
Tipo de dado Identificador [n];
 Tipo de dado: int, float, ... 
 Identificador: nome
 [n]: quantidade 
 Exemplo:
 int idades [5]; 
5
Vetores - Representação
vetor “idades”
 Como responder as seguintes perguntas?
 Há alguma pessoa com idade acima de 60 anos?
 Há alguma pessoa com 41 anos de idade? 
 Com 31?
6
35 24 46 31 21
0 1 2 3 4 posição
Valores (idades)
Tamanho do vetor é 5
Primeiro índice
Vetores - Representação
vetor “idades”
 Não confundir o índice que aponta para uma posição 
no vetor, com o conteúdo de uma posição do vetor
 Ex.: idades[2] tem como resultado 46 
7
35 24 46 31 21
0 1 2 3 4 posição
Valores (idades)
Tamanho do vetor é 5
Primeiro índice
Vetores
 Declarando vetor
Exemplos
int a[2];
double resultados[4*x];
int m=14;
float valores[m];
8
Vetores
Antes
 Como armazenar 100 notas?
9
float nota1, nota2, nota3, …, nota99, nota100;
cin >> nota1;
cin >> nota2;
/* ... */
cin >> nota100;
cin >> nota1 >> nota2 >> … >> nota100;
Vetores
Antes
 Como armazenar 100 notas?
 É possível otimizar a leitura? Como?
10
float notas[100];
cin >> notas[0];
cin >> notas[1];
/* ... */
cin >> notas[99];
//ou 
cin >> nota1 >> nota2 >> … >> nota100;
Vetores
Depois
 Como armazenar 100 notas?
11
float notas[100];
int i;
for(int i=0; i<=99; i++){
cin >> notas [i];
}
Vetores
 Como acessar valores de um vetor?
12
int vetor[2];
vetor[0]=4;
vetor[1]=5;
_____________
int indice =2;
vetor[indice] = 100;
_____________
vetor[3*indice] = vetor[2]*2;
_____________
char v[6] = {‘M’,’A’,’T’,’A’,’3’,’7’};
Vetores
 Como acessar valores de um vetor?
13
int valores[] = {3,5,7}; 
//detecta automaticamente a quantidade
______________
int valores[5] = {2,4,6};
//mesmo que 
int valores[5] = {2,4,6,0,0};
______________
int valor;
int vetor[5];
valor = vetor[0];
//errado
Vetores - Exercício 1 
Par ou ímpar
 Descrição
Dada a sequência de n números, imprimir as posições 
ímpares e pares da mesma.
 Entrada
A primeira linha contém um inteiro n (0 <= n <= 1000), 
representando a quantidade de elementos da 
sequência. A segunda linha contém n inteiros.
 Saída
A primeira linha deve conter os números de posição 
par na sequência do vetor, separados por espaço, na 
ordem em que foram dados. A segunda linha deve 
conter os números de posição ímpar na sequência, 
separados por espaço, na ordem em que foram dados.
14
Vetores - Exercício 1 Resposta
15
#include <iostream>
using namespace std;
int main(){
int a[1000];
int i, n;
// Lê a quantidade de elementos
cin >> n;
// Lê n elementos
for(i = 0; i < n; i++) {
cin >> a[i];
}
// Imprime as posições pares
for(i = 0; i < n; i += 2) {
cout << a[i]<< " ";
}
cout << endl;
// Imprime as posições ímpares
for(i = 1; i < n; i += 2) {
cout << a[i]<< " ";
}
cout << endl;
return 0;
}
Vetores - Exercício 2 
Quadrado dos n números inteiros
 Descrição
Armazenar em um vetor o quadrado dos 100 
primeiros números inteiros positivos
 Entrada
 Saída
Deve ser impresso uma única linha contendo os 
valores, separados por espaço
16
Vetores - Exercício 2 Resposta
17
#include <iostream>
using namespace std;
int main(){
int i, quad[100];
for(i = 0; i < 100; i++) {
quad[i]= i * i;
}
// Imprime os quadrados
for(i = 0; i < 100; i ++) {
cout << quad[i]<< " ";
}
cout << endl;
return 0;
}

Mais conteúdos dessa disciplina