Algop - aula 08 - respostas

213 visualizações

Publicada em

Material de apoio para Algoritmos e Programação da Faculdade Pitágoras em Linhares – 2010

Publicada em: Engenharia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
213
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
9
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Algop - aula 08 - respostas

  1. 1. Algoritmos e Programação Prof. Marcos Saúde marcosr@pitagoras.com.br
  2. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 13. Vetores – Estruturas de Dados Homogêneos  Exercícios 11 ao 14, sobre matrizes, serão feitos em sala de aula;

×