Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
Var
a: array [1..5] of real; // массив
suram: real; // сумма элементов
sr: real; // среднее арифметическое
i: integer; // индекс
Begin
// ввод массива
// считаем, что если ячейка пустая, то соответствующий
// ей элемент массива равен нулю
for i:= 1 to 5 do
if Length(StringGrid1.Cells[i-1,0])<>0
then a[i]:= StrToFloat(StringGrid1.Cells[i-1, 0])
else a[i]:= 0;
summ:= 0; // обработка массива
for i:=1 to 5 do
summ:= summ + a[i]; sr:= summ/5;
// вывод результата
Label2.Caption:='Сумма элементов: ' + FloatToStr(summ)
+ #13+ 'Среднее арифметическое: ' + FloatToStr(sr);
end;
// Функция обеспечивает ввод в ячейку только допустимых символов
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
Begin
CaseKeyof
#8,'0'..'9':; // цифры и <Backspace>
#13: // клавиша <Enter>
if StringGrid1.Col < StringGrid1.ColCount - 1
then StringGrid1.Col:= StringGrid1.Col + 1;
'.',',': // разделитель целой и дробной частей числа
Begin
IfKey <>DecimalSeparator then
Key:= DecimalSeparator; // заменим разделитель
// на допустимый
if Pos(StringGrid1.Cells[StringGrid1.Col,0],
DecimalSeparator) <> 0
then Key:= Chr(O); // запрет ввода второго разделителя
end;
' -': // минус можно ввести только первым символом,
// т. е. когда ячейка пустая
if Length(StringGrid1.Cells[StringGrid1.Col, 0]) <>0
then Key := Chr(0)
else key:= Chr(0);// остальные символы запрещены
end;
End; end.
Дата публикования: 2015-01-14; Прочитано: 200 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!