Составить программу, которая бы по русскому названию языка программирования выводила...

0 голосов
50 просмотров

Составить программу, которая бы по русскому названию языка программирования выводила английское название этого языка. Паскаль


Информатика (51 баллов) | 50 просмотров
0

Я так понимаю нужна программа перевода с русского в транслит и обратно?

Дан 1 ответ
0 голосов

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.

(5.1k баллов)
0

такой вариант у нас уже есть, надо по проще и понятнее без лишнего

0

Тогда уточняйте условия задания, т.к. на данный момент все сводится к двум строчкам кода: ввести строку, сравнить с эталоном и вывести ответ.