آموزش فلوچارت در متلب – تبدیل کد متلب به فلوچارت با Stateflow
امروز با آموزش فلوچارت در متلب همراه شما هستیم. طراحی فلوچارت پروژه نرمافزاری بخش مهمی از فرایند تولید آن پس از طراحی الگوریتم است. نماد های رسم فلوچارت در حقیقت حالت بصری الگوریتم را نمایش میدهند. ترسیم فلوچارت معمولاً قبل از شروع به برنامهنویسی انجام میشود. اما گاهی اوقات نیاز به طراحی فلوچارت برنامه نوشته شده و آماده داریم. در این موقعیت میتوانیم از نرمافزار Stateflow استفاده کنیم.
از تبدیل کد متلب به فلوچارت معمولاً در طراحی فلوچارت ریاضی استفاده میشود تا شکلی گرافیکی ساده برای درک بهتر توابع مورد نظر داشته باشیم. با این حال از این تکنیک برای حل تمرینات الگوریتم و فلوچارت نیز میتوانید استفاده کنید. برای یادگیری طراحی نمودار فلوچارت در متلب تا انتهای مقاله با ما همراه باشید.
آموزش فلوچارت در متلب
متلب نوعی محیط برنامه نویسی بوده و به صورت مستقل قادر به ارائه طرح گرافیکی فلوچارت نیست. برای تبدیل کد متلب به فلوچارت باید از یک نرمافزار واسطه استفاده کنیم. همانطور که قبلاً نیز معرفی کردیم این نرمافزار واسطه Stateflow نام دارد. این نرمافزار بسیار قدرتمند بوده و قادر به تبدیل انواع کد به نمودار فلوچارت است.
در این پلتفرم فلوچارتها بر اساس آیتمهای زیر در کد متلب طراحی میشوند.
- If، if-else و دیگر عبارات شرطی ساده یا تودرتو
- حلقههای for و while
- عبارات سوئیچ
آموزش تبدیل اسکریپت متلب به فلوچارت
بیایید در ادامه آموزش فلوچارت در متلب یک مثال عملی بزنیم. در این مثال فلوچارت الگوریتم حدس کولاتز را ترسیم خواهیم کرد. کولاتز یکی از مسائل حل نشده ریاضی مربوط به مباحث دنبالهها است. این معادله میگوید اگر جمله فعلی زوج بود جمله بعدی تقسیم بر ۲ میشود. اگر جمله فعلی فرد بود جمله بعدی ضرب در ۳ بعلاوه ۱ خواهد بود. صرف نظر از مقدار جملهای که از آن برای شروع استفاده کردید این دنباله همیشه به ۱ ختم میشود. هدف پیدا کردن مکان ۱ است. پس دنباله زیر را داریم:
- n0 = u, n1, n2, n3, ⋯
بنا به آنچه در مورد حدس کولاتز گفتیم این دنباله طبق فرمولهای زیر پیمایش خواهد شد:
- If ni is even, then ni+1 = ni/2.
- If ni is odd, then ni+1 = 3ni + 1.
کد متلب این مسئله به شکل زیر پیادهسازی شده است:
% Hailstone sequence u, c(u), c(c(u)),…
y = u;
while y(end) ~= 1
y(end+1) = c(y(end));
end
disp(y);
function n = c(n)
% Compute next number in hailstone sequence.
% If n is even, then c(n) = n/2.
% If n is odd, then c(n) = 3*n+1.
if rem(n,2) == 0
n = n/2;
else
n = 3*n+1;
end
end
برای تبدیل این اسکریپت به فلوچارت مراحل زیر را انجام دهید:
- یک چارت جدید باز کنید.
- از تب state chart گزینه pattern و سپس select file را بزنید.
- در باکس باز شده فایل اسکریپت متلب خود را انتخاب و روی Open کلیک کنید.
- نرمافزار یک تابع گرافیکی آماده میکند. روی آن دو بار کلیک کنید تا فلوچارت را نمایش دهد.
- برای تبدیل متغیرها به داده محلی از نوار ابزار بالای نرمافزار گزینه Resolve Undefined Symbols را انتخاب کنید. با این کار کادرهایی برای دادن مقدار به متغیرها ایجاد خواهد شد.
- فلوچارت خود را ذخیره کنید.
- پس از اتمام کار حتی میتوانید فلوچارت را اجرا کنید و خروجی دریافت کنید. برای این کار کافیست در کادر ایجاد شده برای متغیرها مقدار دلخواه خود را وارد و گزینه Run را بزنید.
- برای توقف برنامه نیز گزینه Stop را داریم.
آموزش طراحی فلوچارت قبل از کدنویسی
در ادامه آموزش فلوچارت در متلب باید بگوییم که نرمافزار Stateflow محدود به تبدیل کد آماده به فلوچارت نمیشود. شما میتواند با ابزارهایی که این پلتفرم در اختیار ما میگذارد هر نوع فلوچارتی را طراحی و از آن خروجی بگیرید.
به دلیل این که این مقاله بر اساس آموزش متلب بوده و مباحث تخصصی الگوریتم و فلوچارت از این بحث خارج است، از آموزش دیگر قابلیتهای Stateflow صرف نظر میکنیم. اما در صورت نیاز به یادگیری این نرمافزار میتوانید از منابع آموزش متلب مکتب خونه استفاده کنید.
کلام آخر
آموزش طراحی فلوچارت در متلب میتواند به منظور ارائه و توضیح عملکرد برنامهای که در متلب نوشتهاید به شما کمک کند. متلب محیط گرافیکی برای طراحی فلوچارت ندارد بنابراین از نرمافزار Stateflow برای این کار استفاده میشود. پیشنهاد میکنیم برای دریافت آموزشهای بیشتر و حرفهایتر متلب سری به صفحه آموزش متلب مکتب خونه بزنید.