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

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

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

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

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

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

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

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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

7   голосов , оценка 4.143 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы