الگوریتم عدد کامل

  • الگوریتم - شبه کد 2

    مثال ۱: الگوریتمی بنویسید که طولی را برحسب سانتی متر از کاربر گرفته و آن را تبدیل به متر کند.حل: ابتدا به الگوریتم آن توجه کنید:۱-شروع۲- a را بگیر۳- a = a * 1004- a را چاپ کن.۵- پایانتوضیح: تنها موردی که ممکن است نیاز به توضیح داشته باشد خط سوم است. این یک ویژگی در الگوریتم و به تبع زبان های برنامه نویسی است.زبان های برنامه نویسی این ویژگی را به متغیرها می دهند که در طول اجرای برنامه هربار مقدار جدیدی را بپذیرند و مقادیر قبلی جای خود را به مقادیر جدید بدهند. در خط ۳ از این ویژگی استفاده کرده ایم. ابتدا عدد a را که توسط برنامه از کاربر گرفته شده است را ضرب در ۱۰۰ کرده سپس آن را مساوی a قرار می دهیم تا جای گزین مقدار قبلی a یعنی عدد گرفته شده توسط کاربر شود. البته در این الگوریتم هیچ نیازی به قرار دادن a * 100 در همان متغیر a نداشتیم و می توانستیم این مقدار را در یک متغیر دیگر مانند b قرار دهیم و سپس در خط ۴ دستور می دادیم که b را چاپ کند. اما در بعضی از الگوریتم ها استفاده از این ویژگی ضروری است و بدون استفاده از این ویژگی حل مسئله امکان پذیر نیست. در ادامه چنین مثال هایی را خواهید دید.اما قبل از شروع مثال های دیگر باید با یک دستورالعمل بسیار مهم و پر کاربرد در الگوریتم و فلوچارت آشنا شوید: چگونگی ایجاد حلقه ی تکرار و استفاده از آن در حل مسائل:در بسیاری از برنامه ها شما مجبور هستید که دستورالعملی را چندین بار به صورت محدود و یا نامحدود تکرار کنید. در این صورت برای انجام این کار الگوریتم و فلوچارت راه ساده ای را به شما پیشنهاد می کند و آن ایجاد حلقه ی تکرار است. اهمیت حلقه های تکرار در مثال های زیر بیش از پیش برای شما آشکار خواهد شد. ایجاد حلقه ی تکرار بدین صورت است به عنوان مثال شما مجموعه ای از دستورالعمل ها را از خط ۱۰۰ تا ۱۰۵ برنامه ی فرضی خود نوشته اید و در خط ۱۰۵ نیاز دارید که در صورت برقراری یک شرط خاص (یا با دستورالعمل اگر مشخص می شود) و یا تعداد دفعات تکرار دلخواه خطوط ۱۰۰ تا ۱۰۵ دوباره اجرا شوند. این خطوط تا زمانی که شما شرطی برای بیرون آمدن از حلقه ی تکرار نگذارید و یا تعداد دفعات آن را محدود نکنید ادامه خواهند یافت. برای برقراری حلقه کافی است در خط ۱۰۵ برنامه ی فرضی خود عبارت (برگرد به ۱۰۰) را بنویسید و برنامه به خط ۱۰۰ برگشته و در صورتی که دوباره به ۱۰۵ برود بازهم ارجاع به خط ۱۰۰ داده می شود و در صورتی که شرطی برای نقض این حلقه قرار ندهید، حلقه تا بی نهایت ادامه خواهد یافت (این علم موجب متوقف شدن برنامه می شود و اگر الگوریتمی شامل چنین حلقه ای باشد جزو الگوریتم های استاندارد و درست نیست!) به مثال های بعدی که از حلقه ی تکرار ...



  • جواب سوالات تمرینات شماره یک سری دوم

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

    1)فلوچارت برامه ای را رسم نمایید که دو عدد صحیح و مثبت را خوانده و بزرگترین مقسوم علیه مشترک(ب.م.م)آنها را چاپ کند.الگوریتم را با دو عدد دلخواه اجرای دستی کنید؟بزرگترین مقسوم علیه مشترک بین دو عدد6و8 برابر است با 2.R=m%n ترتیب بزرگتر و کوچکتر ندارد.R=0 شرط خروج. 2)فلوچارت برنامه ای را رسم نمایید که کد جنسیت و تاهل ساکنین یک شهرک که تعداد آنها5000 نفر است را از ورودی بخواند و تعداد مردان و زنان مجرد و متاهل آن شهرک را به تفکیک محاسبه و چاپ نماید؟ 3)فلوچارت برنامه ای را رسم نمایید که عدد طبیعی n را دریافت و مجذور آن را با توجه به قضیه زیر محاسبه و چاپ نماید؟الگوریتم را برای n=۵ اجرای دستی کنید. قضیه:مجموع M عدد فرد متوالی برابر است با مجذور M. مانند: 49=1+3+5+7+9+11+13=72 4)فلوچارت برنامه ای را رسم نمایید که  عدد طبیعی n را از ورودی دریافت و کلیه اعداد تام (کامل) کوچکتر یا مساوی آن را چاپ کند؟الگوریتم را برای n=۷ اجرای دستی کنید. راهنمایی:عدد طبیعی n را تام یا کامل گویند هرگاه مجموع مقسوم علیه های کوچکتر از n با خود n برابر باشد. مقسوم علیه های عدد۸= ۸و۴و۲و۱ مقسوم علیه های عدد۶= ۶و۳و۲و۱ عدد۸ تام نیست زیرا:  ۸ برابر نیست با ۷=۴+۲=۱ عدد ۶ تام است زیرا: ۶ برابر است با ۶=۳+۲+۱ نکته:کوچکترین عدد تام: عدد ۶ میباشد.   ۵)فلوچارت برنامه ای را رسم نمایید که x را از ورودی خوانده و مقدارsin x را از رابطه زیر بدست آورید.الگوریتم را تا سه جمله اول اجرای دستی کنید.دقت شود که مقدار فاکتوریل و توان باید با ضربهای متوالی محاسبه شود. sinx=x-x3/3!+x5/5!-x7/7!+x9/9!x  

  • آموزش الگوریتم و فلوچارت

    در برنامه نویسی رایانه هم دقیقا این موارد حاکم است. شما برای حل یک مسئله و یا (مشکل) باید مرحله به مرحله مثل یک کودک به کامپیوتر یاد بدهید که آن مشکل را چگونه حل کند. در واقع هربرنامه ای که می نویسید باید یک مسئله را حل کند و برنامه ی شما مراحل قدم به قدم را به کامپیوتر نشان می دهد تا آن مسئله را حل کند. به این مراحل قدم به قدم که برای حل (مسئله) به کار گرفته می شوند ، الگوریتم می گویند. برای مثال وقتی که می خواهید برنامه ای بنویسید که فاکتوریل عدد ۷ را محاسبه کند اولا باید بدانید که این یک (مسئله) است و برای هر مسئله ای باید راه حلی به نام الگوریتم به کامپیوتر معرفی نمود. کامپیوتر خود به خود نمی تواند فاکتوریل یک عدد را حساب کند مگر این که فرمول محاسبه ی فاکتوریل یک عدد را با استفاده از یک برنامه به او بدهید. بنابراین با توجه به مطالب گفته شده یک تعریف جامع و کلی از الگوریتم ذکر می کنیم : الگوریتم مجموعه دستورالعمل های مشخصی است که مراحل انجام یک کار و یا مسئله را با زبانی دقیق و با جزییات کافی که چگونگی ترتیب کامل عملیات و کارها را ذکر می کند. نکته : کلمه ی الگوریتم از دانشمند بزرگ و پرآوازه یعنی الخوارزمی گرفته شده است. هنگامی که یک الگوریتم را می نویسید دقت کنید که موارد زیر را حتما رعایت کنید : ۱ – آغاز و پایان الگوریتم به طور دقیق مشخص باشد. ۲- مراحل دارای جزییات کافی باشند. ۳- مراحل با زبانی دقیق نوشته شوند. مثلا عبارت “حدود ظهر است” برای کامپیوتر نامفهوم است باید دقیق ذکر شود که مثلا “ساعت ۱۱:۵۲ است”. ۴- مراحل به ترتیب و درست نوشته شوند. الگوریتمی که دارای ویژگی های فوق باشد الگوریتم درستی است و برای کامپیوتر به طور کامل قابل ترجمه و تفهیم است. لازم است بدانید که هر الگوریتم دارای سه بخش اصلی است : آغاز – دستورالعمل ها – پایان  که ترتیب این سه جزء مهم است. انواع دستورالعمل ها : ۱- دستورالعمل های محاسباتی و انتسابی : در این نوع دستورالعمل ها می توانید مقداری را به یک متغیر نسبت دهید و یا عملیات محاسباتی را انجام دهید. مثلا دستور (first = hello) مقدار hello را به متغیر first نسبت می دهد. و یا دستور (sec = 2*5) ابتدا عدد ۲ را در ۵ ضرب می کند و سپس آن را در متغیر sec قرار می دهد. ۲- عبارات توضیحی : برای اضافه کردن توضیح به برنامه و یا الگوریتم استفاده می شود. که برای جداکردن آن از دستورالعمل ها در داخل پرانتز قرار می گیرد. ۳- دستورالعمل های شرطی : بوسیله ی این دستورالعمل ها می توان شرطی را بررسی کرد در صورتی که آن شرط درست باشد عبارت بعد از آن اجرا می شود. برای مثال دستور “اگر ۲>3 باشد آنگاه چاپ کن درست است ” تنها در صورتی عبارت “درست ...

  • سوالات الگوریتم فلوچارت

    1فلوچارتی بکشید که آنقدر عدد از ورودی بگیرد تا حاصل جمع آن اعداد از ۱۰۰۰ بیشتر شود. سپس حاصل جمعوتعداد آن اعداد ورودیرا چاپ کند. 2فلوچارتی رسم کنید که دو عدد صحیح مثبت را از ورودی بگیرد و اولی را به توان دومی برساند . 3فلوچارتی رسم کنید که یک عدد صحیح مثبت را از ورودی بگیرد و تعداد ارقام آن را چاپ کند. 4فلوچارتی رسم کنید که سه ضلع یک مثلث را خوانده، تعیین کند که آیا مثلث قائم الزاویه است یا خیر؟ برای قائم الزاویه بودن مثلث اندازه اضلاع آن باید در یکی از عبارات زیر صدق كند: .A²=B²+C² یا B²=A²+C² یا C²=A²+B² 5فلوچارتی رسم کنید که شعاع یک دایره را خوانده، مساحت و محیط آنرا نمایش دهد. 6فلوچارتی رسم کنید که سه عدد را خوانده و بصورت زیر تصمیم گیری نماید: - اگر عدد سوم صفر بود حاصل جمع دو عدد دیگر- اگر عدد سوم منفی بود تفاضل دو عدد دیگر- اگر عدد سوم مثبت بود حاصل ضرب دو عدد دیگر را نمایش دهد. 7فلوچارتی برنامه ای را رسم کنید که دو عدد را خوانده سپس مقادیر آن دو را با هم جابجا نماید. روش اول : استفاده از متغیر کمکی روش دوم: استفاده از عملیات ریاضی 8فلوچارتی رسم کنید که یک عدد بزرگتر از صفر را خوانده سپس به تعداد آن عدد, اعداد دیگری را خوانده مجموع و میانگین آنها را نمایش دهد. 9فلوچارتی برنامه ای را بنویسید که ۱۰ عدد را گرفته و تعیین کند کدام زوج و کدام فرد است. 10فلوچارتی برنامه ای را بنویسید که عدد طبیعی N>1 را خوانده و مقسوم علیه های آن را نمایش دهد. 11فلوچارتی برنامه ای را بنویسید که یک عدد را خوانده ، اول بودن آن را تعیین نمایید . 12فلوچارتی برنامه ای را بنویسید که یک عدد مثبت را خوانده فاکتوریل آن را نمایش دهد. 13برنامه ای بنویسید که عدد N را خوانده، و مجموع ارقام آن را نشان دهد. مثال: ۳+۲+۱ ۱۲۳ 14فلوچارتی برنامه ای را بنویسید که یک عدد را گرفته تعیین کند که آیا کامل است یا خیر؟ عددی کامل است که با مجموع مقسوم علیه های کوچکتر از خودش برابر باشد. 15فلو چارتی را ترسیم کنید که اعداد زوج دو رقمی را چاپ کند . 16فلو چارتی را رسم کنید که اعداد زوج ۱۰۰۰ تا ۲۰۰۰ را چاپ کرده , مجموع آنها را حساب کنید. 17فلوچارتی ترسیم کنید که چهار عدد دلخواه را از ورودی خوانده ومیانگین آنها را محاسبه وچاپ نماید 18فلوچارتی ترسیم کنید که Xرا به عنوان ورودی دریافت کرده ، اگرX مثبت باشد آن را در۲ضرب کرده وچاپ نماید ، درغیراین صورت قرینه آن را چاپ کند. 19فلوچارتی ترسیم کنید کهجواب معادله درجه اول یک مجهولی AX+B=C باشرط ۰ a≠ رامحاسبه وچاپ نماید. 20فلوچارتی ترسیم کنید که سه عددaوbوcرا دریافت کرده ومعین کند که با این سه عدد میتوان یک مثلث ساخت یا خیر؟ 21فلوچارتی ...

  • آموزش الگوریتم و برنامه نویسی

    دانشجو پس از مطالعه اين مطالب بايد بتواند:الگوریتمی را برای حل مسئله ارائه دهد.الگوریتم های مختلف برای یک مسئله را مقایسه کند.   شرط ها و حلقه ها را در الگوریتم بکار ببرد .مقدمهشرط اصلی برای نوشتن برنامه به زبانهای مختلف (سی، ویژوال بیسیک،سی شارپ ، پاسکال، ... ) یادگیری ومفهوم الگوریم است.روش حل مسایل با استفاده از روشها وتحلیلهای ریاضی و منطقی،اولین بار به وسیله دانشمند بزرگ ایرانی خوارزمی مورد توجه قرار گرفت ، وی علاوه بر مباحث مختلفی که در علوم ریاضی ونجوم طرح کرد اساس وروشی را درحل مسایل بنا نهاد که درآینده مدتها مورد استفاده برنامه نویسان کامپیوترقرار گرفت.نام الگوریم نیزبه افتخار وی واز عبارت " الخوارزمی" گرفته شدهاست.همه ما روزانه اموری را انجام می دهیم که از نظام خاصی پیرویمی کنند مانندروش مصرف دارو، روش تهیه یک نوع غذای معین ، چگونگیرفتن به محل کار.مثلا روش مصرف دارو تا از بین رفتن کامل علائم روزی سهبار، هربار یک قاشق چایخوری از این دارو را در یک لیوان آب سرد حل کرده ،قبل از غذا میل کنید. اینگونه روش انجام کار را الگوریتم گویند.برای پی بردن مفهومه الگوریتم مثالی در نظر میگیریم : اگر بخواهیم بین تعدادی عدد بزرگترین آنها را پیدا کنید چگونه عمل میکنید؟ممکن است پاسخ این باشد که:این کار بسیار ساده است وبانگاهی بهمجوعه ای از اعداد می توان بزرگترین آنهارا انتخاب کرد. اما این کار همیشهممکن نیست زیرا اگر تعداد اعداد بسیارزیاد باشد این روش کارساز نخواهد بود.احتمالاپاسخ این است که یک بارتمام اعدادرا از ابتدا تا انتهابرسی می کنیم ودرهرلحظه بخاطرمی سپاریم که بزرگترین عددی که تاکنون با آن برخوردکردیم چه بوده است.هرگاه به عددی بزرگتر ازعددی که بخاطر سپرده ایم برخوردیم آن را بجای عدد قبلی به خاطر می سپاریم ودر غیر این صورت بدون تغییر دادنعدد به خاطر سپرده شده،به برسی خود ادامه می دهیم.این روش را می توانبه صورت مجموعه ای از دستورالعمل های منظم بیان کرد. تعريف الگوريتمالگوريتم مجموعه‌اي از دستورالعمل ها، براي حل مسئله مي‌باشد كه شرايط زير را بايد دارا باشد:1.  دقيق باشد 2. جزئيات كامل حل مسئله را داشته باشد.3. پايان‌پذير باشد.اولویت عملگرا در برنامه نویسی:درانجام محاسبات ریاضی، عمل جمع ، تفریق ، ضرب ، تقسیم را انجاممی دهیم. که این نمادهارا در اصطلاح کامپیوتر ، عملگر(operator) گوینداما کامپیوتر برای عمل تقسیم از علامت / و برایعمل ضرب از علامت * وبرایاعمال جمع وتفریق نیز از + و - استفاده می کند.الویت عملگرا 1.  پرانتز  (   )                                2.  توان    ^                                    3.  منفی ...

  • الگوریتم

    الگوریتم   یک الگوریتم مجوعه‌ی متناهی از دستورالعمل های خوش تعریف برای انجام یک عمل است که با داشتن یک حالت اولیه به حالت پایانی مشخص و متناظری خواهد رسید. (با استدلالی ( heuristic )مقایسه شود). مفهوم یک الگوریتم معمولاً با مثال دستور اشپزی توضیح داده می شود. هر چند بعضی الگوریتم ها خیلی پیچیده تر هستند. الگوریتم ها معمولاً دارای مراحلی است که تکرار می شود تکرار و یا تا زمان پایان برنامه نیازمند decision هایی (مانند منطق بولی یا نابرابری است. اگر الگوریتم مناسب و نا معیوب نباشد حتی با اجرای درست آن هم مسئله حل نمی شود. برای مثال اجرای الگوریتم سالاد سیب زمینی در صورتی که سیب زمینی در کار نباشد حتی اگر تمام حرکات تهیه سالاد طوری انجام شود مثل اینکه سیب زمینی وجود دارد نا فرجام خواهد ماند. الگوریتم های مختلف ممکن است یک عمل را با دستورات مختلف در مدت زمان، جا، وبا تلاش کمتر یا بیشتری نسبت به بقیه انجام دهد. برای مثال با داشتن دو دستور تهیه ی سالاد سیب زمینی، یکی ممکن است قبل از جوشاندن اول سیب زمینی را پوست بکند در حالی که دیگری این دو مرحله را برعکس انجام دهد، و هر دو این مراحل را برای تمام سیب زمینی ها تکرار می کنند تا وقتی که سالاد سیب زمینی آماده طبخ شود.(مثال ضعیف... چه کسی سیب زمینی ها را جدا جدا می جوشاند؟ و معمولاً تهیه ی سالاد نیازی به پخت و پز ندارد...) در بعضی کشورها، مثل امریکا، اگر تعبیه فیزیکی الگوریتم ها ممکن باشد ممکن است آن ها به شدت انحصاری شود (برای مثال، یک الگوریتم ضرب ممکن است در واحد محاسبه ی یک ریز پردازنده تعبیه شود ).   الگوریتم های رسمی شده(formalized algorithms )   الگوریتم ها به خاطر روش پردازش اطلاعات توسط کامپیوتر اساسی و حیاتی هستند، چون یک برنامه کامپیوتری اساساً یک الگوریتم است که به کامپیوتر می گوید برای انجام یک عمل خاص مثل محاسبه حقوق کارمندان و یا چاپ ورقه گزارش دانش آموزان،چه مراحل خاصی را (با چه نظم خاصی) اجرا کند،.به این صورت، یک الگوریتم را می توان هر دنباله از دستوراتی که قابل اجرا توسط یک Turing complete باشد به حساب آورد. به طور نمونه ای هنگامی که الگوریتم کار پرازش اطلاعات را انجام می دهد، داده از طریق یک وسیله یا منبع ورودی گرفته، به یک وسیله خروجی یاsink نوشته و / یا برای استفاده در زمانی دیگر ذخیره می شود. داده ذخیره شده به عنوان بخشی از حالت درونی(internal state) نهاد مجری الگوریتم تلقی می گردد. برای اعمال محاسباتی از این قبیل، الگوریتم باید به دقت تعریف شود :یعنی طوری مشخص شود که برای حالت مختلف محتمل معتبر باشد. یعنی تمام مراحل شرطی باید به طور سیستماتیک بررسی شود ; حالت به حالت.ضابطه مربوط ...

  • Algorithm

    Algorithm الگوريتم : به مجموعه اي از دستورالعمل ها يي كه با ترتيب معين و مشخص اجراشده و موجب حل مسآله اي گردند را الگوريتم گويند .  ويا  الگوريتم به مجموعه دستورالعملهايي گفته مي شود كه مراحل حل يك مسئله و يا مرحل مختلف انجام كاري را با يك زبان واضح ، روشن و بدون ابهام وپيچيدگي با جزئيات كافي بيان كرده و در آن شروع و پايان عمليات و همچنين ، ترتيب اجراي دستورالعمل ها كاملا مشخص شده باشد . مثال ( الگوريتم محاسبه مجموع 2 عدد 10 و 20 )   1.       شروع 2.       10------>  A 3.       20------>  B  4.       A + B  ------<  C 5.       محتويات  C  را چاپ كن 6.       پايان   اجزاي اصلي  الگوريتم : نقطه شروع دستورالعمل ها ( جملات اجرائي ) جملات معمولي  و محاوره اي گزاره ها و روابط رياضي اشكال هندسي استاندارد نقطه پايان   متغيير  : خانه اي از حافظه كه داده هاي ورودي ، محاسباتي و خروجي را درخود نگه مي دارد .   انواع جملات : شرطي : گاهي اوقات نياز به تصميم گيرهاي خاصي است . ( اگر ) محاسباتي : محاسبات رياضي و ...  ثابت ها عملگرها توضيحي : جهت افزايش آگاهي اجراي الگوريتم . ورودي  و  خروجي : داه هاي ورودي  و يا نتيجه محاسبات ( خروجي ) .   حلقه هاي تكرار ( Loop ) : اجزاء حلقه هاي تكرار : شمارنده  حلقه : جهت كنترل تعداد دفعات تكرار . بدنه حلقه : جملات و دستورالعمل هايي كه با توجه به صورت مسئله انجام شود . گام افزايش : پس از اجراي هرمرحله يكي به شمارنده اضافه ميكند . شرط پاياني : جهت توقف پس از انجام مراحل تكرار . مثال : الگوريتم چاپ عددهاي متوالي تا 20 1.       شروع 2.       1------>  I 3.       I   را چاپ كن 4.       I + 1  ------I < 5.       اگر I<= 20   آنگاه  برگرد به خط  3 6.       پايان الگوريتمي بنويسيد كه شعاع دايره را خوانده  سپس محيط و مساحت دايره را محاسبه و چاپ كند . ( ?= 14/3 ) 1.       شروع 2.       R  را دريافت كن 3.       R*R*3.14   ------<  S 4.       2*R*3.14   ------<  P 5.       S  و P  را چاپ كن 6.       پايان مسئله هاي زير را حل كنيد : 1-       مقسوم عليه هاي عدد ورودي N  رامحاسبه وچاپ كند . 2-       مجموع مقسوم عليه هاي عدد ورودي N  رامحاسبه وچاپ كند . 3-       تعداد مقسوم عليه هاي عدد ورودي N  رامحاسبه وچاپ كند . 4-       عدد هاي اول ك.چكتر از 100  را چاپ كند . 5-       عددي را از ورودي گرفته در صورتي كه عدد ورودي اول باشد آنرا چاپ كند . 6-    عددي را از ورودي گرفته در صورتي كه عدد ورودي تام باشد آنرا چاپ كند . ( عددي كه مجموع مقسوم عليه هاي بجز خودش با خودش برابر باشد تام گويند مثل عدد 3+2+1=6 ) 7-    حقوق كارمندي W  ريال است . هرماه 5/8  درصد حقوق او بابت بازنشستگي و 5 درصد آن بابت ماليات كسر مي ...

  • توانایی حل مسائل و الگوریتم و فلوچارت

    شناخت مسائل و ارائه راه حل مناسب برای حل آنها انسان از اغاز افرینش تا کنون همواره در مسیر زندگی خود با مشکلات و مسائل مختلفی روبه رو بوده و برای حل مشکلات خود، همواره راه حل های متفاوتی را تجربه کرده است. از مشکلاتی نظیر خوراک، پوشاک، محل زندگی تا حل مسائل علمی، فلسفی، ریاضی و نظایر انها؛ بنابر این با توجه به نوع مسائل و تجربیات و پیشرفت های علمی، سعی در ارائه راه حل های جدید کرده است. پیدا کردن راه حل برای یک مساله به نوع ان بستگی داردع بعضی از مساله ها به سادگی قابل حل بوده اما بعضی دیگر هنوز هم به سادگی قابل حل نیستند. برای حل هرگونه مساله جدا از نوع ان می توان موارد زیر را در نظر گرفت: 1.      شناخت دقیق مساله 2.      تجزیه و تحلیل مساله 3.      طراحی راه حل شناخت مساله برای شناخت بهتر مساله باید سه عامل مهم را در نظر بگیرید: مقادیر معلوم، خواسته های مساله(مجهولات) و عملیات محاسباتی. مقادیر معلوم داده ها: مقادیری که در اختیار مساله قرار می گیرند و برای رسیدن به هدف مورد نظر در مساله مورد نیاز هستند. ارتباط بین داده ها و مجهول ها(محاسبات): برای رسیدن به نتایج مورد نظر معمولا لازم است تا عملیاتی را روی مقادیر معلوم انجام دهید؛ بخش عمده ای از این عملیات با استفاده از فورمول های مختلف انجام می شود؛ البته محاسبات می توانند با توجه به روابط منطقی که بین مقادیر معلوم و خواسته های مساله وجود دارند، انجام گیرد. خواسته های مساله(مجهولات): مقادیری هستند که معمولا در اثر انجام عملیات روی مقادیر معلوم حاصل می شوند، البته مجهولات می توانند از روابط منطقی که در حل مساله دخالت می کنند نیز به وجود امده و مورد استفاده قرار گیرند. به عنوان مثال فرض کنید می خواهیم محیط یک دایره به شعاع دلخواه را محاسبه کنیم. برای حل این مساله با روش ارایه شده، ابتدا مقادیر معلوم  را مورد توجه  قرار می دهیم؛ همانطور که می دانید برای محاسبه هر محیط دایره باید شعاع ان را در اختیار داشته باشیم، بنابر این شعاع دایره(R) به عنوان تنها داده مورد نیاز برای حل مساله کافی است. محاسباتی که برای رسیدن به محیط دایره لازم است، در واقع فورمول زیر خواهد بود: P=2*3.14*R با استفاده از این فورمول ها روابط بین داده های ورودی و نتایج مورد نظر به خوبی تعیین می شود و بالاخره به عنوان مرحله آخر، خواسته مساله(مجهول)که همان محیط (P) دایره است به دست می اید. تمرین: مقادی معلوم، محاسبات و خواسته های مساله را در محاسبات محیط و مساحت یک مستطیل دلخواه مشخص کنید؟ تجزیه و تحلیل مساله معمولا جستجوی راه حل برای یک مساله، به سادگی امکان پذیر نیست. گاهی اوقات راه حل مساله به سادگی ...