русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Назва розділу Оператори розділу


Дата додавання: 2014-11-28; переглядів: 687.


Заголовок програми – необов'язковий program ИмяПрограммы;

Розділ описів – необов'язковий, але, const список констант;

як правило, є присутнім var список змінних;

Тіло програми – обов'язковий, містить begin

властиво оператори оператори;

end.

Пари операторів begin і end називається операторними дужками, вони служать для того, щоб об'єднати групу операторів, виконуваних разом, наприклад, у циклі або за умовою. begin і end слід розглядати як єдиний оператор, тому після begin крапка з коми не ставиться, кількість ключових слів begin і end у програмі завжди однаково. Таким чином, тіло програми укладене в операторні дужки, що поєднують усі її оператори.

Тільки останній оператор програми завершується крапкою: end. , усі інші ;

Зрозуміло, якщо в програмі немає констант, у ній буде відсутній розділ const, якщо немає й змінних – розділ var.

При написанні тексту програми слід дотримуватися нескладні правил, що полегшують його наступні читання й модифікацію:

  • усередині ключових слів або ідентифікаторів не повинне бути пробілів і інших роздільників, таких як табуляція або переклад рядка; у всіх інших випадках не заборонено розривати оператор, однак, робити це випливає лише тоді, коли написання оператора в один рядок утрудняє сприйняття тексту програми;
  • на кожному рядку звичайно пишеться один оператор (це полегшує й налагодження програми);
  • оператори одного рівня вкладеності пишуться з однаковим відступом ліворуч; наприклад, гарним тоном уважається після початку кожного блоку (begin) відступати на наступному рядку на символ або кілька символів вправо, а закривати блок так, щоб відповідний end; перебував під своїм begin. Приведемо приклад неправильного й правильного структурування:

program p1; var

a,b,c:real; begin

writeln ('Уведіть значення A і B:'); read (a,b);

c:=a+b; writeln ('A+B=',c); c:=a-b;

writeln ('A-B=',c); end.

Текст цієї програми структурований явно невдало, набагато краще він сприймається так:

program p1;

var a,b,c:real;

begin

writeln ('Уведіть значення A і B:');

read (a,b);

c:=a+b;

writeln ('A+B=',c);

c:=a-b;

writeln ('A-B=',c);

end.

  • основні дії програми коментуються: коментарем у Паскалі вважається будь-який текст, обмежений фігурними дужками { . . . } або символами (* . . . *) Кількість коментарів у програмі ніяк не впливає на обсяг машинного коду, що генерується, вони покликані, насамперед, полегшити наступне читання й модифікацію вихідного тексту програми.

Як приклад приведемо програму на Паскалі, що обчислює дійсне коріння довільного квадратного рівняння.

program Equation;

var a,b,c,d,x1,x2:real; begin

writeln;

writeln ('Уведіть коефіцієнти a,b,c:');

read (a,b,c);

d:=sqr(b)-4*a*c;

x1:=(-b+sqrt(d))/(2*a);

x2:=(-b-sqrt(d))/(2*a);

writeln ('Коріння рівняння');

writeln (x1:10:2,x2:10:2);

readln; readln;

end.

У розділі описів програми всім змінним, необхідним для розв'язку завдання, привласнений тип real, і цей вибір цілком очевидний – коефіцієнти a, b і з – не обов'язково цілі значення. "Зайвий" оператор writeln; перед запрошенням до введення – гарантія того, що запрошення буде надруковано з початку порожнього рядка – адже ми поки не вміємо очищати екран, і, можливо, при запуску нашої програми курсор перебуває не на початку рядка. Після обчислення дискримінанта й корінь x1, x2 (умова d≥0 ми поки не перевіряємо), на екран друкується інформаційне повідомлення "Коріння рівняння", а потім з нового рядка виводяться значення x1 і x2 з дотриманням зазначених ширини й точності виведення. Нарешті, два оператори readln; наприкінці програми дозволяють їй дочекатися, поки користувач не натисне клавішу Enter. "Подвоєння" оператора тут пов'язане з тим, що один раз ми вже натискали Enter після введення даних, і 1-й readln; прочитає саме це натискання, а 2-й буде чекати ще одного. Будь введення даних у вигляді a:=1; b:=2; c:=0; або readln(a,b,c);, нам вистачило б і одного readln;. Однак, оператор readln(a,b,c); зажадав би від користувача ввести всі 3 числа в одному рядку, а завдання фіксованих значень a, b, c зменшило б до нуля її корисність. Надалі ми довідаємося більш гнучкі способи програмування реакції програми на дії користувача.

 


<== попередня лекція | наступна лекція ==>
Загальний вид запису операторів | Компілятор і оболонка Turbo Pascal


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн