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

Лабораториялық жұмыс №3 Ерекше жағдайларды өңдеу (исключительных ситуаций).

Ұзақтығы: 80 минут

Пәні: Информатика және программалау.

Бағыты: Оқу жоспарына сәйкес “Информатика” мамандығының студенттеріне арналған.

Мақсаты: Программада Try… Except… End операторын қолдануды үйрену. TstringGrid компонентінің негізгі қасиеттерімен танысу.

Оқыту нәтижесі:

Сабақты меңгергеннен кейін қолданушы:

• Программада Try… Except… End операторын және TString Grid компонентін қолдана білуі керек.

Сабақ жоспары:

І. TStringGrid компоненті. Ерекше жағдайларды өңдеу 20 минут

ІІ. Өзіндік жұмыс- 60 минут.

І. TStringGrid компоненті. Ерекше жағдайларды өңдеу.

Ұсынылатын уақыт 20 минут.

TString Grid компоненті ұяшықтарына еркін текстік жолдар орналасқан таблицаны құруға арналған. TStringGrid компонентінің Cеlls [ACol, ARow] қасиеті [ACol, ARow] (баған номері, жол номері) таблицалық координатты ұяшық мәнін анықтайды.

Ерекшелікті өңдеу үшін Object Pascal- да блокты қорғау миханизмі қарастырылған:

Try

<операторлар>

Except

<ерекшелікті өңдеу>

Else

<операторлар>

End;

  1. Дайындық жұмысы.

    1. Өз каталогыңызды Lab3 каталогын құрыңыз.

  2. TStringGrid компонентін қолданып қосымша құру. Қосымшада әр студенттің орта балы есептеледі. Бастапқы информация- әр студенттің бағасы таблицаға енгізіледі. Таблицаның соңғы бағанында есеп шешімі- студенттің орта балы бейнеленеді.

Қосымша мысалды жүктеңіз. Ол үшін file\Open командыларын орындаңыз. Қосымша- мысал С:\ Delphi \Ғаm\Lab3 ішкі каталогында орналасқан.

Ескерту:Қосымшаны жүктеу үшін проект файлын ашу керек.

    1. Қосымша тереземен танысыңыз. Қосымшада қолданылатын компоненттер таблицада көрсетілген . Таблицада мәндері өзгертілген қасиеттер келтірілген.

Компоненттер

Қасиеттер

Panel1

Caption- тазарту

Align- alBottom

BitBtn2

Kind- bkClose

String Grid1

Alind- al Client

Col Count- 6

Row Count-30

Default ColWidth- 100

Options I qo Editing- True

(Бұл жағдайда ұяшықты редакциялауға болады).

Form1

Caption- Lab 3

    1. Программамен танысыңыз.

Программада StringGrid1 компонентінің оқиғасы қолданылады. OnSet EditText (Sender: Tobject, Acol, Arow: LongInt; Const Value: String).Бұл оқиға ұяшықты (ACol, ARow) редакциялауды аяқтағанда пайда болады. Value параметрінде оқиға енгізу нәтижесін немесе тексті редакциялауды алады.

Программада қолданылған.ТStringGrid компоненттінің Cells [ACol, A Row] қасиеті таблицалық координатты ұяшық мәнін анықтайды. Көңіл аударыңыз, бірінші жолда баған номері, екінші орында жол номері орналасқан. А массиві Cells массивіне қатысты транспортиленген.

Const nn=30; mm=5;

⁄⁄ Оқушылардың саны=30.

⁄⁄ Емтихан саны=5.

Var

Form1: Tform1; n:Integer;

a: array [1.. nn, 1.. mm] of ral;

ss: Array [1..nn] of real;

// n- оқушының ағымдағы номері. Оқушылар саны.

⁄⁄ а- бағалар массиві.

// ss- оқушылардың орта балына арналған массив.

implementation.

{ $ R*. DFM }

procedure Tform1. StringGrid1SedEditText( Sender:Tobjiect; ACol; ARow: Integer; ConstValue: String);

Var b: real; j: byte;

// b- реакциялау жолының нақты мәні.

// j- а матрицасының ағымдағы баған номеріне арналған цикл параметрі.

Begin

With StringGrid1 Do

If Value= ' ' Then Exit; // Егер ештеңе енгізілмесе

// Онда процедурадан шығу.

// Қорғалған блок басы.

Try b: = StrTofloat (Value)

Except Show Message ('символ дұрыс емес!' ); b:=0

End; // Қорғалған блок соңы.

// Дұрыс енгізілмеген бағаға реакция.

I f (b<1) or (b>5) then Begin Cells [ACol, ARow]:="; Exit; End;

Cells [ACol, ARow]:=Value; // Бағаны таблицаға белгілеу.

а [аrow, ACol]:=b;// Бағаны массивке жазу.

// Арықарай орта балл есептеледі.

ss[aRow]:=0; For j:=1 To 4 Do

ss [aRow]: =ss [aRow]+a[aRow,j];

ss [aRow]:= ss [aRow]/4;

// Орта баллды таблицаның 5- ші бағанында бейнелеу.

Cells [5, aRow]:= FormatFloat (' ##. ##', SS [Arow] );

End;