Структуры данных: структуры (PascalABC.NET): различия между версиями
Перейти к навигации
Перейти к поиску
Строка 1: | Строка 1: | ||
+ | {{TOCRight}} | ||
== Записи == | == Записи == | ||
* [http://pascalabc.net/downloads/pabcnethelp/index.htm?page=LangGuide/Types/records.html Записи (документация)] | * [http://pascalabc.net/downloads/pabcnethelp/index.htm?page=LangGuide/Types/records.html Записи (документация)] |
Текущая версия на 15:11, 16 июня 2021
Записи
Задачи
Длина отрезка между двумя точками
1 type
2 Point = record
3 x, y: real;
4 end;
5 function Count(p1, p2: Point): real;
6 begin
7 var length := sqrt((p1.x-p2.x)**2 + (p1.y-p2.y)**2);
8 Count := length;
9 end;
10
11 Begin
12 var p1, p2: Point;
13 p1.x := 0;
14 p1.y := 0;
15 p2.x := 1;
16 p2.y := 1;
17 var res := Count(p1, p2);
18 Writeln($'Длинна отрезка равна {res}');
19 end.
Правильность даты
1 type
2 DateRecord = record
3 day: integer;
4 month: integer;
5 year: integer;
6 end;
7 function DateOK(date: DateRecord): boolean;
8 Begin
9 if (date.day < 0) or
10 (date.month < 0) or
11 (date.year < 0) then
12 DateOK := false
13 else
14 begin
15 if (not (date.month in [1..12])) then
16 begin
17 DateOK := false;
18 end
19 else
20 begin
21 if (not(date.day in [1..31])) then
22 DateOK := false
23 else
24 DateOK := true;
25 end;
26 end;
27 end;
28
29 Begin
30 var dt : DateRecord;
31 dt.day := 31;
32 dt.month := 2;
33 dt.year := 2000;
34 var res := DateOK(dt);
35 Writeln($'{res}');
36 end.