Learning ©➕➕
4.52K subscribers
81 photos
2 videos
38 files
182 links
ک
Download Telegram
مرحله سوم ساخت پروژه در Code::Blocks
مرحله چهارم ساخت پروژه در Code::Blocks
مرحله پنجم ساخت پروژه در Code::Blocks
مرحله ششم ساخت پروژه در Code::Blocks
#27
🎀 آموزش این جلسه : ساختارهای تکرار و تصمیم گیری در ++C 🎀
@Learncpp
با تشکر از خانم نازنین گودرزی بابت تهیه مطالب 🙏🌺
#28
☑️ ساختارهای تکرار و تصمیم گیری در ++C :
🔹 دستور if و else-if :
معمول ترین نوع ساختار تصمیم گیری if است یک دستور if میگوید "اگر شرط برقرار است کد معینی را انجام بده" دستور if به دو شکل میتواند باشد همراه با else یا بدون آن.
if ( شرط )
{
دستور
}

if( شرط )
{
دستور
}
else
{
دستور
}
@Learncpp
#29
☑️ ساختارهای تکرار و تصمیم گیری در ++C :
به دنبال کلمه ی if یک پرانتز می آید که عبارت شرط در آن قرار دارد و یک مقدار بولین true یا false تولید میکند. اگر درست باشد دستور بعد از if اجرا میشود و اگر else وجود داشته باشد درصورت برقرار نبودن شرط, دستور بعد از else اجرا میشود.
مثال)
int age;
cout << "enter your age";
cin >> age;
if( age < 20 )
{
cout << "you are still young";
}
else
{
cout << "you are not so young anymore";
}
*بعد از if اگر فقط یک دستور داشته باشیم میتوانیم از آکولاد استفاده نکنیم ولی اگر بیش از یک دستور داشته باشیم و آکولاد نگذاریم فقط دستور خط اول اجرا میشود.
به خاطر داشته باشید که یک علامت مساوی عملگر انتساب است و دو تا مساوی عملگر هم ارزی به معنی" آیا مساوی است با " a==b درست است اگر a برابر با b باشد. ولی a=b مقدار b را به a نسبت میدهد یکی از بیشترین خطاهایی که مبتدیان میکنند استفاده از علامت = به جای == است اگر تک مساوی استفاده کنید شرط if همیشه درست است.
if( num>0 )
cout << "is positive"<<endl;
else if( num==0 )
cout << "is zero" << endl;
else
cout << "is negative" << endl;
این برنامه عدد را گرفته و مثبت و منفی و یا صفر بودن آن را بررسی میکند.
@Learncpp
#30
مثال )
#include <iostream>
int main()
{
int x;
cin >> x;
if (x == 1)
cout << "x is 1";
else
if (x == 2)
cout << "x is 2";
else
cout << Unknown value";
return 0 ;
}
@Learncpp
#31
مثال )
#include <iostream>
#include <conio.h>
int main()
{
int a , b ;
cin >> a >> b ;
if( a % b )
cout << a << "بخش پذیر نیست بر"<<b ;
else
cout << a << "بخش پذیر است بر"<<b ;
return 0 ;
}
@Learncpp
#32
مثال )
#include <iostream>
#include <conio.h>
int main()
{
int a , b , c , min ;
cin >> a >> b >> c ;
min = a;
if( b < min )
min = b ;
if( c < min )
min = c ;
cout << min ;
return 0 ;
}
@Learncpp
#33
☑️ ساختارهای تکرار و تصمیم گیری در ++C :
🔹دستور switch:
دستورات if و if-else برای یک یا دو حالت مناسب هستند اما برای انتخاب های بیشتر میتوان از switch استفاده کرد. این دستور بر اساس مقدار یک متغیر یا عبارت صحیح روی کدی که میخواهید switch میکند.
switch(شرط)
{
case value1:دستور;
break;
case value2:دستور;
break;
.
.
.
case valuen:دستور;
break;
default:دستور;
}
در انتهای هر case یک دستور break وجود دارد که باعث میشود اجرا به انتهای بلاک منتقل شود اگر break حذف شود اجرا ادامه پیدا میکند و کلیه case های بعد اجرا میشود تا وقتی که با یک دستور break مواجه شود.
*در هر case فقط از یک مقدار ثابت میتوان استفاده کرد.
*میتوان دستور switch تودرتو نیز داشت.
*دستورات درون هر case میتواند بیشتر از یکی باشد و به آکولاد برای محصور کردن آن نیازی نیست.
@Learncpp
#34
☑️ ساختارهای تکرار و تصمیم گیری در ++C :
مثال)برنامه ای که اعداد 1 تا 12 را دریافت کند و ماه معادل با آن را چاپ کند.
int x;
cout << "please enter a number in range 1-12";
cin >> x;
switch(x)
{
case1 :
cout << "farvardin";
break;
.
.
.
default:
cout << "data range error";
}
نوشتن default اختیاری است.
@Learncpp
#35
مثال )
#include <iostream>
#include <stdio.h>
int main ()
{
char grade = 'B';
switch(grade)
{
case 'A' :
printf("Excellent!\n" );
break;
case 'B' :
case 'C' :
printf("Well done\n" );
break;
case 'D' :
printf("You passed\n" );
break;
case 'F' :
printf("Better try again\n" );
break;
default :
printf("Invalid grade\n" );
}
printf("Your grade is %c\n", grade );
return 0;
}
#38
☑️ ساختارهای تکرار و تصمیم گیری در ++C :
🔹حلقه تکرار while:
فرم کلی:
While( شرط اجرای حلقه )
{
دستورات داخل حلقه
}

عبارت داخل حلقه تا زمانی که شرط اجرای حلقه صحیح باشد اجرا خواهند شد.
@Learncpp
#39
☑️ ساختارهای تکرار و تصمیم گیری در ++C :
مثال)
int n=1;
while (n<=10 )
{
cout << n << endl;
n++;
}
در این قطعه کد پس از مقدار دهی متغیر n شرط (10=>n) بررسی میشود که صحیح است و حلقه ادامه پیدا میکند .در نتیجه اعداد یک تا ده به ترتیب در سطر های مجزایی چاپ خواهند شد .شرط اجرای حلقه قبل از ورود به آن نیز بررسی میشود اگر نادرست باشد دستورات داخل حلقه هیچ گاه اجرا نمیشوند.
@Learncpp
#43
☑️ ساختارهای تکرار و تصمیم گیری در ++C :
🔹حلقه ی تکرار do-while :
فرم کلی :
do
{
دستورات داخل حلقه
} while(شرط اجرای حلقه);
@Learncpp
#44
☑️ ساختارهای تکرار و تصمیم گیری در ++C :
🔹حلقه هایی با شرط همواره صحیح :
تمام حلقه های تکرار برای ادامه ی کار خود شرطی را بررسی میکنند. اگر این شرط به گونه ای باشد که همواره صحیح باشد, حلقه هایی با شرط همواره صحیح به وجود می آیند. پس در حالت عادی حلقه هرگز خاتمه پیدا نمیکند به چنین حلقه هایی در اصطلاح حلقه ی بینهایت گفته میشود. حلقه ی بینهایت گاهی در اثر اشتباهات منطقی در پیاده سازی الگوریتم بروز میدهند و باعث شکست اجرای صحیح برنامه میشوند. اما اگر در داخل حلقه و در جای مناسب از دستور break استفاده شود چنین حلقه ای نیز پایان پذیر خواهد بود.
مثال)
int n;
while(1) //while(true)
{
cout << "enter a positive number:";
cin >> n;
if( n > 0 )
{
break;
}
}
شرط اجرای حلقه عدد 1 است. در زبان c++ هر عدد غیر صفر(صحیح یا اعشاری) معنی درست و عدد صفر معنی نادرست میدهد. پس حلقه ی فوق یک حلقه با شرط صحیح است. در داخل حلقه از کاربر عددی مثبت درخواست میشود اگر کاربر صفر یا عددی منفی وارد کند شرط (n>0) صحیح نبوده و کنترل برنامه مجددا به ابتدای حلقه منتقل خواهد شد تا عدد دیگری از کاربر دریافت کند. اما اگر شرط درست باشد دستور break اجرا شده و کنترل برنامه از حلقه خارج خواهد شد یعنی تکرار حلقه تا زمانی ادامه پیدا میکند که کاربر عدد مثبت وارد نکرده است.
نحوه ی پیاده سازی این مثال با do-while:
int n;
do
{
cout << "enter a positive number";
cin >> n;
} (n <= 0);
@Learncpp
#46
☑️ ساختارهای تکرار و تصمیم گیری در ++C :
🔹تفاوت while با do-while :
1. شرط اجرای حلقه ی do while در انتهای آن بررسی میشود.
int n=1;
do
{
cout << n << endl;
n++;
} while( n<= 10);
این مثال اعداد 1 تا 10 را چاپ میکند.

2. تفاوت دیگر در این است که دستورات داخل حلقه ی do-while حداقل یکبار اجرا میشوند.
مثال:
int n = 11;
do
{
cout << n << endl;
n++;
} while(n <= 10);
در اینجا چون شرط در انتهای برنامه قرار دارد در نتیجه دستورات داخل حلقه قبل از رسیدن به شرط حداقل یکبار اجرا میشوند یعنی این برنامه اعداد 1 تا 11 را چاپ میکند و سپس با توجه به اینکه شرط (10=>n) نادرست است حلقه ادامه نمی یابد.
*در حلقه ی do-while استفاده از سمیکالن در انتهای شرط الزامی است.
@Learncpp
#47
☑️ ساختارهای تکرار و تصمیم گیری در ++C :
🔹حلقه ی تکرار for :
فرم کلی :
for( نحوه ارزیابی ; شرط ; مقدار اولیه )
{
دستورات داخل حلقه
}

int n;
for( n = 1 ; n <= 10 ; n++)
{
cout << "n" << endl;
}
این حلقه اعداد 1 تا 10 را چاپ میکند.

تعریف ارائه شده برای حلقه ی for میتواند با استفاده از حلقه ی while به صورت زیر شبیه سازی شود.
while(شرط اجرای حلقه)
{
دستورات داخل حلقه
}
@Learncpp