Anda di halaman 1dari 6

Curso: Engenharia Civil

Profa. Valdinia Garcia


Contedo: Algoritmos Matrizes

Universidade Anhanguera Uniderp


Disciplina: Algoritmos
Data:

Aula 7 GABARITO
Criar um algoritmo que gere uma matriz 4x4, inserir dados nesta matriz, e por ltimo mostrar os dados.
Algoritmo "Exercicio01"
Var
matriz:vetor [1..4,1..4] de inteiro
l, c : inteiro
Inicio
Para l de 1 ate 4 faca
Para c de 1 ate 4 faca
escreva("Digite valor para alimentar a matriz...: ")
leia(matriz[l,c])
fimpara
fimpara
Para l de 1 ate 4 faca
Para c de 1 ate 4 faca
escreva(matriz[l,c]:4)
fimpara
escreval("")
fimpara
fimalgoritmo

Escrever um algoritmo que alimente uma matriz 5X5 com nmeros inteiros e positivos e depois gere e mostre a matriz
METADE.
Algoritmo "Exercicio02"
Var
Matriz1:vetor [1..5,1..5] de inteiro
Matriz2:vetor [1..5,1..5] de real
l, c : inteiro
Inicio
Para l de 1 ate 5 faca
Para c de 1 ate 5 faca
escreva("Digite valor para alimentar a matriz...: ")
leia(matriz1[l,c])
fimpara
fimpara
Para l de 1 ate 5 faca
Para c de 1 ate 5 faca
(matriz2[l,c])<- (matriz1[l,c]/2)
fimpara
fimpara
Para l de 1 ate 4 faca
Para c de 1 ate 4 faca
escreva(matriz2[l,c]:5)
fimpara
escreval("")
fimpara
fimalgoritmo

Elabore um algoritmo que leia uma matriz (3,3) e calcula o somatrio:


a) da linha 3
b) da coluna 2
c) da diagonal principal;
d) da diagonal secundria
e) de todos os numeros da matriz.
Algoritmo "Exercicio03"
VAR
VALORES : VETOR [1..3,1..3] DE REAL
somaLinha3, somaColuna2, somaDiagPrinc, somaDiagsecu, somaTudo: REAL
l, c: INTEIRO
inicio
somaLinha3 <- 0
somaColuna2 <- 0
somaDiagPrinc <- 0
somaDiagsecu <- 0
somaTudo <- 0
Para l de 1 ate 3 faca
Para c de 1 ate 3 faca
Escreva("Digite um valor para a matriz")
Leia (VALORES[ l,c ])
se l=3 entao
somaLinha3 <- VALORES[ l,c]+ somaLinha3
fimse
se c=2 entao
somaColuna2 <- VALORES[ l,c]+ somaColuna2
fimse
se l=c entao
somaDiagPrinc <- VALORES[ l,c]+ somaDiagPrinc
fimse
se l+c=4 entao
somaDiagsecu <- VALORES[ l,c ]+ somaDiagsecu
fimse
somaTudo <- VALORES[ l,c] + somaTudo
fimpara
fimpara
Para l de 1 ate 3 faca
para c de 1 ate 3 faca
escreval (VALORES[ l,c])
fimpara
fimpara
escreval ("Soma dos elementos da linha 3 ", somaLinha3)
escreval ("Soma dos elementos da coluna 2 ", somaColuna2)
escreval ("Soma dos elementos da diagonal principal ", somaDiagPrinc)
escreval ("Soma dos elementos da diagonal secundria ", somaDiagsecu)
escreval ("Soma de todos os elementos ", somaTudo)
fimalgoritmo

Faa um algoritmo para ler uma matriz de 34 de nmeros reais e depois exibir o elemento do canto superior esquerdo e do
canto inferior
Algoritmo "Exercicio04"
var
matriz : vetor[1..3,1..4] de real
l, c :inteiro
inicio
para l de 1 ate 3 faca
para c de 1 ate 4 faca
escreva("Digite um nmero inteiro: ")
leia(matriz[ l,c ])

fimpara
fimpara
para l de 1 ate 3 faca
para c de 1 ate 4 faca
escreva(matriz[ l,c]:4)
fimpara
escreval("")
fimpara
escreval("")
escreval("linha 1 e coluna 1 ", matriz[1,1])
escreval("linha 3 e coluna 4 ", matriz[3,4])
fimalgoritmo
Criar um algoritmo para criar uma matriz 5X5 e gerar outra em que cada elemento o cubo do elemento respectivo da matriz
original. E ao final mostrar apenas o valor do meio desta nova matriz.
Algoritmo "Exercicio05"
Var
Matriz:vetor [1..5,1..5] de inteiro
NovaMatriz:vetor [1..5,1..5] de real
l, c : inteiro
Inicio
Para l de 1 ate 5 faca
Para c de 1 ate 5 faca
escreva("Digite valor para alimentar a matriz...: ")
leia(matriz[l,c])
fimpara
fimpara
Para l de 1 ate 5 faca
Para c de 1 ate 5 faca
(NovaMatriz[l,c])<- (matriz[l,c]^3)
fimpara
fimpara
Para l de 1 ate 5 faca
Para c de 1 ate 5 faca
escreva(NovaMatriz[3,3])
fimpara
escreval("")
fimpara
fimalgoritmo

Faa um algoritmo para ler uma matriz 2X3 real e depois gerar e imprimir sua transposta (matriz 3X2 equivalente);
Algoritmo "Exercicio06"
var
matrizA : vetor[1..2,1..3] de real
matrizB : vetor[1..3,1..2] de real
l,c :inteiro
inicio
para l de 1 ate 2 faca
para c de 1 ate 3 faca
escreva("Digite um nmero inteiro: ")
leia(matrizA[ l,c])
fimpara
fimpara
para l de 1 ate 2 faca
para c de 1 ate 3 faca
escreva(matrizA[ l,c ]")
fimpara
escreval(" ")
fimpara

para l de 1 ate 3 faca


para c de 1 ate 2 faca
matrizB[ l,c ]<-(matrizA[c,l])
fimpara
fimpara
escreval(" ")
para l de 1 ate 3 faca
para c de 1 ate 2 faca
escreva(matrizB[c,l])
fimpara
fimpara
fimalgoritmo
Escrever um algoritmo que alimente uma matriz 5X5 com nmeros inteiros e positivos e depois gere e mostre outra a matriz que
apresente os resultados da potencia de 2 da primeira matriz.
Algoritmo "Exercicio07"
Var
Matriz:vetor [1..5,1..5] de inteiro
NovaMatriz:vetor [1..5,1..5] de real
l, c : inteiro
Inicio
Para l de 1 ate 5 faca
Para c de 1 ate 5 faca
escreva("Digite valor para alimentar a matriz...: ")
leia(matriz[l,c])
fimpara
fimpara
Para l de 1 ate 5 faca
Para c de 1 ate 5 faca
(NovaMatriz[l,c])<- (matriz[l,c]^2)
fimpara
fimpara
Para l de 1 ate 4 faca
Para c de 1 ate 4 faca
escreva(NovaMatriz[l,c]:5)
fimpara
escreval("")
fimpara
fimalgoritmo
Elaborar um algoritmo que alimente uma matriz 4X3 real e depois imprima a soma dos elementos de uma linha L
fornecida pelo usurio.
Algoritmo "Exercicio08"
var
MatrizY:vetor[1..4,1..3] de real
linha, l,c :inteiro
SomarLinha:real
inicio
para l de 1 ate 4 faca
para c de 1 ate 3 faca
escreva("Digite os numeros:")
leia(MatrizY[ l,c ])
fimpara
fimpara
para l de 1 ate 4 faca
para c de 1 ate 3 faca
escreva(MatrizY[ l,c])
fimpara

fimpara
escreva("Qual linha quer somar? ")
leia(linha)
somarlinha<-0
para l de linha ate linha faca
para c de 1 ate 3 faca
somarlinha <- somarlinha + MatrizY[linha,c]
fimpara
fimpara
escreval("Linha somada.: ", linha)
escreval("Total da soma da linha: ", somarlinha)
fimalgoritmo

Elaborar um algoritmo que preencha uma matriz 4X3 real. Depois, mostre qual o elemento armazenado em uma linha e
coluna C fornecidos pelo usurio
Algoritmo "Exercicio09"
var
MatrizX:vetor[1..4,1..3] de real
linha, coluna, l,c :inteiro
inicio
para l de 1 ate 4 faca
para c de 1 ate 3 faca
escreva("Digite os numeros:")
leia(MatrizX [ l,c ])
fimpara
fimpara
para l de 1 ate 4 faca
para c de 1 ate 3 faca
escreva(MatrizX [ l,c ]," ")
fimpara
fimpara
escreva("Qual linha voc quer ver? ")
leia(linha)
escreva("Qual coluna quer ver? ")
leia(coluna)
para l de linha ate linha faca
para c de coluna ate coluna faca
escreval("O numro armazenado na linha ",linha, " e na coluna ",coluna, " : ", vet4x3[linha,coluna])
fimpara
fimpara
fimalgoritmo

Agora, imagine que o professor de determinada disciplina passou um trabalho a ser feito em dupla e quer organizar os nomes
das duplas. Veja a tabela abaixo:
Os elementos dos grupos, segundo a tabela, so os seguintes:
Componentes
Componentes
Componentes
Componentes
Componentes
Componentes

[1,1] <- Maria (componente 1 da


[2,1] <- Joo (componente 2 da
[1,2] <- Ftima (componente 1 da
[2,2] <- Francisco (componente 2 da
[1,3] <- Fernanda (componente 1 da
[2,3] <- Jos (componente 2 da dupla 3)

dupla
dupla
dupla
dupla
dupla

1)
1)
2)
2)
3)

Baseado no exposto faa um algoritmo que alimente uma matriz com os nomes dos alunos que compem as duplas.

Algoritmo "Exercicio10"
var
componente : vetor[1..3, 1..2]de caracter
l,c : inteiro
inicio
para c de 1 ate 3 faca
para l de 1 ate 2 faca
escreval("Digite o nome do componente ",l," do grupo ",c,":")
leia (componente[c,l])
fimpara
fimpara
para l de 1 ate 3 faca
escreval ("Grupo ",l,":") //mostra o nome do grupo
para c de 1 ate 2 faca
escreval (componente[l,c]) //mostra os componentes
fimpara
fimpara
fimalgoritmo