М. Э. Абрамян Programming Taskbook



Pdf көрінісі
бет46/66
Дата11.04.2023
өлшемі0,52 Mb.
#81497
1   ...   42   43   44   45   46   47   48   49   ...   66
в подстроке). Если превосходит длину строки S, то возвращается 0,


Составные типы данных в процедурах и функциях
99
если длина строки меньше N, то анализируются все символы строки,
начиная с ее K-го символа. Если в требуемой подстроке строки вхожде-
ния S
0
отсутствуют, то функция возвращает 0. Вывести значения функции
PosSub для данных строк S
0
и каждой из трех пар положительных це-
лых чисел: (K
1
N
1
), (K
2
N
2
), (K
3
N
3
).
Param38. Описать функцию PosLast(S
0
S) целого типа, возвращающую номер
позиции, начиная с которой в строке содержится последнее вхождение
подстроки S
0
. Считать, что перекрывающихся вхождений подстрок S
0
строка не содержит. Если в строке отсутствуют подстроки S
0
, то
функция возвращает 0. Вывести значения этой функции для пяти данных
пар строк S
0
и S.
Param39. Описать функцию PosK(S
0
SK) целого типа, возвращающую номер
позиции, начиная с которой в строке содержится K-е вхождение под-
строки S
0
(> 0). Если количество вхождений S
0
в строке меньше K, то
функция возвращает 0. Считать, что перекрывающихся вхождений под-
строк S
0
строка не содержит. Вывести значения этой функции для пяти
данных троек: S
0
и K.
Param40. Описать функцию WordK(SK) строкового типа, возвращающую
K-е слово строки (словом считается набор символов, не содержащий
пробелов и ограниченный пробелами или началом/концом строки). Ес-
ли количество слов в строке меньше K, то функция возвращает пустую
строку. Используя эту функцию, выделить из данной строки слова с
данными номерами K
1
K
2
K
3
.
Param41

. Описать процедуру SplitStr(SWN), которая формирует по данной
строке массив слов, входящих в (массив и его размер яв-
ляются выходными параметрами). Словом считается набор символов, не
содержащий пробелов и ограниченный пробелами или началом/концом
строки; предполагается, что строка содержит не более 10 слов. Исполь-
зуя функцию SplitStr, найти количество слов N, содержащихся в данной
строке S, и сами эти слова.
Param42. Описать функцию CompressStr(S) строкового типа, выполняющую
сжатие строки по следующему правилу: каждая подстрока строки S,
состоящая из более чем четырех одинаковых символов C, заменяется тек-
стом вида «С{K}», где — количество символов (предполагается, что
строка не содержит фигурных скобок «{» и «}»). Например, для строки
= «bbbccccce» функция вернет строку «bbbc{5}e». С помощью функции


100
М. Э. Абрамян. Электронный задачник Programming Taskbook 4.5
CompressStr сжать пять данных строк.
Param43. Описать функцию DecompressStr(S) строкового типа, восстанавли-
вающую строку, сжатую процедурой CompressStr (см. задание Param42).
Параметр содержит сжатую строку; восстановленная строка является
возвращаемым значением функции. С помощью функции DecompressStr
восстановить пять данных сжатых строк.
Param44. Описать функцию DecToBin(N) строкового типа, возвращающую
строковое представление целого неотрицательного числа в двоичной
системе счисления. Результирующая строка состоит из символов «0»–«1»
и не содержит ведущих нулей (за исключением представления числа 0).
Используя эту функцию, получить двоичные представления пяти данных
чисел.
Param45. Описать функцию DecToHex(N) строкового типа, возвращающую
строковое представление целого неотрицательного числа в 16-ричной
системе счисления. Результирующая строка состоит из символов «0»–«9»,
«A»–«F» и не содержит ведущих нулей (за исключением представления
числа 0). Используя эту функцию, получить 16-ричные представления
пяти данных чисел.
Param46. Описать функцию BinToDec(S) целого типа, определяющую целое
неотрицательное число по его строковому представлению в двоичной
системе счисления. Параметр имеет строковый тип, состоит из символов
«0»–«1» и не содержит ведущих нулей (за исключением значения «0»).
Используя эту функцию, вывести пять чисел, для которых даны их дво-
ичные представления.
Param47. Описать функцию HexToDec(S) целого типа, определяющую целое
неотрицательное число по его строковому представлению в 16-ричной
системе счисления. Параметр имеет строковый тип, состоит из сим-
волов «0»–«9», «A»–«F» и не содержит ведущих нулей (за исключением
значения «0»). Используя эту функцию, вывести пять чисел, для которых
даны их 16-ричные представления.
Файлы
Param48. Описать функцию IntFileSize(S) целого типа, возвращающую ко-
личество элементов в файле целых чисел с именем S. Если файл не су-
ществует, то функция возвращает 1. С помощью этой функции найти
количество элементов в трех файлах с данными именами.


Составные типы данных в процедурах и функциях
101
Param49. Описать функцию LineCount(S) целого типа, возвращающую коли-
чество строк в текстовом файле с именем S. Если файл не существует,
то функция возвращает 1. С помощью этой функции найти количество
строк в трех файлах с данными именами.
Param50. Описать процедуру InvertIntFile(S), меняющую порядок следования
элементов файла целого типа с именем на противоположный. Если
файл не существует или содержит менее двух элементов, то процедура
не выполняет никаких действий. Обработать с помощью этой процедуры
три файла с данными именами.
Param51


Достарыңызбен бөлісу:
1   ...   42   43   44   45   46   47   48   49   ...   66




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет