Программы на языке паскаль. Паскаль (Pascal) — основы программирования для начинающих

Профессиональная среда разработки для создания программ и приложений любого уровня сложности. Сочетает в себе классическую простоту Паскаля и все возможности современной среды разработки.NET, которую используют профессиональные разработчики по всему миру. Кроме того, язык программирования Паскаль изучают на школьном курсе информатики, давая учащимся базовые знания об операторах и переменных. Таким образом, обучение Паскаль абс даётся новичкам лучше, чем освоение других языков программирования.

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

Уроки Pascal ABC

Представленные в видеокурсе уроки Паскаль АБС основаны на разработке прикладных программ и дают практические знания. Все программы, которые вы напишите в процессе прохождения видеокурса, полностью рабочие и их можно использовать в повседневной жизни – «воды» и пустой теории в курсе нет.

Осваиваем интерфейс редактора и пишем свои первые строчки кода.


Изучаем логику работы с числами и конструируем таймер.


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



Используем Паскаль для нахождения решения задачи про школьницу Анну.


Программируем настоящий виртуальный музыкальный синтезатор.


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



Создаём «правильную» телефонную книгу на основе базы данных.


Урок 1 - Первая программа
Урок 2 - Простые числа
Урок 3 - Компиляторы (Часть 1)
Урок 3 - Компиляторы (Часть 2)
Урок 4 - Решение школьной задачи
Урок 5 - Создание пианино
Урок 6 - Продвинутый калькулятор (Часть 1)
Урок 6 - Продвинутый калькулятор (Часть 2)
Урок 7 - Удобная телефонная книга (Часть 1)
Урок 7 - Удобная телефонная книга (Часть 2)
Урок 7 - Удобная телефонная книга (Часть 3)
Урок 7 - Удобная телефонная книга (Часть 4)
Урок 8 - Работа с графикой. Система частиц (Часть 1)
Урок 8 - Работа с графикой. Система частиц (Часть 2)
Урок 8 - Работа с графикой. Система частиц (Часть 3)
Урок 8 - Работа с графикой. Система частиц (Часть 4)

Допустим, что вы скачали и установили паскаль. Затем откройте его. Для программирования вам надо небольшое знание английского языка. Суть нашей программы в том, чтобы она складывала любые числа. Для этого нам нужны переменные. Чисел у нас будет 2. Но в каждой задаче, даже в самой простой, есть ответ. Значит добавляем 3 переменную.

2 шаг

И так. Чтобы оформить наши переменные перейдите на английский язык и напишите в начале программы слово “var”. А после через запятую наши 3 переменные, а, в, с, и через двоеточие поставьте тип “integer” Далее напишите begin – начать.
На данном этапе программа будет выглядеть так:

var a,b,c:integer;
begin

3 шаг

Ну а далее сама программа! Мы сделаем так, чтобы при начале работы, наша программа запрашивала ввести значение наших переменных. Для этого пишем английское слово прочти "read " и в скобках укажите какие именно надо прочесть переменные.
read(a,b);
Потом как в математике пишите формулу. Только обязательно перед равно должно быть двоеточие! c:=a+b;
Потом нам надо, чтобы программа выводила ответ: write©;
ну вот и все! заканчиваем програмку и пишем end.
Наша программа выглядит так:
var a,b,c:integer;
begin
read(a,b);
c:=a+b;
write©;
end.
Можете кстати скопировать эту программку в паскаль, и проверить или напишите ее сами.
После запуска программа запросит ввод, числа вводите через пробел!

Первый сеанс работы по написанию новой программы.

В этом случае надо войти в главное меню (F10), выбрать пункт "File", нажать "Enter", далее в подменю выделить слово "New", нажать "Enter". В этом случае составляемой программе будет автоматически присвоено имя "NONAME.PAS", которое будет высвечено в правом верхнем углу окна EDIT. Чтобы дать программе какое-либо иное имя, следует в пункте "File" главного меню выбрать подпункт "Write to" и в появившемся окне набрать желаемое имя программы с указанием имени диска и, если необходимо, имени каталога. Выполнив перечисленное, следует нажать "Enter", после чего окно EDIT очистится, в верхнем правом углу окна будет выведено заданное название программы, а в левом верхнем углу будет мерцать курсор, приглашая к вводу с клавиатуры текста новой программы.

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

Общая структура программ на языке Паскаль:

Program Имя программы Раздел описаний Begin Раздел операторов End .

Слова PROGRAM, BEGIN и END выделяют 2 части программы: раздел описаний и раздел операторов. Такая структура обязательна. Любой объект, используемый в программе, должен быть учтен в разделе описаний. Иными словами, в разделе описаний должны быть перечислены имена всех используемых в программе меток, констант, нестандартных типов данных, переменных. Кроме того, в разделе описаний приводятся тексты функций и процедур. Раздел операторов - это основная часть программы, здесь содержатся команды, составляющие программу.

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

Program имя программы; Uses Список используемых модулей Label Список меток из основного блока программы Const Определение констант программы Type Описание типов Var Описание переменных Procedure Текст процедуры Function Текст функции Begin Основной блок программы (раздел операторов) End .

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

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

Program Имя программы;

";" - этот разделитель в Паскале означает конец оператора или описания, его использование позволяет размещать несколько операторов в одной строке.

Во второй строке нашей программы находится раздел определения констант. В нем перечисляются используемые в программе константы и их значения. Слово "CONST" означает, что сразу за ним следует определение одной или нескольких констант. "Определить константу" значит указать ее имя и значение, которое не будет меняться на всем протяжении работы программы. Константа определяется так:

Const имя константы=значение;

Имя константы и ее значение разделяются знаком равенства.

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

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

Var имя переменной: тип переменной;

В Турбо-Паскале имя переменной должно начинаться с латинской буквы, состоять из латинских букв, цифр или знака подчеркивания "_". Имя должно состоять не более чем из 63 символов (больше не воспринимает компилятор). В имени переменной нельзя использовать пробел.

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

✎ 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 года ».

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

Итак, на предыдущей странице мы определились со следующими понятиями: 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, тогда в этом вам поможет