Records · Записи
Different types under one name
- AS topic 10.1 asks you to define a record: one identifier holding fields of different types.
TYPE…ENDTYPEnames the record and declares each field.- This is not an A2 class. There are no methods here.
Разные типы под одним именем
- AS тема 10.1 требует определить запись: структуру с одним идентификатором, содержащую поля разных типов.
TYPE…ENDTYPEопределяет имя записи и объявляет каждое поле.- Это не класс A2. Здесь нет методов.
TYPE Student
DECLARE Name : STRING
DECLARE Mark : INTEGER
ENDTYPE
DECLARE S : Student
S.Name ← "Ada"
S.Mark ← 91
OUTPUT S.Name & " " & S.Mark
A field is read with a dot
S.Nameis theNamefield ofS.- You may copy a whole record:
Pupil2 ← Pupil1copies every field. - An array of records uses one index, then the field:
Form[1].Mark.
Поле читается через точку
S.Name— это полеNameструктурыS.- Можно скопировать всю запись:
Pupil2 ← Pupil1копирует все поля. - Массив записей использует один индекс, затем поле:
Form[1].Mark.
TYPE Student
DECLARE Name : STRING
DECLARE Mark : INTEGER
ENDTYPE
DECLARE Form : ARRAY[1:2] OF Student
Form[1].Name ← "Ada"
Form[1].Mark ← 91
Form[2].Name ← "Bo"
Form[2].Mark ← 80
OUTPUT Form[2].Name
Watch out
- Declare the
TYPEbefore youDECLAREa variable of that type. - Enumerated types and pointers are A2 (topic 13.1). They are not in this AS course.
Будьте осторожны
- Объявите
TYPEдо того, как выDECLAREпеременную этого типа. - Перечислимые типы и указатели относятся к A2 (тема 13.1). Они не входят в курс AS.
Common mistakes
- Each field has its own
DECLAREinside theTYPE. ENDTYPEcloses the definition. Forgetting it leaves the type unfinished.
Распространенные ошибки
- Каждое поле имеет свой собственный
DECLAREвнутриTYPE. ENDTYPEзакрывает определение. Его отсутствие оставляет тип незавершенным.
Now you try
- Define a record, store two fields, and output them.
Теперь попробуйте сами
- Определите запись, сохраните два поля и выведите их.
Define a Student record with Name and Mark. Store Ada and 91, and output Ada 91. · Определите структуру Student с полями Name и Mark. Запишите в неё значения Ada и 91 и выведите поле Ada 91.
Click Run to see the output here. · Нажмите Запустить, чтобы увидеть результат здесь.
An array Form of two students is partly filled below. Store Bo as the second name and output it. · Массив Form из двух студентов частично заполнен ниже. Запишите Bo как второе имя и выведите его.
Click Run to see the output here. · Нажмите Запустить, чтобы увидеть результат здесь.
The array Form of two students is filled in below. Add up Form[1].Mark and Form[2].Mark with a FOR loop and output the total (171). · Массив Form из двух студентов заполнен ниже. Сложите Form[1].Mark и Form[2].Mark с помощью цикла FOR и выведите сумму (171).
Click Run to see the output here. · Нажмите Запустить, чтобы увидеть результат здесь.