русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Команда циклу з параметром (for)


Дата додавання: 2014-11-28; переглядів: 2357.


Цикли з заданою кількістю повторень називають також циклами з лічильником. Число повторень тіла циклу в цьому випадку рахується за допомогою спеціальної змінної (лічильника), для якої відомі початкові та кінцеві (порогові) значення, а також крок зміни. Управління циклом виконується за допомогою порівняння поточних значень лічильника з заданим порогом. Змінну лічильника часто називають параметром циклу, а сам цикл -циклом з параметром.

Оператор циклу з параметром (for) має два види. Розглянемо перший: for<параметр> := <вираз 1> to<вираз 2> do<оператор 1>; Тут for(для), to(до), do(виконати) - зарезервовані (службові) слова; параметр - це змінна цілого, символьного, логічного або перерахованого типу, крім дійсного, а вирази 1 і 2 - це деякі константи такого ж самого типу, що й параметр вказівки які задають початкове та кінцеве значення параметра.

Дія команди. Параметру циклу присвоюється значення виразу 1. Якщо це значення менше, або рівне, ніж значення виразу 2, то виконується оператор 1. Після виконання оператору 1 значення параметра автоматично збільшується на 1 і знову порівнюється зі значенням виразу 2 і т.д. Коли значення параметра стане більшим, ніж значення виразу 2, то виконується наступна після циклу команда. Якщо під час першого порівняння виявиться, що значення виразу 1 більше ніж значення виразу 2, то тіло циклу не виконається жодного разу.

Блок-схема циклу з параметром має вигляд:

Примітка.

1. Вказівку повторення з параметром зручно використовувати в тих випадках, коли попередньо можна визначити кількість повторень.

2. Параметр циклу повинен бути описаним у розділі змінних.

3. Значення параметру циклу після закінчення виконання вказівки повторення володіє кінцевим значенням, тому перед повторним його ви користуванням йому необхідно знову присвоїти нове початкове значення.

4. Після службового слова do може стояти тільки один оператор. Якщо ж у циклі необхідно виконати групу операторів, то їх замикають в оператори! дужки begin … end.

Приклад. Нехай s = 0. Після виконання команди циклу fori:= 4 to6 do begins:=s+i; z:=2*i end;змінна s набуде значення 0+4+5+6=15, а змінна z =12.

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

Розглянемо другий різновид команди циклу for: for<параметр> := <вираз 1> downto<вираз 2> do<оператор 1>;

Ця команда діє як попередня, але значення параметра зменшується на 1 (downto- вниз до).

Приклад. Нехай s= 0. Після виконання команди циклу fori:= 6 do downto4 begins:=s+i z:=2*i end;змінна s набуде значення 0+6+5+4=15, а змінна z = 8.

Задача 1. Побудувати таблицю відповідності між унціями та грамами, якщо 1 унція = 28,353495 г. Початкове значення кількості унцій (uncia), крок зміни (krok) цього значення та кількість рядків (kil) у таблиці задати самостійно у режимі діалогу.

programMira;

usesCrt;

constline = ‘ ’;

varuncia, gramy, krok: i, kil: integer;

Begin

clrscr;

write(‘Введіть початкове значення, крок зміни та’);

writeln(‘ кількість рядків у таблиці’);

readln(uncia, krok, kil);

writeln; {Формуємо порожній рядок}

writeln(line); {Формуємо заголовок таблиці}

writeln(‘Унції Грами’);

writeln(line);

fori:=1 tokil do{Виводимо таблицю на екран}

Begin

gramy:=28,353495*uncial;
writeln(uncia:5:2,’ ‘ gramy: 10:6);

uncial :=uncif+krok;

end;

writeln(line); readln

End.

Задача 2. Обчислити значення виразу, що містить суму і добуток

programSumaDobutok; usesCrt; vari: integer;

suma, dob, y: real;

fact: longint;

Begin

clrscr;

suma:=0; {Спочатку сума дорівнює нулю, а добуток одиниці}

dob:=1;

fact:=1;

fori:= 1 to25 do begin

fact:= fact*i; {Обчислюємо г/=1*2*3*…*г}

suma: = suma+5*sqr(i)/fact; {Обчислюємо суму та}
dob:=dob*sqr(i); {добуток}

end;

y:=suma+dob;

writeln(‘y=’, y:7:2);

readln

End.

Блок-схема алгоритму задачі1


<== попередня лекція | наступна лекція ==>
Оператор вибору (case) | Команда циклу з передумовою (while)


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн