Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Алгоритмизация и программирование. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
06.09.2026
Размер:
1 Мб
Скачать
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное
учреждение высшего образования
«ТЮМЕНСКИЙ ИНДУСТРИАЛЬНЫЙ УНИВЕРСИТЕТ»
АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ
Тюмень
ТИУ
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.
Функции для работы с числовыми данными
Задание. Вывести на экран значение выражения
󰇛󰇜
󰇛󰇜󰇛󰇜
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]