Опубликован: 03.09.2010 | Доступ: свободный | Студентов: 3417 / 749 | Оценка: 4.11 / 3.69 | Длительность: 10:38:00
Лекция 1:

Основные понятия языка

Лекция 1: 12345 || Лекция 2 >
Аннотация: В этой лекции описано то, что необходимо для создания простейших программ элементарные строительные блоки языка, стандартные типы данных, структура программы, переменные, операции, выражения и процедуры ввода-вывода.

Предисловие

Презентацию к данной работе Вы можете скачать здесь.

Этот курс лекций построен на основе учебника автора 'Паскаль. Программирование на языке высокого уровня' [ 10 ] , который выпускается издательством ПИТЕР с 2003 года. Учебник имеет гриф Министерства образования Российской федерации и удостоен в 2010 году премии Правительства Санкт-Петербурга 'За выдающиеся достижения в сфере высшего и профессионального образования' в составе учебно-методического комплекса по языкам программирования.

В этот комплекс входят также учебники и практикумы по языкам C/C++ и С# [ 11 ] [ 9 ] , построенные по единому принципу. Соответствующие учебные курсы можно найти на этом сайте. В 2010 году вышло второе издание учебника [ 10 ] , объединенное с практикумом и справочной информацией. В комплекс входит более 250 индивидуальных вариантов заданий на лабораторные работы в расчете на учебную группу из 20 человек (все варианты можно найти в учебнике) и более 1000 тестовых вопросов. Преподавателям будут полезны презентации лекций. На сайте интернет-школы программирования можно проверить правильность выполнения некоторых лабораторных работ с помощью системы автоматического тестирования программ.

Доброжелательную и конструктивную критику, а также предложения по улучшению курса направляйте автору по адресу pta-ipm@yandex.ru.

Основные понятия языка

Состав языка

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

Оператор описания, как и следует из его названия, описывает данные, над которыми в программе выполняются действия. Примером описания (конечно, не на Паскале, а на естественном языке) может служить предложение 'В памяти следует отвести место для хранения целого числа, и это место мы будем обозначать А'.

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

Рассмотрим простейшую программу на Паскале. Все, что она делает — вычисляет и выводит на экран сумму двух целых чисел, введенных с клавиатуры.

var a, b, sum : integer;                                         { 1 }
begin                                                            { 2 }
    readln(a, b);                                                { 3 }
    sum := a + b;                                                { 4 }
    writeln('Cумма чисел ', a, ' и ', b, ' равна ', sum);        { 5 }
end.                                                             { 6 }

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

В строке 1 расположен оператор описания используемых в программе величин. Для каждой из них задается имя, по которому к ней будут обращаться, и ее тип. 'Волшебным словом' var обозначается тот факт, что a, b и sum переменные, то есть величины, которые во время работы программы могут менять свои значения. Для всех переменных задан целый тип, он обозначается integer. Тип необходим для того, чтобы переменным в памяти было отведено соответствующее место.

Исполняемые операторы программы располагаются между служебными словами begin и end, которые предназначены для объединения операторов и сами операторами не являются. Операторы отделяются друг от друга точкой с запятой.

Ввод с клавиатуры выполняется в строке 3 с помощью стандартной процедуры с именем readln. В скобках после имени указывается, каким именно переменным будут присвоены значения. Для вывода результатов работы программы в строке 5 используется стандартная процедура writeln. В скобках через запятую перечисляется все, что мы хотим вывести на экран, при этом пояснительный текст заключается в апострофы. Например, если ввести в программу числа 2 и 3, результат будет выглядеть так:

Cумма чисел 2 и 3 равна 5

В строке 4 выполняется вычисление суммы и присваивание ее значения переменной sum. Справа от знака операции присваивания, обозначаемой символами :=, находится выражение — правило вычисления значения.

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

Алфавит и лексемы

Все тексты на языке пишутся с помощью его алфавита. Алфавит Паскаля включает:

  • прописные и строчные латинские буквы, знак подчеркивания _ ;
  • цифры от 0 до 9 ;
  • специальные символы, например +, *, { и @ ;
  • пробельные символы: пробел, табуляцию и переход на новую строку.

Из символов составляются лексемы (tokens ), то есть минимальные единицы языка, имеющие самостоятельный смысл:

  • константы ;
  • имена ( идентификаторы );
  • ключевые слова ;
  • знаки операций ;
  • разделители (скобки, точка, запятая, пробельные символы).

Лексемы языка программирования аналогичны словам естественного языка. Например, лексемами являются число 128, имя Vasia, ключевое слово goto и знак операции сложения +. Компилятор при синтаксическом разборе текста программы определяет границы одних лексем по другим, например разделителям или знакам операций. Из лексем строятся выражения и операторы. Рассмотрим каждый вид лексем подробнее.

Константы

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

Таблица 1.1. Классификация констант Паскаля
Целые Вещественные Символьные Строковые
Десятичные Шестнадцатеричные С плавающей точкой С порядком
2 $0101 –0.26 1.2e4 'k' 'абырвалг'
15 $FFA4 .005 0.1E–5 #186 'I''m fine'
21. ^M

Десятичные целые константы представляются в естественной форме. Шестнадцатеричная константа состоит из шестнадцатеричных цифр (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F), предваряемых знаком $.

Вещественные константы записываются с точкой перед дробной частью. Либо целая, либо дробная часть могут отсутствовать. Вещественная константа с порядком представляется в виде мантиссы и порядка. Мантисса записывается слева от знака E или e, порядок — справа от знака. Значение константы равно произведению мантиссы и возведенного в указанную в порядке степень числа 10. В таблица 1.1 представлены числа 1,2 104 и 0,1 10–5 . Пробелы внутри числа не допускаются.

Символьные константы служат для представления любого символа из набора, используемого в данном компьютере. Так как под каждый символ отводится 1 байт, всего используется 256 символов. Каждому символу соответствует свой код. В операционной системе MS-DOS для кодировки символов используется стандарт ASCII, являющийся международным только в первой половине кодов (от 0 до 127), вторая половина кодов (от 128 до 255) является национальной и различна для разных стран. Первые 32 символа являются управляющими:хотя многие из них имеют графическое представление, предназначены они для передачи управляющих сигналов внешним устройствам, например монитору, принтеру или модему. Символьные константы записываются в одной из трех форм:

  1. Символ, заключенный в апострофы.
  2. Десятичный код символа, предваряемый знаком #. Применяется для представления символов, отсутствующих на клавиатуре (в таблица 1.1 в виде #186 приведено представление символа ¦ ).
  3. Буква, предваряемая знаком ^. Используется для представления управляющих символов. Код буквы должен быть на 64 больше, чем код представляемого таким образом символа (в таблица 1.1 в виде ^M представлен символ с кодом 13).

Строковая константа — это последовательность любых ASCII-символов, расположенная на одной строке и заключенная в апострофы. Если требуется представить сам апостроф, он дублируется. Максимальная длина строковой константы — 126 символов.

Имена, ключевые слова и знаки операций

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

Имена дает программист, при этом следует соблюдать следующие правила:

  1. имя должно начинаться с буквы (или знака подчеркивания);
  2. имя должно содержать только буквы, знак подчеркивания и цифры;
  3. прописные и строчные буквы не различаются;
  4. длина имени практически не ограничена.

Например, правильными именами будут Vasia, A, A13, A_and_B и _____, а неправильными — 2late, Big gig и Sюр. Имена даются элементам программы, к которым требуется обращаться: переменным, константам, процедурам, функциям, меткам и т. д.

Ключевые ( зарезервированные ) слова — это идентификаторы, имеющие специальное значение для компилятора. Их можно использовать только в том смысле, в котором они определены. Например, для оператора перехода определено ключевое слово goto, а для описания переменных — var. Имена, создаваемые программистом, не должны совпадать с ключевыми словами.

Знак операции — это один или более символов, определяющих действие над операндами. Внутри знака операции пробелы не допускаются. Например, операция сравнения 'меньше или равно' обозначается <=, а целочисленное деление записывается как div. Операции делятся на унарные (с одним операндом) и бинарные (с двумя).

Лекция 1: 12345 || Лекция 2 >
София Шишова
София Шишова

Я завершила экзамен 90 баллов на 5. Сертификат не заказала. Сейчас пытаюсь найти как его заказать. у меня указано экзамен пройден баллы оценка видно, а чтоб заказать сертификат нигде не видно.