Объяснение:
Задание 1
program bukva;
const R=[' ','.',',',';',':','?','!','-']; // разделители
var
s,bukv:string;
i,kol,len:integer;
procedure UpCaseRus(var s:string);
{русские в верхний регистр}
var i:integer;
begin
for i:=1 to length(s) do
if s[i] in ['а'..'п'] then s[i]:=chr(ord(s[i])-32)
else if s[i] in ['р'..'я'] then s[i]:=chr(ord(s[i])-80)
else if s[i]='ё' then s[i]:='Ё';
end;
begin
readln(s);
readln(bukv);
UpCaseRus(s);
UpCaseRus(bukv);
For i:=length(s) downto 2 do
if ((s[i] in R) and (s[i-1] in R)) then delete(s,i,1);
len:=length(s);
kol:=0;
for i:=len downto 1 do
begin
if s[i] in R then
if s[i+1]=bukv then kol:=kol+1;
end;
if s[1]=bukv then kol:=kol+1;
writeln('Слов на букву '+bukv+' ',kol);
readln;
end.
Задание 2
const r=[' ','.',',',';',':','?','!','-'];
var
s:string;
i,kol,d:integer;
begin
readln(s);
len:=length(s);
kol:=0; d:=0;
For i:=length(s) downto 2 do
if ((s[i] in r) and (s[i-1] in r)) then delete(s,i,1);
for i:=1 to length(s) do
begin
if s[i] in r then kol:=kol+1
else if (s[i] in ['0'..'9']) then d:=d+1;
end;
writeln('Слов всего ',kol+1);
writeln('Цифр в тексте ',d);
readln;
end.
[Текст из сниппета]
[Припев]
Эти цепи на мне, сук, лавэ
Сотка тыщ на Black LV
Сотни сук хотят ко мне
Сотни сук хотят ко мне
Как дела? Как дела?
Это новый Cadillac
Делать деньги, делать деньги
Делать деньги, бл*ть, вот так (few-few)
[Куплет]
...
Быстрей, посмотри
Вам подарок, а мне часы
Drip на шее, всё под жопой
Мне чуть больше двадцати
[Припев]
Эти цепи на мне, сук, лавэ
Сотка тыщ на Black LV
Сотни сук хотят ко мне
Сотни сук хотят ко мне
Как дела? Как дела?
Это новый Cadillac
Делать деньги, делать деньги
Делать деньги, бл*ть, вот так (few-few)