Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
16
Добавлен:
26.05.2014
Размер:
4.11 Кб
Скачать
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

const n=3;
type
ball=record { описание типа записи }
fizik,matem,progr: integer;
end;
zap=record
fio: string[10]; { поле фамилии студента }
fak: string[3]; { поле названия факультета }
oz: ball; { поле оценок }
sb:real; { поле среднего балла }
end;
ar=array[1..n] of zap; { массив записей }
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Label3: TLabel;
ComboBox1: TComboBox;
Edit2: TEdit;
Label4: TLabel;
Edit3: TEdit;
Label5: TLabel;
Edit4: TEdit;
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
procedure FormActivate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
i:byte;
mas:ar;
x:zap;

implementation

{$R *.DFM}

procedure TForm1.FormActivate(Sender: TObject);
begin
Edit1.SetFocus;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
{ Для ввода массива записей - используем составные имена }
Edit1.Setfocus;
mas[i].fio:=Edit1.Text;
mas[i].fak:=ComboBox1.Text;
mas[i].oz.fizik:=StrToInt(Edit2.Text);
mas[i].Oz.matem:=StrToInt(Edit3.Text);
mas[i].Oz.progr:=StrToInt(Edit4.Text);
Memo1.Lines.Add(mas[i].fio+' '+mas[i].fak+' '+IntToStr(mas[i].oz.fizik)
+' '+' '+IntToStr(mas[i].oz.matem)+' '+IntToStr(mas[i].oz.progr));
inc(i);
if i>n then begin
Button1.Enabled:=False;
exit;
end
else begin
Edit1.clear;
ComboBox1.text:='';
Edit2.clear;
Edit3.clear;
Edit4.clear;
Edit1.Setfocus;
end;

{ Вывод массива записей в Memo1 }

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.Clear;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
i,j:integer;

begin
If RadioButton1.Checked=True Then
Begin
{ Вычисление среднего балла, используем оператор присоединения WITH }
Memo1.Lines.Add('Ср. балл каждого');
for i:=1 to n do
with mas[i] do
Begin
sb:=(oz.fizik+oz.matem + oz.progr)/3;
Memo1.Lines.Add(fio+' '+FloatToStr(sb));
end;
end;
If RadioButton2.Checked=True Then
Begin
{ Сортировка массива записей }
for i:=1 to n-1 do
for j:=i downto 1 do
if mas[j].sb>mas[j+1].sb
then begin
x:=mas[j];
mas[j]:=mas[j+1];
mas[j+1]:=x;
end;
{ Вывод отсортированного массива }
Memo1.Lines.Add('сорт. по ср.баллу');
for i:=1 to n do
with mas[i] do
begin
Memo1.Lines.Add(mas[i].fio+' '+IntToStr(mas[i].oz.fizik)+' '+
IntToStr(mas[i].oz.matem)+' '+
IntToStr(mas[i].oz.progr)+' '+FloatToStr(mas[i].sb));
end;
end;
If RadioButton3.Checked=True Then
Begin
{ Вывод студентов, сдавших программирование на "5" }
Memo1.Lines.Add('На "5"');
for i:=1 to n do
with mas[i].oz do
if progr=5 then
Memo1.Lines.Add(mas[i].fio);
end;


end;



procedure TForm1.Button4Click(Sender: TObject);
begin
close
end;

begin
i:=1;

end.
Соседние файлы в папке MyDel Zap
  • #
    26.05.20141.05 Кб16ProjectZap.dof
  • #
    26.05.2014190 б16ProjectZap.dpr
  • #
    26.05.2014876 б16ProjectZap.res
  • #
    26.05.20147.82 Кб16Unit1.dcu
  • #
    26.05.20142.85 Кб16Unit1.dfm
  • #
    26.05.20144.11 Кб16Unit1.pas
  • #
    26.05.20142.78 Кб16Unit1.~dfm
  • #
    26.05.20144.11 Кб16Unit1.~pas