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
Download arquivo alg.
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
Download arquivo alg.
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
Download arquivo alg.
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.
Download arquivo alg.
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
Download arquivo alg.
1 - Leia um conjunto com n números e informe se existe algum elemento repetido no conjunto.
Download arquivo alg.
2 - 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
3 - 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
4 - 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
A minha grande dificuldade foi nos exercícios 1 e 9 pois a contagem dos números repetidos acabava me confundindo.. no restante tive até uma certa facilidade, resolvendo-os e apresentado para os colegas no projetor duas das minhas questões resolvidas.