Оператори циклу

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

ЗАВДАННЯ Цілочисельна арифметика

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

Для організації циклу необхідно виконати наступні дії:

перед початком циклу задати початкове значення параметра;

всередині циклу змінювати параметр циклу за допомогою оператора привласнення;

перевіряти умова повторення або закінчення циклу;

управляти циклом, тобто переходити до його початку, якщо він не закінчений, або виходити з циклу в іншому випадку.

Розрізняють цикли з відомим числом повторень (цикл з параметром) і ітераційні (з перед-і постусловіем).

У циклі з відомим числом повторень параметр змінюється в заданому діапазоні.

Якщо в циклі змінюється проста змінна, то вона є параметром циклу, якщо в циклі змінюється змінна з індексом, то індекс цієї змінної є параметром циклу.

Для організації циклу з відомим числом повторень в Pascal використовується оператор for.

Структура циклу, організованого за допомогою цього оператора, має вигляд:

For I: = A To B Do Begin End;

або

For I: = A DownTo B Do Begin End;

Тут I - параметр, що змінюється в циклі; A, B - вирази порядкового типу, що позначають початкове, кінцеве значення параметра циклу. Крок зміни номера параметра циклу дорівнює 1, якщо в заголовку циклу варто To (тобто реально таке значення параметра циклу обчислюється за допомогою функції succ); і -1 - при DownTo (обчислення проводиться за допомогою функції divd).

Порядок виконання циклу з кроком 1 наступний: обчислюються значення початкового та кінцевого значень параметра циклу; параметр якщо I приймає початкове значення; якщо I менше або дорівнює кінцевому значенню, виповнюється тіло циклу; значення параметра циклу збільшується, тобто I: = succ (I); перевіряється умова I = B) і при його виконанні цикл повторюється. Вихід з циклу здійснюється, якщо I> B (I B (або A Sum_Max Then Begin Sum_Max: = Sum; Ch: = I End;

End;

WriteLn ('Максимальну суму дільників', Sum_Max, 'має число', Ch)

End.

Завдання 4. Дано натуральне число n. Отримати всі прості дільники цього числа.

{Програма відшукання простих дільників даного числа}

Program Pr_Del;

Var N, I, Vsp: Integer;

Log_Per, Priznak: Boolean;

Begin

Write ('Введіть натуральне число:');

ReadLn (N);

Priznak: = True; {Ознака того, чи не є введене число простим}

{Поки параметр циклу не перевищив квадратного кореня з даного числа,

продовжуємо пошук простих дільників}

For I: = 2 To Round (Sqrt (N)) Do

If N Mod I = 0 Then

Begin

Priznak: = False; {Введене число не є простим}

Log_Per: = False; {Логічна змінна, приймаюча значення True,

якщо знайшлися дільники I, відмінні від 1 і I}

Vsp: = 2;

Repeat

If (I Mod Vsp = 0) And (I Vsp) Then Log_Per: = True;

Vsp: = Vsp + 1

Until (Vsp> I Div 2 + 1) Or Log_Per;

If Not (Log_Per) Then WriteLn (I) {Якщо число I просте, друкуємо його}

End;

If Priznak Then WriteLn (N)

End.

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

Контрольні питання і завдання

Назвіть відмінності ітераційних циклів та циклу з параметром.

Яка структура оператора циклу з параметром? Як виконується цикл з парметр?

Якого типу повинні бути пареметр циклу, його початкове і кінцеве значення в циклі з параметром в мові Pascal?

Чи можуть параметр циклу, його початкове і кінцеве значення в циклі з параметром в мові Pascal бути різних типів? Обгрунтуйте відповідь.

Чи може один цикл бути вкладений всередину іншого? Якщо так, то яка глибина цієї вкладеності?

Яка структура циклів з перед-і постусловіем? як виконуються ці цикли?

Яке мінімальне та максимальне кількість виконань циклів з перед-і постусловіем? З чим це пов'язано?

Скільки разів виповниться фрагмент програми?

For i: = 1 to -1 Do k: = k * i;

Скільки разів виповниться фрагмент програми?

For i: = -1 to 1 Do k: = k * i;

Скільки разів виповниться фрагмент програми?

For i: = 1 downto -1 Do k: = k * i;

Скільки разів виповниться фрагмент програми?

M: = 123; While M 0 Do M: = M Mod 10;

Для циклу з параметром запишіть його повний еквівалент за допомогою циклів з перед-та постусловіем.

Для циклу з передумовою запишіть його повний еквівалент за допомогою циклу з постусловіем.

Для циклу з постусловіем запишіть його повний еквівалент за допомогою циклу з передумовою.

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
8.2кб. | скачати


Схожі роботи:
Оператори циклу у мові програмування Сі
Оператори алгоритмічної мови Паскаль Стандартні функції і оператори роботи з рядками
Відмінності життєвого циклу обєкта права інтелектуальної власності від життєвого циклу нового
Компактні оператори
Оператори Бейсiка
Оператори проектування
Оператори мови Сі
Оператори Turbo Pascal 7
Деякі лінійні оператори
© Усі права захищені
написати до нас