Основы ПаскаляПри записи программы на языке программирования можно пользоваться лишь символами, предусмотренными алфавитом языка. Алфавит языка Паскаль составляют буквы, цифры и специальные символы (знаки операций и ограничители). Специальный символ может быть одной литерой или парой литерой. В последующем изложении будем использовать: заглавные буквы латинского и русского алфавитов: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Ь Э Ю Я арабские цифры: 0 1 2 3 4 5 6 7 8 9 знаки операций: + - * / = <> < > <= >= : = ограничители: . , : ; ' ( ) [ ] ^ Из символов алфавита строят более сложные конструкции - слова, словосочетания, предложения. Слово - это некоторая минимальная единица языка самостоятельного значения, представляющая собой образованную в соответствии с некоторыми правилами последовательность символов. В языке Паскаль под словом понимают число, строку, имя. Словосочетание - это группа слов, имеющая некоторый смысл. В языке программирования эта конструкция, состоящая из слов и символов и задающая правило вычисления некоторого значения, называется выражением. Минимальная конструкция языка, представляющая собой законченную мысль, естьпредложение. Предложение либо задает полное описание некоторого действия, которое необходимо выполнить, и называетсяоператором, либо описывает структуру и организацию данных - объектов языка, над которыми эти действия производят, и называетсяописанием. Совокупность описаний и операторов, объединённая единым алгоритмом, образует программу. Для того чтобы научиться писать программы, необходимо изучить синтаксис языка (правила записи его конструкции) и его семантику (смысл и правила использования этих конструкций). Рассматривая понятие слова в языке Паскаль, следует отметить, прежде всего, существование некоторого набора служебных (ключевых) слов, назначение которых в языке строго определено (зарезервировано) и которые не могут быть использованы с другой целью. Служебные слова используются, например, для обозначения операторов (CASE - оператор выбора, IF, THEN, ELSE - оператор условного перехода), описаний (CONST - констант, VAR - переменных), некоторых операций (DIV - целочисленного деления). В таблице приведён список служебных слов языка Паскаль, пояснения значений которых будут вводиться по мере изучения средств языка. Числа записываются в программе в десятичной системе исчисления и могут быть целыми и действительными, положительными и отрицательными. Положительный знак числа (+) может быть опущен как для целых, так и для действительных чисел. Действительные числа изображаются в естественной форме и полулогарифмическая (показательной). В естественной форме число должно содержать десятичную точку, применяемую вместо десятичной запятой, причём число не может начинаться или заканчиваться точкой. Пример 1 ( неправильно записанные числа ): 15. - оканчивается точкой; .65 - начинается сточки; 155.27.54 - содержит две точки. Полулогарифмическая форма записи используется для представления очень больших или очень маленьких чисел, которые нелегко изобразить обычной десятичной записью. Например, масса покоя электрона приблизительно равна 0,000000000000000000000000000000910956 г. Такие числа чаще записывают в более удобном виде с десятичным множителем: 9,10956*10 -28. При записи таких чисел в языке Паскаль часть числа, которая читается как "умножить на десять в степени", обозначается буквой Е и число в программе выглядит следующим образом: 9.10956Е-28. Цифры, предшествующие букве Е, образуют мантиссу числа, цифры, следующие за буквой Е - порядок. Мантисса и порядок могут иметь знак "+" или "-". Следует помнить, что при написании числа мантисса не должна отсутствовать или начинаться или оканчиваться точкой. Пример 2 ( правильно записанных чисел записанных в полулогарифмической форме ): -0.131E5 50E7 -5E-02 123.7E-5 Пример 3 ( неправильно записанных чисел ): Е-05 - отсутствует мантисса; -5.Е02 - мантисса числа оканчивается точкой; -Е12 - отсутствует мантисса; Допустимый диапазон изменения целых и вещественных чисел зависит от конкретной реализации языка. Попытка использовать числа, значения которых лежат за пределами допустимого диапазона, приведёт к ошибке. Строка - это последовательность символов языка, заключённая в апострофы (одиночные кавычки). Если в строку необходимо включить сам апостроф, то его записывают дважды. Пример 4 (строки) 'A' 'таблица значений' 'контрольная работа по курсу электротехника' 'XYZ' '575' '0.5+17E-5'. Пример 5 ( неверно записанные строки ): 'CONST - нет конечного апострофа; PROGRAM - апострофы отсутствуют совсем; '15.8'E5 - апостроф стоит не в конце строки; '+*.;" - не хватает ещё одного апострофа в конце строки. Используются строки для работы с текстами, например для вывода текстов и комментариев на печать. Максимальная длина строки определяется конкретной реализацией языка. Имена (идентификаторы) служат для обозначения различных объектов и конструкций программы и отличаются от служебных слов тем, что выбираются (назначаются) самим программистом по следующему правилу: имя должно состоять из букв и цифр, но первым символом может быть только буква. Длина имени во многих реализациях языка не ограничивается, однако рекомендуется, чтобы она не превышала 6-8 символов. Следующие имена составлены без ошибок: X Y22M РАЗМЕР GAMMA ALFA R15 А такие имена, наоборот, ошибочны: 4ABC - начинается с цифры; Y.22 - содержит недопустимый символ - точку; A+B - содержит недопустимый символ - знак "+"; РАЗМЕР ПАЛЬТО - пробелы в имени недопустимы. Выбор имени следует осуществлять исходя из логической или физической сущности обозначаемого объекта, при этом рекомендуется придерживаться следующих правил:
Рассмотрим несколько подробнее, для обозначения каких объектов и конструкций служат имена (идентификаторы). Прежде всего, следует отметить, что имена используются для обозначения данных - величин, над которыми в программе используется для обозначения данных - величин, над которыми в программе производятся некоторые действия. Постоянные величины, значения которых не меняются в процессе выполнения программы, называются константами. Константы в программе могут быть представлены либо непосредственно своим значением (числом, строкой), либо именем. Для некоторых констант в языке определены стандартные имена. Величины, которых могут изменяться в процессе выполнения программы, называются переменными. Переменные в программе могут быть представлены только именем. В машине каждой величине отводится определённая область памяти, где хранится её значение. Данные могут быть различных типов. Например, константа может быть числом (целым или вещественным), строкой. Переменная, подобно константе, также может быть арифметической (значение переменной - число) или строковой (значение переменной - строка). Арифметические переменные могут быть целыми или вещественными. Тип константы определяется формой её записи. Задание типа переменной осуществляется с помощью указания некоторого имени (стандартного или определённого пользователем) в специальной конструкции языка, называемой описанием. Переменным вещественного вида соответствует имя - REAL, целого - INTEGER. И наконец, имена используются для обозначения всей программы и отдельных её частей (процедур и функций), дающих описание некоторого сложного действия или группы действий, производимых над данными и имеющих некоторое самостоятельное значение. Алгоритмы отдельных широко используемых процедур и функций уже составлены разработчиками языка, и их программные описания хранятся в машине в специальной области памяти. Для этих процедур и функций установлены стандартные имена, а сами они называются стандартными процедурами и стандартными функциями. Программист, как только ему потребуется указанный алгоритм, вызывает необходимую процедуру или функцию, указывая программе её имя и данные, которые её необходимы. Пример 6 Для иллюстрации введённых понятий рассмотрим программу, реализующую тривиальный алгоритм сложения двух произвольных действительных чисел и печати результата:
Первая строка является заголовком программы, где PROGRAM - служебное слово, SUMMA - имя программы. Далее идёт раздел описания данных, в котором переменные A, B, C, участвующие в вычислениях, объявлены как переменные действительного типа. Здесь VAR - служебное слово, обозначающее раздел описания переменных, REAL - стандартное имя, обозначающее действительный тип. Описание всех переменных программы обязательно! BEGIN, END - служебные слова, ограничивающие раздел операторов. После служебного слова END, определяющего одновременно и конец программы, ставится точка. Оператор ввода READ осуществляет вызов стандартной процедуры ввода, в результате выполнения которой переменные А и В получат (приобретут) задаваемые числовые значения. Эти значения являются, как правило, исходными данными решаемой задачи. Следующий оператор - оператор присваивания - обозначается символом :=, справа от которого стоит вычисляемое выражение, а слева - имя переменной, которой присваивается вычисленное значение. Оператор WRITELN - оператор вывода - также является вызовом стандартной процедуры. Если в этом операторе указана константа, то она непосредственно выводится на печать, если указано имя переменной, то на печать выводится её значение. В примере осуществляется печать текстов, заключённых в апострофы, а затем значения переменной С. Точка с запятой в языке Паскаль является разделителем между операторами. Пробелы являются разделителями между именами, числами и служебными словами, причём внутри имён, чисел и служебных слов пробелы встречаться не должны. Операторы в программе, если нет специальных указаний, выполняются слева направо и сверху вниз (естественный ход выполнения программы). |