Введение в технологию программирования. Ч.1. Среда объектно-ориентированного программирования Delphi. Коржов Е.Н - 28 стр.

UptoLike

Составители: 

28
Integer; const Value: String);
var
B : integer; //b -ɰɟɥɨɟ ɡɧɚɱɟɧɢɟ ɫɬɪɨɤɢ ɪɟɞɚɤɬɢɪɨɜɚɧɢɹ
j : byte; //j - ɩɚɪɚɦɟɬɪ ɰɢɤɥɚ ɞɥɹ ɬɟɤɭɳɟɝɨ ɧɨɦɟɪɚ ɫɬɨɥɛɰɚ ɦɚɬɪɢɰɵ ɚ
begin
with StringGrid1 do
begin
if Value = '' then Exit; //
ȿɫɥɢ ɧɢɱɟɝɨ ɧɟ ɜɜɟɞɟɧɨ, ɬɨ ɜɵɯɨɞ ɢɡ ɩɪɨɰɟɞɭ-
ɪɵ
//ɇɚɱɚɥɨ ɡɚɳɢɳɟɧɧɨɝɨ ɛɥɨɤɚ
try
b := StrToInt(Value)
except
ShowMessage('ɇɟ ɜɟɪɧɵɣ ɫɢɦɜɨɥ!');
b:=0
end; //Ʉɨɧɟɰ ɡɚɳɢɳɟɧɧɨɝɨ ɛɥɨɤɚ.
// ɂɝɧɨɪɢɪɨɜɚɬɶ ɧɟɜɟɪɧɨ ɜɜɟɞɟɧɧɭɸ ɨɰɟɧɤɭ
if (b<1) or (b>5) then
begin
Cells[Acol,Arow] :='';
Exit;
end;
Cells[Acol,Arow] := Value; //Ɉɬɪɚɡɢɬɶ ɨɰɟɧɤɭ ɜ ɬɚɛɥɢɰɟ
A[arow,Acol] := b; //Ɂɚɩɢɫɚɬɶ ɨɰɟɧɤɭ ɜ ɦɚɫɫɢɜ
//Ⱦɚɥɟɟ ɩɨɞɫɱɟɬ ɫɪɟɞɧɟɝɨ ɛɚɥɥɚ.
SS[Arow] := 0;
k :=0; //ɋɱɟɬɱɢɤ ɱɢɫɥɚ ɜɜɟɞɟɧɧɵɯ ɨɰɟɧɨɤ
for j:=1 To 4 Do
begin
SS[Arow] := SS[Arow]+a[Arow,j];
if StringGrid1.Cells[j,Arow]<>''
then k:=k+1;
end;
if k<>0
then SS[Arow] := SS[Arow]/k
else SS[Arow]:=0;
//Ɉɬɨɛɪɚɡɢɬɶ ɫɪɟɞɧɢɣ ɛɚɥɥ ɜ 5-ɨɦ ɫɬɨɥɛɰɟ ɬɚɛɥɢɰɵ.
Cells[5, Arow] := FormatFloat('##.##', SS[Arow])
end;
end;{ TForm1.StringGrid1SetEditText }
end.
Ɉɤɧɨ ɪɚɛɨɬɚɸɳɟɣ ɩɪɨɝɪɚɦɦɵ ɩɪɟɞɫɬɚɜɥɟɧɨ ɧɚ ɪɢɫ. 3.2.2.
                                               Integer; const Value: String);
var
   B : integer; //b -ɰɟɥɨɟ ɡɧɚɱɟɧɢɟ ɫɬɪɨɤɢ ɪɟɞɚɤɬɢɪɨɜɚɧɢɹ
   j : byte; //j - ɩɚɪɚɦɟɬɪ ɰɢɤɥɚ ɞɥɹ ɬɟɤɭɳɟɝɨ ɧɨɦɟɪɚ ɫɬɨɥɛɰɚ ɦɚɬɪɢɰɵ ɚ
begin
   with StringGrid1 do
       begin
           if Value = '' then Exit; //ȿɫɥɢ ɧɢɱɟɝɨ ɧɟ ɜɜɟɞɟɧɨ, ɬɨ ɜɵɯɨɞ ɢɡ ɩɪɨɰɟɞɭ-
                                        ɪɵ
         //ɇɚɱɚɥɨ ɡɚɳɢɳɟɧɧɨɝɨ ɛɥɨɤɚ
         try
             b := StrToInt(Value)
         except
             ShowMessage('ɇɟ ɜɟɪɧɵɣ ɫɢɦɜɨɥ!');
             b:=0
         end;        //Ʉɨɧɟɰ ɡɚɳɢɳɟɧɧɨɝɨ ɛɥɨɤɚ.
         // ɂɝɧɨɪɢɪɨɜɚɬɶ ɧɟɜɟɪɧɨ ɜɜɟɞɟɧɧɭɸ ɨɰɟɧɤɭ
         if (b<1) or (b>5) then
             begin
                 Cells[Acol,Arow] :='';
                 Exit;
             end;
         Cells[Acol,Arow] := Value; //Ɉɬɪɚɡɢɬɶ ɨɰɟɧɤɭ ɜ ɬɚɛɥɢɰɟ
         A[arow,Acol] := b;             //Ɂɚɩɢɫɚɬɶ ɨɰɟɧɤɭ ɜ ɦɚɫɫɢɜ
                                         //Ⱦɚɥɟɟ ɩɨɞɫɱɟɬ ɫɪɟɞɧɟɝɨ ɛɚɥɥɚ.
         SS[Arow] := 0;
         k :=0; //ɋɱɟɬɱɢɤ ɱɢɫɥɚ ɜɜɟɞɟɧɧɵɯ ɨɰɟɧɨɤ
         for j:=1 To 4 Do
             begin
                 SS[Arow] := SS[Arow]+a[Arow,j];
                 if StringGrid1.Cells[j,Arow]<>''
                   then k:=k+1;
             end;
         if k<>0
               then SS[Arow] := SS[Arow]/k
               else SS[Arow]:=0;
         //Ɉɬɨɛɪɚɡɢɬɶ ɫɪɟɞɧɢɣ ɛɚɥɥ ɜ 5-ɨɦ ɫɬɨɥɛɰɟ ɬɚɛɥɢɰɵ.
         Cells[5, Arow] := FormatFloat('##.##', SS[Arow])
      end;
   end;{ TForm1.StringGrid1SetEditText }
end.
      Ɉɤɧɨ ɪɚɛɨɬɚɸɳɟɣ ɩɪɨɝɪɚɦɦɵ ɩɪɟɞɫɬɚɜɥɟɧɨ ɧɚ ɪɢɫ. 3.2.2.

                                       28