Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Умовний оператор
Умовний оператор у Pascalдозволяє виконати один чи два оператора, які входять до нього, залежно від значення логічного виразу. Оператор має вигляд: if< логічний вираз >then<оператор1 >else< оператор2>; де if(якщо), then(то), else(інакше) - службові слова; операторі, оператор2 - прості чи складені оператори мови. Оператор if- це єдине речення, тому ані перед then, ані перед elseкрапку з комою ставити не можна. Порядок виконання умовного оператора показано на рис.2.2
True(так) ↓False(ні)
Як видно зі схеми, якщо значення логічного виразу дорівнює true, то виконується операторі, якщо логічний вираз - false, то виконується оператор2(оператор 1 пропускається). Далі у кожному разі виконується оператор 3, що стоїть за оператором іf Наприклад, фрагмент програми обчислення функції ІП X, ЯКЩО X > 0 ех, ЯКЩОХ<0 має вигляд ifх>0 thenу:=ln(x) elseу:=ехр(х); Тут логічний вираз - відношення х>0, оператор 1 і оператор2 - оператори присвоєння у:=1п(х) і у:=ехр(х). Існує скорочена конструкція if(без else): if<логічний вираз>then<оператор1>; Порядок виконання цього оператора показано на рис. 2.3. Якщо логічний вираз набирає значення False, то виконується наступний за ifоператор. У якості операторів можна використовувати складні оператори. Наприклад (фрагмент програми): ifj:=0 then beginShowMessage(‘Ділення на нуль’);Result:=0; end// крапка з комою не ставляться!!! else Result:=I/j;
True(так) False (ні)
Рисунок 2.3 Схема скороченого оператора умовного переходу
Умовні оператори можуть бути необмежено вкладеними один в одного. В деяких випадках складно розібратися, у якій послідовності виконуються такі вкладені оператори.Наприклад: ifa>bthen ifа>е thenс:=1 elseс:=2; Тут важко зрозуміти, в якому разі виконується оператор С:=2,: коли хибна є умова а>b або коли вона є правдива, але хибна є умова а>е. У таких випадках чинне є правило: elseналежить до найближчого оператора if. У даному прикладі частина elseс:=2 належить до найближчого оператора ifа>е then, а не до оператора ifa>bthen. Треба намагатися запису ваги подібні вкладені оператори максимально наочно, використовуючи відступи із пропусків, уникати заплутаних складових і великого рівня вкладеності. Треба намагатися запису ваги подібні вкладені оператори максимально наочно, використовуючи відступи із пропусків, уникати заплутаних складових і великого рівня вкладеності. Приклад. Обчислити значення функції за формулою:
Y =
Для програмної реалізації цих виразів можна використати конструкцію умовного оператора, оскільки тут умови є альтернативними, тобто взаємно доповнюють і виключають одна одну. Перший варіант: ifх> 0 then ifх>= 1 then y:=sqrt (х)/2 else y:=exp(l/3*ln (x))/3 else y:=exp(l/4*ln(abs(x)))/4; Другий варіант, простіший, може бути виконано за допомогою логічних операцій і послідовності незалежних умовних операторів: ifx<=0then y:=exp(1.4*ln(abs(x)))/4; if (x>0) and (x<l) theny:=exp(l,3*ln(x))/3; ifx>=ltheny:=sqrt(x)/2; На відміну від попереднього випадку, тут завдання розв’язано за допомогою трьох умовних операторів, тоді як там використано лише один оператор, але з укладеннями. Другий варіант е більш переважним з точки зору зручності читання та наочності програми.
2. 4 Оператор вибору варіанта
Оператор вибору варіанта є узагальненням умовного оператора: він дає можливість виконувати один з деяких операторів в залежності від значення певного виразу, що називається селектором. У загальному вигляді оператор має вигляд: case <селектор> of <список-констант-1>: < оператор 1>; <список-констант-2>: < оператор 2>; …………………………………………… <список-констант-№>: < оператор N>; else < оператор N+l> end; Тут case(у разі), of(із), end(кінець) - службові слова; <селектор> — вираз будь-якого скалярного типу, окрім дійсного; відповідно з цим і списки констант не можуть мати дійсний тип; <оператор> - будь-який оператор мови, зокрема складений; <список констант> - список відокремлених комами можливих значень селектора. Ці константи повинні мати той самий тип, що і селектор, вони називаються позначками варіантів. Позначка варіантів не описується у розділі Label, на неї не можна посилатися в операторі goto. Оператор варіанта діє у такий спосіб. Якщо значення селектора дорівнює значенню однієї з констант, то виконується оператор, який помічений цією константою (позначкою). Після цього керування передається за межі оператора варіанта. Якщо значення селектора не збігається з жодною з констант, то виконується оператор N+l. Else- необов’язкова частина. Якщо вона відсутня і значення селектора не збігається з жодною з позначок, то керування передається за межі оператора. На відміну від оператора if, перед elseнеобхідно ставити “; Наприклад, casenomer of 2: y:=g; 4: y:=g*x; 6: y:=g*sqrt (abs(X)); end; Якщо селектор nomerдорівнюватиме 4, то виконається оператор y:=g*x, і управління буде надано операторові, розміщеному після слова End. У операторі варіанта в якості константи припускається використання списку констант. Наприклад, casesof ‘+’, ‘-‘, ‘*’, ‘/’:p:=1; 'а', ‘b’: р:=2; ‘;’: р:=3; end; Змінна sмає бути описана у розділі опису як символьна. Якщо значенням sбуде один із символів‘+’, ‘-‘, ‘*’, ‘/’, то змінна р матиме значення 1. Якщозначенням sбуде символ 'а' або 'b', то р набере значення 2. Якщо sприйме значення ‘;’ то р дорівнюватиме 3. Тип виразу селектора може бути визначено користувачем.
2.5 Приклади розв’язання задач із операторами ifі case Приклад 1. Визначити приналежність заданого дійсного числа х до одного з двох відрізків: [а,Ь] або [c,d]. Якщо х належить одному з відрізків, то вивести повідомлення “Належить”, у противному разі - “Не належить”. Пояснення. Виведення у вікно повідомлення реалізовується процедурою ShowMessage або функцією MessageDlg. Процедура ShowMessage виводить на екран просте діалогове вікно з текстом повідомлення з однією командною кнопкою ОК. Загальний вигляд процедур ShowMessage такий: ShowMessage («Повідомлення»); Заголовок вікна повідомлення у цьому разі збігається з ім'ям файла проекту. Функція MessageDlg дозволяє додати повідомлення однієї зі стандартних позначок Windows, наприклад, позначкою “ Увага ”, а також задати кількість і тип командних кнопок. Схема алгоритму програми зображена на рис. 2.4.
Ні Так
Форма проекту з вхідними даними та результатом має вигляд:
|