Set Printing - алгоритмичен език на Паскал
Комплекти за печат
При работа с комплекти е важен въпросът с разпечатването на елементите от комплекта. Имайте предвид, че в повечето версии на езика променливите от типа "set" не могат да бъдат именувани в изрази WRITE. Например не можете да отпечатате комплект като този:
VAR A: КОМПЛЕКТ 1.9;
Тук няма нищо изненадващо, тъй като дори ако A е масив, той също не може да бъде отпечатан незабавно с помощта на един оператор WRITE (A). Циклите са организирани за показване на елементи от масив.
За да отпечатате елементите на набор, трябва също да организирате цикъл (единичен), вътре в който е въведена променлива, която преминава през всички възможни стойности на този набор и преди оператора WRITE, в рамките на конструкцията IF, е провери дали този елемент е включен в определен набор:
ако K в SET1, тогава напишете (K).
По правило процедурите се организират за целите на отпечатването на зададените елементи. Да предположим, че имаме работа с множества, състоящи се от цели числа в диапазона NIZ и VERH. Нека зададем множествения тип TS за тези граници:
тип INT = NIZ.VERH; TS = набор от INT.
След това можете да напишете процедура, която съдържа набор като параметър:
процедура PRINTSET (OS: TS);
¦ за M: = NIZ към VERH правя
¦ ако M в OS, тогава напишете ln (M);
Вече можете да се обърнете към тази процедура, за да отпечатате комплекти, само ако те се състоят от елементи, които не излизат извън обхвата NIZ.VERH. Да кажем в раздела за константите: