bloqueio

quinta-feira, 30 de junho de 2011

AULA 20 - 29/06/2011 - Matrizes

   Na aula de hoje nos foi passado mais uma matéria nova. Começamos a estudar agora também as matrizes, o professor Jossandro passou a teoria em slides que disponibilizarei abaixo e passou também dois execicios para melhor compreensão na prática, disponibilizarei todos resolvidos.



1 - 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 (numero da linha) e a prova em que cada aluno obteve menor nota. Ao final do relatório, deverá mostrar quantos alunos tiveram menor nota em cada uma das provas: na prova 1, na prova 2 e na prova 3.

algoritmo "prova1"
var
   not: vetor [1..10, 1..3] de real
   cont1, cont2, cont3, 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
      cont1<-0
      cont2<-0
      cont3<-0
      PARA l de 1 ate 10 FACA
           SE (not[l,1] <= not[l,2]) e (not[l,1] <= not[l,3]) ENTAO
              cont1<- cont1 + 1
              escreval("A menor nota do aluno ",l," é ", not[l,1])
           SENAO
                SE (not[l,2] <= not[l,1]) e (not[l,2] <= not[l,3]) ENTAO
                   cont2<- cont2 + 1
                   escreval("A menor nota do aluno ",l," é ", not[l,2])
                SENAO
                     SE (not[l,3] <= not[l,2]) e (not[l,3] <= not[l,1]) ENTAO
                        cont3<- cont3 + 1
                        escreval("A menor nota do aluno ",l," é ", not[l,3])
                     FIMSE
                FIMSE
           FIMSE
      FIMPARA
      escreval(cont1," alunos tiveram a menor nota na prova 1")
      escreval(cont2," alunos tiveram a menor nota na prova 2")
      escreval(cont3," alunos tiveram a menor nota na prova 3")
fimalgoritmo

Download arquivo alg.

2 - Faça um programa que preencha uma matriz de 5 x 5 com números inteiros, calcule e mostre os números superiores a cinquenta e suas respectivas posições (linha e coluna). O programa deverá mostrar mensagem se não existir nenhum número nessa condição.

algoritmo "soma2"
var
   som: vetor [1..5, 1..5] de inteiro
   cont, l, c: inteiro
inicio
      PARA l de 1 ate 5 FACA
           PARA c de 1 ate 5 FACA
                escreval("Digite o número referente a linha ",l," e coluna ",c,":")
                leia(som[l,c])
           FIMPARA
      FIMPARA
      cont<- 0
      PARA l de 1 ate 5 FACA
           PARA c de 1 ate 5 FACA
                SE (som[l,c] > 50) ENTAO
                   cont<- cont +1
                   escreval("O número referente a linha ",l," e coluna ",c," é maior do que 50")
                FIMSE
           FIMPARA
      FIMPARA
      SE (cont = 0) ENTAO
         escreval("Nenhum número digitado foi maior do que 50")
      FIMSE
fimalgoritmo

Download arquivo alg.

   Hoje no inicio da explicação achei que teria mais dificuldade com o conteudo, mas depois da explicação do professor vi que a materia não era nem um bicho de sete cabeças, com escessão da matriz tridimensional, na pratica foi bem melhor compreendida, ja que tudo na pratica se é mais entendido, a dificuldade fica por conta da tão falada lógica que as vezes acaba nos traindo, mas consegui resolver os exercicios numa boa.