Казалось бы, программа на языке Паскаль – дело легкое и типичное для любого программиста, однако нельзя сказать, что сам язык слишком слаб для современного мира. Ведь не зря он считается базовым и изучается в школе.
Зачастую, для написания программ на Паскале пользуются такой средой программирования, как 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;
BEGIN
E:=Q+W;
END.
Первая строка, т. е. program shi_nee – название или заголовок самой программы. Это необязательный компонент, не влияющий на работу написанного вычисления. Он, если используется, в обязательном порядке должен находиться первым, иначе среда программирования выдаст ошибку.Описание переменных происходит во второй строке благодаря оператору «var». Необходимо перечислить все переменные, которые фигурируют в программе и через двоеточие добавить тип (integer).
Пара операторов «BEGIN» - «END» начинает и, соответственно, завершает выполнение программы. Они наиболее важны; между ними находятся все действия, описанные программистом.
Синтаксис языка
Важно помнить, что каждая строка программы завершается точкой с запятой. Исключением из правила будут служебные команды типа var, begin, const и др. После конечного оператора end должна ставиться точка. В некоторых случаях, когда в программе несколько вложений и используются операторные скобки «BEGIN» - «END», после данной команды может ставиться точка с запятой.
Для того чтобы присвоить ячейке ее значение, например, E=15, необходимо перед знаком равно ставить двоеточие:
Q:=15:
W:=20;
E:=Q+W;
Двоеточие в данном языке называется присвоением. Программа на Паскале пишется очень легко, если освоить выше описанные правила синтаксиса.
Тестирование
Запустив Turbo Pascal, необходимо напечатать программу, правильно расположив требуемые знаки и установив нужный порядок строк. Запуск программы можно осуществить через контекстное меню или же при помощи клавиш Ctrl+F9. Если все набрано правильно, то экран немного мигнет. В том случае если присутствует ошибка, то работа программы приостановится, а курсор установится в той строке, где она имеется. При этом, в строке «Вывод» появится описание самой ошибки, например, error 85: «;» expexted. Эта строка указывает, что где-то отсутствует точка с запятой. Однако пока обращать внимание на подобные неполадки не стоит, нужно разобраться со структурой, используя примеры программ на языке Паскаль.
Что следует изучить в первую очередь?
Для начала полностью разобраться с каждой строкой программы. Затем обратить внимание на синтаксис, отложить в своей памяти специальные операторы, после которых знак препинания не ставится, усвоить логическую цепочку из begin и end. Запомнить, как именно заводятся переменные, какой тип им необходим и для чего он вообще нужен. Разобраться в функционировании самой среды программирования будет также не лишним. Для этого можно воспользоваться руководством или же «тыкать» в Turbo Pascal самостоятельно. Постоянно нужно практиковаться, разбирать уже готовые «задачи» из интернета и потихоньку набирать пример программ на Паскале самостоятельно.
Одномерные массивы
Массив используется для удобной работы с однотипными данными, которые в этом случае размещаются в последовательных ячейках памяти, а не отдельно. Вряд ли программистам удобно работать с 50 или 100 переменными. Удобнее записать их в массив.
Элементы, которые находятся в группе, имеют свой номер. В различных языках программирования счет начинается с определенной цифры, не обязательно с 1. А вот пример программ на Паскале говорит о том, что в нем нумерация начинается с нее. Данный порядковый номер назван индексом каждого элемента. Как правило, он является целым числом, реже символом. В принципе, для ячейки данных все равно, какая индексация будет задана: числовая или буквенная.
Массив в Паскале (примеры ниже) может иметь только один тип, к которому будут принадлежать и все его элементы. Не бывает такого, что одна ячейка типа real, а другая integer.
В среде программирования данные одномерного (т.е. простого) массива вводятся линейно:
Var a: array [5..40] of char;
b: real;
i: integer;
BEGIN
For i:=5 to 40 read (ch[i]);
For i:=5 to 40 write (ch[i]:3);
Readln;
END.
Разбирая пример программ на Паскале, можно увидеть, что выделяется память под простейший массив, состоящий из 35 знаков. Индексация ([5..40]) – от 5 до 40. В первой строке после команды BEGIN пользователь должен ввести 35 абсолютно любых символов (цифры, буквы), которые программой записываются в ячейки. Вторая строчка отвечает за вывод их на экран.
Двумерные массивы
Если одномерный массив – это тот, в котором все операции выстроены «в линию», т. е. все элементы и действия производятся друг за другом, то двумерный позволяет реализовать более сложные структуры с ветвлением.Такие данные на языке Паскаль (примеры можно увидеть чуть ниже) описываются двумя способами: «array [10..b, 10..f] of тип» или же «array [10..b] of array [10..f] of тип».
Переменные b и f – константы. Вместо них можно вставлять и цифры (как в одномерных массивах), но в подобных задачах лучше такое не практиковать. Это объясняется тем, что язык программирования определяет первую константу в качестве количества строк, а вторую – столбцов данного массива.
Пример задачи через специальный раздел type:
Const b=24; f=13;
Type cherry=array [10..b, 10..f] of real;
Var n: cherry;
Через раздел переменных описать массив несколько легче (для новичков):
Const b=24; f=13;
Var n: array [10..b, 10..f] 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 позволяет активировать драйверы.