КАТЕГОРИЯ:


Астрономия- (809) Биология- (7483) Биотехнологии- (1457) Военное дело- (14632) Высокие технологии- (1363) География- (913) Геология- (1438) Государство- (451) Демография- (1065) Дом- (47672) Журналистика и СМИ- (912) Изобретательство- (14524) Иностранные языки- (4268) Информатика- (17799) Искусство- (1338) История- (13644) Компьютеры- (11121) Косметика- (55) Кулинария- (373) Культура- (8427) Лингвистика- (374) Литература- (1642) Маркетинг- (23702) Математика- (16968) Машиностроение- (1700) Медицина- (12668) Менеджмент- (24684) Механика- (15423) Науковедение- (506) Образование- (11852) Охрана труда- (3308) Педагогика- (5571) Полиграфия- (1312) Политика- (7869) Право- (5454) Приборостроение- (1369) Программирование- (2801) Производство- (97182) Промышленность- (8706) Психология- (18388) Религия- (3217) Связь- (10668) Сельское хозяйство- (299) Социология- (6455) Спорт- (42831) Строительство- (4793) Торговля- (5050) Транспорт- (2929) Туризм- (1568) Физика- (3942) Философия- (17015) Финансы- (26596) Химия- (22929) Экология- (12095) Экономика- (9961) Электроника- (8441) Электротехника- (4623) Энергетика- (12629) Юриспруденция- (1492) Ядерная техника- (1748) Arhitektura- (3434) Astronomiya- (809) Biologiya- (7483) Biotehnologii- (1457) Военни бизнесмен (14632) Висока technologies- (1363) Geografiya- (913) Geologiya- (1438) на държавата (451) Demografiya- ( 1065) Къща- (47672) журналистика и смирен (912) Izobretatelstvo- (14524) външен >(4268) Informatika- (17799) Iskusstvo- (1338) историята е (13644) Компютри- (11,121) Kosmetika- (55) Kulinariya- (373) културата е (8427) Lingvistika- (374) Literatura- (1642) маркетинг-(23702) математиците на (16968) Механична инженерно (1700) медицина-(12668) Management- (24684) Mehanika- (15423) Naukovedenie- (506) образователна (11852) truda- сигурност (3308) Pedagogika- (5571) Poligrafiya- (1312) Politika- (7869) Лево- (5454) Priborostroenie- (1369) Programmirovanie- (2801) производствено (97 182 ) индустрия- (8706) Psihologiya- (18388) Religiya- (3217) Svyaz (10668) Agriculture- (299) Sotsiologiya- (6455) на (42831) спортист строително (4793) Torgovlya- (5050) транспорт ( 2929) Turizm- (1568) физик (3942) Filosofiya- (17015) Finansy- (26596) химия (22929) Ekologiya- (12095) Ekonomika- (9961) Electronics- (8441) Elektrotehnika- (4623) Мощност инженерно ( 12629) Yurisprudentsiya- (1492) ядрена technics- (1748)

Системи за програмиране




Тема 4. системи и програмни езици

Програмиране системи - набор от софтуерни инструменти, предназначени за работа с програмите в един език за програмиране. програмни системи осигуряват възможности за услуги за програмистите да разработват свои собствени компютърни програми.

В момента, развитието на всеки софтуер, системен и приложен посредством програмни системи, които включват:

· Преводачи с езици от високо ниво;

· Инструменти за редактиране, оформление и товарни програми;

· Макро монтажници (машинно-ориентирани езици);

· Дебъгерите компютърни програми.

Системи за програмиране обикновено включват

· A текстов редактор (Edit), извършване на функция и редактиране на изходния код на запис;

· Програма за зареждане (Load), което ви позволява да изберете желаната директория от текстов файл;

· Стартиране на програми (Run), осъществяващи процеса на изпълнение на програмата;

· Compiler (Compile), предназначени за събиране или интерпретация на сорс код в машинен код, с диагнозата на синтактични и семантични (логически) грешки;

· Debugger (Debug), извършване на услугата за отстраняване на грешки и тестване на функцията на програмата;

· File Manager (Файл), която е в състояние да изпълнява файлови операции: спестяване, търсене, унищожаване и т.н.

Програмиране на система за ядрото на езика.

Широко разпространен сред разработчиците на софтуер, както и в програмирането на обучение, получили "Turbo" система за програмиране (Turbo) фирми на Borland, чиято преводачите с езика BASIC програмиране, Pascal, C, Prolog и др Turbo-черупка интерфейс за всички програмни системи външно абсолютно идентични и предоставя на потребителя с стандартен набор от функции и команди.

технология за програмиране с Turbo Pascal 7-популярната система за програмиране ще бъдат обсъдени по-късно. В такъв програмиране на интегрирани системи е опит да се осигури програмите разработчик на максималните възможности на услуги.

Класификация на езиците за програмиране

В зората на компютърен код на компютъра възраст е единственото средство за взаимодействието човек-компютър. Най-голямото постижение на създателите на езиците за програмиране е, че те са успели да направят самия компютър да работи като преводач от тези езици в машинен код.

Съществуващи езици за програмиране могат да се разделят на две групи: (. Виж фигура 4.1.) Процедурни и не-процесуалните.

Процедурно (или алгоритмични) програма е система от изисквания за определена цел. Ролята на компютъра се свежда до механично прилагане на тези разпоредби.



Процедурни езици са разделени на ниско и високо ниво на езика.

Различни видове процесори имат различни набори с инструкции. Ако езика за програмиране е фокусирано върху определен тип процесор и взема предвид неговите функции, той се нарича език за програмиране на ниско ниво. Разбираемо е, че операторите на езиковите са близки до машинен код и фокус върху специфичните инструкции на процесора.

Фиг. 4.1. Обща класификация на езиците за програмиране

езици от ниско ниво (машинно-ориентирани) ви позволяват да се създаде програма на машинен код, обикновено в шестнадесетичен вид. Те работят усилено, но от тях с помощта на висококвалифицирани програми програмист заемат по-малко място в паметта и работи по-бързо. С тези езици е по-удобно да се разработи софтуерна система, водачите (софтуер за управление компютърни устройства), някои други видове програми.

Ниско ниво на езика (машина ориентирана) асемблер е, че всяка команда представлява код машина, но не под формата на числа, а с помощта на конвенционален символичен нотация, наречена мнемоники.

С помощта на ниско ниво езици са много ефективен и компактен програма, като разработчикът има достъп до всички функции на процесора.

езици за програмиране от високо ниво са много по-близо и по-разбираеми за човека, а не на компютър. Характеристики, специфични компютърни архитектури, те не се броят, така че програмата е създадена при източника е лесно преносим и за други платформи, които създадоха преводача на този език. Разработване на програми на езици от високо ниво, с помощта на ясни и мощни команди много по-лесно, както и грешки при съставянето на програми могат да бъдат много по-малко.

Основното предимство на езиците за програмиране от високо ниво - способността да се опише програмата за решаване на проблема под формата най-удобния за човешкото възприятие. Но тъй като всяко семейство има собствен компютър, специфичен вътрешен (машина) език и може да изпълнява само тези команди, които са написани на този език, за да се преведат на изходния код в машинен език използва специални програми преводачи.

Работата на преводачите се основава на един от следните два принципа: тълкуването или компилация.

Тълкуване включва pooperatornuyu излъчване и последващото прилагане на изготвянето на първоначалния оператор на програмата. В тази връзка може да се отбележи метод тълкуване два недостатъка: първо тълкуването програма трябва да е в паметта на компютъра за осъществяване на целия процес на оригиналната програма, т.е. да вземе определено количество памет; Второ, процесът на предаване на един и същ оператор се повтаря много пъти, колко пъти командата трябва да се изпълняват в една програма, която рязко намалява ефективността на програмата.

Въпреки тези недостатъци, преводачи преводачите получените разпространят достатъчно, тъй като те са полезни в развитието и отстраняване на грешки на изходния код.

При съставяне на процесите на превод и изпълнение са разделени във времето: първо, в първоначалната програма е изцяло преведен на машина език (след което присъствието на преводача в паметта става ненужна), и след това се компилира код може да бъде изпълнена многократно. Следователно, за един и същ метод излъчвана програма компилация осигурява по-висока производителност на компютърните системи, като същевременно намали необходимата памет.

Повечето от сложността в развитието на компилатора в сравнение с интерпретатора със същия език се дължи на факта, че образуването на програмата се състои от два етапа: анализ, т.е. определяне на пригодността на оригиналния запис на програмата в съответствие с правилата на изграждане на езикови конструкции на езика източник, както и синтез - генериране равностоен програма в машинен код. метод Broadcast съставяне изисква да "изглед" излъчвана програма, т.е. преводачи-компилатори са мулти-пас: първото преминаване те се провери коректността на синтаксиса на език изгражда отделните оператори независимо един от друг, последващото преминаване - правилността на синтактични отношения между оператори и т.н.

Методът на получения превод нарича компилиране модул обект програма, която е еквивалентна на програмата в машинен код, но не "вързани" към специфичните области на паметта. Следователно, преди изпълнението на модула за обект трябва да се третира със специален софтуер операционна система (линкера - Link) и се превръща в един модул за зареждане.

Наред с посочените по-горе писмени и устни и писмени преводачи-съставителите на практика също се използват писмени преводачи, компилатори, които съчетават предимствата на двата принципа за излъчване: в етап на развитие и отстраняване на грешки програми съставител работи в режим на черупки и оригиналната програма след края на процеса на отстраняване на грешки повторното излъчване в модула за обект (т.е. вече съставяне метод). Това може значително да опрости и ускори процеса на съставяне и отстраняване на грешки програми, и от последващото производство на модула за обект, за да се осигури по-ефективно изпълнение на програмата.

Класическият процедурно програмиране изисква програмистът да подробно описание на това как да се реши проблема, т.е. Формулировката на алгоритъма и неговата специална записа. В този случай очакваните свойства на резултата обикновено не е показан. Концепции езици на тези групи - на оператора и данни. Когато операторите процедурен подход са комбинирани в групи - лечения. Структуриран програмиране като цяло не надхвърля тази линия, той обхваща само някои допълнителни полезни методи на софтуерното инженерство.

Коренно различна посока в програмирането, свързани с методики (понякога се нарича "парадигми"), които не са процедурно програмиране. Те включват обектно-ориентиран и декларативно програмиране. Object-ориентиран език за околната среда създава набор от независими обекти. Всеки обект се държи като един компютър, можете да ги използвате, за да се решат проблемите като "черни кутии", без ровене в вътрешните механизми на тяхното функциониране. Тъй като обектно-ориентиран език за програмиране, популярен сред професионалисти, трябва да споменем, на първо място C ++, за по-широк кръг от програмисти предпочитан тип на Delphi и Visual Basic среда

При използване на декларативен език програмист уточнява оригиналната информация структура, връзката между тях, и това, което в резултат трябва да има свойства. При тази процедура се получи ( "алгоритъм") програмист изгражда (поне в идеалния случай). В тези езици, няма понятие за "оператор" ( "Екип"). Декларативни езици могат да бъдат разделени на две семейства - логично (типичен представител - Prologue) и функционални (Lisp).

Ние се характеризира най-добре познатите езици за програмиране.

1. Fortran (формула превода система - система Формула излъчване); най-старите и все още се използва активно в решаването на математически задачи на език ориентация. Е класическият език за програмиране на компютърни математически и инженерни проблеми

2. BASIC (начинаещи All-цел Symbolic Инструкция Code - универсален символичен код на инструкции за начинаещи); въпреки многото пропуски и изобилие от слабо съвместими версии - най-популярният от гледна точка на потребителите. Широко използвани за писане на прости програми.

3. Алгол (алгоритмичен език - алгоритмичен език); Той играе голяма роля в теорията, но сега почти не се използват в практическо програмиране.

4. PL / 1 (PL / 1 програмен език - езикът на първия програмен); език многоцелеви; Сега тя се използва едва ли някога.

5. Паскал (Pascal - кръстен на учен Блез Паскал); изключително популярна както в учебната програма, както и сред професионалистите. Създадена в началото на 70-те години от швейцарския учен Никлаус Вирт. Паскал език първоначално е замислен като обучение и, наистина, той сега е един от най-големите езици в преподаването на програмиране в училища и университети. Въпреки това, качеството на неговата заедно са толкова високи, че те са готови да се използва и професионални програмисти. Не по-малко впечатляващ, включително финансова, успех постига Филип Кан, един французин, които са развили системата Turbo Pascal. Същността на неговите идеи е да се комбинират последователни фази на обработката на програмата - съставителство, редактиране връзка, отстраняване на грешки и диагностика грешка - от един общ интерфейс. Версии Turbo Pascal наводнени почти всички образователни институции, програмист центрове и частни фирми. Въз основа на Pascal е създаден малко по-мощни езици (Modula, Ada, Delphi).

6. Cobol (обща бизнес ориентиран език - език, който се фокусира върху общата дейност); до голяма степен паднал от употреба. Той е замислен като основен език за масова обработка на данни в областта на управлението и бизнеса.

7. ADA, е езикът Победоносец (май 1979 г.) в конкурса за изграждане на универсален език, проведено от Пентагона през 1975 г. Разработчиците - група от учени под ръководството на Жан Ihbia. спечелване наречен език АДА след Аугуста Ада Лъвлейс. Ada - пряк наследник Pascal. Този език се използва за създаването и дългосрочно (мулти-годишен) поддържането на големи софтуерни системи, тя дава възможност за възможност за паралелна обработка на информацията, управление на процеси в реално време и много повече, което прави трудно или невъзможно да се постигне с помощта на прост език.

8. С (С - "С"); широко използван в създаването на системния софтуер. Налагане голям отпечатък върху съвременния Програмиране (първата версия - 1972), той е много популярен сред разработчиците на софтуерни системи (включително операционни системи). С съчетава характеристиките на език на високо ниво и език машина ориентирани, което позволява на програмиста да всички машинни ресурси, които не предлагат такива езици като основни и Pascal.

9. C ++ (C ++), обектно-ориентиран разширение на езика C, създаден от Бярне Stroustrup през 1980. Набор от мощни нови функции, драстично ще се увеличи производителността на програмистите, насложена върху наследство от някакъв език от ниско ниво C.

10. Delphi (Delphi); обектно-ориентиран език "визуален" програмиране; В момента много популярен. Въз основа на езика Delphi езикови специалисти Pascal на Borland, притежаващи силата и гъвкавостта на C и C ++ езици, ги превъзхожда по отношение на удобство и лекота на интерфейс за разработване на приложения, които взаимодействат с бази данни, както и подкрепа за различни видове работа в рамките на корпоративната мрежа и Интернет ,

11. Java (Java); платформено-независим език обектно-ориентираното програмиране, е изключително ефективна за създаване на интерактивни уеб страници. Този език е създаден от Sun в началото на 90-те години на базата на C ++. Тя е предназначена да опрости развитието на приложения, базирани на C ++, като се изключат от нея всички функции от ниско ниво.

12. Lisp (Lisp) - функционален език за програмиране. Фокусирани върху структурата на данните във формата на списък и да организира позволява ефективна обработка на големи количества текстова информация.

13. Prologue (програмиране в логика - логика програмиране). Основната цел на език - развитието на интелигентен софтуер и системи. Prologue - език за програмиране, създаден специално за работа с бази данни на знания, основани на факти и правила (един от елементите на системите с изкуствен интелект). В езика на механизма за връщане се прилага за извършване на обратната верига на разсъждения, в които се предполага, че някои от констатациите или заключенията са верни, тогава тези предположения са проверени в базата от знания, съдържащи факти и правила извод. Ако това предположение не е потвърдена, тя ще се върне и ще предложи нова хипотеза. В основата на език, предвидена математическия модел на теорията на предикатното смятане.

Езици за програмиране в интернет:

1. HTML. Добре известен език за документи. Тя е много проста и съдържа основния текст форматиране, добавяне на графики, шрифтове и цветове задачи, организация на линкове и таблици.

2. Perl. Той е замислен като средство за ефективно преодоляване на големи текстови файлове, генериране на отчети текстови и управление на задачите. В Perl мощност далеч надхвърля езици като C. Той постави много често използвани функции за работа с низове, масиви, контролни процесори, работа с информация за системата.

3. Tcl / Tk. Този език е насочена към автоматизиране на рутинни процеси и член на мощните отбори. Тя е независима от системата и по този начин позволява създаването на графичния интерфейс.

4. VRML. Създаден за организацията на триизмерни виртуални интерфейси в интернет. Тя позволява да се опише под формата на текст различни триизмерни сцени, светлини и сенки, текстури.

Изборът на език за програмиране, зависи от много фактори: целите, удобството на източник писмено код, получени програмите обект на ефективност, и т.н. Различни видове задачи решени чрез компютър и определя многообразието на езиците за програмиране.

Контролен лист

1. Какво представлява системата за програмиране и класа, към която принадлежат програми?

2. Каква част от системите за програмиране?

3. На какъв език за програмиране, създаден на първата програма?

4. Какви езици са разделени процедурни езици?

5. Опишете езици на ниско ниво.

6. На какъв език се отнася до езика на ниско ниво?

7. Предимствата на езиците на ниско ниво.

8. Опишете езици от високо ниво.

9. Предимствата на езици от високо ниво.

10. Дайте примери на езици от високо ниво.

11. Какво правите преводачите?

12. Какво е различно от преводача на компилатор?

13. Недостатъци на интерпретация (като един вид преводач).

14. Какъв е процесът на съставяне на програма?

15. Какви действия се извършват по време на компилация?

16. Какво е различен от обекта на натоварване модул?

17. Какво е различно от не-процесуалното процедурно програмиране?

18. Какви видове програмиране са не-процедурно програмиране?

19. Feature на декларативни езици?

20. Опишете накратко езиците за програмиране: FORTRAN, BASIC, Pascal, COBOL.

21. Опишете накратко програмните езици: Ada, C, C ++, Delphi, Java.

22. Дайте примери за обектно-ориентирани езици.

23. До каква класа на език е език Lisp?

24. До каква класа на език е Пролог?