Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
GabiNogueiraa

DÚvida em exercÍcio de matriz - pascal

Recommended Posts

Oi gente, sou nova no fórum. Eu tenho muita dificuldade em programação, e preciso que me ajudem a resolver esses três exercícios que são de um trabalho avaliativo, OBS: é necessário usar o laço FOR para fazer esses exercícios:

1) Faça um programa que preencha uma matriz M (2 x 2). Calcule e mostre a matriz R, resultante da multiplicação dos elementos de M pelo maior elemento existente em M.

5) Faça um algoritmo que preencha uma matriz M (4 x 4) de números reais. Em seguida, efetue a soma dos valores pertencentes a diagonal principal e da diagonal secundária. Imprima na tela a matriz M e a soma das duas diagonais.

6) Construa um programa que leia o nome, a idade e o estado civil (C - casado, S - solteiro, O - outros) de um conjunto de várias pessoas. Solicitar ao usuário a quantidade de pessoas (Utilize o laço FOR). Com esses dados, calcule e escreva:

a) Quantidade de pessoas casadas

B) Média da idade das pessoas solteiras

c) Qual é a idade da pessoa mais nova

POR FAVOR GENTE, ME AJUDEM!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se é isso aqui:


Program Matriz01;
Uses Crt;
Var
M,R:array[1..2,1..2] of integer;
Cont,X:integer;
Begin
ClrScr;
Writeln('Preencha a matriz M.');
Writeln;
Writeln;
For Cont:=1 to 2 do
Begin
Write('[',Cont,',1]: ');
Readln(M[Cont,1]);
Write('[',Cont,',2]: ');
Readln(M[Cont,2]);
End;
X:=0;
For Cont:=1 to 2 do
If M[Cont,1]>=M[Cont,2] then If X>=M[Cont,1] then X:=X
else X:=M[Cont,1]
else If X>=M[Cont,2] then X:=X
else X:=M[Cont,2];
For Cont:=1 to 2 do
Begin
R[Cont,1]:=M[Cont,1]*X;
R[Cont,2]:=M[Cont,2]*X;
End;
Writeln('Matriz de M:':40+6);
Writeln;
For Cont:=1 to 2 do
Writeln(M[Cont,1]:38,M[Cont,2]:5);
Writeln;
Writeln;
Writeln('Matriz de R:':40+6);
Writeln;
For Cont:=1 to 2 do
Writeln(R[Cont,1]:38,R[Cont,2]:5);
Readkey;
End.


Program Matriz02;
Uses Crt;
Var
M:array[1..4,1..4] of real;
Soma1,Soma2:real;
Cont:integer;
Begin
ClrScr;
Writeln('Soma das diagonais':40+9);
Writeln;
Writeln;
For Cont:=1 to 4 do
Begin
Write('[',Cont,',1]: ');
Readln(M[Cont,1]);
Write('[',Cont,',2]: ');
Readln(M[Cont,2]);
Write('[',Cont,',3]: ');
Readln(M[Cont,3]);
Write('[',Cont,',4]: ');
Readln(M[Cont,4]);
End;
Soma1:=M[1,1]+M[2,2]+M[3,3]+M[4,4];
Soma2:=M[4,1]+M[3,2]+M[2,3]+M[1,4];
ClrScr;
Writeln('Matriz':40+3);
For Cont:=1 to 4 do
Begin
Writeln(M[Cont,1]:28:2,M[Cont,2]:8:2,M[Cont,3]:8:2,M[Cont,4]:8:2);
Writeln;
End;
Writeln('Soma da diagonal principal: ',Soma1:5:2);
Writeln;
Writeln('Soma da diagonal secunadaria: ',Soma2:5:2);
Readkey;
End.


Program Dados;
Uses Crt;
Type Pessoas=Record
Nome:String[35];
Idade:Integer;
ECivil:Char;
end;
Var P:array[1..100] of Pessoas;
Cas,Sol,Sol2,MedSol,N,Cont,Npess:Integer;
Begin
ClrScr;
Cas:=0;
Sol:=0;
Sol2:=0;
Write('Número de pessoas: ');
Readln(NPess);
For Cont:=1 to NPess do
Begin
ClrSCr;
Writeln(Cont,'ª pessoa.');
Writeln;
Write('Nome: ');
Readln(P[Cont].Nome);
Write('Idade: ');
Readln(P[Cont].Idade);
Write('Estado Civil (C,S,O): ');
Readln(P[Cont].ECivil);
P[Cont].ECivil:=Upcase(P[Cont].ECivil);
If P[Cont].ECivil='C' then Cas:=Cas+1;
If P[Cont].ECivil='S' then
Begin
Sol:=Sol+P[Cont].Idade;
Sol2:=Sol2+1;
End;
If Cont=1 then N:=P[Cont].Idade
else If N>P[Cont].Idade then N:=P[Cont].Idade;
End;
MedSol:=Sol DIV Sol2;
ClrScr;
Writeln('Quantidade de pessoas casadas: ',Cas);
Writeln('Média da idade das pessoas solteiras: ',MedSol);
Writeln('Idade da pessoa mais nova: ',N);
Readkey;
End.

Espero que ajude. :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×