Напишите программы на языке ПаскальABC для заданий 3 и 4 . Тема ,,Перебор в строковых велечинах"
Приложения:
Ответы
Ответ дал:
1
PascalABC.NET
Задание 3:
- ### RS.Split(' ').Sel(w → w[^1] in ',!?.' ? w[:^1]+'сла'+w[^1] : w+'сла').Pr
Задание 4:
- ##
- var lat := 'shh sh zh ch je jo ju ja a b v g d e z i j k l m n o p r s t u f h x c w " y '' q'.Split(' ');
- var rus := 'щ ш ж ч е ё ю я а б в г д е з и й к л м н о п р с т у ф х х ц ш ъ ы ь э'.Split(' ');
- var s := ReadString;
- lat.ForEach((c,i) → begin
- s := s.Replace(c, rus[i]);
- s := s.Replace(c.ToUpper, rus[i].ToUpper)
- end);
- s.Print
Приложения:
velikiumnik:
Слушай, можешь пожалуйста расписать 3 более подробно и просто . Очень прошу!
### — замена begin-end блока + подключение модуля SF (третья решетка). Можно не подключать, это исключительно для "укорочения" кода. RS = ReadString, Sel = Select, Pr = Print и пр.
Значит. Сначала вызываем RS (ReadString), он запрашивает ввод строки с клавиатуры и возвращает полученное значение (типа string). Затем с помощью метода расширения Split разбиваем нашу строку на массив, используя указанный символ (' ') в качестве разделителя. Получаем массив слов (со знаками). Далее с помощью Sel (Select) проецируем каждый элемент массива по заданному правилу.
Берем за обозначение элемента 'w'. Тогда, если последний символ нашего элемента (w[^1], первый с конца) находится в строке определённых знаков (',!?.'), то возвращаем (проецируем элемент как) срез слова до последнего символа (т.е. все символы кроме последнего) + 'сла' + этот последний символ.
Иначе (т.е. если последний символ не находится среди указанных нами знаков), возвращаем сам исходный элемент (w) + 'сла'. После этого, с помощью Pr (Print) выводим элементы нашей полученной последовательности на экран, использую пробел в качестве разделителя.
Спасибо огромное!
Вас заинтересует
2 года назад
2 года назад
8 лет назад
9 лет назад