Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Тапсырма №3






Жаң а қ осымша ү шін BbRunClick оқ иғ а ө ң деушісін қ ұ райық, ол ү шін File/ New/ Application командаларын орындаймыз.

Procedure TfmExample.BbrunClick(Sender: TObject);

var i, N, Sum: integer;

begin

Try // Дұ рыстығ ын қ адағ алай отырып, енгізуді ұ йымдастырамыз.

N: =StrToInt(edinput.Text);

Except//егер қ ате болса, тө мендегі операторлар орындалады

ShowMessage ('бү тін санды енгізуде қ ате бар');

Edinput.SelectAll; // Қ атесі бар жолды ерекшелейміз.

Exit; // ө ң деушінің жұ мысын аяқ таймыз

End;

Edinput.Text: ='';

Edinput.SetFocus;

Sum: =0; // қ осындының бастапқ ы мә ні

For i: =1 to N do// қ осындыны есептеу

Sum: =Sum+i;

MmOutput.Lines.Add('Барлық бү тін сандар қ осындысы' +' 1...' +IntToStr(N) + 'аралығ ындағ ы сандар тең болады: '+ IntToStr(Sum));

End;

Программағ а тү сініктеме

Алдымен тө мендегі операторларғ а назар аударың ыз:

Try // Дұ рыстығ ын қ адағ алай отырып, енгізуді ұ йымдастырамыз.

N: =StrToInt(edinput.Text);

Except//егер қ ате болса, тө мендегі операторлар орындалады

ShowMessage ('бү тін санды енгізуде қ ате бар');

Edinput.SelectAll; // Қ атесі бар жолды ерекшелейміз.

Exit; // ө ң деушінің жұ мысын аяқ таймыз

End;

Try (Сынау), Except (шығ арып тастау) жә не End қ ызметші сө здерінің кө мегімен программаның қ орғ алғ ан бө лігі орындалады. Осындай қ орғ аныс қ ою арқ ылы программист программа жұ мысын бұ зылудан қ орғ айды. Алдың ғ ы программадан айырмашылығ ы Edinput компонентін ө згертпедік. егер бұ л мә тінде бү тін сандардың берілуі дұ рыс болмаса, онда тө мендегі оператор орындалады:

N: =StrToInt(edinput.Text);

Ә деттегі программада осылай жазылса, ол программаның апатты аяқ талуына ә келер еді. Мұ ндай жағ дай болмас ү шін, біз ол операторды Try операторынан кейін, Except операторының алдына орналастырдық. Егер қ ате болса, Except жә не End аралығ ындағ ы барлық операторлар қ алдырылып, ө ң деуші дұ рыс жұ мыс істейді. Егер қ ате табылса, басқ ару автоматты тү рде Except операторынан кейінгі орналасқ ан операторларғ а беріліп, ө ң деу жұ мысы басталады. Алдымен, стандартты ShowMessage процедурасының кө мегімен пайдаланушығ а қ ате жө нінде хабарланады, одан кейін Edinput.SelectAll жолының кө мегімен Edinput компонентіндегі қ ате мә тін ерекшеленеді. Одан кейін Exit стандартты процедурасының кө мегімен ө ң деушінің жұ мысын апатты тү рде аяқ таймыз(бірақ ол программаның жұ мысы емес!).

Тө мендегі екі мә селені ескеру қ ажет. Біріншіден For операторының жұ мысын басқ аратын шарт < оператор> орындалар алдында тексеріледі, егер шарт сақ талмаса For операторындағ ы қ айталанатын оператор бірде бір рет орындалмайды. Цикл қ адамы ү немі тұ рақ ты жә не (+1)-ге тең. Бұ л оператордың жазылу тү рі тө мендегідей:

For < қ айталау параметрі>: = < Xmin> to < Xmax> do оператор;

Мұ ндағ ы to қ ызметші сө зін downto қ ызметші сө зіне ауыстырсақ цикл қ адамы (-1)-ге тең болады, ал жазылу тү рі тө мендегідей болады:

For < қ айталау параметрі>: = < Xmin> downto < Xmax> do оператор;

Алдымен мысалды кез келген оң жә не теріс сандардың қ осындысын есептеуге болатындай етіп тү рлендіруге болады:

...

Sum: =0;

if N> =0 then

For i: =1 to N do

Sum: =Sum+i

Else

For i: =N to downto -1 do

Sum: =Sum-i;

...


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.014 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал