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


Меню сайта


Статистика

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


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


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

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

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


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


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

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

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

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

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

 

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


Вправа 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

Виконати завдання:

Форма входа
Поиск
Календарь
«  Ноябрь 2019  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
252627282930
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

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