quinta-feira, 18 de agosto de 2011

AULA 23-24-25

6 - Crie um programa que preencha uma primeira matriz de ordem 4x5 e uma segunda matriz 5x2. O programa deverá, também, calcular e mostrar a matriz resultante do produto matricial das duas matrizes anteriores, armazenando-o em uma terceira matriz de ordem 4x2.




algoritmo "quest_6"
var
   mat1:vetor[1..4,1..5] de real
   mat2:vetor[1..5,1..2] de real
   res:vetor[1..5,1..2] de real
   l,c: inteiro
inicio
      PARA l de 1 ate 4 FACA
           PARA c de 1 ate 5 FACA
                escreval("Digite o numero da linha",l," e coluna ",c,":")
                leia(mat1[l,c])
           FIMPARA
      FIMPARA
      PARA l de 1 ate 5 FACA
           PARA c de 1 ate 2 FACA
                escreval("Digite o numero da linha",l," e coluna ",c,", da segunda matriz:")
                leia(mat2[l,c])
           FIMPARA
      FIMPARA
      PARA l de 1 ate 4 FACA
           PARA c de 1 ate 2 FACA
                res[l,c]<- ((mat1[l,1]*mat2[1,c])+(mat1[l,2]*mat2[2,c])+(mat1[l,3]*mat2[3,c])+(mat1[l,4]*mat2[4,c])+(mat1[l,5]*mat2[5,c]))
           FIMPARA
      FIMPARA
      PARA l de 1 ate 4 FACA
           PARA c de 1 ate 2 FACA
                escreval (res[l,1]," |",res[l,2])
           FIMPARA
      FIMPARA
fimalgoritmo






7 - Um elemento Aij de uma matriz é dito ponto de sela da matriz A se, e somente se , Aij for ao mesmo tempo o menor elemento da linha i e o maior elemento da coluna j. Faça um programa que carregue uma matriz de ordem 5x7, verefique se a matriz possui ponto de sela e , se possuir, mostre seu valor e sua localizaçao.




algoritmo "ponto_de_sela7"
var
   matr:vetor[1..5,1..7] de real
   l,c,l2,cont,conta,lin,co: inteiro
   sela:real
inicio
      PARA l de 1 ate 5 FACA
           PARA c de 1 ate 7 FACA
                escreval("Digite o numero referente a linha",l," e coluna",c,":")
                leia(matr[l,c])
           FIMPARA
      FIMPARA
      conta<-0
      PARA l de 1 ate 5 FACA
      sela<- matr[l,1]
      lin<- l
      co<- 1
           PARA c de 1 ate 7 FACA
                SE sela > matr[l,c] ENTAO
                   sela<- matr[l,c]
                   lin<- l
                   co<- c
                FIMSE
           FIMPARA
           cont<-0
           PARA l2 de 1 ate 5 FACA
                SE sela <= matr[l2,co] ENTAO
                   SE (l2<>lin) e (c<>co) ENTAO
                      cont<- cont+1
                   FIMSE
                FIMSE
           FIMPARA
           SE cont = 0 ENTAO
              escreval(" ")
              escreval("O ponto de sela da matriz esta na linha",lin,", e na coluna",co," e tem valor",matr[lin,co],".")
              conta<- conta+1
           FIMSE
      FIMPARA
      SE conta = 0 ENTAO
         escreval(" ")
         escreval("Essa matriz não tem nenhum ponto de sela.")
      FIMSE
fimalgoritmo






8 - Elabore um programa que preencha uma matriz de 6x4 com números inteiros, cacule e mostre quantos elementos dessa matriz são maiores que 30 e, em seguida, monte uma segunda matriz com os elementos diferentes de 30. No lugar do número 30 da segunda matriz, coloque o número zero.




algoritmo "quest8"
var
   matr: vetor[1..6,1..4] de inteiro
   l,c,cont:inteiro
inicio
      cont<-0
      PARA l de 1 ate 6 FACA
           PARA c de 1 ate 4 FACA
                escreval("Digite o numero referente a linha",l," e coluna",c,":")
                leia (matr[l,c])
                SE (matr[l,c] > 30) ENTAO
                   cont<- cont +1
                FIMSE
                SE matr[l,c] = 30 ENTAO
                   matr[l,c] <- 0
                FIMSE
           FIMPARA
      FIMPARA
      escreval("A matriz tem ",cont," numeros maiores que 30.")
      PARA l de 1 ate 6 FACA
           PARA c de 1 ate 4 FACA
                escreva(" | ",matr[l,c])
           FIMPARA
           escreval(" |")
      FIMPARA
fimalgoritmo






9 - Crie um programa que preencha uma matriz 15 x 5 com números inteiros, calcule e mostre quais elementos da matriz se repetem e quantas veses cada um se repete.


"niguem conseguiu faser nem mesmo o professor conseguiu desculpem mas em breve potarei"





10 - Elabore um programa que preencha uma matriz 10 x 10 com números inteiros, execute as trocas especificadas a seguir e mostre a matriz resultante:
- A linha 2 com a linha 8;
- A coluna 4 com a coluna 10;
- A diagonal principal com a diagonal secundária;
- A linha 5 com a coluna 10.




algoritmo "trocas"
var
   matr:vetor[1..10,1..10] de real
   matr2:vetor[1..10,1..10] de real
   l,c,c2:inteiro
inicio
      PARA l de 1 ate 10 FACA
           PARA c de 1 ate 10 FACA
                escreval("Digite o número referente a linha",l," e coluna",c,":")
                leia(matr[l,c])
                matr2[l,c] <- matr[l,c]
           FIMPARA
      FIMPARA
      c2<-10
      PARA l de 1 ate 10 FACA
           matr2[2,l] <- matr[8,l]
           matr2[8,l] <- matr[2,l]
           matr2[l,4] <- matr[l,10]
           matr2[l,10] <- matr[l,4]
           matr2[l,l] <- matr[l,c2]
           matr2[l,c2] <- matr[l,l]
           c2 <- c2-1
           matr2[5,l] <- matr[l,10]
           matr2[l,10] <- matr[5,l]
      FIMPARA
      escreval("  Matriz Final ")
      PARA l de 1 ate 10 FACA
           escreval("| ",matr2[l,1]," | ",matr2[l,2]," | ",matr2[l,3]," | ",matr2[l,4]," | ",matr2[l,5]," | ",matr2[l,6]," | ",matr2[l,7]," | ",matr2[l,8]," | ",matr2[l,9]," | ",matr2[l,10]," | ")
      FIMPARA
fimalgoritmo








- Leia um ctoonjun com n números e informe se existe algum elemento repetido no conjunto.


algoritmo "exec_01_aula24"
var
repete,x,y,cont:inteiro
n:vetor[1..5] de real
inicio
para x de 1 ate 5 faca
   escreva("Digite um número: ")
   leia(n[x])
fimpara
para x de 1 ate 5 faca
   repete<-0
   cont<-(-1)
   para y de 1 ate 5 faca
      se (n[y]=n[x]) entao
         repete<-1
         cont<-cont+1
      fimse
   fimpara
   se (repete = 1) entao
      se (cont >=1) entao
         escreval("O Número",n[x]," repetiu",cont," vezes.")
      senao
         escreval("O Número",n[x]," não repetiu nenhuma vez.")
      fimse
   fimse
fimpara
fimalgoritmo



- Leia uma matriz quadrada de ordem 10 e calcule a sua transposta. Imprima as duas matrizes.



algoritmo "transposta"
var
   matr:vetor[1..10,1..10] de real
   matr2:vetor[1..10,1..10] de real
   l,c:inteiro
inicio
      PARA l de 1 ate 10 FACA
           PARA c de 1 ate 10 FACA
                escreval("Digite o valor referente a linha ",l," e coluna ",c,":")
                leia(matr[l,c])
           FIMPARA
      FIMPARA
      PARA l de 1 ate 10 FACA
           PARA c de 1 ate 10 FACA
                matr2[l,c] <- matr[c,l]
           FIMPARA
      FIMPARA
      escreval(" Matriz Original ")
      PARA l de 1 ate 10 FACA
                escreval("| ",matr[l,1]," | ",matr[l,2]," | ",matr[l,3]," | ",matr[l,4]," | ",matr[l,5]," | ",matr[l,6]," | ",matr[l,7]," | ",matr[l,8]," | ",matr[l,9]," | ",matr[l,10]," | ")
      FIMPARA
      escreval(" ")
      escreval(" Matriz Transposta ")
      PARA l de 1 ate 10 FACA
                escreval("| ",matr2[l,1]," | ",matr2[l,2]," | ",matr2[l,3]," | ",matr2[l,4]," | ",matr2[l,5]," | ",matr2[l,6]," | ",matr2[l,7]," | ",matr2[l,8]," | ",matr2[l,9]," | ",matr2[l,10]," | ")
      FIMPARA
fimalgoritmo


 
- Ler uma matriz 6 x 6 e atribuir o valor 0 para os valores negativos
encontrados fora das diagonais principal e secundaria





algoritmo "diagonais"
var
   matr:vetor[1..6,1..6] de real
   l,c,h:inteiro
inicio
      PARA l de 1 ate 6 FACA
           PARA c de 1 ate 6 FACA
                escreval("Digite o número referente a linha",l," e coluna",c,":")
                leia(matr[l,c])
           FIMPARA
      FIMPARA
      h<-6
      PARA l de 1 ate 6 FACA
           PARA c de 1 ate 6 FACA
                SE (l<>c) e (c<>h) e (matr[l,c]<0) ENTAO
                      matr[l,c] <- 0
                FIMSE
           FIMPARA
           h<- h-1
      FIMPARA
      escreval(" Matriz Final ")
      PARA l de 1 ate 6 FACA
           escreval(" | ",matr[l,1]," | ",matr[l,2]," | ",matr[l,3]," | ",matr[l,4]," | ",matr[l,5]," | ",matr[l,6]," | ")
      FIMPARA
fimalgoritmo


 
- Leia matriz A de 8x8, depois preencha uma matriz B de mesma ordem, trocando as linhas da matriz A pelas colunas da matriz B. Exemplo:
1ª linha da matriz A, será a 1ª coluna da matriz B
2ª linha da matriz A, será a 2ª coluna da matriz B
e assim por diante. Escreva a matriz resultante.



algoritmo "linha_colu"
var
   matr:vetor[1..8,1..8] de real
   matr2:vetor[1..8,1..8] de real
   l,c:inteiro
inicio
      PARA l de 1 ate 8 FACA
           PARA c de 1 ate 8 FACA
                escreval("Digite o valor referente a linha ",l," e coluna ",c,":")
                leia(matr[l,c])
           FIMPARA
      FIMPARA
      PARA l de 1 ate 8 FACA
           PARA c de 1 ate 8 FACA
                matr2[l,c] <- matr[c,l]
           FIMPARA
      FIMPARA
      escreval(" ")
      escreval(" Matriz Resultante ")
      PARA l de 1 ate 8 FACA
                escreval("| ",matr2[l,1]," | ",matr2[l,2]," | ",matr2[l,3]," | ",matr2[l,4]," | ",matr2[l,5]," | ",matr2[l,6]," | ",matr2[l,7]," | ",matr2[l,8]," | ")
      FIMPARA
fimalgoritmo




 
ULTIMAS AULAS ANTES DA ULTIMA AVALIAÇÃO, a tão temidfa prova de alg.
ñ sei se minha logica vai ser suficientente mas tenhooutra chance que seria o exame
rsrsr...

meu meu blog parece mais o diario de um aluno desesperado kkkk.....

mas voltando as ultimas aulas, ñ prestei muita atenção pois quebrarão meu HD externo
mais o jossndro me deu um puxão de orelha e me explico bem como fas as multiplicação de raiz e o que era um pontocela da matriz

quarta-feira, 17 de agosto de 2011

AULA 22

1 - Faça um algoritmo que preencha uma matriz M (2x2), calcule e mostre a matriz R, resultante da multiplicação dos elementos de M pelo seu maior elemento.

 algoritmo "multi_maior_1"
var
   m:vetor [1..2,1..2] de real
   r:vetor [1..2,1..2] de real
   maior,lim,col:real
   n,i:inteiro
inicio
      PARA n de 1 ate 2 FACA
           PARA i de 1 ate 2 FACA
                escreval("Digite um número para linha ",n," e para coluna ",i,":")
                leia(m[n,i])
           FIMPARA
      FIMPARA
      maior<- m[1,1]
      pos<- 1,1
      PARA n de 1 ate 2 FACA
           PARA i de 1 ate 2 FACA
                SE (maior < m[n,i]) ENTAO
                   maior<- m[n,i]
                   lim<- n
                   col<- i
                FIMSE
           FIMPARA
      FIMPARA
      escreval("O número maior da matriz foi",maior)
      PARA n de 1 ate 2 FACA
           PARA i de 1 ate 2 FACA
                r[n,i]<- m[n,i] * maior
                escreval("O resultado da multiplicação entre ",m[n,i]," e ",maior," foi ",r[n,i])
           FIMPARA
      FIMPARA
fimalgoritmo


 
2 - Faça um programa que preencha:

  • Um vetor com oito posições, contendo nomes de lojas;
  • Outro vetor com quatro posições, contendo nomes de produtos;
  • Uma matriz com os preços de todos os produtos em cada loja.

O programa deverá mostrar todas as relações (nome do produto – nome da loja) em que o preço não ultrapasse R$ 120,00.


algoritmo "aula22_ex2"
var
  loja: vetor [1..8] de caractere
  prod: vetor [1..4] de caractere
  preco: vetor [1..8,1..4] de real
  i, j : inteiro
inicio
  para i <- 1 ate 8 faca
    escreval("Digite o nome da loja ",i)
    leia(loja[i])
  fimpara
  para i <- 1 ate 4 faca
    escreval("Digite o nome do produto ",i)
    leia(prod[i])
  fimpara
  para i <- 1 ate 8 faca
    para j <- 1 ate 4 faca
      escreval("Digite o preco do(a) ",prod[j]," na loja ",loja[i])
      leia(preco[i,j])
    fimpara
  fimpara
  para i <- 1 ate 8 faca
    para j <- 1 ate 4 faca
      se (preco[i,j] <= 120) entao
        escreval(prod[j]," custa R$",preco[i,j]," na loja ",loja[i])
      fimse
    fimpara
  fimpara
fimalgoritmo

 
3 - Na teoria dos sistemas, define-se o elemento MINMAX de uma matriz como o maior elemento da linha em que se econtra o menor elemento da matriz. Elabore um programa que carregue uma matriz 4x7 com números reais, calcule e mostre seu MINMAX e sua posição (linha e coluna).

 algoritmo "minmax3"
var
   mat:vetor[1..4,1..7] de real
   menor,maior,coluna,colunamaior,linha: real
   n,i: inteiro
inicio
      PARA n de 1 ate 4 FACA
           PARA i de 1 ate 7 FACA
                escreval("Digite o número pertencente a coluna ",i," e a linha ",n,":")
                leia(mat[n,i])
           FIMPARA
      FIMPARA
      menor<- mat[1,1]
      linha<- 1
      coluna<- 1
      PARA n de 1 ate 4 FACA
           PARA i de 1 ate 7 FACA
                SE menor < mat[n,i] ENTAO
                   menor<- mat[n,i]
                   linha<- n
                   coluna<- i
                FIMSE
           FIMPARA
      FIMPARA
      maior<- mat[linha,1]
      colunamaior<- 1
      PARA n de 1 ate 1 FACA
           PARA i de 1 ate 7 FACA
                SE maior < mat[linha,i] ENTAO
                   maior<- mat[linha,i]
                   colunamaior<- i
                FIMSE
           FIMPARA
      FIMPARA
      escreval("O menor número é ",menor," esta na linha ",linha,",e na coluna ",coluna," e o maior desta linha é ",maior," esta na coluna ",colunamaior)
fimalgoritmo


 
algoritmos e um tanto quanto viciante, as vezes chegamos a um ponto onde parecemos viciados em algo,
ate então to a cada dia mais fisurado em desenvolver estas questões, tenho sim minhas dificuldades mas to tentando, to me esforçando e quero sim nesta carreira muito sucesso e sei que pra isso preciso de determinação.  ...

espero sim e com minha determinação alcançar meus objetivos