bloqueio

terça-feira, 5 de julho de 2011

AULA 21 - 04/07/2011 - Exercitando vetores e matrizes ..

   Na aula de hoje o professor passou mais três exercícios para resolvermos, dando a aula inteira para resolução destes, que serão corrigidos na próxima aula, que será no laboratório. Abaixo segue os exercícios resolvidos.


1 - Faça um programa que preencha dois vetores de cinco elementos numéricos cada um e mostre o vetor resultante da multiplicação dos valores destes vetores.
Vetor 1:
3
5
4
2
2
1
2
3
4
5

Vetor 2:
7
15
20
0
18
1
2
3
4
5

Vetor resultante da multiplicação:
21
75
80
0
36
1
2
3
4
5

algoritmo "mult1"
var
   pm: vetor[1..5] de real
   sm: vetor[1..5] de real
   rm: vetor[1..5] de real
   n: inteiro
inicio
      PARA n de 1 ate 5 FACA
           escreval("Digite um número a ser multiplicado: ")
           leia(pm[n])
           escreval("Digite um número a ser multiplicado com o número acima: ")
           leia(sm[n])
           rm[n]<-(pm[n]*sm[n])
      FIMPARA
      PARA n de 1 ate 5 FACA
           escreval("A multiplicação ",n," tem resultado: ",rm[n])
      FIMPARA
fimalgoritmo


2 - Uma pequena loja de artesanato possui apenas um vendedor e comercializa dez tipos de objetos. O vendedor recebe, mensalmente, salário de R$ 400,00, acrescido de 5% do valor total de suas vendas. O valor unitário dos objetos deve ser informado e armazenado em uma matriz; a quantidade vendida de cada peça deve ficar na mesma matriz, em outra coluna.
Crie um programa que receba os preços e as quantidades vendidas e armazenando-os na matriz. Depois determine e mostre:
  • um relatório contendo quantidade vendida, valor unitário e valor total de cada objeto. Ao final deverá ser mostrado um valor geral das vendas e o valor da comissão que será paga ao vendedor
  • o valor do objeto mais vendido e sua posição na matriz (mostre linha e coluna. Não se preocupe com empates).
algoritmo "loja2"
var
   prod: vetor[1..10,1..2] de real
   vg,vt,porc,maior: real
   n,posic: inteiro
inicio
      vg<-0
      PARA n de 1 ate 10 FACA
           escreval("Digite o valor unitario do objeto ",n,": ")
           leia(prod[n,1])
           escreval("Digite a quantidade vendida do produto",n,": ")
           leia(prod[n,2])
      FIMPARA
      PARA n de 1 ate 10 FACA
           vt<-(prod[n,1]*prod[n,2])
           vg<-(vg+vt)
           escreval("O produto ",n," tem valor R$ ",prod[n,1]," e foram vendidos ",prod[n,2]," unidades, obtendo o valor total R$ ",vt,".")
      FIMPARA
      porc<- ((vg*5)/100)
      posic<-1
      maior<-prod[1,2]
      PARA n de 2 ate 10 FACA
           SE (maior < prod[n,2]) ENTAO
              maior<- prod[n,2]
              posic<- n
           FIMSE
      FIMPARA
      escreval("O valor geral das vendas é ",vg," e a comissão ganha pelo vendedor neste mês foi de ",porc,".")
      escreval("O valor do objeto mais vendido foi R$",prod[posic,1]," e esta localizado na coluna 2 e na linha ",posic,".")
fimalgoritmo

Download arquivo alg. 

3 - Faça  um  programa  que  preencha  uma  matriz  10  x  3  com  as notas  de  dez  alunos  em  três  provas. O programa deverá mostrar  um  relatório  com  o  número  dos  alunos  (número  da linha) e a média do aluno nas 3 provas. Ao final do relatório, deverá mostrar a média geral de todos os alunos.

algoritmo "alun3"
var
   not: vetor [1..10, 1..3] de real
   mediag,media,contmediag: real
   l, c: inteiro
inicio
      PARA l de 1 ate 10 FACA
           PARA c de 1 ate 3 FACA
                escreval("Digite a nota da prova ",c," do aluno ",l,": ")
                leia(not[l,c])
           FIMPARA
      FIMPARA
      contmediag<-0
      PARA l de 1 ate 10 FACA
           media<-((not[l,1]+not[l,2]+not[l,3])/3)
           escreval("O aluno ",l," teve média ",media,".")
           contmediag<-contmediag+media
      FIMPARA
      mediag<- contmediag/10
      escreval("A média geral foi ",mediag)
fimalgoritmo


Download arquivo alg.

    Como de costume a lógica é sempre a grande vilã da aula, mas tive grande facilidade em resolver a primeira questão, tendo facilidade também para compreender a segunda questão, sendo difícil adaptar a minha lógica ao algoritmo, acabei fazendo do jeito mais difícil segundo o professor, mas pelo menos consegui resolver as questões.