Написать эссе на тему: программирование алгоритмов только правильно надо
184
319
Ответы на вопрос:
Принятые в программе дополнительные к условию соглашения: 1. разделителями между словами считаются любые символы, включенные к константу delim 2. все символы, не входящие в delim, образуют алфавит (т.е. "буквы"), из которого может быть составлено каждое слово 3. количество разделителей, окружающих каждое слово, ограничено только здравым смыслом. все разделители будут переданы в строку результата без изменения. 4. если слово содержит только один символ, оно не изменяется, несмотря на то, что единица - нечетное число. в противном случае такое слово было бы исключено. к тому же, слово длиной в один символ не имеет "средней буквы" const delim = " .,; : " dim s as string, s1 as string, word as string, wd as string dim i as integer, n as integer, k as integer input "введите строку: ", s 'обеспечить наличие пробела за последним словом if instr(delim, right$(s, 1)) = 0 then s = s + " " 'начальные присваивания n = len(s): s1 = "": i = 1 do while i < = n 'просматриваем входную строку символ за символом 'ищем первый непробельный символ wd = "" 'qq do while (instr(delim, mid$(s, i, 1)) < > 0) and (i < = n) wd = wd + mid$(s, i, 1) i = i + 1 loop 'выделяем очередное слово, за которым следует пробельный символ word = "" do while (instr(delim, mid$(s, i, 1)) = 0) and (i < = n) word = word + mid$(s, i, 1) i = i + 1 loop 'найдено ли слово? k = len(word) if k > 0 then 'если слово найдено ' вырезается средний символ при нечетной длине if (k > 1) and (k mod 2 < > 0) then k = (k - 1) \ 2 word = left$(word, k) + right$(word, k) end if ' 'добавляем найденное слово через wd к выходной строке s1 = s1 + wd + word end if loop print "результат: " + s1 end примеры работы программы: 1. обычный текст: слова через один пробел введите строку: а роза упала на лапу азора результат: а роза упла на лапу азра 2. использовано больше одного пробела и разделители : и ! введите строку: пример №2: ура! мы ломим: гнутся шведы! результат: пример №2: уа! мы лоим: гнутся швды! 3. использовано несколько непробельных разделителей подряд введите строку: пример --№3--: какое небо результат: пример --№3--: каое небо
Популярно: Информатика
-
vkuke07.06.2020 05:36
-
macglok1204.06.2021 15:20
-
egorkorotenko28.12.2020 23:28
-
jskzva114.07.2022 03:08
-
UTOYKA22810.03.2023 11:56
-
lolololololf22.02.2021 05:54
-
8181000024.01.2020 20:53
-
anjelanartokova12.08.2021 03:31
-
Катер00712.05.2023 01:26
-
fiestrigha00p01bgj26.10.2020 04:48