C++ program آموزش
53 subscribers
54 photos
1 video
7 files
42 links
آموزش c++

تلگرام @hrgh74
سروش http://sapp.ir/hrh74

آموزش پی اچ پی :@phpprogram
آموزش جاوا اسکریپت : @javascriptlear
گروه رفع اشکال و حل تمرین


مدرس : حمیدرضا غلامی بروجنی
Download Telegram
قسمت سوم
استفاده و نمایش مقدار های متغیر های تعریف شده


// operating with variables
#include <iostream>
using namespace std;
int main ()
{
// declaring variables:
int a, b;
int result;
// process:
a = 5;
b = 2;
a = a + 1;
result = a - b;
// print out the result:
cout « result;
// terminate the program:
return 0;
}

در این قسمت از کد متغیر های عددی را تعریف کرده و بعد از مقدار دهی آن ها به وسیله عملگر = مقدار آن ها را به وسیله عملگر های - و + تغییر داده و در نهایت خروجی آن را در صفحه چاپ کرده ایم




تمرین :

به وسیله دستور cin« دو متغیر را مقدار دهی کنید و سپس مقدار های آن ها را در چهار متغیر قرار دهید که به ترتیب متغیر اول حاصل جمع و متغیر های بعدی تفریق و ضرب و تقسیم باشند
mesal-96-04-21.cpp
480 B
تمرین حل شده قسمت سوم
قسمت چهارم

// defined constants: calculate circumference
#include <iostream>
using namespace std;
#define PI 3.14159
#define NEWLINE '\n'
int main ()
{
double r=5.0; // radius
double circle;
circle = 2 * PI * r;
cout « circle;
cout « NEWLINE;
return 0;
}

تعریف ثابت ها

ثابت ها ابزاری هستند که در مواردی مورد استفاده می شوند که شما مقدار خاصی را مرتبا بخواهید در محاسبات استفاده کنید

در مثال بالا عدد پی به عنوان ثابت تعریف شده است
این موارد به صورت تعریف اولیه در زبان سی پلاس پلاس وجود ندارند و باید کد نویس در صورت نیاز این موارد را تعریف کند

ثابت ها باید بعد از اضافه کردن کتابخانه و قبل از هر تعریف تابعی ، تعریف شوند

به مکان تعریف ثابت ها توجه کنید

به صورت زیر ثابت تعریف می کنند
#define PI 3.14

نکته بسیار مهم در مواردی که از علامت # در ابتدای کد استفاده می شود نیازی به قرار دادن سیمی کولن (;) در آخر آن نیست

در این صورت در تمامی کد هایی که بعد از ثابت می نویسید می توانید از کلمه PI بدون هیچ گونه محدودتی استفاده کنید


مثالا در مثال بالا محیط دایره را محاسبه کرده است که شعاع آن ۰.۵ باشد

که برای محاسبه محیط نیاز به عدد پی می باشد که به صورت زیر محاسبه انجام شده

circle = 2 * PI * r;


تمرین :

برنامه بنویسید که شعاع دایره را از شما بگیرد و هم مساحت و هم محیط دایره را محاسبه کند
توجه کنید که مقدار عدد پی در آن را به وسیله ثابت مقدار ۳.۱۴۱۵ قرار دهید
mesal-96-04-22.cpp
332 B
تمرین حل شده قسمت چهارم
قسمت پنجم
// compound assignment operators
#include <iostream>
using namespace std;
int main ()
{
int a, b=3;
a = b;
a+=2; // equivalent to a=a+2
cout « a;
return 0;
}

علامت هایی که برای محاسبات ریاضی در زبان سی پلاس پلاس مورد استفاده قرار می گیرند
عبارت اند از
+ جمع
- تفریق
* ضرب
/ تقسیم
٪ باقیمانده

این علامت ها بین دو عدد و یا متغیر از نوع عددی قرار می گیرند و حاصل نیز از طریق علامت = داخل متغیر دیگری نیز قرار می گیرد


اما زبان سی پلاس پلاس دارای قابلیت عملگر های مرکب و یا ترکیبی است که به این صورت عبارت های ساده ساز زیادی را شامل می شود


توجه به علامت و نوع استفاده از این علامت های ترکیبی بسیار مهم می باشد زیرا هر کدام در جایگاه خود معنی مشخصی را دارند


فرض کنید می خواهید به یک متغیر مانند متغیر عددی زیر یک واحد عددی اضافه کنید
کد شما در این باره چیست ؟؟؟

int a;
a=5;

خوب بر حسب اینکه با عملگر جمع می توان به صورت زیر عمل کرد

a=a+1;

اما بهتر است بدانید که عملگر ++ برای اینکار در نظر گرفته شده است
حال اگر بخواهیم دو واحد اضافه کنیم چه؟؟

a=a+2;

نه این کار برای کد نویسی ساده مناسب نیست اما در زمان هایی هم نیاز است به این صورت عمل کنیم که بعدا به آن خواهیم رسید پس به چه صورتی کد بنویسیم

a += 2;

این عبارت ترجمه کد بالایی است یعنی به مقدار متغیر ۲ واحد اضافه شود به همین راحتی


مثال :
دو عدد از کاربر دریافت کنید و به عدد اول ۲ واحد اضافه کنید و عدد دوم را دوبرابر کنید

#include <iostream>

using namespace std;

int main()
{
int a, b;
cout«"enter a number :";
cin»a;
cout«"enter a number :";
cin»b;

a+=2;
b*=2;

cout«"\na = "«a«"\nb = "«b;
int tend;
cin»tend;
return 0;
}


جواب مثال به صورت بالا می باشد

تمرین :

عددی را ازکاربر دریافت کنید
ابتدا عدد را دو برابر کنید
سپس آن را چهار واحد افزایش دهید
و سپس عدد را بر سه تقسیم کنید
تمامی عملیات ها بر روی یک متغیر انجام شود و از عمگر های ترکیبی استفاده کنید
کدام یک از کلمه های زیر نام کتابخانه استاندارد زبان سی پلاس پلاس می باشد
anonymous poll

iostream – 9
👍👍👍👍👍👍👍 90%

#define – 1
👍 10%

include
▫️ 0%

namespace
▫️ 0%

👥 10 people voted so far.
برای اضافه کردن کتابخانه به کد برنامه خود از کدام عبارت و علامت استفاده می کنیم
anonymous poll

#include – 12
👍👍👍👍👍👍👍 86%

using namespace – 2
👍 14%

#define
▫️ 0%

#include ;
▫️ 0%

👥 14 people voted so far.
نام تابعی که در هنگام اجرا توسط کتابخانه استاندارد سی پلاس پلاس صدا زده می شود چیست و خروجی نهایی آن از چه نوعی می باشد؟
anonymous poll

main , int – 8
👍👍👍👍👍👍👍 80%

main , void – 1
👍 10%

int , main – 1
👍 10%

main , double
▫️ 0%

👥 10 people voted so far.
نام کلاس استاندارد برای ورودی و خروجی گرفتن در برنامه مورد استفاده قرار می گیرد چیست و چگونه به برنامه اضافه می شود ؟
anonymous poll

std , using namespace – 4
👍👍👍👍👍👍👍 80%

using namespace , std – 1
👍👍 20%

int , main
▫️ 0%

include , iostream
▫️ 0%

👥 5 people voted so far.
قسمت ششم

مباحثی که در این قسمت بیان می شود نکات تکمیلی قسمت های قبلی می باشد لطفا قسمت های قبلی ۱ تا ۵ را قبل از این بحث به خوبی بررسی و تمرین کنید



توجه کنید در تمام کد های زیر فاصله بین دو علامت < یا > به دلیل تصحیح نگارشی تلگرام وجود دارد در هیچ کدام از کد ها بین این علامت با تکرار آن فاصله ای وجود ندارد در صورتی که در جایی از کد از مثال های زیر استفاده کردید حتما به یاد داشته باشید که بین > > یا < < فاصله ای وجود ندارد و این مشکل از تلگرام است که به این صورت نمایش می دهد



۱-نحوه نوشتن کد

دو مثال زیر برای زبان سی پلاس پلاس یک معنی را داشته و حتما نیازی نیست که شما موقع نوشتن کد از ابتدای خط هر عبارت را شروع کنید

int main ()
{
cout < < " Hello World!";
return 0;
}


int main (){ cout < < " Hello World!"; return 0; }

نکته به فاصله های بین اجزای کد دقت کنید زیرا نداشتن فاصله ها در بعضی موارد دو جز را به عنوان یک جز برای مفسر کد ترجمه می کند که باعث بروز خطا می شود



۲-بعضی از عبارت های خروجی و ورودی قابلیت این را دارا می باشند که چند دستور را با یکبار تکرار عبارت اجرا کنند به مثال زیر توجه کنید


int main ()
{
cout < < "Hello World! ";
cout < < "I'm a C++ program";
return 0;
}


شما کد بالا را می توانید به صورت زیر نیز باز نویسی کنید

int main () { cout < < "Hello World! " < < "I'm a C++ program"; return 0; }

حتما به نحوه قرار گرفتن علامت ها بعد از عبارت ها دقت کنید

۳- توضیحات متنی غیر کدی در کد

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


روش خطی توضیحات
قرار دادن // در ابتدای توضیح خود مانند

a=a+1; //add one with a

عبارت جلوی // در کد شما اثری ندارد و فقط جهت ارائه توضیح وجود دارد

روش متنی یا چند خطی

در این روش باید ابتدا / و سپس ستاره قرار دهید و در پایان عکس این عمل را تکرار کنید و می توانید چندین خط را به عنوان توضیح در میان کد خود قرار دهید توجه کنید که هر عبارتی که در میان /* */ قرار گیرد توسط مفسر اجرا نخواهد شد و نادیده گرفته می شود

a=a+1;
/*
add one with a
*/
return 0;


مثال کامل این مورد را در پایین می توانید مشاهده کنید

/* my second program in C++
with more comments */
#include <iostream>
using namespace std;
int main ()
{
cout < < "Hello World! "; // prints Hello
World!
cout < < "I'm a C++ program"; // prints I'm a
C++ program
return 0;
}

۴-قرار دادن مقدار در متغیر

این روش دارای انواع مختلفی می باشد که به چند نمونه از آن در مثال زیر اشاره شده است


// initialization of variables
#include <iostream>
using namespace std;
int main ()
{
int a=5; // initial value = 5
int b(2); // initial value = 2
int result; // initial value undetermined ؟؟
a = a + 3;
result = a - b;
cout < < result;
return 0;
}

ادامه مباحث در قسمت بعدی
تمرین:

برنامه ای بنویسید که عددی را به عنوان شعاع دایره از کاربر دریافت کند و سپس محاسبه کند با افزایش شعاع به اندازه ی ۵ واحد ، مساحت و محیط چند درصد افزایش پیدا می کنند ؟؟؟

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

فایل یا کد خود را تا ساعت ۲۱ تاریخ ۰۴/۲۷ به آی دی کاربری @hrgh74 ارسال نمایید
کدام یک از موارد زیر صحیح نمی باشد ؟
anonymous poll

int main (){ int a (2); a=+5; cout < < a; return 0;} – 3
👍👍👍👍👍👍👍 50%

int main (){ int a ; a=5; cout < < a; return 0;} – 2
👍👍👍👍👍 33%

int main (){ int a (3); a*=5; cout < < a; return 0;} – 1
👍👍 17%

int main (){ int a=1 ; a+=5; cout < < a; return 0;}
▫️ 0%

👥 6 people voted so far.
C++ program آموزش
تمرین: برنامه ای بنویسید که عددی را به عنوان شعاع دایره از کاربر دریافت کند و سپس محاسبه کند با افزایش شعاع به اندازه ی ۵ واحد ، مساحت و محیط چند درصد افزایش پیدا می کنند ؟؟؟ دقت کنید برای شعاع تنها از یک متغیر استفاده کنید تمامی مباحث بالا در تمرین رعایت…
جواب تمرین

#include <iostream>

using namespace std;
#define pi 3.1415
int main()
{
int R, mohit1, masahat1, mohit2, masahat2;
double a,b;
cout«"enter R :";
cin»R;
mohit1=2*pi*R;
masahat1=R*R*pi;
R+=5;
mohit2=2*pi*R;
masahat2=R*R*pi;
a=((mohit2-mohit1)*100)/mohit1;
b=((masahat2-masahat1)*100)/masahat1;
cout<<"mohit "<<a<<"% afzaesh dasht\nmasahat "<<b<<"% afzaesh dasht";
int tend;
cin>>tend;
return 0;
}
#نکته
/* Test integer limits in <climits> header */
#include <iostream>
#include <climits>
// integer limits
using namespace std;
int main() {
cout << "int max = " << INT_MAX << endl;
cout << "int min = " << INT_MIN << endl;
cout << "unsigned int max = " << UINT_MAX << endl;

cout << "long long max = " << LLONG_MAX << endl;
cout << "long long min = " << LLONG_MIN << endl;
cout << "unsigned long long max = " << ULLONG_MAX << endl;
cout << "Bits in char = " << CHAR_BIT << endl;
cout << "char max = " << CHAR_MAX << endl;
cout << "char min = " << CHAR_MIN << endl;
cout << "signed char max = " << SCHAR_MAX << endl;
cout << "signed char min = " << SCHAR_MIN << endl;
cout << "unsigned char max = " << UCHAR_MAX << endl;
return 0;
}

int max = 2147483647
int min = -2147483648

unsigned int max = 4294967295
long long max = 9223372036854775807
long long min = -9223372036854775808
unsigned long long max = 18446744073709551615
Bits in char = 8
char max = 127
char min = -128
signed char max = 127
signed char min = -128
unsigned char max = 255


لطفا اندازه فونت تلگرام خود را در پایین ترین حد قرار دهید تا به صورت کامل کد را مشاهده کنید


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


خروجی کد بالا در پایین ان قرار داده شده است

هر نوع داده عددی حداقل و حداکثر میتواند عددی مقابل انچه رو به روی ان قرار دارد را در خود ذخیره کند
/* Testing mix-type arithmetic operations (TestMixTypeOp.cpp) */
#include <iostream>
#include <iomanip>
// needed for formatting floating-point numbers
using namespace std;
int main() {
int i1 = 2, i2 = 4;
double d1 = 2.5, d2 = 5.0;
// Print floating-points in fixed format with 1 decimal place
cout << fixed << setprecision(1); // need <iomanip>
cout << i1 << " + " << i2 << " = " << i1+i2 << endl;
// 6
cout << d1 << " + " << d2 << " = " << d1+d2 << endl;
// 7.5
cout << i1 << " + " << d2 << " = " << i1+d2 << endl;
// 7.0 <==
cout << i1 << " - " << i2 << " = " << i1-i2 << endl;
// -2
cout << d1 << " - " << d2 << " = " << d1-d2 << endl;
// -2.5
cout << i1 << " - " << d2 << " = " << i1-d2 << endl;
// -3.0 <==
cout << i1 << " * " << i2 << " = " << i1*i2 << endl;
// 8
cout << d1 << " * " << d2 << " = " << d1*d2 << endl;
// 12.5
cout << i1 << " * " << d2 << " = " << i1*d2 << endl;
// 10.0 <==
cout << i1 << " / " << i2 << " = " << i1/i2 << endl;
// 0 <==
cout << d1 << " / " << d2 << " = " << d1/d2 << endl;
// 0.5
cout << i1 << " / " << d2 << " = " << i1/d2 << endl;
// 0.4 <==
return 0;
}

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

هر گاه دو متغیر از نوع صحیح را بر هم تقسیم کنید حاصل ان به صورت صحیح نمایش داده می شود
پس اگرi1 بر i2 تقسیم شود در حالت نمایش صحیح مقدار صفر می شود
ولی در نمایش عدد اعشاری که شامل صحیح و اعشاری است این مقدار به صورت 0.5 می باشد
قسمت هشتم

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

مبحث رشته های کاراکتر

#include <string>
using namespace std;
string str1("Hello");
// Initialize with a string literal (Implicit initialization)
string str2 = "world";
// Initialize with a string literal (Explicit initialization via assignment operator)
string str3;
// Initialize to an empty string
string str4(str1);
// Initialize by copying from an existing string object

برای ذخیره یک کلمه و یا جمله از متغیر از نوع کاراکتر یا string استفاده می کنیم

روش های مقدار گذاری در بالا نمایش داده شده است

تمرین :
یک رشته را مقدار گذاری کنید و در متغیر دیگری قرار دهید متغیر دوم را توسط عبارت خطی cout چاپ کنید همانند متغیر های دیگر
پاسخ تمرین هشتم

/* Testing string class input and output (TestStringIO.cpp) */
#include <iostream>
#include <string>
// Need this header to use string class
#include <limits>
using namespace std;
// Also needed for <string>
int main() {
string message("Hello");
cout << message << endl;
// Input a word (delimited by space)
// into a string
cout << "Enter a message (no space): ";
cin >> message;
cout << message<<endl;
cout << "Enter a message (with spaces): ";
getline(cin, message);
// Read input from cin into message
cout << message << endl;
return 0;
}

توسط دو عبارت cin, getline می توانید رشته حروف را دریافت کنید
لطفا با بررسی کد بالا مشخص کنید تفاوت این دو در دریافت و نمایش چه چیزی می باشد ؟

کد بالا به صورت استاندارد بر روی نرم افزار codeblocks 12 قابل اجرا می باشد

لطفا برای حمایت از ما در ربات تلگرام به ما امتیاز دهید
از طریق لینک زیر اقدام نمایید

https://telegram.me/tchannelsbot?start=cppprogram
قسمت نهم
/* * Sum the odd and even numbers from 1 to an upperbound (SumOddEven.cpp) */
#include <iostream>
using namespace std;
int main() {
int sumOdd = 0;
// For accumulating odd numbers, init to 0
int sumEven = 0;
// For accumulating even numbers, init to 0
int upperbound;
// Sum from 1 to this upperbound
// Prompt user for an upperbound
cout << "Enter the upperbound: ";
cin >> upperbound;
// Use a loop to repeatedly add 1, 2, 3,..., up to upperbound
int number = 1;
while (number <= upperbound) {
if (number % 2 == 0) {
// even number sumEven = sumEven + number;
}
else {
// odd number
sumOdd = sumOdd + number;
}
++number;
// increment number by 1
}
// Print the results
cout << "The sum of odd numbers is "
<< sumOdd << endl;
cout << "The sum of even numbers is " << sumEven << endl;
cout << "The difference is " << (sumOdd - sumEven) << endl;
return 0;
}
خروجی برنامه به صورت زیر می باشد

Enter the upperbound: 1000
The sum of odd numbers is 250000
The sum of even numbers is 250500
The difference is -500

توضیح
در این قسمت دو عبارت پر کاربرد while, if, else تدریس می شود

اگر در برنامه شما یک عملیات محاسباتی که توسط عملگر ها انجام می شود ( در قسمت های قبلی تدریس شده است) به دفعات مشخصی باید تکرار شود به جای نوشتن چند باره ان می توانید از حلقه استفاده کنید .
حلقه ها در زبان سی پلاس پلاس بر سه قسم هستند که یکی از آن ها حلقه شرط مبنا یا while می باشد این حلقه پایه ترین حالت می باشد و تنها نیاز به یک عبارت شرطی برای استفاده از آن دارید
عبارت شرطی عبارتی است که مقایسه بین دو متغیر یا یک متغیر و عدد ثابت و یا... می باشد مثال :
int a;
a=2;
while (a<3)// عبارت شرطی داخل پرانتز
{
a++; // عبارت محاسباتی
}

عبارت شرطی به وسیله ی عملگر های مقایسه ای و یا اعتبار سنجی ایجاد می شود
به این مبحث در قسمت ده کامل پرداخته می شود

حال اگر عبارت شرطی درست باشد عبارت داخل متن حلقه اجرا می شود و در صورتی که عبارت شرطی غلط باشد کد عبارت محاسباتی را اجرا نکرده و بعد از کروشه بسته را اجرا خواهد کرد

در صورتی که از عبارت منطقی if, else استفاده کنیم نیز با تفاوت اینکه دیگر حلقه نیست هم همین عمل اتفاق می افتد

int a=2;
if(a>2)
{
a+=3;
}
else{
a-=3;
}

اگر شرط برقرار باشد عبارت محاسباتی داخل بلاک اول یک بار اجرا می شود و در صورت اینکه عبارت شرطی اشتباه باشد عبارت محاسباتی بلاک دوم بعد از else اجرا می شود

از کانال ما حمایت کنید


🌹🌹🌹🌹روز ولادت حضرت معصومه سلام الله علیها مبارک 🌷🌷🌷🌷
روز دختر مبارک 🌹🌷
کانال برنامه نویسی سی پلاس پلاس را چگونه ارزیابی میکنید؟
anonymous poll

مباحث خوب و بروزرسانی مرتب – 6
👍👍👍👍👍👍👍 86%

کانال مناسبی نیست – 1
👍 14%

بروزرسانی مرتب
▫️ 0%

مباحث خوب
▫️ 0%

👥 7 people voted so far.