Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2012, 09:32   #1
sumrakzone
Новичок
Джуниор
 
Регистрация: 07.04.2012
Сообщений: 1
По умолчанию Обработка массива записей на Паскаль

Как решить через паскаль?

На складе комплектующих изделий хранится N деталей (см.задание 8 ).
Необходимо рассортировать детали по группам с учетом признаков PR2 и PR1.
Первая группа - это детали, для которых PR2=false и PR3=false, для второй группы
PR2=false, PR3=true ит.д. Вывести на печать перечень наименований деталий
по каждой группе.

( 8. На складе комплектующих деталей хранится N деталей, каж-
дая из которых характеризуется записью следуюего вида:
Код:
Type ZAP = Record			     Здесь DTL - наименование деталей; PR1, PR2, PR3 - 
          DTL: string [10];			некоторые признаки деталей. Необходимо подготовить
          PR1: integer;			детали к запуску в сборочный  цех.  Для этого их следует
          PR2, PR3: boolean;			разбить на пары (Z1,Z2),  гдеZ1,Z2 - переменные  типа  
          end;
)

______________
1) Название темы по правилам форума должно адекватно отражать суть решаемой задачи/проблемы.
На первый раз я исправил.
В последующем, темы с подобным названием будут закрываться или удаляться,
а автор такой темы будет получать штрафные баллы.

2) Если Вы приводите исходный код в сообщении, то его нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)

Учтите это на будущее.

Модератор.

Последний раз редактировалось Serge_Bliznykov; 07.04.2012 в 09:45.
sumrakzone вне форума Ответить с цитированием
Старый 07.04.2012, 10:02   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Как решить - да элементарно.
1-е решаете, откуда будут браться исходные данные (сами записи). Варианта два - либо читаться из какого-то файла (проще из типизированного), либо вводится в массив записей каждый раз ручками оператором при каждом запуске программы.
потом пишете примерно так:
Код:
{ группа 1 }
for  Param2:=false to true do
  for Param3:=false to true do begin

    {сначала выдадим заголовок группы}
    if (Param2=false) then begin
       if (Param3=false) then WriteLn('Группа 1')
       else   WriteLn('Группа 2')
    end
    else  
       if (Param3=false) then WriteLn('Группа 3')
       else   WriteLn('Группа 4');

   {теперь выдадим все записи из данной группы}
   for i:=1 to N do {цикл по всем записям в массиве записей}
     if  (MasRec[i].PR2 = Param2) and (MasRec[i].PR3 = Param3) then  WriteLn(MasRec[i].DTL,' | ',MasRec[i].PR1);
  end;
и всё.


p.s. не увидел в вашем сообщении никаких намёков на просьбу! Вы что - команду тут отдали? В следующий будьте вежливее!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка записей.Паскаль Morzik8 Помощь студентам 1 31.03.2010 09:27
Паскаль. Обработка записей. qwertyuiop12 Фриланс 12 22.03.2010 07:39
Паскаль. Обработка записей. qwertyuiop12 Помощь студентам 5 21.03.2010 21:53
Обработка массива записей. TurboPascal Nosferatu Помощь студентам 27 17.05.2009 20:29