Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по инф-ке.docx
Скачиваний:
8
Добавлен:
27.10.2018
Размер:
160.25 Кб
Скачать

4. Система программ-я.

Особую группу сост-ют системы программ-я (инструментальные системы), которые явл-ся частью сист. ПО, но носят прикладной хар-р. Системы программ-я – это совокупность программ для разработки, отладки и внедрения новых программных продуктов. Системы программ-я обычно содержат: трансляторы; среду разработки программ; библиотеки справочных программ (функций, процедур); отладчики; редакторы связей и др.

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

По этому критерию м. выделить след. уровни языков программ-я: - машинные; - машинно-оpиентиpованные (ассемблеры); - машинно-независимые (языки высокого уровня). Машинные языки и машинно-ориентированные языки — это языки низкого уровня, требующие указания мелких деталей процесса обработки данных. Языки же высокого уровня имитируют ест.языки, используя некот. слова разговорного языка и общепринятые матем.символы. Эти языки более удобны для человека.

Языки высокого уровня делятся на:

- алгоритмические (Basic, Pascal, C и др.), кот. предназначены для однозначного описания алгоритмов;

- логические (Prolog, Lisp и др.), кот. ориентированы не на разработку алгоритма реш-я задачи, а на системат-ое и формализованное описание задачи с тем, чтобы реш-е следовало из составленного описания.

- объектно-ориентированные (Object Pascal, Delphi, C++, Visual Basic, Java и др.), в основе которых лежит понятие объекта, сочетающего в себе данные и действия над нами. Программа на ОО языке, решая некот.задачу, по сути описывает часть мира, относящуюся к этой задаче. Описание действительности в форме системы взаимодействующих объектов естественнее, чем в форме взаимодействующих процедур.

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

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

Транслятор — это программа-переводчик. Она преобразует прогр-му, написанную на 1 из языков высокого уровня, в программу, состоящую из машинных команд. Трансляторы реализ-ся в виде компиляторов или интерпретаторов. Компилятор (англ. compiler — составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законч. вариант программы на машин. языке, который затем и выполняется (Pascal). Интерпретатор (англ. interpreter — истолкователь, устный переводчик) переводит и вып-ет прогр-му строка за строкой (Basic).

Т.о. алгоритмич. языки в знач. мере явл-ся машинно-независимыми. Они облегчают работу программиста и повышают надежность создаваемых программ.