В файле типа RECORD хранится информация о наличии на складе запасных частей для ремонта бытовых приборов: наименование детали, количество единиц на складе, цена одной детали, суммарная стоимость деталей каждого наименования, среднемесячная норма потребления. Составить программу для получения сведений о имеющихся на складе деталях, цена которых больше заданных и информации о количестве наименований деталей, среднемесячная норма потребления которых наибольшая — Pascal(Паскаль)

Program PascalGuru;

uses crt;

type
  m = record
    name: string[20];
    kolvo: integer;
    cena: real;
    ctoim: real;
    norma: real;
  end;

var
  massiv: array [1 .. 50] of m;
  i, n, code, count: integer;
  cenaposle, max: real;
  s: string;
  f: text;
  { -------------------------------------------------------- }

begin
  assign(f, 'bd31.txt');
  reset(f);

  i := 0;
  while not eof(f) do
  begin
    inc(i);
    readln(f, s);
    massiv[i].name := copy(s, 1, pos(' ', s) - 1);
    delete(s, 1, pos(' ', s));
    val(copy(s, 1, pos(' ', s) - 1), massiv[i].kolvo, code);
    delete(s, 1, pos(' ', s));
    val(copy(s, 1, pos(' ', s) - 1), massiv[i].cena, code);
    delete(s, 1, pos(' ', s));
    val(copy(s, 1, pos(' ', s) - 1), massiv[i].ctoim, code);
    delete(s, 1, pos(' ', s));
    val(s, massiv[i].norma, code);
  end;
  n := i;
  { -------------------------------------------------------- }
  writeln('1:');
  writeln;
  write('Detali, tsena kotoryh bolishe: ');
  readln(cenaposle);
  writeln;

  for i := 1 to n do
    if massiv[i].cena > cenaposle then
      writeln(massiv[i].name:12, massiv[i].kolvo:5, massiv[i].cena:8:2,
        massiv[i].ctoim:8:2, massiv[i].norma:8:2);

  { -------------------------------------------------------- }
  writeln;
  writeln('2:');
  writeln;

  max := massiv[1].norma;
  for i := 2 to n do
    if massiv[i].norma > max then
      max := massiv[i].norma;

  count := 0;
  for i := 1 to n do
    if massiv[i].norma = max then
    begin
      writeln(massiv[i].name:12, massiv[i].kolvo:5, massiv[i].cena:8:2,
        massiv[i].ctoim:8:2, massiv[i].norma:8:2);
      inc(count);
    end;

  writeln;
  writeln('Kol-vo: ', count);

  close(f);
  readln;

end.

Leave a Comment