Материал: Лекции по информатике учебнометодическое пособие

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
транслятором. На этом этапе транс-ляторы могли переводить в машинные коды конструкции, которыезаменялись одной или несколькими (условно не больше пяти) ма-шинными командами. Для совокупности правил, по которым следуетзаписывать программу, чтобы ее мог обработать такой транслятор,используюттермины ассемблер,макроассемблер.Ассемблер –этомашинно-ориентированныйязыкнизкогоуровня.Алгоритм,покоторомустроитсяпрограмма,приходитсядробить на очень мелкие шаги, которые умеет выполнять процессор.При появлении новых моделей процессоров с иной структурой ко-манд и встроенных операций приходится создавать новые версии ас-семблера, трансляторов с него и переписывать под них пользователь-скиепрограммы.Следующий этап развития инструментального ПО связан с по-явлением алгоритмических языков, каждый из которых содержитконструкции, удобные для записи алгоритмов в той или иной сферечеловеческойдеятельности.Алгоритмическиеязыкиотносятсякклассуязыковвысокогоуровня.Онипозволяютприсоставлениипрограммы дробить алгоритм на более крупные смысловые блоки, несвязанные со структурой и типом команд ЭВМ, на которой будет ра-ботать программа. При изменении модели процессора переписывает-ся только транслятор с алгоритмического языка, а пользовательскиепрограммыостаютсяпрежними.
      1. 1   ...   19   20   21   22   23   24   25   26   ...   45

Основные понятия алгоритмических языков. Алфавит.

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

исходным модулем.

Для ее трансляции можно использовать два типа технологий:интерпретацию или компиляцию. Трансляторы, реализующие этитехнологии, называются соответственно интерпретаторами и ком-пиляторами.При интерпретации транслятор переводит в машинные кодыочередную строку исходного модуля, сразу же выполняет еѐ и пере-ходит к обработке следующей строки, не создавая законченного ис-полняемого модуля всей программы в целом. Такой тип трансляцииудобеннаэтапеотладкиилитестированияпрограммы.Прикомпиляциитрансляцияразбивается на два этапа
(рис. 4.1). На первом компилятор создает объектный модуль – про-межуточную программу, в которой конструкции исходного модуляпереведены в машинные коды, но вместо реальных адресов данных иработающих с нею подпрограмм, используются относительные адре-са и не добавлены служебные подпрограммы, необходимые для еѐработы.Навторомэтапепрограмма-сборщикзаменяетвобъектноммодулеотносительные адреса на абсолютные и подключаеткнемунеобходимыедляработыстандартныепрограммы.Врезультатеполучаетсяисполняемыймодуль –программа,написаннаявмашинныхкодахиполностьюготоваяк работе.Исполняемый модуль
Исходный модуль
Объектный модуль
Компиляция Компоновка


Перевод кон- струкций языка в ма- шинные ко- ды с исполь- зованием от- носительных адресов
Добавление необходимых стандартных программ,

замена отно- сительных адресов ре- альными


Рис. 4.1. Схема трансляции в режиме компиляции

Этот режим трансляции удобен для расчѐтов по уже отлажен- ной и протестированной программе, так как исполняемый модуль можно сохранить в памяти и при необходимости провести расчеты с другим набором исходных данных, не повторяя трансляцию.

В настоящее время для большинства алгоритмических языков разработаны интегрированные системыпрограммирования(Бей- сик, Паскаль, Си и т. п.). Они включают в себя следующие компонен- ты:

  • текстовый редактор для написания программы;

  • библиотеки стандартных программ;

  • средства отладки;

  • справочную службу;

–компилятор и/или интерпретатор;

  • диалоговый интерфейс.

Основные алгоритмические языки высокого уровня


Один из первых языков программирования высокого уровня, Фортран(Formula Translation), был создан в середине 50-х годов. Он используется для инженерных и научных расчетов, для реше- ния задач физики и других наук с развитым математическим аппара- том. Благодаря своей простоте и тому, что на этом языке накоплены
большие библиотеки программ, Фортран и в наши дни остается од-нимизсамыхраспространенныхалгоритмическихязыков.Для решения экономических задач был создан язык програм-мированияКобол.Расширение областей применения ЭВМ влечет за собой созда-ние языков, ориентированных на новые сферы применения: Снобол –алгоритмическийязыкдляобработкитекстовойинформации.Лисп – алгоритмический язык для обработки символов. Он находитширокое применение в исследованиях по созданию искусственногоинтеллекта.В 1968 г. был объявлен конкурс на лучший язык программиро-вания для обучения студентов. Для этого конкурса Никлаус ВиртсоздалязыкПаскаль,достаточнопростой,удобный,сналичиеммощных средств структурирования данных. Хотя Паскаль был разра-ботан как язык для обучения программированию, он впоследствииполучил широкое развитие и в настоящее время считается одним изсамыхиспользуемых языков.ДляобучениямладшихшкольниковСамуэлемПайпертомбылразработанязыкЛого.Онотличаетсяпростотойибогатымивозможностями.Широкое распространение в школах в качестве обучающего
языка получил язык Бейсик, позволяющий взаимодействовать с ЭВМв режиме непосредственного диалога. Спустя много лет после изо-бретения Бейсика, он и сегодня самый простой для освоения из де-сятковязыков общецелевогопрограммирования.Необходимость разработки больших программ, управляющихработой ЭВМ, потребовала создания специального языка программи-рования. В начале 70-х г. был разработан язык СИ, который широкоиспользуется как инструментальный язык для разработки опера-ционныхсистем,трансляторов,базданныхидругихсистемныхи прикладных программ. Это язык программирования общего назна-чения. Во многих случаях программы, написанные на Си, сравнимыпо скорости с программами, написанными на языке Ассемблера. Приэтом они имеют лучшую наглядность и их более просто сопровож-дать. В отличие от Паскаля, в нем заложены возможности непосред-ственного обращения к некоторым машинным командам и к опреде-ленным участкампамяти компьютера.Появлениефункциональногопрограммированияпривелоксозданию языка Пролог (ПРОграммы ЛОГические). Этот язык про-граммирования разрабатывался для задач анализа и понимания ес-тественных языков на основе языка формальной логики и мето-довавтоматическогодоказательстватеорем.В 80-х г. 20 века был создан язык Ада. В дополнение к класси-ческимсвойствам,онобеспечиваетпрограммированиезадачре-альноговремениимоделированияпараллельногорешениязадач.КязыкамсверхвысокогоуровняможноотнестиАлгол-68иAPL. Повышение уровня этих языков произошло за счет введениясверхмощных операций и операторов.В современной информатике можно выделить два основных
Источник: https://files.student-it.ru/previewfile/157483