|
|
|||||||||||
|
||||||||||||
Задания.
1.Описать комбинированный тип для представления следующего понятия: а) цена в рублях и копейках, б) время в часах, минутах и секундах, в) адрес (город, улица, дом, квартира), д) экзаменационная ведомость (предмет, номер группы, дата экзамена, 25 строчек сполями: фамилия студента, номер его зачетной книжки, оценка за экзамен),
2. Ответить на следующие вопросы: а) Верно ли, что все поля записи должны быть различных типов? б) Почему при описании записи ее поля могут перечисляться в любом порядке? в) Верно ли, что названия полей записи могут совпадать с именами переменных, констант, и других объектов программы?
3. Type krug=record radius:real; zentr:record x,y:real end end; var k:krug; требуется переменной К присвоить значение, соответствующее кругу радиуса 2.5 с центром в точке (0,1.8). В каких из следующих операторов присоединения правильно решается эта задача, а вкаких нет и почему? а) with K do begin radius:=2.5;x:=0;y:=1.8 end; б) with K do begin radius:=2.5;zentr.x:=0; zentr.y:=1.8 end; в) with K do begin radius:=2.5; with zentr do begin x:=0;y:=1.8 end; end; г) with K, zentr do begin radius:=2.5;x:=0;y:=1.8 end; д) with zentr, K do begin radius:=2.5;x:=0;y:=1.8 end
4. Определить комбинированный тип для представления анкеты школьника, включающий в себя его ФИО, возраст, номер школы и класса и оценки по каким-то пяти предметам. Описать некоторую переменную данного типа и присвоить ей значение, соответствующее следующей анкете: Петров Петр Петрович, 16 лет, 100-я школа, класс 9б, оценки 5, 3, 4, 5, 2.
5. Type complex=record re,im:real end; point=record x,y:real end; var z,w:complex; p:point; re: real; Определить, какие значения будут иметь z,w,p,re после выполнения следующих операторов: with z do begin re:=0;im:=1 end; w:=z; re:=2; with z do re:=1; with z,w do im:=-im; with p do begin x:=re; y:=2 end; Решения (ответы) 1. a) Type zena=record rub:integer; kop:0..99; end; б) Type vremj=record chas:0..23; min,sek:0..59; end; в) Type adres=record gorod:string[30]; uliza:string[40]; dom,kvartira:integer; end; д) Type stroka=pasked array [1..12] of char; vedomost=record predmet:stroka; N_grupp:integer; Dana_ekzamena=record chislo:1..31; mesiz:1..12; god:integer; end; student: array [1..25] of record fam,im:stroka; n:integer; ozenka:2..5; end; end;
2. а) Нет. б) Так как обращение к значению поля записи осуществляется с помощью идентификатора переменной и идентификатора поля. в) Да.
3. Правильно: б), в), г). Неправильно: а) так как zentr - это новая запись и должно использоваться составное имя. д) так как первой идет запись krug.
4. Type anketa= record fio:string; N_shkol,vozrast:integer;
vedomost=record predmet:stroka; N_grupp:integer; Dana_ekzamena=record chislo:1..31; mesiz:1..12; god:integer; end; student: array [1..25] of record fam,im:stroka; n:integer; ozenka:2..5; end; end;
5. z.re=z.im=1; w.re=0; w.im=-1; p.x=p.y=2; re=2. |