Язык программирования паскаль var
Основы программирования Паскаль для начинающих. Написание первой программы
Паскаль – один из наиболее популярных языков программирования. Его создателем стал Николаус Вирт в 1968-1969 годах. Швейцарский ученый назвал его в честь талантливого физика и математика Блеза Паскаля. При создании языка преследовал несколько целей. Но самая главная – структурное программирование, которому он планировал обучить студентов. Pascal успешно используется и по сегодняшний день.
Известные модификации языка Паскаль
Сейчас Pascal по праву считается одним из лучших языков для новичков в программировании. Одна из его модификаций (ObjectPascal) эффективно применяется в промышленном программировании. Но существуют и другие не менее известные модификации:
TurboPascal
Модифицированный язык программирования, созданный компанией Borland. Это интегрированная среда создания ПО для платформ Windows 3.x и DOS и язык программирования для данной среды.
FreePascal
Встречается два названия: сокращенное FPC — и полное — FreePascalCompiler. Это компилятор языка программирования ObjectPascal, находящийся в свободном доступе.
Lazarus
Полное название — FreePascalCompiler, сокращенное – FPC. Представляет собой открытую среду создания ПО на языке ObjectPascal для компилятора FreePascal. Интегрированная среда разработки позволяет кроссплатформунное создание программного обеспечения в Delphi-подобном окружении.
PascalABC.NET
Модифицированный язык программирования Pascal. Он объединяет классический Паскаль, основные возможности Delphi и многие собственные расширения. В его основе лежит платформа Microsoft.NET. Язык программирования нового поколения включает: классы, интерфейсы, перезагрузку операций, обобщенные классы и программы, обработку исключений, лямбда-выражения, сборку мусора, средства параллельного программирования.
Отличительные черты PascalABC.NET – строгая типизация и наличие средств процедурного (структурного) программирование. Николаус Вирт утверждал, что язык должен учить дисциплинарному программированию, поэтому, одновременно со строгой типизацией, в Pascal минимизированы синтаксические неоднозначности. При этом сам синтаксис ученый сделал интуитивно понятным. Это делает язык Паскаль доступным для начинающих.
При первом знакомстве языка все его недостатки оборачиваются в преимущества. К тому же, по сравнению с языком программирования Фортраном, который использовался в академический среде 1970-х годов и считался основным, Паскаль сделал существенный прорыв.
К 1980-м годам Pascal был заложен как основа во многие ученые программы. При этом на его основе выпускались специализированные обучающие языки программирования. Одним из ярких примеров – «учебный алгоритмический язык» от Андрея Ершова. Он использовался для обучения школьников вычислительной техники и информатики.
Паскаль (Pascal): основы программирования для начинающих
Начинать стоит с изучения основных принципов работы с языком программирования. Постараемся изложить информацию максимально доступно для новичков, что откроет им путь в дальнейший процесс обучения программирования.
Подготовка к работе
Выбрав язык Pascal для обучения вы не ошиблись, так как он самый простой и интуитивно понятный. Чтобы начать с ним работать нужно скачать комплятор (программу, которая будет считывать код и переводить его на язык машинных кодов). Другими словами, все языки программирования представляют собой способ взаимодействия или общения с компьютером. Благодаря комплиляторуваша речь будет понятна машине.
Самые известные компиляторы, которые вы можете скачать:
Внимание! Все из перечисленных программ отлично подходят для обучения. Но многие новички отмечают, что самые удобные для них — Pascal ABC и Pascal ABC.NET. Их интерфейс отличается простотой и наличием сборника задач для начинающих.
Алфавит и словарь языка
Все языки программирования, в том числе и Паскаль используют основу – алфавит (символы), который применяется для записи программы. Алфавит Паскаль включает:
В роле состаных символов (неделимых элементов) рассматриваются такие последовательности символов:
Также, в языке Паскаль существует определенное количество разных цепочек символов, которые представляют собой единые смысловые элементы с фиксированным значением. Эти цепочки символов принято называть служебными словами.
Для обозначения переменных, констант, программ и прочих объектов применяются имена – любые отличные от служебных слов последовательности цифр, букв и символа подчеркивания, начинающиеся с символа подчеркивания или буквы. Строчные и прописные буквы в именах не различаются.
При этом длина имени может быть достаточно внушительной. Для наглядности мы приведем имена, длина которых не больше 8 символов.
Типы данных Паскаль
Pascal позволяет использовать разные типы данных. Перечислим наиболее простые из них:
Важно! Integer – основной, но далеко не единственный тип для работы с целочисленными данными.
Целая часть в вещественном числе отличается от дробной точкой. Но перед и после точки должно быть хотя бы по одной цифре. Не допускаются пробелы внутри числа.
В вещественном числе целая часть от дробной отделяется точкой, при этом перед точкой и после неё должно быть, по крайней мере, по одной цифре. Пробелы внутри числа недопустимы.
Структура программы на языке Pascal
В програмном обеспечении, созданном на языке Pascal выделяют следующее:
Заголовок строится из служебного слова program и названии программы. В конце ставится точка с запятой. Описание данных включает раздел описания const(констант), раздела описания var (переменных) и прочих разделов.
Описание переменных состоит из перечисления их имен и типов. Если они относятся к одному типу, то разделяются запятой. Тип указывается после двоеточия. Затем идет описание типа, которое заканчивается точкой с запятой.
Пример блока описания переменных:
У программы может отсутствовать заголовок и раздел описания данных. Но программный блок является обязательным. Он состоит из команд, которые описывают алгоритм решения задачи. Его начало – слово begin, а в конце – словно end с точкой.
Пример программы:
С помощью специальных языковых конструкций (операторов), в программах записываются действия, которые были выполнены над данными во время решения задачи. В качестве разделителя между операторами используется точка с запятой.
Обратите внимание, что перед оператором end точка с запятой не ставится.
Оператор присваивания
Главное преобразование данных компьютером – присваивание переменного нового значения. Это означает изменение содержимого области памяти, за что отвечает оператор присваивания (аналог команде присваивания алгоритмического языка).
Пример оператора:
Операция присваивания может использоваться для всех типов данных, которые вы видели в нашей таблице. Выражение в языке Pascal конструируется по вышеприведенным правилам алгоритмического языка.
Пример процесса выполнения операторов присваивания:
При выполнении оператора а:=10 в ячейку оперативной памяти ПК с именем а заносится значение 10. При выполнении оператора b:=5 в ячейку оперативной памяти b заносится значение 5. При выполнении оператора s:=a+b; значение одноименных ячеек переносятся в процессор, где они суммируются. Результат заносится в ячейку оперативной памяти и ему присваивается имя s.
Пример выполнения оператора присваивания в виде таблицы:
Видео уроки PascalABC.NET
Изучение интерфейса редактора.
Работа с числами и создание таймера.
Как комплировать исходный код. Часть 1.
Компиляторы. Часть 2.
Решение школьной задачи с помощью Pascal.
Создание виртуального синтезатора.
Создание простого калькулятора.
Оказался ли полезным наш путеводитель по языку программирования Pascal? Поделитесь своимвпечатлением от знакомства с этим языком в комментариях.
Введение в Pascal
Вы находитесь в разделе материалов по пограммированию на Паскале. Перед тем как начать программировать, надо прояснить некоторые понятия, которые нам понадобятся в начале. Ведь просто так программировать нельзя. Мы не можем записать программу словами – компьютер кроме нулей и единиц больше ничего не понимает. Для этого в Паскале создана специальная символика – язык Паскаля, набор зарезервированных слов, которые нельзя использовать в своих программах больше нигде, кроме как по назначению. Перечислим основные понятия, которые нам понадобятся в начале:
✎ 1) program – по-английски «программа», пишется в самом начале кода, после чего идет название программы латиницей и точка с запятой. Например: program Summa; − программа под названием Summa. Но эту часть кода, называемую заголовком программы, можно и не писать − она присутствует только для наглядности и показывает, какую задачу решает данная программа. Здесь мы употребили слово «код» − так называется текстовая запись программы.
✎ 4) const – аналог англ. «constant», означающее «постоянная», «константа». В Паскале это величина, которая не может изменяться. Записывается так:
В действительности формат записи const немножко сложнее. По правилам мы должны были записать:
После объявления каждой величины указывается её тип, а потом присваивается значение. Но предыдущая запись тоже верна, поскольку компилятор Паскаля настроен так, что он автоматически определяет тип постоянной. Но этого нельзя сказать о следующем типе чисел – переменных.
✎ 5) var – происходит от англ. «variable» («переменная», или «изменчивый»), что в Паскале означает величину, которая в процессе программы может изменять свое значение. Записывается так:
✎ 6) begin – в переводе с английского означает «начинать» и Паскале означает начало основной программы, в которой записываются команды (операторы). После слова begin точка с запятой не ставится.
✎ 7) end – по-англ. «конец», и в языке Pascal означает то же (конец программы). После последнего слова end всегда стоит точка. Мы выделили слово «последнего», поскольку использование конструкции begin – end возможно ещё в одном случае: это так называемые операторные скобки, которые применяются для объединения нескольких операций под одним оператором. Но об этом потом. Таким образом, основная программа будет выглядеть так:
Здесь операторы в теле программы – это разные команды компилятору.
✎ 8) write – по-английски означает «писать». Этот оператор выводит на экран текст, помещенный в него, поэтому так и называется – оператор вывода. Текст, помещенный в него, выделяется синим и записывается так:
write( ‘этот текст выведен на экране’ );
Сообщение, находящееся в скобках и кавычках, будет показано в окне консоли (просто в скобках без кавычек нельзя). После выполнения этого оператора мы увидим на экране:
этот текст выведен на экране
В таком виде оператор write используется в том случае, когда надо показать подсказку, пояснение, комментарий и т. п. А от если необходимо вывести ещё и числовое значение, скажем, S = 50 кв. м, то используется формат:
В результате получим на экране результат:
Величина площади равна: S = 50
А при необходимости вывести единицы измерения, надо после 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 года ».
Это пока что все. На следующей странице мы напишем первую программу, и в программировании на Паскале это будут наши первые шаги.
Паскаль команды. Основы программирования
Вы находитесь в подразделе с информацией по программированию с помощью языка Pascal. Перед тем, как приступить непосредственно к программированию, следует остановиться на разъяснении некоторых моментов, которые нам пригодятся. Ведь, не зная первоначальных сведений, невозможно двигаться дальше.
У нас нет возможности написать программу словами, так как компьютер «видит» всю информацию в виде 0 и 1. Для этого язык программирования Pascal содержит набор зарезервированных слов, которые можно использовать только по назначению.
Общие сведения о языке программирования Pascal
Давайте для начала определимся, что же такое язык программирования. В первую очередь-это формальные языки, предназначенные для записи алгоритмов. А выполнить их будет, конечно же, компьютер.
Своим названием язык Pascal, который мы будем изучать, обязан французскому учёному Блезу Паскалю. Разработан язык был в 70-х годах прошлого века.
Данный язык принято считать универсальным, так как с помощью него можно решать огромное количество разнообразных задач.
Команды и операнды, используемые в Pascal
program (переводится, как «программа») — прописывается в верхней строке программы. Затем в этой же строке пишется название будущей программы, и прописывается символов «;». Например: program Summa; — название свидетельствует о том, что решение алгоритмы будет направлено на нахождение суммы чисел. Данная часть кода необязательна для написания. Обычно ее используют для наглядности, чтобы понимать, какую цель должна достигнуть программа.
Важно! «Код» — это текстовая запись программы.
integer (в переводе с английского переводится, как «целое число»)-этот тип данных используется в Pascal для определения целых чисел со знаком из диапазона [-2147483648, 2147483647]. Размер этих чисел составляет 32 бита или 8 байт. Подробнее о данных чисел мы поговорим несколько позднее.
real (в переводе с английского переводится, как «вещественный»)-этим типом данных отмечаются вещественные числа из охвата [-1.8∙10 в 308 степени, 1.8∙10 в 308 степени]. Несмотря на то, что это достаточно большие значения, значимых цифр выводится пятнадцать-шестнадцать.
Важно! Оба рассмотренных типа данных в коде, при правильном написании, загораются синим цветом.
const (в переводе с английского звучит, как «постоянная», «константа»)-в Pascal данная величина остаётся неизменной. Выглядит она следующим образом:
Данный формат записи необходимо истолковывать так, как он пишется, то есть: значение N =12, S = 5, число «Пи» = 3,14.
Важно! На математическом языке для написания числа «Пи» используется запятая, а для Pascal нужно прописывать точку.
В крайней строке мы прописали две косые чёрточки (слэш), а после него написан текст. Таким образом в Pascal пишутся комментарии. Итак, все, что написано после двух косых линий и до конца строки-это комментарии, которые программа не считывает при решении задачи. Они выделяются зелёным цветом. Данный вид написания пояснений подходит только для Pascal ABC.
Для комментариев в Turbo Pascal текст необходимо заключить в фигурные скобки. Например:<текст, помещённый в фигурные скобочки, так же как и здесь, тоже загорается зеленым цветом>. Данный вид пояснений может быть активен вплоть до закрытия скобочек.
В реальности запись постоянной величины выглядит несколько сложнее:
const N: integer = 12; //число N – целого типа
S: integer = 5; //число S – целого типа
pi: real = 3.14; //число «пи» — вещественного
После того, как задали имя каждой переменной, необходимо указать ее тип данных и только потом можно указывать не значение. Но все вышеописанное не отменяет правильности предыдущей записи const.
var (в переводе с английского «переменная»)-переменная, значение которой может изменяться в ходе решения задачи. Выглядит следующим образом:
Обратите внимание, что знака «=» в данной записи нет. Сначала через запятую перечисляются переменные, относящиеся к одному типу данных, ставится знак «:» и обозначается сам тип. Значения N, m-целочисленные, Q, r, t-вешественные. В ходе выполнения программы переменные могут изменять значение в рамках рассмотренных типов значений.
Важно! Переменные описываются после того, как обозначены константы.
begin (в переводе с английского переводится, как «начинать»). Исходя из перевода, можно сделать вывод, что в Pascal данная команда говорит о начале главного блока программы. В нем записываются все нужные для получения результата операции. После begin знак точка «;» не прописывается.
end (переводится, как «конец»). В Pascal данная команда также означает завершение программы. После крайней команды «еnd» прописывается точка.
Важно! В Pascal команды begin и end могут использоваться неоднократно. Это зависит от того, сколько действий нужно выполнить в рамках задачи.
Основной блок кода будет иметь следующий вид:
Операторы в этом случае — это разные команды программного кода.
write (в переводе на русский «писать»). С помощью данной команды пользователь имеет возможность выводить текст, заложенный в нее, на экран. Такой текст выделяется синим. Например: write(‘этот текст выведен на экране’);
Текст, расположенный в скобках и кавычках будет выведен в специально отведенном окне. После выполнения этого действия, мы увидим:
этот текст выведен на экране
Есть ещё один вариант использования команды write. Его используют для вывода на экран числового значения, например, S=50 кв.м, то получаем:
write(‘Величина площади равна: S = ‘, S);
В окне вывода высветится:
Величина площади равна: S = 50
Для вывода единиц измерения вместе со значением переменной S, получим:
write(‘Величина площади равна: S = ‘, S, ‘ кв.м’);
Соответственно в окне вывода будет:
Величина площади равна: S = 50 кв.м
writeln — аналогично предыдущей команде, будет выводить данные на экран. Но все же есть несущественное отличие. После writeln курсор автоматически переключается на следующую строку.
read (переводится, как «читать»). Следовательно, данная операция означает чтение или ввод данных. Выглядит она так: read (N)-требуется ввести значение N, где N может принять любое значение. К примеру, нам нужно записать возраст человека. Предложим, что ему 32 года, тогда вот, что получится:
В верхней строке размещен сам вопрос «Какой Ваш возраст?»; далее выводим «Year=». Затем с помощью оператора readln требуется ввести цифру возраста. В поочередной последовательности выводим данные «Мой возраст», «32», «года». Готово! В окне вывода получим:
Каков Ваш возраст?
Year = 32
Мой возраст 32 года
readln — имеет такое же значение, что и read, с разницей перевода на новую строку.
Это только первые шаги на пути к познанию языка программирования Pascal. В следующей статье мы будем работать с нашей первой программой.
Операторы на Паскале
Программа — это серия инструкций, которые просят компьютер проверить некоторые ситуации и затем действовать соответственно. Чтобы проверить такие ситуации, компьютер тратит много времени на сравнение значений. Сравнение-это логическая операция, которая приводит к истинному или ложному результату в зависимости от значений, на которых выполняется сравнение.
Сравнение выполняется между двумя значениями одного и того же типа. Например, вы можете сравнить два числа, два символа или названия двух городов. С другой стороны, сравнение двух несопоставимых ценностей не имеет никакого смысла. Например, трудно сравнить телефонный номер и чей-то возраст, или музыкальную категорию и расстояние между двумя точками. Как и двоичные арифметические операции, операции сравнения выполняются над двумя значениями одного формата.
В отличие от арифметических операций, где результаты различны, сравнение дает только один из двух результатов. Результатом может быть логическая истина или ложь. Когда сравнение истинно, оно имеет интегральное значение 1 или положительное; то есть значение больше 0. Если сравнение не является истинным, оно считается ложным и несет интегральное значение 0.
Язык ObjectPascal оснащен различными операторами, используемыми для выполнения любого типа сравнения между аналогичными значениями. Значения могут быть числовыми, строковыми или объектами.
Оператор равенства
Для сравнения двух переменных на равенство ObjectPascal использует оператор =. Его синтаксис таков:
Операция равенства используется для определения того, имеют ли две переменные (или одна переменная и константа) одно и то же значение. Исходя из нашего синтаксиса, компилятор будет сравнивать значение Value1 с значением Value2. Если значения Value1 и Value2 имеют одно и то же значение, сравнение дает истинный результат. Если они разные, то сравнение выдает False или 0.
Большинство сравнений, выполняемых в ObjectPascal, будут применяться к условным операторам; но поскольку операция сравнения дает интегральный результат, результат сравнения может быть отображен на экране монитора с помощью процедурWrite или Writeln. Вот пример:
Writeln(‘Сравнение значений = 32 производит ‘, (Value = 32));
Write(«Нажмите любую клавишу, чтобы продолжить…»);
Readln;
end.
Это привело бы к:
Сравнение значения = 32 дает ЛОЖЬ
Нажмите любую клавишу, чтобы продолжить…
Очень важно
Оператор равенства и оператор присваивания различны. При написании StudentAge := 12 это означает, что постоянное значение 12 присваивается переменной StudentAge. Переменная StudentAge может измениться в любое время и может быть присвоена другому значению. Константа 12 никогда не может измениться и всегда равна 12.
Для этого типа операций переменная StudentAge всегда находится в левой части оператора присваивания. Константа, например 12, всегда находится справа и никогда не может находиться слева от оператора присваивания. Это означает, что вы можете написать StudentAge := 12, но никогда 12 := StudentAge, потому что при написании StudentAge := 12 вы изменяете переменную StudentAge с любого предыдущего значения на 12.
Попытка написать 12 := StudentAge означает, что вы хотите изменить постоянное целое число 12 и дать ему новое значение, которое является StudentAge: вы получите ошибку.NumberOfStudents1 = NumberOfStudents2 означает, что обе переменные точно означают одно и то же. Независимо от того, используется ли NumberOfStudents1 или NumberOfStudents2, компилятор рассматривает каждый из них как означающий другой.
Логический оператор Not
Когда переменная объявляется и получает значение (это может быть сделано путем инициализации или изменения значения) в программе, она становится живой. Затем он может участвовать в любой необходимой операции.
Компилятор отслеживает каждую переменную, которая существует в обрабатываемой программе. Когда переменная не используется или недоступна для обработки (в визуальном программировании она будет считаться отключенной), чтобы сделать переменную (временно) непригодной для использования, вы можете обнулить ее значение.
Паскаль считает, что переменная, значение которой равно нулю, является строгой. Чтобы сделать переменную недоступной во время эволюции программы, примените логический оператор NOT, который не является таковым. Его синтаксис таков:
Существует два основных способа использования логического оператора not. Как мы узнаем при изучении условных операторов, наиболее классическим способом использования логического оператора not является проверка состояния переменной.
Чтобы обнулить переменную, вы можете написать оператор not слева от нее. При таком использовании вы можете отобразить его значение с помощью Write или Writeln. Вы даже можете назначить его другой переменной. Вот пример:
begin
Value1 := 250;
Value2 := 32;
Value3 := not Value1;
// Отображение значения переменной
Writeln(‘Value1 = ‘, Value1);
// Логический оператор нет и отображение ее значения
Writeln(‘NOT Value2 = ‘, not Value2);
// Отображение значения переменной, которая была логически «помечена»
Writeln(‘Value3 = ‘, Value3);
Write(Chr(10), Press any key to continue’);
Readln;
end.
Выход:
Когда переменная содержит значение, она «жива». Чтобы сделать его недоступным, вы можете «не» его. Когда переменная была «записана», ее логическое значение изменилось. Если бы логическое значение ранее было истинным, то есть равным 1, оно было бы изменено на ложное. Таким образом, вы можете инвертировать логическое значение переменной, «записывая» или не «записывая» ее. Это проиллюстрировано в следующем примере:
begin
Value1 := 482;
Value2 := not Value1;
Writeln(‘ Value1 = ‘, Value1);
Writeln(‘ Value2 = ‘, Value2);
Writeln(‘NOT Value2 = ‘, not Value2);
Write(Chr(10), ‘Нажмите любую клавишу, чтобы продолжить…’);
Readln;
end.
Это привело бы к:
Неравенство <>
В отличие от Равенства, ObjectPascal предоставляет другой оператор, используемый для сравнения двух значений неравенства. Эта операция представлена символом<>. Его синтаксис таков:
<> — это двоичный оператор (как и все логические операторы, кроме логического not, который является унарным оператором), который используется для сравнения двух значений. Значения могут исходить из двух переменных, как в Variable1 <> Variable2. При сравнении значений, если обе переменные имеют разные значения, сравнение дает истинное или положительное значение. В противном случае сравнение выдает значение false или null.
Вот пример:
Writeln(‘Value1 = ‘, Value1);
Writeln(‘Value2 = ‘, Value2);
Writeln(‘Value1 <> Value2 = ‘, Value1 <> Value2);
Write(Chr(10), ‘Нажмите любую клавишу, чтобы продолжить…’);
Readln;
end.
Это привело бы к:
Нажмите любую клавишу, чтобы продолжить…
Неравенство, очевидно, противоположно равенству.
Более Низкое значение
Чтобы узнать, является ли одно значение ниже другого, используйте оператор Сочетание Равенства и Меньшего значения
Две предыдущие операции могут быть объединены для сравнения двух значений. Это позволяет узнать, являются ли два значения одинаковыми или первое меньше второго. Используемый оператор Большее значение >
Когда два значения одного и того же типа различны, одно из них обычно выше другого. ObjectPascal предоставляет логический оператор, который позволяет узнать, больше ли одно из двух значений другого. Оператор, используемый для этой операции, использует символ>. Его синтаксис таков:
Большее или равное значение >=
Операторы больше и равенства могут быть объединены для получения оператора следующим образом: >=. Это оператор «больше или равно». Его синтаксис таков:
Заключение
Сегодня вы познакомились со всеми операторами языка Pascal. Надеюсь это поможет вам в дальнейшем изучении программирования!