Оператори циклу h2>
Завдання цілочисельний арифметики h2>
Командою
повторення або циклом називається така форма організації дій, при якій
одна й та ж послідовність дій повторюється до тих пір, поки зберігається
значення деякого логічного виразу. При зміні значення логічного
вирази на протилежне повторення припиняються (цикл завершується). p>
Для
організації циклу необхідно виконати наступні дії: p>
перед
початком циклу задати початкове значення параметра; p>
всередині
циклу змінювати параметр циклу за допомогою оператора присвоєння; p>
перевіряти
умова повторення або закінчення циклу; p>
керувати
циклом, тобто переходити до його початку, якщо він не закінчений, або виходити з
циклу в іншому випадку. p>
Розрізняють
цикли з відомим числом повторень (цикл з параметром) і ітераційні (з перед -
і постусловіем). p>
В
циклі з відомим числом повторень параметр змінюється в заданому діапазоні. p>
Якщо
в циклі змінюється проста змінна, то вона є параметром циклу; якщо в
циклі змінюється змінна з індексом, то індекс цієї змінної є
параметром циклу. p>
Для
організації циклу з відомим числом повторень в Pascal використовується оператор
for. p>
Структура
циклу, організованого за допомогою цього оператора, має вигляд: p>
For I: = A To B Do Begin End; p>
або p>
For I: = A DownTo B Do Begin End; p>
Тут
I - параметр, що змінюється в циклі; A, B - вирази порядкового типу,
позначають початкове, кінцеве значення параметра циклу. Крок зміни номера
параметра циклу дорівнює 1, якщо в заголовку циклу варто To (тобто реально
таке значення параметра циклу обчислюється за допомогою функції succ); і -1 --
при DownTo (обчислення проводиться за допомогою функції pred). p>
Порядок
виконання циклу з кроком 1 наступний: обчислюються значення початкового та
кінцевого значень параметра циклу; параметр якщо I приймає початкову
значення; I якщо менше або дорівнює кінцевому значенню, виконується тіло циклу;
значення параметра циклу збільшується, тобто I: = succ (I); перевіряється умова
I = B) і при його виконанні цикл
повторюється. Вихід з циклу здійснюється, якщо I> B (I B (або A Sum_Max Then Begin Sum_Max
: = Sum; Ch: = I End; p>
End; p>
WriteLn ( 'Максимальну суму дільників',
Sum_Max, 'має число', Ch) p>
End. p>
Завдання
4. Дано натуральне число n. Отримати всі прості дільники цього числа. P>
(Програма
відшукання простих дільників даного числа) p>
Program Pr_Del; p>
Var N, I, Vsp: Integer; p>
Log_Per, Priznak: Boolean; p>
Begin p>
Write ( 'Введіть натуральне число:'); p>
ReadLn (N); p>
Priznak: = True; (Ознака того, чи не є введене число простим) p>
(Поки параметр циклу не перевищив
квадратного кореня з даного числа, p>
продовжуємо пошук простих дільників) p>
For I: = 2 To Round (Sqrt (N)) Do p>
If N Mod I = 0 Then p>
Begin p>
Priznak: = False; (Введене число не є простим) p>
Log_Per: = False; (Логічна змінна, що приймає значення
True, p>
якщо знайшлися
подільники I, відмінні від 1 і I) p>
Vsp: = 2; p>
Repeat p>
If (I Mod Vsp = 0) And (I
Vsp) Then Log_Per: = True; p>
Vsp: = Vsp + 1 p>
Until (Vsp> I Div 2 + 1) Or Log_Per; p>
If Not (Log_Per) Then
WriteLn (I) (Якщо число I просте, друкуємо його) p>
End; p>
If Priznak Then WriteLn (N) p>
End. P>
Пропонуємо
читачеві самостійно розібратися з представленим рішенням. p>
Список літератури h2>
Для
підготовки даної роботи були використані матеріали з сайту
http://comp-science.narod.ru p>