Составить программу, которая бы по русскому названию языка программирования выводила английское название этого языка. Паскаль
Составить программу, которая бы по русскому названию языка программирования выводила английское название этого языка. Паскаль
Ответ(ы) на вопрос:
Const
ru : array[1..33] of Char = ('а','б','в','г','д','е','ё','ж','з','и',
'й','к','л','м','н','о','п','р','с','т',
'у','ф','х','ц','ч','ш','щ','ъ','ы','ь',
'э','ю','я');
en : array[0..33] of String = (' ','a','b','v','g','d','e','ye','zh','z','i',
'y','c','l','m','n','o','p','r','s','t',
'u','f','h','c','ch','sh','sch','`','ы','',
'ea','yu','ja');
{ транскрипцию записал не заглядывая ни в какие справочники - можете кидаться тапками }
Function GetIndex(ss : Char) : Byte;
Var ii : Byte;
Begin
ii:=1;
While (ii<=33) and (LowerCase(ss)<>ru[ii]) do Inc(ii);
If ii in [1..33] then GetIndex:=ii else GetIndex:=0;
end;
Function Trans(S : String) : String;
Begin
If Length(S)>0 then Trans:=en[GetIndex(S[1])]+Trans(Copy(S,2,Length(S)-1))
else Trans:='';
end;
Begin
Writeln(Trans('паскаль'));
Writeln(Trans('ява'));
end.
Не нашли ответ?
Похожие вопросы