Изменение раскладки строки с русской на английскую и наоборот - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Программа такого типа ВХОД ДАННЫХ: Привет ВЫХОД ДАННЫХ: Ghbdtn или ВХОД ДАННЫХ: Hello ВЫХОД ДАННЫХ Руддщ Как вы уже догодалисть надо сделать програаму которая будем менять расклдаки с англ на русский или с русского на англ.(Как Punto Switcher) Помогите срочно надо...

Решение задачи: «Изменение раскладки строки с русской на английскую и наоборот»

textual
Листинг программы
begin
  var sEngKey := '@#$^&QWERTYUIOP{}ASDFGHJKL:"ZXCVBNM<>?qwertyuiop[]asdfghjkl;''zxcvbnm,.';
  var sRusKey := '"№;:?ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,йцукенгшщзхъфывапролджэячсмитьбю.';
  
  var s: string := ReadString();
  var b := Pos(s[1], sEngKey) > 0;
  for var i: integer := 1 to s.Length do 
    s[i] := b ? sRusKey[Pos(s[i], sEngKey)] : sEngKey[Pos(s[i], sRusKey)];
  writeln(s); 
end.

Объяснение кода листинга программы

  1. В первой строке объявлены две константы: sEngKey и sRusKey. Они содержат символы, которые соответствуют друг другу на английском и русском языках.
  2. Далее, вторая строка содержит символы, которые соответствуют друг другу на русском и английском языках.
  3. В третьей строке вводится исходная строка s, которую необходимо преобразовать.
  4. В четвертой строке определяется, является ли первый символ строки английским символом. Если это так, то переменная b становится истинной.
  5. В цикле от 1 до длины строки происходит замена каждого символа на соответствующий ему символ из другой строки (sRusKey или sEngKey). Если b равно true, то используется sRusKey, иначе используется sEngKey.
  6. В последней строке выводится преобразованная строка s.

Оцени полезность:

7   голосов , оценка 4.143 из 5
Похожие ответы