Программирование на паскале с нуля программа. Введение в Pascal

Казалось бы, программа на языке Паскаль - дело легкое и типичное для любого программиста, однако нельзя сказать, что сам язык слишком слаб для современного мира. Ведь не зря он считается базовым и изучается в школе.

Зачастую, для написания программ на Паскале пользуются такой как Turbo Pascal (Турбо Паскаль).

Почему новичкам следует выбирать именно этот язык? Попробуем разобраться. Для того чтобы полностью овладеть любым языком программирования, необходимо иметь соответствующую литературу. Именно поэтому большинство языков отпадают сразу, в частности и Лого. Он мало распространен в русскоговорящих странах, поэтому обучающих книг по нему нет. На данный момент самыми известными являются Pascal, Java, Basic и C. Рассмотрим каждый отдельно. Java, в основном, используется для программирования в сети. C - один из наиболее распространенных языков, однако и самый сложный (особенно для новичков). Для того чтобы в итоге научиться писать программы на нем, лучше всего сперва освоить Pascal или Basic. Они оба изучаются в школах (на выбор преподавателя). Причина их распространенности кроется в том, что на этих языках можно написать такую же программу, как и на C или C++, но само его освоение намного легче за счет простоты построения.

Стоит помнить, что версий Pascal и Basic достаточное количество, но в школах больше распространены такие виды, как Turbo Pascal 7.0 и QBasic. Если брать в сравнение именно их, то последний больше создан для того, чтобы писать маленькие программки длиной до 50 строк. Turbo Pascal же мощнее и быстрее.

Первая программа на Паскале

Пример программ на Паскале с легкостью можно найти в интернете, сложнее понять, как они устроены.

Для того чтобы понять, как устроен этот язык, необходимо написать небольшую «задачу». Допустим, нужно составить программу, которая будет складывать два числа: Q+W=E. Что же следует выполнить для ее создания?

Буква E будет выступать переменной (в математике - икс). Обязательно ей нужно присвоить имя (не более 250 символов). Оно может состоять из:

  • букв (A..Z);
  • цифр от 0 до 9. Но следует запомнить, что имя не должно начинаться с цифры;
  • символа «_».

В названии не должны встречаться:

  • русские буквы;
  • знаки препинания;
  • спец. символы, такие как решетка «#», процент «%», доллар «$», тильда «~» и др.

Примером правильного имени может быть «red_velvet4», «exo» или «shi_nee». Нужно также помнить, что Паскаль к регистру букв нечувствителен, поэтому переменные с названиями «btob» и «BtoB» рассматриваются как одна. Как именно в среде программирования «заводятся» и называются ячейки, будет понятно ниже. После этого процесса необходимо определить тип переменной. Это необходимо для того, чтобы программа корректно показывала результат на экране или печатала его на бумаге. Например, если складываются два числа, то указывается числовой тип, а если выводится приветствие, то - строковой. Для обычного сложения двух чисел подойдет тип Integer («число»).

С типом для переменных все понятно, но его нужно присвоить для всех числовых переменных, для того чтобы свободно ими манипулировать.

Опираясь на то, что написано выше, можно легко написать небольшую «задачку». Программа на Паскале будет выглядеть таким образом:

Program shi_nee;

Var Q, W, E: integer;

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

Описание переменных происходит во второй строке благодаря оператору «var». Необходимо перечислить все переменные, которые фигурируют в программе и через двоеточие добавить

Пара операторов «BEGIN» - «END» начинает и, соответственно, завершает выполнение программы. Они наиболее важны; между ними находятся все действия, описанные программистом.

Синтаксис языка

Важно помнить, что каждая строка программы завершается точкой с запятой. Исключением из правила будут служебные команды типа var, begin, const и др. После конечного оператора end должна ставиться точка. В некоторых случаях, когда в программе несколько вложений и используются операторные скобки «BEGIN» - «END», после данной команды может ставиться точка с запятой.

Для того чтобы присвоить ячейке ее значение, например, E=15, необходимо перед знаком равно ставить двоеточие:

Двоеточие в данном языке называется присвоением. Программа на Паскале пишется очень легко, если освоить выше описанные правила синтаксиса.

Тестирование

Запустив Turbo Pascal, необходимо напечатать программу, правильно расположив требуемые знаки и установив нужный порядок строк. Запуск программы можно осуществить через или же при помощи клавиш Ctrl+F9. Если все набрано правильно, то экран немного мигнет. В том случае если присутствует ошибка, то работа программы приостановится, а курсор установится в той строке, где она имеется. При этом, в строке «Вывод» появится описание самой ошибки, например, error 85: «;» expexted. Эта строка указывает, что где-то отсутствует точка с запятой. Однако пока обращать внимание на подобные неполадки не стоит, нужно разобраться со структурой, используя примеры программ на языке Паскаль.

Что следует изучить в первую очередь?

Для начала полностью разобраться с каждой строкой программы. Затем обратить внимание на синтаксис, отложить в своей памяти специальные операторы, после которых знак препинания не ставится, усвоить логическую цепочку из begin и end. Запомнить, как именно заводятся переменные, какой тип им необходим и для чего он вообще нужен. Разобраться в функционировании самой среды программирования будет также не лишним. Для этого можно воспользоваться руководством или же «тыкать» в Turbo Pascal самостоятельно. Постоянно нужно практиковаться, разбирать уже готовые «задачи» из интернета и потихоньку набирать пример программ на Паскале самостоятельно.

Одномерные массивы

Массив используется для удобной работы с однотипными данными, которые в этом случае размещаются в последовательных ячейках памяти, а не отдельно. Вряд ли программистам удобно работать с 50 или 100 переменными. Удобнее записать их в массив.

Элементы, которые находятся в группе, имеют свой номер. В различных языках программирования счет начинается с определенной цифры, не обязательно с 1. А вот пример программ на Паскале говорит о том, что в нем нумерация начинается с нее. Данный порядковый номер назван индексом каждого элемента. Как правило, он является целым числом, реже символом. В принципе, для ячейки данных все равно, какая индексация будет задана: числовая или буквенная.

(примеры ниже) может иметь только один тип, к которому будут принадлежать и все его элементы. Не бывает такого, что одна ячейка типа real, а другая integer.

В среде программирования данные одномерного (т.е. простого) массива вводятся линейно:

Var a: array of char;

For i:=5 to 40 read (ch[i]);

For i:=5 to 40 write (ch[i]:3);

Разбирая пример программ на Паскале, можно увидеть, что выделяется память под простейший массив, состоящий из 35 знаков. Индексация () - от 5 до 40. В первой строке после команды BEGIN пользователь должен ввести 35 абсолютно любых символов (цифры, буквы), которые программой записываются в ячейки. Вторая строчка отвечает за вывод их на экран.

Двумерные массивы

Если одномерный массив - это тот, в котором все операции выстроены «в линию», т. е. все элементы и действия производятся друг за другом, то двумерный позволяет реализовать более сложные структуры с ветвлением.

Такие данные на языке Паскаль (примеры можно увидеть чуть ниже) описываются двумя способами: «array of тип» или же «array of array of тип».

Переменные b и f - константы. Вместо них можно вставлять и цифры (как в одномерных массивах), но в подобных задачах лучше такое не практиковать. Это объясняется тем, что язык программирования определяет первую константу в качестве количества строк, а вторую - столбцов данного массива.

Пример задачи через специальный раздел type:

Const b=24; f=13;

Type cherry=array of real;

Через раздел переменных описать массив несколько легче (для новичков):

Const b=24; f=13;

Var n: array of real;

Оба варианта будут верны, работа программы от выбранного способа записи никак не меняется.

Открытые массивы

Открытый массив - тот, у которого нет границ. Он имеет лишь тип (real, integer и др.). Иными словами, созданный массив - безразмерный. Его «тягучесть» определяется самой программой при выполнении. Записывается он таким образом:

Seulgi1: array of char;

Yeri: array of real;

Отличительной особенностью этих массивов является то, что индексация начинается с нуля, а не единицы.

Графика в Паскале

Те, кто имеет хотя бы малейшее представление о «внутренностях» операционной системы, знает, что все изображения строятся благодаря прямоугольным растрам. Растровые картинки состоят из пикселей, которые настолько маленькие, что глаз человека воспринимает нарисованное или сфотографированное за единое целое. При этом чем больше разрешение фотографии, тем меньше пиксели будут.

Второй способ представления графики - векторный. Как правило, это отрезки, круги, эллипсы и другие геометрические фигуры, которые и составляют весь рисунок.

В среде программирования на любом языке возможно и появления такого вида задач, как графические, результатом которых будет являться графика. Паскаль, примеры таких программ показывают в некоторой степени тяжесть их разработки, позволяет создавать картинки и рисунки. Для того чтобы «активировать» нужную библиотеку, нужно вставить строку «uses graph;».

Как правило, при описании графических данных, используется данная процедура:

InitGraph (var driver, choke: real; Path: string);

Здесь driver является переменной, тип которой integer; choke - переменная, действительного типа; а path позволяет активировать драйверы.

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

✎ 1) program – по-английски «программа», пишется в самом начале кода, после чего идет название программы латиницей и точка с запятой. Например: program Summa; − программа под названием Summa. Но эту часть кода, называемую заголовком программы, можно и не писать − она присутствует только для наглядности и показывает, какую задачу решает данная программа. Здесь мы употребили слово «код» − так называется текстовая запись программы.

✎ 2) integer – по-английски означает «целое число» (или просто «целое») и в Паскале используется для обозначения 32-битных (8 байт) целых чисел со знаком с диапазона [-2147483648, 2147483647] . Что означают эти большие числа, мы потом разберем.

✎ 3) real – с английского «реальный», «настоящий», «вещественный», «действительный». В языке Паскаль этим термином обозначаются вещественные числа с диапазона [-1.8∙10 308 , 1.8∙10 308 ] . Это очень большие числа, но значащих цифр выводится 15 – 16. Кстати, типы данных integer и real в среде программирования PascalABC.Net всегда автоматически выделяются синим цветом.

✎ 4) const – аналог англ. «constant», означающее «постоянная», «константа». В Паскале это величина, которая не может изменяться. Записывается так:


Эту запись надо воспринимать так, как она пишется: число N равно 12, S равно 5, «пи» равно 3,14 (как и в математике, только вместо запятой в Паскале используется точка). В последней строке мы использовали двойной слэш (две косые черты), после которых идет текст, – так в Паскале пишутся комментарии, и их программа не воспринимает. Всё, что начинается двойным слэшом и до конца строки – это комментарий, который пишется для пояснения к программе и всегда выделяется другим цветом (в PascalABC.Net - это зеленый, в Turbo Pascal не используется такой вид комментария). Существует и другой тип комментария – это {текст, заключенный в фигурные скобки, так же, как и здесь, тоже выделяющийся зеленым цветом} . Этот вид комментария может действовать несколько строк подряд – от начала скобки и до её закрытия, и всё, что находится в середине такой конструкции, компилятор не воспринимает как код и просто пропускает.

В действительности формат записи const немножко сложнее. По правилам мы должны были записать:

1 2 3 4 const N: type integer;

Описание:

")" onmouseout="toolTip()">integer
= 12 ; //число N – целого типа S: type integer;

Описание:
Представляет 32-битовое целое число со знаком.

Диапазон значений: -2 147 483 648 .. 2 147 483 647 ")" onmouseout="toolTip()">integer
= 5 ; //число S – целого типа pi : type real;

Описание:
Представляет число двойной точности с плавающей запятой.

Размер: 8 байт
Количество значащих цифр: 15 - 16
Диапазон значений: -1.8∙10 308 .. 1.8∙10 308
")" onmouseout="toolTip()">real
= 3.14 ; //число «пи» - вещественного

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

✎ 5) var – происходит от англ. «variable» («переменная», или «изменчивый»), что в Паскале означает величину, которая в процессе программы может изменять свое значение. Записывается так:


Как видно из записи, знака «=» здесь нет – пересчитываются переменные одного типа (через запятую) и после двоеточия указывается только тип. Переменные N, m (целые) и Q, r, t (вещественные) в программе могут изменять значения в пределах integer и real соответственно. Ещё одно замечание: описание переменных всегда стоит после описания констант (постоянных) – сначала идет конструкция const , а потом var .

✎ 6) begin – в переводе с английского означает «начинать» и Паскале означает начало основной программы, в которой записываются команды (операторы). После слова begin точка с запятой не ставится.

✎ 7) end – по-англ. «конец», и в языке Pascal означает то же (конец программы). После последнего слова end всегда стоит точка. Мы выделили слово «последнего», поскольку использование конструкции begin – end возможно ещё в одном случае: это так называемые операторные скобки, которые применяются для объединения нескольких операций под одним оператором. Но об этом потом. Таким образом, основная программа будет выглядеть так:

1 2 3 4 5 6 begin < оператор 1 > ; < оператор 2 > ; . . . . . . . < оператор N > ; end .

Здесь операторы в теле программы – это разные команды компилятору.

✎ 8) write – по-английски означает «писать». Этот оператор выводит на экран текст, помещенный в него, поэтому так и называется – оператор вывода. Текст, помещенный в него, выделяется синим и записывается так:

Write("этот текст выведен на экране" );

Сообщение, находящееся в скобках и кавычках, будет показано в окне консоли (просто в скобках без кавычек нельзя). После выполнения этого оператора мы увидим на экране:

этот текст выведен на экране

В таком виде оператор write используется в том случае, когда надо показать подсказку, пояснение, комментарий и т. п. А от если необходимо вывести ещё и числовое значение, скажем, S = 50 кв. м, то используется формат:

Write(, S);

В результате получим на экране результат:

Величина площади равна: S = 50

А при необходимости вывести единицы измерения, надо после S снова вставить текст в кавычках:

Write("Величина площади равна: S = " , S, " кв.м" );

После выполнения последнего оператора вывода получим вывод на экран:

Величина площади равна: S = 50 кв.м

✎ 9) writeln – то же, что и write, но после выполнения курсор будет переведен на следующую строку.

✎ 10) read – в переводе с английского означает «читать», поэтому read называется оператором считывания, или ввода данных. Записывается как read(N), что означает необходимость ввода величины N, где N – любое число, или текст, или другой тип переменной. Например, если надо ввести возраст человека, которому 32 года, мы можем записать так:


В первой строчке этого кода программа выводит вопрос «Каков Ваш возраст? » и переводит курсор в следующую строку (окончание ln); во второй строке мы выводим « Year = » (в начале пробел); далее мы видим оператор readln(Year) означающий необходимость введения возраста Year (число 32); наконец, выводим сообщения «Мой возраст », «32 » и « года. » поочередно. Необходимо внимательно следить за пробелами. В результате выполнения данного кода мы получим сообщение:

Каков Ваш возраст?
Year = 32
Мой возраст 32 года

✎ 11) readln – то же, что и read, только с переводом на новую строку. Действительно, в приведенном выше примере после введения числа Year мы только в следующей строке пишем: «Мой возраст 32 года ».

Это пока что все. На следующей странице мы напишем первую программу, и в программировании на Паскале это будут наши

На просторах всемирной сети Интернет можно найти массу программ на языке "Паскаль", но намного сложнее разобраться, по какому принципу они работают и как устроены. Давайте же изучим основы программирования вместе!

Алгоритмический язык: базовые понятия

В разговорной речи мы используем основные единицы: символы, и целые предложение. Алгоритмический язык также имеет подобную структуру, только его составляющие называются по-другому. Речь идет об элементарных конструкциях, выражениях и операторах. Все эти единицы формируют иерархическую структуру, поскольку каждый последующий элемент образовывается из предыдущего.

Символы алгоритмического языка - это неделимые атомы, используемые для написания кода.

Элементарные конструкции - это минимальные единицы, которые имеют собственный смысл.

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

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

Язык "Паскаль"

Существует большое количество "Паскаль" (для начинающих есть отдельные пособия) является одним из них. Его алфавит состоит из цифр, букв и специальных символов. Вот их перечень:

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

Кроме перечисленных выше элементов, к набору основных принадлежит "пробел", который нельзя использовать внутри конструкции зарезервированных выражений и сдвоенных символов.

Элементарные конструкции языка

"Паскаль" для начинающих включает в себя строки, числа и имена.

Числа, используемые в коде рассматриваемого языка программирования, обычно записываются в десятичной системе. Они могут быть как действительными, так и целыми, которые принято упоминать без десятичной точки. Если число положительное, то его знак можно опустить.

"Паскаль" - это алгоритмический язык программирования, в котором строки являются последовательностью символов, замкнутой в апострофы. Если вам необходимо использовать сам апостроф, то этот символ стоит упомянуть дважды.

Имя - это последовательность, которая начинается с буквы и может содержать в своем составе цифры. Идентификаторами принято называть метки, типы, константы, функции, процедуры, переменные, объекты и даже модули. Формируя идентификаторы можно использовать символ подчеркивания. Имя может иметь массу символов, но компилятор будет считывать лишь первые 63 знака. "Паскаль", описание которого может показаться таким сложным, не так уж страшен, поэтому не спешите пугаться и закрывать страницу браузера!

В качестве идентификаторов языка запрещено использовать стандартные имена констант, процедур, типов, файлов, функций, а также служебные выражения.

Улучшить наглядность кода помогут пробелы, но стоит помнить, что ими нельзя разделять имена и числа посредине.

Синтаксис алгоритмического языка

Каждая строка должна заканчиваться точкой с запятой в программе, написанной на рассматриваемом нами языке ("Паскаль"). Информатика учит этому школьников и студентов, а вы сможете осознать эти правила сами!

Точка с запятой (;) - это условный сигнал, который говорит об окончании текущей строки и необходимости перейти на новую. Но исключением могут быть служебные команды: const, var, begin и другие.

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

Для присвоения переменной определенного значения перед знаком равно необходимо поставить двоеточие. К примеру, вы ходите задать n=13, а в коде это будет выглядеть как n:=13.

Если усвоить эти правила, то можно довольно быстро научиться писать код программы без синтаксических ошибок.

Классические операторы языка "Паскаль"

Запрограммировать повторяющиеся фрагменты кода будущего приложения и осуществить с ним любые действия можно с помощью различных способов. Но язык "Паскаль" использует для этого различные операторы. Все из них мы не сможем рассмотреть, поэтому разберемся лишь с некоторыми.

К примеру, с помощью оператора выбора можно подобрать один из альтернативных путей хода программы. Параметром в таком случае выступает выражение порядкового типа. Но есть один нюанс: этот ключ выбора не может принадлежать к типу string или real.

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

Оператор присваивания

Данное выражение имеет вид двоеточия и знака "равно". Оно используется для присвоения определенной переменной конкретного значения. Важно помнить, что тип выражения и переменной должны совпадать в том случае, если они не относятся к целому и действительному типу соответственно. Лишь в такой ситуации произойдет прямое преобразование.

Составные операторы

"Паскаль" - это язык программирования, который использует последовательности произвольных программных операторов, заключенные в специальные скобки. Речь идет о составных конструкциях, ограниченных словами begin и end. Это важный инструмент алгоритмического языка, с помощью которого появляется возможность писать код, используя структурную методологию.

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

Условный оператор языка программирования

Этот компонент предоставляет возможность в ходе программы проверить заданное условие и выполнить действие, зависящее от результатов его прохождения. Таким образом, условная команда - это одно из средств формирования ветвей в процессе выполнения вычислений.

Структурно выглядит следующим образом:

IF <условие> THEN <оператор1> ELSE <оператор2>.

В этом выражении else, then и if являются зарезервированными словами, условие - логическим выражением с произвольным содержанием, а операторы - любыми командами используемого языка программирования.

Структура программного кода

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

В заголовке, как правило, содержится имя кода. К примеру, Program MyFirst.

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

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

На любой оператор программного кода можно поставить метку, имя которой следует упомянуть в соответствующем разделе описания.

Преждевременное описание констант позволяет далее в коде прописывать их имена вместо цифровых или буквенных значений.

В разделе описания используемых переменных следует указать все типы, которые будут задействованы: "var c,a,r: integer; k,l, m: char; h1,h2: boolean;".

Не забывайте, что "Паскаль" - это язык программирования, который требует обязательного предварительного описания все компонентов, задействованных в программе.

Текст кода должен заканчиваться точкой.

Примеры программ

"Паскаль" - это элементарный язык, и после изучения вышеописанной информации можно приступить непосредственно к написанию кода.

Давайте сделаем так, чтобы приложение вывело на экран фразу «It is my first program!»

Примеры программ на "Паскале" очень важно понять, поэтому попытайтесь это сделать прямо сейчас.

Begin
Writeln (It is my first program!");
End.

Вот так все просто!

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

Надеемся, были для вас полезными.

Министерство образования и науки Российской Федерации

Государственное образовательное учреждение

высшего профессионального образования

«Омский государственный технический университет»

Ю. П. Чернов, О. П. Шафеева

Программирование в системе Pascal abc

Учебное пособие

Издательство ОмГТУ

УДК 004.4 (075)

ББК 32.973-018я73

Рецензенты :

В. И. Стариков, канд. техн. наук, доцент ОГИС;

С. С. Ефимов, канд. техн. наук, доцент ОмГУ им. Ф.М. Достоевского

Чернов, Ю. П.

Ч 49 Программирование в системе Pascal ABC : учеб. пособие / Ю. П. Чернов, О. П. Шафеева. – Омск: Изд-во ОмГТУ, 2010. – 100 с.

ISBN 978-5-8149-0897-1

Пособие включает теоретический материал с описанием элементов языка и системы программирования Pascal ABC, а также примеры разработки алгоритмов и программ на языке Паскаль для задач разного уровня сложности. Рассмотренные схемы проектируемых алгоритмов позволяют облегчить усвоение материала студентами.

Учебное пособие предназначено для изучения языка программирования высокого уровня Паскаль в дисциплинах «Информатика», «Основы алгоритмизации и программирования», «Алгоритмические языки и программирование», «Программирование на языке высокого уровня».

Печатается по решению редакционно-издательского совета Омского государственного технического университета

УДК 004.4 (075)

ББК 32.973-018я73

ISBN 978-5-8149-0897-1 © ГОУ ВПО «Омский государственный

технический университет», 2010

Введение

Наиболее распространенным в настоящее время языком программирования для компьютеров серии IBM PC является Паскаль. Это язык высокого уровня, отличающийся простотой синтаксиса, структурированный и удобный для начального обучения программированию.

Учебная система программирования Pascal ABC (автор  С.С. Михалкович ) представляет собой диалект стандартного языка Паскаль.

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

К достоинствам системы Pascal ABC следует отнести то, что она позволяет:

    программировать на языке Паскаль, подобном Delphi Pascal, включая объектно-ориентированные расширения;

    работать с графикой;

    создавать событийные приложения.

Система Pascal ABCоснована на языке Delphi Pascal и призвана осуществить постепенный переход от простейших программ к модульному, объектно-ориентированному, событийному и компонентному программированию. Некоторые языковые конструкции допускают, наряду с основным, упрощенное использование, что позволяет использовать их на ранних этапах обучения.

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

Компилятор Pascal ABCявляется компилятором переднего плана (front- end). Это означает, что он не генерирует исполняемый код в виде.exe -файла, а создает в результате компиляции дерево программы в памяти, которое затем выполняется с помощью встроенного интерпретатора. В итоге скорость работы программы оказывается медленнее скорости работы этой же программы, откомпилированной в среде Borland Pascal или в среде Borland Delphi. Однако на современных компьютерах это практически не ощущается.

Название "Pascal ABC" относится к интерактивной системе программирования, состоящей из компилятора языка и объединенного с ним экранного редактора. Интерактивность системы проявляется в основном в удобстве редактирования и обработки ошибок, обнаруженных в исходных текстах программ. Запуск программ в этой системе происходит на уровне исходных текстов. Высокая скорость компиляции приводит к тому, что переход от исходного текста к исполняемой программе происходит очень быстро. Это значительно сокращает цикл трансформации программ от редактирования к компиляции и исполнению программ.

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

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

Пособие подготовлено с учетом опыта чтения лекций и проведения авторами лабораторных занятий в компьютерном учебном центре ОмГТУ. В первую очередь пособие предназначено для студентов университета и представляет теоретическое руководство по программированию как в среде Pascal ABC, так и в средах Free Pascal и Turbo Pascal.

Рассмотрим простейший пример программы на языке Pascal ABC.NET. Изначально я думал дать более сложный пример на рассмотрение, но понял, что его придется слишком долго Вам обьяснять, поэтому мы рассмотрим стандартный пример "Hello World!".

Program Pascal; begin writeln("Pascal ABC.NET"); end.

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

Program Pascal; begin writeln("Pascal ABC.NET"); end.

Единственное ограничение к такому коду (в одну строку) это наличие пробелов между коммандами (в данном примере это пробел между begin и writeln), а пробел между новой строкой и строкой, заканчивающуюся на ";" не обязателен. Тоесть допустим следующий код:

Program pascal;begin writeln("Pascal ABC.NET");end.

Также в паскале игнорируется различие между буквами строчного и заглавного написание (на будующее если Вы обьявите переменную а, то к ней же вы сможете обратиться и как к А), как в некоторых языках программирования (Но это не во ВСЕХ!). То есть код

PROGRAM PASCAL; BEGIN WRITELN("Pascal ABC.NET"); END.

Абсолютно эквивалентен предыдущему коду.

Теперь начнем анализировать сам код. Код начинается со слов "Program Pascal;". Слово "Program" указывает об обьявлении названия программы, что в моем случае случае это "Pascal". Это название может быть каким угодно (только нельзя брать зарезервированные имена они приведены в данной таблице), да и вообще эта строка является необязательной, поскольку никак это в дальнейшем не используется, поэтому можно писать свои коды и без нее (что я и буду делать в дальнейшем).

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

Все, что находится между ""Program" и первым "begin", находится в секции, называемой "Секцией описания". В ней можно создавать свои подпрограммы (об этом чуть позже), описывать переменные или постоянные. А самый первый "begin" и "end." Ограничивают секцию операторов, в которой и находится, собственно, код всей нашей программы. Данный пример можно было бы сделать чуть более гибким:

Program Pascal; const my_text="Pascal ABC.NET"; begin writeln(my_text); end.

Здесь я в секции описания создал переменную с постоянным значением (константу) с помощью слова "const", за которым должно идти описание одной или нескольких констант. Описав какую-либо константу в языке программирования, Вы сможете пользоваться ее значением где угодно (в пределах данной программы), но при этом Вы не сможете изменить ее значение. В некоторых случаях это очень удобно. Например, значение числа Pi, равное 3.14... Очевидно, при расчете каких-либо геометрических формул ей очень удобно пользоваться. И это значение должно быть одним и тем же в не зависимости от внешних факторов (Страны, где Вы проживаете; времени года; времени суток...). Поменяв значение данной константы, Вы будете получать некорректные значения в геометрических формулах. А это неправильно. Поэтому и придумали в языках программирования константы. Их нужно описывать в секции описания и использовать их в своем коде. При этом во время сборки готовой программы, везде вместо имени данной константы будет подставлено ее значение. Вы можете подумать, что это глупо писать везде имя данной константы, если все равно оно будет заменено на ее значение. Не проще ли сразу писать ее значение?

Ответ на этот вопрос: нет не проще, а наоборот труднее. Во первых константа может содеражать очень длинное значение. Например, я могу создать константу:

Const Mytext="Я люблю язык Pascal ABC.NET, и поэтому создаю сайт, где Вы можете обучиться етому языку";

И везде, где нужно, удобнее писать название данной константы "Mytext", а не это длинное предложение.

Во вторых, бывают случаи, когда программу изначально нужно создавать под одно, а потом это перепрограммировать под другое. Например, Вы создаете программу, для считывания из любого файла значений (не вожно каких). Естественно, изначально удобно создавать данную программу, оттестировав ее на определенном заранее подготовленном файле (то есть сначала заняться основным алгоритмом программы, а затем уже добавлять какие-либо излишества), а затем, после тестирований, подготовить данную программу для множества файлов. Например:

Var f:text; i:integer; begin assign(f, "data.bat"); reset(f); read(f,i); i:=(i*10 - 125)*(-1); close(f); assign(f, "data.bat"); rewrite(f); write(f,i); close(f); end.

Скорее всего вы почти ничего в этом коде не поняли (я не хотел приводить этот пример, но для большей понятности решил его привести). Вы сейчас можете не вникать в данный код (поскольку я писал его наугад). Этот код открывает файл "data.bat", считывает из него значение, преобразует это значение и обратно записывает в этот файл новое значение. Но не суть. Вы можете увидеть в данном коде строки "assign(f, "data.bat");" Вданном примере их 2 строки. Если вдруг измениться имя файла, то нам придется переписывать эти две строки. А представьте, если таких строк будет тысячи. Их всех придется переписывать. Именно для этой причины ввели переменные и константы.

Вернемся к первому коду. Описать константу в языке программирования - это значит указать ее имя и ее значение. То есть в примере:

Const my_text="Pascal ABC.NET";

Имя константы "my_text", а ее значение это "Pascal ABC.NET". Возможно, у Вас появилось чувство, что константам можно придавать значения только строк, но это не так:

Const my_Pi=3.1428;

Вот пример, доказывающий обратное. Таким образом в константе можно указать что угодно.

В нашем примере в разделе операторов содержится только один оператор "writeln("Pascal ABC.NET");". Комманда "writeln" является подпрограммой (с ними мы познакомимся чуть позже), которая на экран выводит все то, что содержится в ее скобках (В нашем случае программа выведет на экран "Pascal ABC.NET").

Завершает всю программу слово "end.". Этот набор символов указывает на конец программы. Все, что идет за этой коммандой не выполняется.