Написать программу на языке программирования для задания: натуральное двухзначное число в десятичном представлении, вводимое в текстовое поле (TEdit), вывести в десятичном представлении на естественном языке. Например, 7 – семь, 24 – двадцать четыре, 52 –пятьдесят два.
Пример решения –
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c:integer;
s:string;
begin
a:=StrToInt(Edit1.text); Edit2.Text:=''; s:='';
if a>19 then
begin b:=a div 10; a:=a mod 10;
case b of
2: s:=s+'двадцать ';
3: s:=s+'тридцать ';
4: s:=s+'сорок ';
5: s:=s+'пятьдесят ';
6: s:=s+'шестьдесят ';
7: s:=s+'семьдесят ';
8: s:=s+'восемьдесят ';
9: s:=s+'девяносто ';
end;
end;
case a of
1: s:=s+'один ';
2: s:=s+'два ';
3: s:=s+'три ';
4: s:=s+'четыре ';
5: s:=s+'пять ';
6: s:=s+'шесть ';
7: s:=s+'семь ';
8: s:=s+'восемь ';
9: s:=s+'девять ';
10: s:=s+'десять ';
11: s:=s+'одиннадцать ';
12: s:=s+'двенадцать ';
13: s:=s+'тринадцать ';
14: s:=s+'четырнадцать ';
15: s:=s+'пятнадцать ';
16: s:=s+'шестнадцать ';
17: s:=s+'семнадцать ';
18: s:=s+'восемнадцать ';
19: s:=s+'девятнадцать ';
end;
Edit2.Text:=s;
end; end.
Задача № 13
Написать программу на языке программирования, используя оператор CASE. Для целого числа k от 1 до 99 напечатать фразу «Мне k лет», учитывая при этом, что при некоторых значениях k слово «лет» надо заменить словом «год» или «года». Например, 11 лет, 22 года, 51 год.
Пример решения –
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var k,a:integer;
s:string;
begin
k:=StrToInt(Edit1.Text);
if k>19 then a:=k mod 10
else a:=k;
case a of
1:s:=' год';
2..4:s:=' года';
0,5..19:s:=' лет';
end;
Label2.Caption:='Мне '+IntToStr(k)+s;
end;
end.
Задача № 14
Написать программу на языке программирования для задания: вывести все простые числа от 1 до 1000.
Пример решения –
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var i,j:integer;
f:boolean;
begin
Label1.Caption:='1 2 ';
for i:=3 to 1000 do
begin
f:=false;
for j:=2 to round(sqrt(i)) do
if i mod j=0 then
begin
f:=true;
break;
end;
if f=false then Label1.Caption:=Label1.Caption+IntToStr(i)+' ';