Lógica de Programação 
Unimep/Pronatec 
2° Semestre/2014 
AULA 10 
- Prof. André Bertoletti - 
apbertolet@unimep.br
Aula de hoje 
•Vetores unidimensionais 
•Vetores multidimensionais (Matrizes) 
•Exercícios Portugol/C#
NÃO ESQUEÇA DA SUA Hora do Código 
Acesse, identifique-se e faça os exercícios! 
abre.ai/horadocodigo
Vetores Quando precisamos guardar várias informações ao mesmo tempo
Recordar é viver... O que é uma variável mesmo?! 
Valor
Como funciona uma variável tradicional Numero  32 
32
10 
32 
Como funciona uma variável tradicional 
Numero  10
Uma variável tradicional armazena apenas o último valor informado 
10
E como resolver esta necessidade?! Armazenar diversos valores dentro de uma mesma variável?
Conheça a variável do tipo VETOR
Conheça a variável do tipo VETOR 
20 
32
Existem dois tipos de Vetores Unidimensionais e Multidimensionais
Vetor unidimensional 
1 linha 
X 
N colunas
Sintaxe de declaração de um vetor unidimensional 
Tipo Nome[NumeroDeElementos] 
Exemplos: 
Inteiro Notas[10] 
Texto Nomes[5] 
Decimal Valores[11]
Declarando um vetor unidimensional 
Inteiro Numeros[4] 
(em algoritmo) 
inteiro Numeros[4] 
(em Portugol Studio) 
int[] Numeros = new int[4]; 
(em C#)
Vetor multidimensional (Matriz) 
N linhas 
X 
N colunas
Sintaxe de declaração de um vetor multidimensional 
Tipo Nome[NumeroDeLinhas, NumeroDeColunas] 
Exemplos: 
Inteiro Notas[10,2] 
Texto Nomes[5,5] 
Decimal Valores[11,3]
Declarando um vetor multidimensional 
Inteiro Numeros[3, 4] 
(em algoritmo) 
inteiro Numeros[3][4] 
(em Portugol Studio) 
int[,] Numeros = new int[3, 4]; 
(em C#)
Um vetor visto por dentro (unidimensional) 
0 
1 
2 
3 
32 
10 
7 
20 
Elementos 
Índices
Um vetor visto por dentro (multidimensional) 
0 
1 
2 
3 
0 
32 
10 
7 
20 
1 
52 
24 
5 
2 
2 
43 
11 
45 
14 
Elementos 
Índices 
Índices
MAS ANTEÇÃO!!!
Cuidado com a “pegadinha” dos índices 
Todo vetor inicia do índice 0 (zero) e termina com o índice [NumeroDeElementos] – 1 
–Por exemplo: 
//Abaixo temos um vetor de 4 posições já os seus respectivos elementos em cada posição 
Inteiro Numeros[4]  { 32, 10, 7, 20 } 
//Código que exibe o primeiro elemento, ou seja, 32 
Escreva(Numeros[0]) 
//Código que exibe o último elemento, ou seja, 20 
Escreva(Numeros[3])
Vamos ver ao vivo! Um exemplo em Portugol e C#
Dica importante! Em algoritmos mais elaborados, como estes com Vetores e Matrizes, torna-se fundamental o uso da ferramenta de Depuração (Debug), para executar o programa linha a linha e assim, compreender de forma mais clara o funcionamento do seu código.
Lembretes de como depurar um código em Portugol Studio
Lembretes de como depurar um código em C#
Mas qual a utilidade dos vetores? Resolvendo um problema usando esta técnica
Exercício_V1 
Escreva um programa que leia e armazene dez nomes de alunos. 
Após a leitura, mostre a lista de nomes digitados, exibindo-os pela ordem inversa da digitação, ou seja, o ultimo aluno que foi lido deve ser o primeiro a ser exibido, e assim por diante.
Programador amador
Programador “querendo melhorar”
Programador “quase lá”
Programador Pronatec/Unimep
Programador Pronatec/Unimep (em C#)
Exercício_V2 
Escreva um programa que leia uma matriz 2x3 de números inteiros, e ao final, e no final, escreva quantos dos elementos digitados foram maiores do que 10 (dez).
Programador amador
Programador “querendo melhorar”
Programador “quase lá”
Programador Pronatec/Unimep
Programador Pronatec/Unimep (em C#)
Vamos treinar um pouco?!
Exercício_V3 
Faça um algoritmo que leia um vetor de 20 números inteiros. A seguir, encontre o menor elemento do vetor e a sua respectiva posição dentro do vetor, mostrando a seguinte frase: “O menor elemento do vetor é”, M, “e sua posição dentro do vetor é: ”, P.
Exercício_V3 (em Algoritmo) 
1.Inicio 
2. Inteiro Numeros[20] 
3. Para (Inteiro i de 0 até 19 passo 1) 
4. Inicio 
5. Ler(Numeros[i]) 
6. Fim 
7. Inteiro P  0 
8. Inteiro M  Numeros[P] 
9. Para (Inteiro i de 0 até 19 passo 1) 
10. Inicio 
11. Se (Numeros[i] < M) 
12. Inicio 
13. M  Numeros[i] 
14. P  i 
15. Fim 
16. Fim 
17. Escrever(“O menor elemento do vetor é ”, M, “ e sua posição dentro do vetor é: ”, P) 
18.Fim
Exercício_V3 (em Portugol Studio)
Exercício_V3 (em C#)
Exercício_V4 
Escreva um algoritmo que leia dois vetores de 10 posições cada um e faça a multiplicação dos elementos de mesmo índice, colocando o resultado em um terceiro vetor. Ao final, mostre os elementos do vetor resultante.
Exercício_V4 (em Algoritmo) 
1.Inicio 
2. Inteiro VetorA[10], VetorB[10], VetorResultado[10] 
3. Para (Inteiro i de 0 até 9 passo 1) 
4. Inicio 
5. Ler(VetorA[i]) 
6. Ler(VetorB[i]) 
7. VetorResultado[i]  VetorA[i] * VetorB[i] 
8. Fim 
9. Escrever(“O resultado da multiplicação entre os dois vetores é: “) 
10. Para (Inteiro i de 0 até 9 passo 1) 
11. Inicio 
12. Escrever(VetorResultado[i]) 
13. Fim 
14.Fim
Exercício_V4 (em Portugol Studio)
Exercício_V4 (em C#)
A saber! 
Na maioria das linguagens de programação, o tipo de dados string (texto) é considerado um vetor de caracteres, por exemplo, a frase “Bom dia” é um vetor de 7 posições do tipo caractere, contendo cada letra em índice específico.
Exercício_V5 
Tendo em vista a explicação do slide anterior, escrever um programa em C# que leia uma frase qualquer, e mostre esta mesma frase na ordem inversa. 
Exemplo: o usuário digitou “O carro quebrado”, o programa irá exibir “odarbeuq orrac o”
Exercício_V5 (em Algoritmo) 
1.Inicio 
2. Texto Frase 
3. Ler(Frase) 
4. Para (Inteiro i de Frase.Tamanho - 1 até 0 passo -1) 
5. Inicio 
6. Escrever(Frase[i]) 
7. Fim 
8.Fim
Exercício_V5 (em C#)
A saber! 
Dentro de uma matriz quadrada (mesmo número de linhas e colunas), a sua diagonal principal é representada pelos elementos onde o índice da linha é igual ao índice da coluna. Veja um exemplo: 
0 
1 
2 
0 
1 
2
Exercício_V6 
Tendo em vista a explicação do slide anterior, declare uma matriz 5 x 5 de números inteiros, e preencha com o valor 1 a diagonal principal, e com o valor 0 os demais elementos. Ao final, escreva a matriz obtida.
Exercício_V6 (em Algoritmo) 
1.Inicio 
2. Inteiro Matriz[5, 5] 
3. Para (Inteiro i de 0 até 4 passo 1) 
4. Para (Inteiro j de 0 até 4 passo 1) 
5. Se (i == j) 
6. Matriz[i, j] = 1 
7. Senão 
8. Matriz[i, j] = 0 
9. Escrever(“O resultado da matriz é: “) 
10. Para (Inteiro i de 0 até 4 passo 1) 
11. Para (Inteiro j de 0 até 4 passo 1) 
12. Escrever(Matriz[i, j]) 
13.Fim
Exercício_V6 (em Portugol Studio)
Exercício_V6 (em C#)
Por hoje é só... Agora é hora de estudar! Acesse mais exercícios aqui: http://abre.ai/exercicios-vetormatriz

Lógica de Programação - Unimep/Pronatec - Aula10

  • 1.
    Lógica de Programação Unimep/Pronatec 2° Semestre/2014 AULA 10 - Prof. André Bertoletti - apbertolet@unimep.br
  • 2.
    Aula de hoje •Vetores unidimensionais •Vetores multidimensionais (Matrizes) •Exercícios Portugol/C#
  • 3.
    NÃO ESQUEÇA DASUA Hora do Código Acesse, identifique-se e faça os exercícios! abre.ai/horadocodigo
  • 4.
    Vetores Quando precisamosguardar várias informações ao mesmo tempo
  • 5.
    Recordar é viver...O que é uma variável mesmo?! Valor
  • 6.
    Como funciona umavariável tradicional Numero  32 32
  • 7.
    10 32 Comofunciona uma variável tradicional Numero  10
  • 8.
    Uma variável tradicionalarmazena apenas o último valor informado 10
  • 9.
    E como resolveresta necessidade?! Armazenar diversos valores dentro de uma mesma variável?
  • 10.
    Conheça a variáveldo tipo VETOR
  • 11.
    Conheça a variáveldo tipo VETOR 20 32
  • 12.
    Existem dois tiposde Vetores Unidimensionais e Multidimensionais
  • 13.
    Vetor unidimensional 1linha X N colunas
  • 14.
    Sintaxe de declaraçãode um vetor unidimensional Tipo Nome[NumeroDeElementos] Exemplos: Inteiro Notas[10] Texto Nomes[5] Decimal Valores[11]
  • 15.
    Declarando um vetorunidimensional Inteiro Numeros[4] (em algoritmo) inteiro Numeros[4] (em Portugol Studio) int[] Numeros = new int[4]; (em C#)
  • 16.
    Vetor multidimensional (Matriz) N linhas X N colunas
  • 17.
    Sintaxe de declaraçãode um vetor multidimensional Tipo Nome[NumeroDeLinhas, NumeroDeColunas] Exemplos: Inteiro Notas[10,2] Texto Nomes[5,5] Decimal Valores[11,3]
  • 18.
    Declarando um vetormultidimensional Inteiro Numeros[3, 4] (em algoritmo) inteiro Numeros[3][4] (em Portugol Studio) int[,] Numeros = new int[3, 4]; (em C#)
  • 19.
    Um vetor vistopor dentro (unidimensional) 0 1 2 3 32 10 7 20 Elementos Índices
  • 20.
    Um vetor vistopor dentro (multidimensional) 0 1 2 3 0 32 10 7 20 1 52 24 5 2 2 43 11 45 14 Elementos Índices Índices
  • 21.
  • 22.
    Cuidado com a“pegadinha” dos índices Todo vetor inicia do índice 0 (zero) e termina com o índice [NumeroDeElementos] – 1 –Por exemplo: //Abaixo temos um vetor de 4 posições já os seus respectivos elementos em cada posição Inteiro Numeros[4]  { 32, 10, 7, 20 } //Código que exibe o primeiro elemento, ou seja, 32 Escreva(Numeros[0]) //Código que exibe o último elemento, ou seja, 20 Escreva(Numeros[3])
  • 23.
    Vamos ver aovivo! Um exemplo em Portugol e C#
  • 24.
    Dica importante! Emalgoritmos mais elaborados, como estes com Vetores e Matrizes, torna-se fundamental o uso da ferramenta de Depuração (Debug), para executar o programa linha a linha e assim, compreender de forma mais clara o funcionamento do seu código.
  • 25.
    Lembretes de comodepurar um código em Portugol Studio
  • 27.
    Lembretes de comodepurar um código em C#
  • 29.
    Mas qual autilidade dos vetores? Resolvendo um problema usando esta técnica
  • 30.
    Exercício_V1 Escreva umprograma que leia e armazene dez nomes de alunos. Após a leitura, mostre a lista de nomes digitados, exibindo-os pela ordem inversa da digitação, ou seja, o ultimo aluno que foi lido deve ser o primeiro a ser exibido, e assim por diante.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
    Exercício_V2 Escreva umprograma que leia uma matriz 2x3 de números inteiros, e ao final, e no final, escreva quantos dos elementos digitados foram maiores do que 10 (dez).
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
    Exercício_V3 Faça umalgoritmo que leia um vetor de 20 números inteiros. A seguir, encontre o menor elemento do vetor e a sua respectiva posição dentro do vetor, mostrando a seguinte frase: “O menor elemento do vetor é”, M, “e sua posição dentro do vetor é: ”, P.
  • 44.
    Exercício_V3 (em Algoritmo) 1.Inicio 2. Inteiro Numeros[20] 3. Para (Inteiro i de 0 até 19 passo 1) 4. Inicio 5. Ler(Numeros[i]) 6. Fim 7. Inteiro P  0 8. Inteiro M  Numeros[P] 9. Para (Inteiro i de 0 até 19 passo 1) 10. Inicio 11. Se (Numeros[i] < M) 12. Inicio 13. M  Numeros[i] 14. P  i 15. Fim 16. Fim 17. Escrever(“O menor elemento do vetor é ”, M, “ e sua posição dentro do vetor é: ”, P) 18.Fim
  • 45.
  • 46.
  • 47.
    Exercício_V4 Escreva umalgoritmo que leia dois vetores de 10 posições cada um e faça a multiplicação dos elementos de mesmo índice, colocando o resultado em um terceiro vetor. Ao final, mostre os elementos do vetor resultante.
  • 48.
    Exercício_V4 (em Algoritmo) 1.Inicio 2. Inteiro VetorA[10], VetorB[10], VetorResultado[10] 3. Para (Inteiro i de 0 até 9 passo 1) 4. Inicio 5. Ler(VetorA[i]) 6. Ler(VetorB[i]) 7. VetorResultado[i]  VetorA[i] * VetorB[i] 8. Fim 9. Escrever(“O resultado da multiplicação entre os dois vetores é: “) 10. Para (Inteiro i de 0 até 9 passo 1) 11. Inicio 12. Escrever(VetorResultado[i]) 13. Fim 14.Fim
  • 49.
  • 50.
  • 51.
    A saber! Namaioria das linguagens de programação, o tipo de dados string (texto) é considerado um vetor de caracteres, por exemplo, a frase “Bom dia” é um vetor de 7 posições do tipo caractere, contendo cada letra em índice específico.
  • 52.
    Exercício_V5 Tendo emvista a explicação do slide anterior, escrever um programa em C# que leia uma frase qualquer, e mostre esta mesma frase na ordem inversa. Exemplo: o usuário digitou “O carro quebrado”, o programa irá exibir “odarbeuq orrac o”
  • 53.
    Exercício_V5 (em Algoritmo) 1.Inicio 2. Texto Frase 3. Ler(Frase) 4. Para (Inteiro i de Frase.Tamanho - 1 até 0 passo -1) 5. Inicio 6. Escrever(Frase[i]) 7. Fim 8.Fim
  • 54.
  • 55.
    A saber! Dentrode uma matriz quadrada (mesmo número de linhas e colunas), a sua diagonal principal é representada pelos elementos onde o índice da linha é igual ao índice da coluna. Veja um exemplo: 0 1 2 0 1 2
  • 56.
    Exercício_V6 Tendo emvista a explicação do slide anterior, declare uma matriz 5 x 5 de números inteiros, e preencha com o valor 1 a diagonal principal, e com o valor 0 os demais elementos. Ao final, escreva a matriz obtida.
  • 57.
    Exercício_V6 (em Algoritmo) 1.Inicio 2. Inteiro Matriz[5, 5] 3. Para (Inteiro i de 0 até 4 passo 1) 4. Para (Inteiro j de 0 até 4 passo 1) 5. Se (i == j) 6. Matriz[i, j] = 1 7. Senão 8. Matriz[i, j] = 0 9. Escrever(“O resultado da matriz é: “) 10. Para (Inteiro i de 0 até 4 passo 1) 11. Para (Inteiro j de 0 até 4 passo 1) 12. Escrever(Matriz[i, j]) 13.Fim
  • 58.
  • 59.
  • 60.
    Por hoje ésó... Agora é hora de estudar! Acesse mais exercícios aqui: http://abre.ai/exercicios-vetormatriz