Программирование

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

Программное обеспечение (software)– совокупность программ обработки данных и необходимых для их эксплуатации документов.

Программа – упорядоченная последовательность команд компьютера для решения задач.

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

КОП А1 А2 А3  
       
               

- например, так выглядит машинная команда для нахождения суммы двух чисел.

Первым программистом в мире называют Аду Лавлейс, современницу Чарльза Беббиджа, которая по достоинству оценила достоинства вычислительной машины и разработала некоторые приемы управления последовательностью вычислений, например описала конструкцию цикл. На заре компьютерной эры машинный код (программа, написанная с помощью лишь двух символов 0 и 1) был единственным средством общения человека с компьютером. Революционным моментом в истории языков программирования стало появление системы кодирования машинных команд с помощью специальных символов, предложенной Джоном Моучли, сотрудником Пенсильванского университета в середине прошлого века. Так зародились языки программирования. Система кодирования, предложенная Моучли, увлекла одну из сотрудниц его компании – Грейс Хоппер, которая по праву считала себя третьим программистом и посвятила всю свою жизнь компьютерам и программированию.. Огромным достижением создателей языков программирования было то, что они сумели заставить сам компьютер работать переводчиком с этих языков на машинный код. Т.е. были созданы компиляторы с созданных ими пока еще примитивных языков высокого уровня в машинные коды. В этих программах содержатся все правила и конструкции соответствующего языка программирования, а также способы преобразований этих конструкций на машинный язык.

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

50-е – КОБОЛ (для обработки коммерческих данных),

54 г. - Фортран (FORmula TRANslator) – фирма IBM

середина 60-х – BASIC (из простых английских слов)

60-е - PL/1, АЛГОЛ-68.

Языки программирования служат разным целям и их выбор определяется удобностью пользователя, пригодностью для данного компьютера и данной задачи. Период с конца 60-х до начала 80-х характеризовался бурным ростом числа различных языков, который завершился победой нескольких языков: Паскаль, Си, Бейсик, которые легко приспособились к персональным компьютерам.

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

Чтобы решить какую-либо задачу с помощью компьютера, в него следует ввести четко сформулированные инструкции или команды. Составление такой последовательности команд, которая необходима для решения поставленной задачи, и является целью программирования [1,2].

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

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

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

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

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

В настоящий момент существуют много языков программирования и их реализаций. Приведем классификацию языков программирования по их уровню.

Как известно, ядром любой вычислительной системы является центральный процессор (в персональном компьютере – микропроцессор), который оперирует исключительно двоичными данными [1]. Чтобы процессор смог выполнить любую команду, она должна быть представлена в виде двоичного числа. Процессор может выполнять только самые элементарные с точки зрения человека команды: сдвиг двоичного числа на несколько разрядов вправо или влево, обмен данными между внутренним регистром и памятью. Набор двоичных кодов, которые может выполнять процессор, называют машинным кодом. Машинный код – это базовый язык процессора.

Программирование в машинных кодах называют программированием на языке нижнего уровня. Такое программирование – очень сложная задача. Более того, машинный код у разных процессоров разный. Это означает, что программа, написанная в машинном коде для компьютеров типа IBM PC, не будет работать на компьютерах Macintosh и наоборот. Но сейчас программистами машинный код практически не используется, а применяются языки высокого уровня. Разработанные с их помощью программы представляют собой набор команд, написанных на ограниченном естественном языке.

Развитие языков программирования, да и всего программирования в целом, характеризуется общей тенденцией повышения их уровня. В таблице 1.1 приведена характеристика языков программирования по их уровню. При этом машинные языки, ассемблеры, макроассемблеры относятся к языкам нижнего уровня. К языкам высокого уровня относятся такие наиболее распространенные процедурные языки, как Visual Basic, Delphi (Pascal), C++.

Таблица 1.1.

Машинные языки Машинно-зависимые, быстрые, сложные для освоения, требуют хорошего знания архитектуры ЭВМ
Ассемблеры, макроассемблеры Более удобные для использования, быстрые, машинно-зависимые
Языки высокого уровня Мобильные, человекоориентированные, проще в освоении, более медленные

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

Существует два вида трансляторов: компилятор и интерпретатор.

Компилятор – переводит всю исходную программу на языке программирования в программу на машинном коде и программа выполняется.

Интерпретатор – переводит исходную программу на языке программирования пооператорно (покомандно) и каждый переведенный оператор выполняется.

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

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

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

1. разработать схему пользовательского интерфейса.

2. написать программный код.

3. выполнить отладку и тестирование программы.

4. написать документацию к программе и создать исполняемый код программы.

Если предстоит реализовать крупный проект, то надо разбить его на небольшие, функционально законченные части (модули).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: