O instrutor
Desenvolve SW desde 2000
Mestre em BD-RI pela UFAM 2013
Especialista Aplicações Web pela FUCAPI 2008
Site das disciplinas:
https://sites.google.com/sit
e/marciopalheta/ Professor e Arquiteto de Software
MARCIO PALHETA
Plano de aula do 1º Bimestre
Funções e procedimentos (18/07)
Vetores (23, 25, 30/07, 01, 06 e 08/08)
Lista 01 – [AV1] (13 e 15/08)
Matrizes (20, 22, 27 e 29/08)
Recursividade e Strings (03, 10 e 12/09)
Lista 02 [AV2] (17 e 19/09)
Avaliação Bimestral [AVB1] (24 e 26/09)
Plano de aula do 2º Bimestre
Registros e ponteiros(08 e 10/10)
Alocação dinâmica(15, 17 e 22/10)
Lista03 - AV3 (29 e 31/10)
Arquivos(05, 07, 12 e 14/11)
Lista04 - AV4 (19 e 21/11)
Trabalho Prático TP2 (26 e 28/11)
Avaliação Bimestral AVB2 (03 e 05/12)
O problema do somatório
Oi star, tô com outro problema
O problema do somatório
Pow trek, diz aí, qualé?
Oi star, tô com outro problema
Somatório com muitas variáveis
Preciso criar uma função que receba cinquenta
números inteiros...
Somatório com muitas variáveis
Preciso criar uma função que receba cinquenta
números inteiros...
... e devolva o maior elemento entre eles
Botando a mão na massa
Comecei a fazer, mas
encontrei um problema...
O ombro amigo
Diz aí trek, qual foi o problema?
A hora da onça beber água
A lista de parâmetros tem cinquenta variáveis
do mesmo tipo
A hora da onça beber água
A lista de parâmetros tem cinquenta variáveis
do mesmo tipo
E tenho que manipular uma por uma
Tá doido, maluco ???
Tá doido, maluco ???
Pelo bem da
humanidade, nunca mais repita isso
Tá doido, maluco ???
Pelo bem da
humanidade, nunca mais repita isso
Você vai usar uma estrutura de dados
Pensando em conteúdo novo
E como é isso...
de VETOR?
Um VETOR ou Array é uma estrutura de
dados simples...
... que usamos para manipular conjuntos
de variáveis...
Um VETOR ou Array é uma estrutura de
dados simples...
... que usamos para manipular conjuntos
de variáveis...
... onde todas as variáveis Um VETOR ou Array
é uma estrutura de dados simples...
<tipo> nome_vetor [ tamanho ];
Você 1º precisa conhecer os passos para usar vetores
Passo 1: declaração do vetor
<tipo> nome_vetor [ tamanho ];
Você 1º precisa conhecer os passos para usar vetores
Passo 1: declaração do vetor
Tipo das variáveis
<tipo> nome_vetor [ tamanho ];
Você 1º precisa conhecer os passos para usar vetores
Passo 1: declaração do vetor
Nome do vetor
<tipo> nome_vetor [ tamanho ];
Você 1º precisa conhecer os passos para usar vetores
Passo 1: declaração do vetor
Número de variáveis armazenadas
Você 1º precisa conhecer os passos para usar vetores
Passo 1: declaração do vetor
Você 1º precisa conhecer os passos para usar vetores
int meuVetor [5];
O comando:
Passo 1: declaração do vetor
Você 1º precisa conhecer os passos para usar vetores
int meuVetor [5];
O comando:
Reserva 5 endereços de memória
Passo 1: declaração do vetor
Você 1º precisa conhecer os passos para usar vetores
int meuVetor [5];
O comando:
Reserva 5 endereços
de memória Espaços seguidos Passo 1: declaração do vetor
Você 1º precisa conhecer os passos para usar vetores
int meuVetor [5];
O comando:
Acessados a partir de
índices 0 - 4 0 1 2 3 4 Passo 1: declaração do vetor
Você 1º precisa conhecer os passos para usar vetores
Passo 2: atualização das variáveis
Você 1º precisa conhecer os passos para usar vetores
meuVetor[0]=10;
O comando:
Passo 2: atualização das variáveis
Você 1º precisa conhecer os passos para usar vetores
O comando:
Altera o valor da posição 0
10
0 1 2 3 4 meuVetor[0]=10;
Passo 2: atualização das variáveis
Você 1º precisa conhecer os passos para usar vetores
O comando:
Altera o valor da posição 1
10 3
0 1 2 3 4 meuVetor[1]=3;
Passo 2: atualização das variáveis
Você 1º precisa conhecer os passos para usar vetores
O comando:
Altera o valor da posição 4
10 3 50
0 1 2 3 4 meuVetor[4]=50;
Passo 2: atualização das variáveis
Opa, posso deixar espaços vazios?
Opa, posso deixar espaços vazios?
Pode sim
Tá pra mim
Você 1º precisa conhecer os passos para usar vetores
O comando:
Altera o valor da posição 2
10 3 20 50 0 1 2 3 4 meuVetor[2]=20;
Passo 2: atualização das variáveis
Você 1º precisa conhecer os passos para usar vetores
O comando:
Altera o valor da posição 3
10 3 20 15 50 0 1 2 3 4 meuVetor[3]=15;
Passo 2: atualização das variáveis
Então basta saber o índice do elemento
que quero alterar?
Isso
Então basta saber o índice do elemento
que quero alterar?
Isso Shooooow!!!
Então basta saber o índice do elemento
que quero alterar?
Você 1º precisa conhecer os passos para usar vetores
Passo 3: acesso a variáveis
Você 1º precisa conhecer os passos para usar vetores
O comando:
printf(“%d”, meuVetor[4]);
Passo 3: acesso a variáveis
10 3 20 15 50
Você 1º precisa conhecer os passos para usar vetores
O comando:
printf(“%d”, meuVetor[4]);
Passo 3: acesso a variáveis
Imprime o conteúdo do índice 4 10 3 20 15 50
Você 1º precisa conhecer os passos para usar vetores
O comando:
printf(“%d”, meuVetor[4]);
Passo 3: acesso a variáveis
Ou seja, imprime o valor: 15
10 3 20 15 50
Star, e se seu tentar acessar um índice
inválido?
O quê que tu achas, trek?
Star, e se seu tentar acessar um índice
inválido?
Dá erro?
Claaaaaaro Dá erro?
Bem que eu suspeitei
Então... Vai praticar
Então... Vai praticar
Que tu só aprendes a programar...
programando, pow!
Exercícios
1. No método main(), peça do usuário cinco valores inteiros e armazene-os em um vetor;
2. Crie um procedimento que recebe um vetor de inteiros com cinco elementos e imprima seu conteúdo;
3. Utilize o método main() para testar o procedimento gerado;
Você ficaria muito chateado...
...se eu pedisse para resolvermos
juntos?
Você ficaria muito chateado...
Tá bom, sem problemas!
Vamos lá...
Tá bom, sem problemas!
Vamos começar definindo os
componentes necessários
Vamos começar definindo os componentes necessários
Constante detamanho do vetor
Vamos começar definindo os componentes necessários
Constante detamanho do vetor
Não é obrigatória
Vamos começar definindo os componentes necessários
Constante detamanho do vetor
Não é obrigatória Mas é melhor do
que “decorar” o tamanho do vetor
Vamos começar definindo os componentes necessários
Método para
impressão do vetor
Vamos começar definindo os componentes necessários
SEM retorno
Vamos começar definindo os componentes necessários
SEM retorno
Recebe o vetor como parâmetro
Então, ao invés de
passar cinco variáveis...
Então, ao invés de
passar cinco variáveis...
...passo apenas o vetor?
Isso mesmo Então, ao invés de
passar cinco variáveis...
...passo apenas o vetor?
Shooooow!
Vamos começar definindo os componentes necessários
Método principal, onde iremos...
Vamos começar definindo os componentes necessários
Método principal, onde iremos...
...ler o conteúdo do vetor e chamar o
método de impressão
Agora vamos implementar...
Agora vamos implementar...
...e explicar cada método?
Agora vamos implementar...
Sim, sim...
Por favor!
...e explicar cada método?
Método de impressão
Método de impressão
Precisamos percorrer o
vetor...
Método de impressão
Precisamos percorrer o
vetor... ...e imprimir seu conteúdo
Método de impressão
Por isso usamos um laço de repetição
Método de impressão
Por isso usamos um laço de repetição
Que inicia em ZERO...
Método de impressão
Por isso usamos um laço de repetição
Que inicia
em ZERO... ...percorre todos os índices do vetor...
Método de impressão
Por isso usamos um laço de repetição
Que inicia
em ZERO... ...percorre todos os índices do vetor...
...atualizando o índice, ao final de cada iteração
Método de impressão
A cada iteração...
Método de impressão
A cada iteração...
...imprimimos o conteúdo de uma
posição do vetor
Simples assim
Simples assim
Shooooow!
Vamos ao método main()
Vamos ao método main()
Declaração de variáveis
Vamos ao método main()
Declaração de variáveis
Vetor
Vamos ao método main()
Declaração de variáveis
Vetor
Variável comum
Posso declarar o vetor junto com as variáveis
primitivas?
Posso declarar o vetor junto com as variáveis
primitivas?
SIM
Posso declarar o vetor junto com as variáveis
primitivas?
SIM
Shooooow!
Vamos ao método main()
Precisamos
percorrer o vetor
Mas esse laço de repetição parece aquele que usamos na impressão do conteúdo.
Mas esse laço de repetição parece aquele que usamos na impressão do conteúdo.
É sim.
Mas esse laço de repetição parece aquele que usamos na impressão do conteúdo.
Usamos laços sempre que precisamos
É sim.
De volta ao método main()
De volta ao método main()
A cada iteração...
De volta ao método main()
A cada iteração... ... lemos um valor...
De volta ao método main()
A cada iteração...
... e atualizamos a posição do vetor
De volta ao método main()
E no final...
De volta ao método main()
E no final...
...chamamos o
método que imprime o conteúdo do vetor
Gostei, mas
poderíamos fazer mais exercícios?
SIM
Gostei, mas
poderíamos fazer mais exercícios?
SIM
Shooooow!
Gostei, mas
poderíamos fazer mais exercícios?
Exercícios
1. Escreva uma função que receba um
array A e devolva o maior elemento de A;
2. Escreva uma função que receba um vetor de inteiros e devolva a soma de seus elementos;
3. Escreva um procedimento que receba um vetor A e imprima a ordem inversa de seus elemento;
Exercícios
4. Escreva uma função que um vetor A com as 5 notas de um aluno e devolva a media aritmética das avaliações;
5. Escreva uma função que receba um vetor A e um escalar X e devolva o número de vezes que X ocorre em A
Bibliografia
ASSENCIO, Ana Fernandes Gomes. Fundamentos da
programação de computadores, 3ª edição, Pearson, 2012.
ASSENCIO, Ana Fernandes
Gomes. Estruturas de Dados, Pearson, 2010.
Referências
ASSENCIO, Ana Fernandes Gomes.
Fundamentos da programação de
computadores, 3ª edição, Pearson, 2012.
ASSENCIO, Ana Fernandes Gomes.
Estruturas de Dados, Pearson, 2010.
FORBELONE, André. Lógica de Programação.
Editora Makron Books, 2000
Projetos Pedagógicos dos Cursos de SIS, CCP e ECP;