AULAS 23, 24 e 25 - 08/07/2011, 04/08/2001 e 11/08/2011 - Exercicios ..
Autor: Maike Nunes | Publicado: 2011-08-14T17:14:00-07:00

&nbsp;&nbsp; Na aula 23 acabei não comparecendo, mas como era a ultima aula antes das férias o professor passou cinco exercícios por e-mail para serem resolvidos nas férias. Voltando das férias na aula 24 o professor Jossandro passou mais 4 questões, para serem corrigidas na aula 25 juntamente com as da aula 23, porém foi sorteado os alunos que foram ao quadro corrigir, ganhando 0.5 na média final quem acertava a questão, &nbsp;perdendo 0.5 quem não tivesse feito e quem tivesse feito errado ficaria no 0 a 0, ou seja, não ganharia mas também não perderia. Na aula 25 acabei ganhando os 0.5 na média final.. &nbsp;Disponibilizarei todos os&nbsp;exercícios&nbsp;abaixo.


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
&nbsp; &nbsp;mat1:vetor[1..4,1..5] de real
&nbsp; &nbsp;mat2:vetor[1..5,1..2] de real
&nbsp; &nbsp;res:vetor[1..5,1..2] de real
&nbsp; &nbsp;l,c: inteiro
inicio
&nbsp; &nbsp; &nbsp; PARA l de 1 ate 4 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PARA c de 1 ate 5 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; escreval("Digite o numero da linha",l," e coluna ",c,":")
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; leia(mat1[l,c])
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FIMPARA
&nbsp; &nbsp; &nbsp; FIMPARA
&nbsp; &nbsp; &nbsp; PARA l de 1 ate 5 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PARA c de 1 ate 2 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; escreval("Digite o numero da linha",l," e coluna ",c,", da segunda matriz:")
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; leia(mat2[l,c])
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FIMPARA
&nbsp; &nbsp; &nbsp; FIMPARA
&nbsp; &nbsp; &nbsp; PARA l de 1 ate 4 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PARA c de 1 ate 2 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; res[l,c]&lt;- ((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]))
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FIMPARA
&nbsp; &nbsp; &nbsp; FIMPARA
&nbsp; &nbsp; &nbsp; PARA l de 1 ate 4 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PARA c de 1 ate 2 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; escreval (res[l,1]," |",res[l,2])
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FIMPARA
&nbsp; &nbsp; &nbsp; 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
&nbsp; &nbsp;matr:vetor[1..5,1..7] de real
&nbsp; &nbsp;l,c,l2,cont,conta,lin,co: inteiro
&nbsp; &nbsp;sela:real
inicio
&nbsp; &nbsp; &nbsp; PARA l de 1 ate 5 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PARA c de 1 ate 7 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; escreval("Digite o numero referente a linha",l," e coluna",c,":")
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; leia(matr[l,c])
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FIMPARA
&nbsp; &nbsp; &nbsp; FIMPARA
&nbsp; &nbsp; &nbsp; conta&lt;-0
&nbsp; &nbsp; &nbsp; PARA l de 1 ate 5 FACA
&nbsp; &nbsp; &nbsp; sela&lt;- matr[l,1]
&nbsp; &nbsp; &nbsp; lin&lt;- l
&nbsp; &nbsp; &nbsp; co&lt;- 1
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PARA c de 1 ate 7 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SE sela &gt; matr[l,c] ENTAO
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sela&lt;- matr[l,c]
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lin&lt;- l
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;co&lt;- c
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FIMSE
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FIMPARA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;cont&lt;-0
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PARA l2 de 1 ate 5 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SE sela &lt;= matr[l2,co] ENTAO
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SE (l2&lt;&gt;lin) e (c&lt;&gt;co) ENTAO
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cont&lt;- cont+1
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FIMSE
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FIMSE
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FIMPARA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;SE cont = 0 ENTAO
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; escreval(" ")
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; escreval("O ponto de sela da matriz esta na linha",lin,", e na coluna",co," e tem valor",matr[lin,co],".")
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; conta&lt;- conta+1
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FIMSE
&nbsp; &nbsp; &nbsp; FIMPARA
&nbsp; &nbsp; &nbsp; SE conta = 0 ENTAO
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;escreval(" ")
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;escreval("Essa matriz não tem nenhum ponto de sela.")
&nbsp; &nbsp; &nbsp; 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
&nbsp; &nbsp;matr: vetor[1..6,1..4] de inteiro
&nbsp; &nbsp;l,c,cont:inteiro
inicio
&nbsp; &nbsp; &nbsp; cont&lt;-0
&nbsp; &nbsp; &nbsp; PARA l de 1 ate 6 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PARA c de 1 ate 4 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; escreval("Digite o numero referente a linha",l," e coluna",c,":")
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; leia (matr[l,c])
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SE (matr[l,c] &gt; 30) ENTAO
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;cont&lt;- cont +1
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FIMSE
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SE matr[l,c] = 30 ENTAO
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;matr[l,c] &lt;- 0
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FIMSE
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FIMPARA
&nbsp; &nbsp; &nbsp; FIMPARA
&nbsp; &nbsp; &nbsp; escreval("A matriz tem ",cont," numeros maiores que 30.")
&nbsp; &nbsp; &nbsp; PARA l de 1 ate 6 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PARA c de 1 ate 4 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; escreva(" | ",matr[l,c])
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FIMPARA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;escreval(" |")
&nbsp; &nbsp; &nbsp; 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
&nbsp; &nbsp;matr:vetor[1..10,1..10] de real
&nbsp; &nbsp;matr2:vetor[1..10,1..10] de real
&nbsp; &nbsp;l,c,c2:inteiro
inicio
&nbsp; &nbsp; &nbsp; PARA l de 1 ate 10 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PARA c de 1 ate 10 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; escreval("Digite o número referente a linha",l," e coluna",c,":")
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; leia(matr[l,c])
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; matr2[l,c] &lt;- matr[l,c]
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FIMPARA
&nbsp; &nbsp; &nbsp; FIMPARA
&nbsp; &nbsp; &nbsp; c2&lt;-10
&nbsp; &nbsp; &nbsp; PARA l de 1 ate 10 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;matr2[2,l] &lt;- matr[8,l]
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;matr2[8,l] &lt;- matr[2,l]
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;matr2[l,4] &lt;- matr[l,10]
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;matr2[l,10] &lt;- matr[l,4]
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;matr2[l,l] &lt;- matr[l,c2]
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;matr2[l,c2] &lt;- matr[l,l]
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;c2 &lt;- c2-1
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;matr2[5,l] &lt;- matr[l,10]
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;matr2[l,10] &lt;- matr[5,l]
&nbsp; &nbsp; &nbsp; FIMPARA
&nbsp; &nbsp; &nbsp; escreval(" &nbsp;Matriz Final ")
&nbsp; &nbsp; &nbsp; PARA l de 1 ate 10 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;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]," | ")
&nbsp; &nbsp; &nbsp; FIMPARA
fimalgoritmo



Download arquivo alg.



1&nbsp;- Leia um conjunto com n números e informe se existe algum elemento repetido no conjunto.


Download arquivo alg.
2&nbsp;- Leia uma matriz quadrada de ordem 10 e calcule a sua transposta. Imprima as duas matrizes.

algoritmo "transposta"
var
&nbsp; &nbsp;matr:vetor[1..10,1..10] de real
&nbsp; &nbsp;matr2:vetor[1..10,1..10] de real
&nbsp; &nbsp;l,c:inteiro
inicio
&nbsp; &nbsp; &nbsp; PARA l de 1 ate 10 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PARA c de 1 ate 10 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; escreval("Digite o valor referente a linha ",l," e coluna ",c,":")
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; leia(matr[l,c])
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FIMPARA
&nbsp; &nbsp; &nbsp; FIMPARA
&nbsp; &nbsp; &nbsp; PARA l de 1 ate 10 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PARA c de 1 ate 10 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; matr2[l,c] &lt;- matr[c,l]
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FIMPARA
&nbsp; &nbsp; &nbsp; FIMPARA
&nbsp; &nbsp; &nbsp; escreval(" Matriz Original ")
&nbsp; &nbsp; &nbsp; PARA l de 1 ate 10 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 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]," | ")
&nbsp; &nbsp; &nbsp; FIMPARA
&nbsp; &nbsp; &nbsp; escreval(" ")
&nbsp; &nbsp; &nbsp; escreval(" Matriz Transposta ")
&nbsp; &nbsp; &nbsp; PARA l de 1 ate 10 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 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]," | ")
&nbsp; &nbsp; &nbsp; FIMPARA
fimalgoritmo
Download arquivo alg.
3&nbsp;- 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
&nbsp; &nbsp;matr:vetor[1..6,1..6] de real
&nbsp; &nbsp;l,c,h:inteiro
inicio
&nbsp; &nbsp; &nbsp; PARA l de 1 ate 6 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PARA c de 1 ate 6 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; escreval("Digite o número referente a linha",l," e coluna",c,":")
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; leia(matr[l,c])
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FIMPARA
&nbsp; &nbsp; &nbsp; FIMPARA
&nbsp; &nbsp; &nbsp; h&lt;-6
&nbsp; &nbsp; &nbsp; PARA l de 1 ate 6 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PARA c de 1 ate 6 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SE (l&lt;&gt;c) e (c&lt;&gt;h) e (matr[l,c]&lt;0) ENTAO
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; matr[l,c] &lt;- 0
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FIMSE
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FIMPARA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;h&lt;- h-1
&nbsp; &nbsp; &nbsp; FIMPARA
&nbsp; &nbsp; &nbsp; escreval(" Matriz Final ")
&nbsp; &nbsp; &nbsp; PARA l de 1 ate 6 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;escreval(" | ",matr[l,1]," | ",matr[l,2]," | ",matr[l,3]," | ",matr[l,4]," | ",matr[l,5]," | ",matr[l,6]," | ")
&nbsp; &nbsp; &nbsp; FIMPARA
fimalgoritmo
Download arquivo alg.
4&nbsp;- 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 B2ª linha da matriz A, será a 2ª coluna da matriz Be assim por diante. Escreva a matriz resultante.

algoritmo "linha_colu"
var
&nbsp; &nbsp;matr:vetor[1..8,1..8] de real
&nbsp; &nbsp;matr2:vetor[1..8,1..8] de real
&nbsp; &nbsp;l,c:inteiro
inicio
&nbsp; &nbsp; &nbsp; PARA l de 1 ate 8 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PARA c de 1 ate 8 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; escreval("Digite o valor referente a linha ",l," e coluna ",c,":")
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; leia(matr[l,c])
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FIMPARA
&nbsp; &nbsp; &nbsp; FIMPARA
&nbsp; &nbsp; &nbsp; PARA l de 1 ate 8 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PARA c de 1 ate 8 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; matr2[l,c] &lt;- matr[c,l]
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FIMPARA
&nbsp; &nbsp; &nbsp; FIMPARA
&nbsp; &nbsp; &nbsp; escreval(" ")
&nbsp; &nbsp; &nbsp; escreval(" Matriz Resultante ")
&nbsp; &nbsp; &nbsp; PARA l de 1 ate 8 FACA
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 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]," | ")
&nbsp; &nbsp; &nbsp; FIMPARA
fimalgoritmo


Download arquivo alg.
&nbsp; A minha grande dificuldade foi nos&nbsp;exercícios&nbsp;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.