خدمات مشاوره مهندسی- اموزش و انجام پروژه شبیه سازی صنعتی دانشجویی

گروه مشاوره آموزشی - پژوهشی بنیان دانش توس ارائه مشاوره، آموزش و انجام پروژه های شبیه سازی صنعتی و دانشجویی

خدمات مشاوره مهندسی- اموزش و انجام پروژه شبیه سازی صنعتی دانشجویی

گروه مشاوره آموزشی - پژوهشی بنیان دانش توس ارائه مشاوره، آموزش و انجام پروژه های شبیه سازی صنعتی و دانشجویی

خدمات مشاوره مهندسی- اموزش و انجام پروژه شبیه سازی صنعتی دانشجویی

گروه پژوهشی - آموزشی بنیان دانش توس در اسفند 1390 با همکاری تعدادی از دانشجویان تحصیلات تکمیلی دانشگاه های معتبر تهران و مشهد شروع به کار کرد و توفیقات زیادی کسب نمود که به تدریج در وبلاگ بارگزاری خواهد شد. در همین راستا شاخه آموزشی گروه اقدام به راه اندازی سایت moomsan.blog.ir نمود تا ضمن ارائه آموزش های مجازی، به ارتقای خدمات گروه بپردازد. در این وبلاگ فعلا خدمات کدنویسی فرترن به مرور بارگذاری می شود. امید است مورد استفاده متخصصین بازدید کننده از سایت قرار گیرد.
آدرس: مشهد، بین سلمان فارسی 5 و 7 پلاک 48
راه های تماس با گروه :

Tel: +98 915 125 2688
Phone: +98 51 38477407

زمان پاسخگویی: 9 تا 13:30 و 16 تا 21
Telegram.me/moomsan
moomsan@gmail.com
ID: @moomsan

نحوه کار آرگومان های پیش فرض

مثال: آرگومان پیش فرض

// C++ Program to demonstrate working of default argument

#include <iostream>

using namespace std;

void display(char = ‘*’, int = 1);

int main()

{

cout << “No argument passed:\n”;

display();

cout << “\nFirst argument passed:\n”;

display(‘#’);

cout << “\nBoth argument passed:\n”;

display(‘$’, 5);

return 0;

}

void display(char c, int n)

{

for(int i = 1; i <= n; ++i)

{

cout << c;

}

cout << endl;

}

 

در برنامه بالا، می توانید مقدار پیش فرض اختصاص یافته به آرگومان را مشاهده کنید.

void display(char = ‘*’, int = 1);.

در ابتدا تابع ()display بدون ارسال هیچ آرگومانی فراخوانی می شود. در این مورد، تابع ()display از هر دو پارامترهای پیش فرض *=c و n = 1 استفاده می کند.

سپس، در دومین فراخوانی تابع تنها اولین آرگومان ارسال می شود. در این حالت، تابع از مقدار پیش فرض برای آرگومان اول استفاده نمی کند. پارامتر ارسال شده C=# را برای آرگومان اول و مقدار پیش فرض n = 1 را برای دومین آرگومان استفاده می کند.

هنگامی که ()display برای بار سوم با هر دو آرگومان فراخوانی می شود، مقادیر پیش فرض استفاده نشده و مقادیر $=c و n=5 استفاده می شوند.

اشتباهات رایج هنگام استفاده از آرگومان پیش فرض

۱- void add(int a, int b = 3, int c, int d = 4);

تابع بالا کامپایل نخواهد شد. شما نمی توانید یک آرگومان پیش فرض بین دو آرگومان را مقدار دهی نکنید.

در این مورد، برای c نیز باید یک مقدار پیش فرض تعیین شود.

۲- void add(int a, int b = 3, int c, int d);

تابع بالا نیز کامپایل نخواهد شد. شما باید برای آرگومان های بعد از b مقادیر پیش فرض تعیین کنید.

در این مورد، برای c و d نیز باید مقادیر پیش فرض تعیین شود.

اگر میخواهید یک آرگومان پیش فرض واحد داشته باشید، مطمئن شوید که آخرین آرگومان باشد.

void add(int a, int b, int c, int d = 4);

۳- مهم نیست که چطور از آرگومان پیش فرض استفاده می کنید، یک تابع همیشه باید برای یک هدف نوشته شود.

اگر تابع بیش از چند کار بخواهد انجام دهد، می توانید از سربارگذاری توابع استفاده کنید.

آموزش ساختار goto در C++ (به زبان کاملا ساده)

در برنامه نویسی C++ از goto برای تغییر در ترتیب اجرای برنامه و انتقال از یک قسمت به قسمت دیگر کد استفاده می شود.

ساختار goto در C++

goto label;

… .. …

… .. …

… .. …

label:

statement;

… .. …

در ساختار بالا، label علامت است. وقتی که برنامه با goto label; مواجه می شود، کنترل برنامه به label می پرد و ادامه کد از آن جا اجرا می شود.

 

مثال : goto در C++

// This program calculates the average of numbers entered by user.

// If user enters negative number, it ignores the number and

// calculates the average of number entered before it.

# include <iostream>

using namespace std;

int main()

{

float num, average, sum = 0.0;

int i, n;

cout << “Maximum number of inputs: “;

cin >> n;

for(i = 1; i <= n; ++i)

{

cout << “Enter n” << i << “: “;

cin >> num;

if(num < 0.0)

{

// Control of the program move to jump:

goto jump;

}

sum += num;

}

jump:

average = sum / (i – 1);

cout << “\nAverage = ” << average;

return 0;

}

می توانید هر برنامه C++ را بدون استفاده از goto بنویسید.

دلایل پرهیز از استفاده goto

goto به ما این امکان را می دهد که از هر نقطه به نقطه ی دیگری در کد پرش کنیم اما منطق برنامه پیچیده و تو در تو خواهد شد.

در برنامه نویسی مدرن، goto ساختار مضری در نظر گرفته می شود.

به جای goto می توان از break و continue در C++ استفاده کرد.

آموزش توابع بازگشتی در C++ (به زبان کاملا ساده)

یک تابع که خود را فراخوانی می کند به نام تابع بازگشتی شناخته می شود. و این تکنیک به عنوان بازگشت شناخته می شود.

توابع بازگشتی در C++ چگونه کار می کنند؟

void recurse()

{

… .. …

recurse();

… .. …

}

int main()

{

… .. …

recurse();

… .. …

}

شکل زیر نشان می دهد که تابع چگونه با فراخوانی خود بارها و بارها کار می کند.

 

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

برای جلوگیری از ایجاد بازگشت بی نهایت، ساختار if .. else (یا رویکرد مشابه) استفاده می شود که در آن یک شاخه فراخوانی بازگشتی را انجام می دهد و دیگری این کار را نمی کند

مثال ۱ : محاسبه ی فاکتوریل عدد با تابع بازگشتی

// Factorial of n = 1*2*3*…*n

#include <iostream>

using namespace std;

int factorial(int);

int main()

{

int n;

cout<<“Enter a number to find factorial: “;

cin >> n;

cout << “Factorial of ” << n <<” = ” << factorial(n);

return 0;

}

int factorial(int n)

{

if (n > 1)

{

return n*factorial(n-1);

}

else

{

return 1;

}

}

توضیح: مثال بالا چگونه کار می کند؟

فرض کنید کاربر عدد ۴ را وارد می کند، که به تابع ()factororial فرستاده شده است.

۱- در اولین فراخوانی تابع ()factorial شرط if درست است. بعد

factorial(num-1) return num*

اجرا می شود که تابع factorial را برای دومین بار صدا می زند. آرگومان ارسالی به آن ۳ (num-1) است.

۲- در دومین فراخوانی تابع ()factorial، شرطif درست است. بعد

factorial(num-1) return num*

اجرا می شود که تابع factorial را برای سومین بار صدا می زند. آرگومان ارسالی به آن ۲ (num-1) است.

۳- در سومین فراخوانی تابع ()factorial، شرط if درست است. بعد

factorial(num-1) return num*

اجرا می شود که تابع factorial را برای چهارمین بار صدا می زند. آرگومان ارسالی به آن ۱ (num-1) است.

۴- در چهارمین فراخوانی تابع ()factorial، شرط if نادرست است. بعد return 1 اجرا می شود که ۱ را به سومین تابع ()factorial ارسال می کند.

۵- سومین تابع factorial()  ۲ را به دومین تابع ()factorial ارسال می کند.

۶- دومین تابع factorial()  ۶ را به اولین تابع ()factorial ارسال می کند.

۷- در نهایت، اولین تابع factorial()  ۲۴ را به ()main ارسال می کند که بر روی صفحه نمایش داده می شود.

پایان قسمت بیست ونهم

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی