Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Алгоритмизация и программирование. Учебное пособие
.pdf
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное
учреждение высшего образования
«ТЮМЕНСКИЙ ИНДУСТРИАЛЬНЫЙ УНИВЕРСИТЕТ»
АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ
Учебное пособие
Тюмень
ТИУ
2022

А 45
Алгоритмизация и программирование: учебное пособие /
сост. Г. Г. Сорокин. – Тюмень: ТИУ, 2022. – 79 с. – Текст: непосредственный.
ISBN 978-5-9961-2991-1
© Федеральное государственное
бюджетное образовательное
учреждение высшего образования
«Тюменский индустриальный
университет», 2022
УДК 004.4(075.8)
ББК 32.973я73
А 45
бизнес-информатики и математики ТИУ Е. Н. Фокина;
кандидат физико-математических наук, доцент кафедры
алгебры и математической логики ТюмГУ Д. И. Иванова
ISBN 978-5-9961-2991-1
Учебное пособие содержит краткий теоретический материал,
описывающий основы построения алгоритмических конструкций и
их реализации на языке программирования PascalABC.NET.
Учебное пособие рекомендуется при изучении дисциплины
«Алгоритмизация и программирование» для обучающихся направления подготовки 02.03.01 «Математика и компьютерные науки».
В учебном пособии представлен большой набор задач различной степени сложности, которые могут быть использованы преподавателями для составления лабораторных и контрольных работ,
а также для организации самостоятельной работы студентов.
Рецензенты:
кандидат педагогических наук, доцент кафедры
УДК 004.4(075.8)
ББК 32.973я73

СОДЕРЖАНИЕ
ПРЕДИСЛОВИЕ.................................................................................................. 4
1. ВВЕДЕНИЕ В ПАСКАЛЬ .............................................................................. 5
2. ЧИСЛОВЫЕ ТИПЫ ДАННЫХ ..................................................................... 9
3. ЛОГИЧЕСКИЙ ТИП ДАННЫХ .................................................................. 12
4. ПОРЯДКОВЫЕ ТИПЫ ДАННЫХ .............................................................. 18
5. МЯГКИЕ ЦИКЛЫ ......................................................................................... 22
6. ВЛОЖЕННЫЕ ЦИКЛЫ ............................................................................... 27
7. ГЕНЕРАТОР СЛУЧАЙНЫХ ЧИСЕЛ ......................................................... 28
8. МАССИВЫ .................................................................................................... 30
9. ДВУМЕРНЫЕ МАССИВЫ .......................................................................... 33
10. СИМВОЛЬНЫЙ И СТРОКОВЫЙ ТИПЫ ДАННЫХ ............................ 37
10. МНОЖЕСТВА ............................................................................................. 41
12. ПРОЦЕДУРЫ .............................................................................................. 47
13. ФУНКЦИИ ................................................................................................... 51
14. ТИПИЗИРОВАННЫЕ ФАЙЛЫ ................................................................ 56
15. ТЕКСТОВЫЕ ФАЙЛЫ ............................................................................... 61
16. ЗАПИСИ ....................................................................................................... 65
17. СРЕДСТВА КОМПЬЮТЕРНОЙ ГРАФИКИ ........................................... 70
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ .............................................. 78

ПРЕДИСЛОВИЕ
Алгоритмизация и программирование играют большую роль в современной науке и технике. Данные направления не только служат инструментами для решения задач математических, технических и социально-экономических дисциплин, но и сами активно развиваются, представляя всё больший научный интерес. Освоение алгоритмизации и программирования студентами инженерных направлений, помогает получить представления о принципах организации современного наукоёмкого производства, формирует у учащихся навыки алгоритмического
мышления. Представленное пособие ориентировано на первое знакомство студентов с методами решения прикладных задач средствами языка
программирования.
В каждом параграфе пособия излагаются необходимые теоретические сведения, приводятся примеры решения типовых задач. В конце глав
даются задания для самостоятельного решения.
Учебное пособие может быть использовано учащимися как для самостоятельного изучения, так и для работы под руководством преподавателя.
Помимо основной целевой аудитории, данное учебное пособие может быть полезно преподавателям средних школ, педагогам дополнительного образования, а также людям, изучающим программирование самостоятельно.
При формировании теоретического материала и подборе задач автор
опирался на учебники и учебные пособия ряда российских авторов по алгоритмизации и программированию, в частности «Программирование на
языке высокого уровня Паскаль» Т. А. Павловской; «Программирование на
языке Pascal» Т. А. Андреевой; «Технология алгоритмизации и программирования на языке Pascal» Н. В. Тюльпиновой и др.
4

5
1. ВВЕДЕНИЕ В ПАСКАЛЬ
Язык программирования Паскаль был разработан профессором
Технического Университета в Цюрихе (Швейцария) Н. Виртом в 1971 г.
Данный язык изначально предназначался для обучения студентов навыкам алгоритмизации и программирования. Несмотря на это более 20 лет
Паскаль был достаточно востребованным языком разработки ПО у профессиональных программистов. Имея уже солидный возраст, Паскаль
остаётся одним из самых удобных языков для первого знакомства с технологиями программирования, постоянно развивается и реализуется в новых средах разработки. Материал данного учебного пособия ориентирован на работу со средой программирования «PascalABC.NET».
Алфавит языка
Алфавит языка Паскаль состоит из букв, цифр и специальных символов. Он включает:
прописные и строчные буквы латинского алфавита: от А до Z,
от а до z и специальные символы @, #, $, используемые так же,
как и буквы;
цифры: 0123456789;
специальные символы: пробел + - / = * :^ <>(){}[] , . ; : "' ! % &.
Идентификаторы и служебные слова
Все слова языка Паскаль можно разделить на идентификаторы и
служебные слова. Идентификаторы применяются для обозначения типов,
переменных, меток, констант, процедур и т.д. Это своеобразные имена,
которые программист даёт различным элементам программы. Идентификатор всегда должен начинаться с латинской буквы, его длина не
должна превышать127 символов.
Пример:
Summa, x, y, a1, df_5.
Служебные слова – это слова, используемые для связи различных
элементов языка. Они служат для обозначения операций, типов, элементов структуры программы и т.д. Программист не может использовать
служебные слова в качестве идентификаторов.
Пример: function, case, if, begin и т.д.

6
Комментарии
Для отладки программы, а также для внедрения в её текст пояснений,
удобно делать некоторые фрагменты программы “невидимыми” для компилятора. Для этого соответствующий фрагмент программы помещают в
специальные скобки {} или (* *). Для скрытия отдельной строки в её
начале можно поставить знак “//”.
Структура Паскаль-программы
Программа в Паскале имеет достаточно строгую и определённую
структуру, которую схематично можно представить следующим образом:
Program Имя программы;
БЛОК ОПИСАНИЯ
BEGIN
ТЕЛО ПРОГРАММЫ
END.
Имя программы – это некоторый идентификатор. В блоке описания
описываются все объекты, которые в дальнейшем предполагается использовать в программе (переменные, функции, константы, типы и т.д). В теле
программы располагается её алгоритм, реализованный на языке Паскаль.
Каждая строка программы должна заканчиваться точкой с запятой. Но в
некоторых случаях её можно ставить, а можно и не ставить (например, после begin и перед end). Поскольку факт присутствия знака “;” в данном
случае не играет никакой роли, его называют “пустым оператором”. Вообще под термином “оператор” мы будем понимать некоторую элементарную команду языка программирования.
Все данные, переменные и значения в Паскале должны быть строго
типизированы, то есть, отнесены к одному из классов значений, называемых типами. На первом этапе знакомства с Паскалем нам понадобится
всего четыре типа:
integer – целые числа,
real- вещественные (действительные числа),
string – строки, char.
В Паскале имеется несколько десятков различных типов данных, при
этом предусмотрена возможность разработки программистом своих пользовательских типов на основе стандартных.

7
Переменные
Переменные – это своеобразные ячейки памяти, предназначенные
для временного хранения данных. Переменную можно рассматривать как
совокупность трёх элементов: идентификатора, типа и значения.
Переменные, используемые в программе, должны быть описаны в
разделе описания после слова Var с указанием их типа через “:”.
Пример:
Var x,y,z : real;
summa, max: integer;
stroka1, stroka2: string;
Оператор присваивания
Для придания значения некоторым объектам программы (чаще всего
переменным) значений используется оператор присваивания “:=” . Он имеет следующую схему записи
Идентификатор переменной := значение;
В качестве значения может использоваться результат математической, логической или другой операции, конкретное числовое, строковое и
другое значение, а также значение другой переменной. Необходимо строго
следить за тем, чтобы тип присеваемого значения соответствовал типу переменной. Так, для переменных, определённых в предыдущем примере,
можно выполнить следующие операции присваивания:
x:= 2.34;
у:=z+Cos(x);
summa:= max; stroka1:=’доступ открыт’;
Оператор вывода Write
Оператор Write служит для вывода на экран конкретных значений,
значений выражений, переменных и т.д. Список параметров (которые
нужно вывести на экран) указывается в скобках через запятую.
Пример:
Write(25);
Write ('Привет земляне!');

8
Write (2+2);
Write (x, y, max, stroka2);
Write ('Сумма =', Summa);
Недостатком оператора Write является то, что при его неоднократном использовании, данные выводятся плотно в одну строку. Для того,
чтобы каждый последующий вывод начинался с новой строки используют
оператор Writeln, аналогичный оператору Write.
Пример:
Writeln(25);
Writeln ('Сумма =', Summa);
При выведении на экран вещественных результатов полезным может
оказаться форматированный вариант оператора Write.
Write(a: c: d);
где a ‒ выводимое значение, c ‒ количество символов, отводимых для вывода целой части числа, d ‒ количество символов, отводимых для вывода
дробнойчасти числа.
Оператор ввода Read
Для заполнения значений переменных с клавиатуры используется
оператор ввода Read. Список переменных, подлежащих заполнению, указывается в скобках после оператора. Если один оператор Read используется для заполнения значениями нескольких переменных, то в тексте программы они указываются через запятую, а при работе программы вводятся
через пробел. Рекомендуется использовать один оператор Read для ввода
одной переменной.
Пример:
Read(x,y,z),
Read(max),
Read(stroka1)
По тем же соображениям, что и с оператором Write, для более
наглядной работы программы можно использовать оператор Readln. При
этом каждый последующий ввод будет начинаться с новой строки.

9
тип
диапазон значений
требуемая память
integer
-2147483648 .. 2147483647.
4 байта
byte
0 .. 255
1 байт
word
0 .. 65535
2 байта
тип
диапазон значений
требуемая память
real
5.0∙10
-324
..1.7∙10
308
8 байт
single
-1.8∙1038 до 1.8∙1038
4 байта
Пример:
Readln(x,y,z);
Readln(max);
Readln(stroka1);
Задание. Написать программу “Знакомство”. Она должна запрашивать у пользователя имя и приветствовать его по имени.
Текст программы.
Program Znakomstvo;
Var name:string;
BEGIN
Writeln('Как тебя зовут?');
Readln(name);
Writeln('Очень приятно ', name, ' с Вами познакомиться');
END.
2. ЧИСЛОВЫЕ ТИПЫ ДАННЫХ
Все числовые типы данных Паскаля объединены в две большие
группы: целые и вещественные.
К целым типам относятся положительные и отрицательные целые
числа. Из соображений экономии оперативной памяти, и повышения скорости работы программы, в Паскале вводится несколько целых типов.
Основные целые типы представлены в Таблице 1. К вещественным типам
относятся положительные и отрицательные действительные числа, то
есть целые числа и все дроби между ними. Вещественных типов в Паскале также несколько (Таблица 2).
Таблица 1.
Основные целые типы
Таблица 2.
Основные вещественные типы

10
Функция
Тип пара-
метра
Тип возвращаемо-
го значения
Действие
Abs(x)
integer
совпадает с типом
параметра
Возвращает модуль x
Sqr(x)
integer, real,
совпадает с типом
параметра
возвращает квадрат x
Sqrt(x)
real
real
возвращает квадратный корень
из x
Sin(x)
real
real
возвращает синус x, параметр
передаётся в радианах
Cos(x)
real
real
возвращает косинус x, параметр передаётся в радианах
Ln(x)
real
real
возвращает натуральный логарифм x
Exp(x)
real
real
возвращает экспоненту x (ex)
Arctan(x)
real
real
возвращает арктангенс x в радианах
Round(x)
real
integer
возвращает результат округления x до ближайшего целого
Trunc(x)
real
integer
возвращает целую часть х
Int(x)
real
real
возвращает целую часть х
Frac(x)
real
real
возвращает дробную часть х
Над числовыми типами применимы операции: сложение (+), вычитание (-), умножение (*), деление (/). Деление всегда возвращает вещественное значение. Для данных целого типа можно использовать операции mod
(остаток от деления) и div (целочисленное деление). Результаты обеих операций будут целыми.
Пример:
5 mod 3 = 2.
-5 mod 3 =-2.
5 div 3 = 1.
Основные функции для работы с числовыми данными представлены
в Таблице 3.
Таблица 3.
Функции для работы с числовыми данными
Задание. Вывести на экран значение выражения
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
