Смекни!
smekni.com

НН Трушин Информатика (стр. 9 из 37)

Машинно-ориентированным языком является язык ассемблера, операторы которого являются непосредственным отображением команд процессора конкретной ЭВМ. Язык ассемблера появился в 1950 году. Для написания операторов ассемблера используются не числовые, а мнемонические коды команд процессора ЭВМ, а для указания адресов операндов – не физические, а символические адреса ячеек памяти. При трансляции каждый оператор ассемблера преобразуется в одну машинную команду.

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

Const EQU 1024 ; объявление константы
Cacl PROC ; объявление подпрограммы
metka: MOV AX,data ; пересылка информации
CALL Calc ; вызов подпрограммы
CMP AL,1 ; команда сравнения
JMP error ; переход на метку
ADD data,AX ; команда сложения
SUB CX,2 ; команда вычитания
MUL AX,16 ; команда умножения
DIV DX,2 ; команда деления
LOOP metka ; команда цикла
INT 21H ; вызов прерывания
error: RET ; выход из подпрограммы

Языки программирования высокого уровня позволяют программисту абстрагироваться от конкретных свойств и характеристик ЭВМ, что способствует повышению производительности труда программиста, улучшению наглядности программы, облегчению ее модифицируемости и переносимости на другие ЭВМ. На ПЭВМ используются несколько наиболее популярных универсальных языков: Бейсик, Фортран, Паскаль, Си.

Язык Фортран (FORTRAN) является одним из самых старых языков программирования высокого уровня. Первые версии языка были разработаны сотрудником фирмы IBM Джоном Бэкусом в 1956-х году. Язык предназначен для программирования научно-технических задач исследовательского характера и нашел широкое применение на больших и малых ЭВМ. Фортран оказал громадное влияние на развитие программного обеспечения ЭВМ. На ПЭВМ он также активно используется благодаря тому, что для него накоплены обширные библиотеки стандартных подпрограмм. Наиболее популярными версиями языка являются Фортран-4 и Фортран-77.

Язык Бейсик (BASIC) был разработан в 1964 году сотрудниками Дартмутского колледжа Джоном Кемени и Томасом Куртцом (США). Бейсик одним из первых стал использоваться на микроЭВМ и ПЭВМ. Широкое распространение языка объясняется его простотой и наличием средств диалога с пользователем. В настоящее время существует довольно много реализаций этого языка, но наиболее популярны версии Бейсика для операционных систем MS-DOS и Windows. Бейсику отводится ведущая роль в образовании как языку обучения программирования.

Язык Паскаль (PASCAL) был разработан в 1969–1971 годах профессором Цюрихского технологического института Никлаусом Виртом как классический язык для обучения студентов программированию, но через некоторое время нашел широкое применение для решения сложных задач. Язык имеет четкое построение и позволяет работать с данными сложной структуры, снабжен средствами для реализации принципов модульного программирования.

Язык Си (С) был разработан в 1972 году американскими программистами Р. Керниганом и Д. Ричи, сотрудниками фирмы Bell Laboratories как инструмент для создания системных программ. Так, например, язык Си применялся при разработке операционных систем UNIX, MS-DOS, Windows. В языке имеются гибкие средства для эффективного использования аппаратуры ЭВМ. Порождаемые языком Си машинные программы компактны и имеют высокое быстродействие. Однако язык Си не имеет такого строгого построения, как Паскаль, что требует от программиста определенного навыка при составлении программ.

Отметим, что языки программирования Алгол (ALGOL, 1958) Кобол (COBOL, 1960), PL-1 (1964), которые были основными инструментами программистов в 60-х – 80-х годах, на ПЭВМ уже не получили такой популярности, как на больших и малых ЭВМ.

Широкое распространение среди программистов получили системы программирования для IBM-совместимых ПЭВМ, разработанные фирмами Borland International (Turbo Basic, Turbo Pascal, Turbo C, Turbo C++, Turbo Prolog, Turbo Assembler) и Microsoft (Quick Basic, Quick Pascal, Quick C).

Все рассмотренные языки программирования ориентированы на реализацию процедурно-ориентированного способа программирования. Программа на процедурном языке программирования состоит из последовательности операторов, задающих какие-либо действия. Основным оператором является оператор присваивания, служащий для изменения содержимого ячеек памяти. Однако во многих прикладных задачах существуют понятия, которые трудно представить в виде функции. Поэтому со второй половины 80-х годов получает распространение новая концепция разработки программ для ЭВМ, получившая название объектно-ориентированное программирование. Концепция базируется на том, что для формализации алгоритма могут применяться объекты – специальные структуры, объединяющие в себе данные и процедуры, которые производятся над этими данными. Объектно-ориентированный подход в программировании позволил значительно упростить разработку сложных программ. Первым популярным объектно-ориентированным языком программирования стал С++, разработанный в 1983 году Бьѐрном Страуструпом из фирмы Bell Laboratories на основе стандарта языка Си и методологии объектно-ориентированного программирования. В дальнейшем на основе других популярных языков программирования был создан класс объектно-ориентированных языков и соответствующих систем программирования: Delphi, Borland C++, Visual Basic, Visual C++ и другие.

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

Под системой программирования понимается совокупность языка программирования и программных средств разработки программ для ЭВМ.

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

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

Кроме транслятора в систему программирования могут входить следующие программные продукты:

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

• библиотеки стандартных подпрограмм (математических, графических, для работы с периферийными устройствами ЭВМ и других);

• редактор связей (компоновщик);

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

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

• обучающая программа (тьютор), облегчающая процесс приобретения навыков пользования конкретной системой программирования.

Современные системы программирования носят интегрированный характер. Так, например, система программирования Turbo Pascal имеет в своем составе центральную программу (файл TURBO.EXE), совмещающую в себе функции текстового редактора, компилятора, интерпретатора, отладчика и справочника (при наличии дополнительного файла TURBO.HLP). Базовая библиотека стандартных подпрограмм находится в файле TURBO.TPL. Таким образом, ядро системы программирования состоит всего из трех файлов.

3.5. Прикладные программы

Стремительное развитие вычислительной техники и расширение сферы приложения ЭВМ привели к интенсивному развитию системы программного обеспечения. Развитие программного обеспечения пошло как вглубь (появились новые концепции операционных систем, языков программирования, баз данных и т.д.), так и вширь (прикладные программы приобрели самостоятельную ценность). По некоторым оценкам уже во второй половине 80-х годов на мировом рынке программных продуктов предлагалось порядка 35...50 тыс. прикладных программ. В настоящее время рынок программных продуктов увеличился во много раз и приобрел устойчивый характер, появилось много организаций, оказывающих услуги по распространению программного обеспечения для ЭВМ. В каждой развитой стране выпускается от 5 до 150 печатных изданий, информирующих пользователей ЭВМ о доступных компонентах программного обеспечения. В 1998 году объем продаж программного обеспечения составил более 250 млрд долларов. Среднегодовые темпы роста мирового рынка компьютерных программ составляют порядка 13,5% в год. Одним из основных инструментов распространения программ сегодня стала глобальная компьютерная сеть Internet.