نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی
  • خانه
  • ویندوز 7، XP
  • جاوا اسکریپت حلقه های while، do-while و for. عبارت if را به زبان C انتخاب کنید

جاوا اسکریپت حلقه های while، do-while و for. عبارت if را به زبان C انتخاب کنید

مرحله دوم در ایجاد برنامه های تمام عیار در زبان MatLabمطالعه اپراتورهای شاخه و حلقه ها است. با کمک آنها می توانید منطق اجرای الگوریتم های ریاضی را پیاده سازی کنید و محاسبات تکراری (تکرار شونده، مکرر) را ایجاد کنید.

2.1. بیانیه if شرطی

برای اینکه بتوان منطق را در برنامه پیاده سازی کرد، از دستورات شرطی استفاده می شود. از نظر گمانه‌زنی، این عملگرها را می‌توان به‌عنوان نقاط گره‌ای نشان داد که با رسیدن به آن‌ها برنامه انتخاب می‌کند که در کدام یک از جهت‌های ممکن حرکت کند. به عنوان مثال، شما می خواهید تعیین کنید که آیا یک متغیر arg دارای یک عدد مثبت یا منفی است و یک پیام مربوطه را روی صفحه نمایش دهید. برای این کار می توانید از دستور if استفاده کنید که بررسی های مشابهی را انجام می دهد.

در ساده ترین حالت، نحو دستور if این است:

اگر<выражение>
<операторы>
پایان

اگر مقدار پارامتر عبارت به درستی ارزیابی شود، دستور اجرا می شود، در غیر این صورت توسط برنامه حذف می شود. لازم به ذکر است که «بیان» یک عبارت شرطی است که در آن شرایطی آزمایش می شود. روی میز 2.1 گزینه هایی را برای عبارات منطقی ساده عملگر if ارائه می دهد.

جدول 2.1. عبارات بولی ساده

اگر a کوچکتر از b باشد صحیح، در غیر این صورت نادرست است.

اگر a بزرگتر از b باشد درست است، در غیر این صورت نادرست است.

اگر a برابر با b صحیح باشد، در غیر این صورت نادرست است.

درست اگر a کوچکتر یا مساوی b باشد، در غیر این صورت نادرست است.

درست است اگر a بزرگتر یا مساوی b باشد، در غیر این صورت نادرست است.

اگر a برابر با b نباشد درست است، در غیر این صورت نادرست است.

در زیر نمونه ای از اجرای تابع sign() آورده شده است که اگر عدد بزرگتر از صفر باشد 1+، اگر عدد کمتر از صفر باشد 1- و اگر عدد صفر باشد 0 را برمی گرداند:

تابع my_sign
x = 5;
اگر x > 0
disp(1);
پایان
اگر x< 0
disp(-1);
پایان
اگر x == 0
disp(0);
پایان

تجزیه و تحلیل مثال بالا نشان می دهد که هر سه شرط متقابلاً ناسازگار هستند، یعنی. وقتی یکی از آنها تحریک می شود، دیگر نیازی به بررسی نیست. اجرای درست چنین منطقی باعث افزایش سرعت اجرای برنامه می شود. این را می توان با استفاده از طراحی به دست آورد

اگر<выражение>
<операторы1>% در صورت صحیح بودن شرط اجرا می شوند
دیگر
<операторы2>% در صورت نادرست بودن شرط اجرا می شوند
پایان

سپس مثال بالا را می توان به صورت زیر نوشت:

تابع my_sign
x = 5;
اگر x > 0
disp(1);
دیگر
اگر x< 0
disp(-1);
دیگر
disp(0);
پایان
پایان

این برنامه ابتدا بررسی می کند که آیا x مثبت است یا خیر، و اگر مثبت است، مقدار 1 را چاپ می کند و همه شرایط دیگر را نادیده می گیرد. اگر شرط اول نادرست بود، اجرای برنامه از طریق دیگری (در غیر این صورت) به شرط دوم ادامه می‌یابد، جایی که متغیر x برای منفی بودن بررسی می‌شود و اگر شرط درست باشد، مقدار -1 روی صفحه نمایش داده می‌شود. . اگر هر دو شرط نادرست باشند، مقدار 0 نمایش داده می شود.

مثال بالا را می توان به شکل ساده تری با استفاده از ساختار دستوری MatLab دیگری نوشت:

اگر<выражение1>
<операторы1>% اجرا می شوند اگر عبارت 1 درست باشد
elseif<выражение2>
<операторы2>% اجرا می شوند اگر عبارت 2 درست باشد
...
elseif<выражениеN>
<операторыN>% اجرا می شوند اگر عبارت N درست باشد
پایان

و به صورت زیر نوشته می شود:

تابع my_sign
x = 5;
اگر x > 0
disp(1); % اجرا می شود اگر x > 0 باشد
elseif x< 0
disp(-1); % اجرا می شود اگر x< 0
دیگر
disp(0); % اجرا می شود اگر x = 0 باشد
پایان

با استفاده از عملگر شرطیاگر می تواند شرایط پیچیده تر (ترکیب) را آزمایش کند. به عنوان مثال، باید تعیین کنید: آیا متغیر x در محدوده مقادیر 0 تا 2 قرار می گیرد؟ این را می توان با بررسی همزمان دو شرط به طور همزمان اجرا کرد: x >= 0 و x<=2. Если эти оба условия истинны, то x попадает в диапазон от 0 до 2.

برای پیاده سازی شرایط ترکیبی در MatLab از عملگرهای منطقی استفاده می شود:

& - منطقی و
| - منطقی یا
~ - منطقی نیست

بیایید به مثالی از استفاده از شرایط ترکیبی نگاه کنیم. فرض کنید می خواهید بررسی کنید که آیا متغیر x در محدوده 0 تا 2 قرار دارد یا خیر. برنامه به صورت زیر نوشته می شود:

تابع my_if
x = 1;
اگر x >= 0 و x<= 2
دیگر
disp("x به محدوده 0 تا 2 تعلق ندارد");
پایان

در مثال دوم، بررسی می کنیم که آیا متغیر x به محدوده 0 تا 2 تعلق ندارد. این با ایجاد یکی از دو شرط به دست می آید: x.< 0 или x > 2:

تابع my_if
x = 1;
اگر x< 0 | x > 2
disp("x به محدوده 0 تا 2 تعلق ندارد");
دیگر
disp("x متعلق به محدوده 0 تا 2") است.
پایان

با استفاده از عملگرهای منطقی AND، OR، NOT، می توانید شرایط ترکیبی مختلفی ایجاد کنید. به عنوان مثال، می توانید بررسی کنید که x در محدوده -5 تا 5 باشد، اما نه در محدوده 0 تا 1. بدیهی است که می توان این را به صورت زیر پیاده سازی کرد:

تابع my_if
x = 1;
اگر (x>= -5 و x<= 5) & (x < 0 | x > 1)
disp("x متعلق به [-5، 5] است، اما در " نیست.
دیگر
disp("x یا نه در [-5، 5] یا در ");
پایان

توجه داشته باشید که در شرایط مرکب پیچیده از پرانتز استفاده شده است. نکته این است که اولویت عملیات AND بالاتر از اولویت عملیات OR است و اگر وجود نداشت پرانتز، سپس شرط به این صورت خواهد بود: (x >= -5 و x<= 5 и x < 0) или x >1. بدیهی است که چنین چکی نتیجه ای متفاوت از آنچه مورد انتظار است به همراه خواهد داشت.

پرانتز در برنامه نویسی برای تغییر اولویت های اجرای دستورات استفاده می شود. مانند عملگرهای حسابی، عملگرهای منطقی نیز می توانند بنا به درخواست برنامه نویس اصلاح شوند. با استفاده از پرانتز، آزمون ابتدا در داخل آنها و سپس خارج از آنها انجام می شود. به همین دلیل است که در مثال بالا آنها برای رسیدن به نتیجه مورد نیاز ضروری هستند.

اولویت عملیات منطقی به شرح زیر است:

NOT (~) - بالاترین اولویت.
و (&) – اولویت متوسط؛
OR (|) - کمترین اولویت.

توانایی کنترل جریان برنامه امکان اجرای انتخابی بخش های جداگانه کد را فراهم می کند و این یکی از ویژگی های بسیار ارزشمند برنامه نویسی است. دستور if به ما این امکان را می دهد که بسته به درست یا نادرست بودن شرط دستور، بخش های خاصی از کد را اجرا کنیم یا اجرا نکنیم. یکی از مهمترین اهداف دستور if این است که به برنامه اجازه می دهد بر اساس آنچه کاربر وارد کرده است اقدام کند. یک مثال ساده از استفاده از if در حال بررسی رمز عبور وارد شده توسط کاربر است؛ اگر رمز عبور صحیح باشد، برنامه به کاربر اجازه می دهد تا عملی را انجام دهد، اگر رمز عبور اشتباه وارد شده باشد، برنامه به کاربر اجازه دسترسی به منابع محدود را نمی دهد. .

بدون دستور شرطی، برنامه بدون توجه به ورودی کاربر، بارها و بارها به همان روش اجرا می شود. اگر از عملگرهای انتخاب استفاده می کنید، نتیجه برنامه می تواند بسیار جالب تر باشد، زیرا مستقیماً به داده های ورودی کاربر بستگی دارد.

قبل از شروع به درک ساختار دستور if، ارزش توجه به معانی TRUE و FALSE در زمینه برنامه نویسی و اصطلاحات کامپیوتری را دارد.

مقدار واقعی (TRUE) مقداری غیر از صفر دارد، FALSE معادل صفر است. هنگام استفاده از عملگرهای مقایسه، اگر عبارت مقایسه درست باشد، اپراتور یک یا اگر عبارت شرطی نادرست باشد - 0 را برمی‌گرداند. برای مثال، عبارت 3 == 2 مقدار 0 را برمی گرداند، زیرا سه برابر دو نیست. عبارت 5 == 5 به درستی ارزیابی می شود و مقدار 1 را برمی گرداند. اگر در درک آن مشکل دارید، سعی کنید این عبارات را روی صفحه چاپ کنید، به عنوان مثال: printf("%d", 7 == 0);

در طول فرآیند برنامه نویسی، اغلب باید برخی از متغیرها را با سایر متغیرها مقایسه کنید و بر اساس این مقایسه ها، جریان برنامه را کنترل کنید. لیست کاملی از اپراتورها وجود دارد که به شما امکان مقایسه را می دهد، در اینجا این است:

احتمالاً با این عملگرهای مقایسه آشنا هستید، اما در هر صورت، آنها را در جدول بالا نشان داده ام. درک آنها نباید برای شما سخت باشد؛ بیشتر این عملگرها را در مدرسه در درس ریاضیات یاد گرفتید. اکنون متوجه شدید که TRUE و FALSE چیست، وقت آن است که دستور if select را آزمایش کنید. اگر ساختار:

If (عبارت شرطی) // در اینجا یک عبارت است که در صورت درست بودن عبارت شرطی اجرا می شود

در اینجا یک مثال ساده از استفاده از دستور if آورده شده است:

If (7 > 6) printf("هفت بزرگتر از شش است");

در این مثال، برنامه عبارت شرطی را ارزیابی می کند - "آیا هفت بزرگتر از شش است؟" برای دیدن نتیجه این قطعه کد، کافی است آن را در تابع main() قرار دهید و فراموش نکنید که هدر stdio.h را اضافه کنید، برنامه را اجرا کنید و نتیجه را ببینید - true. ساخت اپراتور انتخاب اگر با مهاربندهای فرفری باشد:

اگر (TRUE) ( /* تمام کدهای قرار داده شده در داخل براکت ها اجرا می شوند */ )

اگر از بریس‌های فرفری استفاده نمی‌کنید، تنها یکی، اولین عبارت، به بدنه دستور if مربوط می‌شود. اگر نیاز به کنترل چندین اپراتور دارید، باید آنها را در بریس های فرفری قرار دهید. من توصیه می کنم همیشه پرانتزها را بعد از یک اعلان if قرار دهید - این تمرین برنامه نویسی خوبی است و هرگز در کد خود گیج نخواهید شد، زیرا چنین اعلانی قابل درک ترین است.

اپراتور else

گاهی اوقات، وقتی یک عبارت شرطی FALSE است، اجرای کدی که با کدی که در حالت TRUE اجرا می‌شود متفاوت است، راحت است. چگونه این کار انجام می شود؟
در اینجا مثالی از استفاده از عبارت if else آورده شده است:

اگر (TRUE) ( /* اگر شرط درست است این کد را اجرا کنید */ ) دیگری ( /* اگر شرط نادرست است این کد را اجرا کنید */ )

در غیر این صورت اگر ساخته شود

معمولا اظهارات دیگر if زمانی استفاده می شود که انتخاب چندگانه مورد نیاز است، به عنوان مثال، چندین شرط تعریف شده است که می توانند همزمان درست باشند، اما ما فقط به یک عبارت شرطی واقعی نیاز داریم. می توانید از دستور if else بلافاصله بعد از دستور if، بعد از بدنه آن استفاده کنید. در چنین حالتی، اگر شرط اولین دستور select TRUE باشد، بند else if نادیده گرفته می شود، در غیر این صورت، اگر شرط اولین دستور select FALSE باشد، بررسی عبارت else if شروع می شود. اجرا شده. یعنی اگر شرط یکی if درست باشد بقیه بررسی نمی شوند. حال، برای تثبیت همه اینها در ذهن خود و درک آن، بیایید به یک مثال ساده با استفاده از ساختارهای عملگر انتخاب نگاه کنیم.

#عبارتند از #عبارتند از int main() ( int age; // هیچ راهی بدون متغیر... printf("چند ساله هستی؟"); // از کاربر در مورد سنش بپرسید scanf("%d", &age); // کاربر تعداد سالها را وارد می کند اگر (سن< 100) { // если введенный возраст меньше 100 printf ("Вы очень молоды!\n"); // просто показываем что программа сработала верно... } else if (age == 100) { // используем else для примера printf("Молодость уже позади\n"); // \n - символ перевода на новую строку. } else { printf("Столько не живут\n"); // если ни одно из выше-перечисленных условий не подошло, то программа покажет этот вариант ответа } return 0; }

بیایید به عبارات شرطی جالب با استفاده از عملگرهای منطقی نگاه کنیم.

عملگرهای منطقی به شما امکان می دهند پیچیده تر ایجاد کنید عبارات شرطی. به عنوان مثال، اگر می خواهید بررسی کنید که آیا متغیر شما بزرگتر از 0 اما کمتر از 10 است، فقط باید از عملگر منطقی - AND استفاده کنید. این روش انجام می شود - var > 0 و var< 10 . В языке СИ есть точно такой же же оператор, только обозначается он иначе — && .
هنگام استفاده از عبارات if، اغلب لازم است چندین مورد آزمایش شود شرایط مختلفبنابراین درک عملگرهای منطقی OR، NOT و AND بسیار مهم است. عملگرهای منطقی دقیقاً مانند عملگرهای مقایسه عمل می کنند: اگر نادرست باشد 0 یا اگر 1 باشد بیان منطقی- درست است، واقعی.
بیشتر بخوانید در مورد عملیات منطقیمی توانید در .

در این مقاله به مطالعه ادامه خواهیم داد اصول اولیه PHPو در مورد چرخه ها و شرایط صحبت کنید. ابتدا، بیایید ساختار IF - ELSE را بررسی کنیم، که به شما اجازه می دهد تا اعمال خاصی را بسته به اینکه آیا یک شرط برآورده شده است یا خیر، انجام دهید. سپس به بررسی چرخه ها می پردازیم. در مجموع، سه طرح حلقه در نظر گرفته می شود - حلقه های WHILE، DO - WHILE و حلقه FOR.

مبانی پی اچ پی. سازه های IF-ELSE

ساختار IF-ELSE اجازه می دهد تا اقدامات خاصی بسته به اینکه آیا شرایط برآورده شده است یا خیر، انجام شود. این طرح می تواند به طور گسترده در عمل مورد استفاده قرار گیرد، به عنوان مثال، برای ایجاد حفاظت ساده برای برخی از بخش های یک وب سایت با استفاده از رمز عبور. اگر کاربر وارد شود رمز عبور صحیح، سپس به او اجازه دسترسی به بخش بسته داده می شود. در غیر این صورت ممکن است مثلاً به آن پیغام خطا بدهیم.

در عمل، ساختار IF – ELSE به شکل زیر است:

پس بیایید نظر بدهیم. ابتدا به متغیرها مقادیری اختصاص داده می شود. سپس یک شرط تعیین می شود. اگر متغیر $a برابر با متغیر $b باشد، کدی که در وهله اول قرار دارد اجرا می شود. آکولاد. اگر شرط برآورده نشد، پس از ELSE هر چیزی که در اولین بریس‌های فرفری وجود دارد حذف می‌شود و کدی که در بریس‌های فرفری وجود دارد پس از ELSE اجرا می‌شود. همانطور که می بینید، همه چیز ساده و واضح است.

بجز شرایط سادهدر PHP می توانید از چندین شرط و ساختارهای IF – ELSE استفاده کنید. برای مثال، بیایید به کد زیر نگاه کنیم:

"؛ if ($e != $c) ( echo "متغیر E برابر با متغیر C نیست
"; ) else ( echo "متغیر E برابر با متغیر C است
"; ) ) else ( echo "متغیرها برابر نیستند
"; } ?>

ابتدا مقادیر خاصی را به متغیرها اختصاص می دهیم. سپس ساختارهای تودرتو IF - ELSE وجود دارد. همانطور که در PHP مشاهده می کنید، هر ساختار IF - ELSE می تواند شامل ساختارهای مشابه دیگری باشد که تعداد آنها در اصل نامحدود است.

حال بیایید به علائمی که در شرایط اعمال می شود نگاه کنیم.

  • == - در PHP این علامت به معنی برابر است. علامت "=" در PHP یک علامت انتساب است.
  • != نا برابربرای مثال $a != $b – متغیر $a با متغیر $b برابر نیست.
  • و یا &&- منظور داشتن وبه عنوان مثال، $a != $b && $c != $d – متغیر $a با متغیر $b و متغیر $c برابر با متغیر $d نیست.
  • یا یا ||- منظور داشتن یابرای مثال $a != $b || $c != $d - متغیر $a با متغیر $b یا متغیر $c برابر با متغیر $d نیست.

بنابراین، ما تفسیر همه نشانه ها را کشف کرده ایم. حال شروع به خواندن کد بالا می کنیم که در کلمات می توان آن را به صورت زیر بیان کرد:

اگر متغیر $a برابر با متغیر $b و متغیر $c برابر با متغیر $d یا متغیر $e برابر با متغیر $d باشد، پیغام “متغیرها برابر هستند” را نمایش می‌دهیم و یک کار را انجام می‌دهیم. خط شکستن سپس یک بررسی دیگر انجام می دهیم. اگر متغیر $e برابر با متغیر $c نباشد، پیغام “متغیر E برابر با متغیر C نیست” را نمایش می دهیم و یک خط شکن انجام می دهیم. اگر شرط برآورده نشد، «متغیر E برابر با متغیر C است» را چاپ می کنیم. اگر شرط اول برآورده نشد، تمام کدهای موجود در اولین پرانتزهای فرفری حذف می شوند و بلافاصله پیام "متغیرها برابر نیستند" نمایش داده می شود و یک خط شکسته می شود (برچسب
).

این نتیجه بررسی ما از ساخت IF - ELSE است. امیدوارم ماهیت کلی آنچه در بالا توضیح داده شد را درک کرده باشید و به مطالعه بیشتر ادامه دهیم اصول اولیه PHP- مطالعه چرخه ها

مبانی پی اچ پی. حلقه های WHILE و DO–WHILE

حلقه ها در PHP کاربرد بسیار گسترده ای دارند، زیرا به شما امکان می دهند بسیاری از توابع را که در هر وب سایت پویا وجود دارد، پیاده سازی کنید. یکی از رایج ترین مشکلاتی که با استفاده از حلقه ها حل می شود، برای مثال، خروجی است آخرین خبرهاسایت. تمام هدف حلقه ها انجام یک عمل خاص تا زمانی است که یک شرط برقرار است. به عنوان مثال، اجازه دهید مشکل محاسبه مجموع اعداد از یک تا 10 را حل کنیم. در این موردتعداد اعداد می تواند هر باشد، اما بیایید عدد 10 را به عنوان مثال در نظر بگیریم، زیرا در این حالت بررسی نتیجه آسان تر خواهد بود.

برای حل این مشکل استفاده خواهیم کرد حلقه WHILE . کد محاسبه مجموع اعداد از یک تا ده به صورت زیر خواهد بود:

اول از همه، متغیرهای $s (sum) و $i (counter) را ایجاد کرده و مقادیری را به آنها اختصاص می دهیم. سپس یک حلقه WHILE می نویسیم که در شرایط آن نشان می دهیم که حلقه باید تا زمانی اجرا شود که متغیر $i (counter) کمتر یا مساوی 10 شود. مقدار متغیر $s را در بدنه آن می نویسیم. حلقه بزنید و شمارنده $i را یک برابر افزایش دهید. این کار با استفاده از دو علامت + ($i++) یا انجام می شود با اضافه کردن سادهواحدها ($i = $i + 1). برای جلوگیری از چرخه (اجرای حلقه بی پایان) مقدار شمارنده باید بدون شکست تغییر کند.

حال بیایید نحوه اجرای برنامه را بررسی کنیم. ابتدا یک مقدار به متغیرها اختصاص می دهیم. سپس حلقه وضعیت را بررسی می کند. اگر اجرا شود، کدی که در بدنه حلقه است (در پرانتزهای فرفری) اجرا می شود. پس از اجرای بدنه حلقه و افزایش شمارنده، مجدداً شرط بررسی می شود و در صورت صحت، حلقه مجدداً تکرار می شود. تا زمانی که شرط برقرار باشد، حلقه تکرار خواهد شد. پس از اجرای حلقه، نتیجه با استفاده از عملگر خروجی Echo روی صفحه نمایش داده می شود. اطلاعات بیشتر در مورد متغیرها و عملگرهای خروجی را می توانید در مقاله "".

به همان شیوهچرخه DO – WHILE نیز کار می کند. تنها تفاوت در اینجا این است که بررسی شرط پس از اجرای حلقه انجام می شود. بنابراین، حلقه در هر صورت حداقل یک بار اجرا می شود. در عمل، حلقه DO – WHILE به شکل زیر است:

همانطور که مشاهده می کنید در حل مشکل محاسبه مجموع اعداد از یک تا ده با استفاده از حلقه DO – WHILE ابتدا مقادیری به متغیرها اختصاص داده می شود. سپس کد اجرا می‌شود و مقدار شمارنده افزایش می‌یابد و تنها پس از همه این‌ها شرط بررسی می‌شود. اگر انجام شود، چرخه دوباره تکرار می شود. در غیر این صورت، نتیجه با استفاده از عملگر خروجی روی صفحه چاپ می شود.

مبانی پی اچ پی. برای حلقه

با کمک حلقه FORشما می توانید تمام اقدامات مشابه با حلقه WHILE را انجام دهید. همچنین هنگام ایجاد وب سایت استفاده می شود، اما، به نظر من، به میزان کمتری از چرخه WHILE. شخصاً دومی را ترجیح می دهم، اما در این مقاله حلقه FOR را نیز بررسی خواهیم کرد، زیرا بخشی از زبان PHP است و شما باید آن را بدانید.

بیایید به حل مشکل قبلی با استفاده از یک حلقه FOR نگاه کنیم. کد محاسبه مجموع اعداد از یک تا ده با استفاده از یک حلقه FOR به صورت زیر است:

همانطور که می بینید، نحو حلقه FOR به صورت زیر است. ابتدا متغیرها مقدار دهی اولیه می شوند سپس شرط مشخص می شود و پس از آن عملی که باید پس از عبور از یک حلقه انجام شود مشخص می شود. از نظر شماتیک چیزی شبیه به این خواهد بود:

برای (آغازسازی؛ شرط؛ عمل پس از اجرای یک حلقه) (بدنه حلقه (عمل))

همانطور که می بینید، نحو PHP مشابه سینتکس C++ اگر C++ را خوانده اید، تسلط بر PHP برای شما آسان تر خواهد بود. اما حتی اگر قبلا زبان های برنامه نویسی دیگر را مطالعه نکرده اید، می توانید به راحتی به اصول اولیه PHP مسلط شوید، زیرا یکی از بهترین زبان هاست. زبان های سادهبرنامه نويسي.

این مقاله در مورد اصول PHP به پایان می رسد. اگر سبک مقاله نویسی من و خود محتوای آنها را دوست داشتید، می توانید در مورد "اشتراک" به هر طریقی که برای شما مناسب است در اخبار سایت مشترک شوید.

همین. برای شما آرزوی موفقیت دارم و به زودی شما را در صفحات وبلاگ می بینیم

C++ مجموعه استانداردی از عملگرها را برای انتخاب یک انتخاب و چرخه ارائه می دهد.

کلمات کلیدی مربوط به ساخت شرایط انشعاب برای کد عبارتند از:

  • تعویض
  • زنگ تفريح
  • پیش فرض

کلمات کلیدی مربوط به ساخت چرخه عبارتند از:

  • در حالی که
  • زنگ تفريح
  • ادامه هید

بیانیه های شرطی

عبارت If

ساختار شرط با استفاده از دستور if به صورت زیر تشکیل می شود:

Int x = 56; bool check_x() (اگر (x > 0) true را برگرداند؛ false را برگرداند.)

در این حالت شرط بعد از دستور if در پرانتز قرار می گیرد. در این ساختار، کد بازگشتی درست است. اگر x بزرگتر از 0 باشد اجرا خواهد شد. دیگر برای کدی که در صورت برآورده شدن شرط اجرا می شود، اعمال نمی شود. در ساختارهای شرطی، اگر این شرط برقرار باشد، در صورتی که کد در براکت های فرفری محصور نشده باشد، فقط یک خط کد اجرا می شود، یعنی اگر بدنه کد اجرا شده در شرط تشکیل نشده باشد. بیایید دو گزینه کد را در نظر بگیریم:

گزینه اول:

Int x = 56; bool check_x() (اگر (x > 0) x = 0؛ بازگشت true؛ بازگشت نادرست؛ )

در این کد، true را برگردانید. همیشه اجرا خواهد شد، زیرا فقط رشته x = 0 مربوط به کد در حال اجرا است.

گزینه دوم:

Int x = 56; bool check_x() (اگر (x > 0) (x = 0؛ بازگشت true؛ ) بازگشت نادرست؛)

در این کد، true را برگردانید. تنها در صورتی برآورده می شود که شرط x> 0 برآورده شود.

بیانیه دیگری

را دیگربیانیه به همراه استفاده می شود با اگربیانیه برای تشکیل دنباله ای از شرایط.

Int x = 56; bool check_x() (اگر (x > 0) (x = 0؛ بازگشت true؛ ) در غیر این صورت اگر (x< 0) { x = 0; return false; } else { return false; } }

اگر شرط قبلی و در غیر این صورت دستور if ناموفق باشد، می توان از دستور else برای افزودن یک شرط جدید استفاده کرد. و به عنوان کد نهایی در یک دنباله از شرایط، در صورتی که شرایط قبلی وجود نداشت. همچنین، اگر کد در یک خط قرار می‌گیرد، می‌توان از بریس‌ها برای بدنه کد استفاده کرد.

سوییچ عبارات، حروف کوچک، شکست، پیش‌فرض

را کیس سوئیچساختار برای انتخاب انشعاب کد استفاده می شود، در شرایطی که انتخاب با مقادیر صحیح انجام می شود. این به این معنی است که حروف سوئیچ را می توان فقط برای مقادیر صحیح، شمارش ها و انتخاب ها توسط کد نماد استفاده کرد.

Int x = 100; bool check_x() ( سوئیچ (x) ( مورد 0: بازگشت true؛ مورد 50: x = 0: شکست؛ مورد 100: بازگشت نادرست؛ پیش‌فرض: بازگشت نادرست؛ )

در کد بالا، متغیر x برابر با اعداد 0، 50، 100 بررسی شده است، اپراتور پیش فرض کدی را انتخاب می کند که در صورت عدم رعایت هیچ یک از شرایط اجرا شود. همچنین توجه داشته باشید که در بلوک کد با مورد 50: دستور break اضافه شده است، این دستور از شرط خارج می شود، در حالی که دستور return از تابع خارج می شود. اگر دستور break اضافه نکنید، اجرای کد در مورد 100 ادامه می یابد. با توجه به این ویژگی ساخت کیس سوئیچ، امکان ترکیب شرایطی وجود دارد که لازم است همان کد را اجرا کنیم. مثلا:

Int x = 100; bool check_x() ( سوئیچ (x) ( case 0: case 50: case 100: return true; default: return false; ) )

بنابراین، برای x برابر با 0، 50، 100، تابع true برمی گرداند. در حالی که برایتمام مقادیر دیگر تابع false را برمی گرداند.

همچنین کد برایانتخاب case در این ساختار می‌تواند در بلوک‌های کد پیچیده شود که دامنه را محدود می‌کند و از اعلان‌های متغیرهایی با همان نام استفاده می‌کند.

Int x = 100; int check_x() ( سوئیچ (x) ( case 0: ( int y = 1; return y; ) case 50: ( int y = 2; return y; ) case 100: ( int y = 3; return y; ) پیش فرض : بازگشت x;))

بنابراین، با محدود کردن دامنه، می‌توانیم از متغیرهایی با نام‌های مشابه در شرایط مورد استفاده کنیم. اما فراموش نکنید که در خارج از محدوده، که با براکت های فرفری محدود شده است، متغیر y در این مورد وجود نخواهد داشت.

اپراتورهای چرخه

بیانیه while

دستور while تا زمانی که شرط برقرار باشد، کد را در بدنه خود تکرار می کند. مثلا:

Int i = 0; در حالی که (من< 10) { i = i + 1; }

در این کد من بعد از حلقه 10 خواهم بود.

بیانیه انجام

دستور do همراه با دستور while استفاده می شود و اجازه می دهد تا بدنه حلقه حداقل یک بار قبل از بررسی شرط حلقه اجرا شود. مثلا:

Int i = 15; do (i = i - 5؛ std::cout<< i << std::endl; } while (i >0 && i< 13);

در این کد، متغیر I در ابتدا با شرط مطابقت ندارد و در حلقه معمولی while کد بدنه حلقه اجرا نشده است، اما از آنجایی که حلقه do-while استفاده می شود، پس از اینکه بدنه حلقه انجام شد، تست انجام می شود. اجرا شده. در نتیجه خروجی std::cout برابر است با:

می توانید بپرسید چرا 0 در خروجی وجود دارد؟ با شرایط مناسب نیست. باز هم با توجه به اینکه بررسی پس از اجرای کد در بدنه حلقه انجام می شود. یعنی بدنه حلقه اجرا شده است و سپس یک بررسی انجام می شود که در نتیجه چرخه کار خود را کامل می کند.

بیانیه شکست

مانند حالت switch، این عبارت را می توان در حلقه ها استفاده کرد. این برای خروج از حلقه، قبل از تکمیل شرط چرخه ضروری است. مثلا:

Int i = 15; در حالی که (من< 50) { if (i < 0) { break; } i = i - 5; }

در این مثال مصنوعی، یک چرخه ابدی به وجود می آید زیرا متغیر i به جای افزایش، کاهش می یابد و با شرط حلقه، خروجی تنها در صورتی تولید می شود که i بزرگتر از 50 باشد. اما به لطف دستور break و شرط تست برای مقدار منفی متغیر i اجرای برنامه به محض اینکه i کمتر از 0 شود از این حلقه خارج می شود.

ادامه بیانیه

این عملگر به شما این امکان را می دهد که تکرار یک حلقه را لغو کنید و قبل از اجرای تمام کدهای موجود در بدنه حلقه، یک تکرار جدید از حلقه را شروع کنید. مثلا:

Int i = 0; در حالی که (من< 5) { if (i == 3) { i = i + 1; continue; } std::cout << i << std::endl; i = i + 1; }

هنگام اجرای این کد، خروجی زیر را دریافت می کنیم:

یعنی خروجی عدد 3 حذف خواهد شد.

بیانیه برای

حلقه ها با دستور for به شما امکان می دهند مقداردهی اولیه متغیرها، شرایط و تغییر این متغیرها را ترکیب کنید.

یعنی حلقه while زیر

Int i = 0; در حالی که (من< 10) {

معادل حلقه for زیر خواهد بود:

برای (int i = 0; i< 10; i++) { // ToDo Something }

مزیت این حلقه for این است که متغیر I در محدوده محلی حلقه for خواهد بود.

حلقه های For را می توان با چندین متغیر از یک نوع مقدار دهی اولیه کرد. مثلا:

برای (int i = 0، *p = i< 9; i += 2) { std::cout << i << ":" << *p << " "; }

همچنین، شرط می تواند اعلان، مقداردهی اولیه یک متغیر باشد. مثلا:

Char cstr = "سلام"; برای (int n = 0; char c = cstr[n]; ++n) ( std::cout<< c; }

با توجه به استاندارد C++ 11، متغیر خودکار می تواند به عنوان نوع متغیر استفاده شود، که به شما امکان می دهد نوع متغیر را از مقدار اولیه خروجی بگیرید:

Std::بردار v = (3، 1، 4، 1، 5، 9); برای (auto iter = v.begin(); iter != v.end(); ++iter) ( std::cout<< *iter << " "; }

همچنین یک نکته جالب این است که مقدار اولیه، شرط و بلوک تغییر می تواند عبارت باشد:

Int n = 0; برای (std::cout<< "Loop start\n"; std::cout << "Loop test\n"; std::cout << "Iteration " << ++n << "\n") { if(n >1) شکستن؛ )

با شروع استاندارد C++11، برای حلقه‌ها، تکرار برای کانتینرهایی که از تکرار پشتیبانی می‌کنند اضافه شده است. به عنوان مثال، ظرف برداری از کتابخانه استاندارد:

Std::بردار v = (0، 1، 2، 3، 4، 5)؛ برای (const int& i: v) std::cout<< i << " ";

در این کد، ساختار حلقه به صورت زیر است:

برای (بازیابی شده از ظرف در هر تکرار شی: ظرف) ( // بدنه چرخه )

همچنین حلقه‌های مبتنی بر Range از بیانیه خودکار پشتیبانی می‌کنند. مثلا:

Std::بردار v = (0، 1، 2، 3، 4، 5)؛ برای (خودکار& i: v) std::cout<< i << " ";

این درس به عملگر شرطی در پاسکال ( اگر). نحوه استفاده از چند شرط در یک ساختار را توضیح می دهد ( وو یا). نمونه هایی از کار با اپراتور در نظر گرفته شده است

یادآوری می‌کنیم که این سایت وانمود نمی‌کند که اطلاعات کاملی در مورد موضوع ارائه می‌کند. هدف از ایجاد پورتال ارائه فرصتی برای یادگیری مطالب بر اساس مثال های حل شده آماده با موضوع "زبان برنامه نویسی پاسکال" با کارهای عملی برای تقویت مطالب است. وظایف پاسکال ارائه شده در سایت با افزایش پیچیدگی به ترتیب مرتب می شوند. این وب سایت می تواند توسط معلمان و اساتید به عنوان کمک بصری استفاده شود.

قبل از در نظر گرفتن این موضوع، الگوریتم‌های خطی در پاسکال عمدتاً مورد استفاده قرار می‌گرفتند که برای مسائل بسیار ساده زمانی که اقدامات (عملگرها) به صورت متوالی و یکی پس از دیگری انجام می‌شوند، معمولی هستند. الگوریتم های پیچیده تر شامل استفاده از ساختار انشعاب است.

دیاگرام بلوک عملگر شرطی:

دستور شرطی در پاسکال دارای نحو زیر است:

نسخه خلاصه شده:

if condition then statement;

نسخه کامل:

if شرط سپس عبارت other;

عملگر شرطی در پاسکال - if - برای سازماندهی پیشرفت یک کار به گونه ای خدمت می کند که توالی اجرای عملگرها بسته به شرایط منطقی تغییر کند. یک شرط منطقی می تواند یکی از دو مقدار را داشته باشد: به ترتیب درست یا نادرست، می تواند درست یا نادرست باشد.

عملگر مرکب

اگر تحت یک شرایط واقعی، لازم است چندین دستور اجرا شود، پس طبق قوانین زبان پاسکال، آنها باید در یک بلوک محصور شوند، با کلمه تابع شروع شروع می شود و با کلمه تابع end خاتمه می یابد. معمولاً چنین بلوکی نامیده می شود براکت های اپراتورو این ساخت و ساز - عملگر مرکب:

براکت های عملگر و عملگر مرکب در پاسکال:

اگر عبارت منطقی باشد، دستور1 را شروع کنید. عملگر 2; end else begin statement1; عملگر 2; پایان؛

ترجمه از انگلیسی عملگر شرط درک کاربرد آن را آسان‌تر می‌کند:

اگر سپس دیگر
اگر که در غیر این صورت


شرط (در یک عبارت منطقی) از عملگرهای رابطه ای استفاده می کند.
لیست عملگرهای رابطه ای پاسکال را در نظر بگیرید:

  • بیشتر >
  • کمتر
  • بزرگتر یا مساوی در پاسکال >=
  • کمتر یا مساوی در پاسکال
  • مقایسه در پاسکال =
  • در پاسکال برابر نیست

مثال:از بین دو عدد بزرگترین را پیدا کنید

انتخاب 1 گزینه 2


کار را با جزئیات درک کنید با مشاهده فیلم آموزشی می توانید از عملگر شرطی در پاسکال استفاده کنید:

مثال:مقدار متغیر y را با استفاده از یکی از دو شاخه محاسبه کنید

نمایش راه حل:

var x,y:real; start writeln ("x را وارد کنید"); خواندن (x); اگر x>0 سپس y:=ln(x) در غیر این صورت y:=exp(x); writeln ("y="، y:6:2) (عدد حاصل 6 موقعیت را اشغال می کند و 2 رقم اعشار خواهد داشت) پایان.

به نحوه خروجی y در این مثال توجه کنید. هنگام استنتاج متغیرهای نوع در پاسکال، می توانید از اصطلاح استفاده کنید خروجی فرمت شده، یا علامت گذاری با دو دونقطه:
y:6:2
- عدد بعد از دو نقطه اول (6) نشان می دهد که تعداد کاراکترها در هنگام نمایش روی صفحه چند کاراکتر را اشغال می کند.
- عدد بعد از دو نقطه دوم (2) نشان می دهد که چند رقم اعشار از عدد واقعی نمایش داده می شود

بنابراین، استفاده از چنین علامت گذاری در پاسکال عملاً به شما امکان می دهد تا به صدم، هزارم و غیره گرد کنید.

وظیفه 0.مقدار متغیر y را با استفاده از یکی از دو شاخه محاسبه کنید:

وظیفه 1.دو عدد وارد کامپیوتر می شود. اگر اولی بزرگتر از دومی است، مجموع آنها را محاسبه کنید، در غیر این صورت - محصول. پس از این، کامپیوتر باید نتیجه و متن PROBLEM SOLVED را چاپ کند

وظیفه 2.اژدها هر سال سه سر رشد می کند، اما پس از 100 سالگی، تنها دو سر. اژدها چند سر و چشم دارد؟ نسال ها؟

عملیات منطقی در پاسکال (در بیان منطقی)

هنگامی که نیاز به استفاده از یک شرط دوگانه در پاسکال دارید، به عملیات منطقی نیاز خواهید داشت.

  • عملیات منطقی و (و) که بین دو شرط قرار می گیرد، می گوید که هر دوی این شرایط باید یکباره باشد (باید صادق باشد). معنای منطقی عملیات "ارتباط" است.
  • بین دو شرط قرار می گیرد، علامت یا (یا) می گوید اگر حداقل یکی از آنها برآورده شود کافی است (یکی از دو شرط صحیح است). معنای منطقی عملیات «انفکاک» است.
  • در پاسکال XOR - نشانه یک عمل منطقی که به معنای «انفکاک شدید» است و نشان می دهد که لازم است یکی از دو شرط محقق شود (درست) و دیگری برآورده نشود (نادرست).
  • عملیات منطقی نه قبل از یک عبارت منطقی یا متغیر به معنای «نفی» یا «وارونگی» است و نشان می دهد که اگر متغیر یا عبارتی درست باشد، نفی آن نادرست است و بالعکس.

مهم:هر شرط ساده باید در داخل پرانتز قرار گیرد.

مثال: بیایید به نمونه هایی از عملیات منطقی در عبارات منطقی در پاسکال نگاه کنیم

1 2 3 4 5 6 7 8 var n: عدد صحیح ; شروع n: = 6 ; اگر (n> 5 ) و (n<10 ) then writeln ("истина" ) ; if (n>7) یا (n<10 ) then writeln ("истина" ) ; if (n>7 )xor (n<10 ) then writeln ("истина" ) ; if not (n>7) سپس writeln("true"); پایان.

var n:integer; شروع n:=6; اگر (n>5) و (n<10) then writeln("истина"); if (n>7) یا (n<10) then writeln("истина"); if (n>7)xor(n<10) then writeln("истина"); if not(n>7) سپس writeln("true"); پایان.

مثال:این شرکت از 25 تا 40 سال کارمند استخدام می کند. سن فرد را وارد کنید و مشخص کنید که آیا او برای این شرکت مناسب است (پاسخ "مناسب" یا "ناسازگار" را نمایش دهید).
خصوصیات عجیب و غریب:باید بررسی کنیم که آیا دو شرط به طور همزمان برآورده می شوند یا خیر.

مثال:با یک عدد صحیح A. صحت عبارت را بررسی کنید: "عدد A فرد است."

بهترین مقالات در این زمینه