Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laby (1).doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
6 Мб
Скачать
☆

Зертханалық жұмыс №23

Тақырыбы: Символдық ақпараттарды өңдеу алгоритмдері.

Техникалық жабдық: Дербес компьютер.

Бағдарламалық жабдық: Windows 98/200/XP, Borland Delphi7.

Мақсаты: Символдық ақпараттарды енгізуді және баспаға шығаруды ұйымдастыру, символдық ақпараттарды өңдеу әдістерін Delphi ортасында бағдарламалау дағдыларын қалыптастыру, өзіндік тапсырмаларды орындау.

Негізгі ұғымдар.

Символдық ақпараттарды енгізуге және шығаруға бір жолды редактор Edit компонентін, көпжолды редактор Memo компонентін, ListBox, ComboBox тізімдерін, мәліметтер қоры жазбаларын шығруға StringGrid кестесін және стандарт диалог терезелерін қолдануға болады. Символдық мәліметтерді өңдеу алгоритмдеріне Паскаль тілінің процедуралары мен функциялары қолданылады. Мысалы, str(x,st) – x санын st жолдық айнымалысына ауыстырады, val(st,x,code) – st жолдық айнымалысын х санына, length(st) – st жолының ұзындығын анықтайды т.б.

1-мысал.

Пернетақтадан енгізілген оналтылық санау жүйесіндегі санды ондық санау жүйесіне аударатын бағдарлама құру.

Есеп аргументтері: оналтылық санау жүйесіндегі санды – жолдық айнымалы мәнін Edit1 компонентінен оқимыз.

Есеп нәтижесі:

Ондық санау жүйесіндегі санды Memo1 компонентіне шығарамыз.

Есеп алгоритмі.

Санды бір санау жүйесінен екінші санау жүйесіне аудару алгоритмі. Формаға Edit1, Button1, Memo1 компоненттерін қоямыз. Есеп әдісін Button1 компонентінің OnClick оқиғасында жүзеге асырамыз.

Бағдарлама кодын келтірейік.

procedure TForm1.Button1Click(Sender: TObject);

var r,dec,k,I,s1: integer; sh16:string; sn:set of char;

begin

sn:=[‘0’..’9’];

{он алтылық санау жүйесіндегі санды енгіз}

sh16:=edit1.text;

dec:=0; r:=1;

for i:=length(sh16) downto 1 do

begin

if (sh16[i] in sn) then begin

val(sh16[i],s1,k);dec:=dec+r*s1; end

else

if (sh16[i]>=’A’) and (sh16[i]<=’F’) then

begin s1:=ord(sh16[i]);

dec:=dec+r*(s1-55); end;

r:=r*16;

end;

Memo1.Lines.Add(‘оналтылык санау жуйесіндегі сан ->’+sh16);

Memo1.Lines.Add(‘ондык санау жуйесіндегі сан ->’+inttostr(dec));

end;

2-мысал.

Ұзындығы әртүрлі сөздер тізбегі берілген. Тізбектің оң жағынан да, сол жағынан да бірдей оқылатын сөздерді анықтаңыз. Мысалы, «шалаш», «апа» т.б.

Есеп аргументтері: бастапқы сөздер тізбегін ListBox1 компонентінен оқимыз.

Есеп нәтижесі: есеп шешімін Memo1 компонентіне шығарамыз.

Есеп алгоритмі: тізбектегі әр сөзді тексеру. Формаға ListBox1, Memo1, Button1 компоенттерін қоямыз. Есеп әдісін Button1 компонентінің OnClick оқиғасында жүзеге асырамыз.

procedure Tform2.Button1Click(Sender: TObject);

var i,k,l: integer; sz,st:string;

begin

k:=ListBox1.Items.Count-1;

for i:=1 to k-1 do

begin

sz:= ListBox1.Items[i];

st:=’’;

for l:=length(sz) downto 1 do

st:=st+sz[l];

if sz=st then Memo1.Lines.Add(sz);

end;

end;

Өзіндік жұмыс

Нұсқалар

Алғашқы мәліметтер

Нүктемен (.) аяқталған текс берілген. Үш әріптен тұратын сөзді экранға шығару.

Нүктемен (.) аяқталған жол берілген. Жолдағы сөздер санын есептеу.

Жол берілген. Бір әріптен басталып сол әріппен аяқталатын сөздерді табу.

Жол берілген. Оның соңғы сөзіндегі k әрпінің санын есептеу.

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

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

1. Символдық мәліметтерді өңдеу алгоритмдерінде қандай функциялар қолданылады?

2. val(st,x,code) функциясы нені білдіреді?

3. str(x,st) функциясы нені білдіреді?

4. length(st) функциясы нені білдіреді?

Әдебиеттер:

1. А. Я. Архангельский. Delphi 7.

2. М.М. Ерекешова, Т.А.Әмірғалиева Delphi ортасында программалау негіздері

3. Ю.А.Шпак Delphi 7 на примерах

К.З.Халықова Программалау тілдерін оқыту (Delphi)

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