«аочное дистанционное образование с получением государственного диплома через Internet










ѕолучить информацию о поступлении
 
√лавна€ Ќовости  арта сайта ‘отоальбом √остева€ книга  онтакты

“оп 7 лучшие кроссовки дл€ тренировки nike air max 95 brandshop.ru.

{LTS}

 

”пражнение є1 дл€ работы с запис€ми

”пражнение 1. —оздадим программу, организующую ввод следующих данных об учащихс€: им€, фамили€, возраст, школа, класс, и записывающую их в массив записей, а затем вывод€щую сведени€ об учащихс€ по номеру записи и по номеру класса.

“ак как сведени€ об учащихс€ представл€ют собой данные разных типов, то дл€ их описани€ в разделе типов введем тип Record_Type Ц запись следующей структуры:

Record_Type = Record
Name : String[10];
SurName : String[20];
Age : Byte;
School : Integer;
Class : Byte;
End;

где

Name Ц поле дл€ записи имени учащегос€ (строка до 10 символов);

SurName Ц поле дл€ записи фамилии учащегос€ (строка до 20 символов);

Age Ц поле дл€ записи возраста (так как значение возраста не превысит 255, тип пол€ можно описать как byte);

School Ц поле дл€ записи номера школы (целое число);

Class Ц поле дл€ записи номера класса (целое число).

¬ разделе описани€ переменных опишем массив Record_Array, состо€щий из 10 записей об учащихс€ описанного выше типа Record_Type:

Record_Array : јггау[1 .. 10] of Record_Type;

ƒл€ указани€ номера элемента массива введем переменную Number_of_Array, принимающую целые значени€ от 1 до 10. ƒл€ поиска учащихс€ введем целочисленную переменную Class, котора€ будет принимать значени€ номера класса, заданного с клавиатуры.

ƒл€ ввода данных об учащихс€ напишем процедуру, в которой вывод€тс€ запросы на ввод данных и считываютс€ значени€ этих данных в соответствующие пол€ записи. ƒл€ обращени€ к пол€м записи используем точечную нотацию, т. е. будем указывать им€ записи, а затем, после точки, Ц им€ пол€, например:

Record_Array[Number_of_Array].Name;

ѕроцедура ввода данных в элемент с номером Number_of_Array массива записей Record_Array будет выгл€деть следующим образом:

procedure Input_Data;

begin
Writeln ('¬ведите данные є' ,Number_of_Array,' :');
Write (' ¬аше им€ ? ');
Readln (Record_Array[Number_of_Array].Name);
Write — ‘амили€ ? ');
Readln (Record_Array[Number_of_Array].SurName);
Write (' ¬аш возраст ? ');
Readln (Record_Array[Number_of_Array].Age); .
Write (' Ўкола ? ');
Readln (Record_Array[Number_of_Array].Class);
Write — и класс ? ');
Readln (Record Jrray[Number_of_Array].School);
Writeln
end;

¬ывод на экран информации, хран€щейс€ в одном элементе массива записей, реализуем с использованием предложени€ with ... do, в котором укажем им€ текущей записи Ц элемент с номером Number_of_Array массива записей Record_Array[Number_of_Array], вследствие чего оно будет автоматически присоединено ко всем именам полей, упоминаемым в теле предложени€ with. Ёта процедура будет выгл€деть следующим образом:

procedure Write_Data;
begin
{Haчano процедуры вывода на экран содержимого текущей записи}
with Record Array[Number_of_Array] do {“ело предложени€ with Record_Array [Number_of_Array] do}
Writeln (»м€ : '.Name);
Writein — ‘амили€ : '.SurName);
Writeln — ¬озраст : '.Age);
Writeln — Ўкола : ',School);
Writeln —  ласс : ',Class);
End; { онец тела предложени€ with}
End; { онец процедуры}

¬ первой части основной программы применим оператор for дл€ записи данных о дес€ти учащихс€ в массив записей. ¬ теле этого оператора вызываетс€ процедура Input_Data, котора€ вводит данные в элемент массива с номером Number_of_Array.

for Number_of_Array:=l to 10 do
Input_Data;
Writeln;

ƒл€ вывода сведений об учащемс€ по номеру записи присвоим значение 5 номеру записи Number_of_Array в массиве данных и запишем вызов процедуры Write_Data. Ётот фрагмент программы будет выгл€деть так:

Writeln ('¬ывожу данные о п€том ученике : ');
Writeln;
Number_of_Array:-5;
Write_Data;

ƒл€ поиска учащегос€ по номеру класса запишем вывод запроса на ввод искомого номера класса и считывание его значени€ в переменную Class. ѕосле этого при помощи оператора for, измен€ющего значение параметра Num-ber_of_Array от 1 до 10, выполним просмотр всех элементов массива записей, сравнива€ значение переменной Class со значением соответствующего пол€ текущей записи.

≈сли условие Record_Array[Number_of_Array].Class-Class выполн€етс€, значит, найдена запись об учащемс€, удовлетвор€юща€ условию поиска, поэтому после слова then разместим вызов процедуры Write_Data, котора€ будет выводить значени€ полей данной записи на экран.

—оответствующий фрагмент программы будет выгл€деть следующим образом:

Writeln ('¬ывожу данные по номеру класса : ');
Writeln;
Writeln (' ¬ведите номер класса : ');
Readln (Class);
for Number_of_Array:=l to 10 do
If Record_Array[Number_of_Array].Class = Class then Write_Data;

÷еликом текст программы, организующей ввод данных об учащихс€ в массив записей, а затем вывод€щей сведени€ об учащихс€ по номеру записи и по номеру класса, будет выгл€деть следующим образом:

program Pupil;
type Record_Type = Record {ќписание типа записи}
Name : String[10];
SurName : String[20];
Age : Byte;
School : Integer;
Class : Byte;
end;
var
Record_Array : Array[l .. 10] of Record_Type;
Class : Byte;
procedure Input_Data; {ѕроцедура ввода данных в массив записей}
begin
Writeln ('¬ведите данные є',Number_of_Array,' :');
Write (' ¬аше им€ ? ');
Readln (Record_Array[Number_of_Array].Name);
Write (' ‘амили€ ? ');
Readln (Record_Array[Number_of_Array].SurName);
Write (' ¬аш возраст ? ');
Readln (Record_Array[Number_of_Array].Age);
Write — Ўкола ? ');
Readln (Record_Array[Number_of_Array].Class);
Write (' и класс ? ');
Readln (Record_Array[Number_of_Array].School):
Writeln
End;
procedure Write_Data; {ѕроцедура вывода на экран содержимого текущей записи}
begin
with Record_Array[Number of_Array] do
begin
Writeln (' »м€ : ',Name);
Writeln (' ‘амили€ : ',SurName);
Writeln (' ¬озраст ; ',Age);
Writeln (' Ўкола : ',School);
Writeln ('  ласс : ',Class);
end;
end;
begin {ќсновна€ программа}
for Number_of_Array:=l to 10 do Input_Data;
Writeln;Writeln ('¬ывожу данные о п€том ученике : ');
Writeln;Number_of_Array:=5;
Write_Data;
Writeln ('¬ывожу данные по номеру класса : ');
Writeln;
Writeln (' ¬ведите номер класса : ');
Readln (Class);
for Number_of_Array:=l to 10 do
If Record_Array[Number_of_Array].Class - Class then
Write_Data; end.

ƒл€ проверки работы программы запустите интегрированную среду программировани€. ¬ведите текст программы Pupil и запишите файл на диск под соответствующим именем, а затем откомпилируйте его. ѕроверьте работу программы, выполнив ее в пошаговом режиме с трассировкой процедур и наблюда€ в окне просмотра за изменением значений переменных Num-ber_of_Array, Class, а также элементов массива Record_Array[Number_of_Array].


”знать как сэкономить в кризис моно на сайте ekonom-it.ru

ќперации над множествами ”пражнение 1 ”пражнение 2 ”пражнение 3 ќписание типа "«апись" ”пражнение є2 дл€ работы с запис€ми ”пражнение є2 дл€ обработки строк √рафика в Delphi ”пражнение 1 ”пражнение 2 


 
     
   
 


ѕриглашаем прин€ть участие в круглом столе!
подробнее   >>>
 

»нститут ћенеджмента, Ёкономики и »нноваций начинает набор на курсы повышени€ квалификации!
подробнее   >>>
 

”важемые студенты јЌќ ¬ѕќ »ћЁи»!
подробнее   >>>
 

Ќачинаетс€ набор на курсы повышени€ квалификации!
подробнее   >>>
 

ѕриглашаем прин€ть участие в конференци€х!
подробнее   >>>
 


все новости...

 


–ассылки Subscribe.Ru
—овременное образование
ѕодписатьс€ письмом