
Зертханалық жұмыс №4 (2)
Бұл программада салмағың мен бойыңды енгізу арқылы өзіңнің қаншалықты ауытқуда екеніңді анықтауға болады (бойың мен салмағыңның сәйкестігіне қарай). Дұрыс салмақты есептеу үшін
Рост(см)- 100
Формуласын қолданамыз.Әрине салмағымыздың дұрыс болуы, асып кетуі немесе жетпей қалуы мүмкін.
procedure TForml.ButtonlClick(Sender: TObject);
var
w:real;{вес} h:real; {рост} opt:real;{оптимальный вес}
d:real; { отклонение от оптимального веса }
begin
w:=StrToFloat(Editl.text);
h:=StrToInt(Edit2.Text);
opt:=h-100;
if w=opt then
Label3.caption:='Bы в хорошей форме!'
else
if w < opt then
begin
d:=opt-w;
Labels.caption:='Вам надо поправиться, на '
+ FloatToStr(d)+ 'кг.';
end
else
begin
d:=w-opt;
Labels.caption:='Haдo немного похудеть, на '
+ FloatTostr(d)+ ' кг.';
end;
end;
end.
Зертханалық жұмыс №5 (1)
Массивтерді енгізу, өңдеу үшін StringGrid И Memo компоненттерін қолданамыз.
StringGrid компонентін пайдалану. StringGrid компоненті Additional бетінде орналасқан.
Рис. 5.2. Компонент StringGrid
Таблица 5.1. StringGrid компонентінің қасиеттері
|
Свойство |
Определяет |
|
|||
|
Name |
Имя компонента. Используется в программе для доступа к свойствам компонента |
|
|||
|
ColCount |
Количество колонок таблицы |
|
|||
|
RowCount |
Количество строк таблицы |
|
|||
|
Cells |
Соответствующий таблице двумерный массив. Ячейка таблицы, находящаяся на пересечении столбца номер col и строки номер row определяется элементом cells [col, row] |
|
|||
|
FixedCols |
Количество зафиксированных слева колонок таблицы. Зафиксированные колонки выделяются цветом и при горизонтальной прокрутке таблицы остаются на месте |
|
|||
|
FixedRows |
Количество зафиксированных сверху строк таблицы. Зафиксированные строки выделяются цветом и при вертикальной прокрутке таблицы остаются на месте |
|
|||
|
Options . goEditing |
Признак допустимости редактирования содержимого ячеек таблицы. True — редактирование разрешено, False — запрещено |
|
|||
|
Options . goTab |
Разрешает (True) или запрещает (False) использование клавиши <ТаЬ> для перемещения курсора в следующую ячейку таблицы |
|
|||
|
Options . GoAlways-ShowEditor |
Признак нахождения компонента в режиме редактирования. Если значение свойства False, то для того, чтобы в ячейке появился курсор, надо начать набирать текст, нажать клавишу <F2> или сделать щелчок мышью |
|
|||
|
DefaultColWidth |
Ширину колонок таблицы |
|
|||
|
DefaultRowHeight |
Высоту строк таблицы |
|
|||
|
GridLineWi-dth |
Ширину линий, ограничивающих ячейки таблицы |
|
|||
|
Left |
Расстояние от левой границы поля таблицы до левой границы формы |
|
|||
|
Top |
Расстояние от верхней границы поля таблицы до верхней границы формы |
|
|||
|
Height |
Высоту поля таблицы |
|
|||
|
Width |
Ширину поля таблицы |
|
|||
|
Font |
Шрифт, используемый для отображения содержимого ячеек таблицы |
|
|||
|
ParentFont |
Признак наследования характеристик шрифта формы |
|
|||
|
|
|
|
StringGrid компонентін қолдануға мысал ретінде массив элементтерінің арифметикалық ортасын табудың программасын құрамыз. StringGrid компоненті массивті енгізуге, Label1 и Label2 – түсіндірме сөздер мен нәтижесін шығаруға, Button1 – есептеу процесін жүргізуге қолданылады.
Рис. 5.3. Диалоговое окно программы Ввод и обработка массива
Таблица 5.2. StringGrid1 компоненті қасиетінің мәні
|
|
|
|
|
Свойство |
Значение |
|
|
ColCount |
5 |
|
|
FixedCols |
0 |
|
|
RowCount |
1 |
|
|
DefaultRowHeight |
24 |
|
|
Height |
24 |
|
|
DefaultColWidth |
64 |
|
|
Width |
328 |
|
|
Options . goEditing |
True |
|
|
Options . AlwaysShowEditing |
True |
|
|
Options .goTabs |
True |
|
|
|
|
|
unit getar_;
interface
uses
Windows, Messages, SysUtils, Variants,
Classes, Graphics, Controls, Forms, Dialogs, Grids, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
StringGridl: TStringGrid;
Button1: TButton;
Label2: TLabel;
procedure ButtonlClick(Sender: TObject); private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForml ;
implementation
{$R *.dfm}
procedure TForml.ButtonlClick(Sender: TObject); var
a : array[1..5] of integer; // массив
summ: integer; // сумма элементов
sr: real; // среднее арифметическое
i: integer; // индекс
begin
// ввод массива
// считаем, что если ячейка пустая, то соответствующий
// ей элемент массива равен нулю
for i:= 1 to 5 do
if Length(StringGridl.Cells[i-1, 0]) <>0
then a[i] := StrToInt(StringGridl.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 :=
'Сумма элементов: ' + IntToStr(summ)
+ #13+ 'Среднее арифметическое: ' + FloatToStr(sr);
end;
end.