![]()
|
||||||||||||||||||||||||||||||||||||||
Вариант решения задачи на языке ПаскальВариант решения задачи на языке Паскаль program Editor1; const n=125; {длинацепочки} var s: string[n]; i, p3, p8: integer; begin s:='8'; {исходнаястрока} for i:=1 to n-1 do s:=s+'8'; p3:=Pos ('333', s); {ищем 333} p8:=Pos ('888', s); {ищем 888} while (p3>0) or (p8>0) do begin if p3>0 then {если нашлось 333} begin {заменить(333, 8)} s[p3]:='8'; Delete(s, p3+1, 2); p8:=0; end; if p8>0 then {если нашлось 888} begin {заменить (888, 3)} s[p8]:='3'; Delete(s, p8+1, 2); end; p3:=Pos ('333', s); p8:=Pos ('888', s); end; writeln(s); {вывод результата} end. Вопросы и задания 1. Какое максимальное значение длины цепочки (n) можно использовать в программе Editor1 при решении задач, аналогичных задаче 1?
2. Протестируйте программу Editor1 при различных значениях n. Результаты запишите в таблицу 1. Таблица 1
3. Ниже приведены некоторые наборы символов. Подчеркните те из них, которые нельзя получить в результате работы программы Editor1. 3, 8, 38, 83, 88, 338, 383,388, 883, 3388, 8833, 8883.
4. В результате работы программы Editor1 получили в ответе 338. Какова минимальная длина исходной строки?
5. Какая строка будет выведена на экран монитора в результате применения программы Editor1 к строке, состоящей из 127 идущих подряд цифр «9»? В ответе запишите полученную строку.
6. Ниже приведен фрагмент программы Editor1, в двух строках которого были внесены изменения. Для Вашего удобства внесенные изменения выделены полужирным шрифтом. … fori:=1 to n-1 do s:=s+'8'; p3:=0; {ищем 333} p8:=1; {ищем 888} while (p3>0) or (p8>0) do … Можно ли внесенные изменения считать правильными? (Приведите развернутый ответ)
7. В программе Editor1 есть два похожих фрагмента, которые приведены ниже. Фрагменты существенно отличаются оператором присваивания p8:=0. Для Вашего удобства оператор выделен полужирным шрифтом. Объясните необходимость оператора p8:=0 в программе.
8. Измените программу Editor1 так, чтобы в процессе её работы а) выводились промежуточные состояния строки данных (вывод «по шагам»); б)пользователь во время диалога с компьютером мог ввести длину исходной строки, определяющий её вид символ, образец для поиска и образец для замены.
|
||||||||||||||||||||||||||||||||||||||
|