Вторник, 03.12.2024, 20:45
Главная | Регистрация | Вход Приветствую Вас Гость | RSS


Меню сайта


Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Тестування онлайн
тестування онлайн 


Социальные закладк

Тема. Цикл із передумовою. Вправи

Команда циклу з передумовою в мові програмування Object Pascal має такий вигляд:


while <логічний вираз> do
begin
         <команди тіла циклу> 
end; 


        Виконання цієї команди відбувається так:

  • обчислюється значення логічного виразу; якщо це значення true, то виконуються команди тіла циклу, після чого знову обчислюється значення логічного виразу, і якщо це значення знову true, то знову виконуються команди тіла циклу, після чого знову обчислюється значення логічного виразу; 
  • якщо значення логічного виразу дорівнює false, то команди тіла циклу не виконуються, а виконується команда, наступна за циклом.

Звертаємо вашу увагу: 

  1.  якщо в тілі циклу лише одна команда, то операторні дужки begin і end можна не ставити; 

  2. серед команд тіла циклу можуть бути й лінійні фрагменти, і розгалуження, й інші цикли. 

Компонент ListBox (Список).

Для виведення отримуваних у циклі значень змінних у кілька рядків зручно скористатися компонентом ListBox (Список).

  1. Компонент Listbox (вкладка Standard на палітрі компонентів) призначений для зберігання й опрацювання текстових даних.
  2.  Кожен рядок Listbox зберігає рядок даних у форматі String.
  3. Доступ до рядків надає властивість Items цього компонента.
  4. Для додавання рядка до списку програмним шляхом призначено метод Add. Синтаксис його виклику такий:

ListBox1.Items.Add(Новий_рядок');

Наприклад, додати до списку ListBox значення виразу 2 * х:

ListBox1.ltems.Add (IntToStr (2 * х));

  1. Щоб очистити вміст списку, для елемента керування ListBox викликають метод Clear:

ListBox1.Clear;

  1. Властивість Count зберігає кількість рядків, доданих до списку.

   

 

Багаторядкове текстове поле.  

Компонент Memo

  • є вікном редагування багаторядкового тексту.

  

Властивості компонента Memo

Методи компонента Memo

 

    Розглянемо задачі, алгоритм розв'язування яких містить цикл з передумовою.


Вправа 3. Знайти суму 20 елементів послідовності чисел 2,5; 3,0; 3,5; 4,0...

 

 

 

Алгоритм проекта

 Программный код

procedure TForm1.Button1Click(Sender: TObject);
    var i: integer;   a, s: real;
begin
 
// вводятся начальные значения:
S := 0;        // суммы S
i := 0;        // счетчика слагаемых и
a:= 2.5;        // значение первого элемента последовательности
While i < 20 do begin
   listbox1.Items.add('i= '+ inttostr(i)+ '        a= '+ FormatFloat('00.00', a)+ '       s = ' + floattostr(s));
   S := S + a;    
// элемент последовательности добавляется в сумму S
   a := a + 0.5; // вычисляется очередной элемент последовательности
   i := i + 1;  {увеличение значения переменной, контролирующей
                                условие продолжения цикла. на единицу}

end;
end; 

Вправа 4.
 

Программный код проекта

procedure TForm1.Button1Click(Sender: TObject);
var i: Integer;  a, s: single;
begin
s:=1;      // начальное значение суммы  
a:=1;      // значение первого элемента последовательности 
i:=1;       // номер первого элемента последовательности
While a > 0.01 do
 begin
ListBox1.Items.Add(' i = ' + inttostr(i) + '    ' + 'a =  ' +FormatFloat('0.####', a));  //вывод текущих значений переменных i, a, s
ListBox2.Items.Add('    s =  ' + FormatFloat('0.###', s));
i := i + 1;
a := 1/i;                // вычисление следующего элемента последовательности 
s := s + a;// накопление суммы элементов последовательности
end;
end;

Алгоритм проекта

Вариант 2.( поле Memo замена ListBox)
 memo1.lines.Add(' i = ' + inttostr(i) + #9 + 'a =' + #9+ FormatFloat('00.###', a )+ #9 +'s = '+ #9 + FormatFloat('00.###', s)); //вывод текущих значений переменных i, a, sзначений переменных i, a, s

Завдання 3.  Самостійне виконання:

Форма входа
Поиск
Календарь
«  Декабрь 2024  »
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
3031
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • Рейтинг@Mail.ru
    Copyright MyCorp © 2024
    Конструктор сайтов - uCoz