Интернет символ «@» появился несколько сотен лет назад в средневековых монастырях. Его использовали для обозначения латинского предлога «ad» (в современном английском — «at»), хотя некоторые исследователи утверждают, что «собаку» придумали итальянские монахи.
Как бы то ни было, это новшество вскоре переняли торговцы: одним из первых, кто использовал символ вне стен монастыря, был флорентийский купец Франческо Лапи, в одном из своих писем обозначивший «собакой» амфору — стандартную в те времена меру объёма, примерно равную 26-ти л.
Постепенно знак стал приобретать и другие значения, например, в португальском, испанском и французском языках до символа «@» обычно сокращают старинную испанскую меру веса под названием «arroba», равную 11,502 кг. Символ, похожий на «собаку», исследователи обнаружили в русских книгах XVI–XVII веков, в числе которых — Судебник Ивана Грозного, датируемый 1550-м годом, а к XIX-му веку знак уже получил широкое распространение в качестве обозначения единицы товара.
Рэй Томлинсон
В 1963-м году появилась кодировка стандарта ASCII, в числе 95-ти печатных знаков которой присутствовала и «собака», а в 1973-м году члены организации «Internet Engineering Taskforce» закрепили использование знака при разделении имени и домена — эту идею в 1971-м году выдвинул программист Рэй Томлинсон. Массовой «собака» стала в 1996-м году, когда появился сервис «Hotmail».
Кстати, «собакой» символ называют лишь русские и украинцы, в других языках этот знак известен под другими, порой достаточно необычными именами. Итальянцы говорят «chiocciola» («улитка»), в Греции его знают, как «παπακι» — «уточка», в Чехии и Словакии — «zavináč» («рулетик из сельди»), на Тайване используют понятие «小老鼠» (произносится как «сяо лао шу») — «мышка», в Израиле распространено название «שטרודל» — «штрудель», а в Казахстане знак именуют «айқұлақ» — «ухо Луны».
<span>uses crt;
const s='Софокл';
var n,m,i,j,cf,ct:integer;
begin
randomize;
n:=25;
m:=(80)div n;
for i:=1 to n do
begin
gotoXY(m*(i-1),i);
cf:=random(9)+8;//от голубого до желтого
ct:=random(9);//от синего до серого
textbackground(cf);
textcolor(ct);
write(s);
end;
end. попробуй это </span>
<em><u>Вариант для тех, кто любит и понимает множества.</u></em>
const
cs='бвгджз';
var
s:string;
i:integer;
c:char;
p,csg:set of char;
begin
Writeln('Введите текст, разделяя слова запятыми, в конце поставьте точку');
Readln(s);
p:=[];
for i:=1 to Length(cs) do Include(csg,cs[i]); { инициализация множества }
s:=LowerCase(s); { приведение к нижнему регистру }
i:=1; c:=s[1];
while c<>'.' do begin
{ обработка нечетного слова }
while not (c in [',','.']) do begin
if (c in csg) and not (c in p) then Include(p,c);
i:=i+1;
c:=s[i]
end;
{ обработка четного слова }
if c<>'.' then begin i:=i+1; c:=s[i] end;
while not(c in [',','.']) do begin
if (c in csg) and (c in p) then Exclude(p,c);
i:=i+1;
c:=s[i]
end;
if c<>'.' then begin i:=i+1; c:=s[i] end
end;
s:='';
for i:=1 to Length(cs) do if cs[i] in p then Write(cs[i])
end.
<em><u>Тестовое решение:</u></em>
Введите текст, разделяя слова запятыми, в конце поставьте точку
Это,пример,текста,созданного,для,проверки,программы.
гд
<em><u>Вариант для тех, кто с множествами не дружит:</u></em>
const
cs='бвгджз';
var
s,p:string;
i,n:integer;
c:char;
begin
Writeln('Введите текст, разделяя слова запятыми, в конце поставьте точку');
Readln(s);
p:=''; n:=Length(cs);
s:=LowerCase(s); { приведение к нижнему регистру }
i:=1; c:=s[1];
while c<>'.' do begin
{ обработка нечетного слова }
while (c<>',') and (c<>'.') do begin
if (Pos(c,cs)>0) and (Pos(c,p)=0) then p:=p+c;
i:=i+1;
c:=s[i]
end;
{ обработка четного слова }
if c<>'.' then begin i:=i+1; c:=s[i] end;
while (c<>',') and (c<>'.') do begin
if (Pos(c,cs)>0) and (Pos(c,p)=1) then p[Pos(c,p)]:='*';
i:=i+1;
c:=s[i]
end;
if c<>'.' then begin i:=i+1; c:=s[i] end
end;
for i:=1 to Length(cs) do if Pos(cs[i],p)>0 then Write(cs[i])
end.
<em><u>Тестовое решение:</u></em>
Введите текст, разделяя слова запятыми, в конце поставьте точку
Данная,фраза,предлагается,для,тестирования.
вг
var a,s,i:integer;
begin
randomize;
s:=0;
for i:=1 to 15 do
begin
a:=random(100);
s:=s+a;
end;
write('s=',s);
end.