102
М. Э. Абрамян. Электронный задачник Programming Taskbook 4.5
строковый файл с именем
S в текстовый файл с тем же именем. Используя
эту процедуру, преобразовать два данных строковых файла с именами
S
1
и
S
2
в текстовые.
Param56. Описать процедуру TextToStringFile(
S), преобразующую текстовый
файл с именем
S в двоичный строковый файл с тем же именем. Используя
эту процедуру, преобразовать два данных текстовых файла с именами
S
1
и
S
2
в строковые.
Param57. Описать процедуру EncodeText(
S,
K), которая шифрует текстовый
файл с именем
S, выполняя циклическую замену каждой русской буквы
на букву того же регистра, расположенную в алфавите на
K-й позиции
после шифруемой буквы (0 <
K < 10). Например, при
K = 3 «А» перейдет
в «Г», «я» — в «в». Букву «ё» в алфавите не учитывать, считая, что за
буквой «е» сразу идет «ж». Символы, не являющиеся русскими буквами,
при шифровании не изменять. Используя эту процедуру и зная кодовое
смещение
K, зашифровать файл с указанным именем.
Param58. Описать процедуру DecodeText(
S,
K), которая дешифрует текстовый
файл с именем
S, зашифрованный с использованием кодового смещения
K
(способ шифрования описан в задании Param57). Используя эту процедуру
и зная кодовое смещение
K, расшифровать файл с указанным именем.
Записи
При вводе и выводе каждой даты в заданиях Param59
−Param63 вначале
указывается день, затем номер месяца, затем год. При вводе каждой точки в
заданиях Param64
−Param70 вначале указывается ее абсцисса (
x-координата),
затем ее ордината (
y-координата).
Param59. Описать тип TDate — запись с полями целого типа Day (день),
Month (месяц) и Year (год) — и функцию LeapYear(
D) логического типа
с параметром типа TDate, которая возвращает
TRUE
, если год в дате
D
является високосным, и
FALSE
в противном случае. Вывести значение
функции LeapYear для пяти данных дат (предполагается, что все даты
являются правильными).
Високосным считается год, делящийся на 4, за
исключением тех годов, которые делятся на 100 и не делятся на 400.
Param60. Используя тип TDate и функцию LeapYear (см. задание Param59),
описать функцию DaysInMonth(
D) целого типа с параметром типа TDate,
которая возвращает количество дней для месяца, указанного в дате
D.
Составные типы данных в процедурах и функциях
103
Вывести значение
функции DaysInMonth для пяти данных дат (предпола-
гается, что все даты являются правильными).
Param61. Используя тип TDate и функцию DaysInMonth (см. задания Param59
и Param60), описать функцию CheckDate(
D) целого типа с параметром ти-
па TDate, которая проверяет правильность даты, указанной в параметре
D.
Если дата
D является правильной, то
функция возвращает 0; если в дате
указан неверный номер месяца, то функция возвращает 1; если в дате
указан неверный день для данного месяца, то возвращается 2. Вывести
значение
функции CheckDate для пяти данных дат.
Param62. Используя тип TDate и
функции DaysInMonth и CheckDate (см.
задания Param59
−Param61), описать процедуру PrevDate(
D) с параметром
типа TDate, которая преобразует дату
D к предыдущей дате (если дата
D
является неправильной, то она не изменяется). Запись
D является входным
и выходным параметром. Применить процедуру PrevDate к пяти данным
датам.
Param63. Используя тип TDate и функции DaysInMonth и CheckDate (см.
задания Param59
−Param61), описать процедуру NextDate(
D) с параметром
типа TDate, которая преобразует дату
D к следующей дате (если дата
D
является неправильной, то она не изменяется). Запись
D является входным
и выходным параметром. Применить процедуру NextDate к пяти данным
датам.
Param64. Описать тип TPoint — запись с полями вещественного типа
X и
Y
(координаты точки на плоскости) — и функцию Leng(
A,
B) вещественного
типа, находящую длину отрезка
AB на плоскости по координатам его
концов:
|
AB| =
q
(
A.
X − B.
X )
2
+ (
A.
Y − B.
Y )
2
(
A и
B — параметры типа TPoint). С помощью этой функции найти длины
отрезков
AB,
AC,
AD, если даны координаты точек
A,
B,
C,
D.
Param65. Используя тип TPoint и функцию Leng (см. задание Param64), опи-
сать тип TTriangle — запись с полями
A,
B,
C типа TPoint (вершины
треугольника) — и функцию Perim(
T) вещественного типа, находящую
периметр треугольника
T (
T — параметр типа TTriangle). С помощью
этой
функции найти периметры треугольников ABC,
ABD,
ACD, если да-
ны координаты точек
A,
B,
C,
D.
Param66. Используя типы TPoint, TTriangle и функции Leng и Perim (см.
задания Param64 и Param65), описать функцию Area(
T) вещественного
104
М. Э. Абрамян. Электронный задачник Programming Taskbook 4.5
типа, находящую площадь треугольника
T (
T — параметр типа TTriangle)
по
формуле Герона:
Достарыңызбен бөлісу: