Page 67 - 33
P. 67
350 INPUT " Друкувати? (Y/N) ", K$
355 IF K$="Y" OR K$="y" THEN 380
360 IF K$="N" OR K$="n" THEN 450
365 GOTO 350
380 PRINT :LPRINT " Результати розрахунку
385 LPRINT "Сумарний час руху бур. розчину "; TS/60; "хв."
390 LPRINT " у т.ч. в бурильнiй колонi "; TS1/60; "хв."
395 LPRINT " в незакрiпл. iнтерв. "; TS2/60; "хв."
400 LPRINT " в закрiпл. iнтервалi "; TS3/60; "хв."
405 LPRINT " час на викачуван. з ємкостей "; TN/60; "хв."
410 LPRINT "Примiтка: час визначено при витратах "; Q*1000; "л/с"
450 END
500 F=PI*(D1^2-D2^2)/4
505 W=F*L
510 T=W/Q
515 TS=TS+T
520 RETURN
Декілька коментарів до програми.
По-перше, як видно з тексту програми, в ній не передбачено виводу
вхідних даних за виключенням витрат Q, що містяться у примітці (оператор
410). Це тому, що деякі вхідні дані потребують табличного вираження і ввід в
програму відповідних блоків помітно обважнив би її.
По-друге, для виводу на принтер використано звичайне дублювання усіх
операторів, що виводять результати на екран. Тобто на відміну від задачі 3
(“Вибір доліт”), тут не передбачено виводу циклом. Для того, щоб скористатись
цим способом виводу, треба було б створити відповідний символьний масив і
організувати зрощування текстів з числами (про це йшлося в 3.3).
По-третє, в операторах 125, 210 і 260 відображено умовні переходи, які
забезпечують закінчення розрахунків за тим чи іншим варіантом. Закінчення
супроводжується виводом проміжного результату. Цей оператор має велику
довжину і при повному наборі тексту може не поміститись в одному рядку, що
створює певні незручності. Більше того, виконання умови може
супроводжуватись цілим програмним блоком. У такому випадку цей супровід
доцільно зробити поза основною програмою, передбачивши повернення з
67