SlideShare a Scribd company logo
1 of 13
Algoritmos e 
Programação 
Prof. Marcos Saúde 
marcosr@pitagoras.com.br
Vetores – Estruturas de Dados Homogêneos 
 1) 
Algoritmo Pesquisa; 
vet_nomes: Vetor[1..10] de Caracteres; 
nome: caracteres; 
i: inteiro; 
inicio 
para i de 1 até 10 faça 
Ler(vet_nomes[i]); 
fimPara; 
Ler(nome); 
i = 0; 
Enquanto ((i <= 10) E (nome <> vet_nomes[i])) faça 
i := i + 1; 
fimEnquanto; 
Se (i <= 10) Então //saiu do laço porque achou o nome, e não porque chegou a 10 
Escrever("ACHEI"); 
Senão 
Escrever("NÃO ACHEI"); 
FimSe; 
Fim.
Vetores – Estruturas de Dados Homogêneos 
 2) 
Algoritmo Maior; 
Q: Vetor[1..20] de Inteiro; 
maior, posicao: inteiro; 
Inicio 
para i de 1 até 20 faça 
Ler(Q[i]); 
fimPara; 
maior := Q[1]; 
posicao := 1; 
para i de 2 até 20 faça 
Se (Q[i] > maior) Então 
maior := Q[i]; 
posicao := i; 
FimSe; 
fimPara; 
Escrever(maior,posicao); 
Fim.
Vetores – Estruturas de Dados Homogêneos 
 3) 
Algoritmo Maior; 
Q: Vetor[1..20] de Inteiro; 
menor, posicao: inteiro; 
Inicio 
para i de 1 até 20 faça 
Ler(Q[i]); 
fimPara; 
menor := Q[1]; 
posicao := 1; 
para i de 2 até 20 faça 
Se (Q[i] < menor) Então 
menor := Q[i]; 
posicao := i; 
FimSe; 
fimPara; 
Escrever(menor,posicao); 
Fim.
Vetores – Estruturas de Dados Homogêneos 
 4) 
Algoritmo Multiplica_Vetor; 
A,M: Vetor[1..10] de Inteiro; 
int X; 
Inicio 
para i de 1 até 10 faça 
Ler(A[i],M[i]); 
fimPara; 
Ler(X); 
para i de 1 até 10 faça 
M[i] = A[i] * X; 
Escrever(M[i]); 
fimPara; 
Fim.
Vetores – Estruturas de Dados Homogêneos 
 5) 
Algoritmo Inverso; 
vet: Vetor[1..20] de Inteiro; 
inicio 
para i de 1 até 20 faça 
Ler(vet[i]); 
fimPara; 
{imprimir na tela em ordem inversa} 
para i de 20 até 1 faça 
{ 
Escrever(vet[i]); 
} 
}
Vetores – Estruturas de Dados Homogêneos 
 6) 
Algoritmo Temperatura; 
temperaturas: Vetor[1..12] de Real; 
maior, menor, soma: Real; 
mes_maior, mes_menor:inteiro; 
Inicio 
para i de 1 até 12 faça 
Ler(temperaturas[i]); 
fimPara; 
{ buscar a maior e menor temperaturas, somar as temperaturas } 
soma := 0; 
mes_maior := 1; 
mes_menor := 1; 
para i de 1 até 12 faça 
soma := soma + temperaturas[i]; 
Se (temperaturas[i] > maior) Então 
maior := temperaturas[i]; 
mes_maior := i; 
FimSe; 
Se (temperaturas[i] < menor) Então 
menor = temperaturas[i]; 
mes_menor = i; 
FimSe; 
FimPara; 
Escrever(mes_maior, mes_menor, soma/12); 
Fim.
Vetores – Estruturas de Dados Homogêneos 
 7) 
static void Main(string[] args) 
{ 
string[] nomes = new string[10]; 
string[] nomes_ordenados = new string[10]; 
string menor; 
int indice_menor, proximo; 
for (int i = 0; i < 10; i++) 
{ 
Console.Write("Digite o " + (i + 1) + "º nome:"); 
nomes[i] = Console.ReadLine(); 
// após ler, transformar para letra maiúscula 
nomes[i] = nomes[i].ToUpper(); 
}
Vetores – Estruturas de Dados Homogêneos 
 7) Continuação ... 
// carregar o vetor ordenado 
proximo = 0; 
while (proximo < 10) // enquanto não gravou todos os valores no vetor ordenado 
{ 
// acha o primeiro candidato a menor 
indice_menor = 0; 
while (nomes[indice_menor] == "") 
{ 
indice_menor++; 
} 
menor = nomes[indice_menor]; 
// descobre quem é o menor no momento, apaga o conteúdo deste índice 
for (int i = 0; i < 10; i++) 
{ 
if ((nomes[i] != "") && (nomes[i].CompareTo(menor) == -1)) 
{ 
menor = nomes[i]; 
indice_menor = i; 
} 
} 
nomes_ordenados[proximo] = menor; 
nomes[indice_menor] = ""; 
proximo++; 
} 
for (int i = 0; i < 10; i++) 
{ 
Console.WriteLine(nomes_ordenados[i]); 
} 
}
Vetores – Estruturas de Dados Homogêneos 
 8) 
Algoritmo Comparativo; 
V1,V2: Vetor[1..15] de Inteiro; 
contador: Inteiro; 
Inicio 
contador := 0; 
para i de 1 até 15 faça 
Ler(V1[i],V2[i]); 
se (V1[i] = V2[i]) então 
contador := contador + 1; 
fimSe; 
fimPara; 
Escrever(contador); 
Fim.
Vetores – Estruturas de Dados Homogêneos 
 9) 
Algoritmo Procura; 
vet: Vetor[1..30] de Inteiro; 
contador, numero:inteiro; 
Inicio 
Para i de 1 até 30 faça 
Ler(vet[i]); 
FimPara; 
contador := 0; 
Ler(numero); 
para i de 1 até 30 faça 
Se (vet[i] = numero) Então 
contador := contador + 1; 
FimSe; 
FimPara; 
Escrever(contador); 
Fim.
Vetores – Estruturas de Dados Homogêneos 
 10) 
Algoritmo Ordenar; 
vet: Vetor[1..10] de Inteiro; 
i1, i2, aux, posicao_menor: Inteiro; 
Inicio 
para i de 1 até 10 faça 
Ler(vet[i]); 
fimPara; 
{ ordenar o vetor } 
para i1 de 1 até 10 faça 
posicao_menor = i1; { descobrir onde está o menor número da posição i1 pra frente } 
para i2 de i1 até 10 faça 
Se (vet[i2] < vet[posicao_menor]) Então 
posicao_menor = i2; 
fimSe; 
FimPara; 
{ posicao_menor indica o índice do menor do vetor de i1 pra frente } 
{ trocar o valor que está em posicao_menor com o valor que está em i1 } 
Se (i1 <> posicao_menor) Então 
aux = vet[i1]; 
vet[i1] = vet[posicao_menor]; 
vet[posicao_menor] = aux; 
FimSe; 
{ à medida em que i1 é incrementado, o vetor vai ficando ordenado de i1 pra trás } 
FimPara; 
para i de 1 até 10 faça 
{ 
Escrever(vet[i]); 
} 
}
Vetores – Estruturas de Dados Homogêneos 
 Exercícios 11 ao 14, sobre matrizes, 
serão feitos em sala de aula;

More Related Content

Similar to Vetores Algoritmos

Similar to Vetores Algoritmos (14)

Lógica De Programação
Lógica De ProgramaçãoLógica De Programação
Lógica De Programação
 
Aula06
Aula06Aula06
Aula06
 
Aula 5 aed - vetores
Aula 5   aed - vetoresAula 5   aed - vetores
Aula 5 aed - vetores
 
Lógica de Programação - Unimep/Pronatec - Aula10
Lógica de Programação - Unimep/Pronatec - Aula10Lógica de Programação - Unimep/Pronatec - Aula10
Lógica de Programação - Unimep/Pronatec - Aula10
 
Aula 05 Vetores
Aula 05  VetoresAula 05  Vetores
Aula 05 Vetores
 
Herança e_vetores.pdf_
 Herança e_vetores.pdf_ Herança e_vetores.pdf_
Herança e_vetores.pdf_
 
Linguagem c wellington telles - aula 07
Linguagem c   wellington telles - aula 07Linguagem c   wellington telles - aula 07
Linguagem c wellington telles - aula 07
 
Lp1 aula-5 array
Lp1  aula-5 arrayLp1  aula-5 array
Lp1 aula-5 array
 
Exercicios facebook
Exercicios facebookExercicios facebook
Exercicios facebook
 
mod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacaomod4-estruturas-dadosestaticas-ordenacao
mod4-estruturas-dadosestaticas-ordenacao
 
Algop - aula 07 resposta exercícios
Algop - aula 07 resposta exercíciosAlgop - aula 07 resposta exercícios
Algop - aula 07 resposta exercícios
 
Lista c
Lista cLista c
Lista c
 
Algorítimo de ordenação
Algorítimo de ordenaçãoAlgorítimo de ordenação
Algorítimo de ordenação
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registros
 

More from Thiago Toscano Ferrari (9)

Algop - aula 07
Algop - aula 07Algop - aula 07
Algop - aula 07
 
Algop - aula 06 resposta exercícios
Algop - aula 06 resposta exercíciosAlgop - aula 06 resposta exercícios
Algop - aula 06 resposta exercícios
 
Algop - aula 06
Algop - aula 06Algop - aula 06
Algop - aula 06
 
Algop - aula 05
Algop - aula 05Algop - aula 05
Algop - aula 05
 
Algop - aula 04 pascal 1
Algop - aula 04 pascal 1Algop - aula 04 pascal 1
Algop - aula 04 pascal 1
 
Algop - aula 04
Algop - aula 04Algop - aula 04
Algop - aula 04
 
Algop - aula 03
Algop - aula 03Algop - aula 03
Algop - aula 03
 
Algop - aula 02
Algop - aula 02Algop - aula 02
Algop - aula 02
 
Teste 1 - Engenharia mecânica
Teste 1 - Engenharia mecânicaTeste 1 - Engenharia mecânica
Teste 1 - Engenharia mecânica
 

Vetores Algoritmos

  • 1. Algoritmos e Programação Prof. Marcos Saúde marcosr@pitagoras.com.br
  • 2. Vetores – Estruturas de Dados Homogêneos  1) Algoritmo Pesquisa; vet_nomes: Vetor[1..10] de Caracteres; nome: caracteres; i: inteiro; inicio para i de 1 até 10 faça Ler(vet_nomes[i]); fimPara; Ler(nome); i = 0; Enquanto ((i <= 10) E (nome <> vet_nomes[i])) faça i := i + 1; fimEnquanto; Se (i <= 10) Então //saiu do laço porque achou o nome, e não porque chegou a 10 Escrever("ACHEI"); Senão Escrever("NÃO ACHEI"); FimSe; Fim.
  • 3. Vetores – Estruturas de Dados Homogêneos  2) Algoritmo Maior; Q: Vetor[1..20] de Inteiro; maior, posicao: inteiro; Inicio para i de 1 até 20 faça Ler(Q[i]); fimPara; maior := Q[1]; posicao := 1; para i de 2 até 20 faça Se (Q[i] > maior) Então maior := Q[i]; posicao := i; FimSe; fimPara; Escrever(maior,posicao); Fim.
  • 4. Vetores – Estruturas de Dados Homogêneos  3) Algoritmo Maior; Q: Vetor[1..20] de Inteiro; menor, posicao: inteiro; Inicio para i de 1 até 20 faça Ler(Q[i]); fimPara; menor := Q[1]; posicao := 1; para i de 2 até 20 faça Se (Q[i] < menor) Então menor := Q[i]; posicao := i; FimSe; fimPara; Escrever(menor,posicao); Fim.
  • 5. Vetores – Estruturas de Dados Homogêneos  4) Algoritmo Multiplica_Vetor; A,M: Vetor[1..10] de Inteiro; int X; Inicio para i de 1 até 10 faça Ler(A[i],M[i]); fimPara; Ler(X); para i de 1 até 10 faça M[i] = A[i] * X; Escrever(M[i]); fimPara; Fim.
  • 6. Vetores – Estruturas de Dados Homogêneos  5) Algoritmo Inverso; vet: Vetor[1..20] de Inteiro; inicio para i de 1 até 20 faça Ler(vet[i]); fimPara; {imprimir na tela em ordem inversa} para i de 20 até 1 faça { Escrever(vet[i]); } }
  • 7. Vetores – Estruturas de Dados Homogêneos  6) Algoritmo Temperatura; temperaturas: Vetor[1..12] de Real; maior, menor, soma: Real; mes_maior, mes_menor:inteiro; Inicio para i de 1 até 12 faça Ler(temperaturas[i]); fimPara; { buscar a maior e menor temperaturas, somar as temperaturas } soma := 0; mes_maior := 1; mes_menor := 1; para i de 1 até 12 faça soma := soma + temperaturas[i]; Se (temperaturas[i] > maior) Então maior := temperaturas[i]; mes_maior := i; FimSe; Se (temperaturas[i] < menor) Então menor = temperaturas[i]; mes_menor = i; FimSe; FimPara; Escrever(mes_maior, mes_menor, soma/12); Fim.
  • 8. Vetores – Estruturas de Dados Homogêneos  7) static void Main(string[] args) { string[] nomes = new string[10]; string[] nomes_ordenados = new string[10]; string menor; int indice_menor, proximo; for (int i = 0; i < 10; i++) { Console.Write("Digite o " + (i + 1) + "º nome:"); nomes[i] = Console.ReadLine(); // após ler, transformar para letra maiúscula nomes[i] = nomes[i].ToUpper(); }
  • 9. Vetores – Estruturas de Dados Homogêneos  7) Continuação ... // carregar o vetor ordenado proximo = 0; while (proximo < 10) // enquanto não gravou todos os valores no vetor ordenado { // acha o primeiro candidato a menor indice_menor = 0; while (nomes[indice_menor] == "") { indice_menor++; } menor = nomes[indice_menor]; // descobre quem é o menor no momento, apaga o conteúdo deste índice for (int i = 0; i < 10; i++) { if ((nomes[i] != "") && (nomes[i].CompareTo(menor) == -1)) { menor = nomes[i]; indice_menor = i; } } nomes_ordenados[proximo] = menor; nomes[indice_menor] = ""; proximo++; } for (int i = 0; i < 10; i++) { Console.WriteLine(nomes_ordenados[i]); } }
  • 10. Vetores – Estruturas de Dados Homogêneos  8) Algoritmo Comparativo; V1,V2: Vetor[1..15] de Inteiro; contador: Inteiro; Inicio contador := 0; para i de 1 até 15 faça Ler(V1[i],V2[i]); se (V1[i] = V2[i]) então contador := contador + 1; fimSe; fimPara; Escrever(contador); Fim.
  • 11. Vetores – Estruturas de Dados Homogêneos  9) Algoritmo Procura; vet: Vetor[1..30] de Inteiro; contador, numero:inteiro; Inicio Para i de 1 até 30 faça Ler(vet[i]); FimPara; contador := 0; Ler(numero); para i de 1 até 30 faça Se (vet[i] = numero) Então contador := contador + 1; FimSe; FimPara; Escrever(contador); Fim.
  • 12. Vetores – Estruturas de Dados Homogêneos  10) Algoritmo Ordenar; vet: Vetor[1..10] de Inteiro; i1, i2, aux, posicao_menor: Inteiro; Inicio para i de 1 até 10 faça Ler(vet[i]); fimPara; { ordenar o vetor } para i1 de 1 até 10 faça posicao_menor = i1; { descobrir onde está o menor número da posição i1 pra frente } para i2 de i1 até 10 faça Se (vet[i2] < vet[posicao_menor]) Então posicao_menor = i2; fimSe; FimPara; { posicao_menor indica o índice do menor do vetor de i1 pra frente } { trocar o valor que está em posicao_menor com o valor que está em i1 } Se (i1 <> posicao_menor) Então aux = vet[i1]; vet[i1] = vet[posicao_menor]; vet[posicao_menor] = aux; FimSe; { à medida em que i1 é incrementado, o vetor vai ficando ordenado de i1 pra trás } FimPara; para i de 1 até 10 faça { Escrever(vet[i]); } }
  • 13. Vetores – Estruturas de Dados Homogêneos  Exercícios 11 ao 14, sobre matrizes, serão feitos em sala de aula;