تعداد فروش | 0 دانشجو |
---|---|
پرسش و پاسخ ها | 0 کاربر |
تاریخ انتشار | 21 اردیبهشت 1402 |
سطح تمرین | متوسط |
در این تمرین قصد داریم فرآیند تراز کردن نمرات دانشجویان در متلب را بررسی و پیاده سازی نماییم.
سوال: برنامه ای بنویسید که نمرات دانشجویان را دریافت کرده و به ازای بالاترین نمره تا نمره 20 آن ها را بر روی نمودار ببرد؟
نکته:دقت کنید اگر بالاترین نمره کلاس 18 باشد فاصله آن با 20 دو نمره میباشد پس باید تمامی نمرات 2 نمره اضافه شوند.
ویدیو حل تمرین را مشاهده نمایید
برای تراز کردن نمرات دانشجویان ابتدا نیاز به آرایه ای داریم تا نمرات دانشجویان را در آن قرار دهیم.
پس آرایه ای تعریف و نمرات را دریافت میکنیم:
c = input('count of numbers:'); arr = zeros(c,1); for i=1:c arr(i,1) = input('enter score:'); end
با استفاده از متغییر c تعداد نمرات را ابتدا دریافت و سپس به میزان تعداد اعداد آرایه را تشکیل میدهیم.
سپس در اولین قدم باید بزرگترین نمره را بدست آوریم.
فرض کنید نمرات به شرح زیر باشند:
10 15 16 17 18 14 13 14.2 13.7
بالاترین نمره عدد 18 میباشد.
سپس در دومین قدم باید 20 را از بالاترین نمره کسر کنیم که میزان نمره ای که برای تراز نیاز داریم بدست آید.
سپس این عدد را به تمامی نمرات اضافه میکنیم.
وقتی این عدد تراز را از بالاترین نمره بدست آوردیم کاملا مشخص است که با اضافه کردن اختلاف عدد 20 با تراز به بقیه نمرات مشکلی پیش نمی آید.
در این مثال میزان اختلاف ما 2 نمره میباشد.
پس باید به تمامی نمرات 2 نمره اضافه کنیم که به صورت زیر میباشد:
12 17 18 19 20 16 15 16.2 15.7
در ادامه تراز کردن نمرات دانشجویان در متلب میخواهیم نمرات را بر روی نمودار ببریم.
به تصویر زیر ذقت کنید نمرات قبل و بعد از تراز شدن بر روی نمودار نمایش داده شده است.
برای نمایش نمرات در نمودار از دستور زیر استفاده میکنیم:
ax1 = nexttile; plot(ax1,arr) title(ax1,'First Score')
دقت کنید که نمرات در plot با استفاده از arr مقدار دهی میشوند.
در ادامه سورس کد کامل آمده است.
برای دریافت سورس کد تمرین تراز کردن نمرات دانشجویان در متلب پس از ثبت نام و یا ورود کاربری از همین صفحه دریافت نمایید.
پرسش و پاسخ ها
هنوز بررسیای ثبت نشده است.