- •Қазақстан Республикасы Білім және ғылым министрлігі
- •Алғысөз
- •Қазақстан Республикасы Білім және ғылым министрлігі
- •Түсінік хат
- •Курс мазмұны
- •Практикалық сабақтардың болжамдық тақырыптары
- •Пәннің оқу-әдістемелік қамтамасыз етілуі
- •Қазақстан Республикасы Білім және ғылым министрлігі
- •Түсінік хат
- •Оқу жоспарынан көшірме
- •Модуль бойынша пәннің тақырыптық жоспары
- •Пән мазмұны
- •1 Модуль. Delphi ортасында құрылымдық және модульдік бағдарламалау
- •2 Модуль. Графика, динамика және мультимедия. Интерфейсті қосымшалар құру.
- •Бақылау түрі
- •Негізгі әдебиет
- •Қосымша әдебиет
- •Алғысөз
- •Оқу жоспарынан көшірме:
- •Бекітілген кестеге сәйкес курс бойынша сабақ кестесі
- •Бағалау саясаты
- •Оқытудың кредиттік технологиясы бойынша студенттердің білімін бағалау шкаласы
- •Пән мазмұны
- •Сөж тақырыптары
- •Рефераттар тақырыптары
- •Негізгі әдебиет
- •Қосымша әдебиет
- •Пәннің оқу-әдістемелік қамтамасыз етілу картасы
- •Пән бойынша тапсырмаларды орындау және тапсыру кестесі
- •Практикалық сабақтар
- •1Модуль. Delphi ортасында құрылымдық және модульдік бағдарламалау №1.1 практикалық сабақ
- •1.1. Delphi бағдарламаны құрастырудың интегралданған ортасы
- •1.2. Delphi бағдарламаларының құрылымы
- •Interface
- •1.3.4. Жазбаларды орналастыру (tLabel)
- •1.3.5. Нәтижені шығарудың көпжолды терезесін орналастыру (tMemo)
- •1.3.6. Форма құру жағдайын өңдеу бағдарламасын жазу (FormCreate)
- •1.3.7. Батырманы басу жағдайын өңдеу бағдарламасын жазу (ButtonClick)
- •1.3.8. Бағдарламаны орындау және онымен жұмыс жасау
- •1.4. Өзіндік жұмысты орындау
- •№1.2 Практикалық сабақ
- •2.1. Паскаль тілінің if және case операторлары
- •2.2. Delphi-дегі ауыстырғыш-батырмалар
- •2.3. Бағдарлама жазудың мысалы
- •2.3.1. Форманы құру
- •2.3.2. TСheckBox компонентімен жұмыс жасау
- •2.3.3. TRadioGroup компонентімен жұмыс жасау
- •2.3.4. FormСreate және Botton1Сlick жағдайларын өңдеуді құру
- •№1.3 Практикалық сабақ
- •3.1. Pascal тіліндегі циклдерді ұйымдастыру операторлары repeat, whіle, for
- •3.2. Delphi-дегі бағдарламаларды өңдеу құралдары
- •3.3. Тапсырманы орындау реті
- •3.4. Жеке тапсырманы орындау
- •№1.4 Практикалық сабақ
- •4.1. Массивтермен жұмыс
- •4.2. TStringGrid компоненті
- •4.3. Тапсырманы оырндау реті
- •4.4. TStringGrid компонетін баптау
- •№1.5 Практикалық сабақ
- •5.1. TListBox компоненті
- •5.2. TComboBox компоненті
- •5.3. TBitBtn компоненті
- •5.4. Жеке тапсырманы орындау тәртібі
- •№1.6 Практикалық сабақ
- •6.1. Жазба типті айнымалыны қолданып программалау
- •6.2. Файлдармен жұмыс
- •Файлдармен жұмыс жасайтын процедуралар және функциялар:
- •6.3. Файлдармен жұмыс жасайтын ішкі программалар
- •6.4. TOpenDialog және tSaveDialog компоненттері
- •6.5. Тапсырманы орындау реті
- •6.5.1.TOpenDialog және tSaveDialog компоненттерін күйге келтіру
- •6.1-Сурет
- •6.5.2. Программамен жұмыс
- •6.2-Сурет
- •6.6. Жеке тапсырмалар
- •№1.7 Практикалық сабақ
- •7.1. Ішкі программалардың қолданылуы
- •7.2. Модульдердің қолданылуы
- •7.3. Тапсырманы орындау мысалы
- •7.3.1. Модульді құру
- •7.3.2. Модульді іске қосу
- •7.1 - Сурет
- •7.4. Жеке тапсырмалар
- •2 Модуль. Графика, динамика және мультимедия. Интерфейсті қосымшалар құру.
- •№2.2 Практикалық сабақ
- •9.2 Динамикалық тізімдерді қолдану
- •9.2-Сурет Edit Button Модуль тексті
- •9.3. Жеке тапсырманы орындау
- •№2.3 Практикалық сабақ
- •Бұрыштары дөңгеленген тіктөртбұрыш
- •№2.4 Практикалық сабақ
- •І. Мәліметтерді файлдан оқу және файлға жазу. Тестілеу программасын құру
- •№2.7 Практикалық сабақ
- •№2.8 Практикалық сабақ
- •Төмендегі компоненттердің қайсысы визуальды компонентке жатпайды?
- •Осөж-ды орындауда қолданылатын әдебиеттер тізімі:
- •Үй тапсырмалары
- •1 Модуль. Delphi ортасында құрылымдық және модульдік бағдарламалау
- •1.1 Тапсырма.
- •1.2 Тапсырма.
- •1.3 Тапсырма.
- •1.4 Тапсырма.
- •1.5 Тапсырма.
- •1.6 Тапсырма.
- •1.7 Тапсырма.
- •1.8 Тапсырма.
- •Арнайы кабинеттер, аудиториялар мен зертханалар тізімі.
- •Мазмұны
№2.2 Практикалық сабақ
Тақырыбы: Динамикалық бағдарламалау.
Мақсаты: динамикалық құрылымды мәліметтер қолданылатын қосымшаларды құрып үйрену.
Қажетті құралдар мен материалдар: ДК, Delphi ортасы.
Мазмұны мен жұмысты орындау реті
9.1 Динамикалық массивтерді қолдану
Тапсырма:A={aij},мұндағыi=1,2,…, m; j=1,2,…, nматрицасының элементтерінің ішінен ең үлкен және ең кіші мәндерін есептейтін қосымша құру. mжәнеnмәндері қолданушымен интерфейс панелінде беріледі, ал A матрицасының элементтері кездейсоқ сандар генераторы көмегімен анықталады.
Құрылатын қосымша интерфейсінің бір нұсқасы 9.1-суретте көрсетілген.
Label
SpinEdit
Button
Label
Label
StringGrid
9.1-сурет
Модуль тексті
Unit UnDinMas;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Spin, Grids, Buttons;
type
TForm1 = class(TForm)
Label1: TLabel;
SpinEdit1: TSpinEdit;
SpinEdit2: TSpinEdit;
Label8: TLabel;
StringGrid1: TStringGrid;
Label2: TLabel;
Label5: TLabel;
Label3: TLabel;
Button1: TButton;
Label4: TLabel;
Label6: TLabel;
Label7: TLabel;
Label9: TLabel;
procedure FormCreate(Sender: TObject);
procedure SpinEdit1Change(Sender: TObject);
procedure SpinEdit2Change(Sender: TObject);
procedure StringGrid1DrawCell(Sender: TObject; Col, Row: Integer;
Rect: TRect; State: TGridDrawState);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
Type
Mas=array[1..1] of integer;
pMas=array[1..1] of ^mas;
var
pA:^pMas;
m,n,max,min:integer;
procedure TForm1.FormCreate(Sender: TObject);
begin
m:=6;
n:=8;
SpinEdit1.Text:='6';
SpinEdit2.Text:='8';
StringGrid1.RowCount:=m;
StringGrid1.ColCount:=n;
end;
procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
m:=StrToInt(SpinEdit1.Text);
StringGrid1.RowCount:=m;
end;
procedure TForm1.SpinEdit2Change(Sender: TObject);
begin
n:=StrToInt(SpinEdit2.Text);
StringGrid1.ColCount:=n;
end;
procedure TForm1.Button1Click(Sender: TObject);
label 1;
var
i,j,k,l,r:integer;
begin
Randomize;
GetMem(pA,4*m);
for i :=1 to m do
begin
GetMem(pA^[i],SizeOf(integer)*n);
pA^[1]^[1]:=Random(1000);
for j:=1 to n do
begin
1: r:=Random(1000);
for k:=1 to i do
for l:=1 to j do
if r=pA^[k]^[l] then
goto 1;
pA^[i]^[j]:=r;
end;
end;
for i:=1 to m do
for j:=1 to n do
StringGrid1.Cells[j-1,i-1]:=IntToStr(pA^[i]^[j]);
max:=pA^[1]^[1];
min:=max;
for i:=1 to m do
for j:=1 to n do
if pA^[i]^[j]<min then
min:=pA^[i]^[j]
else
if pA^[i]^[j]>max then
max:=pA^[i]^[j];
Label7.Caption:=IntToStr(min);
Label9.Caption:=IntToStr(max);
for i:=1 to m do
FreeMem(pA^[i],SizeOf(integer)*n);
FreeMem(pA,4*m);
end;
procedure TForm1.StringGrid1DrawCell(Sender: TObject; Col, Row: Integer;
Rect: TRect; State: TGridDrawState);
begin
with StringGrid1.Canvas do
if StringGrid1.Cells[Col,Row]=IntToStr(min) then
begin
Brush.Color:=clGreen;
FrameRect(Rect);
end
else
if StringGrid1.Cells[Col,Row]=IntToStr(max) then
begin
Brush.Color:=clRed;
FrameRect(Rect);
end
end;
end.