Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМКД_ПЭВМ_2ИКО_Урдабаева+++.docx
Скачиваний:
134
Добавлен:
01.03.2016
Размер:
833.23 Кб
Скачать

№1.5 Практикалық сабақ

Тақырыбы: Жолдарды қолданып бағдарламалау.

Мақсаты: TListBox және TСomboBox компоненттерін оқып үйрену. Жолдармен жұмыс жасайтын бағдарлама құру.

Қажетті құралдар мен материалдар: ДК, Delphi ортасы

Мазмұны мен жұмысты орындау реті

1. Теориялық материалды қайталау

5.1. TListBox компоненті

TListBox компоненті элементтері клавиатураның немесе тышқанның көмегімен таңдалатын тізімнен тұрады. Элементтер тізімі Items қасиетімен беріледі, Add, Delete және Insert әдістері сәйкесінше қосу, өшіру және жолдарды қосу үшін қолданылады. Items (TString) объектісі тізімдегі жолдарды сақтайды. Белгіленген элементтің номерін анықтау үшін ItemIndex қасиеті қолданылады.

5.2. TComboBox компоненті

TComboBox араласқан тізімі TListBoxтізімі мен TЕdit редакторының біріккен түрі, сондықтан бұл компоненттердің барлық қасиеттері өзара бір-бірімен байланысты. Редактрлеу терезесімен жұмыс жасау үшін TEdit компонентіндегідей Text қасиеті қолданылады, ал таңдау тізімімен жұмыс жасау үшін TListBox компонентіндегідей Items қасиеті қолданылады. Компоненттің Style қасиетімен анықталатын бес модификациясы бар. csSimple модификациясында тізім әрқашанда ашық, ал қалған жағдайда ол редактордың оң жағындағы батырманы басқан кезде ашылады.

5.3. TBitBtn компоненті

TBitBtn компоненті компоненттер палитрасында Additonal бетінде орналасқан және TButton стандартты батырмасының әртүрлі берілуін ұсынады. Оның негізгі ерекшелігі - батырманың бетінде растрлы бейненің болуы, ол Clyph қасиетімен анықталады.

5.4. Жеке тапсырманы орындау тәртібі

Тапсырма:берілген жолдағы сөздер санын есептейтін программа жазу.Айырғыш ретінде бос орындардың кез келген саны бола алады. Жолдарды енгізу үшін TComboBox компонентін қолдану. Жолдардың енгізілуі Enter батырмасымен аяқталады. Программадан шығу үшін Close батырмасы басылады.

Диалог панелінің түрі 5.1-суретте көрсетілген.

Бағдарлама мәтіні төменде келтірілген.

unit tema5;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, Buttons;

type

TForm1 = class(TForm)

Label2: TLabel;

Label3: TLabel;

BitBtn1: TBitBtn;

ComboBox1: TComboBox;

Label1: TLabel;

procedure FormActivate(Sender: TObject);

procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);

procedure ComboBox1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

// Обработка события активизации формы

procedure TForm1.FormActivate(Sender: TObject);

begin

ComboBox1.SetFocus; // ComboBox1 фокусты беру

end;

// Обработка события нажатия левой клавиши мыши

procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char);

begin

if key=#13 then begin // Enter пернесі басылса, онда...

ComboBox1.Items.Add(ComboBox1.Text); // Редактрлеу терезесінен жол

// енгізіледі

ComboBox1.Text:=''; // Редактрлеу терезесін тазарту

end;

end;

procedure TForm1.ComboBox1Click(Sender: TObject);

var st : string;

n,i,nst,ind: integer;

begin

n:=0; // Сөздер санын сақтайды

ind:=0;

nst:=ComboBox1.ItemIndex; // Таңдалған жол номерін анықтау

st:=ComboBox1.Items[nst]; // Таңдалған жолды st айнымалысына меншіктеу

for i:=1 to Length(st) do begin // st жолының барлық символдарын қарау

case ind of

0 : if st[i]<>' ' then begin // Егер бос орыннан кейін символ кездессе

ind:=1;

n:=n+1; // Сөздер саны бірге артады

end;

1 : if st[i]=' ' then ind:=0; // Егер символдардан кейін бос орын кездессе

end;

end;

Label3.Caption:=IntToStr(n); // Label3-ге сөздер саны шығарылады

end;

end.

Студенттердің өз бетінше орындауға арналған тапсырмалар:

Барлық тапсырмаларда бастапқы мәндерді TEdit компонентінің көмегімен TlistBox компонентіне енгізіңіз немесе Text қасиетінің көмегімен TComboBox компонентінің Items қасиетіне енгізіңіз. Скаляр нәтижені Tlabel компонентінің көмегімен шығарыңыз. Жолды енгізуді Enter пернесін басу арқылы аяқтаңыз. Бағдарламадан шығу үшін Close пернесін қолданыңыз. Есептеулер үшін бірнеше іртүрлі жолдарды енгізіңіз.

1. Нольдер мен бірлер тобынан тұратын жол берілген. Әрбір топ бір немесе бірнеше бос орынмен бөлінген. Бес символдан тұратын топтар санын табыңыз.

2. Нольдер мен бірлер тобынан тұратын жол берілген. Ең қысқа топты экранға шығарыңыз.

3. Нольдер мен бірлер тобынан тұратын жол берілген. Ең ұзын жолдағы символдар санын есептеңіз.

4. Нольдер мен бірлер тобынан тұратын жол берілген. Символдар саны тақ болатын топтарды тауып, экранға шығарыңыз.

5. Нольдер мен бірлер тобынан тұратын жол берілген. Символдар саны тақ болатын топтардағы бірлер санын есептеңіз.

6. Әріптер, цифрлар, үтірлер, нүктелер, “+” және “-“ белгілерінен тұратын жол берілген. Бүтін санның жазылуына (яғни “+” немесе “-“ белгісінен басталатын және ішкі жолда әріптер, үтірлер мен нүктелер жоқ болса) сәйкес келетін ішкі жолды көрсетіңіз.

7. Әріптер, цифрлар, үтірлер, нүктелер, “+” және “-“ белгілерінен тұратын жол берілген. Тұрақты нүктелі нақты санның жазылуына сәйкес келетін ішкі жолды көрсетіңіз.

8. Әріптер, цифрлар, үтірлер, нүктелер, “+” және “-“ белгілерінен тұратын жол берілген. Жылжымалы нүктелі нақты санның жазылуына сәйкес келетін ішкі жолды көрсетіңіз.

9. Бос орындармен бөлінген кез келген ондық сандардан тұратын символдар жолы берілген. Экранға осы жолдың сандарын мәндерінің өсу ретімен шығарыңыз.

10. Бос орындармен бөлінген кез келген ондық сандардан тұратын символдар жолы берілген. Осы жолдың жұп сандарын шығарыңыз.

11. Ағылшын тіліндегі кез келген мәтіннен тұратын символдар жолы берілген, сөздер арасында бос орындар бар. Осы мәтіннің сөздерін латын алфавитіне сәйкес келетін ретпен экранға шығарыңыз.

12. Ағылшын тіліндегі кез келген мәтіннен тұратын символдар жолы берілген, сөздер арасында бос орындар бар. k-шы позицияғы сәйкес келетін сөздің реттік номерін экранға шығарыңыз (егер k-шы позицияға бос орын сәйкес келсе, онда алдыңғы сөздің номерін шығарыңыз).

13. Ағылшын тіліндегі кез келген мәтіннен тұратын символдар жолы берілген, сөздер арасында бос орындар бар. Бастапқы жолды екі ішкі жолға бөліңіз, біріншісінің ұзындығы k-символдан тұрады (егер k-шы позицияда сөз кездессе, онда оны екінші жолға жіберіңіз, ал бірінші жолды k-шы позицияға деін бос орындармен толықтырыңыз).

14. Ағылшын тіліндегі кез келген мәтіннен тұратын символдар жолы берілген, сөздер арасында бос орындар бар. Ұзындығы ең ұзын сөздің реттік номерін және оның жолдағы басталатын позициясының номерін экранға шығарыңыз.

15. Ағылшын тіліндегі кез келген мәтіннен тұратын символдар жолы берілген, сөздер арасында бос орындар бар. Ұзындығы ең қысқа сөздің реттік номерін және оның жолдағы басталатын позициясының номерін экранға шығарыңыз.

16. Ағылшын тіліндегі кез келген мәтіннен тұратын символдар жолы берілген, сөздер арасында бос орындар бар. Әрбір сөздегі бірінші әріпті үлкен әріппен ауыстырыңыз.

17. Ағылшын тіліндегі кез келген мәтіннен тұратын символдар жолы берілген, сөздер арасында бос орындар бар. Жолдан алғашқы k сөзді жойып, олардың орнына жолдағы кейін тұрған сөздерді жылжытыңыз.

18. Ағылшын тіліндегі кез келген мәтіннен тұратын символдар жолы берілген, сөздер арасында бос орындар бар. i- және j-ші сөздердің орындарын ауыстырыңыз.

19. Ағылшын тіліндегі кез келген мәтіннен тұратын символдар жолы берілген, сөздер арасында бос орындар бар. Әрбір сөздің бірінші әрпі мен соңғысының орындарын ауыстырыңыз

20. Ағылшын тіліндегі кез келген мәтіннен тұратын символдар жолы берілген, сөздер арасында бос орындар бар. Латын әріптерін оларға сәйкес келетін орыс алфавитінің әріптерімен ауыстырыңыз.

21. Цифрлар, бос орындар, “E” әрпі, “+”, “-“ белгілері кездесетін SS…Sсимволдар жолы берілген. Бірінші Sсимволы цифра болып табылады. Бос орынмен бөлінген ішкі жолдарды ерекшелеңіз. Бірніші ішкі жол сан болатының анықтаңыз. Егер сан болса, мыналарды анықтаңыз: бүтін немесе нақты, оң немесе теріс.

22. Орыс тіліндегі қандай да бір мәтіннен тұратын символдар жолы берілген. Осы мәтінді пішіндейтін, яғни оны жеке жолдарға (әрбір жолда k символдан) бөлетін және сөздер арасына қажетті бос орындар санын қоя отырып мәтінді оң жақ шекара бойынша туралайтын бағдарлама құрыңыз.

23. Орыс тіліндегі қандай да бір мәтіннен тұратын символдар жолы берілген. Орыс әріптерін оларға сәйкес келетін латын алфавитінің әріптерімен ауыстырыңыз.

24. Қандай да бір мәтіннен тұратын символдар жолы берілген. Берілген мәтін палиндром болатынын, яғни ол солдан оңға және оңнан солға қарай оқығанда бірдей оқылатынын анықтайытн бағдарлама құрыңыз (мысалы, «А роза упала на лапу Азора»).

25. Pascal тіліндегі бағдарлама болатын мәтінді жолдап оқитын (пернетақтадан енгізіңіз), комментарийлерді тауып экранға шығаратын бағдарлама құрыңыз.

26. Pascal тіліндегі бағдарлама болатын мәтінді жолдап оқитын (пернетақтадан енгізіңіз), «begin» және «end» қызметші сөздердің санын есептейтін және экранға сәйкес хабарлама шығаратын бағдарлама құрыңыз.

27. 1 мен 1999 аралығындағы берілген бүтін санды рим цифрларымен экранға шығаратын бағдарлама құрыңыз.

28. Үлкен латын әріптерінне тұратын мәтін берілген, соңында бос орын бар. Осы мәтіннің 1 мен 999 аралығындағы санның рим цифрларымен дұрыс жазылғанын тексеретін, және егер олай болса осы санды араб цифрларымен (ондық жүйеде) шығарыңыз..

29. k символдардан тұратын мәтін берілген. Осы мәтіндегі кіші орыс әріптерін ғана экранға шығарыңыз.

30. k символдардан тұратын мәтін берілген. Осы мәтіндегі әртүрлі барлық үлкен орыс әріптерін алфавит ретімен экранға шығарыңыз.

Бақылау сұрақтары:

  1. Жолдармен жұмыс жасауға арналған типтерді атаңыз?

  2. TListBox компонентінің қызметі?

  3. Комбинерленген тізім қандай компонентпен бейнеленеді?

  4. TBitBtn компонентінің TButton компонентінен айырмашылығы неде?

Блиц-тест:

  1. ListBox компоненті:

  1. Жай тізім.

  2. Комбинирленген тізім.

  3. Жолдық.

  4. Массив.

  5. Жиын.

  1. Егер ListBox компонетінің Columns қасиеті >=1 мәнін қабылдаса,онда тізім облысында бар болады:

  1. Горизонталды айналдыру жолағы.

  2. Вертикалды айналдыру жолағы

  3. Columns жазуы.

  4. ListBox жазуы.

  5. 1.

  1. ListBox компонентінде элементтер тізімі қандай қасиеті арқылы беріледі:

  1. Items.

  2. Columns.

  3. Col.

  4. Row.

  5. Add.

  1. TBitBtn компонентінің Қандай қасиет TBitBtn компонентіне растрлік бейнені тағайындайды?

  1. Clyph.

  2. Kind.

  3. Caption.

  4. Text.

  5. Font.

  1. Пернетақтадағы қандай да бір пернені басқан кезде пайда болатын жағдай:

  1. OnKeyPress

  2. OnKeyDown

  3. OnKeyUp

  4. OnActivate

  5. OnCreate

Глоссарий

TListBox компоненті элементтері клавиатураның немесе тышқанның көмегімен таңдалатын тізімнен тұрады.

Items (TString) объектісі тізімдегі жолдарды сақтайды. Белгіленген элементтің номерін анықтау үшін ItemIndex қасиеті қолданылады.

TComboBox араласқан тізімі TListBox тізімі мен TЕdit редакторының біріккен түрі, сондықтан бұл компоненттердің барлық қасиеттері өзара бір-бірімен байланысты.

Компоненттің Style қасиетімен анықталатын бес модификациясы бар. csSimple модификациясында тізім әрқашанда ашық, ал қалған жағдайда ол редактордың оң жағындағы батырманы басқан кезде ашылады.

Әдебиеттер: [1], [4], [10], [11], [13]