Records · Registros
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.
Tipos diferentes sob um mesmo nome
- O tópico AS 10.1 pede para definir um registro: um identificador que contém campos de tipos diferentes.
TYPE…ENDTYPEnomeia o registro e declara cada campo.- Isso não é uma classe A2. Não há métodos aqui.
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.
Um campo é lido com um ponto
S.Nameé o campoNamedeS.- Você pode copiar um registro inteiro:
Pupil2 ← Pupil1copia todos os campos. - Uma matriz de registros usa um índice, depois o campo:
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.
Atenção
- Declare o
TYPEantes deDECLAREuma variável desse tipo. - Tipos enumerados e ponteiros são A2 (tópico 13.1). Eles não estão neste curso AS.
Common mistakes
- Each field has its own
DECLAREinside theTYPE. ENDTYPEcloses the definition. Forgetting it leaves the type unfinished.
Erros comuns
- Cada campo tem seu próprio
DECLAREdentro doTYPE. ENDTYPEfecha a definição. Esquecê-lo deixa o tipo incompleto.
Now you try
- Define a record, store two fields, and output them.
Agora você tenta
- Defina um registro, armazene dois campos e exiba-os.
Define a Student record with Name and · e Mark. Store Ada and · e 91, and output Ada 91. · Defina um registro Student com Name e Mark. Armazene Ada e 91, e imprima Ada 91.
Click Run to see the output here. · Clique em Executar para ver a saída aqui.
An array Form of two students is partly filled below. Store Bo as the second name and output it. · Um array Form de dois alunos está parcialmente preenchido abaixo. Armazene Bo como o segundo nome e imprima-o.
Click Run to see the output here. · Clique em Executar para ver a saída aqui.
The array Form of two students is filled in below. Add up Form[1].Mark and · e Form[2].Mark with a FOR loop and output the total (171). · O array Form de dois alunos está preenchido abaixo. Some Form[1].Mark e Form[2].Mark com um loop FOR e imprima o total (171).
Click Run to see the output here. · Clique em Executar para ver a saída aqui.