Головна

питання 20

1) Найпростіші завдання мають лінійний алгоритм рішення (імєєют структуру "проходження").

Алгоритм лінійної структури є послідовність дій і не містить будь-яких умов

Таким чином, в таких алгоритмах всі етапи рішення задачі виконуються строго послідовно, т. Е. Лінійні алгоритми виконуються в природному порядку його написання і не містить розгалужень і повторень.

приклад

Пішохід йшов по пересіченій місцевості. Його швидкість руху по рівнині v1 км / год, в гору - v2 км / год і під гору - v3 км / ч. Час руху відповідно t1, t2 і t3 ч. Який шлях пройшов пішохід?

Рішення:

1. Ввести v1, v2, v3, t1, t2, t3.

2. S1: = v1 * t1.

3. S2: = v2 * t2.

4. S3: = v3 * t3.

5. S: = S1 + S2 + S3.

6. Вивести значення S.

7. Кінець.

2) Розглянемо повний умовний оператор Паскаля:

if B then S1 else S2

Тут if (якщо), then (то) і else (інакше) є службовими словами, В - логічне вираження, а S1 і S2 - оператори.

Виконання такого умовного оператора в Паскалі зводиться до виконання одного з вхідних в нього операторів S1 або S2: якщо заданий в операторі умова виконується (логічне вираз В приймає значення true), то виконується оператор S1, в іншому випадку виконується оператор S2.

Алгоритм рішення згаданої вище завдання обчислення z = max (x, y) можна задати у вигляді умовного оператора Паскаля

if x> y then z: = x else z: = y

При формулюванні алгоритмів досить типовою є така ситуація, коли на певному етапі обчислювального процесу будь-які дії треба виконати тільки при виконанні деякої умови, а якщо ця умова не виконується, то на даному етапі взагалі не потрібно виконувати жодних дій. Найпростішим прикладом такої ситуації є заміна поточного значення змінної х на абсолютну величину цього значення: якщо x <0, то необхідно виконати оператор присвоювання x: = - x; якщо ж x> = 0, то поточне значення х повинно залишитися без змін, т. е. на даному етапі взагалі не треба виконувати будь-яких дій.

У подібних ситуаціях зручна скорочена форма запису умовного оператора в Паскалі:

if B then S

Правило виконання скороченого умовного оператора Паскаля досить очевидно: якщо значення логічного виразу В є true, то виконується оператор S; в іншому випадку ніяких інших дій не проводиться.

У мові програмування Паскаль в умовному операторі між then і else, а також після else по синтаксису може стояти тільки один оператор. Якщо ж при виконанні (або невиконанні) заданого умови треба виконати деяку послідовність дій, то їх треба об'єднати в єдиний, складовою оператор, т. Е. Укласти цю послідовність дій в операторні дужки begin ... end (це важливо!). Якщо, наприклад, при x

if x

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

if B1 then if B2 then S1 else S2

допускає, взагалі кажучи, дві різні трактування:

як повний умовний оператор Паскаля виду

if B1 then begin

if B2 then S1 end

else S2

як скорочений умовний оператор Паскаля виду

if B1 then begin

if B2 then S1 else S2 end

За правилами Паскаля має місце друга трактування, т. Е. Вважається, що кожне слово else відповідає першому попередньому йому слову then. Для уникнення можливих помилок і непорозумінь можна порекомендувати у всіх подібних випадках чітко виділяти бажану форму умовного оператора Паскаля шляхом взяття в операторні дужки.

21) Цикл - це багаторазове повторення одного і того ж дії. Дії, які повторюються, називаються кроком циклу. Умова, протягом якого дія виконується, називається умовою виконання циклу.

Існують три види циклів:

1) Цикл з передумовою - умова виконання перевіряється до кроку циклу.

While <умова виконання> Do <оператор>;

приклад:

Program test1;

Var z: Integer;

Begin

z: = 10;

Whilez> 0 Do

z: = x-3;

WriteLn (z);

End.

2) Цикл з умовою поста - умова виконання перевіряється після кроку циклу.

Repeat

<Оператор>;

<Оператор>;

...

<Оператор>;

Until <умова завершення>;

приклад:

Program test2;

Var b: Real;

Begin

b: = 100;

Repeat b: = b / 2;

Until b <10;

Writeln (b: 0: 2);

End.

3) Цикл з параметром - виконується певний заздалегідь відоме кількість разів.

For <ім'я змінної>: = <поч. значення> To <кін. значення> Do <оператор>;

приклад:

Program test3;

Var j: Integer;

Begin

For j: = 1 to 5 Do

WriteLn ( '*');

WriteLn;

 



 питання 18 |  Строковий тип даних

 питання 8 |  питання 9 |  Класифікація вірусів по природному середовищі |  питання 11 |  питання 12 |  питання 13 |  питання 14 |  питання 15 |  питання 16 |  питання 17 |

© um.co.ua - учбові матеріали та реферати