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. Да кажем в раздела за константите:
const NIZ = 0; VERH = 10;
тогава комплектите могат да бъдат отпечатани, като се позовавате на процедурата:
а) PRINTSET ([5,6,7]); б) PRINTSET ([2]); в) PRINTSET ([3.8]).
Обжалването пред процедурата може да бъде организирано и под формата:
var SET1, SET2: TS;
PRINTSET (SET1); PRINTSET (SET1 + SET2); и т.н.
ПРИМЕР 3. В заключение разгледайте целия пример, където ще демонстрираме всички онези действия, които са дефинирани върху множества:
тип КОСТ = 1.6; BROSOK = набор от KOST;
процедура SRAWNENIE (D: BROSOK);
¦ за K: = 1 до 6 do
¦ ако K в D, тогава напишете (K: 4); writeln;
¦ напишете ('[1,3,4] + [2,4,6] ='); СРАВЕНИЕ (C);
¦ напишете ('[1,3,4] - [2,4,6] ='); СРАВЕНИЕ (C);
¦ напишете ('[1,3,4] * [2,4,6] ='); СРАВЕНИЕ (С);
ОБЯСНЕНИЕ. Програмата дефинира множества A, B, C от тип BROSOK, чиито елементи са цели числа от диапазона [1.6], и процедурата за разпечатване на елементите на такива комплекти.
ЗАБЕЛЕЖКА 1. Ако даден набор е посочен от изброен тип, тогава неговите елементи не могат да бъдат отпечатани. Могат да се отпечатват само елементи от пореден тип: INTEGER, CHAR, BOOLEAN, интервал.
ЗАБЕЛЕЖКА 2. Един и същ набор от данни може да бъде организиран като линеен масив ARRAY, като набор от SET и като низ от тип STRING. Кой от тези видове е за предпочитане? Ако действията се извършват върху елементи (числа), тогава ARRAY е по-добре. Ако проблемът е за връзката на елементи от няколко множества или въпроса за влизането на някои обекти в множеството, тогава SET.
- Защо не трябва да изучавате английски традиционната система
- Лов на леопард с кучета в Намибия с много други уникални трофеи
- Fitch Ratings, Валутен пазар на достъпен език
- Тема на английски език
- Предлози, френски, онлайн уроци