Matrizes e Registros
Autor: Jeh Corrêa | Publicado: 2010-11-25T13:10:00-08:00

 Matrizes e Registros      1.Faça um programa que leia o nome de  dez alunos e respectivamente  1ª, 2ª, 3ª e 4ª notas, a seguir calcule a  média. Escreva o nome do aluno  e sua média.program aluno_nota;varaluno:  array[1..10,1..4] of integer;nome:  array[1..10] of string;soma,  media: array [1..4] of real;linha, coluna: integer;beginfor  linha := 1 to 10 dobeginwriteln ('Digite o nome do  aluno: ');readln (nome[linha]);for coluna := 1 to 4 do begin writeln ('Digite a nota da ', coluna, ' ª prova do  aluno, nome[linha]); readln (aluno[linha,coluna]); soma  [linha] := soma [linha] + aluno[linha,coluna];end;end;for  linha := 1 to 10 dobegin media [linha] :=  (soma[linha])/4; writeln ('A media do aluno ', nome[linha], '',  'foi: ',media[linha]:2:2);end;end.2.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]>=60) then             aprov:=aprov+1            else     reprov:=reprov+1end;writeln('Foram  aprovados: ',aprov,' alunos.');         writeln('Foram reprovados:  ',reprov,' alunos.');End.3.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.4.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;readln;for cont:=1 to 2 do       if(m5.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  > maior) then    begin       maior:=cad[i].idade;        maiorNome:=cad[i].nome;       maiorSaldo:=cad[i].saldoBanc;     end;   end;      writeln('>>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  <>>Pessoa com menor idade:');  writeln('Nome:  ',menorNome);  writeln('Idade: ',menor);  writeln('Saldo  bancario: ',menorSaldo:2:2); end;Begin  cadastro;   clienteMaisVelho;  clienteMaisNovo;End.6.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 baixoProgram 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>maisJ)then     timeM:= 'A'  else    timeM:= 'B';   writeln('>>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 > maior) then     begin       maior:=jog[i].salario;        maiorNome:=jog[i].nome;    end;   end;       writeln;      writeln('>>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  <>>O jogador com menor salario:');  writeln('Nome:  ',menorNome);  writeln('Salario: ',menor:2:2);end; Begin cadastro; maisJogadores; maiorSalario;  menorSalario;End.7.Faça um programa que leia nome,  turma, matricula, sexo, e as três  notas de um aluno e a seguir escreva a  média de cada aluno, a maior e a  menor nota daturma.  Program  Pzim ; type dados=record   nome:string;   turma:string;    matricula:integer;   sexo:char;   nota: array[1..3] of  real; end;var aluno:array[1..4] of dados;  i,j:integer; media:array[1..4] of real;procedure  informaDados;begin  for i:=1 to 4 do  begin     writeln('::DADOS DOS ALUNOS::');    WRITELN;     write('Nome:');    read(aluno[i].nome);    write('Turma:');     read(aluno[i].turma);    write('Matricula:');     read(aluno[i].matricula);    write('Sexo:');     read(aluno[i].sexo);       for j:=1 to 3 do     begin        write('Nota ',j,'= ');       read(aluno[i].nota[j]);      end; clrscr;  end;end;procedure  funcaoMadia; var  soma:real; begin   for i:=1 to 4  do   begin     soma:=0;     for j:=1 to 3 do      begin     soma:= soma + aluno[i].nota[j];     end;         media[i]:=soma/3;        writeln('A media do(a)  aluno(a) ',aluno[i].nome,' e: ',media[i]:2:2);   end; end;procedure maiorNota;  var   maiorNota:real;                  begin    maiorNota:=1;         for i:=1 to  4 do    if (media[i] > maiorNota) then       maiorNota:=media[i];      writeln;      writeln('  ---------------------------------------------');      writeln;       writeln('>>A maior media da turma e: ',maiorNota:2:2); end;procedure menorNota;  var   menorNota:real; begin    menorNota:=1200;         for i:=1 to 4 do     if (media[i] <>>A menor media da turma e: ',menorNota:2:2); end; Begin  informaDados;  funcaoMadia;   maiorNota;  menorNota;End.