Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




End.

Interface

uses Windows, Messages, SysUtils, Classes,Graphics,

Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls;

 

Type TForm=class(TForm) Panel1: TPanel; Button1: TButton; BitBtnl: TBitBtn; Bevell: TBevel; Label1: TLabel;


 




Edit1: TEdit;

ListBoxl: TListBox;

Label2: TLabel;

Label3: TLabel;

procedure Edit1KeyPresa (Sender: TObject; var Key: Char)

procedure Button1Click (Sender: TObject);

end;

var Form1: TForm1;

imp1ementation

{$R *.DFM}

procedure TForm1.Edit1KeyPress(Sender: TObject;

var Key: Char);

begin

if not (key in [' 0 ‘.. ‘ 9',#8]) then key:=#0;

end;

procedure TForm1.Button1Click(Sender: TObject);

var x,half,divider:word;

i:byte; begin

Label3.Caption:='';

ListBoxl.Items.Clear; x:=StrToInt(Edit1.Text); half:=x div 2; divider:=2; i:=0;

While divider <= half do begin

i f x mod divider = 0 then begin inc(i); ListBoxl.Items.Add(IntToStr(i)+'-й делитель-'

+ IntToStr(divider));

end;

inc(divider);

end;

if i=0 then Label3.Caption:='Число простое';

end;

В отличие от оператора цикла For, который автоматически изменяет) управляющую переменную и управляет циклом, в операторе while граммист должен сам организовать управление, заключающееся в след щем:

• выбрать какую-либо управляющую переменную, в данном случае i
счетчик циклов;

• присвоить ей начальное значение (например, i: = 0;);

• в операторе While записать условие продолжения выполнения цикла, |
например divider <= half; (как только это условие станет равным false,
цикл закроется);

 


• внутри цикла осуществлять изменение управляющей переменной на каждой итерации, например inc (i) - увеличить значение i на единицу.

Оператор цикла Repeat записывается следующим образом:

 

<Оператор1>;

<OnepawopN>; Until <логическое выражение>;.

В этом цикле выполняются все операторы между Repeat и until, пока логическое выражение не станет истинным. В отличие от оператора While, в котором логическое выражение определяет условие продолжения итераций, в операторе Repeat логическое выражение определяет условие окончания цикла. Независимо от значения логического выражения, хотя бы одна итера­ция обязательно должна выполниться. Как и в случае с циклом while, про­граммист должен сам организовать управление итерациями в цикле Repeat.

 

ПРИМЕР ПРИЛОЖЕНИЯ 6

 

Рассчитать с точностью е сумму следующего ряда:

 

где X- какое-либо число из диапазона -1 <=Х<=1

Точность е связана с вычислением Y следующим образом. Обозначим

общий член ряда а

Суммирование (вычисление Т)

продолжать до тех пор, пока значение а не станет меньше е.

Вывести на экран историю расчета, т.е. какое значение на каждой итера­ции имели величины а и 7, в следующем виде: итерация 1 а = у =; итера­ция 2 а= у= и т.д.

На рис. 20 построен алгоритм расчета суммы ряда. В этом алгоритме введена дополнительная переменная Ъ для отслеживания знака очередного члена ряда.

На рис. 21 приводится форма с вариантом расчета. Расположенные на форме компоненты можно определить, исходя из текста программы, кото­рый приводится ниже.

Для решения данной задачи был использован компонент Tmemo. Этот элемент управления служит для получения какого-либо текста пользователя


и его отображения на экране. ТМето называют многострочным редактором (однострочным редактором является компонент TEdit).

Доступ ко всему тексту может быть получен через свойство Text. Свойство Lines представляет весь текст в виде со­вокупности строк. Все строки в ТМето пронумерованы, начиная от нуля. Если на экране строки полностью не отобра­жаются (задана маленькая ширина Width), то с помощью свойства Word-Wrap можно управлять переносом строк. ТМето имеет свойство ScrollBars -можно устанавливать полосы прокрутки. По умолчанию: ScrollBars установлено равным ssNone. Можно задать центриро­вание строк с помощью свойства Align­ment. Свойство Lines содержит методы Add (добавить), Delete (удалить), Insert (вставить).

Для Memol в инспекторе объектов

установлено свойство Wordwrap равным true, а свойство ScrollBars -




Поделиться с друзьями:


Дата добавления: 2014-12-29; Просмотров: 276; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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