Дополнительные задания на обработку строк

 

String58. Дана строка, содержащая полное имя файла, то есть имя диска,

список каталогов (путь), собственно имя и расширение. Выделить из этой

строки имя файла (без расширения).

String59. Дана строка, содержащая полное имя файла, то есть имя диска,

список каталогов (путь), собственно имя и расширение. Выделить из этой



78


М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6

 

 

строки расширение файла (без предшествующей точки).


String60. Дана строка, содержащая полное имя файла. Выделить из этой стро-

ки название первого каталога (без символов «\»). Если файл содержится

в корневом каталоге, то вывести символ «\».

String61. Дана строка, содержащая полное имя файла. Выделить из этой стро-

ки название последнего каталога (без символов «\»). Если файл содер-

жится в корневом каталоге, то вывести символ «\».

String62. Дана строка-предложение на русском языке. Зашифровать ее, выпол-

нив циклическую замену каждой буквы на следующую за ней в алфавите

и сохранив при этом регистр букв («А» перейдет в «Б», «а» — в «б», «Б»

— в «В», «я» — в «а» и т. д.). Букву «ё» в алфавите не учитывать («е»

должна переходить в «ж»). Знаки препинания и пробелы не изменять.

String63◦. Дана строка-предложение на русском языке и число K (0 < K < 10).

Зашифровать строку, выполнив циклическую замену каждой буквы на

букву того же регистра, расположенную в алфавите на K -й позиции после

шифруемой буквы (например, для K = 2 «А» перейдет в «В», «а» — в «в»,

«Б» — в «Г», «я» — в «б» и т. д.). Букву «ё» в алфавите не учитывать, знаки

препинания и пробелы не изменять.

String64. Дано зашифрованное предложение на русском языке (способ шиф-

рования описан в задании String63) и кодовое смещение K (0 < K < 10).

Расшифровать предложение.

String65. Дано зашифрованное предложение на русском языке (способ шифро-

вания описан в задании String63) и его расшифрованный первый символ C.

Найти кодовое смещение K и расшифровать предложение.

String66. Дана строка-предложение. Зашифровать ее, поместив вначале все

символы, расположенные на четных позициях строки, а затем, в обратном

порядке, все символы, расположенные на нечетных позициях (например,

строка «Программа» превратится в «ргамамроП»).

String67. Дано предложение, зашифрованное по правилу, описанному в зада-

нии String66. Расшифровать это предложение.

String68. Дана строка, содержащая цифры и строчные латинские буквы. Если

буквы в строке упорядочены по алфавиту, то вывести 0; в противном

случае вывести номер первого символа строки, нарушающего алфавитный

порядок.

String69. Дана строка, содержащая латинские буквы и круглые скобки. Ес-

ли скобки расставлены правильно (то есть каждой открывающей соот-



Двоичные файлы



 

 

ветствует одна закрывающая), то вывести число 0. В противном случае

вывести или номер позиции, в которой расположена первая ошибочная за-

крывающая скобка, или, если закрывающих скобок не хватает, число −1.

String70◦. Дана строка, содержащая латинские буквы и скобки трех ви-

дов: «()», «[]», «{}». Если скобки расставлены правильно (то есть каждой

открывающей соответствует закрывающая скобка того же вида), то выве-

сти число 0. В противном случае вывести или номер позиции, в которой

расположена первая ошибочная скобка, или, если закрывающих скобок

не хватает, число −1.

 

Двоичные файлы

 

 

Условие вида «дан файл (целых чисел, вещественных чисел и т. д.)» озна-

чает, что в наборе исходных данных указано имя данного файла (текстовая

строка), а сам исходный файл существует и находится в текущем каталоге.

Если существование исходных файлов требуется проверять в ходе выполне-

ния задания, то это особо оговаривается в формулировке задания. Элементы

исходных файлов следует считывать с помощью стандартных процедур ис-

пользуемого языка программирования.

Если в задании требуется создать новый файл, то имя создаваемого файла

также входит в набор исходных данных и обычно является последним элемен-

том этого набора. Записывать элементы в создаваемые (или модифицируемые)

файлы следует с помощью стандартных процедур используемого языка про-

граммирования.

Под размером типизированного файла всегда подразумевается количество

содержащихся в нем элементов указанного типа (а не количество байтов,

как это принято в операционной системе). В заданиях предполагается, что

файловые элементы нумеруются от 1, поэтому в языке Pascal для перехода к

K -му элементу файла F необходимо использовать процедуру Seek(F, K − 1).

Если о минимальном размере исходного файла в задании ничего не ска-

зано, то предполагается, что он равен 2 (то есть файл содержит по крайней

мере два элемента). Максимальный размер исходных файлов не устанавлива-

ется, поэтому при решении заданий не следует использовать вспомогательные

массивы, содержащие все элементы исходных файлов, однако допускается ис-

пользование вспомогательных файлов.



80


М. Э. Абрамян. Электронный задачник Programming Taskbook 4.6


 

 



/cgi-bin/footer.php"; ?>