





Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Respostas Exercicios Matrizes - Matlab
Tipologia: Exercícios
1 / 9
Esta página não é visível na pré-visualização
Não perca as partes importantes!






{ exercicio 1 da lista de matrizes. Cada item do exercicio esta' resolvido separadamente para maior clareza, mas o mesmo loop que percorre a matriz poderia ter sido usado para mais de um dos itens. }
var i, j, maior, soma,N,produto,neg,achei,MAXLIN,MAXCOL:integer; M: array [1..5, 1..7] of integer;
Begin neg:=0; produto:=1; MAXLIN:=5; MAXCOL:=7;
{ Leitura na matriz M } write('digite os dados da matriz'); for i:=1 to MAXLIN do begin writeln('Linha ', i); for j:=1 to MAXCOL do readln(M[i,j]); end;
{ o maior elemento de cada linha da matriz} for i:=1 to MAXLIN do begin maior:=0; for j:=1 to MAXCOL do if M[i,j]>maior then maior:=M[i,j]; writeln('O maior elemento da linha ', i, ' eh ' ,maior); end;
{ o maior elemento de cada coluna da matriz} for j:=1 to MAXCOL do begin maior:=0; for i:=1 to MAXLIN do if M[i,j]>maior then maior:=M[i,j]; writeln('O maior elemento da coluna ',j,' eh ',maior); end;
{ a média dos elementos de cada coluna} for j:=1 to MAXCOL do begin soma:=0; for i:=1 to MAXLIN do soma:=soma+M[i,j]; writeln('A media da coluna ',j,' eh ',soma/MAXLIN); end;
{ o produto de todos os elementos diferentes de zero} for i:=1 to MAXLIN do for j:=1 to MAXCOL do if M[i,j]<>0 then produto:=produto*M[i,j]; writeln('O produto dos elementos nao nulos eh ',produto);
{ quantos elementos são negativos} for i:=1 to MAXLIN do for j:=1 to MAXCOL do if M[i,j]<0 then neg:=neg+1; writeln('O numero de elementos negativos eh ',neg);
{ posição ocupada (linha-coluna) por um elemento cujo valor será lido pelo programa} writeln; write('Indique o numero que deseja procurar na matriz: '); readln(N); achei:=0; for i:=1 to MAXLIN do for j:=1 to MAXCOL do if M[i,j]=N then begin writeln('Posicao na matriz: ',i,j); achei:=1; end;
if achei=0 then writeln('Este numero nao existe na matriz!!'); readln; end.
program determinante_ordem3; var M:array [1..3,1..3] of real; I,K:integer; det:real;
begin {prenchimento da matriz} writeln('Informe a matriz:'); for I:=1 to 3 do for k:= 1 to 3 do begin write('elemento ',I,',',K,': '); readln(M[I,K]); writeln; end;
{calculo do determinante} det:=M[1,1]M[2,2]M[3,3]+M[1,2]M[2,3]M[3,1]+M[2,1]M[3,2]M[1,3]; det:=det-M[1,3]M[2,2]M[3,1]-M[1,2]M[2,1]M[3,3]-M[2,3]M[3,2]M[1,1];
{mostra a matriz e o determinante} writeln('O determinante da matriz'); for I:=1 to 3 do begin writeln; for k:= 1 to 3 do write(M[I,K]:5:1); end; writeln; writeln;
0 e 10, podendo ter decimais. Cada uma das provas vale 40% e o trabalho 20% da
nota final. Fornecer: as 3 notas, a nota final e o conceito de cada um dos alunos da
turma. Fornecer também a média de cada uma das provas e do trabalho.
Tabela para conversão da nota final em conceito: Se NF >= 9,0 conceito A Se NF < 9,0 e MF >= 7,5 conceito B Se NF < 7,5 e MF >= 6,0 conceito C Se NF < 6,0 e MF >= 3,0 conceito R (prova de recuperação) Se NF < 3,0 conceito D
{ exercicio 4 da lista sobre matrizes } const MAXLIN = 20; const MAXCOL = 4; {2 provas + trabalho + media}
var nota:array[1..MAXLIN,1..MAXCOL] of real; media:array[1..MAXCOL] of real; conceito:array[1..MAXLIN] of char; I,J:integer; soma:real; begin { Leitura das notas } writeln('digite as notas dos alunos:'); for I:=1 to MAXLIN do begin writeln('Aluno ',I); for J:=1 to MAXCOL - do repeat readln(nota[I,J]); if (nota[I,J]<0) or (nota[I,J]>10) then writeln('Nota invalida'); until (nota[I,J]>=0) and (nota[I,J]<=10); end; {calculo da media e do conceito} for I:=1 to MAXLIN do begin nota[I,MAXCOL]:=(0.4nota[I,1]+0.4nota[I,2]+0.2*nota[I,3]); if (nota[I,MAXCOL]>=9) then conceito[I]:='A' else if(nota[I,MAXCOL]>=7.5) then conceito[I]:='B' else if(nota[I,MAXCOL]>=6) then conceito[I]:='C' else if(nota[I,MAXCOL]>=3) then conceito[I]:='R' else conceito[I]:='D'; end; { calcula medias} for J:=1 to MAXCOL do begin soma:=0; for I:=1 to MAXLIN do soma:=soma+nota[I,J]; media[J]:=soma/MAXLIN; end; { mostra resultados} writeln; writeln('Notas dos alunos:'); for I:=1 to MAXLIN do begin writeln; writeln('Aluno: ',I); for J:=1 to MAXCOL do write(nota[I,J]:8:2);
write(' conceito: ',conceito[I]); end; writeln; writeln('Medias:'); for I:=1 to MAXCOL do write(media[I]:8:2); readln; end.
uma região ao longo do mês de agosto de 2009. Digitar esses valores (números reais). Valores válidos: entre –10 e 40. Mostrar para cada um dos 10 locais: as temperaturas fornecidas, a temperatura mínima, a máxima e a média das temperaturas do local. Mostrar também a temperatura mínima geral, a máxima geral e a média geral da região.
{exercicio 5 da lista de matrizes} {cada local corresponde a uma linha da matriz temp e cada coluna a um dia} const NL = 10; {numero de locais} const ND = 31; {numero de fdias} var I,J:integer; maior,menor,soma,S:real; temp: array [1..NL,1..ND] of real; media,min,max: array [1..NL] of real; begin
{ Leitura das temperaturas} writeln('Digite as temperaturas: '); for I:=1 to NL do begin writeln('Local ',I); for J:=1 to ND do repeat readln(temp[I,J]); if (temp[I,J]<-10) or (temp[I,J]>40) then writeln('Temperatura invalida'); until (temp[I,J]>=-10) and (temp[I,J]<=40); end;
{calculos} S:=0; for I:=1 to NL do begin maior:=temp[I,1]; menor:=temp[I,1]; soma:=0; for J:=1 to ND do begin if temp[I,J]>maior then maior:=temp[I,J]; if temp[I,J]<menor then menor:=temp[I,J]; soma:=soma+temp[I,J]; S:=S+temp[I,J]; end; min[I]:=menor; max[I]:=maior; media[I]:=soma/ND; end; maior:=max[1]; menor:=min[1]; for I:=1 to NL do begin if max[I]>maior then maior:=max[I];
writeln('matriz condensada:'); for i:=1 to k- do begin writeln; for j:=1 to 3 do write(cond[i,j]:3); end; readln; end.
elemento da linha em que se encontra o maior elemento da matriz. Escreva um programa que preencha uma matriz M(10,10) por leitura e determine o seu elemento minimax.
{ exercicio 7 da lista sobre matrizes }
const MAXLIN = 10; const MAXCOL = 10; var i, j, L,C,maior, menor:integer; M: array[1..MAXLIN,1..MAXCOL] of integer; begin { Leitura na matriz M } writeln('digite os dados da matriz '); for i:=1 to MAXLIN do begin writeln('Linha ',i); for j:=1 to MAXCOL do readln(M[i,j]); end;
{procura o elemento minimax } maior:=M[1,1]; L:=1; C:=1; for i:=1 to MAXLIN do for j:=1 to MAXCOL do if M[i,j]>maior then begin maior:=M[i,j]; L:=i; C:=j; end; menor:=M[L,C]; for j:=1 to MAXCOL do if M[L,j]<menor then menor:=M[L,j];
{ mostra a matriz e o resultado} writeln; writeln('A matriz:'); for i:=1 to MAXLIN do begin writeln; for j:=1 to MAXCOL do write(M[i,j]:3); end; writeln; writeln('o elemento minimax da matriz eh: ',menor); readln; end.
determinada matriz. Faça um programa que leia uma matriz quadrada 10x10 e calcule a sua matriz transposta. Mostre a matriz transposta.
program matrizTransposta; const NL = 10; const NC = 10; var M,T:array [1..NL,1..NC] of integer; I,J:integer; begin {preenchimento da matriz} writeln('informe a matriz'); for I:=1 to NL do begin writeln('linha ',I); for J:=1 to NC do readln(M[i,j]); end;
{gera a matriz transposta} for I:=1 to NL do for J:=1 to NC do T[J,I]:=M[I,J];
{mostra a matriz transposta} for I:=1 to NL do begin writeln; for J:=1 to NC do write(T[I,J]:6); end; readln; end.
é simétrica ou não.
var M:array [1..20,1..20] of integer; I,J,N,NL,NC,simetrica:integer; begin
{preenchimento da matriz} writeln('Informe o nro de linhas da matriz quadrada: '); readln(N); NL:=N; NC:=N; writeln('informe a matriz'); for I:=1 to NL do begin writeln('linha ',I); for J:=1 to NC do readln(M[i,j]); end; {verifica se e' simetrica} simetrica:=1; for I:=1 to NL do for J:=1 to NC do if M[I,J] <> M[J,I] then simetrica:=0;
{mostra a matriz e a simetria} writeln; for I:=1 to NL do begin writeln; for J:=1 to NC do write(M[i,j]:3);