(مبانی برنامه نویسی عمومی _ الکترونیک) آشنایی با فلوچارت و الگوریتم در برنامه نویسی(مهندسی برق _ الکترونیک)
پژوهشگر و نویسنده: ( افشین رشید )
نکته : زبان های برنامه نویسی فراوانی نظیر: #C, python , FORTRAN ,VBA و PASCAL وجود دارد و میتوان یکی از این زبان های برنامه نویسی را به عنوان زبان برنامه نویسی تخصصی انتخاب کرد.
در کنار زبان های برنامه نویسی، نرم افزارهای تخصصی بسیاری برای اهداف آموزشی یا پژوهشی ارائه شده است و معمولا توابع این نرم افزارها، نیازهای کاربران را برآورده میکند. در مواردی که جعبه ابزارهای نرم افزار مربوطه پاسخگوی نیاز کاربران نباشد، نیاز به برنامه نویسی پیش میآید و خود این نرم افزارها امکاناتی را فراهم میآورند تا با اتصال به یک زبان برنامه نویسی، این نیازها برآورده شود. به عنوان مثال صفحه گسترده برای کارهای تحلیلی و آماری، نرم افزار پرکاربردی است. اما EXCEL با VBA متصل شده تا چنانچه نیاز به برنامه نویسی پیش آید، از VBA استفاده شود.
الگوریتم و فلوچارت در زبان برنامه نویسی
الگوریتم و فلوچارت، مفهومی مقدماتی و مهم برای برنامه نویسی است. الگوریتم روش حل مسایل است به نحوی که برای ماشین یعنی همان کامپیوتر قابل درک باشد . شیوه حل مسایل توسط انسان و ماشین باهم تفاوت دارد . چرا که انسان قدرت تصمیم گیری از خود دارد و برای حل مسایل از روشهای متنوعی بهره میبرد اما ماشین دقیقا از همان روشی که توسط انسان برای آن پیش بینی شده بهره میبرد و تمامی شرایط و حالت ممکن برای حل مساله باید پیش بینی شده باشد.
فلوچارت مجموعهای از شکلهای قراردادی است که دستورالعملها و ترتیب اجرای آنها را مطابق با الگوریتم مورد نظر نمایش میدهد. فلوچارت علاوه بر این که روند کلی طرح را در قالب نمودار نمایش میدهد از اعتبار بیشتری نیز برخوردار است و همچنین امکان بروز خطا را در برنامه به حداقل میرساند.
الگوریتم در برنامه نویسی :
الگوریتم برگرفته از کلمه الخوارزمی است که توسط انگلیسی زبانان و با گذشت زمان به کلمه الگوریتم تغییر یافته است. خوارزمی برای حل مسائل جبری، به جای حل موردی مساله، سعی در ارائه یک "فرآیند نظام مند و فراگیر" داشت . خوارزمی سعی میکرد برای حل یک مساله تمامی حالت ممکن را درنظر گرفته و یک روش عمومی برای حل تمامی حالت ممکن ارائه کند. برای حل مسایل دو روش مکاشفه ای و الگوریتمی وجود دارد که در ادامه به کمک مثال توضیح داده میشود. فرض کنید هدف یافتن ریشه های معادله درجه دو 4- x=y باشد یک روش مکاشفه ای و کوتاه و سریع عبارت است از:
y=0 x2-4=0 x2= 4 x1 =-2, x2=+2
تابع y چون فاقد جمله ای بر حسب x و عالمت عدد ثابت منفی است، توانستیم جواب مساله را به راحتی به دست بیاوریم. حال اگر تابع به فرم ذیل باشد:
y=x2-4x+4 = (x-2) 2 = 0 x1,2=2
مضاعف ریشه از اتحاد دوم برای تعیین ریشه استفاده کردیم. حال اگر تابع به فرم ذیل باشد:
y=x2-5x+6 = (x-2) (x-3)x1=2,x2=3
برای تعیین ریشه های سه معادله فوق، از روش های مختلف استفاده شد. در معادله اول به خاطر این که معادله فاقد جمله درجه اول از x بود با بردن عدد منفی به سمت دیگر تساوی و گرفتن جذر جواب را بدست آوردیم. این روش روشی سریع وکوتاه بود. برای حل معادله های دوم و سوم نیز از اتحاد های جبری استفاده و معادلات را به حاصل ضرب عوامل تجزیه کردیم. تشخیص اینکه از کدام روش استفاده کنیم، وابسته به شکل تابع بوده است. در واقع روش حل را هر بار از طریق مکاشفه به دست آوردیم. اما تمامی این روشها، قابل فهم برای کامپیوتر نیست. راه حل الگوریتمی، استفاده از معادله مشخصه و روش الگوریتمی است.
روش حل مکاشفه ای
روش حل مکاشفه ای روش مناسبی برای حل مسائل توسط انسان است اما روش کاربردی و مناسبی برای حل مسائل توسط کامپیوتر نیست.برای مثال قبل میتوان از اتحاد ها و تجزیه برای تشخیص ریشه های معادله استفاده کرد اما این روش برای کامپیوتر مناسب نیست چرا که تعداد اتحادها زیاد است و مجبور میشویم برای هر کدام از اتحادها، تعدادی زیادی رابطه بین ضرایب و علامت ها برقرار کنیم. تعریف این همه رابطه در کامپیوتر، دشوار و غیرمنطقی است. بهترین روش برای پیدا کردن ریشه های معادله درجه دوم، استفاده از معادله مشخصه و روش دلتا است. در واقع روش دلتا یک "الگوریتم ریاضی" است که پیاده کردن آن در کامپیوتر نیز راحت است.
نویسنده: دکتر (افشین رشید )