Занятие 5.
I. Что такое программа
Чтобы найти ответ на поставленный вопрос вспомним принцип функционирования технических информационных систем:
Отличительная особенность информационной системы - выполнение определенных информационных процессов. А программное обеспечение отвечает, в первую очередь, за процесс обработки данных (это тот процесс, который невозможен без участия програмы):
- данные считываются в программу,
- обрабатываются,
- и передаются аппаратному обеспечению.
Итог: программа - составляющая информационной системы, которая выполняет обработку данных и может определять поведение системы.
Составляющие программы.
Программная логика - компьютер реализовывает определенную логику действий, которая "записана" в программах.
Структура данных - данные, которые обрабатывает программа, хранятся в организованных структурах (способ хранения данных).
Интерфейс - средство взаимодействия программы с пользователем и другими программами.
Алгоритмические языки программирования. Представление информационного процесса в форме алгоритма позволяет поручить его автоматическое исполнение различным техническим устройствам, среди которых особое место занимает компьютер. При этом говорят, что компьютер исполняет программу (последовательность команд), реализующую алгоритм на каком-либо языке программирования. |
II. Понятие языка программирования.
Физические принципы работы электронных устройств ЭВМ таковы, что компьютер может воспринимать команды, состоящие только из единиц и нулей, т. е. машинный код. На начальной стадии развития ЭВМ человеку было необходимо составлять программы на языке, понятном компьютеру, в машинных кодах. Каждая команда состояла из кода операций и адресов операндов, выраженных в виде различных сочетаний единиц и нулей.
Как показала в дальнейшем практика общения с компьютером, такой язык громоздок и неудобен. При пользовании им легко допустить ошибку, записав не в той последовательности 1 или 0. Программу очень трудно контролировать. Кроме того, при программировании в машинных кодах надо хорошо знать внутреннюю структуру ЭВМ, принцип работы каждого блока. И самое плохое в таком языке, что программирование в машинных кодах требует от программиста много времени, труда, повышенного внимания.
- Процессор компьютера может выполнять команды, поданные только машинном языке.
- Машинная язык- это язык программирования, в которой коды подаются как последовательности двоичных кодов.
- Машинный язык программирования ориентирован на процессоры конкретной архитектуры, то есть машинные языки для разных процессоров могут отличаться друг от друга.
- Для выполнения процессором программ, написанных не на машинном языке программирования, их нужно сначала перевести на машинный язык и только потом выполнить.
Это привело к необходимости найти такое средство, которое позволит более просто наладить общение человека и компьютера.
И такое средство было найдено: различные символические языки и соответствующие им трансляторы (системы программирования).
Различают два вида программ-переводчиков (трансляторов):
- компиляторы;
- интерпретаторы.
Программы - компиляторы:
- Эти программы анализируют весь текст программы на наличие синтаксических ошибок, и если такие ошибки отсутствуют, переводят текст программы на машинный язык, формируя машинный код программы. Этот код, в зависимости от режима работы компилятора, или сохраняется в памяти компьютера, или записывается на диск в виде исполняемого файла (например, ехе-файла).
- После получения исполняемого файла его можно отправить на исполнение процессором. При этом сама программа-компилятор уже не используется. Поэтому исполняемый файл может использоваться и на тех компьютерах, где программа-компилятор отсутствует.
- При наличии в программе синтаксических ошибок, компилятор или останавливается на первой из них и выводит на экран сообщение об ошибке или анализирует программу до конца и выводит на экран общий список сообщений об имеющихся ошибках.
- После этого нужно исправить все синтаксические ошибки и начать процесс компиляции снова.
Программы- интерпретаторы:
- Для некоторых языков программирования созданы другие специальные программы - интерпретаторы.
- Эти программы не создают исполняемых файлов, а анализируют программу по-командно и сразу же эти команды выполняют. Поэтому выполнить программу, которая интерпретируется, а не компилируется, можно только на том компьютере, где установлена соответствующая программа-интерпретатор.
- Для некоторых современных языков программирования используют комбинацию компиляции и интерпретации. Сначала программа компилируется в некоторый промежуточный код (не машинный), после чего интерпретируется специальной программой, написанной для этого кода.
Итог
Транслятор представляет собой программу, на основе которой машина преобразует вводимые в нее программы на машинный язык, поскольку вычислительная машина может выполнять программы, записанные только на языке машины, и алгоритмы, заданные на другом языке, должны быть перед их выполнением переведены на машинный язык. |
Также система программирования может включать в себя:
- библиотеки стандартных подпрограмм,
- отладчик,
- компоновщик,
- и другие сервисные средства.
Каждый язык программирования имеет такие компоненты:
- Алфавит - множество символов, из которых можно образовывать слова и предложения этого языка4
- Словарь - набор специальных (зарезервированных, ключевых) слов;
- Синтаксис - правила составления и записи языковых конструкций (не словарных слов и предложений);
- Семантику - условленное однозначное толкование языковых конструкций, правил их выполнения.
Алфавит и синтаксис языков программирования определяется исходя из стремления приблизить их к языку человека, но вместе с тем обеспечить возможность перевода записи алгоритма с языка программирования на машинный язык. В отличие от языка человека языкам программирования свойственна строгость синтаксических и семантических правил.
В мире насчитывается несколько сотен символических языков программирования различных структур и возможностей, которые могут быть классифицированы по различным признакам.
Языки программирования:
Процедурные Функциональные Логические Объектно-ориентированные
вверх
Справка: Классификация языков программирования
назад
занятие 6