Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Операторы организации циклов




Циклическими называются алгоритмы, которые предусматривают многократное повторение действий в одной и той же последовательности по одним и тем же математическим зависимостям, но при различных значениях некоторых специально изменяемых величин.

Различают два вида циклов – цикл с заданным числом повторений (детерминированный) и цикл, число повторений которого заведомо неизвестно (итерационный).

Для организации циклических алгоритмов в языке Object Pascal используются 3 вида операторов:

for – оператор цикла с управляющим параметром;

while – оператор цикла с предварительным условием;

repeat – оператор цикла с последующим условием.

Оператор for используют для организации детерминированных циклов, если шаг изменения параметра цикла равен 1 или –1. Операторы while, repeat используются для организации итерационных циклов и в случае детерминированных циклов с шагом изменения параметра отличным от 1 и –1.

Оператор for

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

for < счетчик >:=n1 to n2 do < оператор>;

for < счетчик >:=n2 downto n1 do < оператор>; где < счетчик> – параметр цикла (переменная порядкового типа); n1, n2 – начальное и конечное значения параметра цикла; < оператор> – простой или составной оператор, образующий тело цикла.

Первый формат организует увеличение <счетчика> на 1, второй -уменьшение <счетчика> на 1.

Ниже в качестве примера приведен фрагмент программы вычисления суммы квадратов натуральных чисел от 1 до 10.

s:=0;

for i:=1 to 10 do s:=s + i*i;

Оператор while

Общий вид оператора while:

while <условие> do < оператор >;

Выполняется оператор следующим образом. Вначале проверяется <условие> и пока оно истинно повторяется <оператор>, стоящий после зарезервированного слова do. Выход из цикла происходит, когда <условие> становится ложным. Если при первом вычислении <условие> окажется ложным, то оператор цикла не выполнится ни разу.

Если в цикле нужно выполнить не один оператор, а несколько, то их следует заключить в операторные скобки begin... end, то есть использовать составной оператор.

Пример вычисления суммы квадратов натуральных чисел от 1 до 10 с использованием оператора while будет выглядеть следующим образом.

s:=0;

i:=1;

while i<=10 do begin

s:=s+i*i; i:=i+1;

end;

Оператор repeat

Общий вид оператора repeat.

Repeat

< оператор_1 >;

< оператор_2 >;

< оператор_N >;

until < условие >;

Выполняется оператор repeat следующим образом. В начале выполняется группа операторов – < оператор_1>, <оператор_2>,... <оператор_N>. Затем проверяется условие, если оно ложно, то снова выполняется «тело» цикла. Если же условие истинно, то происходит выход из цикла. Так как условие прекращения цикла проверяется в конце цикла, то операторы, образующие тело цикла, выполняются, по крайней мере, один раз.

Рассмотренный выше пример вычисления суммы квадратов на-туральных чисел от 1 до 10 с использованием оператора repeat бу-дет выглядеть следующим образом.

s:=0;

i:=1;

Repeat

s:=s+i*i; i:=i+1; until i>10;

 

Пример создания приложения

Задание. Создать Windows-приложение, реализующее следую-щую задачу: даны натуральное число n и действительное x. Вычислить сумму членов ряда

 

Размещение компонентов на Форме

Один из возможных вариантов панели интерфейса создаваемого приложения показан на рисунке 1.7.

Компонент SpinEdit находится на странице Samples Палитры компонентов.

Для задания переменной n удобно использовать компонент SpinEdit. Компонент SpinEdit предназначен для отображения и редактирования целого числа. Установите для компонента SpinEdit1 значения свойств: MinValue =1, MaxValue =15.

 
 

 


Рис. 1.7. Размещение компонентов на Форме

Сохранение проекта

Для нового проекта создайте новую папку, например,

X:\ФИО_Обучающийсяа\Mod1\Lab3.

Сохраните проект File | Save Project As…. Сначала сохраните модуль c именем Unit1.pas, затем файл проекта под именем Project1.dpr.

Последующие сохранения выполнять командами File | Save All.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...