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




НазваниеОсновы информатики и вычислительной техники системы программирования
страница1/19
Дата публикации23.05.2014
Размер1.11 Mb.
ТипТематический план
literature-edu.ru > Информатика > Тематический план
  1   2   3   4   5   6   7   8   9   ...   19


БЕЛОРУССКИЙ ИНСТИТУТ ПРАВОВЕДЕНИЯ




Дистанционное образование



А.И.Бородина, Л.И.Крошинская, О.Л.Сапун

ОСНОВЫ ИНФОРМАТИКИ

И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ

Системы программирования


Минск

2004
БЕЛОРУССКИЙ ИНСТИТУТ ПРАВОВЕДЕНИЯ



Дистанционное образование
А.И.Бородина, Л.И.Крошинская, О.Л.Сапун

ОСНОВЫ ИНФОРМАТИКИ

И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ

Системы программирования

Минск
НО ООО «БИП-С»
2004


СИСТЕМЫ ПРОГРАММИРОВАНИЯ



Тематический план


  1. Понятие и классификация языков программирования.

  2. Основные понятия языков программирования.

  3. Основы программирования.

  4. Процедурный и объектный подходы в программировании.

  5. Макросредства.

  6. Общая характеристика языка программирования VBA.

  7. Основы программирования на VBA.

  8. Объектно-ориентированное программирование на языке Jawa.

  9. Краткий обзор языков программирования.

Литература.

Глоссарий.

Тесты.

Тренинг умений.

КРАТКАЯ АННОТАЦИЯ

Дается понятие и классификация языков программирования по степени зависимости от ЭВМ, по уровням представления и областям применения. Рассматриваются основные понятия языков программирования. Излагаются процедурный и объектный подходы в программировании. Более подробно рассматриваются макросредства и приводятся примеры макросов в среде Microsoft Word и Excel. Приводится краткий обзор языков программирования.



1.Понятие и классификация языков программирования


Языки программирования предназначены для записи алгоритмов решения задач средствами, достаточно формализованными и приспособленными для их последующего выполнения на машине.

Наиболее общая классификация языков программирования основывается на степени их зависимости от ЭВМ. В этом случае различают: машинно-зависимые и машинно-независимые языки.

Машинно-зависимые языки делят на: машинные и машинно-ориентированные. Машинныеэто внутренние языки конкретных машин, их еще называют машинными кодами. То есть если семантика языка программирования реализована в конкретной машине, то такой язык называется машинным. Машинно-ориентированные языки связаны с определенной машиной и отражают ее структуру.


Машинно-независимые языки



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

Под алгоритмическим языком понимается связанная синтаксической структурой система обозначений и терминов, содержащая исчерпывающие сведения о том, какие действия, над какими данными, и в какой последовательности надо выполнить, чтобы решить поставленную задачу.

Аналог алгоритмического языка удобно показать на примере пишущей машинки, на клавишах которой вместо букв – слова. При пользовании этой машинкой мы выигрываем в скорости, аккуратности, не допускаем ошибок в словах, но ограничиваем себя темами, обуславливаемыми выбранным словарем. То же самое и в программировании с использованием алгоритмических языков.

Создание алгоритмических языков ставит перед собой задачи уменьшить затраты времени, необходимые на написание и отладку новых программ; облегчить внесения изменений в программу, возникающих при обработке данных; облегчить процесс преобразования программы с одного типа ЭВМ на другой. Исходя из этого, к алгоритмическим языкам при их создании предъявлялись требования наглядности, т.е. использование легко понимаемых изобразительных средств, и гибкости, т.е. любой из распространенных приемов обработки данных должен достаточно удобно описываться средствами языка.

Машинно-независимые языки делятся на (рис.1): процедурно-ориентированные, проблемно-ориентированные и объектно-ориентированные. Процедурно-ориентированные языки предназначены для описания отдельных классов алгоритмов, например, вычислительных, экономических и т.д. К ним относят такие языки как Бейсик, Си, Паскаль и др. Проблемно-ориентированные языки предназначены для описания не алгоритмов, а задач в терминах их предметной области.




Рис. 1. Классификация языков программирования


Проблемно-ориентированные языки предназначены для описания задач из определенной области внутри конкретного класса. Например, внутри класса экономических задач можно выделить области проектирования АСУ, проектирования технологий, конструкторского проектирования и др. Проблемно-ориентированные языки, с одной стороны, синтаксически должны быть проще, чем процедурно-ориентированные, а с другой, – опираться на некоторый процедурно-ориентированный язык.

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

Объектно-ориентированные языки предназначены для работы с объектами в зависимости от происходящих событий. В эту группу входят такие языки как Delfy, Jawa, VBA и др.

Программы, написанные на алгоритмических языках, не могут непосредственно исполняться на ЭВМ. Они нуждаются в предварительном переводе на машинный язык. Такой перевод совершается автоматически с помощью специальной программы, называемой транслятором. Программа, написанная на языке программирования, носит название исходной программы. Она вводится в память ЭВМ, и транслятор воспринимает ее в качестве исходных данных. Процесс ввода программы в память ЭВМ и переработки ее с помощью транслятора называется трансляцией. В процессе трансляции происходит и выявление некоторых ошибок. Выдаваемые транслятором данные составляют выходную, или объектную программу (объектный модуль).

В зависимости от функционального назначения транслятор может быть либо компилятором, либо интерпретатором.

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

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

Первой интерпретирующей программой можно считать «универсальную машину Тьюринга», которая могла иммитировать любую машину Тьюринга. Эти машины не являются настоящими машинами, а служат лишь теоретическим инструментом, который используется при доказательстве некоторых проблем «неразрешимости».

Интерпретирующие программы были разработаны после 1950 г., главным образом, как средства выполнения арифметических операций с плавающей запятой. В этой работе принимал участие и Тьюринг. Наиболее значительными работами в этом направлении были некоторые программы для машины ILLIAC. Из ранних интерпретаторов более широко использовалась система Дж. Бэкуса для машин IBM701 и IBM650. Интерпретаторы обычно используются при:

  • моделировании на одной машине операций другой машины;

  • интерпретации языков моделирования, предназначенных для описания параллельных процессов на последовательных машинах;

  • отладке программ;

  • интерпретации инструкций в целях управления процессами реального времени и разделения времени;

  • в интерпретирующих трансляторах.

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

В отличие от интерпретатора, компилятор должен находиться в основной памяти только в момент трансляции программы, а затем может быть удален. Перевод, в этом случае, производится один раз. Однако программа, полученная после компиляции, занимает больше места в памяти, чем при использовании интерпретатора.

В настоящее время используются как программы-компиляторы, так и программы-интерпретаторы. Транслирующие системы со специализированных языков высокого уровня представляют собой более сложную организацию транслятора и могут одновременно совмещать в себе элементы компилирования и интерпретирования.

В общем случае любая система программирования обеспечивает следующие функции:

  • контроль правильности записи программ и алгоритмов на входных языках и выдачи информации о наличии, месте и характере ошибок;

  • общее распределение памяти и описание глобальных переменных, используемых многими подпрограммами данной задачи;

  • трансляцию отдельных частей или всего алгоритма, написанного на входном языке, в некий промежуточный язык низкого уровня или машинные коды;

  • автоматическую стыковку подпрограмм внутри отдельно протранслированных частей общего алгоритма по глобальным переменным;

  • накопление в одной из библиотек системы результатов трансляции отдельных частей алгоритма для дальнейшего их объединения;

  • выпуск сопровождающей технической документации: распечаток программ на входном и машинном языках, сведений о распределении памяти и др.

Описанная классификация – это «чистая» классификация. Практически существующие языки сочетают свойства различных языков из приведенной классификации.

В основу классификации языков программирования, кроме степени зависимости от машины, могут быть положены и другие принципы. Так, языки можно классифицировать по уровням представления и по области применения.

По уровням представления различают: эталонные языки, языки для публикаций и языки конкретных представлений.

Эталонный язык является основой языка. В нем отражаются все его принципиальные положения. Если эталонному языку передается вид, пригодный для машинного применения, то он называется языком конкретных представлений. Язык для публикаций служит для распространения программ среди пользователей. В этом варианте допускаются определенные упрощения в применении символики.

Эталонный язык является базовым. Он используется для создания различных вариантов языка. Язык публикаций является производным от эталонного языка и отличается от него некоторыми видоизменениями, связанными с удобством печати алгоритмов. Естественно, что эти отклонения от эталонного языка могут быть различными в различных странах, однако при этом должно быть определено однозначное соответствие между эталонным языком и соответствующим языком публикаций. Следует отметить, что основополагающие материалы публикуются в печати всегда на эталонном языке.

Каждый вариант языка конкретного представления является производным от эталонного языка. Он учитывает возможности транслятора и конкретной вычислительной машины, для которой составляется транслятор. Следовательно, даже для одного типа ЭВМ может существовать несколько вариантов языка конкретного представления, каждый из которых зависит от возможностей того или иного транслятора. Каждый из языков представления должен сопровождаться совокупностью правил для перевода записей, как с эталонного языка, так и с языка публикаций.

Языки также классифицируются по области применения:

  • для описания вычислительных задач;

  • для описания экономических задач;

  • символьного преобразования;

  • отладки;

  • параллельного программирования.


Вопросы для самоконтроля





  1. Понятие машинных и машинно-зависимых языков программирования.

  2. Общая характеристика и классификация машинно-независимых языков программирования.

  3. Понятие транслятора, компилятора, интерпретатора.

  4. Классификация языков программирования по уровням представления и областям применения.



  1   2   3   4   5   6   7   8   9   ...   19

Добавить документ в свой блог или на сайт

Похожие:

Основы информатики и вычислительной техники системы программирования iconОсновы информатики и вычислительной техники компьютерные сети Минск
Рассматривается понятие компьютерной сети, структура и целесообразность ее создания. Приводится классификация сетей по территории...

Основы информатики и вычислительной техники системы программирования iconВиды и формы контроля знаний на уроках информатики
Одним из основных направлений повышения эффективности учебного процесса по курсу основ информатики и вычислительной техники является...

Основы информатики и вычислительной техники системы программирования iconТребования к кабинету информатики Требования к кабинету информатики и вычислительной техники
Помещения кабинета ивт должны иметь естественное и искусственное освещение в соответствии с СанПиН 2 542-96

Основы информатики и вычислительной техники системы программирования iconОсновы информатики и вычислительной техники
Описан интерфейс и назначение команд основного меню пакета презентационной графики PowerPoint. Показана технология создания слайдов,...

Основы информатики и вычислительной техники системы программирования iconТребования к кабинету информатики и вычислительной техники
Помещения кабинета ивт должны иметь естественное и искусственное освещение в соответствии с СанПиН 2 542-96

Основы информатики и вычислительной техники системы программирования iconКонспект лекций для студентов пятого курса специальности 220400 Программное...
Данный конспект лекций составлен для студентов четвёртого курса специальности “Программное обеспечение вычислительной техники и автоматизированных...

Основы информатики и вычислительной техники системы программирования iconИ вычислительной техники системное программное обеспечение. Операционная система Windows Минск
Дается общая характеристика операционной системы Windows, рассматривается пользовательский интерфейс. Дается понятие файловой системы,...

Основы информатики и вычислительной техники системы программирования iconРеспублики Беларусь Учреждение образования «белорусский государственный...
Конспект лекций по курсу «Основы алгоритмизации и программирования» для студентов всех специальностей и всех форм обучения. Мн.:...

Основы информатики и вычислительной техники системы программирования iconСреда программирования Visual C++ 0 Общий вид окна
Совокупность средств и правил для представления алгоритма в виде пригодном для выполнения вычислительной машиной называется языком...

Основы информатики и вычислительной техники системы программирования iconКонспект лекций доцента и. А. Волковой по курсу «системы программирования»
Система программирования – комплекс программных инструментов и библиотек, который поддерживает создание и существование программного...

Литература


При копировании материала укажите ссылку © 2015
контакты
literature-edu.ru
Поиск на сайте

Главная страница  Литература  Доклады  Рефераты  Курсовая работа  Лекции