Розгалуження в Паскалі - інформатика, програмування

Однією з основних алгоритмічних структур є розгалуження (альтернатива).

Якщо умова виконується, то буде виконана інструкція "1", якщо немає, то - інструкція "2". Незважаючи на те, що в схемі присутні два дії, виконано буде тільки одне, так як умова або помилково, або істинно. Третього не дано. Така схема дозволяє вирішувати завдання, в яких в залежності від обставин, що склалися потрібно зробити ту чи іншу дію. Немає ніякого сумніву, що число завдань такого роду величезне. Більш того, дуже складно придумати реально значуще завдання, алгоритм виконання якого містив би в собі просте пряме проходження команд. Навіть примітивний приклад, взятий з курсу математики, як ви побачите, не може бути вирішене без використання розгалуження. Отже, необхідно обчислити значення виразу y = 1 / x. Вам відомо, що ця функція не завжди має значення, тобто не для всіх значень аргументу існує значення результату. Наше завдання так скласти алгоритм, щоб виконавець ні в якому разі не встав в глухий кут, навіть при отриманні нуля як аргумент. Сформулювати це природною мовою не важко:

1. Отримати значення x.

2. Якщо x = 0, то повідомити, що вираз значення не має, інакше - обчислити y як 1 / x.

Таким чином використовується наведена вище алгоритмічна структура. Вона може бути виражена простими словами:

Як це записати на Паскалі? Так точно так же, тільки по-англійськи.

Формат умовного оператора на мові Паскаль:

Then <оператор 1>

Else <оператор 2>;

Зверніть увагу на те, що в Then- і Else- частини варто тільки один оператор. Але що робити, щоб вирішити задачу, в якій по виконання чи невиконання умови потрібно зробити не одне, а кілька дій? Тут приходить на допомогу вже відомий вам складовою оператор. У операторні дужки можна укласти будь-яку кількість операторів.

Варіант умовного оператора в цьому випадку:

Then Begin <группа операторов 1> end

Else Begin <группа операторов 2> end;

Знак "крапка з комою" не ставиться перед службовим словом Else, але оператори в групах, природно, відокремлюються одна від одної цим знаком.

Тепер поговоримо про умови. У програмах на мові Паскаль умови являють собою вираження, значенням яких є величина логічного (Boolean) типу. Це може бути як просто змінна зазначеного типу, так і складна послідовність висловлювань, пов'язаних логічними операціями.

У простих умовах можуть застосовуватися знаки операцій порівняння:> (більше), <(меньше), =(равно), <>(Не дорівнює),> = (більше або дорівнює), <=(меньше или равно).

Приклади простих умов:

Наведемо приклад рішення ще одного завдання: "З двох чисел вибрати найбільше".

На перший погляд рішення очевидно, але воно не настільки тривіально, як здається.

Writeln ( 'Введіть два числа');

Ще один класичний приклад: "По заданим коефіцієнтам вирішити квадратне рівняння". Це завдання складніше, тому перед тим як писати програму складемо алгоритм, записавши його у вигляді блок-схеми.Сначала вводимо коефіцієнти, потім обчислюємо дискриминант. Тепер виникає дві можливості: або відсутність дійсних коренів у разі негативного дискримінанту, або ці корені можна все-таки обчислити і вивести на екран в разі неотрицательного дискримінанту (випадок рівності дискримінанту нулю входить сюди ж, коренів - два, тільки вони однакові J).

При записи алгоритму на мові програмування слід врахувати, що в галузі "ні" не одну дію, а три, тому слід застосувати складовою оператор. Арифметичні вирази не забувайте записувати відповідно до правил мови Паскаль. В іншому, ця програма не складніше попередньої.

Var A, B, C, D, X1, X2: Real;

Writeln ( 'Введіть коефіцієнти квадратного рівняння');

If D<0 Then Writeln ('Корней нет! ')

Writeln ( 'X1 =', X1: 8: 3, 'X2 =', X2: 8: 3)

Цікаво, що в якості оператора, який виконується за виконання чи невиконання умови, може виступати умовний же оператор. У цьому випадку говорять про вкладеності умовних операторів. Я настійно рекомендую при вирішенні такого роду завдань складати блок-схему алгоритму в зошиті. Тільки потім, при складанні програми, вам залишається лише акуратно прописувати спочатку всю Then- частина, а потім переходити до Else- частини. Зазвичай при записі умовних операторів на мові Паскаль (особливо при множинних розгалуження) команди записують уступом вправо і вниз. Це підвищує наочність, і, повірте, знижує втрати часу на налагодження.

Для ілюстрації вирішимо ще одне завдання: "вирішити рівняння виду A * x ^ 2 + B * x + C = 0". Прошу не плутати з квадратним рівнянням, для якого нам було відомо, що коефіцієнт А не дорівнює нулю. Тут же коефіцієнти можуть бути будь-якими числами. Виходячи з елементарних математичних міркувань, отримуємо наступний алгоритм:

Var A, B, C, D, X, X1, X2: Real;

Writeln ( 'Введіть коефіцієнти рівняння (A, B, C)');

If C = 0 Then Writeln ( 'X - будь-яке число')

Else Writeln ( 'Корній немає!')

Else Begin X: = - C / B; Writeln ( 'X =', X: 8: 3) End

в професійному програмуванні. Широкою популярністю Паскаля серед програмістів сприяли такі причини: - Завдяки своїй компактності, вдалому початкового опису Паскаль виявився досить легким для навчання. - Мова програмування Паскаль. Відображає фундаментальні та найбільш важливі концепції (ідеї) алгоритмів в очевидною і легко сприймається формі, що.

Output - вікно, в яке будуть виводитися результати виконання програми. Розмір вікна Output можна відрегулювати клавішами переміщення курсору після натискання Control + F5 або мишею, як описано раніше. Вікно налагодження програм Watch може бути відкрито пунктом меню Watch або Add watch. У кожному рядку вікна може бути задана деяка змінна або вираз. У процесі виконання програми поточне.

Розгалуження в Паскалі - інформатика, програмування
Розгалуження в Паскалі - інформатика, програмування
Розгалуження в Паскалі - інформатика, програмування
Розгалуження в Паскалі - інформатика, програмування

умов взаємної врівноваженості системи сил є одним з основних завдань статики. На основі викладеної в першому розділі курсової роботи алгоритм конструкції мови програмування Паскаль складемо і вирішимо ряд завдань з прикладної механіки. Сформулюємо задачу по статиці першого розділу прикладної механіки. Завдання. Знайти центр ваги тонкого круглого однорідного стержня вигнутого по дузі.

Схожі статті