O documento discute algoritmos e estruturas de dados, especificamente vetores unidimensionais. Apresenta três exemplos de algoritmos que manipulam vetores: um que lê notas e mostra quantas estão acima da média, outro que soma dois vetores, e um terceiro que preenche um vetor com 1 em posições pares e 0 em ímpares.
2. Matrizes de uma dimensão ou
vetores
Este tipo de estrutura em particular é também
denominado por alguns profissionais de como
matrizes unidimensionais. Sua utilização mais
comum está vinculada à criação de tabelas.
3. Exemplo 1
programa acima_media
var
tipo vet = Vetor[1..10] de inteiros
vetor_notas : vet
soma, media : real
NotaAcima, i : inteiro
Faça um programa que leia 10 notas do tipo inteiro, e mostre
quantas notas estão acima da média:
inicio
soma 0
NotaAcima 0
//laço para leitura das notas
para i de 1 até 10 passo 1 faça
escreva “Digite a nota”, i
leia vetor_notas[i]
fim_para
4. Exemplo 1
//laço acumulador
para i de 1 até 10 passo 1 faça
soma soma + vetor_notas[i]
fim_para
media soma /10
//laço para verificar valores que estão acima da média
para i de 1 até 10 passo 1 faça
se (vetor_nota[i] > media) então
NotaAcima NotaAcima + 1
fim_se
fim_para
escreva “Quantidade de notas acima da média”, NotaAcima
fim
5. Exemplo 1
#include <stdio.h>
void main ()
{
int vetor[10];
float soma, media;
int notaAcima, i;
soma = 0;
notaAcima = 0;
for (i=0; i<=9; i++) {
printf("nDigite o nota %d: ", i + 1);
scanf("%d", &vetor[i]);
}
for (i=0; i<=9; i++) {
soma = soma + vetor[i];
}
media = soma / 10;
for (i=0; i<=9; i++) {
if (vetor[i] > media) {
notaAcima = notaAcima + 1;
}
}
printf("Quantidade de notas acima da media: %d", notaAcima) ;
}
6. Exemplo 2
programa soma_dois_vetores
var
tipo vet = vetor[1..50] de inteiros
vetA, vetB, vetR : vet
i : inteiro
inicio
Elabore um algoritmo que leia, some e imprima o resultado da
soma entre dois vetores inteiros de 50 posições
//leitura do vetor A
para i de 1 até 50 passo 1 faça
escreva “Digite o valor”, i, “para o vetorA”
leia vetA[i]
fim_para
7. Exemplo 2
//leitura do vetor B
para i de 1 até 50 passo 1 faça
escreva “Digite o valor”, i, “para o vetorB”
leia vetB[i]
fim_para
8. Exemplo 2
//armazenando a soma dos vetores A e B em vetR
para i de 1 até 50 passo 1 faça
vetR[i] vetA[i] + vetB[i]
fim_para
fim
10. Exemplo 2
#include <stdio.h>
void main ()
{
int vetA[50], vetB[50], vetR[50];
int i;
for (i=0; i<50; i++) {
printf("nDigite o valor %d para o vetorA: ", i + 1);
scanf("%d", &vetA[i]);
}
for (i=0; i<50; i++) {
printf("nDigite o valor %d para o vetorB: ", i + 1);
scanf("%d", &vetB[i]);
}
for (i=0; i<50; i++) {
vetR[i] = vetA[i] + vetB[i];
}
for (i=0; i<=50; i++) {
printf("n%d", vetR[i]);
}
}
11. Exemplo 3
programa zero_um
var
tipo vet = vetor[1..100] de inteiros
A : vet
i : inteiro
resto : inteiro
Construa um algoritmo que preencha um vetor de 100
elementos inteiros, colocando 1 na posição correspondente a
um número par e 0 a um número impar
12. Exemplo 3
inicio
para i de 1 até 100 passo 1 faça
resto i mod 2
se (resto < > 0) então
A[i] 1
senão
A[i] 0
fim_se
fim_para
fim
13. Exemplo 3
#include <stdio.h>
void main ()
{
int A[100];
int i;
int resto;
for (i=0; i<100; i++) {
resto = i % 2;
if (resto != 0) {
A[i] = 1;
}
else {
A[i] = 0;
}
}
for (i=0; i<100; i++) {
printf("nA[%d] = %d ", i + 1, A[i]);
}
}