Написать программу на языке программирования паскаль. Структура программы выглядит так. Условный оператор языка программирования

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

✎ 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.

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

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

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

Итак, на предыдущей странице мы определились со следующими понятиями: program, integer, real, const, var, begin, end, write, writeln, read, readln. Давайте напишем простые программы на Паскале с их использованием. Но сначала выясним, из каких частей состоит программа на Паскале.

Любая программа на языке программирования Pascal имеет три составляющие: 1) заголовок; 2) раздел описаний; 3) тело программы.

✎ 1) Заголовок – это слово Program , после которого идет название программы латиницей и точка с запятой в конце. Название не может начинаться с цифры, не должно совпадать с зарезервированными словами (begin, end, integer и т.п.) или с названиями переменных из раздела описаний (см. ниже), а также недопустимо использование каких бы то ни было символов (‘@’, ‘%’, ‘&’ и т.п.), кроме подчеркивания. Название желательно давать со смыслом, которое отображало бы суть самой программы. Но заголовок писать не обязательно.

✎ 2) Раздел описаний – Поскольку сначала мы будем рассматривать простейшие задачи, то у нас во втором разделе будет находиться или описание констант, или переменных (см. пп. 4 и 5 статьи Введение в Pascal).

✎ 3) Тело программы – блок операторов, в котором записываются команды для выполнения. Начинается этот блок словом begin («начало»), а заканчивается словом end. («конец») с точкой в конце(пп. 6, 7 той же статьи).

Таким образом, в общем случае программа на Паскале выглядит следующим образом:


При решении простейших задач ограничимся сначала целыми числами. Перед тем как начать программировать, укажем простейшие 4 действия над числами в Паскале: «+» − сложение, «-» − вычитание, «*» − умножение, «/» − деление. Как видим, в программировании и математике элементарные действия над числами обозначаются одинаково. Решим следующую задачу:

Задача. Пусть даны целые числа A и B. Найти их сумму.


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

1 Program Summa; { программа называется Summa }

Обозначим сумму чисел A и B через S. Поскольку числа целые, то и сумма будет целым числом. Таким образом, в описании чисел A, B, S будем использовать переменную целого типа integer . Но как описать эти числа в разделе описаний – как константы (const ) или как переменные (var )? Все зависит от условия задачи. Мы можем числа A и B записать и как константы, и как переменные. Но в любом случае сумма S будет переменного типа, поскольку нам неизвестно её значение.

Итак, пусть дано значение чисел A и B, равное, например, 23 и 76 соответственно. Поскольку мы знаем значения наперед, то A и B будут типа const , а S опишем как var . Учитывая, что описание констант идет перед описанием переменных, раздел описаний в этом случае будет следующим:


Таким образом, тело программы будет состоять из вычисления суммы S и вывода её на экран. В паскале, чтобы вычислить сумму А и В, нельзя просто записать S = A + B; такая запись возможна, если надо проверить, не равно ли число S сумме A + B. А чтобы в переменную S записать значение суммы А + В, надо значение этой суммы «присвоить» переменной S , т.е. сумму А + В записать в то место памяти компьютера, которое выделено для переменной S. Это как бы «впихивание» значения одного числа в значение другого. Записывается присваивание так:

Для вывода результата используется оператор вывода write с комментарием на экране:

write("Сумма чисел 23 и 76 равна: S = ", S);

Объединяя наши 1)заголовок программы, 2)раздел описаний и 3)тело программы, получим небольшой код, который можно скопировать в PascalABC.Net или в другую версию Pascal:


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

Сумма чисел 23 и 76 равна: S = 99

Все хорошо и программа работает. Но здесь мы написали кое-что лишнее. Посмотрите внимательно на оператор вывода write в конце – там выводится сумма S. Изменится ли что-нибудь, если вместо S написать само значение суммы, то есть А + В? Правильно, ничего. Только тогда надо убрать переменную S из нашего кода, а вместо неё при выводе на экран использовать сумму А + В. Вот упрощенный код:


В этом случае результат на экране будет такой:

Сумма чисел 23 и 76 равна 99

Это и есть наша простейшая первая программа. Другие задачи такого типа можете посмотреть на странице Прямоугольник, круг и параллелепипед. Вычисление площадей, периметров и объемов . Там, правда, используются переменные действительного типа real, но суть та же: решать задачу без оператора присваивания. Вообще этот оператор используется там, где надо вычислить промежуточную переменную, которая задействуется при вычислении основного результата. Поэтому там, где при вычислении результата (ответа к задаче) можно обойтись без присваивания, записывать выражение надо прямо в оператор вывода write. Только, если выражение слишком большое и не помещается в оператор вывода, надо вычислять его отдельно, вводя дополнительные переменные (var). Но в простейших случаях, как правило, можно обойтись и без оператора присваивания.


На следующей странице поговорим о процентах. А пока, если вы любитель World of Warcraft, тогда в этом вам поможет

На занятии рассматривается условный оператор в Паскале (if ). Объясняется, как использовать несколько условий в одной конструкции (AND и OR ). Рассмотриваются примеры работы с оператором

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

До рассмотрения данной темы в основном использовались линейные алгоритмы в Паскале, характерные для весьма простых задач, когда действия (операторы) выполняются последовательно, одно за другим. Более сложные алгоритмы предусматривают использование конструкция ветвления.

Блок-схема условного оператора:

Условный оператор в Паскале имеет следующий синтаксис:

Сокращенный вариант:

if условие then оператор;

Полный вариант:

if условие then оператор else оператор;

Условный оператор в Паскале — if — служит для организации хода задачи таким образом, при котором изменяется последовательность выполнения операторов в зависимости от какого-либо логического условия. Логическое условие может принимать одно из двух значений: либо true (истина), либо false (ложь), соответственно, оно может быть либо истинным, либо ложным.

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

Если при истинном условии необходимо выполнять несколько операторов, то их по правилам языка Pascal необходимо заключать в блок , начинающийся со служебного слова begin и заканчивающегося служебным словом end . Такой блок принято называть операторными скобками , а данную конструкцию — составным оператором :

Операторные скобки и составной оператор в Паскале:

if логическое выражение then begin оператор1; оператор2; end else begin оператор1; оператор2; end;

Перевод с английского оператора условия облегчит понимание его использования:

IF THEN ELSE
ЕСЛИ ТО ИНАЧЕ


В условии (в логическом выражении) используются операторы отношения.
Рассмотрим список операторов отношения Паскаля:

  • больше >
  • меньше
  • больше или равно в Pascal >=
  • меньше либо равно в Pascal
  • сравнение в Pascal =
  • не равно в Pascal

Пример: найти наибольшее из двух чисел

Вариант 1 Вариант 2


Подробно разобраться в работе условного оператора в Паскале можно, просмотрев видеоурок:

Пример: вычислить значение переменной у по одной из двух ветвей

Показать решение:

var x,y:real; begin writeln ("введите х"); read(x); if x>0 then y:=ln(x) else y:=exp(x); writeln ("y=", y:6:2) {итоговое число будет занимать 6 позиций, и в нем будет 2 знака после запятой} end.

Обратите внимание на то, как в данном примере выводится y . При выводе переменных типа в pascal, можно использовать так называемый форматированный вывод , или запись с двумя двоеточиями:
y:6:2
- цифра после первого двоеточия (6) указывает на то, сколько знаков будет занимать число при выводе на экран
- цифра после второго двоеточия (2) указывает на то, сколько знаков после запятой вещественного числа будет выводиться

Таким образом, использование такой записи в pascal практически позволяет выполнить округление до сотых, тысячных и т.п.

Задача 0. Вычислить значение переменной у по одной из двух ветвей:

Задача 1. В компьютер вводятся два числа. Если первое больше второго, то вычислить их сумму, иначе - произведение. После этого компьютер должен напечатать результат и текст ЗАДАЧА РЕШЕНА

Задача 2. Дракон каждый год отращивает по три головы, но после того, как ему исполнится 100 лет - только по две. Сколько голов и глаз у дракона, которому N лет?

Логические операции в Паскале (в логическом выражении)

Когда необходимо использовать двойное условие в Pascal, то понадобятся логические операции.

  • Логическая операция AND (И), поставленная между двумя условиями, говорит о том, что должны выполняться сразу оба эти условия (должны быть истинными). Логический смысл операции - "конъюнкция".
  • Поставленный между двумя условиями, знак OR (ИЛИ) говорит о том, что достаточно, если будет выполняться хотя бы одно из них (одно из двух условий истинно). Логический смысл операции - "дизъюнкция".
  • На языке Паскаль XOR - знак логической операции, имеющий смысл "строгая дизъюнкция" и указывающий на то, что необходимо, чтобы одно из двух условий выполнялось (истинно), а другое - не выполнялось (ложно).
  • Логическая операция NOT перед логическим выражением или переменной имеет смысл "отрицание" или "инверсия" и указывает на то, что если данная переменная или выражение истинны, то их отрицание - ложь и наоборот.

Важно: Каждое из простых условий обязательно заключать в скобки.

Пример : Рассмотрим примеры логических операций в логических выражениях в Паскале

1 2 3 4 5 6 7 8 var n: integer ; begin n: = 6 ; if (n>5 ) and (n<10 ) then writeln ("истина" ) ; if (n>7 ) or (n<10 ) then writeln ("истина" ) ; if (n>7 ) xor (n<10 ) then writeln ("истина" ) ; if not (n>7 ) then writeln ("истина" ) ; end .

var n:integer; begin n:=6; if (n>5) and (n<10) then writeln("истина"); if (n>7) or (n<10) then writeln("истина"); if (n>7) xor (n<10) then writeln("истина"); if not(n>7) then writeln("истина"); end.

Пример: Компания набирает сотрудников от 25 до 40 лет включительно. Ввести возраст человека и определить, подходит ли он для данной компании (вывести ответ «подходит» или «не подходит»).
Особенность: надо проверить, выполняются ли два условия одновременно.

Пример: Дано целое число A. Проверить истинность высказывания: «Число A является нечетным».

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

Pascal – один из самых известных языков программирования. Создан в 1968 – 1969 годах швейцарским ученым Никлаусом Виртом, был назван в честь французского математика и физика Блеза Паскаля, и используется для обучения программированию по сей день.

1. Подготовка к работе

Итак, вы решили научиться программировать и начать с языка наиболее для этого подходящего – Pascal. Для начала работы вы должны приобрести (скачать) компилятор.

А что же собственно, такое, этот «компилятор» ? Это специальная программа, которая считывает код программы, а затем переводит его на язык машинных кодов. То есть, по сути, все языки программирования – это способ “общения” с компьютером, а компилятор помогает перевести нашу “речь” на понятную ему.

Для Pascal существует немало компиляторов, самые известные из них: Pascal ABC, Free Pascal, Pascal ABC.NET, Turbo Pascal. Все эти программы по-своему хороши, но лично для меня (автора), очень удобен Pascal ABC (или Pascal ABC.NET), поскольку он имеет весьма удобный интерфейс, подробную справку, и даже специально подготовленный для новичков сборник задач.

2. Начало работы

Что ж, перед нами открыто окно компилятора. Чистый, белый (или синий?) лист. Здесь и будут появляться на свет наши первые программы. Перед началом работы следует запомнить, что язык Pascal – это совокупность трёх составляющих: алфавита, синтаксиса (правил написания объектов языка) и семантики (правил использования этих объектов).
Алфавит Pascal состоит из:
  1. Прописных и строчных букв латиницы: A...Z, a…z;
  2. Цифр: 0...9;
  3. Специальных символов: + - * / = < >.,:; ‘ # () { } и их комбинаций: «>=» «
Задача же синтаксиса и семантики состоит в том чтобы, правильно написать раздел программы и правильно составить ее структуру, в противном же случае наша программа будет работать неправильно (или же не работать вовсе!).
Вам наверное уже не терпится приступить к самой интересной части, так что сейчас мы с вами попробуем написать ваши первые программы.

Структура программы выглядит так:

Program «имя программы»; - заголовок программы;
(Примечание: в конце строки ставится точка с запятой, не во всех, но в большинстве)
Uses (название библиотеки); здесь подключаются библиотеки, которые дают дополнительные возможности при создании программ;
Label (имя метки); здесь, если необходимо, прописываются метки, позволяющие переходить в разные места программы (о них позже);
Const тут указываем переменные с постоянной величиной, например, p=3.14;
Var тут через запятую перечисляем все переменные, а затем, указываем тип данных (Пример: Var: K, L, M: integer; N, O: real; (если несколько типов));
Begin (здесь без точки с запятой)
Дальше следует основной блок программы;
end. – конец программы (обязательно после “end” точка, если только это конец программы, а не операторные скобки).

3. Создание первых программ

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

Откройте окно вашого компилятора, и введите следующие строки:

Program Programma1;
begin
end.

Нажмите кнопку «Выполнить»(«Run»). Ничего не происходит? Так и есть, ведь наша программа «пустая», мы не указали что она должна делать, потому ничего и не произошло. Обычно принцип работы программы написанной на языке Pascal состоит из трёх этапов: ввод данных – обработка данных – вывод даннных. Теперь познакомимся с оператором “write”. Он служит для как раз для вывода данных без перехода на новую строку. Попробуем его применить, тем самым сделав нашу программу чуть сложнее и интереснее:

Program Programma1;
begin
write(" Pascal ");
end.

Собственно, так он и применяется. Между апострофами мы можем ввести любой текст, на любой раскладке, и после выполнения программы он появится в окне вывода (или в командной строке, смотря какой у вас компилятор). В данном случае, должно появиться слово «Pascal».

3.1. Операторы write, writeln, read, readln
Теперь поговорим о вводе данных. Мы уже познакомились с оператором write, но существуют также и другие. Writeln, к примеру, используется для вывода данных с переходом на новую строку. Зачем? Ну, например чтобы дать какой-нибудь переменной значение:

Program Programma1;
var A:integer;
begin
writeln("A= "); read(A); {ввести значение и «прикрепить» его к переменной A}
write(A); {Вывести значение переменной A}
end.

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

Program Programma1;
var A:integer;
begin
readln(A);
write("A= ", A); {строка будет выглядеть так: «А= " введенное значение А " „}
end.

Теперь, когда вы немного знаете о вводе данных, поговорим о том, какие могут быть данные, и как их обрабатывать.

3.2. Типы данных в Pascal
Пока вы читали эту статью, вы, наверное, уже пару раз натыкались на непонятное вам integer. Внимательно изучив основную структуру программы, вы наверняка поняли, что это тип данных. Но что это означает? Давайте поближе с этим познакомимся.

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

Целые типы данных (для целых чисел):
- byte
Объем памяти значений этого типа составляет 1 байт. Диапазон значений для данного типа: от 0 до 255.
- word
Значения этого типа занимают уже 2 байта памяти, а диапазон значений уже побольше: от 0 до 65535.
- integer (уже нам знакомый)
Значения также занимают 2 байта памяти, диапазон такого же размера, но включает уже и отрицательные числа: -32786…32787.
- LongInt
Объем памяти, занимаемый значением типа равняется 4 байтам. Диапазон значений же полностью соответствует названию типа данных: от -2147483648 до 2147483647
- ShortInt
Значение типа потребляет 1 байт памяти, диапазон относительно небольшой: -128…127.

Вещественные типы данных (для чисел с дробной частью):
- Real
Занимаемая значением типа – 6 байт. Число значащих цифр – 11-12. (значащие цифры – это точные цифры, т.е. не округленные). Диапазон значений типа: от 2.9*10-39 до 1.7*1038.
- Double
Размер значения типа – 8 байт. Число значащих цифр – 15-16. Диапазон: 5.0*10324…1.7*10308.
- Extended
Занимает 10 байт. Число значущих цифр – 19-20. Диапазон: 3.4*10-4932…1.1*104932.
Помимо этих, существуют также символьный тип данных (char) и даже логический тип данных (boolean), переменные которого могут принимать значения только true или false.

Итак, мы уже немало узнали о вводе и выводе данных. Теперь же перейдем к самой сложной части – обработке данных.

3.3. Обработка данных. Математические операции. Условия. Логические операции.
Мы уже научились вводить данные в программу, теперь попробуем научиться их обрабатывать. Первое, и самое главное, что нам пригодится в этом деле – оператор присваивания. Выражается он вот так: «:=», и используется для присваивания значения переменной. Примеры: A:=1.5; B:=2+A. Теперь, когда мы знакомы с оператором присваивания, можем рассмотреть математические операции Pascal:
  1. Сложение (+);
  2. Вычитание (-);
  3. Умножение (*);
  4. Деление (/);
  5. Целочисленное деление (div) – возвращает целую часть от деления (Пример: 10 div 3 = 3);
  6. Остаток от деления (mod) – возвращает только остаток от деления (Пример: 5 mod 2 = 1);
Помимо приведенных, существуют еще такие операции и функции для работы с числами:

Abs(x) – возвращает модуль от x;
sin(x) – синус угла x (в радианах);
cos(x) – косинус угла x (в радианах);
int(x) – возвращает целую часть от x;
random(число) – случайное число от 0 до заданного;
sqr(x) – квадрат x;
sqrt(x) – квадратный корень x;
inc(x) – увеличить x на 1;
dec(x) – уменьшить x на 1.

Условия
Условия в Pascal играют очень большую роль, особенно если алгоритм выполнения программы разветвленный. Формулируется условие следующим образом:

If (условие 1) then (действие 1 - основное) else (действие 2 - альтернативное)
(if – если, then – то, else – иначе)

При построении условия пользуются логическими операциями and, not, or, xor:

And – операнд, объединяющий несколько условий в одно. Действие будет выполняться, только если все перечисленные условия будут верны.
program Usloviya;
var a:integer;
begin
readln(a);
if (2*2=4) and (3+2=5) then a:=a+1 else a:=a-1;
write(a);
end.

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

Not – логическое действие с условием из одной части. Если условие неверно, то будет выполняться основное действие (первое), если верно – то альтернативное (второе).

Program Usloviya;
var b:integer;
begin
readln (b);
if not 5=4 then b:=b+1 else b:=b-1;
write (b);
end.

Условие 5=4 неверно, следовательно, будет выполняться первое действие.

Or (или) – логический оператор для условия из нескольких частей. Основное действие будет выполняться, если верно хотя бы одно условие.
program Usloviya;
var d:integer;
begin
readln (d);
if (5=4+1) or (5=4) then d:=d+1 else d:=d-1;
write(d);
end.

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

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

Program Usloviya;
var n:integer;
begin
readln(n);
if (6=4) xor (3=5-2) then n:=n+1 else n:=n-1;
write (n);
end.

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

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

3.4. Процедуры и функции для управления программой
Поговорим о упомянутой раньше метке. Эта процедура очень легка в использовании и позволяет при надобности перейти в любую часть программы, «перескочив» одну из следующих частей, или же наоборот, вернуться в предыдущую часть. Прописывается метка очень просто: сперва описываем метку в разделе меток (см. п. 3. Начало работы. Структура программы), а затем указывается место перехода, а нужный оператор помечается меткой.

Program Metka;
label 1,2;
var A, B:integer;
begin
readln (A);
2: if A=5 then goto 1; {2: - действие после перехода на соответствующую метку,}
A:=A+1; {goto - переход на метку}
goto 2;
1: write (A);
end.

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

Delay(время) – остановка программы с задержкой, время в кавычках указывается в миллисекундах.
Readkey – остановка программы до нажатия клавиши, значение функции – код нажатой клавиши.
Exit – досрочное завершение процедуры.
Следует заметить, что для работы delay, readkey, и exit необходимо подключить модуль crt (uses crt).

Также посмотрите видео: Паскаль с нуля - первая программа.

4. Заключение

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

Поняв принцип работы с Pascal, вы сможете изучить и другие языки программирования, и в будущем писать уже более «серьезные» программы, чем те с которыми вы познакомились при изучении этой статьи. Продолжайте учиться! Удачи!

Понравилась статья? Поделиться с друзьями: