Изменение раскладки строки с русской на английскую и наоборот - 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.
Объяснение кода листинга программы
- В первой строке объявлены две константы: sEngKey и sRusKey. Они содержат символы, которые соответствуют друг другу на английском и русском языках.
- Далее, вторая строка содержит символы, которые соответствуют друг другу на русском и английском языках.
- В третьей строке вводится исходная строка s, которую необходимо преобразовать.
- В четвертой строке определяется, является ли первый символ строки английским символом. Если это так, то переменная b становится истинной.
- В цикле от 1 до длины строки происходит замена каждого символа на соответствующий ему символ из другой строки (sRusKey или sEngKey). Если b равно true, то используется sRusKey, иначе используется sEngKey.
- В последней строке выводится преобразованная строка s.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д