русс | укр

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

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


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


Оператор приєднання with


Дата додавання: 2014-02-04; переглядів: 1040.


Порівняння роботи операторів while, repeat і for

Відзначимо відмінності й особливості гарного стилю роботи з розглянутими циклічними операторами.

Цикл з передумовою while (поки умова істинна) Цикл з післяумовою repeat (до істинності умови)
1) До початку циклу повинні бути зроблені початкові установки змінних, керуючих умовою циклу, для коректного входу в цикл
2) У тілі циклу повинні бути присутнім оператори, що змінюють змінні умови так, щоб цикл через деяке число ітерацій завершився
3) Цикл працює поки умова істинна (поки True) 3) Цикл працює поки умова хибна (поки False)
4) Цикл завершується, коли умова стає помилковою (до False) 4) Цикл завершується, коли умова стає істинною (до True)
5) Цикл може не виконатися жодного разу,якщо вихідне значення умови при вході в цикл дорівнює False, 5) Цикл обов'язково виконується як мінімум один раз
6) Якщо в тілі циклу потрібно більше одного оператора, то необхідно використати складений оператор 6) Незалежно від кількості операторів у тілі циклу використання складеного оператора не потрібно
Цикл з лічильником for
1) Початкова установка змінної лічильника циклів до заголовка не потрібна
2) Зміна в тілі циклу значень змінних, що стоять у заголовку циклу, не допускається
3) Кількість ітерацій циклу незмінне й точно визначається значеннями нижньої й верхньої границь і кроку циклу
4) Нормальний хід роботи циклу може бути порушений оператором goto або процедурами Break і Continue
5) Цикл може не виконатися жодного разу, якщо крок циклу буде змінювати значення лічильника від нижньої границі в напрямку, протилежному верхній границі
     

Для наочності порівняння запису циклів while, repeat і for зберемо воєдино розглянуті для них приклади.

S: =0 ; i: =1 ; while i<=ndo begin S:=S+A[i] ; i:=i+l ; end S:=0; i: =1; repeat S:=S+A[i]; i:=i+l; until i>n S: =0; for i:=lto ndo S:=S+A[i];

Оператор приєднання with призначений для спрощення доступу до полів записів (record) і має такий синтаксис:

Якщо оператор with не використати, то при звертанні до полів записів необхідно вказувати повне кваліфікуєме ім'я поля, що складається з ланцюжка ідентифікаторів, розділених точками.

type T_Rec =record А:record В:record X :Char; Y :Byte End С:Real End D :String End var Rec : T_Rec;

Наприклад,якщо зроблено опис

то для присвоювання полю Y значення 0, а полю С - значення 3.1415 необхідно записати

Rec.А.В.Y := 0; Rec.А.С:= 3.1415;

У найпростішому випадку оператор приєднання дозволяє скоротити імена полів запису в такий спосіб

with Recdo begin A.B.Y := 0; А.С:= 3.1415 end

 

with Recdo with Ado begin B.Y := 0; С:= 3.1415 end

Якщо ж використати не один, а два оператори with, то можна записати

Останній фрагмент можна записати більш компактно одним оператором with, указавши імена Rec і А в одному списку посилань

with Rec, Ado begin B.Y:= 0; С:=3.1415 end

 

with Rec, A, Bdo begin X: = '*' ; У:=0 end

Якщо потрібний доступ тільки до полів X і Y, то можна записати

 

 


<== попередня лекція | наступна лекція ==>
Приклад з помилкою. | Постановка задачі


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