Написать программу на языке программирования для задания: в тексте, записанном в объект TMemo, удалить все символы, равные введённому символу.
Пример решения –
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var s,s1:string;
i,j,a,b:integer;
begin
s1:=Edit1.Text;
for i:=0 to Memo1.Lines.Count do
begin
s:=Memo1.Lines.Strings[i];
repeat
b:=0;
a:=pos(s1,s);
if a>0 then delete(s,a,1);
until a=0;
Memo1.Lines.Strings[i]:=s;
end;
end;
end.
Задача № 9
Написать программу на языке программирования для задания: из строки удалить все лишние пробелы. Лишними считаются повторяющиеся пробелы, пробелы в начале и в конце строки.
Пример решения –
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var i,a:integer;
s:string;
begin
s:=Edit1.Text;
repeat
a:=pos(' ',s);
if a>0 then delete(s,a,1);
until a=0;
if s[1]=' ' then delete(s,1,1);
if s[length(s)]=' ' then delete(s,length(s),1);
Edit1.Text:=s;
end;
end.
Задача № 10
Написать программу на языке программирования для задания: определить, является ли введённое слово палиндромом (читается одинаково слева направо и справа налево). Все символы слова имеют одинаковый регистр (либо только маленькие, либо только большие).
Пример палиндрома – слева направо – потоп; справа налево – потоп.
Пример решения –
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
i,f:integer;
begin
s:=Edit1.Text;
f:=0;
for i:=1 to length(s) div 2 do
if s[i]<>s[length(s)-i+1] then
begin
f:=1;
break;
end;
if f=1 then Label2.Caption:=’Не по линдром’
else Label2.Caption:=’Полиндром’;
end;
end.
Задача № 11
Написать программу на языке программирования для задания: даны два слова. Определить, можно ли из первого слова составить второе. Пример – монитор и мотор.
Пример решения –
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var s1,s2:string;
i,j:integer;
f:boolean;
begin
s1:=Edit1.Text;
s2:=Edit2.Text;
f:=true;
//перебор всех символов слова s2
for i:=1 to Length(s2) do
begin
j:=Pos(s2[i],s1); //поиск символа из слова s2 в слове s1
if j=0 then f:=false //если символ отсутствует f=false
else Delete(s1,j,1); //иначе удалить символ из слова s1
end;
//если f=true вывести ‘Можно’, иначе вывести ‘Нельзя’