چه نوع برنامه نویسی وجود دارد. انواع زبانهای برنامه نویسی

برنامه نویسی رویه ای (ضروری)بازتابی از معماری رایانه های سنتی است. یک برنامه در یک زبان برنامه نویسی رویه ای شامل دنباله ای از عملگرها (دستورالعمل ها) است که روش حل مشکل را مشخص می کند. اصلی ترین آن عملگر تخصیص است که برای تغییر محتویات مناطق حافظه عمل می کند. مفهوم حافظه به عنوان ذخیره ارزش ها ، محتویات آن را می توان با دستورات برنامه به روز کرد ، در برنامه نویسی ضروری ضروری است. یک زبان برنامه نویسی رویه ای به برنامه نویس اجازه می دهد تا هر مرحله از فرآیند حل یک مشکل را مشخص کند. ویژگی چنین زبان های برنامه نویسی این است که وظایف به مراحل تقسیم شده و گام به گام حل می شوند. برنامه نویسی اجباری بیشتر برای کارهای فرعی کوچک مناسب است ، جایی که سرعت اجرا در رایانه های مدرن بسیار مهم است.

زبان های برنامه نویسی رویه ای شامل: Ada ، Basic (نسخه های Quick Basic تا Visual Basic) ، C ، COBOL ، Fortran ، مدول- 2 ، پاسکال ، PL / 1 ، Rapier ، REXX.

برنامه نویسی ساختار یافته- روش توسعه نرم افزار ، که بر اساس ارائه برنامه در قالب یک ساختار سلسله مراتبی از بلوک های ساخته شده از سه نوع ساختار اساسی است: اجرای متوالی ، انشعاب و حلقه.

برنامه نویسی شی گرایک روش برنامه نویسی است که مبتنی بر نمایش یک برنامه به عنوان مجموعه ای از اشیاء است که هر یک پیاده سازی یک کلاس خاص (نوع داده از نوع خاص) است و کلاس ها بر اساس اصول وراثت سلسله مراتبی را تشکیل می دهند.

منظور از اشیاء اتحاد داده ها و رویه های پردازش آنها در یک کل واحد است. اشیاء می توانند پیام ها را با یکدیگر تبادل کنند. وقتی شیء پیامی دریافت می کند ، کنترل کننده مربوطه راه اندازی می شود ، در غیر این صورت نامیده می شود روش... این شی دارای یک محفظه همراه است که به شما امکان می دهد روش ارسال آن را با پیام دریافت کنید. علاوه بر این ، شی دارای یک شیء جد است. اگر هیچ روشی برای مدیریت پیام پیدا نشد ، پیام به شیء اصلی ارسال می شود. این ساختار به طور کلی (جدول کنترل کنندگان + اجداد) ، به دلایل کارآیی ، در یک شیء جداگانه به نام تخصیص داده شده است کلاساز این شی خود شیء مرجعی برای شیء نماینده کلاس خود خواهد داشت. اشیا منحصراً از طریق ارسال پیام به یکدیگر تعامل دارند.

مهم است که سه ویژگی اصلی اجسام زیر را برجسته کنید.

کپسوله سازی (حفاظت از داده ها)- مکانیزمی که داده ها و روش هایی را که این داده ها را دستکاری می کند ، ادغام می کند و از هر دو در برابر تداخل خارجی محافظت می کند.


وراثتفرایندی است که طی آن یک شی می تواند ویژگی های یک شی دیگر را به ارث برده و صفات منحصر به فرد خود را به آنها اضافه کند. رابطه فرزند و جد در کلاسها را ارث می نامند.

پلی مورفیسمیک ویژگی است که امکان جایگزینی یک شی با یک شیء دیگر با ساختار کلاس مشابه را فراهم می کند. بنابراین ، اگر در هر سناریویی از تعامل شیء ، یک شیء دلخواه را با دیگری جایگزین کنید که بتواند پیامهای مشابه را پردازش کند ، سناریو نیز اجرا می شود.

برنامه نویسی اعلامی... تأکید در برنامه نویسی اعلانی بر چگونگی انجام آن است ، نه نحوه انجام آن (در زبانهای ضروری). نکته اصلی در اینجا فرمول بندی دقیق مشکل است و انتخاب و کاربرد الگوریتم لازم برای حل آن مشکل سیستم اجرایی است ، اما برنامه نویس نیست. به عنوان مثال ، صفحات وب HTML از این جهت اعلان کننده هستند که توصیف می کنند که صفحه باید شامل چه مواردی باشد نه نحوه نمایش صفحه در صفحه. این رویکرد با زبانهای برنامه نویسی ضروری ، که به برنامه نویس نیاز دارد تا الگوریتمی را برای اجرا مشخص کند ، متفاوت است.

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

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

مانند سایر زبانهای اعلامی ، هنگام کار با آن ، برنامه نویس وضعیت (قوانین و حقایق) را توصیف می کند و هدف را (پرس و جو) فرموله می کند و به مترجم PROLOGUE اجازه می دهد راه حلی برای مشکل خود پیدا کند. مفسر PROLOGUE به عنوان مکانیزمی برای حل مشکل با استفاده از زبان PROLOGUE درک می شود. برنامه PROLOGUE مجموعه ای از حقایق و (احتمالاً) قوانین است. اگر برنامه ای فقط حاوی حقایق باشد ، آن را پایگاه داده می نامند. اگر شامل قوانین نیز باشد ، اغلب از اصطلاح پایگاه دانش استفاده می شود.

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

سوالات خودآزمایی

1. برنامه چیست؟ منظور از مجری چیست؟

2. کد دستگاه چیست؟

3. مترجم چیست؟ انواع مترجمان را ذکر کنید.

4. مترجم چگونه کار می کند؟ مزایای آن چیست؟

5- مزیت کامپایلرها چیست؟

6. چه اجزایی در سیستم برنامه نویسی یکپارچه گنجانده شده است؟

7. منظور از ساختار داده چیست ، طبقه بندی ساختار داده چگونه است؟

8. منظور از آرایه های داده چیست و چه عملیاتی را می توان با آنها انجام داد؟

9. الگوریتم های مرتب سازی آرایه ها چیست؟

10. هدف از برنامه های فرعی چیست؟

11. یک کتابخانه روتین برای چیست؟

12. چه نوع برنامه نویسی وجود دارد؟

ادبیات

1. استاوروفسکی A.B. ، Karnaukh T.A. اولین مراحل برنامه نویسی کتاب خودآموزی. - م .: ویلیامز ، 2006.- 400 ص.

2. Okulov S. مبانی برنامه نویسی ناشر: Binom. آزمایشگاه دانش ، 2008 .-- 383 ص.

3. Kansedal S.A. مبانی الگوریتم سازی و برنامه نویسی. - م.: انجمن ، 2008 .-- 351 ص.

4.httn // www myfreesoft ru / default-windows-nroprams html-برنامه های استاندارد ویندوز

5.httn // khni -iin mink kharkiv edu / lihrary / datastr / hook / nrt01 html # lb11 - مدلها و ساختار داده

6.httn: //www.intuit.ru/denartment/se/nhmsu/11/3.html#sect5 - مدلها و ساختار داده

7.http: //inf.1sentemher.ru/2007/15/00.htm - دایره المعارف یک معلم علوم کامپیوتر

8.http: //www.delnhi.int.ru/articles/119/ - برنامه های فرعی.

9.httn // inroc ru / narallel-nroPramminP / lection-5 /-مرتب سازی پشته.

زبان برنامه نویسی- یک سیستم علامت رسمی که برای توصیف الگوریتم ها به شکلی مناسب برای مجری طراحی شده است (به عنوان مثال ، یک کامپیوتر). زبان برنامه نویسی مجموعه ای از قوانین واژگانی ، نحوی و معنایی است که در ساختن یک برنامه کامپیوتری استفاده می شود. این به برنامه نویس اجازه می دهد تا دقیقاً تعیین کند که رایانه به چه رویدادهایی واکنش نشان می دهد ، داده ها چگونه ذخیره و منتقل می شوند و همچنین در شرایط مختلف چه اقداماتی باید روی آنها انجام شود.

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

سازندگان زبان مفهوم را متفاوت تفسیر می کنند زبان برنامه نویسی... از جمله مکانهای متداول که توسط اکثر توسعه دهندگان شناخته شده است موارد زیر است:

· تابع:یک زبان برنامه نویسی برای نوشتن برنامه های رایانه ای در نظر گرفته شده است که برای انتقال دستورالعمل ها به رایانه برای انجام یک فرآیند محاسباتی خاص و سازماندهی کنترل دستگاه های جداگانه استفاده می شود.

· یک وظیفه:زبان برنامه نویسی با زبانهای طبیعی متفاوت است زیرا برای انتقال دستورات و داده ها از شخص به کامپیوتر طراحی شده است ، در حالی که زبانهای طبیعی فقط برای ارتباط افراد با یکدیگر استفاده می شود. در اصل ، می توان تعریف "زبان های برنامه نویسی" را تعمیم داد - این راهی برای انتقال دستورات ، دستورات ، راهنمایی روشن به عمل است. در حالی که زبان های انسانی نیز به تبادل اطلاعات کمک می کند.

· اعدام:یک زبان برنامه نویسی می تواند از ساختارهای خاصی برای تعریف و دستکاری ساختار داده ها و کنترل فرایند محاسبه استفاده کند.

3. مراحل حل مشکل در رایانه

م effectiveثرترین کاربرد VT در محاسبات پرمصرف در تحقیقات علمی و محاسبات مهندسی یافت شده است. هنگام حل مشکل در رایانه ، نقش اصلی هنوز به شخص تعلق دارد. دستگاه فقط وظایف خود را طبق برنامه توسعه یافته انجام می دهد. اگر فرایند حل یک مشکل به مراحل ذکر شده در زیر تقسیم شود ، نقش انسان و ماشین به راحتی قابل درک است.

فرمول بندی مسئله.این مرحله شامل تدوین اساسی (فیزیکی) مسئله و تعیین راه حل های نهایی است.

ساختن مدل ریاضیمدل باید قوانین اساسی فرایند فیزیکی را به درستی (به اندازه کافی) توصیف کند. ساخت یا انتخاب یک مدل ریاضی از مدلهای موجود مستلزم درک عمیق مسئله و دانش بخشهای مربوط به ریاضیات است.

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

توسعه الگوریتمفرایند حل مسئله (فرایند محاسباتی) در قالب دنباله ای از عملیات محاسباتی و منطقی ابتدایی که منجر به نتیجه نهایی می شود نوشته می شود و الگوریتم حل مسئله نامیده می شود.

برنامه نويسي.الگوریتم حل مسئله به زبانی قابل فهم برای ماشین در قالب یک دنباله دقیق از عملیات - یک برنامه نوشته شده است. این فرایند معمولاً با استفاده از برخی از زبان های متوسط ​​انجام می شود و ترجمه آن توسط خود دستگاه و سیستم آن انجام می شود.

اشکال زدایی برنامه.برنامه کامپایل شده شامل انواع خطاها ، نادرستی ها و چاپ های نادرست است. اشکال زدایی شامل کنترل برنامه ، تشخیص (جستجو و تعیین محتوا) خطاها و حذف آنها می باشد. این برنامه با حل مشکلات کنترل (آزمایش) برای اطمینان از قابلیت اطمینان نتایج آزمایش می شود.

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

تجزیه و تحلیل نتایج.نتایج محاسبه به طور کامل تجزیه و تحلیل می شود ، اسناد علمی و فنی تهیه می شود.

4. زبانهای برنامه نویسی برای چیست؟

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

زبانهای برنامه نویسی مختلفی وجود دارد. در واقع ، هر یک از آنها می تواند برای حل اکثر مشکلات استفاده شود. برنامه نویسان باتجربه می دانند برای حل هر مشکل خاص از کدام زبان استفاده می شود ، زیرا هر یک از این زبانها دارای قابلیت های خاص خود ، جهت گیری به انواع خاصی از مشکلات ، روش خاص خود برای توصیف مفاهیم و اشیاء مورد استفاده در حل مسائل است.

همه زبانهای برنامه نویسی را می توان به دو گروه تقسیم کرد: سطح زبانهای پایینو زبانهای سطح بالا

زبانهای سطح پایین شامل زبانهای اسمبلی (از انگلیسی toassemble - برای جمع آوری ، مونتاژ) است. زبان اسمبلی از نماد نمادین برای دستوراتی استفاده می کند که به راحتی قابل درک هستند و سریع به خاطر سپرده می شوند. به جای دنباله ای از کدهای باینری دستورات ، نامهای نمادین آنها نوشته می شود و به جای آدرس های دودویی داده ها که هنگام اجرای دستور استفاده می شود ، نامهای نمادین این داده ها توسط برنامه نویس انتخاب شده است. گاهی اوقات زبان اسمبلی mnemocode یا autocode نامیده می شود.

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

زبان سطح بالا نقش واسطه بین شخص و رایانه را ایفا می کند و به فرد این امکان را می دهد تا با رایانه به شیوه ای آشنا تر برای فرد ارتباط برقرار کند. اغلب این زبان به شما در انتخاب روش مناسب برای حل مشکل کمک می کند.

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

5. چه زبانهای برنامه نویسی وجود دارد

1.1 Fortran

زبانهای برنامه نویسی از اواسط دهه 50 ظاهر شدند. یکی از اولین زبانهای این نوع ، زبان FORTRAN (FORTRAN از FORMulaTRANslator - مترجم فرمولها) بود که در سال 1957 توسعه یافت. Fortran برای توصیف الگوریتم حل مشکلات علمی و فنی با استفاده از رایانه دیجیتال استفاده می شود. درست مانند اولین رایانه ها ، این زبان عمدتا برای انجام محاسبات طبیعی-علمی و ریاضی در نظر گرفته شده بود. این زبان به شکل بهبود یافته تا زمان ما باقی مانده است. در میان زبانهای سطح بالا مدرن ، یکی از بیشترین کاربردها در تحقیقات علمی است. رایج ترین انواع Fortran-II ، Fortran-IV ، EASICFortran و تعمیم آنها است.

1.2 ALGOL

پس از Fortran ، در 1958-1960 ، زبان Algol ظاهر شد (Algol-58 ، Algol-60) (انگلیسی ALGOL از ALGOrithmicLanguage-زبان الگوریتمی). Algol در 1964-1968 بهبود یافت-Algol-68. ALGOL توسط کمیته ای که شامل دانشمندان اروپایی و آمریکایی بود توسعه داده شد. متعلق به زبانهای سطح بالا است و به شما امکان می دهد فرمول های جبری را به راحتی به دستورات برنامه ترجمه کنید. Algol در اروپا ، از جمله اتحاد جماهیر شوروی محبوب بود ، در حالی که Fortran قابل مقایسه در ایالات متحده و کانادا رایج بود. Algol تأثیر قابل توجهی بر همه زبانهای برنامه نویسی توسعه یافته و به ویژه زبان پاسکال داشت. این زبان ، مانند Fortran ، برای حل مشکلات علمی و فنی در نظر گرفته شده بود. علاوه بر این ، این زبان به عنوان وسیله ای برای آموزش اصول برنامه نویسی - هنر برنامه نویسی - مورد استفاده قرار گرفت.

معمولاً مفهوم Algol به معنی زبان است ALGOL-60، در حالی که ALGOL-68به عنوان یک زبان مستقل در نظر گرفته می شود. حتی زمانی که استفاده از زبان Algol تقریباً برای برنامه نویسی متوقف شد ، همچنان زبان رسمی انتشار الگوریتم ها باقی ماند.

1.3 کوبول

در سالهای 1959 - 1960 ، زبان کوبول (COBOL از COMMOM Business Oriented Language) توسعه یافت. این زبان برنامه نویسی نسل سوم است که در درجه اول برای توسعه برنامه های تجاری طراحی شده است. همچنین ، کوبول برای حل مشکلات اقتصادی ، پردازش داده ها برای بانک ها ، شرکت های بیمه و سایر موسسات از این دست در نظر گرفته شده بود. گریس هاپر ( مادر بزرگ کوبولا).

کوبول معمولاً به دلیل پرحرفی و دست و پا گیر بودن مورد انتقاد قرار می گیرد ، زیرا یکی از اهداف سازندگان زبان این بود که سازه ها را تا حد ممکن به زبان انگلیسی نزدیک کند. (تا کنون ، Cobol به عنوان زبان برنامه نویسی در نظر گرفته می شود که بیشترین خط در آن نوشته شده است). در عین حال ، کوبول ابزارهای بسیار خوبی برای کار با ساختارها و پرونده های داده در زمان خود داشت ، که عمر طولانی را در برنامه های تجاری ، حداقل در ایالات متحده تضمین می کرد.

1.4 لیسپ

تقریباً همزمان با کوبول (1959 - 1960) ، زبان Lisp (LISP از LIStProcessing) در موسسه فناوری ماساچوست ایجاد شد. Lisp بر اساس نمایش یک برنامه توسط یک سیستم از لیست های خطی از کاراکترها ، که علاوه بر این ، ساختار اصلی داده زبان است ، ایجاد می شود. Lisp بعد از Fortran دومین قدیمی ترین زبان برنامه نویسی سطح بالا محسوب می شود. این زبان به طور گسترده ای برای پردازش اطلاعات نمادین استفاده می شود و برای ایجاد نرم افزاری که از فعالیت مغز انسان تقلید می کند ، استفاده می شود.

هر برنامه Lisp شامل دنباله ای است اصطلاحات(تشکیل می دهد). نتیجه برنامه ارزیابی این عبارات است. همه عبارات به صورت نوشته شده است لیست ها- یکی از ساختارهای اساسی Lisp ، بنابراین می توان آنها را به راحتی با استفاده از خود زبان ایجاد کرد. این به شما امکان می دهد برنامه هایی ایجاد کنید که سایر برنامه ها یا ماکروها را تغییر دهند و به شما امکان می دهد قابلیت های زبان را به میزان قابل توجهی گسترش دهید.

معنای اصلی برنامه Lisp "زندگی" در فضای نمادین: حرکت ، خلاقیت ، حفظ ، ایجاد دنیاهای جدید و غیره. Lisp به عنوان استعاره مغز ، نماد ، استعاره سیگنال: "چگونه تجزیه و تحلیل بیولوژیکی سیگنالها توسط مغز ، به عنوان یک عامل خارجی - تأثیر فیزیکی و شیمیایی ، که برای بدن تحریک کننده است ، به یک سیگنال بیولوژیکی قابل توجه تبدیل می شود ، غالباً حیاتی است و تمام رفتارهای یک شخص یا حیوان را تعیین می کند ؛ و نحوه تقسیم سیگنال های مختلف به مثبت ، منفی و بی تفاوت ، بی تفاوت. سیگنال در حال حاضر یک مفهوم یکپارچه است. این نشانه شناسایی یک گروه ، محرک های پیچیده است در این مجموعه ، سیستم محرکها ، محرک سیگنال به خودی خود نیز یک عنصر تشکیل دهنده است و در شرایط دیگر نقش آن ممکن است به محرک دیگری از مجموعه تعلق داشته باشد. سیگنال همه را متمرکز می کند تجربه گذشته یک حیوان یا یک شخص.

1.5 پایه ای

در اواسط دهه 60 (1963) ، زبان BASIC (BASIC از Beginner's Allpurpose Instruction Code) در کالج دارتموث (ایالات متحده) ایجاد شد. با گذشت زمان ، با شروع ظاهر شدن گویش های دیگر ، این گویش "اصلی" به عنوان Dartmouth BASIC معروف شد. این زبان تا حدی بر اساس Fortran II و تا حدی بر اساس Algol-60 بوده است ، با افزودن موارد اضافی ، آن را برای به اشتراک گذاری زمان و بعداً پردازش متن و حساب ماتریسی مناسب می کند. BASIC در ابتدا روی پردازنده اصلی GE-265 با پشتیبانی از چندین پایانه اجرا شد. برخلاف تصور عموم ، در زمان شروع به کار ، این زبان کامپایل شده بود.

BASIC به گونه ای طراحی شده است که دانش آموزان بتوانند با استفاده از پایانه های به اشتراک گذاری زمان برنامه بنویسند. این به عنوان راه حلی برای پیچیدگی زبانهای قدیمی ایجاد شده است. این برنامه برای کاربران "ساده" تر طراحی شده بود ، نه چندان علاقه مند به سرعت برنامه ها ، بلکه فقط توانایی استفاده از رایانه برای حل مشکلات خود. به دلیل سادگی زبان BASIC ، بسیاری از برنامه نویسان مبتدی راه خود را در برنامه نویسی با آن آغاز می کنند.

1.6 دژ

در اواخر دهه 60 - اوایل دهه 70 ، زبان Fort (انگلیسی FOURTH - چهارم) ظاهر شد. این زبان پس از آنکه نویسنده آن چارلز مور برنامه ای را برای کنترل تلسکوپ رادیویی رصدخانه آریزونا طراحی کرد ، در مشکلات کنترل سیستم های مختلف مورد استفاده قرار گرفت.

تعدادی از ویژگیها ، یعنی تعامل ، انعطاف پذیری و سهولت توسعه ، باعث می شود که فورث به عنوان زبانی بسیار جذاب و م effectiveثر در تحقیقات کاربردی و توسعه ابزارها شناخته شود. حوزه های بارز استفاده از این زبان ، سیستم های کنترل تعبیه شده است. همچنین در برنامه نویسی کامپیوترهایی که سیستم عامل های مختلف را اجرا می کنند کاربردی پیدا می کند.

1.7 پاسکال

زبان پاسکال که در سال 1972 ظاهر شد ، به نام ریاضیدان بزرگ فرانسوی قرن 17 ، مخترع اولین ماشین حساب جهان ، بلز پاسکال ، نامگذاری شد. این زبان توسط دانشمند سوئیسی Niklaus Wirth به عنوان زبانی برای آموزش روش های برنامه نویسی ایجاد شده است. پاسکال یک زبان برنامه نویسی عمومی است.

ویژگیهای زبان عبارتند از تایپ دقیق و در دسترس بودن ابزارهای برنامه نویسی ساختاری (رویه ای). پاسکال یکی از اولین چنین زبانهایی بود. به گفته N. Wirth ، زبان باید به نظم برنامه نویسی کمک کند ، بنابراین ، همراه با تایپ قوی ، در پاسکال ابهامات نحوی احتمالی به حداقل می رسد و خود نحو حتی در اولین آشنایی با زبان به طور شهودی روشن است.

زبان پاسکال نه تنها نحوه نوشتن صحیح یک برنامه را آموزش می دهد ، بلکه نحوه صحیح تدوین روشی برای حل مشکل ، انتخاب روشهای ارائه و سازماندهی داده های مورد استفاده در یک مشکل را نیز آموزش می دهد. از سال 1983 ، زبان پاسکال به برنامه درسی علوم رایانه مدارس متوسطه ایالات متحده وارد شد.

1.8 جهنم

در سال 1983 ، زبان آدا تحت حمایت وزارت دفاع ایالات متحده ایجاد شد. این زبان از این نظر قابل توجه است که بسیاری از خطاها را می توان در مرحله تدوین تشخیص داد. علاوه بر این ، بسیاری از جنبه های برنامه نویسی پشتیبانی می شوند که اغلب به رحمت سیستم عامل سپرده می شوند (همزمان ، مدیریت استثنا). در سال 1995 ، استاندارد زبان Ada 95 به تصویب رسید که بر اساس نسخه قبلی ، شی گرایی را اضافه کرده و برخی از نادرستی ها را اصلاح می کند. هر دوی این زبانها در خارج از پروژه های نظامی و دیگر پروژه های بزرگ (هوانوردی ، حمل و نقل ریلی) به طور گسترده استفاده نمی شوند. دلیل اصلی آن دشواری یادگیری زبان و نحو دشوار است.

پیشینیان فوری آدا پاسکال و مشتقات آن شامل اقلیدس ، لیس ، مسا ، مدولا و سو هستند. چندین مفهوم از ALGOL-68 ، Simula ، CLU و Alphard استفاده شد.

نگرانی اصلی توسعه دهندگان Ada این بود:

· قابلیت اطمینان و عملکرد برنامه ها.

· برنامه نویسی به عنوان نوعی فعالیت انسانی ؛

· بهره وری.

جدول 1 ویژگی های اصلی زبان آدا را از نظر رویکرد شی نشان می دهد.

جدول 1. آدا.

1.9 سی

در حال حاضر ، C یک زبان رایج در بین برنامه نویسان است (C یک حرف از الفبای انگلیسی است). زبان C از دو زبان- BCPL و B. سرچشمه می گیرد. در سال 1967 ، مارتین ریچاردز BCPL را به عنوان زبانی برای نوشتن نرم افزارهای سیستم و کامپایلرها توسعه داد. در سال 1970 ، کن تامپسون از B برای ساخت نسخه های اولیه سیستم عامل UNIX بر روی یک کامپیوتر DEC PDP-7 استفاده کرد. در BCPL و B ، متغیرها به انواع تفکیک نمی شوند - هر مقدار داده یک کلمه در حافظه اشغال می کند و مسئولیت تشخیص ، به عنوان مثال ، اعداد صحیح و اعداد واقعی به طور کامل بر دوش برنامه نویس است. زبان C توسعه داده شد ( بر اساس B) توسط دنیس ریچی از آزمایشگاه های Bell و اولین بار در سال 1972 بر روی یک کامپیوتر DEC PDP-11 پیاده سازی شد. C به عنوان زبان سیستم عامل UNIX شهرت یافت. تقریباً همه سیستم عامل های اصلی امروزه به زبان C یا C ++ نوشته شده اند. پس از دو دهه ، C در اکثر رایانه ها موجود است. این دستگاه مستقل از سخت افزار است. در اواخر دهه 70 ، C به چیزی تبدیل شد که ما آن را "C سنتی" می نامیم. در سال 1983 ، یک استاندارد واحد برای این زبان توسط کمیته آمریکایی استاندارد ملی رایانه و پردازش اطلاعات ایجاد شد. این زبان دارای ابزارهای غنی است ، به شما امکان می دهد برنامه های انعطاف پذیر بنویسید که از تمام قابلیت های رایانه های شخصی مدرن استفاده می کند.

1.10 مقدمه

زبان دیگری که زبان آینده محسوب می شود در اوایل دهه 70 توسط گروهی از متخصصان دانشگاه مارسی ایجاد شد. این زبان Prolog است. نام خود را از کلمات "برنامه نویسی در زبان منطق" گرفته است. این زبان بر اساس قوانین منطق ریاضی است. مانند زبان Lisp ، Prolog عمدتا در تحقیقات در زمینه شبیه سازی نرم افزاری فعالیت مغز انسان استفاده می شود. برخلاف زبانهای توضیح داده شده در بالا ، این زبان الگوریتمی نیست. متعلق به اصطلاح است توصیفی(از انگلیسی توصیفی - توصیفی) - زبانهای توصیفی. یک زبان توصیفی نیازی به برنامه نویس برای توسعه تمام مراحل کار ندارد. در عوض ، مطابق با قوانین چنین زبانی ، برنامه نویس باید پایگاه داده مربوط به مشکل حل شده را توصیف کند و مجموعه سوالات را با استفاده از داده های این پایگاه داده پاسخ دهد.

در دهه های اخیر برنامه نویسی بوجود آمده و پیشرفت قابل توجهی داشته است شی گرایک رویکرد. این یک روش برنامه نویسی است که تصویر دنیای واقعی را تقلید می کند: اطلاعات مورد استفاده برای حل یک مشکل به عنوان مجموعه ای از اشیاء متقابل نمایش داده می شود. هر یک از اجسام ویژگی ها و رفتار خاص خود را دارند. تعامل اشیاء با استفاده از انتقال پیام انجام می شود: هر جسم می تواند پیامها را از اشیاء دیگر دریافت کند ، اطلاعات را به خاطر بسپارد و آنها را به روشی خاص پردازش کند و به نوبه خود پیام ارسال کند. درست مانند دنیای واقعی ، اشیاء خواص و رفتار خود را در کنار هم ذخیره می کنند و برخی از آنها را از اشیاء والدین خود به ارث می برند.

ایدئولوژی شی گرا در همه محصولات نرم افزاری مدرن از جمله سیستم عامل ها استفاده می شود.

اولین زبان شی گرا سیمولا -67 به عنوان ابزاری برای شبیه سازی عملکرد دستگاه ها و مکانیزم های مختلف ایجاد شد. اکثر زبانهای برنامه نویسی مدرن شی گرا هستند. در میان آنها آخرین نسخه های زبان وجود دارد توربو - پاسکال , ج ++ ، آداو دیگران.

سیستم ها در حال حاضر به طور گسترده ای مورد استفاده قرار می گیرند برنامه نویسی بصری دیداری پایه ای , دیداری ج ++, دلفیو دیگران. آنها به شما امکان می دهند بسته های کاربردی پیچیده ای با رابط کاربری ساده و راحت ایجاد کنید.

1.11 جاوا

از سال 1995 ، یک زبان برنامه نویسی شی گرا جدید ، جاوا ، گسترده شده است و شبکه های رایانه و بیش از همه اینترنت را هدف قرار می دهد. نحو این زبان شبیه نحو زبان C ++ است ، اما این زبانها اشتراکات کمی دارند. جاوا یک زبان تفسیر شده است: یک نمای داخلی (کد بایت) و یک مترجم برای این نمایش برای آن تعریف شده است ، که قبلاً در اکثر سیستم عامل ها اجرا شده است. مترجم اشکال زدایی برنامه های نوشته شده به زبان جاوا را ساده می کند ، قابلیت حمل آنها را برای سیستم عامل های جدید و سازگاری با محیط های جدید تضمین می کند. این به شما امکان می دهد تأثیر برنامه های نوشته شده به زبان جاوا را بر سایر برنامه ها و فایل های موجود در پلتفرم جدید حذف کرده و در نتیجه از ایمنی هنگام اجرای این برنامه ها اطمینان حاصل کنید. این ویژگی های زبان جاوا اجازه می دهد تا از آن به عنوان زبان اصلی برنامه نویسی برای برنامه های توزیع شده در شبکه (به ویژه در اینترنت) استفاده شود.

1.12 شی پاسکال

Object Pascal توسط کارکنان کامپیوتر Apple (که برخی از آنها مشارکت کنندگان Smalltalk بودند) با نیکلاوس ویرث ، خالق زبان پاسکال ایجاد شد. Object Pascal از سال 1986 وجود دارد و اولین زبان برنامه نویسی شی گرا است که در کارگاه برنامه نویس Macintosh (MPW) ، محیط توسعه رایانه های Macintosh اپل ، گنجانده شده است.

هیچ روش کلاس ، متغیرهای کلاس ، وراثت چندگانه و فرا کلاس در این زبان وجود ندارد. این مکانیسم ها عمداً حذف می شوند تا یادگیری زبان برای برنامه نویسان مبتدی "شیء" آسان شود.

جدول 2 مشخصات کلی Object Pascal را نشان می دهد.

جدول 2. شی پاسکال.

در سال های اخیر ، این زبان به لطف سیستم دلفی بورلند بسیار محبوب شده است.

1.13 سیستم طراحی شی گرا بصری دلفی.

ظهور دلفی در بین بسیاری از کاربران کامپیوتر نمی تواند بی توجه باشد. ارزیابی کارشناسان در مورد بررسی امکانات این محصول جدید بورلند معمولاً با تن های مشتاق همراه است. مزیت اصلی دلفی این است که ایده های برنامه نویسی بصری در اینجا اجرا می شود. محیط برنامه نویسی بصری فرایند ایجاد یک برنامه را به مجموعه ای دلپذیر و آسان برای درک یک برنامه از مجموعه بزرگی از بدوی اولیه گرافیکی و ساختاری تبدیل می کند.

سیستم دلفی به شما امکان می دهد بسیاری از مشکلات را حل کنید ، به ویژه:

· ایجاد برنامه های کاربردی کامل برای ویندوز با اهداف مختلف: از محاسباتی کاملاً منطقی ، گرفته تا گرافیک و چند رسانه ای.

· به سرعت (حتی برای برنامه نویسان مبتدی) یک رابط پنجره حرفه ای برای هر برنامه ایجاد کنید.

· ایجاد سیستم های قدرتمند برای کار با پایگاه های داده محلی و از راه دور

· ایجاد سیستم های کمک (فایل های .hlp) برای برنامه های کاربردی خود و موارد دیگر. دکتر.

دلفی یک سیستم بسیار سریع در حال رشد است. اولین نسخه ، دلفی 1.0 ، در فوریه 1995 منتشر شد و سپس نسخه های جدید سالانه منتشر شد.

هر نسخه بعدی دلفی نسخه قبلی را تکمیل می کند.بیشتر نسخه های دلفی در چندین نسخه موجود است: استاندارد - استاندارد ، حرفه ای - حرفه ای ، مشتری / سرور - مشتری / سرور ، سازمان - توسعه پایگاه های داده مناطق موضوعی. انواع مختلف عمدتا در سطوح مختلف دسترسی به سیستم های مدیریت پایگاه داده متفاوت است. گزینه های اخیر Client / Server و Enterprise هستند که از این نظر قوی ترین هستند.

دلفی ترکیبی از چندین فناوری مهم است:

کامپایلر با کارایی بالا برای کد دستگاه

مدل اجزای شی گرا

ساخت بصری (و در نتیجه سرعت بالا) برنامه های کاربردی از نمونه های اولیه نرم افزار

ابزارهای مقیاس پذیر برای ایجاد پایگاه های داده

ساختار صفحه در محیط دلفی

پس از تماس با دلفی ، پنجره های متعددی در ویندوز ظاهر می شود (شکل 1):

پنجره اصلی،

پنجره فرم ،

پنجره بازرس شی ،

پنجره درخت شیء ،

پنجره کد برنامه


عکس. 1. ساختار صفحه در محیط دلفی

منوی گرافیکی سیستم دلفی واقع در بالای صفحه را در نظر بگیرید که از نمادها تشکیل شده است. در سمت چپ منوی گرافیکی یک نوار ابزار وجود دارد. ابزارها برخی از دستورات منوی اصلی را اجرا می کنند - چنین تکراری اغلب در محیط ابزار انجام می شود. این پنل به ویژه دارای یک دکمه برای ذخیره یک پروژه روی دیسک ، یک دکمه برای باز کردن یک پروژه ، یک دکمه برای شروع برنامه برای اجرا است.

قسمت بعدی منوی گرافیکی یک پالت از اجزاء است که به شکل مجموعه ای از آیکون ها مرتب شده اند. مجموعه کیت ها کتابخانه اجزای بصری (VCL) را تشکیل می دهند. چندین دسته از اجزا وجود دارد که هر کدام با زبانه متفاوتی مرتبط هستند. با استفاده از پالت کامپوننت ، اجزا (یا اشیاء) را روی فرم قرار می دهیم.

برای قرار دادن یک شیء در فرم ، باید روی دکمه مربوطه در پالت "کلیک" کنید و سپس داخل پنجره فرم کلیک کنید: یک شیء در محل مشخص شده فرم وارد می شود - نمونه ای از یک جزء از نوع انتخاب شده

پنجره Object Inspector پنجره ای است که ویژگی های یک فرم یا شیء قرار داده شده روی فرم را نمایش می دهد. در مورد ما ، جزء فعلی فرم است ، بنابراین پنجره خواص در شکل ویژگی های فرم را نشان می دهد.

پنجره Properties دارای دو زبانه است - Properties و Events ، که به کمک آنها می توانید خطوط (فیلدها) را در پنجره به ترتیب برای تنظیم خواص یک جزء (یعنی یک شیء یا یک فرم) و پاسخ آن به موارد مختلف دریافت کنید. مناسبت ها. ویژگی مشخصه ای از جزء ، مانند اندازه یک دکمه یا فونت برچسب را تعریف می کند. منظور از یک رویداد ، برای مثال ، اقداماتی مانند کلیک روی دکمه یا بستن پنجره است.

پنجره درخت شیء در نسخه 6 ظاهر شد و برای نمایش بصری پیوندهای بین اجسام جداگانه قرار داده شده در فرم فعال یا در ماژول داده فعال در نظر گرفته شده است.

پنجره کد برنامه برای ایجاد و ویرایش متن برنامه در نظر گرفته شده است. در ابتدا ، شامل حداقل کد منبع است.

پروژه های دلفییک پروژه دلفی شامل فرم ها ، ماژول ها ، تنظیمات پارامترهای پروژه ، منابع و غیره است. همه این اطلاعات در فایل ها قرار دارد. بسیاری از این فایلها به طور خودکار توسط دلفی هنگام ساخت برنامه ایجاد می شوند. منابعی مانند نقشه های بیتی ، نمادها و غیره در فایل هایی یافت می شوند که از منابع دیگر تهیه می کنید یا با ابزارها و ویرایشگران منابع زیادی که در اختیار دارید ایجاد می کنید. علاوه بر این ، کامپایلر فایلها را نیز تولید می کند.

فایلهای ایجاد شده در طول مراحل طراحی در جدول نشان داده شده است. 3

بخش اصلی برنامه فایل پروژه (.dpr) است که شامل کد Object Pascal است که برنامه را راه اندازی می کند و سایر ماژول ها را راه اندازی می کند. این توسط دلفی به طور خودکار در حین توسعه برنامه ایجاد و اصلاح می شود. نامی که در طول فرایند ذخیره به پرونده پروژه داده می شود ، نام فایل اجرایی می شود.

فایل پروژه (.dpr) این فایل متنی برای ذخیره اطلاعات مربوط به فرم ها و ماژول ها استفاده می شود. این عبارت شامل دستورات اولیه و شروع برنامه ها برای اجرا است
فایل ماژول (.pas) هر فرم ایجاد شده دارای یک فایل متنی مربوطه است که برای ذخیره کد استفاده می شود. می توانید ماژول هایی ایجاد کنید که به فرم ها مربوط نمی شوند. بسیاری از توابع و رویه های دلفی در ماژول ها ذخیره می شوند.
فایل فرم (.dfm) این یک فایل باینری یا متنی است که دلفی برای ذخیره اطلاعات در مورد فرم ها ایجاد می کند. هر فایل فرم دارای یک فایل ماژول مربوطه (.pas) است
فایل گزینه های پروژه (.dfo) این فایل تنظیمات پارامترهای پروژه را ذخیره می کند
فایل منبع (.res) این فایل باینری شامل نماد مورد استفاده پروژه و منابع دیگر است.
فایل های پشتیبان (. ~ Dpr ، Dfm ، ~ Pas) اینها به ترتیب فایل های پشتیبان پروژه ، فرم و فایل های ماژول هستند. اگر چیزی در پروژه خراب شده است ، می توانید پسوندهای این پرونده ها را متناسب با آن تغییر دهید و بنابراین به نسخه قبلی خراب بازگردید.
فایل پیکربندی پنجره (.dsk) فایل پیکربندی همه پنجره های محیط توسعه را ذخیره می کند
فایل اجرایی (.exe) این فایل اجرایی برنامه است. این یک فایل اجرایی مستقل است که به هیچ چیز دیگری نیاز ندارد ، مگر اینکه از کتابخانه های موجود در DLL ها ، OCX ها و غیره استفاده کند.
فایل شیء ماژول (.dcu) این یک فایل ماژول کامپایل شده (.pas) است که به فایل اجرایی نهایی متصل شده است.

جدول 3. فایلهای ایجاد شده در طول مراحل طراحی.


در حال حاضر ، نسخه 7 سیستم دلفی منتشر شده است. در مدت زمان بی سابقه ، به یکی از محبوب ترین سیستم های برنامه نویسی در جهان تبدیل شده است. بسیاری از توسعه دهندگان در سراسر جهان متعهد به استفاده از دلفی به عنوان ابزاری برای ایجاد برنامه های بسیار کارآمد مشتری / سرور هستند.

برنامه نویسی درخت تکامل

شکل 1 برنامه نویسی درخت تکامل

6. کتابشناسی - فهرست کتب:

1. I.T. زارتسکایا ، B.G. کلودیاژنی ، A.N. گورجی ، A.Yu. سوکولوف. انفورماتیک پایه 10-11. - ک.: "انجمن" ، 2001

1. ساختار صفحه در محیط دلفی (http://textbook.keldysh.ru/distant/delphi/del_2.htm)

2. Patrikeev Yu. N. "طراحی شی گرا" (http://www.object.newmail.ru/oop1.html)

3. S. Nemnyugin ، L. Perkolab "Studying TurboPascal" - SPb.: پیتر ، 2002.

2. ح.م. دایتل. نحوه برنامه ریزی در S. - M: "Binom" ، 2000

3. صفحه اینترنتی: http://ru.wikipedia.org/wiki/LISP

این کتاب شامل دو بخش نظری و عملی است. بخش نظری کتاب درسی مبانی انفورماتیک مدرن را به عنوان یک رشته پیچیده علمی و فنی ، شامل مطالعه ساختار و خصوصیات کلی اطلاعات و فرایندهای اطلاعات ، اصول کلی ساخت دستگاه های محاسباتی ، سازماندهی و عملکرد اطلاعات را در نظر می گیرد. و شبکه های کامپیوتری ، امنیت کامپیوتر ، مفاهیم کلیدی الگوریتم ها و برنامه نویسی ، پایگاه های داده و DBMS را ارائه می دهد. برای کنترل دانش نظری به دست آمده ، س questionsالاتی برای خودآزمایی و آزمون ارائه می شود. بخش عملی الگوریتم های اقدامات اساسی هنگام کار با پردازشگر کلمه Microsoft Word ، ویرایشگر صفحه گسترده Microsoft Excel ، برنامه ای برای ایجاد ارائه های Microsoft Power Point ، بایگانی برنامه ها و برنامه های آنتی ویروس را پوشش می دهد. به عنوان تجمیع دوره عملی گذرانده شده در پایان هر بخش ، انجام کارهای مستقل پیشنهاد می شود.

کتاب:

بخش های موجود در این صفحه:

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

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

پیشرفت فناوری رایانه ، فرایند ظهور انواع سیستم های نشانه ای جدید برای نوشتن الگوریتم ها - زبان های برنامه نویسی را تعیین کرده است. معنی ظاهر چنین زبانی مجموعه ای مجهز از فرمول های محاسباتی برای اطلاعات بیشتر است که این مجموعه را به یک الگوریتم تبدیل می کند.

زبانهای برنامه نویسی زبانهایی هستند که به طور مصنوعی ایجاد شده اند. آنها با تعداد محدودی از "کلمات" و قوانین بسیار سخت برای نوشتن دستورات (عملگرها) از موارد طبیعی متفاوت هستند. مجموع چنین الزاماتی نحو زبان برنامه نویسی را تشکیل می دهد و معنای هر دستور و ساختارهای زبانی دیگر معناشناسی آن است.

زبانهای برنامه نویسی زبانهای رسمی ارتباط بین شخص و رایانه هستند که برای توصیف مجموعه ای از دستورالعمل ها طراحی شده اند که اجرای آنها راه حل صحیح مشکل مورد نیاز را ارائه می دهد. نقش اصلی آنها برنامه ریزی فعالیتهای پردازش اطلاعات است. هر زبان برنامه نویسی مبتنی بر یک سیستم مفاهیم است و با کمک آن فرد می تواند افکار خود را بیان کند.

ارتباط بین زبانی که در آن فکر می کنیم / برنامه ریزی می کنیم و مشکلات و راه حل هایی که می توانیم در تخیل خود تصور کنیم بسیار نزدیک است. به همین دلیل ، محدود کردن خواص یک زبان فقط به منظور حذف خطاهای برنامه نویس در بهترین حالت خطرناک است. مانند زبانهای طبیعی ، حداقل دو زبانه بودن مزیت فوق العاده ای دارد. این زبان مجموعه ای از ابزارهای مفهومی را در اختیار برنامه نویس می گذارد ، اگر آنها وظیفه خود را برآورده نکنند ، به سادگی نادیده گرفته می شوند. به عنوان مثال ، محدودیت های شدید مفهوم اشاره گر برنامه نویس را مجبور می کند از بردارها و کل حساب برای پیاده سازی ساختارها ، اشاره گرها و موارد مشابه استفاده کند. طراحی خوب و طراحی بدون خطا را نمی توان صرفاً از طریق زبان تضمین کرد.

ممکن است شگفت آور به نظر برسد ، اما یک رایانه خاص قادر به اجرای برنامه هایی است که به زبان ماشین خود نوشته شده است. تقریباً به اندازه رایانه ها زبان های مختلف ماشین وجود دارد ، اما همه آنها انواع مختلفی از یک ایده را دارند - عملیات ساده با سرعت رعد و برق روی اعداد باینری انجام می شود.

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

زبانهای وابسته به ماشین زبانهایی هستند که مجموعه عملگرها و ابزارهای گرافیکی آنها اساساً به ویژگی های رایانه (زبان داخلی ، ساختار حافظه و غیره) بستگی دارد. به این زبانها زبان برنامه نویسی سطح پایین گفته می شود. آنها بر روی نوع خاصی از پردازنده متمرکز شده اند و ویژگی های آن را در نظر می گیرند. عملگرهای چنین زبانی نزدیک به کد ماشین هستند و بر دستورالعمل های پردازنده خاص متمرکز هستند ، یعنی این زبان به ماشین وابسته است. زبان سطح پایین اسمبلی است. با کمک آن ، برنامه های بسیار م andثر و جمع و جور ایجاد می شود ، زیرا توسعه دهنده به تمام قابلیت های پردازنده دسترسی پیدا می کند. چنین زبانهایی برای نوشتن برنامه های کوچک سیستم ، درایورهای دستگاه ، کتابخانه ها استفاده می شود. در مواردی که میزان RAM و ROM کم است (در منطقه چند کیلوبایت) ، هیچ جایگزینی برای مونتاژ کننده وجود ندارد. این زبانهای برنامه نویسی هستند که به شما امکان می دهند کوتاهترین و سریعترین کد برنامه را دریافت کنید.

زبانهای برنامه نویسی مستقل از ماشین

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

به چنین زبانهایی زبان برنامه نویسی سطح بالا می گویند. برنامه هایی که به این زبان ها نوشته می شوند ، دنباله ای از بیانیه ها هستند که طبق قوانین زبان (وظایف ، بخش ها ، بلوک ها و غیره) ساختار یافته اند. عملگرهای زبان اقداماتی را که سیستم باید پس از ترجمه برنامه به زبان ماشین انجام دهد ، توصیف می کنند.

توالی فرمان (رویه ها ، زیر روال ها) ، که اغلب در برنامه های ماشین استفاده می شود ، در زبان های سطح بالا با دستورات جداگانه نشان داده می شود. برنامه نویس این فرصت را به دست آورد که فرایند محاسبات را در سطح دستورالعمل های ماشین شرح ندهد ، بلکه بر ویژگی های اصلی الگوریتم تمرکز کند.

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

می توان برنامه ها را مستقیماً به زبان ماشین نوشت ، اگرچه این کار دشوار است. در آغاز رایانه (در اوایل دهه 1950) ، زبان ماشین تنها زبان بود ، آن زمان افراد بزرگتری اختراع نکرده بودند. برای نجات برنامه نویسان از زبان برنامه نویسی سخت ماشین ، زبانهای سطح بالا (یعنی زبانهای غیر ماشینی) ایجاد شدند که به نوعی پل ارتباطی بین انسان و زبان ماشین رایانه تبدیل شد. زبانهای سطح بالا از طریق برنامه های ترجمه ای عمل می کنند که "کد منبع" (ترکیبی از کلمات انگلیسی و عبارات ریاضی را که دستگاه می خواند) تزریق می کند و در نهایت کامپیوتر را مجبور می کند دستورالعمل های مناسب را که به زبان ماشین داده می شود ، اجرا کند.

زبانهای برنامه نویسی سطح بالا شامل موارد زیر است: Fortran، Cobol، Algol، Pascal، Basic، C، C ++، Java، HTML، Perl و دیگران.

با کمک یک زبان برنامه نویسی ، یک برنامه آماده ایجاد نمی شود ، بلکه فقط متن آن الگوریتم توسعه یافته قبلی را توصیف می کند. برای دریافت یک برنامه کاری ، یا باید این متن را به صورت خودکار به کد ماشین ترجمه کنید و سپس از آن جدا از متن منبع استفاده کنید ، یا فوراً دستورات زبان مشخص شده در متن برنامه را اجرا کنید. برای این منظور از برنامه های مترجم استفاده می شود.

دو نوع اصلی از مترجمان وجود دارد (شکل 8.4): مترجمان ، که کد منبع را در یک مرحله اسکن و اعتبار می دهند ، و کامپایلرها ، که کد منبع را برای تولید متن یک برنامه زبان ماشین اسکن می کنند ، که سپس جداگانه اجرا می شود.


شکل 8.4. انواع مترجمان

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

یکی از مزایای استفاده از مفسر مترجم این است که امکان "حالت مستقیم" را فراهم می کند. حالت فوری به شما امکان می دهد از رایانه مشکلی بخواهید و به محض فشار دادن کلید ENTER پاسخ را به شما باز می گرداند. علاوه بر این ، مترجمان دارای ویژگی های خاصی هستند که اشکال زدایی را آسان تر می کند. برای مثال ، می توانید پردازش یک برنامه مترجم را قطع کنید ، محتویات برخی از متغیرها را نمایش دهید ، برنامه را حذف کرده و سپس اجرا را ادامه دهید. با این حال ، زبانهای تفسیر شده دارای اشکالاتی هستند. به عنوان مثال ، لازم است که همیشه یک نسخه از مترجم در حافظه باشد ، در حالی که بسیاری از قابلیت های مترجم و از این رو قابلیت های آن ممکن است برای اجرای یک برنامه خاص ضروری نباشد. هنگام اجرای دستورات برنامه ، مترجم ابتدا باید هر عبارت را اسکن کند تا محتویات آن را بخواند (این شخص از من چه می خواهد؟) و سپس عملیات درخواستی را انجام دهد. عملگرهای حلقه بیش از حد اسکن می شوند.

کامپایلر یک مترجم زبان ماشین است که متن منبع را می خواند. آن را با توجه به ساختار نحوی زبان ارزیابی می کند و آن را به زبان ماشین ترجمه می کند. به عبارت دیگر ، کامپایلر برنامه ها را اجرا نمی کند ، آنها را می سازد. مترجمان را نمی توان از برنامه هایی که اجرا می کنند جدا کرد ؛ کامپایلرها کار خود را انجام می دهند و صحنه را ترک می کنند. هنگام کار با یک زبان کامپایلر مانند Turbo BASIC ، باید به برنامه های خود از نظر دو مرحله اصلی زندگی آنها فکر کنید: دوره گردآوری و دوره اجرا. اکثر برنامه ها چهار تا ده برابر سریعتر از معادل مترجم خود اجرا می شوند. اگر برای بهبود آن تلاش کنید ، می توانید به 100 برابر بهبود عملکرد دست پیدا کنید. روی دیگر سکه این است که برنامه هایی که بیشتر وقت خود را صرف خرابکاری با فایل های روی دیسک می کنند یا منتظر ورودی هستند ، نمی توانند هیچگونه افزایش چشمگیر سرعت را نشان دهند.

فرآیند ایجاد یک برنامه را برنامه نویسی می نامند.

انواع مختلفی از برنامه نویسی وجود دارد.

الگوریتمی یا مدولار

ایده اصلی برنامه نویسی الگوریتمی این است که یک برنامه را به دنباله ای از ماژول ها تقسیم کند که هر کدام یک یا چند عمل را انجام می دهند. تنها شرط ماژول این است که اجرای آن همیشه با اولین فرمان شروع می شود و همیشه با جدیدترین آن خاتمه می یابد (یعنی دسترسی به دستورات ماژول از خارج و انتقال کنترل از ماژول به دستورات دیگر غیرممکن است ، دور زدن آخرین مورد).

الگوریتم در زبان برنامه نویسی انتخاب شده با استفاده از دستوراتی برای توصیف داده ها ، محاسبه مقادیر و کنترل توالی اجرای برنامه نوشته می شود.

متن برنامه یک دنباله خطی از تخصیص ، حلقه و دستورات شرطی است. به این ترتیب ، می توانید مشکلات نه چندان پیچیده را حل کرده و برنامه هایی حاوی چند صد خط کد بنویسید. پس از آن ، به دلیل این واقعیت که ساختار کلی الگوریتم در پشت عملگرهای زبان خاصی که اقدامات بسیار جزئی و اولیه را انجام می دهند ، از بین می رود ، قابلیت درک متن منبع به شدت کاهش می یابد. بیانیه های شرطی و حلقه ای متعدد ظاهر می شوند ، منطق کاملاً گیج کننده می شود ، هنگام تلاش برای تصحیح یک عبارت اشتباه ، چندین خطای جدید ، مربوط به ویژگی های عملکرد این بیانیه ، معرفی می شود که نتایج آنها اغلب در موارد مختلف مورد توجه قرار می گیرد. مکان های موجود در برنامه

برنامه نویسی ساختار یافته

هنگام ایجاد برنامه های متوسط ​​(چندین هزار خط کد منبع) ، از برنامه نویسی ساختار یافته استفاده می شود ، ایده آن این است که ساختار برنامه باید ساختار مشکل در حال حل را نشان دهد تا الگوریتم راه حل به وضوح قابل مشاهده باشد از متن منبع برای انجام این کار ، شما باید وسایلی برای ایجاد یک برنامه نه تنها با کمک سه اپراتور ساده ، بلکه با کمک ابزارهایی که ساختار خاص الگوریتم را دقیق تر نشان می دهد ، داشته باشید. بدین منظور ، مفهوم یک روال فرعی در برنامه نویسی وارد شده است - مجموعه ای از عملگرها که عمل مورد نظر را انجام می دهند و به سایر قسمت های منبع منبع وابسته نیستند. این برنامه به بسیاری از زیر روالهای کوچک تقسیم می شود (حداکثر 50 دستورالعمل - یک آستانه مهم برای درک سریع هدف از زیر برنامه) ، که هر کدام یکی از اقدامات ارائه شده توسط وظیفه اصلی را انجام می دهد. با ترکیب این زیر روال ها ، می توان الگوریتم نهایی را نه از عملگرهای ساده ، بلکه از بلوک های کامل کد که دارای بار معنایی خاصی هستند ، تشکیل داد و می توانید با نام به چنین بلوک هایی مراجعه کنید. به نظر می رسد زیر روالها عملگرهای جدید یا عملیات زبان هستند که توسط برنامه نویس تعریف شده است.

توانایی استفاده از زیرروالها ، زبان برنامه نویسی را به عنوان زبان رویه ای طبقه بندی می کند.

داشتن زیر روال ها به شما امکان می دهد یک برنامه را از بالا به پایین طراحی و توسعه دهید - این رویکرد را طراحی بالا به پایین می نامند. ابتدا ، چندین زیرروال مشخص می شود که وظایف جهانی را حل می کند (به عنوان مثال ، راه اندازی اولیه داده ، قسمت اصلی و تکمیل) ، سپس هر یک از این ماژول ها در سطح پایین تر توضیح داده می شوند و به نوبه خود به تعداد کمی از زیرروالهای دیگر تبدیل می شوند. ، و این اتفاق می افتد تا زمانی که کل کار تکمیل شود.

این رویکرد از این جهت مناسب است که به فرد اجازه می دهد بدون توقف روی عملگرها و متغیرهای مختلف ، دائماً در سطح موضوع فکر کند. علاوه بر این ، برای برخی امکان پذیر است که فوراً برنامه های فرعی را اجرا نکنند ، بلکه موقتاً موکول کنند تا قسمت های دیگر تکمیل شوند. به عنوان مثال ، در صورت نیاز به محاسبه یک تابع ریاضی پیچیده ، یک زیر برنامه جداگانه برای چنین محاسبه ای اختصاص داده می شود ، اما به طور موقت توسط یک اپراتور اجرا می شود ، که به سادگی یک مقدار از پیش تعیین شده را اختصاص می دهد. هنگامی که کل برنامه نوشته شده و اشکال زدایی می شود ، می توانید اجرای این عملکرد را شروع کنید.

همچنین مهم است که اشکال زدایی زیر برنامه های کوچک بسیار ساده تر باشد ، که این امر قابلیت اطمینان کلی کل برنامه را به میزان قابل توجهی افزایش می دهد.

ویژگی بسیار مهم زیرروالها قابلیت استفاده مجدد آنها است. کتابخانه های بزرگ روتین استاندارد دارای سیستم های برنامه نویسی یکپارچه هستند که می توانند با استفاده از کارهای دیگران برای ایجاد روالهای مکرر استفاده ، بهره وری را به میزان قابل توجهی افزایش دهند.

دو نوع زیر روال وجود دارد - رویه ها و عملکردها. تفاوت آنها در این است که این روش به سادگی گروهی از دستورات را اجرا می کند و تابع علاوه بر این مقداری مقدار را محاسبه کرده و آن را به برنامه اصلی منتقل می کند (مقدار را برمی گرداند). این مقدار از نوع خاصی است (گفته می شود که تابع فلان نوع است).

زیرروالها سه وظیفه مهم را انجام می دهند:

عدم نیاز به تکرار قطعات مشابه در متن برنامه بارها.

بهبود ساختار برنامه ، درک آن را آسان تر می کند.

افزایش مقاومت در برابر خطاهای برنامه نویسی و پیامدهای پیش بینی نشده در حین اصلاح برنامه.

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

در اواسط دهه 1980 ، مسیر جدیدی در برنامه نویسی ، بر اساس مفهوم یک شی ظاهر شد. تا آن زمان ، محدودیت های اصلی در ایجاد سیستم های بزرگ توسط عدم تجزیه در برنامه داده ها و روش های پردازش آنها اعمال می شد.

اجسام واقعی جهان پیرامون دارای سه ویژگی اساسی هستند: آنها دارای مجموعه ای از ویژگی ها هستند ، آنها می توانند این ویژگی ها را به طرق مختلف تغییر دهند و به رویدادهایی که هم در جهان اطراف و هم در درون خود شی رخ می دهد واکنش نشان دهند. به این شکل در زبان های برنامه نویسی است که مفهوم یک شی به عنوان مجموعه ای از ویژگی ها (ساختار داده های مشخصه این شی) ، روش های پردازش آنها (برنامه های فرعی برای تغییر ویژگی ها) و رویدادهایی که این شیء می تواند به آنها واکنش نشان دهد ، اجرا می شود. و که به طور معمول منجر به تغییر ویژگی های شی می شود.

ظهور امکان ایجاد اشیاء در برنامه ها تأثیر کیفی بر بهره وری برنامه نویسان دارد. حداکثر حجم برنامه های کاربردی که توسط گروهی از 10 برنامه نویس برای ایجاد در دسترس قرار گرفته است در چند سال به میلیون ها خط کد افزایش یافته است ، در حالی که در عین حال امکان دستیابی به قابلیت اطمینان بالای برنامه و مهمتر از آن استفاده مجدد از برنامه های قبلی ایجاد شده است. اشیاء در کارهای دیگر

اشیاء می توانند ساختار یکسانی داشته باشند و فقط در مقادیر ویژگی متفاوت باشند. در چنین مواردی ، نوع جدیدی در برنامه بر اساس یک ساختار شی واحد ایجاد می شود. به آن کلاس می گویند و به هر شیء خاصی که ساختار این کلاس را داشته باشد ، نمونه ای از کلاس گفته می شود.

یک زبان برنامه نویسی شی گرا با سه ویژگی اصلی مشخص می شود:

1. کپسوله سازی - ترکیب داده ها با روش ها در یک کلاس.

نسل های مختلف زبان های برنامه نویسی

نیاز به برنامه نویسی حتی قبل از رایانه های قابل برنامه ریزی بوجود آمد. مشخص است که از قرن هجدهم ، به عنوان مثال ، وسایل بافندگی با تخته های چوبی برنامه ریزی شده است ، که در آنها سوراخ هایی در مکان های مناسب ایجاد شده است.

توسعه برنامه نویسی با ایده جان فون نویمان ، که در سال 1945 منتشر شد ، تسهیل شد ، که در آن او رایانه ای را توصیف کرد که خود برنامه به همراه داده در حافظه ذخیره می شود.

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

زبانهای اسمبلی زبانهای نسل دوم محسوب می شوند. در مورد کد ماشین ، همه برنامه نویسی به صورت کد دودویی انجام می شد و بنابراین خواندن و اشکال زدایی بسیار وقت گیر بود. هنگام برنامه نویسی به زبان اسمبلی ، دستورالعمل ها به صورت قابل فهم به فرد ارائه می شود. برنامه نویسی به خودی خود بسیار شبیه برنامه نویسی در کد ماشین است ، زیرا دستورالعمل ها مشابه کد ماشین است (فقط به شکل متفاوت - به شکل کلمات). برنامه ای که به زبان اسمبلی نوشته شده چیزی شبیه به موارد زیر است:

MOV AL ، 19

افزودن AL ، 4

بیرون 2

این قطعه کد مقدار ثبت کننده AL را 19 (معمولاً مقادیر با اعداد در سیستم هگزادسیمال نشان داده می شود) اختصاص می دهد ، عدد 4 را به مقدار ثبت AL اضافه می کند و سپس عدد 2 را به خروجی 2 ارسال می کند. از اسمبلر به کد ماشین ترجمه می شود و پس از آن پردازنده می تواند اجرای خود را شروع کند ...

زبانهای اسمبلی و کد ماشین زبانهای سطح پایین محسوب می شوند.

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

اکثر زبانهای برنامه نویسی شناخته شده و مورد استفاده در بین زبانهای نسل سوم هستند ، به عنوان مثال:

FORTRAN (IBM Mathematical FORmula TRANslating System) یک زبان برنامه نویسی است که در دهه 1950 برای محاسبات ریاضی و اهداف علمی توسعه یافته است.

COBOL (زبان مشترک تجاری) - زبان برنامه نویسی شی گرا ، ایجاد شده در 1959 ، عمدتا برای نوشتن برنامه هایی که نیازهای تجاری را برآورده می کند.

BASIC (دستورالعمل نمادین همه منظوره مبتدیان) - زبانی که در سال 1963 ایجاد شد و در ابتدا ایجاد شد تا مهندسان بتوانند شبیه سازی های مختلف را روی رایانه ها انجام دهند.

پاسکال - یک زبان برنامه نویسی در دهه 1970 ایجاد شد که برای آموزش برنامه نویسی ایجاد شد.

C - این نام از این واقعیت ناشی می شود که این زبان عمدتا بر اساس زبان B استوار بوده است. این سیستم برای نوشتن سیستم عامل ایجاد شده است (بسیاری از سیستم عامل های سازگار با UNIX به این زبان نوشته شده اند) ، مدت ها یکی از محبوب ترین زبان های برنامه نویسی بوده است .

C ++ شی گرا C است.

جاوا یک زبان برنامه نویسی است که بر اساس C ++ توسعه یافته است.

ویژوال بیسیک ، دلفی ، پایتون ، سی شارپ همه زبان های نسل سوم هستند. بسیاری از زبانهای برنامه نویسی نسل سوم نسبت به برخی از زبانهای نسل چهارم و پنجم جوانتر (جدیدتر) هستند.

زبانهای برنامه نویسی نسل چهارم به گونه ای طراحی شده اند که یادگیری و استفاده از آنها آسان است. این زبانها تمایل دارند که رویه ای روی یک برنامه واحد متمرکز نباشند. نمونه ای از زبان برنامه نویسی نسل چهارم SQL (Structured Query Language) است. بیشتر در مورد "چه باید بکنید" و کمتر در مورد "چگونه انجام دهید" می گوید. زبانهای نسل پنجم برای توسعه سیستمهای هوش مصنوعی و حل مشکلات مربوط به این موضوع ایجاد شده اند.

انواع اصلی زبانهای برنامه نویسی

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

در زبان های برنامه نویسی رویه ای ، زبان برنامه نویسی اقدامات و ترتیب اجرای آنها را توصیف می کند ، و همچنین این اقدامات به گروه ها (زیر روال ها) تقسیم می شوند. رویه ها به نوبه خود ساختارهای کد را تشکیل می دهند که می توانند مجدداً مورد استفاده قرار گیرند. در زبانهای برنامه نویسی کاربردی ، کل راه حل با استفاده از توابع توضیح داده شده است. در زبان های برنامه نویسی شی گرا ، مشکل با استفاده از توابع و ساختار داده های توصیف شده در کلاس ها (کلاس انگلیسی) حل می شود. از هر کلاس ، می توانید یک شی ایجاد کنید که دارای مجموعه ای از ویژگی ها و / یا روش ها باشد.

ویژگی ها مقادیری هستند که یک شی می تواند در خود داشته باشد و می تواند بر رفتار یک شی تأثیر بگذارد. به عنوان مثال ، بر اساس کلاس "پنجره کنسول" ، می توانید یک شی "console1" ایجاد کنید که به عنوان یک پنجره کنسول برای کاربر قابل مشاهده باشد. این شی دارای برخی ویژگی ها (نشان داده شده ، مخفی ، عرض ، ارتفاع ، رنگ متن در پنجره کنسول ، رنگ پس زمینه و ...) است ، با تغییر این ویژگی ها می توانید ظاهر شی را در این مورد خاص تغییر دهید.

در همان مثال ، ممکن است شیء دارای چند روش باشد ، به عنوان مثال ، با مراجعه به متد مربوطه ، می توانید مقداری متن در پنجره کنسول بنویسید ، متن وارد شده توسط کاربر را در برخی متغیرها و غیره بخوانید.

مثال دوم کلاس "متغیر متن" است ، ایجاد یک شیء "ProstoText" بر اساس این کلاس ، ایجاد یک متغیر متنی ، که ویژگی اصلی آن مقدار متن ذخیره شده است ، اما در واقع ، این شی دارای خواص بیشتری است (به عنوان مثال ، طول مقدار متن ذخیره شده). همچنین متغیر متنی باید دارای مجموعه ای از روش ها باشد (تغییر کاراکترهای مقدار ذخیره شده به حروف کوچک ، بزرگ ، حذف برخی از کاراکترها و غیره).

بنابراین ، با توصیف کلاس ها و دستکاری اشیاء ، می توان برنامه های بسیار پیچیده ای را ایجاد کرد و اقدامات مختلفی را انجام داد.

تفسیر و تدوین زبانها

قبل از اینکه رایانه بتواند برنامه ای را که به زبان سطح بالا نوشته شده است اجرا کند ، باید به زبانی قابل درک "رایانه" ترجمه شود ، به عنوان مثال. کد ماشین این فرایند ترجمه را ترجمه و نرم افزار مترجم را مترجم می نامند. مترجمان به دو دسته تقسیم می شوند: گردآورنده و مترجم.

گردآوری زمانی است که برنامه ای در کد ماشین (که کامپایلر نامیده می شود) برنامه دیگری را که به زبان برنامه نویسی نوشته شده است به کد ماشین تبدیل کند. پس از آن ، کد ماشین حاصل از برنامه اجرا می شود. نمونه هایی از زبانهای کامپایل شده عبارتند از C ، Fortran ، Pascal.

تفسیر این است که برنامه در کد ماشین (مترجم) فایل برنامه را در حافظه داخلی می نویسد و اجرای آن را خط به خط شروع می کند. به عنوان مثال ، زبان BASIC قدیمی است.

تفسیر یک برنامه حدود 10 تا 200 برابر کندتر از اجرای کد کامپایل شده است. در مقابل ، اشکال زدایی (حذف خطاها از برنامه) یک برنامه تفسیری معمولاً راحت تر از برنامه ترجمه شده است. در برخی موارد مناسب و در دسترس بودن ابزارهای موجود ، این تفاوتها می تواند بسیار کوچکتر باشد. یک مثال خوب جاوا با کدی است که در ردیف وسط بهینه شده و کامپایل شده است ، که در زمان اجرا توسط کامپایلر Just-in-Time برای سخت افزار خاص ترجمه می شود.

در اصل ، برنامه ای که به هر زبانی نوشته شده باشد ، هم قابل تفسیر و هم تدوین است.

در حال حاضر ، جهت های زیادی در برنامه نویسی وجود دارد. هر کس می تواند مطابق میل خود چیزی پیدا کند ، اما برای این کار باید بدانید که دقیقاً در زمینه خود چه کار خواهید کرد.

توسعه برنامه های تحت وب

این جهت بر توسعه برنامه های تحت وب متمرکز است (به عبارت دیگر ، سایتها ، اما در حال حاضر سایتها دارای عملکرد غنی هستند که می توان آنها را برنامه های کامل نامید).

برنامه نویسی وب را می توان به پشتیبان (نوشتن اسکریپت های سمت سرور - PHP ، Python ، Ruby) و frontend (توسعه رابط کاربری - Javascript ، HTML ، CSS) تقسیم بندی کرد.

توسعه برنامه های رومیزی

توسعه نرم افزار برای سیستم عامل های مختلف. انواع نرم افزارهایی که در زندگی روزمره استفاده می کنیم. اگر می خواهید پردازشگر عکس ، پخش کننده صدا یا ویرایشگر متن خود را بنویسید ، این مکان برای شما مناسب است.

توسعه برنامه سرور

اینها سرورهای مختلف بازی (Dotka ، CS: GO مورد علاقه شما) ، سرویس های IM (بخش سرور Skype ، ICQ ، MSN) ، پایگاه های داده بانکی هستند.

توسعه برنامه های کاربردی تلفن همراه

بسیاری از برنامه های جاوا. VK ، Viber ، Yandex.Maps ، مترجمان ، خوانندگان الکترونیکی.

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

شاخه جالب برنامه نویسی برای لوازم مختلف خانگی: جاروبرقی ، یخچال ، ماشین لباسشویی ، پخش کننده ، ناوبر ، ترازوی الکترونیکی. این شامل پیشرفتهای علمی با استفاده از زبانهای تخصصی مانند MATLAB است.

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

نوشتن درایورهای مختلف برای سخت افزار ، برنامه نویسی "هسته" سیستم عامل ها. به هر حال ، ایجاد کامپایلر و مترجم برای زبان های برنامه نویسی نیز در اینجا گنجانده شده است.

توسعه بازی

یک صنعت غول پیکر این شامل توسعه بازی برای رایانه های شخصی ، کنسول ها و دستگاه های تلفن همراه است.

برنامه نویسی المپیاد و حل مسئله

برنامه نویسی به زبانهای مختلف "غیرعملی" و نه رایج (پاسکال ، دلفی) برای حل برخی از مشکلات اصلی که نیاز به رویکرد غیر استاندارد ، نبوغ و ضریب هوشی بالای 160 دارد.

برنامه نویسی برای محصولات حسابداری و مالی

"1C: Enterprise". تمام حسابداری در روسیه با این محصول گره خورده است. اما فقط دانستن خود زبان کافی نیست ، درک اصول حسابداری مهم است. نکته مثبت این است که کار زیادی وجود دارد و شما بدون نان نخواهید ماند.

برنامه نویسی پایگاه داده

جهت جدی اگر می خواهید پایگاه های داده ای بسازید که قادر به ذخیره میلیاردها خط اطلاعات در مورد همه کاربران VKontakte یا Facebook باشد ، و در عین حال سرعت خود را کاهش ندهد - شما اینجا هستید.

علوم پایه

علم و این همه چیز را می گوید. شبکه های عصبی ، مدل سازی ساختار DNA ، پرتاب ماهواره ، شبیه سازی بیگ بنگ.

به هر حال ، اخیراً وب سایت ناسا اخبار مربوط به جستجوی برنامه نویس را به زبان "قدیمی" Fortran ، که بیش از 60 سال قدمت دارد ، منتشر کرد. یک برنامه نویس ملزم به توسعه برنامه هایی برای کنترل کاوشگرهای خودکار وویجر 1 و وویجر 2 بود ، نرم افزاری که در 1970s در Assembler ، Fortran و COBOL نوشته شده بود. شما هرگز نمی دانید چه دانش ممکن است مفید باشد.