Повторення в 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;