گروه مهندسی متین

حسابداری ، طراحی وب سایت ، گرافیک ، و اموزش نرم افزار

گروه مهندسی متین

حسابداری ، طراحی وب سایت ، گرافیک ، و اموزش نرم افزار

گروه مهندسی متین

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

بایگانی

مبانی برنامه نویسی

دوشنبه, ۱۷ دی ۱۳۹۷، ۰۹:۰۰ ق.ظ

بخش 1
مبانی برنامه نویسی
فصل 1 معرفی زبان #C
فصل 2 مقدمات زبان #C
فصل 3 آشنایی با مفاهیم برنامه نویسی
ویژوال
شامل فصل‌های
معرفی زبان #C
مقدمه

کامپیوتر از دو جزء اصلی سخت‌افزار )Hardware )و نرم‌افزار )Software )تشکیل شده است. نرم افزار مجموعه ای
از یک یا چند برنامه کامپیوتری )Program Computer )است که با استفاده از دستورات و قواعد یک زبان
برنامهنویسی توسط برنامهنویس نوشته میشود و سختافزار را قابل استفاده میکند. هدف از هر نرم افزاری،
پیادهسازی یک الگوریتم )Algorithm )بر روی یک ماشین )همانند کامپیوتر، تلفن همراه، قطعه ای الکترونیکی و
غیره( و بهرهگیری از منابع سختافزاری و نرمافزاری آن است. در این فصل ابتدا با مفهوم الگوریتم آشنا شده و
در نهایت ویژگیها و اصطالحات مرتبط با زبان #C را فرا خواهید گرفت. به طور کلی پس از اتمام این فصل
قادر خواهید بود:
 سبکهای برنامهنویسی ساختیافته و شئگرا را شرح دهید.
  چند مورد از مزایای زبان #C را نسبت به سایر زبانهای برنامهنویسی نام ببرید.
  مفهوم چارچوب داتنت را شرح دهید و همچنین اجزای آن را نام ببرید.
  نحوه کامپایل یک برنامه را در چارچوب داتنت شرح دهید.
1
فصل
14 آموزش زبان برنامهنویسی #C
الگوریتم و برنامه کامپیوتری
واژه الگوریتم از نام »ابوجعفر محمدبن موسی الخوارزمی« ریاضیدان و منجم ایرانی در قرن دوم هجری گرفته
شده است و به معنی تشریح دقیق مراحل و نحوه انجام دادن کار به خصوصی است و به صورت زیر تعریف
میشود:
»به مجموعهای از دستورات که با زبان دقیق و قابل فهم به همراه جزییات الزم و به صورت مرحله
به مرحله به گونهای اجرا شده که هدف خاصی )حل مسأله( را دنبال کنند و شروع و خاتمه آنها نیز
مشخص باشد، الگوریتم میگویند.«
همانطور که بیان شد، بین نرم‌افزار )برنامه کامپیوتری( و الگوریتم، ارتباط مستقیمی وجود دارد. بیان الگوریتم
براساس دستورات یک زبان برنامهنویسی را یک برنامه کامپیوتری در آن زبان مینامند. به عنوان مثال، اگر الگوریتمی
را براساس قواعد و دستورات زبان #C پیادهسازی کنید، از آن الگوریتم، یک برنامه کامپیوتری به زبان #C به دست
میاید. همانطور که در شکل 1-1 نشان داده شده است، الگوریتم با استفاده از دستورات یک زبان برنامه نویسی
ساختیافته )مثل زبان C )و یا یک زبان برنامه نویسی شئگرا )مثل زبان ++C )به یک برنامه کامپیوتری تبدیل می شود.
شکل 1-1 تبدیل یک الگوریتم به یک برنامه کامپیوتری
زبان های برنامهسازی همانند زبان ً های طبیعی تنوع زیادی دارند، به طوری که تقریبا برای هر نوع کاری یک یا
چند زبان برنامهسازی طراحی شده است.
روشهای بیان الگوریتم
الگوریتمها را میتوان به روشهای مختلفی بیان کرد که عبارتاند از:
1 .روش ریاضی: در این روش از عالیم ریاضی برای بیان الگوریتم استفاده میشود. به عنوان مثال، الگوریتم
زیر، سه عدد را از ورودی خوانده و میانگین آنها را محاسبه میکند. روش بیان این الگوریتم، روش ریاضی
است.
15 1 فصل C# نرمافزار معرفی C
الگوریتم مفروضات
1 .شروع
2 .X ،Y و Z را از ورودی دریافت کن.
Sum ← X + Y + Z .3
Ave ← Sum ÷ 3 .4
5 .Ave را نمایش بده.
6 .پایان
عدد اول: X
عدد دوم: Y
عدد سوم: Z
مجموع اعداد: Sum
میانگین اعداد: Ave
شکل 1-2 فلوچارت تبدیل دمای سلسیوس به فارنهایت
2 .روش شبه کد )Code Pseudo :)در این روش از ساختارهای معمول برخی از زبانهای برنامهنویسی،
زبان محاوره معمولی و عالیم ریاضی برای بیان الگوریتم استفاده میشود. به عنوان مثال، الگوریتم زیر،
یک مقدار را برحسب کیلومتر از ورودی خوانده و به متر تبدیل میکند. روش بیان این الگوریتم، روش
شبه کد است.
start
 input K
 M := K * 1000
 print M
end
3 .روش روند‌نما یا فلوچارت )Flowchart :)در این روش از اشکال و نمادهای خاصی برای بیان الگوریتم استفاده
میشود که در درس مبانی کامپیوتر با آنها آشنا شدهاید. به عنوان مثال، الگوریتم شکل 1-2 ،درجه حرارت را برحسب
سلسیوس از ورودی خوانده و به فارنهایت تبدیل میکند. روش بیان این الگوریتم، روش فلوچارت است.
در ادامه، با ارائه چند تمرین، با نحوه نوشتن الگوریتم برای مسائل مختلف آشنا خواهید شد.
 تمرین 1-1 الگوریتمی بنویسید که زوج یا فرد بودن یک عدد صحیح دلخواه را مشخص کند.
راهنمایی: در ریاضیات، به هر عدد صحیحی که باقیمانده تقسیم آن بر عدد 2 ،برابر با صفر باشد، عدد
زوج و در غیر این صورت عدد فرد گویند.
16 آموزش زبان برنامهنویسی #C
 پاسخ الگوریتم مسأله فوق به صورت زیر است:
بیان الگوریتم به روش ریاضی بیان الگوریتم به روش شبه کد
1 .شروع
2 .یک عدد از ورودی دریافت کن و آن را در X قرار بده.
.
4 .اگر بود، آنگاه »عدد ورودی زوج است« را نمایش بده.
5 .اگر بود، آنگاه »عدد ورودی فرد است« را نمایش بده.
6 .پایان
start
 input X
 R:= X mod 2
 if R = 0 then
"عدد ورودی زوج است." print
 else
"عدد ورودی فرد است." print
end
یادآوری: منظور از mod در بیان الگوریتم، باقیمانده تقسیم صحیح است. به عنوان مثال، باقیمانده تقسیم
7 بر 2 برابر با 1 است:
 تمرین 1-2 الگوریتمی بنویسید که مقسوم علیه‌های عدد طبیعی و دلخواه M را محاسبه کند.
راهنمایی: هر عدد طبیعی مثل X بر تعدادی از عددها بخش پذیر است، به این عددها مقسوم علیه های عدد X
میگویند. به عنوان مثال، عدد 20 بر عددهای 1 ،2 ،4 ،5 ،10 و20 بخشپذیر است. بنابراین خواهیم داشت:
}20 ,10 ,5 ,4 ,2 ,1{ = 20 عدد علیههای مقسوم مجموعه
 پاسخ الگوریتم مسأله فوق به صورت زیر است:
بیان الگوریتم به روش ریاضی بیان الگوریتم به روش شبه کد
1 .شروع
2 .یک عدد از ورودی دریافت کن و آن را در M قرار بده.
.
4 .اگر بود، آنگاه K را نمایش بده.
.
اگر بود، آنگاه برو به مرحله 4.
6 .پایان
start
 input M
 K = 1
 L1:
 if M mod K = 0 then
 print K
 K = K + 1
 if K <= M then
 go to L1:
end
 تمرین 1-3 الگوریتمی بنویسید که قیمت یک کاال را از ورودی خوانده و قیمت نهایی آن را با احتساب
15 درصد تخفیف محاسبه و نمایش دهد.
 پاسخ الگوریتم مسأله فوق به صورت زیر است:
بیان الگوریتم به روش ریاضی بیان الگوریتم به روش شبه کد
1 .شروع
2 .قیمت کاال را دریافت کن و آن را در N قرار بده.
4 .M را نمایش بده.
5 .پایان
start
 input N
 M = N - (N * 0.15)
 print M
end
17 1 فصل C# نرم افزار معرفی C
 تمرین 1-4 الگوریتمی بنویسید که انرژی جنبشی یک جسم را برحسب ژول محاسبه کند.
راهنمایی: انرژیای که هر جسم، ً صرفا به علت حرکتش دارد، انرژی جنبشی آن جسم نامیده میشود.
انرژی جنبشی جسمی به جرم M که با سرعت V حرکت میکند، از رابطه زیر محاسبه میشود:
در این رابطه، جرم برحسب کیلوگرم، سرعت برحسب متر بر ثانیه و انرژی جنبشی برحسب ژول است.
 پاسخ الگوریتم مسأله فوق به صورت زیر است:
بیان الگوریتم به روش ریاضی بیان الگوریتم به روش شبه کد
1 .شروع
2 .جرم جسم را برحسب کیلوگرم دریافت کن و آن را در M قرار بده.
3 .سرعت جسم را برحسب متر بر ثانیه دریافت کن و آن را در V قرار بده.
K ← .
5 .K را نمایش بده.
6 .پایان
start
 input M
 input V
 K = (0.5 * M) * (V × V)
 print K
end
سبکهای برنامه نویسی
همانطور که در شکل 1-1 نشان داده شده است، دو سبک برنامهنویسی رایج که برنامهنویسان از آنها برای توسعه
سیستمهای نرمافزاری استفاده میکنند عبارتاند از:
1 .برنامه‌نویسی ساخت‌یافته )Programming Structured :)در این سبک برنامهنویسی، برنامه به صورت
مجموعهای از فعالیتها در نظر گرفته میشود که باید بر روی دادهها اجرا شوند. هر کار پیچیدهای به چند کار
کوچکتر تجزیه میشود تا این کارها به راحتی قابل پیادهسازی باشند. سپس برای انجام هر یک از این کارها،
زیر برنامه خاصی )که متد )Method )نامیده میشود( نوشته میشود. برنامهنویسی ساختیافته، روش مناسبی
برای حل مسائل پیچیده است، اما مشکالت خاص خودش را دارد. در این روش دادهها از فعالیت‌ها )متدها(
که آنها را پردازش میکنند جدا هستند. وقتی حجم دادهها زیاد میشود، نگهداری آنها مشکل میشود. هر
چه بیشتر با دادهها کار میکنید، با مشکالت بیشتری مواجه میشوید.
متدها قابلیت استفاده مجدد را دارند. یعنی میتوان متدهای یک برنامه را در برنامههای دیگر نیز استفاده کرد.
به این ترتیب، کدنویسی کمتر میشود و توسعه نرمافزار با سرعت بیشتری صورت میپذیرد. متدها این امکان
را فراهم میکنند تا توسعه نرمافزار با استفاده از گروه ممکن شود. به این شکل که پس از مشخص شدن متدهای
مورد نیاز برنامه، هر یک از اعضای گروه وظیفه نوشتن و تست متدهای مشخصی را برعهده میگیرد و به این شکل
اعضای گروه به صورت همزمان روی بخشهای مختلف برنامه فعالیت میکنند بدون اینکه یکی منتظر دیگری
بماند. در نهایت این متدها به هم پیوند میخورند تا جریان منطقی برنامه برقرار شود. بدیهی است که عیبیابی و
اصالح برنامه نیز آسان میشود. زیرا، با بررسی جریان برنامه، متد معیوب به سرعت شناسایی و اصالح میشود
بدون اینکه بقیه بخشهای برنامه تغییر یابند. زبانهای C و Pascal دو نمونه از زبانهای برنامهنویسی ساختیافته
هستند.
2 .برنامه‌نویسی شئ‌گرا )Programming Oriented Object :)برنامه نویسی شئگرا، جدیدترین سبک
برنامهنویسی است که در آن همه چیز به دید شئ )Object )نگریسته میشود. شئ از یک کالس )Class )
18 آموزش زبان برنامهنویسی #C
مشتق میشود. برنامهنویسان با شناسایی مسأله و انتزاع موجودیت‌های )Entities )آن، کالسها را طراحی
میکنند.
هر کالس مجموعهای از ثابت‌ها )Constants ،)خاصیت‌ها )Properties ،)متدها و غیره است که یک بار
طراحی میشود، اما میتوان چندین نمونه )Instance )از آن ایجاد کرد. در حال حاضر پرطرفدارترین سبک
برنامهنویسی، این سبک است.
ایده اصلی در زبانهای شئگرا ترکیب دادهها و متدها در یک موجودیت واحد تحت عنوان شئ است که
در آن متدها عملیات مورد نظر را بر روی دادهها انجام میدهند. زبانهای شئگرا با الهام و تبعیت از دنیای
واقعی به وجود آمدهاند بدینگونه که در دنیای واقعی به هر جا که بنگریم، موارد زیادی از نمونههای متمایز
و متفاوت و در عین حال با ساختار و قالبی یکسان قابل مشاهده است. به عنوان مثال، تمامی انسانها با
تفاوتهای بسیار آفریده شدهاند، به گونهای که هیچ دو انسانی ویژگی ً های کامال یکسان ندارند )مثل تفاوت
در رنگ چشمها(. با این حال همگی دارای ساختار و قالب یکسانی هستند )مثل ساختار سیستم دفاعی بدن(
به این ساختار و قالب مشترک، کالس گفته میشود و نمونههای موجود در یک ساختار را شئ آن کالس
مینامند. به عنوان مثال، کالس انسان را میتوان ترکیبی از موارد زیر دانست:
  خاصیت‌ها: رنگ چشم، رنگ پوست، جنسیت، سن، قد، وزن و غیره
  متدها: راه رفتن، حرف زدن، دویدن و غیره
  رویدادها: عصبانی شدن، شاد شدن و غیره
پس از طراحی کالس، با ایجاد نمونههایی از آن، می ً توانید اشیای کامال متمایزی در اختیار داشته باشید.
همانگونه که در دنیای ما، انسانهای متمایز با ساختار یکسان ولی با رنگ چشم و رنگ پوستهای متفاوت
قابل مشاهدهاند.
کالسها نسبت به اشیا مثل نقشهها نسبت به ساختمانها هستند، یعنی همانطور که از یک نقشه میتوان
چند ساختمان تهیه کرد، از یک کالس می ِ توان چند شئ ایجاد کرد. یعنی، نقشه الگویی برای ساخت ساختمان
و استفاده از آن است و کالس الگویی برای ساخت اشیا و استفاده از آنها است.
توسعه نرمافزار با استفاده از کالسها اجازه میدهد که سیستمهای نرمافزاری آینده از کالسهای از قبل
نوشته شده مجدداً استفاده کنند. به عنوان مثال، همانطور که تلویزیون را میتوان با استفاده از قطعات آن ایجاد
کرد، در آینده، نرمافزارها را نیز میتوان با استفاده از کالسهای از قبل نوشته شده توسعه داد.
با بررسی سه اصل نهان‌سازی )Encapsulation ،)وراثت )Inheritance )و چندریختی )�Polymor
phism )که از اصول مهم برنامهنویسی شئگرا محسوب میشوند، تفاوت برنامهنویسی شئگرا با برنامه نویسی
ساخت یافته نمایان خواهد شد:

این مطلب هنوز ادامه دارد ...

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی