Matriz
Autor: R.Zigs | Publicado: 2010-11-25T12:47:00-08:00

1.Calcule o total de pessoas aprovadas e reprovadas no exercício acima.

Program Pzim ;

var
nome:array[1..10]of string;
nota:array[1..10,1..4]of integer;
media,soma:array[1..10]of real;
linha,coluna,aprov,reprov:integer;

Begin
for linha:=1 to 10 do
begin
writeln(linha,'- Informe o nome do aluno:');
readln(nome[linha]);

for coluna:=1 to 4 do
begin

writeln(coluna,'- nota: ' );
readln(nota[linha,coluna]);
soma[linha]:= soma[linha]+nota[linha,coluna]

end;

media[linha]:=(soma[linha])/4;
writeln('A média do aluno(a) ',nome[linha],' foi: ',media[linha]:2:2);
writeln;
end;

clrscr;

for linha:=1 to 10 do
begin
if (media[linha]&gt;=60) then
aprov:=aprov+1
else
reprov:=reprov+1
end;

writeln('Foram aprovados: ',aprov,' alunos.');
writeln('Foram reprovados: ',reprov,' alunos.');
End 



2.Faça um programa que leia o nome de três cidades e a seguir cadastre e exiba na tela a distância entre essas cidades.

Program Distancia;
var
cidade:array[1..3]of string;
distancia:array[1..3,1..3]of real;
linha,coluna,cont:integer;

Begin
for cont:= 1 to 3 do
begin
writeln(cont,' - Digite o nome da cidades:');
readln(cidade[cont]);
clrscr;
end;
for cont:= 1 to 3 do
writeln(cont,' - Você digitou as cidades:',cidade[cont]);

for linha:=1 to 3 do
begin
for coluna:= 1 to 3 do
begin
if (linha = coluna) then
distancia[linha,coluna]:=0
else
begin
writeln(' Agora informe a distancia entre ',cidade[linha],' e ',cidade[coluna]);
readln(distancia[linha,coluna]);
// distancia[linha,coluna]):= distancia[coluna,linha];
end;
end;
end;

for coluna:=1 to 3 do
begin
for cont:= 1 to 3 do
begin
writeln('As distancia entre as cidade ',cidade[coluna],' e ',cidade[linha] );

end;
end;
End 

3.Faça um programa para criar um cadastro de mercadorias que contenha os  seguintes dados: código da mercadoria, descrição, data de cadastro,  ultima saído, saldo em estoque.
A seguir escreva todos o código da  mercadoria e a descrição de todas as mercadorias cadastradas. A seguir  todos os dados da mercadoria que apresenta o maior saldo em estoque.
Obs.: O programa deve ser feito para cadastro de 1000 produtos diferentes.


Program Pzim ;

type prod = record
codMerc: integer;
descricao:string;
dataCadastro:integer;
ultimaSaida:integer;
saldoEstoque:integer;
end;

var
cont,m,c:integer;
cadastro: array[1..1000] of prod;

Begin
m:=0;
for cont:=1 to 2 do
begin
writeln('Codigo da mercadoria:');
readln(cadastro[cont].codMerc);
writeln('Descricao:');
readln(cadastro[cont].descricao);
writeln('Data de Cadastro:');
readln(cadastro[cont].dataCadastro);
writeln('Ultima saida:');
readln(cadastro[cont].ultimaSaida);
writeln('Saldo em estoque:');
readln(cadastro[cont].saldoEstoque);
writeln(' ----- ');
end;

clrscr;
writeln('TODOS OS PRODUTOS');
for cont:=1 to 2 do
begin
writeln('Codigo da mercadoria: ',cadastro[cont].codMerc);
writeln('Descricao: ',cadastro[cont].descricao);
writeln('Data de Cadastro: ',cadastro[cont].dataCadastro);
writeln('Ultima saida: ',cadastro[cont].ultimaSaida);
writeln('Saldo em estoque: ',cadastro[cont].saldoEstoque);
writeln(' ----- ');
end;

4.Faça um programa para criar um cadastro de dados bancários e a seguir  escreva o nome a idade e o saldo do cliente mais novo e mais velho.
Obs.:  O programa deve ser feito para cadastrar 10000 clientes. Os dados dos  clientes a serem cadastrados são: Conta corrente, agencia, banco, nome,  endereço, telefone, e-mail, idade e saldo bancário.


Program Pzim ;

type dodos = record
contaCorrente:integer;
agencia:integer;
banco:string;
nome:string;
idade:integer;
endereco:string;
tel:integer;
email:string;
saldoBanc:real;
end;

var
cad: array[1..3] of dodos; //1000
i:integer;

procedure cadastro;
begin
for i:=1 to 3 do
begin
writeln(' ::CADASTRO DE CLIENTE::');
writeln;
write('Conta Corrente: ');
readln(cad[i].contaCorrente);
write('Agencia: ');
read(cad[i].agencia);
write('Banco: ');
read(cad[i].banco);
write('Nome: ');
read(cad[i].nome);
write('Idade: ');
read(cad[i].idade);
write('Endereco: ');
read(cad[i].endereco);
write('Telefone: ');
read(cad[i].tel);
write('E-mail: ');
read(cad[i].email);
write('Saldo bancario: ');
read(cad[i].saldoBanc);
clrscr;
end;
end;

procedure clienteMaisVelho;
var
maior:integer;
maiorNome:string;
maiorSaldo:real;
begin
maior:=1;

for i:=1 to 3 do
begin
if (cad[i].idade &gt; maior) then
begin
maior:=cad[i].idade;
maiorNome:=cad[i].nome;
maiorSaldo:=cad[i].saldoBanc;
end;
end;

writeln('&gt;&gt;Pessoa com maior idade:');
writeln('Nome: ',maiorNome);
writeln('Idade: ',maior);
writeln('Saldo bancario: ',maiorSaldo:2:2);
end;

procedure clienteMaisNovo;
var
menor:integer;
menorNome:string;
menorSaldo:real;
begin
menor:=150;

for i:=1 to 3 do
begin
if  (cad[i].idade &lt; menor) then begin menor:=cad[i].idade;  menorNome:=cad[i].nome; menorSaldo:=cad[i].saldoBanc; end; end; writeln;  writeln('&gt;&gt;Pessoa com menor idade:');
writeln('Nome: ',menorNome);
writeln('Idade: ',menor);
writeln('Sald5.Faça um programa que leia nome do jogador, camisa, time e saldo de 22  jogadores. Escreva o time que contém mais jogadores na lista, o nome do  jogador com salário mais alto e mais baixo

Program Pzim ;
type dados=record
nome:string;
camisa:integer;
time:char;
salario:real;
end;

var
jog:array[1..5] of dados; //22
i:integer;

procedure cadastro;
begin
for i:=1 to 5 do
begin
writeln('::CADASTRO DE JOGADORES::');
writeln;
writeln('TIMES DESPONIVEIS: A e B');
writeln(i,' - Faca o cadastro:');
writeln('_________________________');
writeln;
write('Nome: ');
read(jog[i].nome);
write('Camisa: ');
read(jog[i].camisa);
write('Time: ');
read(jog[i].time);
write('Salario: ');
read(jog[i].salario);
clrscr;
end;
end;

procedure maisJogadores;
var
TA,TB,maisJ: integer;
timeM:char;

begin
maisJ:=1;

for i:=1 to 5 do
begin
case jog[i].time of
'A': TA:=TA+1;
'B': TB:=TB+1;
end;
end;

if (TA&gt;maisJ)then
timeM:= 'A'
else
timeM:= 'B';

writeln('&gt;&gt;O time com mais joadores e o time: ',timeM);
end;

procedure maiorSalario;
var
maior:real;
maiorNome:string;
begin
maior:=1;

for i:=1 to 5 do
begin
if (jog[i].salario &gt; maior) then
begin
maior:=jog[i].salario;
maiorNome:=jog[i].nome;
end;
end;

writeln;
writeln('&gt;&gt;O jogador com maior salario:');
writeln('Nome: ',maiorNome);
writeln('Salario: ',maior:2:2);
end;

procedure menorSalario;
var
menor:real;
menorNome:string;
begin
menor:=999999999;

for i:=1 to 5 do
begin
if  (jog[i].salario &lt; menor) then begin menor:=jog[i].salario;  menorNome:=jog[i].nome; end; end; writeln; writeln('&gt;&gt;O jogador  com menor salario:');
writeln('Nome: ',menorNome);
writeln('Salario: ',menor:2:2);
end;


Begin
cadastro;
maisJogadores;
maiorSalario;
menorSalario;
End o bancario: ',menorSaldo:2:2);
end;

Begin
cadastro;
clienteMaisVelho;
clienteMaisNovo;
End