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

ББК 32.97
Рецензенты:
Тарамова Х.С. – и.о. зав. кафедрой
математического анализа, к.ф.-м.н., доцент
ФГБОУ ВО «Чеченский государственный
педагогический университет»
Хамидова Т.А. – и.о. зав. кафедрой
математического анализа, алгебры и геометрии,
к.ф.-м.н., доцент ФГБОУ ВО «Чеченский
государственный университет»
УДК 681.3.062
Печатается по решению Ученого совета
Чеченского государственного университета
протокол № 01 от 28.01.2021
Гайрабекова Т.И. Алгоритмы и алгоритмические языки. Учебное
пособие. / Гайрабекова Т.И. [Текст] – Грозный: издательство ФГБОУ
ВО «Чеченский государственный университет», 2021. – 133 с.
Учебное пособие предназначено школьникам старших классов,
преподавателям и студентам 1 курсов Чеченского государственного
университета, изучающим дисциплины «Информатика», «Языки
программирования», «Алгоритмы и алгоритмические языки», а также,
всем, кто хотел бы научиться программировать на языке Turbo Pascal.
В работе изложены следующие вопросы: алгоритмы, свойства и
основные структуры алгоритмов, среда Turbo Pascal, данные, типы
данных, операторы, программирование основных структур на языке
Turbo Pascal. Приведены примеры программирования задач на Turbo
Pascal, даны задания для самостоятельной работы, вопросы и тестовые
задания для самоконтроля.
© Т.И. Гайрабекова, 2021 г.
© ФБГОУ ВО «Чеченский государственный университет», 2021 г.
2

3
Оглавление
Введение ..................................................................................................... 5
1. Основы алгоритмизации .................................................................... 7
Алгоритм и его свойства ........................................................................... 7
Способы записи алгоритма ....................................................................... 7
Основные структуры алгоритмов ........................................................... 12
Вопросы для самоконтроля ..................................................................... 15
Тестовые задания №1 ............................................................................... 16
2. Основы программирования на языке Turbo Pascal ................... 24
История развития языка программирования Паскаль ......................... 24
Основные этапы решения задач на компьютере .................................. 25
Среда программирования Turbo Pascal ................................................ 26
Ввод и редактирование программ в Turbo Pascal ................................. 26
Алфавит языка Turbo Pascal .................................................................... 31
Переменные и константы. Типы данных. Задание типа данных ....... 31
Выражения и операции ............................................................................ 33
Арифметические выражения .................................................................. 37
Вопросы для самоконтроля ..................................................................... 38
Задания для самостоятельной работы .................................................... 39
Тестовые задания №2 ............................................................................... 41
3. Алгоритмы линейной структуры ................................................... 47
Структура программы TPascal ................................................................ 47
Оператор присваивания ........................................................................... 49
Процедуры ввода-вывода ........................................................................ 51
Оператор-комментарий ........................................................................... 55
Оператор очищения экрана ..................................................................... 55
Процедура READLN и функция READKEY ......................................... 56
Вопросы для самоконтроля ..................................................................... 61
Задания для самостоятельной работы .................................................... 61
Тестовые задания №3 ............................................................................... 63
4. Алгоритмы разветвляющейся структуры .................................... 69
Условный и безусловный операторы ..................................................... 69
Оператор варианта ................................................................................... 73
Вопросы для самоконтроля ..................................................................... 75
Задания для самостоятельной работы .................................................... 75
Тестовые задания №4 ............................................................................... 77
5. Алгоритмы циклической структуры ............................................. 85
Операторы цикла ...................................................................................... 85

4
Вопросы для самоконтроля ..................................................................... 90
Задания для самостоятельной работы .................................................... 90
Тестовые задания №5 ............................................................................... 92
6. Массивы ............................................................................................. 100
Одномерные и двумерные массивы ..................................................... 100
Генератор случайных чисел .................................................................. 109
Вопросы для самоконтроля ................................................................... 111
Задания для самостоятельной работы .................................................. 111
Тестовые задания №6 ............................................................................. 113
7. Модульное программирование. Процедуры и функции.
Стандартные подпрограммы ............................................................. 119
Вопросы для самоконтроля ................................................................... 124
Задания для самостоятельной работы .................................................. 124
Тестовые задания №7 ............................................................................. 125
Приложение А. Сообщения об ошибках .......................................... 131
Литература ............................................................................................. 132

5
Введение
Учебное пособие предназначено для преподавателей вузов и
колледжей, учителей средних школ, школьников старших классов и
студентов младших курсов, изучающих язык программирования (ЯП)
высокого уровня Турбо Паскаль.
По своей структуре учебное пособие отражает процесс обучения
алгоритмизации и программированию. Оно содержит теоретическую
часть, в которой кратко изложены основные аспекты алгоритмизации
и программирования на языке программирования Турбо Паскаль и
практическую часть – с примерами программ, сопровождаемые N – Sдиаграммами.
Последовательность рассмотрения материала позволяет
приступить к практическому программированию с использованием
электронно-вычислительных машин (ЭВМ).
В данном учебном пособии приведено большое количество
примеров, N – S-диаграмм, программ с листингом, что делает изучение
языка программирования удобным и доступным.
Каждый параграф снабжен задачами для самостоятельного
решения, которые необходимо выполнить на компьютере для
закрепления знаний, полученных в процессе изучения теоретического
материала, вопросами для самоконтроля, тестовыми заданиями и
ответами к ним.
Основная часть состоит из 7 разделов.
Изучение программирования на любом языке должно
предшествовать изучению графических методов представления
алгоритмов, так как данный метод является наиболее наглядным
методом. В связи с этим в первом разделе данного учебного пособия
«Основы алгоритмизации» рассмотрены такие вопросы, как: алгоритм
и его свойства; способы записи алгоритмов и их основные структуры.
В качестве графического представления алгоритмов автором
используются структурограммы Насси – Шнейдермана.
Во втором разделе «Основы программирования на языке Turbo
Pascal» изложена история развития языка Паскаль и его основные
понятия, рассмотрены этапы решения задач на компьютере, описан
интерфейс среды программирования.
Третий раздел «Алгоритмы линейной структуры» описывает
структурные части программы на языке Паскаль. В разделе приведены
основные операторы языка для программирования алгоритмов

6
линейной структуры, отличия оператора присваивания в математике и
программировании.
Четвертый раздел «Алгоритмы разветвляющейся структуры»
посвящен рассмотрению линейной и блочной формы условного
оператора, безусловного оператора, оператора варианта
(множественного выбора), необходимых для программирования
алгоритмов разветвляющейся структуры.
После изучения условных циклов, цикла с параметром в пятом
разделе «Алгоритмы циклической структуры» будут получены знания
для программирования алгоритмов циклической структуры, которые в
впоследствии необходимы для обработки одномерных, двумерных
массивов и вложенных циклов (раздел 6).
В седьмом разделе пособия «Модульное программирование.
Процедуры и функции. Стандартные подпрограммы» изложены
вопросы, связанные с различными типами подпрограмм, об их связи с
основной программой, определены формальные и фактические
параметры и правила их передачи.
Приложение в конце пособия содержит список сообщений о
наиболее распространенных ошибках, совершаемых начинающими
программистами.
Учебное пособие предназначено для тех, кто хочет овладеть
азами программирования, для студентов и преподавателей,
занимающихся проблемами программирования на языке
программирования Турбо Паскаль. Данная работа поможет освоить
принципы алгоритмизации и программирования, позволит создавать
свои собственные программные продукты.

7
1. Основы алгоритмизации
Алгоритм и его свойства
Чтобы решить задачу на электронно-вычислительной машине
(ЭВМ) следует создать алгоритм последовательности действий для
получения результата.
Простое и четкое описание действий, приводящее к получению
результата, называется алгоритмом.
Алгоритмом является процесс нахождения корней квадратного
уравнения. Сборником алгоритмов является книга рецептов для
приготовления пищи.
Термин «алгоритм» (или «алгорифм») произошел от имени
среднеазиатского ученого математика, астронома, географа и историка
Мухаммеда аль-Хорезми (из Хорезма), который в IX в. описал
алгоритм выполнения арифметических действий.
Основные свойства алгоритма:
1. Определенность. Данное свойство заключается в
однозначности, которое исключает произвольное толкование любого
из предписаний и порядка его выполнения в алгоритме.
2. Результативность. Через определенное количество действий
алгоритм должен приводить к получению результата или сообщить,
что не существует решения задачи.
3. Массовость. Один и тот же разработанный алгоритм позволяет
решать однотипные задачи, но с различными исходными данными.
4. Дискретность. Заранее определенная последовательность
элементарных шагов (этапов) вычислительного процесса.
Технология создания алгоритма для решения задачи на
компьютере называется алгоритмизацией.
Способы записи алгоритма
Для записи алгоритма используют четыре способа записи
алгоритма:
1. словесный (вербальный, естественный язык);
2. структурно-стилизованный (псевдокод);
3. графический (блочно-схематический, структурограммы);
4. программный (на языке программирования).

8
1. Словесная форма обычно используется для алгоритмов,
ориентированных на исполнителя – человека. Команды алгоритма
нумеруют, чтобы иметь возможность на них ссылаться. Алгоритм на
естественном языке задается в произвольном изложении, не имеет
строгую формализацию, многословен, неоднозначен в толковании
некоторых предписаний, в связи с чем редко используется для
разработки алгоритмов.
Пример. Найти максимальное число из двух данных натуральных
чисел.
1. Если числа равны, то необходимо взять любое из них в качестве
ответа, в противном случае – продолжить выполнение
алгоритма;
2. Определить большее из чисел, оно является максимальным.
2. Псевдокод является неформальным языком, который имеет
свою систему обозначений, правила записи алгоритмов и набор
служебных слов с определенным смысловым значением. В псевдокоде
используются элементы ЯП, фразы естественного языка и
математические обозначения. Служебные слова выделяются жирным
шрифтом, если алгоритм в печатном тексте, подчеркиваются – в
рукописных текстах. Данная форма записи алгоритма является
промежуточной формой между естественной и формальной, поэтому
ее называют полуформализованной.
Структурно-стилизованная форма не имеет строгие
синтаксические законы записи команд как формальные языки, в связи
с чем данную форму используют на этапе проектирования
программных продуктов. Написанный псевдокод может быть
использован кем угодно и реализован на любом языке
программирования.
Обозначим два заданных значения через и . В алгоритме
используем третью переменную для присвоения найденного
максимального значения из двух заданных значений. Если
максимальным значением является , то присваивается значение , в
противном случае, присваивается значение . Осуществляем вывод
максимального значения, хранящегося в переменной .
алгоритм Нахождение max(x, y)
аргументы x, y
результат z
запросить x, y

9
если x>y то
присвоить z знач x
иначе
присвоить z знач y
конец если
сообщить z
конец
3. Чтобы изобразить алгоритмы графически применяются
геометрические фигуры, называемые блоками. Команды алгоритма
записываются в блоках. Для определения порядка выполнения
действий блоки соединяются стрелками (табл. 1.1).
Схема – это наглядное графическое изображение алгоритма, где
отдельные действия (этапы) алгоритма изображаются при помощи
различных геометрических фигур (блоков) и связи между ними
указываются при помощи стрелок, соединяющих эти фигуры.
Таблица 1.1.
Блоки для графического изображения алгоритма
Название блока
Обозначение
Выполняемая функция
Пуск/останов
Начало/конец
Ввод/вывод
Ввод/вывод данных
Процесс
Вычислительные действия или
последовательность действий
Решение
Проверка условия и выбор
направления хода
вычислительного процесса
Модификация
Начало цикла
Комментарий
Пояснения, содержание
Предопределенный
процесс
Использование раннее
созданных и отдельно
описанных алгоритмов

10
Для записи алгоритма решения задачи также используется менее
известный способ представления алгоритма – диаграммы Насси –
Шнейдермана (N – S-диаграмма» или структурограмма).
Новый способ записи алгоритма был создан аспирантом Исааком
Насси и магистрантом Беном Шнейдерманом и представлен в 1973 г.
в статье «Технологии блок-схем для структурного
программирования».
N – S-диаграммы используются во многих странах, а в Германии
при документировании программных продуктов применение
структурограмм обусловлено государственным стандартом страны.
Преимущества N – S-диаграмм:
• наглядность;
• отсутствие соединительных линий со стрелками, что помогает
избежать случайных ошибок;
• компактность, т.к. даже относительно длинный алгоритм на
языке N – S-диаграмм несложно разместить на одной странице;
• простота использования.
Пример. «Построить схему для нахождения максимального из
двух заданных значений.
Для нахождения максимального из двух заданных значений на
рисунке 1.1 представлен алгоритм в виде блок-схемы, а на рисунке 1.2
– в виде N – S-диаграммы». [1, c.10]
Рисунок 1.1. Блок-схема алгоритма
нахождения максимального из двух заданных значений
Вв. x,
начало
x>y
z=y
z=x
B. z
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
