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

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

Тақырыбы: Delpfi тілінде типі символдық және жолдық айнымалылармен жұмыс

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

Қажетті құралдар: 1. ДК /Pentium 3,4 Windows /

2. Borland Delphi 7.0

Тапсырмалар

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

Жұмысты орындалу реті

  1. Borland Delphi 7.0 бағдарламалау тілін іске қосыңыз

  2. Жаңа жоба ашыңыз.

  3. Формаға Edit1, Button1, Memo1 компоненттерді орналастырыңыз.

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

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;

  1. Бағдарлама кодының дұрыстығына көз жеткізіп, F9 тетігін басу арқылы бағдарламаны іске қосыңыз.

  2. Құрылған бағдарламаны сақтап, оқытушыға істелген жұмыс бойынша есеп беріңіз

ЖАТТЫҒУЛАР

  1. 1-ші жол «Санкт-», 2-ші жол «Петербруг». Осы екі жолды біріктіріңіз.

  2. 1-ші жол «Санкт-Петербруг», copy функциясының нәтижесі «Петербруг» болуы керек.

  3. 1-ші жол “стан”, 2-ші жол “Астана”. Pos функциясының нәтижесі нешеге тең?

  4. Мәтіндегі соңғы әріппен бірдей әріптерді жоятын программа жазыңыздар.

  5. Берілген сөзде бірінші және соңғы әріптердің қайсысы көп кездесетінін анықтайтын бағдарлама құрыңдар.

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

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

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

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

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

Есеп беруге нұсқау

Есеп беру келесілерді қамтуы керек:

  1. Жұмыстың тақырыбы мен мақсаты;

  2. Тапсырмалар мен жаттығулардың орындалуы;

  3. Дайындалған бағдарлама;

  4. Жұмыс бойынша қысқаша қорытынды

Әдебиеттер

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

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

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

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

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

Тақырыбы: Деректерді өндейтін негізгі функциялар

Мақсаты: Деректерді өндейтін негізгі функциялар өндеу тәсілдерін меңгерту

Теориялық мәліметтер

Ішкі бағдарлмалар функциялар мен процедуралар болып екі топқа бөлінеді және олар функциялар мен процедуралар бөлігінде анықталады.

Функциялар мен процедуралар бөлігі арнаулы function- функция және procedure- процедура сөздерінен басталады. Функцияның ерекшелігі болып, оның индетификаторын тұрақтылар және айнымалалармен бірге өрнекте қолдануға болатындығы жатады, себебі функция орындалғанда тек қана бір мәнді қайтарады. Егер функция

Function MyFunction:Integer;

Және айнымалы

Var x:integer;

Келесі түрде анықталған болса, онда меншіктеу операторының түрі былай болуы мүмкін:

Х:=2* MyFunction-1;

Процедураның индентификаторын өрнекте қолдануңа болмайды, себебі процедураның идентификаторы нәтижесімен байланысты емес.

1-есеп. Жиым элементтерінің қосындысын есептеуге функция жазу. Негізгі программада жиым элементтерін енгізіп, нәтижені экранға шығару.

Есептің шығарылуы.

1. Формаға нәтижені шығару үшін Memo1 компонентін және процедура денесін жазуға Button1 компонентін алдыңғы мысалдарда көрсетілгендей орналастырып, қасиеттерінің мәндерін қойып шығу

2. “Қосынды” батырмасын екі рет басып, программа код терезесіне өту. Сонда OnClick оқиғасы процедурасының дайындамасы шығады.

3. поцедура дайындамасына программа модулін жазу:

Procedure

Tform. Button1.Click(Sender: Tobject);

Type

Massiv=array[1..50]of integer;

Var

mass:massiv;

s,i: inteder;

function sum(m:massiv: k:integer;):integer;

var

nat, i:integer;

begin

nat:=0;

for i:=1 to k do

nat:=nat+m[i];

sum:=nat;

end;

begin

for i:=1 to 7 do

mass[i]:=i+5;

s:=sum(mass,7);

memo1.Lines.Add(Inttostr(m));

end;

4. іске қосу командасын орныдау. Ол үшін Run мәзірінің Run пункті арқылы немесе F9 пернесін басу арқылы іске асыру.

5. “Қосынды” батырмасын басу.

Ішкі прграмма өзін- өзі шақыра алады, Object Pascal- да оны басқаша рекурсивті ішкі программа деп атайды. Рекурсивті ішкі программаға мысал көрсетейік.

2- есеп. Факториалды есептеу. Факториалды есептеуге функция жазу. Негізгі программада енгізу (Edit1) өрісінен санды алып, функцияны шақыру және алынған нәтижені Memo1 өрісіне шығарады.

Есептің шығарылуы.

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

2. “Есептеу” батырмасын екі рет басып, программа код терезесіне өту. Сонда OnClick оқиғасы процедурасының дайындамасы шығады.

3. программа модулін жазу:

Procedure

Tform. Button1.Click(Sender: Tobject);

Var

n: byte;

function fac(n: byte): extended;

var

nat:extended;

begin

if n in [0..1] then nat:=1 else nat:=n*fac(n-1);

fac:=nat;

end;

begin

n:=strtoInt(Edit1.Text);

memo1.Lines.Add(Floattostr(fac(n)));

end;

end.

Тапсырмалар

1 Қолданушыдан аптаның күннің номерін сұрайтын және хабарламаның біреуін шығаратын программа жазу керек: «Рабочий день», «Суббота» немесе «Воскресенье».

2 Келесі күннің датасын есептейтін программа жазу керек. Программа істелініп тұрған уақытында экранның ұсынылу түрі төменде көрсетілген (қолданушымен еңгізілген мәліметтер қалың шрифтпен ерекшеленген).

Введите цифрами сегодняшнюю дату (число, месяц, год)

-> 31 12 2000

Последний день месяца!

С наступающим новым годом!

Завтра 1.1.2001

3 Қалааралық телефонның сөйлесуінің бағасын есептейтін программа жазу керек (бір минуттың бағасы абоненттің тұратын қалаға дейінгі қашықтықпен анықталады). Программа үшін бастапқы мәліметтер қаланың коды және сөйлесудің ұзақтылығы болып табылады. Программа істелініп тұрған уақытында экранның ұсынылу түрі төменде көрсетілген (қолданушымен еңгізілген мәліметтер қалың шрифтпен ерекшеленген).

Город

Код

Цена минуты (руб.)

Владивосток

423

2,2

Москва

095

1,0

Мурманск

815

1,2

Самара

846

1,4

Вычисление стоимости разговора по телефону.

Введите исходные данные:

Код города -> 423

Длительность (целое количество минут) -> 3

Город: Владивосток

Цена минуты: 2.20 руб.

Стоимость разговора: 6.60 руб.

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

1 Жергілікті және глобальды атаулар деп қандай атауларды айтамыз?

2 Процедуралар мен функциялардың орналасуының қандай ерекшелігі бар?

3 Қосалқы программаларға қолданылатын қандай стандартты директивалар бар?

4 Формальды параметрлер дегеніміз не?

5 Ескерілмейтін парметрлер деп қандай параметрлерді айтамыз және олар қалай сипатталады?

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