русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

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

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Оператор цикла с параметром for


Дата добавления: 2015-07-23; просмотров: 791; Нарушение авторских прав


Оператор цикла с параметром или цикла со счетчиком for имеет такую структуру:

 

for<параметр_цикла> := <нач_знач> to <кон_знач> do <оператор>;

 

где <параметр_цикла> – переменная типа Integer (точнее, любого по-, рядкового типа);

<нач_знач> – начальное значение - выражение того же типа;

<кон_знач> – конечное значение - выражение того же типа;

<оператор> – произвольный оператор Object Pascal, в том числе и составной. Исполняемый в цикле оператор часто называют телом цикла.

При выполнении оператора for вначале вычисляется выражение <нач_знач> и осуществляется присваивание <параметр цикла>:= <нач_знач>.

После этого циклически повторяется:

1. проверка условия <параметр_цикла> <= <кон_знач>; если условие не выполнено, оператор for завершает свою работу;

2. выполнение оператора <оператор>;

3. наращивание переменной <параметр_цикла> на единицу;

4. переход к шагу 1 .

 

Следует заметить, что условие, управляющее работой оператора for, проверяется перед выполнением оператора <оператор>. Это значит, что если условие не выполняется в самом начале работы оператора for, исполняемый оператор не будет выполнен ни разу.

Шаг наращивания параметра цикла строго постоянен и равен +1 (это цикл с возрастающим параметром или счетчиком).

       
   

 


а) цикл с возрастающим параметром б) цикл с убывающим параметром

Рис. 3.5. Алгоритм оператора цикла for

 

Однако на практике нередко возникает необходимость воспользоваться циклом с убывающим параметром. В таких ситуациях пользуются другой формой оператора for:

for<параметр_цикла> := <нач_знач> downto <кон_знач> do <оператор>;



Замена зарезервированного слова toна downto означает, что шаг наращивания параметра цикла равен (-1), а управляющее условие приобретает вид <параметр_цикла> >= <кон_знач>.

Алгоритм, соответствующий оператору цикла с параметромfor, представлен на рис. 3.5.

Переменную-счетчик (<параметр_цикла>) можно использовать внутри тела цикла (но ни в коем случае не изменять).

Далее рассмотрим примеры применения циклов с возрастающим и убывающим параметром.

Как видно, листинги программ отличаются только организацией циклов: в первом случае от 1 до n с шагом +1, во втором варианте от n до 1 с шагом -1.

Предложенные программы можно оптимизировать, уменьшив количество повторений циклов на 1 раз: циклы сделать соответственно от 2 до n и от n до 2.

 

 

Пример программы расчета факториала вводимого числа с использованием цикла с возрастающим параметром:

Var

n, f, i :integer;

{n – число, факториал которого следует найти; f- найденное значение факториала , i – счетчик цикла}

Begin

write(’Введите n (больше 1):’);

readln(n);

if(n>1)then

begin{введено правильное число}

f:=1;

for i:=1 to n do {цикл расчета факториала}

f:=f*i;

writeln(’Факториал числа ’,n,’ равен:’,f);

End

Else

writeln(’Введено неверное n! Факториал не рассчитан!’);

End.

Пример той же программы расчета факториала вводимого числа с использованием цикла с убывающим параметром:

 

Var

n, f, i :integer;

{n – число, факториал которого следует найти; f- найденное значение факториала , i – счетчик цикла}

Begin

write(’Введите n (больше 1):’);

readln(n);

if(n>1)then

begin{введено правильное число}

f:=1;

for i:=n downto 1 do {цикл расчета факториала}

f:=f*i;

writeln(’Факториал числа ’,n,’ равен:’,f);

End

Else

writeln(’Введено неверное n! Факториал не рассчитан!’);

End.

 

 



<== предыдущая лекция | следующая лекция ==>
Оператор выбора case | Оператор цикла с предварительным условием while


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.462 сек.