Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
delfi_lab.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
8.74 Mб
Скачать

Зертханалық жұмыс №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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]