2. Системы программирования
2.1. Средства создания программ.
Для создания программы необходимы следующие компоненты:
текстовый редактор;
компилятор;
редактор связей;
библиотеки функций.
Текстовый редактор. В этом редакторе записывается текст программы и набор стандартных символов для записи различных операций. Позволяет определять правильность синтаксического набора непосредственно во время набора программы.
После перевода программы в машинные коды создается промежуточный объектный код, который, как правило состоит из отдельных модулей, размещаемых в отдельных файлах. Эти отдельные файлы затем необходимо объединить в одно целое с помощью специальной программы – редактором связей или сборщиком.
Кроме того, к программе могут быть добавлены различные стандартные функции, которые находятся в библиотеках программ , поставляемых вместе с компиляторами.
После всех этих операций создается Исполнимый код, который можно запустить на любом компьютере, где имеется операционная система, для которой эта программа создавалась.
2.2 Среды быстрого проектирования
В последние годы в программировании используется визуальный подход: создание различных графических элементов управления и контроль за их режимом работы. Примером для этого может служить различные графические приложения, используемые в операционной системе Windows. Создавать графические элементы программным методом очень трудоемко. Чтобы облегчить этот процесс, были созданы среды быстрого проектирования (Rapid Application Development – создание повторяющихся приложений) RAD – среды. В дальнейшем все необходимые элементы управления создаются с помощью копирования ранее созданных визуальных компонент с помощью перетаскивания мышью в проектируемое окно. Их свойство и особенности управления настраиваются с помощью их редакторов, визуально показывающих характеристики объекта.
В результате программирование заменяется визуальным проектированием.
Модульное программирование
Решение любой задачи разбивается на ряд последовательных во времени действий, т.е. на алгоритм ее выполнения.
Алгоритм на выбранном языке программирования записывается с помощью команд описания данных, вычисления значений и управления последовательностью операций вычисления.
3.1. Команды описания данных
Данные могут быть разделены по следующим типам:
переменные величины, которые могут менять свое значение в ходе выполнения программы;
постоянные величины, которые не меняют своего значения;
вещественные величины, имеющие как целочисленное, так и дробное значение;
целочисленные величины;
массивы.
Каждой величине, описанной в программе, сопоставляется своя ячейка памяти, значение которой может меняться в процессе исполнения программы. Ячейка памяти описывается конкретным именем, который называется идентификатором. При этом кроме имени в описании указывается и тип соответствующей величины : переменная , постоянная, вещественная или целочисленная.
Например, при описании данных на языке Алгол указывается :
Real- вещественное число
Integer- целое число
Array (1,n) – массив одномерный, размерностью от 1 до n, указанной в скобках, т.е. для массива обязательно указание его границ.
3.2. Арифметические операции
К основным арифметическим операциям относятся:
+ сложение;
- вычитание;
* умножение;
/ деление.
Операции с более высоким приоритетом будут выполняться раньше, чем операции с низким приоритетом. Например, операции умножения и деления будут выполняться раньше, чем операции сложения и вычитания. При этом выполнение операций допустимо укладывать в скобки, а скобки допускается вкладывать друг в друга . (Число открывающихся скобок должно быть равно числу закрывающихся скобок).
3.3. Логические выражения.
Логические выражения могут принимать только два значения:
true – истина
false - ложь
При этом истина соответствует 1, а ложь – 0.
Кроме того, при операциях сравнения сличают значения левого и правого операнда и используют следующие формы записи:
Операция |
Варианты написакния |
|
Бэйсик , Паскаль |
СИ |
|
Равно |
= |
== |
Не равно |
<> |
!= |
Меньше |
< |
< |
Меньше или равно |
<= |
<= |
Больше |
> |
> |
Больше или равно |
>= |
>= |
В следующей таблице приведен синтаксис логических операций.
Операция |
Варианты написакния |
|
Бэйсик |
СИ |
|
И |
AND |
& |
Или |
OR |
| | |
Нет |
NOT |
! |
3.4. Операторы программирования
Каждая команда в программе представлена одним оператором. А каждый оператор имеет знаки отделения их друг от друга. Так например, операторы в Паскале отделяются друг от друга ; , а операторы в Бейсике : .
Если в программе возникает необходимость выполнять команды группы операторов, то эту группу выделяют различными способами:
В Алголе для этого используют ключевые слова
Begin
группа операторов
End;
В языке Си – фигурные скобки { группа операторов}
В языках программирования существует оператор присваивания, который определяет имя переменной, значение которой меняется.
Например, его значение в Паскале :
:=
Этот знак отличается от знака равенства =.
Если знак равенства указывает сравнение операций, то знак присвоения указывает значение переменной после совершения операций.
Пример.
Х=У - результат сравнения переменных Х и У
Х:= У – в ячейку с именем Х записать значение У , т.е. Х присвоить значение У.
Условные операторы.
Для изменения порядка вычислений при определенных условиях существуют условные операторы вычисления. Эти операторы записываются в виде логических выражений и при их выполнении происходит разветвление программы.
ПРИМЕР
На языке Паскаль имеем следующую запись:
If (a=0) d:= 0
Else d:= 1;
Данный оператор выполняет следующую команду:
Если а= 0, то d присвоить значение 0, иначе d присвоить значение 1.
С помощью условных операторов можно выполнять повторяющиеся вычисления, т.е. организовывать операторы цикла.
Такие операторы цикла состоят из трех частей:
1- переменная счетчика вычислений.
2-определение конечного числа счетчика
3- определение приращение счетчика.
ПРИМЕР
На языке Паскаль оператор цикла имеет вид:
For i:= 1 to 100 do
a[i]:= 0
Что означает:
Для переменной i от 1 до 100 выполнить следующее действие с переменной массива А : любому ее элементу присвоить нулевое значение.
Для общения человека с результатами вычислений или ввода необходимых данных существуют специальные операторы ввода-вывода, которые на разных языках имеют различное обозначение.
Например, на Алголе оператор ввода имеет вид:
Input (1, A, B)
Что означает: Ввести с бумажного носителя (перфоленты) значение переменных А и В.
Оператор вывода имеет вид:
Output (4, A, B)
Что означает: вывести на широкую бумажную ленту результаты вычислений переменных А и В.