Преглед на езици за програмиране

Компютърна програма, е логично подредена последователност от команди, предназначени-ТА да контролирате компютъра. Компютърен процесор - това LSI. Всички данни и команди получава под формата на електрически сигнали. двоичен присъствие сигнал е описан от концепцията на "1" и неговото отсъствие - понятието "О". Командите се обработват от процесор, може да се тълкува като серия от редуващи се по определен начин от нули и единици, т.е., всяка команда се превръща в двоично число. По този начин, процесорът изпълнява програмата, което представлява поредица от числа и призова машинен код.

Днес, почти всички програми са създадени с помощта на програмния Yazi-Ing. Теоретично, програма могат да бъдат написани на естествен език (да речем, програмиране мета-език), но поради неяснотата на естествен език, автоматично повторно провеждане на такава програма в машинен код все още не е възможно.

програмните езици са официални изкуствен Yazi-ки. Подобно на естествените езици, те имат азбука, лексика, граматика и синтаксис и семантика.

Азбука - позволено да използват набор от символи, с които могат да се образуват думи и големината на даден език.

Речник на езика или лексика - набор от свикна с него думите, т.е. правилни думи на даден език.

Граматика - ограничен набор от правила, които определят език.

Граматика определя методи за конструиране модификации и комбинации от думи.

Синтаксис - система от правила, които определят валиден пресичане програмиране ruktsii език от буквите на азбуката.

Семантика - система от правила за двусмислено тълкуване на всеки строителен език, което позволява да се направи процесът на данни obrabot-ки.

Взаимодействие на синтактични и семантични правила дефинирана-делящ се основни понятия на езика, като например отчети за идентификация с въдици със серпентини, константи, променливи, функции, процедури и т.н. За разлика от естествения език за програмиране има ограничен речник (оператори) и строгите правила на своето перо и правилата на грам-Matic и семантика, както и за някакво формално език ясно и недвусмислено формулирани ясно.

Езиците за програмиране, насочени към инструкциите за процесор и да вземат предвид неговите характеристики, се нарича езици от ниско ниво. "Ниско ниво", не означава, слабо развита, което означава, че операторите на езика в близост до машинен код и Ванир ориентирани към конкретни инструкции на процесора.

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

Езици за програмиране, като естествено, са разширен екип ориентирани "лице" се нарича езици от високо ниво. Колкото по-високо ниво на езика, колкото по-близо структурите от данни и съоръжения, използвани в програмите, IU и до концепциите за първоначалния проблем. Особености специфичен комп yuternyh архитектури не се броят, така че програмите за оригинални техно-вци лесно преносими и за други платформи, с преводачи на този език. Разработване на програми на езици от високо ниво с помощта на ясни и силни команди много по-лесно; броят на грешките, направени в процеса на програмиране, много по-малко. В момента има няколко стотици от тези езици (с изключение на техните диалекти).

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

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

Има два вида програми преводачи: съставител и в terpretator.

Компилаторът работи директно с цялата оригиналния модул, форма-Rui на своя базов товар модул, т. Е. изпълнимия файл, отидете-tovy да стартирате компютъра. Програмата както zagruzoch-ТА модул изпълнява независимо от модула източник.

Преводачът работи с модула източник от стъпки. Той току-що Bireh (интерпретира) всеки модул източник оператор и той ви-запълва. В начина на тълкуване по-лесно да проверявате програмите та, но програмата работи много по-бавно, отколкото skom-pilirovannaya програма.

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

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

Йерархичната модел се основава на следните правила:

- всеки модул може да се свърже само с един модул най-високо ниво и множество модули ниско ниво;

- за всяко по-ниско ниво модул има достъп до модула за най-високо ниво;

- Комуникацията между модули разположени надолу;

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

Модул изисква независимо програмиране на всяка единица, като се започне от най-високо ниво в йерархията. Когато оса-schestvlenii модули тестване най-високо ниво в модулите за по-ниско ниво са поставени "шапка", често под формата на декларация за печат. Модулите се прибавят една по една. След края на развитието на всеки модул е ​​тестван целия комплекс като цяло.

Модул позволява значително намалява реплики във времето, необходимо, за да проверявате програмите.

Структуриран програмиране - програмиране е процес-нето на алгоритмичен език с помощта на определени структури. Тя трябва да се спазват следните правила:

- всяка програма, съставена въз основа на основния алгоритъм-радикално три вида структури: линеен, разклонен цикличен-агенция;

- между тези структури е пренесени само прехвърлянето на контрол - от по-високо ниво на по-ниска йерархия;

- Никога не използвайте командата преходи «GOTO». Структуриран програмиране се използва главно за програмиране на отделни модули.

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

Свойствата на езици за програмиране:

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

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

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

Простотата на езика осигурява лесното разбиране на семантиката на езикови конструкции и помня, техният синтаксис.

Езикът трябва да съдържа следната структура на данните, контролни структури и дейности, а също така има такъв синтаксис, което би позволило да се отрази логическата структура на програмата, основните алгоритъм изпълнение.

Независим от езика хардуер, дава възможност за прехвърляне на програми от една платформа на друга с относителна лекота. Това ви позволява да разпределите високата цена на софтуера на няколко платформи.

Общата стойност на помощта на език за програмиране се състои от няколко компонента. Той включва:

• Разходите за езиково обучение;

• разходите по създаването на програмата;

• Разходите за превод на програмата;

• Цената на програмата;

• разходите за поддържане на програмата.

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

Преглед на езици за програмиране

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

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

Познаването на концептуалните основи на езици за програмиране по отношение на използването и продажбата на основни езикови конструкции, така че:

- по-разумно да се избере един език за програмиране за конкретен проект;

- разработване на по-ефективни алгоритми;

- системно попълване на набор от полезни езикови конструкции;

- ускоряване на усвояването на нови езици за програмиране;

- използвате това знание като методологична основа за разработването на нови езици за програмиране;

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

Всички тези езици се наричат ​​също и официално. Ние сме най-заинтересовани от алгоритмични езици, които включват всички известни програмни езици.

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

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

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

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

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

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

В разработването на многоцелеви (универсален) езиците за програмиране, които се интегрират на дълготрайните материални активи и способността на много процесуално - ориентирани езици, като PL / 1 -ispolzuemy решения за обработка на задачите на икономическото и научно-техническа информация, задачите за управление на обекти и др.; Ада - стандартен език многоцелеви, че може да замести редица други езици и за дълъг период, за да се гарантира развитието и подобряването на социални програми; Език Module - съчетава инструменти и функции. машинно ориентирани и процесуално - ориентирани езици; Тя включва средства за съчетания за управление на писане на устройства, контрол на протичането на съобщенията, която традиционно се използва езика като асемблер.

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

Границата между проблема - и процесуално - ориентирани езици, не се очертава много ясно (условно) - LISP, Prolog.