Базовые элементы алгоритмических языков программирования.
Любой язык программирования характеризуется определенным набором конструктивных элементов. К таким базовым элементам, в частности, относятся: Алфавит и служебные слова, Структура программы, Данные, Подпрограммы. Охарактеризуем их подробнее.
· Алфавит и служебные слова. Языки программирования, так же как и разговорные, имеют свой алфавит.
Определение.Алфавитом языка программирования называют набор символов, с помощью которых составляется программа.
· Служебные слова (в каждом языке программирования) необходимы для записи текста программы. Так как языки программирования являются формальными, а не разговорными, то служебные слова не подлежат изменению или сокращению – это просто иная форма записи символов. Например: Begin, For и т.д.
· Структура программы.Алгоритмические языки являются, как правило, операторными языками, т.е. отдельными предложениями являются операторы, с помощью которых задаются действия. Программа же представляет собой формальную запись некоторого алгоритма.
В соответствии с последним принципом программа на любом алгоритмическом языке состоит из двух частей:
§ Описания данных, с которыми оперируют действия.
§ Описания последовательности действий, которые необходимо выполнить,
Действия представляются операторами языка, данные вводятся посредством описаний и определений. Описания данных по тексту должны предшествовать описанию действий.
§ Данные.Данные есть сведения об объектах, их свойствах и отношениях. Все данные делятся на два класса – константы и переменные.
§ Константа– это величина, значение которой не изменяется в ходе выполнения программы.
§ Переменнойназывается величина, значение которой может изменяться в ходе выполнения программы.
Константы и переменныехарактеризуется типом данных, идентификатором (именем), значениемидопустимыми операциями над ними:
§ Тип определяет вид информации, соответствующей данному (число, строка и др.). От типа зависит объем памяти для хранения каждого из данных и допустимые операции, которые можно выполнять над ними. Например, операцию умножения нельзя производить над символами.
§ Идентификатор (имя) служит для обозначения данных в программе. Он используется для удобства и позволяет работать с данными, задавая адреса ячеек памяти, где хранятся эти данные, не в виде чисел, а именами.
§ Выражением называется совокупность констант, переменных, функций, соединенных знаками допустимых операций.
§ Значением является результат вычисления выражения. Во время выполнения программы в каждый конкретный момент данные могут иметь какое-то значение или быть не определены.
§ Оператор языка программирования – это законченное предложение языка программирования, определяющее действие или последовательность действий по обработке данных.
§ Подпрограммы — это оформленные особым образом фрагменты программы. Различают подпрограммы-функции и подпрограммы-процедуры.
Основные типы данных.
Данные могут быть простымиисложными. Типы данных подразделяются на простыеиструктурированныеилиструктуры [24]).
6.9.1.Простые типы данных.
К простым (атомарным, неструктурированным) типам данных относятся данные, не содержащие в себе как часть другие данные.
Это следующие типы:целый, вещественный, логический исимвольный.
§ Над целыми значениями допустимы следующие операции: сложение, вычитание, умножение, деление. Кроме этого, только для целых чисел можно выполнять деление нацело (с остатком). Целое число представляет собой последовательность цифр со знаком или без знака. Может использоваться не только десятичная запись чисел, но и шестнадцатеричная, двоичная и восьмеричная.
Пример: -10; +56; 128; 80H.
§ Вещественные числа имеют две формы представления:с фиксированнойи плавающей точкой.
В первом случае (с фиксированной точкой) число представляется как целаяидробная часть:
[<знак>]<целая часть>.<дробная часть>
Наличие точки является признаком вещественного типа числа.
В представлении с плавающей точкой, или экспоненциальном, число условно разбивается на две части: мантиссуипорядок, поэтому в общем виде число выглядит как
[<знак мантиссы>]<целая часть мантиссы>[.<дробная часть мантиссы>] E [<знак порядка>]<порядок>
Здесь буква Е является разделителем, отделяющим мантиссу от порядка или характеристики. Числа представляются только в десятичной системе счисления:
Пример: 1234,56 = 1.23456E3 ( 1,23456×103) = 1234.56E0,
то есть положение десятичной точки зависит от значения порядка и может изменяться.
Таким образом, признаком вещественного числа является наличие точки или разделителя:.
Пример: 1Е0 и 1.0 – вещественные, 1 – целое.
Над вещественными значениями допустимы следующие операции: сложение, вычитание, умножение, деление. Все операции дают вещественный результат, если хотя бы один операнд вещественный.
§ Логический тип основан на правилах Булевой алгебры, широко используемой в цифровой электронике. Этот тип определяет всего два значения True (истина) и False (ложь).
Над значениями логического типа определены следующие операции:
§ «НЕ», логическое отрицание или инверсия, в отличие от остальных выполняется над одним операндом (унарная операция);
§ «ИЛИ», логическое сложение или дизъюнкция;
§ «И», логическое умножение или конъюнкция;
§ «Исключающее ИЛИ», сложение по модулю 2.
§ Литерный (символьный) тип. В качестве данных могут выступать отдельные символы или литеры. Данные такого типа заключаются в кавычки (апострофы).
Пример: Вот как записываются символьные данные “a”, “d”.
6.9.2.Структура данных.
Структура данных —это отношение между другими данными. К структурам относятся массивы, строки и другие.
Определение. Массивом называется структурированный тип данных, позволяющий объединять в единое целое упорядоченный набор величин одного типа. То есть это упорядоченная совокупность элементов, названных одним именем и различающихся индексами. Доступ к некоторому элементу массива осуществляется путем указания имени массива и индекса (номера) элемента.
Количество индексов у элемента массива может быть и более одного, то есть могут использоваться не только вектора, но и матрицы, кубические матрицы и так далее. Таким образом, количество индексов у элемента массива определяет его размерность, а количество элементов, то есть произведение элементов в каждой размерности, определяет размер массива.
Пример: Задан массив с именем M, размерностью 3 строки и 3 столбца (это двумерный массив). Его можно описать следующим образом: M[1..3,1..3] или M[1..I,1..J], где I – количество строк, а J – количество столбцов. Любой элемент этого массива будет обозначаться, как mij,где i – номер строки, j – номер столбца. Пусть массив M имеет следующее значение:
, тогда элементы массива m11=1, m12=2 и так далее.
Примечание.
Массивы, содержащие в качестве элементов символы, являются особенными. Если с обычными массивами обработка идет поэлементно, с использованием операций, разрешенных для элементов, то элементы строки взаимосвязаны.
Определение. Строка — это тип данных, специально предназначенный для работы с цепочками символов, то есть элементами литерного типа. Строка представляет собой последовательность нумерованных (начиная с 0) символов.
К строке можно обращаться как к единому целому и к каждому элементу по отдельности. В отличие от массивов, со строками используют дополнительные операции: объединения или сцепления, поиск фрагмента текста, вырезание части текста и другие. Строки в языках программирования заключаются в кавычки (апострофы).
Пример: Дадим переменной строкового типа имя – St. Ее значением может быть слово, предложение или просто любые символы, например:
St =”мир”, или St =”Сегодня хорошая погода.”