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

  • 21.06.2019

Паскаль - это язык программирования высокого уровня. Но он очень устарел морально. Потому что мир не стоит на месте. И другие языки, такие как: C# и Java имеют большую востребовательность и эффективность написания кода в отличии от Паскаля. Его изучают не столько для применения, как для обучения в учебных заведениях. Потому что он прост для понимания и нанести вред системе от некорректного кода пользователя не может. Я предоставил вам список уроков, по которым вы можете изучить его досконально.

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

Если же она у вас есть, то приступим к процессу обучения.

Пройдя все уроки вы получите примеры решения задач, представление о написании программ в целом, а также изучите язык программирования Turbo Pascal .

Разработал: профессор НТУ "ХПИ" Домнин Феликс Аркадьевич

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

Что такое язык программирования? Любая задача, которую решает компьютер, записывается в виде последовательности команд. Такая последовательность называется программой. Команды, конечно, должны быть представлены на языке, понятном компьютеру. Один из таких языков - язык программирования Паскаль. Он разработан швейцарским профессором Нико-лаусом Виртом специально для обучения студентов программированию. К особенностям языка относится также и его структурность. То есть программа легко разбивается на более простые, непересекающиеся блоки, те, в свою очередь, на еще более простые блоки. Это также облегчает программирование. В 1979 году язык был утвержден в качестве стандартного. Вирт назвал его в честь французского ученого Блеза Паскаля, изобретателя счетной машины. Язык Паскаль прост, логичен и эффективен. Он получил распространение во всем мире. Наши беседы построены на конкретных примерах программ. Длительных теоретических пояснений нет, поэтому крайне необходимо внимательно читать комментарии в текстах программ!
Итак, начинаем первую беседу сразу с первой программы на Паскале;

Содержание
Вступление 7
Благодарности 7
От издательства 8
ТЕМА 1. Как написать простую программу на Паскале 9
Урок 1.1. Выводим сообщение на экран дисплея 10
Урок 1.2. Как заложить эту программу в компьютер? 11
Этапы создания компьютерной программы 12
1. Запуск среды Паскаль 14
2. Работа в окне редактирования Edit 16
3. Сохранение программы в файле на диске 19
4. Запуск компилятора 20
5. Выполнение программы 21
6. Просмотр результатов работы программы 21
7. Выход из среды Паскаль 22
Урок 1.3. Оформление текста на экране 22
Выводы 28
Контрольные вопросы 28
ТЕМА 2. Как включить в работу числовые данные 30
Урок 2.1. Начнем с простого: целые числа 31
Понятие переменной 32
Тип Integer. Оператор присваивания. Вывод на экран 32
Операции с типом Integer 34
Стандартные функции типа Integer 36
Как представляются переменные целого типа в памяти компьютера 38
Урок 2.2. Включаем в работу вещественные числа 39
Описание вещественного типа данных (Real) 40
Форматы записи вещественных переменных 40
Вещественные операции 41
Стандартные функции типа Real 41
Запись математических выражений 43
Как представляются переменные вещественного типа в памяти
компьютера 45
Урок 2.3. Как совместить переменные целого и вещественного типа 46
Преобразование типов 46
Правила приоритета в выполняемых действиях 47
Действия надданными разных типов 47
Урок 2.4. Ввод и вывод данных 51
Вводим переменные с клавиатуры 52
Красивый вывод на экран 52
Задание значений переменных датчиком случайных чисел 55
Урок 2.5. Зачем нужны константы в программе? 57
Выводы 59
Контрольные вопросы 60
ТЕМА 3. Учимся работать с символами 61
Урок 3.1. Как компьютер понимает символы 62
Кодовая таблица ASCII 62
Описание типа Char и стандартные функции 63
Урок 3.2. Тип Char - порядковый тип! 64
Выводы 66
Контрольные вопросы 67
ТЕМА 4. Джордж Буль и его логика 68
Урок 4.1. Необходим еще один тип - логический! 69
Логический тип данных (Boolean) 70
Операции отношения 70
Ввод-вывод булевских переменных 71
Урок 4.2. Логические (булевские) операции 71
Логическое умножение (конъюнкция) 72
Логическое сложение (дизъюнкция) 72
Исключающее ИЛИ (сложение по модулю 2) 73
Логическое отрицание (инверсия) 74
Применение логических операций в программе 74
Приоритет логических операций 76
Выводы 77
Контрольные вопросы 78
ТЕМА 5. Анализ ситуации и последовательность выполнения команд 79
Урок 5.1. Проверка условия и ветвление в алгоритме 80
Полная и неполная форма оператора if 81
Оформление программ 84
Урок 5.2. Блоки операторов 85
Урок 5.3. Ветвление по ряду условий (оператор case) 90
Выводы 94
Контрольные вопросы 95
ТЕМА 6. Многократно повторяющиеся действия 96
Урок 6.1. Оператор-цикла for 97
Оператор for с последовательным увеличением счетчика 97
Оператор for с последовательным уменьшением счетчика 99
Урок 6.2. Применение циклов со счетчиком 99
Цикл в цикле 100
Трассировка 101
Вычисление суммы ряда 103
Выводы 107
Контрольные вопросы 108
ТЕМА 7. Циклы с условием 109
Урок 7.1. Цикл с предусловием 110
Описание цикла с предусловием 110
Приближенное вычисление суммы бесконечного ряда 111
Введение числа в указанную целую степень 114
Урок 7.2. Цикл с постусловием 118
Описание цикла с постусловием 119
Использование циклов repeat и while 119
Относительность выбора операторов while и repeat 123
Выводы 129
Контрольные вопросы 129
ТЕМА 8. Массивы - структурированный тип данных 131
Урок 8.1. Хранение однотипных данных в виде таблицы 132
Основные действия по работе с массивами 133
Описание массива на языке Паскаль 133
Заполнение массива случайными числами и вывод массива на экран 134
Создание пользовательского типа данных 137
Поиск максимального элемента массива 141
Вычисление суммы и количества элементов массива с заданными свойствами 146
Урок 8.2. Поиск в массиве 148
Определение наличия в массиве отрицательного элемента с использованием флажка 149
Определение наличия в массиве отрицательных элементов путем вычисления их количества 150
Нахождение номера отрицательного элемента массива 152
Урок 8.3. Двумерные массивы 156
Выводы 158
Контрольные вопросы 159
ТЕМА 9. Вспомогательные алгоритмы. Процедуры и функции. Структурное программирование 160
Урок 9.1. Конструирование алгоритма «сверху вниз» 161
Практическая задача с использованием вспомогательных алгоритмов 162
Урок 9.2. Пример работы с функцией: поиск максимального элемента 169
Выводы 171
Контрольные вопросы 171
ТЕМА 10. Как работать с символьными строками 1 72
Урок 10.1. Работаем с цепочками символов: тип String 1 73
Описание строковой переменной 173
Основные действия со строками 174
Урок 10.2. Некоторые функции и процедуры Паскаля для работы со строками 175
Использование библиотечных подпрограмм работы со строками 175
Выводы 177
Контрольные вопросы 178
ТЕМА 11. Процедуры и функции с параметрами 179
Урок 11.1. Простые примеры использования подпрограмм с параметрами 180
Простейшие процедуры с параметрами 180
Формальные и фактические параметры 182
Простейшие функции с параметрами 183
Урок 11.2. Способы передачи параметров 184
Выводы 187
Контрольные вопросы 187
ТЕМА 12. Файлы: сохраняем результаты работы до следующего раза 189
Урок 12.1. Как работать с текстовым файлом 190
Открытие файла для чтения 190
Открытие файла для записи 193
Урок 12.2. Сохранение двумерного массива чисел в текстовом файле 196
Сохранение числовых данных в текстовом файле 196
Сохранение массива чисел в текстовом файле 197
Дописывание информации в конец файла 201
Выводы 202
Контрольные вопросы 203
ТЕМА 13. Графический режим работы. Модуль Graph 204
Урок 13.1. Включаем графический режим работы 205
Особенности работы с графикой 205
Переключение в графический режим видеоадаптера 206
Урок 13.2. Продолжаем изучать возможности модуля Graph 208
Рисование линий средствами модуля Graph 209
Рисование окружностей средствами модуля Graph 210
Выводы 212
Контрольные вопросы 212
ТЕМА 14. Операторы, изменяющие естественный ход программы 213
Урок 14.1. Использование оператора безусловного перехода goto 215
Урок 14.2. Операторы, изменяющие ход выполнения цикла 218
Оператор break 2.19
Оператор continue 220
Выводы 220
Контрольные вопросы 221
Приложение 1. Элементы блок-схем 222
Приложение 2. Домашние задания 224
Задания к главе 2 224
Задания к главе 4 227
Задания к главам 6-7 229
Задания к главе 8 236
Алфавитный указатель 254

В этой статье я расскажу вам про основные принципы работы с языком 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, вы сможете изучить и другие языки программирования, и в будущем писать уже более «серьезные» программы, чем те с которыми вы познакомились при изучении этой статьи. Продолжайте учиться! Удачи!