مشاهده نسخه کامل
: سوال کامپیوتر : الگوریتم و فلوچارت
سلام دوستان ...
میخواستم بدونم الگوریتم و فلوچارت دو تا مسئله زیر چی میشه ...
الگوریتم و فلوچارتی رسم نمایید :
::: که محتویات دو مقدار A و B را بدون استفاده از متغیر کمکی جا به جا نماید.
::: که عددی را از ورودی دریافت کرده و بخش پذیری آن را بر 3 و 5 کنترل نماید.
ممنون میشم جواب بدید ...
تشکر.
hamidrezaj
22-04-2012, 00:55
سلام دوست عزیز
الگوریتم سوال اول
a-b---->a
a+b---->b
b-a----->a
davy jones
22-04-2012, 02:19
سلام.
یه راهنمایی برای سوال دوم میکنم. اگه از نرم افزار متلب یا زبان برنامه نویسی C استفاده میکنین میتونین از دکمه ی \ (همونی که بر عکس علامت تقسیم هستش) استفاده کنین. عملگر / در متلب همون تقسیم عادی هستش ولی \ مفهوم باقیمانده ی یک عدد بر یه عدد دیگه رو میده. مثلا وقتی مینویسیم:
if a\3 == 0 then f1 else f2
در حقیقت داریم شرط اینکه باقیمانده ی عدد a در تقسیم بر عدد 3 برابر با صفر باشه رو بررسی میکنیم.
البته راه های دیگه ای هم هست. مثلا در بخشپذیری بر 3، کافیه که مجموع ارقام یک عدد بر 3 بخشپذیر باشه. اگه حاصل مجموع ارقام هم خودش عددی بزرگ شد، مجددا حاصل مجموع ارقام عدد جدید رو محاسبه میکنیم و میبینیم که آیا بر 3 بخشپذیره یا نه. و همینطور تا آخر که با یک تابعی که درون خودش call میشه و هر بار یک شرط رو چک میکنه به راحتی در 2 الی 3 خط قابل نوشتنه.
برای بخشپذیری بر 5 هم کافیه که رقم یکان اون عدد برابر با 5 یا صفر باشه. نحوه ی جدا کردن رقم یکان یک عدد از کل اون عدد هم دیگه بسته به ابتکار خودتون راههای متفاوتی داره.
موفق باشین.
91/2/3
سلام دوست عزیز
الگوریتم سوال اول
a-b---->a
a+b---->b
b-a----->a
حلله... دستت درد نکنه...
گرفتم....
سلام.
یه راهنمایی برای سوال دوم میکنم. اگه از نرم افزار متلب یا زبان برنامه نویسی C استفاده میکنین میتونین از دکمه ی \ (همونی که بر عکس علامت تقسیم هستش) استفاده کنین. عملگر / در متلب همون تقسیم عادی هستش ولی \ مفهوم باقیمانده ی یک عدد بر یه عدد دیگه رو میده. مثلا وقتی مینویسیم:
if a\3 == 0 then f1 else f2
در حقیقت داریم شرط اینکه باقیمانده ی عدد a در تقسیم بر عدد 3 برابر با صفر باشه رو بررسی میکنیم.
البته راه های دیگه ای هم هست. مثلا در بخشپذیری بر 3، کافیه که مجموع ارقام یک عدد بر 3 بخشپذیر باشه. اگه حاصل مجموع ارقام هم خودش عددی بزرگ شد، مجددا حاصل مجموع ارقام عدد جدید رو محاسبه میکنیم و میبینیم که آیا بر 3 بخشپذیره یا نه. و همینطور تا آخر که با یک تابعی که درون خودش call میشه و هر بار یک شرط رو چک میکنه به راحتی در 2 الی 3 خط قابل نوشتنه.
برای بخشپذیری بر 5 هم کافیه که رقم یکان اون عدد برابر با 5 یا صفر باشه. نحوه ی جدا کردن رقم یکان یک عدد از کل اون عدد هم دیگه بسته به ابتکار خودتون راههای متفاوتی داره.
موفق باشین.
91/2/3
سلام.راستش هنوز وارد برنامه نویسی نشدیم و فعلا توی همین الگوریتم فارسی هستیم.
-شروع
-a را بخوان.
.
.
.
الان همین روش باقی مانده رو توی فلو چارت چه طوری بکشم؟
---------------------------------------------------------------------------------
برای روش وم که مجموع ارقام رو محاسبه و بر 3 تقسیم کنیم مثلا اگه بنویسیم عدد a را به صورت A1A2A3 ... An فرض کن و A1+A2+A3+... +An را جمع کن و بر 3 تقسیم کن.کامپیوتر حالیشه یه عدد رو به صورت A1A2A3 ... An بخونه یا باید براش تعریف کنیم ؟
---------------------------------------------------------------------------------
میشه به صورت الگوریتم وار فارسی بنویسید...
ممنون.توضیحاتتون خیلی کمک کرد.
davy jones
22-04-2012, 10:01
حلله... دستت درد نکنه...
گرفتم....
سلام.راستش هنوز وارد برنامه نویسی نشدیم و فعلا توی همین الگوریتم فارسی هستیم.
-شروع
-a را بخوان.
.
.
.
الان همین روش باقی مانده رو توی فلو چارت چه طوری بکشم؟
---------------------------------------------------------------------------------
برای روش وم که مجموع ارقام رو محاسبه و بر 3 تقسیم کنیم مثلا اگه بنویسیم عدد a را به صورت A1A2A3 ... An فرض کن و A1+A2+A3+... +An را جمع کن و بر 3 تقسیم کن.کامپیوتر حالیشه یه عدد رو به صورت A1A2A3 ... An بخونه یا باید براش تعریف کنیم ؟
---------------------------------------------------------------------------------
میشه به صورت الگوریتم وار فارسی بنویسید...
ممنون.توضیحاتتون خیلی کمک کرد.
سلام.
مسلما کامپیوتر به خودی خود، ارقام یک عدد چند رقمی رو نمیتونه از هم جدا کنه و باید خودتون دستی این کار رو براش انجام بدین
برای اینکار از توابع معروف ریاضی مث تابع جزء صحیح (یا همون براکت: [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] r ) باید استفاده کنین. فرض کنین که یه عدد 3 رقمی مث a رو از ورودی به کامپیوتر دادین. رقم یکان این عدد رو میشه اینطوری جدا کرد:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] D&space;%5Cright&space;%5Crfloor
رقم دهگان رو هم اینطوری:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ac%7Ba-10%5E%7B2%7D%5Ctimes&space;%5Cleft&space;%5Clfloor&space;%5Cfrac%7Ba %7D%7B10%5E%7B2%7D%7D&space;%5Cright&space;%5Crfloor-a_%7B1%7D%7D%7B10%7D
و رقم صدگان رو هم اینطوری:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] ft&space;%5Clfloor&space;%5Cfrac%7Ba%7D%7B100%7D&space;%5Cright&space;%5Cr floor
حالا اینکه اینا رو باید تو فلوچارت فارسی چطوری بنویسین، به عهده ی خودتون! :20:
البته همونطور که گفتم این مثلا یه راهش بود. ممکنه راه های ابتکاری دیگه ای هم وجود داشته باشه.
موفق باشین.
91/2/3
vBulletin , Copyright ©2000-2024, Jelsoft Enterprises Ltd.