Повторення в Lazarus

Вправа 2. Проект "Кількість слів у реченні" з використанням циклу з передумовою (ст. 173)

procedure TForm1.Button1Click(Sender: TObject);
var t:string;
  n,k,i:integer;
begin
 t:=Edit1.Text;
 n:=length(t);
 k:=0;
 i:=0;
 while i<=n-1 do
begin
 if t[i]=' ' then k:=k+1;
 i:=i+1;
 end;
 Edit2.Text:=inttostr(k+1);
end;  

Вправа 3. Проект "Просте число"

procedure TForm1.Button1Click(Sender: TObject);
var n,i:integer;
begin
n:=strtoint(edit1.text);
i:=1;
repeat
  i:=i+1;
  until n mod i=0;
  if n=i then edit2.text:='Введене число просте' else edit2.text:='Введене число не просте';
end;  

Завдання  2.1 ст. 178. Друкується таблиця множення на 9. Використовується поле Memo для виводу

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
for i:=1 to 9 do Memo1.Lines[i]:=inttostr(i)+' * 9 = '+inttostr(i*9);
end; 

Вправа 2.2. Квадрати чисел від 10 до 1.

procedure TForm1.Button1Click(Sender: TObject);
  var i,k:integer;
begin
  k:=10;
  for i:=10 downto 1 do
  begin
    Memo1.Lines[k-i]:=IntToStr(i)+' * '+IntToStr(i)+' = '+IntToStr(i*i);
  end;
 end;  

Вправа 2.3. Сума цілих чисел від 1 до 10.

procedure TForm1.Button1Click(Sender: TObject);
var i,s:integer;
begin
 s:=0;
 for i:=1 to 10 do
 begin
 Memo1.Lines[i]:=inttostr(i);
 s:=s+i;
 end;
 Edit1.Text:=IntToStr(s);
end;

Вправа 2.4. Обчислення добутку парних чисел першого десятка.

procedure TForm1.Button1Click(Sender: TObject);
  var i,d:integer;
begin
 d:=1;
 i:=2;
 while i<=10 do
 begin
 Memo1.Lines[i]:=inttostr(i);
 d:=d*i;
 i:=i+2;
 end;
 Edit1.Text:=IntToStr(d);
end; 

Вправа 2.5. 

procedure TForm1.Button1Click(Sender: TObject);
  var i:integer;
    s:real;
begin
 s:=0;
 i:=3;
 while i<=9 do
 begin
 Memo2.Lines[i]:='1 / '+inttostr(i);
 s:=s+1/i;
 i:=i+3;
 end;
 Edit1.Text:=FloatToStr(s);
end;   

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

procedure TForm1.Button1Click(Sender: TObject);
var pt,kt,krt,tf,i:real;
  j:integer;
  begin
 pt:=StrToFloat(Edit1.Text);
 kt:=StrToFloat(Edit2.Text);
 krt:=StrToFloat(Edit3.Text);
 i:=pt;
 j:=0;
while i<=kt do
begin
  tf:=9/5*i+32;
  Memo1.Lines[j]:=FloatToStr(i);
  Memo2.Lines[j]:=FloatToStr(tf);
  i:=i+krt;
  j:=j+1;
end;
end; 

Вправа. Генеруємо випадкові числа і знаходимо їх суму. Використовується поле Memo для виведення випадкових чисел.

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
  s,n:real;
begin
 randomize;
 s:=0;
 for i:=1 to 10 do
 begin
   n:=random(20);
   Memo2.Lines[i]:=FloatToStr(n);
   s:=s+n;
 end;
 Edit1.Text:=FloatToStr(s);
end;    

Проект. Форма із кількома сторінками. Обробіток випадкових чисел в циклах

1) Обчислення суми випадкових чисел, які менші 10

procedure TForm1.Button1Click(Sender: TObject);
var i,a,s:integer;
begin
randomize;
s:=0;
for i:=1 to 12 do
begin
 a:=random(20);
 Memo1.Lines[i-1]:=IntToStr(i)+'.    '+IntToStr(a);
 if a>10 Then s:=s+a;
end;
Edit1.Text:=IntToStr(s);
end;   

2) Генерується 8 випадкових цілих чисел. Підрахувати скільки серед них таких, що менші 10.

procedure TForm1.Button2Click(Sender: TObject);
var a,i,k:integer;
begin
randomize;
k:=0;
for i:=1 to 8 do
begin
 a:=random(20);
 Memo2.Lines[i-1]:=IntToStr(i)+'.    '+IntToStr(a);
 if a<10 Then K:=k+1;
end;
Edit2.Text:=IntToStr(k);
end;   

3) Згенерувати 12 випадкових чисел та знайти їх середнє арифметичне

procedure TForm1.Button3Click(Sender: TObject);
var a,i:integer;
  s:real;
begin
randomize;
s:=0;
for i:=1 to 12 do
begin
 a:=random(20);
 Memo3.Lines[i-1]:=IntToStr(i)+'.    '+IntToStr(a);
 s:=s+a;
end;
Edit3.Text:=FloatToStr(s/14);
end;  

4) Серед 10 випадкових чисел всі ті, що більші числа 10, замінити на 0.  

procedure TForm1.Button4Click(Sender: TObject);
var a,i:integer;
begin
randomize;
for i:=1 to 10 do
begin
 a:=random(20);
 Memo4.Lines[i-1]:=IntToStr(i)+'.    '+IntToStr(a);
 If a>10 Then a:=0;
 Memo5.Lines[i-1]:=IntToStr(i)+'.    '+IntToStr(a);
end;
end;