If операторы



Дата09.10.2023
өлшемі18,68 Kb.
#184337
Байланысты:
If операторы эссе танатар диас


If операторы
Бұл көптеген тілдердің, соның ішінде PHP қоса алғанда ең маңызды операторлардың бірі. Ол шартқа байланысты код үзіндісін орындауға мүмкіндік береді. If операторының құрылымын төмендегідей беруге болады:

if (өрнек) орындалу_блогы

Мұндағы өрнек кез келген дұрыс PHP-өрнек (яғни, барлық мәні бар өрнек). Скрипті өңдеу кезінде өрнек логикалық типке түрленеді. Егер түрлену кезінде өрнектің мәні ақиқат (True) болса, онда орындалу_блогы жүзеге асады. Кері жағдайда орындалу_блогы еленбейді. Егер орындалу_блогы бірнеше командадан тұрса, онда олар {} жақшаға алынуы тиіс.

Өрнектің логикалық типке түрлену ережесі:


1. FALSE мәніне төмендегі мәндер түрленеді:
o логикалық False;
o бүтін нөл (0);
o нақты нөл (0.0);
o бос жол және «0» жолы;
o элементтері жоқ массив;
o айнымалылары жоқ объект;
o NULL арнайы типі.
2. Қалған барлық мәндер TRUE мәніне түрленеді.
$names = array("Иван","Петр","Семен");
if ($names[0]=="Иван") {
echo "Ваня, сәлем!";
$num = 1;
$account = 2000;
}
if ($num) echo "Иван тізімде бірінші!";
$bax = 30;
if ($account > 100*$bax+3)
echo "Шарт орындалмағандықтан,
бұл жол экранға шықпайды;
?>
Мысал 3.1. if шартты операторы (html, txt)

Else операторы



Біз if операторының тек бір, негізгі бөлігін ғана қарастырдық. Бұл оператордың бірнеше кеңейтілген түрі бар. If операторындағы шарт орындалмаған жағдайда else операторын қолданамыз және шартқа байланысты қандай да бір әрекеттерді орындауға мүмкіндік береді. If шартты операторы
Осы мысалдағы if шартты оператор болады. Шартты оператор дегеніміз бір шарттың орындалуына байланысты орындалатын не орындалмайтын код. Мысалы $adam айнымалысы 18 санынан үлкен болса жазу пайда болады. Үлкен болмаса пайда болмайды.
Яғни $adam айнымалысы белгілі шартты (>18) қанағаттандырса бағдарлама орындалады (Kameletke toldy деген жазу пайда болады), қанағаттандырмаса орындалмайды (жазу пайда болмайды). Шарттың орындалуына байланысты әрекет ететін бағдарлама.
Шартты оператор толық және толық емес шанышқы. Таңдау операторы іс жүзінде көптеген есептердің шешімін сызықтық құрылым бағдарламалары арқылы сипаттау мүмкін емес. Сонымен қатар, белгілі бір шартты тексергеннен кейін операторлардың белгілі бір тізбегі орындалады, бірақ операторларды орындаудың табиғи тәртібі бұзылады. Осы мақсаттар үшін басқару операторлары қолданылады. Шартты оператор белгілі бір шартты орындау кезінде пайда болатын және келесі құрылымға ие бағдарламадағы тармақтарды жүзеге асыру үшін қолданылады if < логикалық өрнек> THEN сериясы1 ELSE сериясы2; Егер шарт ретінде әрекет ететін логикалық өрнек False мәнін қабылдаса,онда else (series2) кейін орналасқан операторлар орындалады, егер шын болса, then-ден кейінгі операторлар. Логикалық өрнекті жазу кезінде нақты айнымалылар үшін = (тең) белгісінен аулақ болу керек, өйткені олар дәл көрсетілмеген, сондықтан тең белгінің сол және оң жағында тұрған өрнектердің мәндерінің сәйкес келуі болмауы мүмкін. Көрсетілген кемшілікті жою үшін шартты берілген дәлдікпен орындау қажет, яғни X = Y қатынасының орнына, мысалы, ABS(X - Y) < 1E-8 ұсынылады.
Шанышқы толық болмауы мүмкін болғандықтан, шартты операторды жазудың толық емес түрі де мүмкін: if < логикалық өрнек> THEN сериясы; Шартты оператор есептеу процесінің екі бағыт бойынша тармақталуын жүзеге асырады, олардың бірі шарт орындалған кезде жүзеге асырылады, екіншісі басқаша. Екі бағыттан астам тармақтарды іске асыру үшін бірнеше шартты операторларды пайдалану қажет. Мысалдарды қарастырайық. 1-міндет. Егер X және y теріс болса, онда әрбір мән модульмен ауыстырылады; егер олардың біреуі ғана теріс болса, онда екі мән де 0,5-ке көбейтіледі; егер екі мән де теріс емес болса және олардың ешқайсысы [0,5; 2,0] сегментіне жатпаса, онда екі мән де 10 есе азаяды; қалған жағдайларда x және y өзгеріссіз қалады. Мәселені шешу алгоритмін жасаймыз, содан кейін бағдарламаны жазамыз. Алгоритмді ауызша жазайық:
1) X, y мәндерін енгізіңіз;
2) Егер x<0 және y < 0 болса, олардың модульдерін тауып, 5-тармаққа өтіңіз, әйтпесе келесі тармаққа өтіңіз;
3) егер x<0 немесе y < 0 болса, әр мәнді 0,5-ке көбейтіп, 5-тармаққа өтіңіз, әйтпесе келесіге өтіңіз
4) егер x де, y де [0,5; 2,0] сегментіне жатпаса, оларды 10 есе азайтыңыз;
5) X және y мәндерін шығарыңыз;
6) соңы.
Program Usl;
Var X, Y : Real;
Begin
Write('Введите два действительных числа '); ReadLn(X, Y);
If (X < 0) AND (Y < 0) THEN
Begin
X = ABS(X);
Y = ABS(Y)
End
ELSE
IF (X < 0) OR (Y < 0) THEN
Begin
X = X + 0.5;
Y = Y + 0.5
End
ELSE
IF NOT (((X >= 0.5) AND (X <= 2))
OR ((Y >= 0.5) AND (Y <= 2)))
THEN
Begin
X = X / 10;
Y = Y / 10
End;
WriteLn('натиже:'); WriteLn('X= ', X:10:6); WriteLn('Y= ', Y:10:6)
END.
2-міндет. Нақты сан берілген А. есептеңіз f (a), егер
Program Usl1;
Var A, F : Real;
Begin
WriteLn('Введите действительное число: '); ReadLn(A);
IF A <= 0 THEN
F = 0
ELSE
IF A <= 1 THEN
F = Sqr(A) – A
ELSE
F = Sqr(A) - SIN(Pi * Sqr(A));
WriteLn('Значение функции F(x) при x = ', A:10:6, ' равно ', F:10:6);
END.
Шартты оператордан басқа, case таңдау операторы басқару құрылымы ретінде жиі қолданылады. Бұл құрылым берілген өрнектің (таңдау селекторының) мәніне байланысты тармақтардың біріне ауысуға мүмкіндік береді. Оның ерекшелігі-бұл жерде шешімді таңдау Шарттың ақиқатына немесе жалғандығына байланысты емес, есептелетін болып табылады. Таңдау операторы бірнеше шанышқы операторларын ауыстыруға мүмкіндік береді (Осыған байланысты оны бірнеше тармақталу операторы деп те атайды). CASE конструкциясында k өрнегі есептеледі және жапсырма мәні k мәніне сәйкес келетін тармақ таңдалады, таңдалған тармақ орындалғаннан кейін CASE конструкциясынан шығу орын алады. Егер тізбекте мәні K-ге тең белгі болмаса, онда басқару CASE конструкциясынан кейінгі сыртқы операторға беріледі (егер ELSE баламасы болмаса; егер бар болса, онда келесі оператор орындалады, содан кейін Басқару сыртқы операторға беріледі). Таңдау операторының жазбасы
CASE K OF
A1 : серия 1;
A2 : серия 2;
...
AN : серия N
ELSE серия N + 1
END;
Көрсетілген операторлар сериясының кез келгені бір оператордан да, бірнеше оператордан да тұруы мүмкін (бұл жағдайда, әдеттегідей, бір затбелгіге қатысты операторлар begin операторының жақшаларына салынуы керек..end). 1-міндет. Ескі жапон күнтізбесінде он екі жылдық цикл қабылданды. Цикл ішіндегі жылдарда жануарлардың атаулары болды: егеуқұйрықтар, сиырлар, жолбарыстар, қояндар, айдаһарлар, жыландар, жылқылар, Қойлар, маймылдар, әтештер, иттер мен шошқалар. Жыл нөмірін енгізуге мүмкіндік беретін және оның атын Ескі жапон күнтізбесі бойынша басып шығаратын бағдарлама жазыңыз. Анықтама: 1996-егеуқұйрық жылы - келесі циклдің басталуы. Цикл он екі жыл болғандықтан, біз жыл атауын осы жылдың нөмірін 12-ге бөлудің қалған бөлігіне сәйкес келтіреміз.
Program Goroskop;
Var Year : Integer;
Begin
Write('Введите год '); ReadLn(Year);
CASE Year MOD 12 OF
0 : WriteLn('Год Обезьяны');
1 : WriteLn('Год Петуха');
2 : WriteLn('Год Собаки');
3 : WriteLn('Год Свиньи');
4 : WriteLn('Год Крысы');
5 : WriteLn('Год Коровы');
6 : WriteLn('Год Тигра');
7 : WriteLn('Год Зайца');
8 : WriteLn('Год Дракона');
9 : WriteLn('Год Змеи');
10 : WriteLn('Год Лошади');
11 : WriteLn('Год Овцы')
END;
END.
2-міндет. Таңдау операторын пайдаланып екі нақты санның ең үлкенін табыңыз.
Program Maximum;
Var Max, X, Y : Real;
Begin Write('Введите два неравных числа:');
ReadLn(X, Y);
Case X > Y Of
TRUE : Max := X;
FALSE : Max := Y
End;
WriteLn('Максимальное из двух есть ', Max : 12 : 6)
End.
3-міндет. Таңбаны кіші орыс әрпі болса, бас әріпке түрлендіріңіз. ASCII балама кодтау жүйесінде кіші орыс әріптері қатарынан емес, белгілі бір үзіліспен жүретіндіктен, бұл жағдайда енгізілген әріп кестенің қай бөлігіне түсетініне байланысты сол немесе басқа формула қолданылады. Егер енгізілген таңба кіші орыс әрпі болмаса, ол өзгеріссіз шығарылады.
Program UpCase;
Var C : Char;
Begin
Write('Введите символ:');
ReadLn(C);
Case C Of
'а'..'п' : C := Chr(Ord(C) - 32);
'р'..'я' : C := Chr(Ord(C) - 80)
End;
WriteLn(C);
End.
Мысалдан көріп отырғаныңыздай, жеке мән ғана емес, сонымен қатар мәндер ауқымы да белгі бола алады. Сонымен қатар, өрнек мәндерінің тізімі белгі ретінде әрекет ете алады (мәндер үтір арқылы тізімделеді).

Достарыңызбен бөлісу:




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет