
- •Тип даних − запис
- •1 Мета роботи
- •Основнi теоретичнi вiдомостi
- •Основні поняття
- •Описання даних типу ”запис”
- •Робота з даними типу “запис”
- •Оператор приєднання. Записи з варiантами
- •3 Приклад складання програми із записами
- •Текст модуля програми.
- •Контрольнi запитання
- •5 Лабораторне завдання
- •Iндивiдуальнi завдання
3 Приклад складання програми із записами
Завдання. Скласти проект програми, яка створює масив даних типу запис (до 20 записів) з відомостями про абітурієнтів: прізвище, середній бал атестату, країна та область, з якої прибув абітурієнт. Вивести масив з усією введеною інформацією. Вивести відомості про абітурієнтів, які закінчили школу з медаллю.
Ф
орму
та результати роботи проекту програми
наведено на рис 10.1.
На формі використовано компоненти :
- для значень “Країна” – компонент ComboBox1 (початкові значення: “Україна”, “Росія”, “Молдова”, “Грузія” введені через властивість Items; властивість для опрацювання у программі – Text);
- для значень “Медалі” – компонент RadioGroup1 (початкові значення: “золота”, “срібна”, “немає” введені через властивість Items; властивість для опрацювання в програмі – ItemIndex);
- для значень “Область”, “Прізвище” та “середній бал” – компоненти Edit1, Edit2, Edit3.
Текст модуля програми.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
ComboBox1: TComboBox;
Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel;
RadioGroup1: TRadioGroup;
Button1: TButton; Button2: TButton; Button3: TButton;
Button4: TButton; Button5: TButton;
Memo1: TMemo; Memo2: TMemo;
Edit1: TEdit; Edit2: TEdit; Edit3: TEdit;
procedure TForm1.FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
…………………………..
implementation
{$R *.DFM}
Type abitur = record
country: string[10];
oblast: string[15];
family: string[12];
sr_bal: real;
medal: char;
end;
{Опис глобальних параметрів – масиву записів та їхньої кількості }
var m_zap:array[1..20]of abitur; {масив записів}
k:integer; {поточна кількість введених записів}
// Підпрограма початкових значень проекту
procedure TForm1.FormCreate(Sender: TObject);
begin
k:=0;
end;
// Підпрограма кнопки ” Додати запис”
procedure TForm1.Button1Click(Sender: TObject);
begin
k:=k+1;
with m_zap[k] do
begin
country:=ComboBox1.text;
oblast:=Edit1.text;
family:=Edit2.text;
sr_bal:=StrToFloat(Edit3.Text);
Case RadioGroup1.ItemIndex of
0: medal:='з';
1: medal:='с';
2: medal:='н';
end;
end;
end;
// Підпрограма кнопки ” Очистити”
procedure TForm1.Button2Click(Sender: TObject);
begin
k:=0;
СomboBox1.Clear;
Edit1.Clear; Edit2.Clear; Edit3.Clear;
memo1.Clear;
end;
// Підпрограма кнопки ” Переглядання усіх записів”
procedure TForm1.Button3Click(Sender: TObject);
var sbal,dan:string; smed:string; i:integer;
begin
memo1.Clear;
Memo1.Lines.Add(‘| Прізвище | Країна | Область | Середній бал| Медаль|’);
for i:=1 to k do
with m_zap[i] do
begin
case medal of
'з': smed:='золота';
'с': smed:='срібна';
'н': smed:='немає';
end;
str(sr_bal:5:2,sbal);
dan:=family+' | '+country+' | '+oblast+ ' | '+ sbal+' | '+ smed;
memo1.Lines.Add(dan);
end;
end;
// Підпрограма кнопки ” Вибір записів за умовою”
procedure TForm1.Button4Click(Sender: TObject);
var sbal,dan:string; smed:string;i:integer;
begin memo2.Lines.Add('Медалисты');
for i:=1 to k do
with m_zap[i] do
if (medal='з') Or (medal='с') then
begin
case medal of
'з': smed:='золотая';
'с': smed:='серебрянная';
end;
dan:=family+' | '+country+' | '+ smed;
memo2.Lines.Add(dan);
end;
end;
// Підпрограма кнопки ” Вихід”
procedure TForm1.Button5Click(Sender: TObject);
begin
close
end;
end.