Четверг, 14.11.2019, 21:35
Главная | Регистрация | Вход Приветствую Вас Гость | RSS


Меню сайта


Статистика

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


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


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

Тема. Цикл з лічильником

Оператор циклу for ... to … do
Оператор for використовується в тому випадку, коли деяку послідовність дій треба виконати кілька разів, причому число повторень заздалегідь відомо.
 Загальний вигляд оператора for … do:

for <лічильник>: = <поч_знач> to <кін_знач> do

begin
<Тіло циклу>
 End;

 де:

  • лічильник - змінна-лічильник числа повторень;
  • поч_знач - вираз, що визначає початкове значення лічильника циклу;
  • кін_знач - вираз, що визначає кінцеве значення лічильника циклу;
  • тіло циклу - оператори, які будуть повторюватися.
  1. Змінна-лічильник, вирази поч_знач і кін_знач повинні бути цілого типу.
  2. Кількість повторень циклу можна обчислити за формулою: кін_знач - поч_знач +1.
  3.  Якщо  між begin і end знаходиться тільки один оператор, то begin і end можна не писати.

Виконується команда циклу з лічильником так:
  1. Надати лічильнику циклу і значення поч_знач.
  2. Обчислити значення логічного виразу і ≤ кін_знач.
  3. Якщо значення логічного виразу true, то виконати команди тіла циклу і перейти до виконання команди
  4. Якщо false - перейти до виконання команди, наступної за командою циклу.
  5. Збільшити значення лічильника циклу на 1.
 6. Перейти до виконання команди 2.

 

Крок зміни циклу завжди однаковий і дорівнює інтервалу між двома найближчими значеннями типу параметра (при цілочисельному значенні параметра крок дорівнює 1).
Можна скористатись величиною перелічуваного типу. Наприклад,

  • Списком непарних чисел першого десятка: 1, 3, 5, 7, 9 
  • Списком голосних літер українського алфавіту : ‘а’, ‘о’, ‘у’, ‘е’, ‘и’, ‘і’, ‘ї’, ‘ю’ 

Cписок значень у мові програмування Lasurus обмежують круглими дужками

 

Отримання випадкових значень величин у програмному коді.

 

У програмах, написаних мовою програмування Lazarus, у програмному коді опрацювання події один раз звертаються до функції Randomize, яка підключає генератор випадкових чисел та надає можливість отримувати щоразу інші значення. Тоді в програмному коді можна отримати випадкові значення величин різних типів.

Опис                           Значення змінної А 

Randomize;
A:=random;      
Випадкове дійсне число від 0,0 включно до 1,0

Randomize;
A:=random(10);
Випадкове ціле число від 0 включно до 10


Randomize;
A:=random(b-a+1)+a;
Випадкове ціле число від а до b включно

 


Вправа 1 Вивести таблицю квадратів чисел

 

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

procedure TForm1.Button1Click(Sender: TObject);
   var  i: integer;
begin
for i:= 1 to 10 do
  memo1.lines.add(IntTostr(i) + ' * '+ IntToStr(i) + ' = ' +IntToStr(i*i)); //свойство Wordgroup = true
 end;

Якщо в операторі for замість слова to записати Downto, то після чергового виконання тіла циклу значення лічильника буде не збільшуватися, а зменшуватися.

Вправа 2. Створення таблиці множення

 

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

procedure TForm1.Button1Click(Sender: TObject);
 var i : integer;
begin
   image1.Show;
   image2.Hide;
   for i:= 1 to 9 do
   listbox1.Items.Add('i = ' + inttostr(i) + '     ' +inttostr(i)+'* 9 = '+inttostr(i*9));
end;

 

procedure TForm1.Button2Click(Sender: TObject);
begin
   image1.Hide;
   image2.Hide;
   listbox1.Clear;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
     image1.Hide;
   image2.Hide;
end;

                                   

procedure TForm1.Button3Click(Sender: TObject);
   var i : integer;
 begin
      image1.Hide;
   image2.Show;
   for i:= 9 downto 1 do
   listbox1.Items.Add('i = ' + inttostr(i) + '     ' +inttostr(i)+'* 9 = '+inttostr(i*9));
end;

Вправа 3. Створити проект обчислення  суми квадратів цілих чисел: 1, 2, 3, ...
 

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

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

procedure TForm1.Button1Click(Sender: TObject);
var s, i, n : integer;
begin
    s :=0;
        n:= StrToInt(InputBox('введите число','',''));
    for i := 1 to n do
    begin
                 s := s + i*i;
      listbox1.Items.Add('i= '+ inttostr(i) +  '      i^2 = ' + inttostr(i*i ) + '     s = ' + IntToStr(s));

      end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
    listbox1.Clear;
end;      

Вправа 4. Полічити кількість слів у введеному користувачем тексті. Вважатимемо, що слова відокремлюються виключно одним пробілом

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

Интерфейс проекта

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

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls
, LCLProc; // добавляем модуль LCLProc в раздел uses 

.........

procedure TForm1.Button1Click(Sender: TObject);

var n, i, k: integer; s : string;

begin

 k:=0;  //количество слов в предложении
 s := memo1.text;
 n := UTF8length(s); 
//количество символов в предложении

 for i:= 1 to n do
   if  UTF8copy(s,i,1) = chr(32) then k := k +1; 
 //код очередного символа предложения сравнивается с кодом пробела

 k:=k + 1;  // учитываем последнее слово, так как количество слов в строке больше количества пробелов на единицу

label1.caption := 'количество слов в предложении = ' + inttostr(k);

 end;

procedure TForm1.Button2Click(Sender: TObject);
begin
    label1.caption := ' ' ;
    memo1.text := 'Введите текст' + #13 +'Выделите кн. Пуск';
end;    
                    

Вправа 5. Знайти факторіал числа n за формулою: f ! = 1 * 2 * З *... * n.

Алгоритм проекту.  Интерфейс проекта

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

procedure TForm1.Button1Click(Sender: TObject);
var i, n, f: Integer;
begin
n := StrToInt(Edit1.text);
f:= 1;
For i := 2 to n do
begin
f := f * i;
memo1.Lines.Add('i = '+ IntToStr(i) + #9 +' f = '  + IntToStr(f));
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
   memo1.Lines.Clear;
end;         
                     

Вправа 6. З клавіатури вводяться п'ять дійсних чисел, серед яких можуть бути як додатні, так і від'ємні числа. Знайти середнє арифметичне додатних чисел.

Алгоритм проекту.  Интерфейс проекта

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

procedure TForm1.Button1Click(Sender: TObject);
 var i, k: Integer; a, s: real;
Begin
   s := 0;
   k := 0;
// счетчик положительных чисел
   for i := 1 to 5 do
        begin
    a := strtofloat(inputbox(' Введите число ','',''));
    if a > 0 Then
                     begin
        k := k + 1;  s :=s + a;
        memo1.lines.add( 'k =  ' + inttostr(k) +  '    a=  ' +  floattostr(a)  + '      s =  ' +floattostr(s));
                end
    else  memo1.lines.add(#9 +'  a= ' +  floattostr(a) );
          end;

 label2.Caption := 'среднее арифметическое положительных чисел = ' + floattostrF(s/k,ffFixed,6,3);
    end;

procedure TForm1.Button2Click(Sender: TObject);
 begin
    memo1.lines.Clear;
    label2.Caption := '';
 end;

Вправа 7. Розробити проект у якому за  введеним  початковим і кінцевим значенням температури в текстове поле буде виведений список відповідних температур за шкалою Фаренгейта, якщо для такого перетворення використовують формулу: Tf = 9/5*Tc + 32.

Интерфейс проекта

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

procedure TForm1.Button1Click(Sender: TObject);
       var  Tf: real; i, Tn, Tk : integer;
    begin
    Tn := strtoint(edit1.text);

    Tk := strtoint(edit2.text);
    for i:= Tn to Tk do
           begin
    Tf := 9/5*i + 32;
    listbox1.items.add('Tc = ' + inttostr(i) + '       ' +   'Tf = ' + floattostr(Tf)+ '      ');
          end;
end;     

procedure TForm1.Button2Click(Sender: TObject);
begin
       listbox1.Clear;
       edit1.text:='';
       edit2.text :='';

end;             

 

 

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

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