برنامه های طراحی الگوریتم من { شماره ۱}

طراحی الگوریتم یک نظر »

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

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

برنامه ها در محیط Visual Studio 2008 پیاده سازی میشن ولی در هر محیط دیگه ای که بشه ++C نوشت قابل پیاده سازی هستن.

برنامه شماره ۱

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

در این برنامه هدف این است که با دریافت دو عدد، بزرگترین مقسوم علیه بین آنها را به دست آوریم. برنامه از یک تابع برای این کار استفاده می کند و در قسمت main برنامه با پارامترهای ما صدا زده می شود. ایده اصلی در طراحی تابع این برنامه آن است که بزرگترین مقسوم علیه مشترک بین u و v بزرگترین مقسوم علیه مشترک بین v و u-v نیز هست. در واقع به جای استفاده از روش تقسیم از ایده تفریق استفاده شده است. البته می دانیم که در کامپیوتر عمل تقسیم به وسیله عمل تفریق انجام می شود و پیزی به عنوان واحد تقسیم کننده که به صورت مجزا مانند واحد جمع عمل کند نداریم.

پی نوشت : به دنبال پلاگینی هستم که کدها را به صورت رنگی نشان دهد. شما چیزی سراغ ندارین ؟

یک افزونه برای مشخص کردن کد ها پیدا کردم.CodeHighlighter .
شما هم اگر که از کار این افزونه راضی بودین در قسمت نظر خواهی اعلام کنید تا سورس آن را در اینجا قرار دهم.

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

#include "stdafx.h"

#include <iostream>

using namespace std;

int my_counter;

int gcd(long int u, long int v)

{

long int t;

int i=0;

my_counter=0;

while(u>0)

{

if (u<v)

{

t=u;

u=v;

v=t;

}

u=u-v;

i++;

my_counter++;

}

return v;

}

int _tmain(int argc, _TCHAR* argv[])

{

long int x,y,o;

cout<<"Enter x :\n"<<endl;

cin>>x;

cout<<"Enter y :\n"<<endl;

cin>>y;

if (x>0 && y> 0)

{

o=gcd(x,y);

cout<<"Greatest Common Divisor of x and y is : "<<o<<endl;

cout<<"Times to do this is : "<<my_counter<<endl;

}

else

{

cout<<"x and y and z must be greater than 0"<<endl;

return 0;

}

return 0;

}
mohandes

تصویر اشعه ایکس از یک مک بوک

سرگرمی نظر دهید »

عکسی که در زیر مشاهده می کنید عکس گرفته شده با اشعه ایکس از یک نوع مک بوک است. نوع و مدل آن مشخص نیست ولی مک بوک بودن آن مشخص است. برای من که عکس بسیار جالبی بود. شما چه فکر می کنید؟ ( روی عکس کلیک کنید تا سایز آن بزرگتر شود. )

عکسی از یک Macbook  که با اشعه ایکس گرفته شده است.

عکسی از یک Macbook که با اشعه ایکس گرفته شده است.

mohandes
صفحه 1 از 11

WP Theme & Icons by N.Design Studio & Persian Edition by Naghies.ir
Copy Protected by Computer Tech Tips's Prevent Wordpress CopyProtect Blogs.