توسعه برنامه چگونه انجام می شود؟

2

توسعه برنامه چگونه انجام می شود؟

کیانا ابراهیمی سوال پاسخ داده شده اکتبر 14, 2020
گذاشتن نظر
0

توسعه برنامه چگونه انجام می شود؟

در اینجا، شما باید بتوانید به یک تابع کامل بنگرید و بگوییـد کـه چـه کـاري انجـام مـیدهـد. همچنین اگر تمرینها را انجام داده باشید، توابع کوچکی هـم نوشـتهایـد. همچنـان کـه نوشـتن توابـع بزرگتر را شروع کنید، ممکن است با دشواري بیشتري روبرو شوید و مشـکلات بیشـتري بـا خطاهـاي زمان اجرا و خطاهاي معنایی داشته باشید.  بهمنظور بحث در مورد توسعۀ برنامههاي پیچیده، ما تکنیکی با عنوان توسعۀ افزایشـی ارائـه میدهیم. هدف از توسعۀ افزایشی برنامه، اجتناب از اختصاص زمانی طولانی براي اشکالیـابی از طریـق اضافه و آزمایش کردن قسمتهاي کوچک کد در هر زمان است. به عنوان مثالی، فـرض کنیـد مـیخواهیـد فاصـلۀ میـان دو نقطـه بـا مختصـات (y1, x1 ) و (y2, x2) را پیدا کنید.

گام اول آن است که تشخیص دهیم در پایتون یک تابع distance باید چـه شـکلی داشـته باشد. به بیان دیگر، باید مشخص کنیم وروديها (پارامترها) و خروجیهاي (مقادیر برگشتی) تـابع چـه هستند. در این مثال، وروديها دو نقطه هستند که ما میتوانیم آنها را با چهار پـارامتر نمـایش دهـیم و مقدار برگشتی، فاصله است که مقداري اعشاري دارد. تا اینجا میتوانیم خطوط اصلی تابع را بنویسیم:

:(def distance(x1, y1, x2, y2
return 0.0

واضح است که این نسخه از تابع، فاصله را محاسبه نمیکند و همواره صفر را بر مـیگردانـد امـا این تابع از لحاظ نحوي درست است و کار میکند. یعنی ما میتوانیم قبل از اینکـه تـابع را پیچیـدهتـر کنیم آن را آزمایش نماییم. جهت آزمایش تابع جدید، آن را با مقادیر نمونه فراخوانی میکنیم:

>> distance(1, 2, 4, 6)
0.0

ما این مقادیر را انتخاب کردهایم، تا فاصلۀ افقی برابر 3 و فاصلۀ عمـودي برابـر 4 شـود؛ بـا ایـن روش، نتیجه 5 میباشد (مثلثی با اضلاع 5-4-3) .هنگام آزمایش یـک تـابع، خـوب اسـت کـه جـواب درست را بدانیم. تا اینجا مطمئن شدیم که تابع از لحاظ نحوي صحیح است و حال میتـوانیم شـروع بـه اضـافه کردن خطوط کد کنیم. بعد از هر مرحله تغییر، تابع را دوباره آزمـایش مـیکنـیم. اگـر خطـایی در هـر لحظه رخ دهد، ما میدانیم که مشکل در چه قسمتی است -در خطی که اخیراً اضافه شده-

اولین گام منطقی در محاسبه، پیدا کردن تفاضـلهـاي x1 – x2 و y1 – y2 اسـت. مـا ایـن مقادیر را در متغیرهاي موقتی به نام dx و dy ذخیره میکنیم و آنها را چاپ مینماییم:

:(def distance(x1, y1, x2, y2
dx = x2 – x1
dy = y2 – y1
print “dx is”, dx
print “dy is”, dy
return 0.0

اگر تابع کار میکند، خروجی باید اعـداد 3 و 4) و البتـه مقـدار برگشـتی 0.0 (باشـد. در ایـن صورت ما میفهمیم که تابع پارامترها را به درستی دریافت کرده و اولین محاسبه را بهطور صحیح انجام داده است. در غیر این صورت تنها چند خط براي بررسی وجود دارد. سپس مجموع مجذورات dx و dy را محاسبه میکنیم:

:(def distance(x1, y1, x2, y2
dx = x2 – x1
dy = y2 – y1
dsquared = dx**2 + dy**2
print “dsquared is: “, dsquared
return 0.0

دقت کنید که ما دستور print را که در مرحله قبل نوشته بودیم، حذف کـردهایـم. کـدهایی شبیه به این را داربست مینامند زیرا در ساختن برنامه مفیدند اما در نتیجۀ نهایی وجود ندارند. در این مرحله مجدداً برنامه را اجرا میکنیم و خروجی را (که باید25 باشد) بررسی میکنیم. در نهایت اگر ماژول math را وارد کـرده باشـیم، مـیتـوانیم از تـابع sqrt جهـت محاسـبه و برگرداندن نتیجه استفاده کنیم.

:(def distance(x1, y1, x2, y2
dx = x2 – x1
dy = y2 – y1
dsquared = dx**2 + dy**2
( result = math.sqrt(dsquared
return result

اگر برنامه کار کند، کار شما تمام است. در غیر این صورت میتوانید مقدار result را قبـل از دستور return چاپ کنید. وقتی که شروع به نوشتن برنامه میکنید، در هر مرحله باید تنها یک یـا دو خـط کـد را اضـافه نمایید. هنگامی که تجربۀ بیشتري به دسـت آوردیـد، مـیتوانیـد قطعـات کـد بزرگتـري را بنویسـید و اشکا زدایی کنید. از این طریق فراینـد توسـعۀ افزایشـی مـیتوانـد تـا حـد زیـادي از اتـلاف وقـت در اشکال زدایی جلوگیري کند.
نکات کلیدي این فرایند در زیر آمده است:
· با یک برنامۀ مقدماتی کار را آغاز کنید و گام به گام تغییرات کوچکی را بوجود آوریـد. در هـر لحظه اگر خطایی وجود داشته باشد، شما از محل وقوع آن خطا مطلع خواهید شد.
5 .جهت نگهداري مقادیر واسطه از متغیرهاي موقتی استفاده کنید. بدین صورت شما میتوانیـد
آنها را در خروجی چاپ و بررسی کنید.
6 .همین که دیدید برنامه کار میکند، میتوانید داربستها را حذف کنید یا دسـتورات چندگانـه
را در عبارات مرکب ادغام نمایید، اما تنها در صورتی که خواندن برنامه دشوارتر نشود.

تمرین 5-2 :از روش توسعۀ افزایشی به منظور نوشتن تابعی به نام hypotenuse اسـتفاده
کنید. این تابع باید طول وتر یک مثلث قائمالزاویـه را بـا گـرفتن طـول دو سـاقش (بـه عنـوان
پارامتر) برگرداند. تمام مراحل تدریجی نوشتن تابع را ذخیره کنید.

برای اموزش های ویدیویی زبان پایتون به بستر ویدیو های اموزشی بروید

بستر اموزش های ویدویی 

کیانا ابراهیمی سوال پاسخ داده شده اکتبر 14, 2020
گذاشتن نظر
پاسخ خود را بنویسید .
  • فعال
  • بازدیدها1235 times
  • پاسخ ها1 پاسخ
ورود به متاورس | متاورس ایرانی
ورود به متاورس ایران یا همان متاورس ملی

علامت ذره بین Tutorials سمت راست به رنگ قرمز به شما کمک خواهد کرد .

جدید ترین سوالات پرسیده شده

ایا ایدز گزفتم؟ 0 پاسخ ها | 0 آرا
انتخاب ورزش رزمی 0 پاسخ ها | 1 رای
وزارت تعاون کار و رفاه اجتماعی نماد اعتماد الکترونیک اسناد و املاک کشور مرکز آموزش ویدیویی انجمن حم فروشگاه ملی تولید کنندگان مدیریت بر مدیران حم سامانه حیوانات رسانه ملی اخبار متا دانشگاه متاورس استخدام | دانش فروشگاه حم تبلیغات ملی بازار NFT متاورس رنگ نقشه ملی سه بعدی متا املاک و مستغلات