sexta-feira, 22 de julho de 2011

Ex. 09 -

Elaborar um algoritmo que lê um conjunto de 30 valores e os coloca em 2 vetores conforme forem
pares ou ímpares. O tamanho do vetor é de 5 posições. Se algum vetor estiver cheio, escrevê-lo.
Terminada a leitura escrever o conteúdo dos dois vetores. Cada vetor pode ser preenchido tantas vezes quantas for necessário.

Entendendo...

O entendimento está nos comentários... muito sono *--*

Uma possível Solução:

algoritmo "Vetores"

// Autor : Eduardo V. de Souza
// Data : 27/07/2011

//Declarando variáveis
// dois vetores com cino posições cada
var v:vetor[1..5]de inteiro
vr:vetor[1..5]de inteiro
// uma variavel de leitura, uma variável para o laço, dois contadores
i,x,cont_p,cont_i:inteiro

inicio

//como precisamos ler 30 valores um laça com 30 incrementos
para i de 1 ate 30 faca
//lendo a variavel x
leia(x)
//Validando se o valor lido é par ou ímpar.
se(x%2)=0 entao
//se sim o contares de par é incrementado
cont_p<-cont_p+1
// e o vetor de numeros pares recebe na posição do contador o valor lido
v[cont_p]<-x
//se o contador chegar a 5 então o vetor é exibido.
se cont_p=5 entao
escreval("Vetor par")
para i de 1 ate 5 faca
escreval(v[i])
fimpara
escreval
//zerando o contador para ser usado novamente
cont_p<-0
fimse
senao
//caso não seja par ele é impar XD
//e o mesmo é feito para os números ímpares
cont_i<-cont_i+1
vr[cont_i]<-x
se cont_i=5 entao
escreval("Vertor Impar")
para i de 1 ate 5 faca
escreval(vr[i])
fimpara
cont_i<-0
escreval
fimse
fimse
fimpara

//como o exercicio pede que é pra mostrar
// o que restou de cada vetor e se restou
// iniciamo um laço até o contador de cada vetor
//e exibimos cada elemento que restou.
escreval("Vetor par")
para i de 1 ate cont_p faca
escreval(v[i])
fimpara
escreval("vetor impar")
para i de 1 ate cont_i faca
escreval(vr[i])
fimpara
fimalgoritmo

Em Execução:

terça-feira, 28 de junho de 2011

Ex.08 - Números pares e ímpares de um vetor

Escreva um algoritmo que leia e mostre um vetor de 20 elementos inteiros. a seguir, conte quantos
valores pares e ímpares existem no vetor.

Entendendo...

Vamos criar um vetor com 20 posições e ler cada uma delas, e depois mostrar na tela, sem novidades =)

Teremos uma condição onde validaresmo os números pares e impares, pegaremos o resto da divisão do número lido, se for = zero será par senao impar.

Muito Semelhante ao Ex. 05.

Uma possível solução:

algoritmo "Ex.08 - Números pares e ímpares de um vetor"

// Autor :Eduardo V. de Souza
// Data : 28/06/2011

var

//Declaração das variáveis
vet:vetor[1..20] de inteiro
i,cont_par,cont_imp:inteiro

inicio

//inicializando os contadores
cont_imp<-0
cont_par<-0

escreval("Digite todos os números")

para i de 1 ate 20 faca
//lendo cada elemento do vetor
leia(vet[i])
//aqui todo o calculo, se nao existir resto na divisao = par
//senao impar
se (vet[i]%2) = 0 entao
//se par, o contador recebe seu valor + 1
cont_par<-cont_par+1
senao
//se par, o contador recebe seu valor + 1
cont_imp<-cont_imp+1
fimse
fimpara

// eu sei que bagunça mas estou mostrando na tela todos os lidos
para i de 1 ate 20 faca
escreval("Elemento nº ",i," do vetor = ",vet[i])
fimpara

// e finalmente mostrando o resultado
escreval("O total de números pares lidos foi ",cont_par)
escreval("O total de números ímpares lidos foi ",cont_imp)

fimalgoritmo

Em execução:



segunda-feira, 27 de junho de 2011

Ex. 07 - Multiplicação entre Vetores

Escreva um algoritmo que leia dois vetores de 5 posições e faça a multiplicação dos elementos de mesmo índice, colocando o resultado em um terceiro vetor. Mostre o vetor resultante.

Entendendo...

Vamos criar 3 vetores, cada um com 5 posições, dois deles vamos preencher com valores inteiros.
O terceiro sera preenchido com a multiplicação dos outros dois. Como?

vetor1 x vetor2? Sim isso mesmo!

vetor1 na posição(1) x vetor2 na posição(1) preencherá o valor do vetor3 na posição(1) e assim por diante.

Uma possível solução:

algoritmo "Multiplicação entre vetores"

// Autor : Eduardo V. de Souza
// Data : 27/06/2011

var vet_1:vetor[1..5]de inteiro
vet_2:vetor[1..5]de inteiro
vet_3:vetor[1..5]de inteiro
i:inteiro

inicio

aleatorio 1,10 // ativa opção aleatoria do visualg


// nesse bloco criamos e preenchemos com valores
//randomicos o primeiro vetor
para i de 1 ate 5 faca
escreval("Preenchendo o ",i, "º campo do primeiro vetor")
leia(vet_1[i])
fimpara
// nesse bloco criamos e preenchemos com valores
//randomicos o segundo vetor
para i de 1 ate 5 faca
escreval("Preenchendo o ",i, "º campo do segundo vetor")
leia(vet_2[i])
fimpara

// nesse ultimo eu preencho o terceiro vetor com
//a multiplicação do 1º com o 2º e logo em seguida
//efetuo a leitura do mesmo mostrando na tela o resultado

para i de 1 ate 5 faca
escreval("mult do 1º com o 2º na pos",i, "º campo do 3º vetor")
//preenchendo o terceiro vetor
vet_3[i]<- vet_1[i] * vet_2[i]
escreval(vet_3[i])
fimpara
fimalgoritmo

Em execução: