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

Учебное пособие 1450

.pdf
Скачиваний:
5
Добавлен:
30.04.2022
Размер:
1.18 Mб
Скачать

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение высшего образования «Воронежский государственный технический университет»

Н. И. Гребенникова, М. Ю. Сергеев, Т. И. Сергеева

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ

Лабораторный практикум

Воронеж 2021

УДК 681.3.06(07) ББК 32.973-018я7

Г79

Рецензенты:

кафедра вычислительной техники и информационных систем Воронежского государственного лесотехнического университета имени Г. Ф. Морозова

(зав. кафедрой канд. техн. наук, доц. Е. А. Аникеев); д-р техн. наук, проф. А. М. Литвиненко

 

Гребенникова, Н. И.

 

 

Программирование на языке высокого уровня: лабораторный

Г79

практикум [Электронный ресурс]. - Электрон, текстовые и граф.

данные ( Мб) / Н. И. Гребенникова, М. Ю. Сергеев, Т. И. Сергеева.

 

- ФГБОУ ВО «Воронежский государственный технический универ-

 

ситет», 2021. - 1 электрон. опт. диск (CD-ROM): цв.

- Систем.

 

требования: ПК 500 и выше; 256 Мб ОЗУ; Windows

7; SVGA

с разрешением 1024x768;. Adobe Acrobat; CD-ROM дисковод; мышь. - Загл. с экрана.

ISBN 978-5-7731-0946-4

Рассматриваются основные приемы программирования на языке С++, а также приведены задания для разработки программ.

Предназначено для студентов направления 09.03.01 «Информатика и вычислительная техника» (профили «Вычислительные машины, комплексы, системы и сети», «Системы автоматизированного проектирования», «Программное обеспечение автоматизированных систем») очной и заочной форм обучения при изучении дисциплины «Программирование на языке высокого уровня».

Ил. 20. Табл. 12. Библиогр.: 9 назв.

УДК 681.3.06(07) ББК 32.973-018я7

Издается по решению редакционно-издательского совета Воронежского государственного технического университета

ISBN 978-5-7731-0946-4

Гребенникова Н. И., Сергеев М. Ю.,

 

Сергеева Т. И., 2021

 

ФГБОУ ВО «Воронежский

 

государственный технический

 

университет», 2021

 

2

ВВЕДЕНИЕ

Влабораторном практикуме рассматриваются основы алгоритмизации вычислительных задач, базовые средства и конструкции языка C++, работа с массивами, матрицами, строками и структурами.

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

Вторая часть предоставляет справочную информацию по программированию на языке C++.

Втретьей части содержатся задания для лабораторной работы, посвященной программной реализации линейных и разветвляющихся вычислений.

Четвертая и пятая части практикума приводят теоретические сведения и практические задания по программированию задач, обрабатывающих массивы.

Шестая и седьмая части практикума содержат описание программирования с применением строковых данных и структур данных и практические задания на программирование.

Восьмая часть практикума приводит краткую инструкцию по отладке и решению программ в консольном режиме в среде Visual Studio.

Материалы практикума необходимы для организации

лабораторных работ по дисциплине «Программирование на языке высокого уровня». Теоретические сведения и практические задания могут быть применимы при выполнении курсового проектирования по данной дисциплине.

Издание соответствует типовой программе по дисциплине «Программирование на языке высокого уровня» и предназначено для студентов бакалавриата направления подготовки 09.03.01 «Информатика и вычислительная техника» очной и заочной форм обучения.

3

1.ОСНОВЫ АЛГОРИТМИЗАЦИИ ВЫЧИСЛИТЕЛЬНЫХ ЗАДАЧ

1.1.Формы представления алгоритмов

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

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

Программное обеспечение (ПО) – совокупность про-

грамм определенного назначения и необходимых для их эксплуатации документов. Будем считать, что программная система, или программное обеспечение, или программное средство – это эквивалентные понятия.

Программа – это любой текст на языке программирования, пригодный для выполнения на компьютере [1].

Программа состоит из последовательности команд (операторов), реализующих алгоритм решения конкретной задачи.

Алгоритм – конечная последовательность предписаний, однозначно определяющая процесс преобразования исходных и промежуточных данных в результат решения задачи [1].

Алгоритм дает точное описание способа решения задачи, устанавливающее необходимые входные данные для решения задачи, состав действий и последовательность их выполнения, описание выходных результатов.

Существуют две основные формы представления ал-

горитмов: словесная; графическая.

4

Словесная форма представления алгоритма используется для укрупненного и упрощенного описания решения задачи. Словесная форма может применяться для описания задач с линейной структурой или с упрощенной разветвляющейся или циклической структурой [1].

Графическая форма представления алгоритмов является более компактной и наглядной. Алгоритм изображается в виде последовательности связанных между собой блоков, каждый из которых соответствует определенному типовому действию [1]. Такое графическое представление называется структурной схемой алгоритма.

Условные графические обозначения типовых действий (блоки) стандартизированы. Наиболее часто используемые блоки приведены в табл. 1 [1].

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

 

Блоки структурной схемы

 

Таблица 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Процесс

b

а Решение

 

 

 

a

 

 

 

(вычисле-

 

 

(проверка

 

 

 

 

 

 

 

 

 

 

 

 

ния)

 

 

условия)

b

 

 

 

 

 

Предопре-

0.15a

 

 

 

деленный

а

Ввод-

 

a

процесс

вывод

 

 

(подпро-

 

 

 

 

грамма)

b

 

b

0.25a

 

 

 

 

5

 

 

 

 

 

Окончание табл. 1

Соедини-

 

Модифи-

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тельные

 

кация

 

 

 

 

 

 

 

 

 

а

 

 

 

 

линии

 

(начало

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

цикла)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Начало-

Коммен-

 

конец

тарии

a

 

0.5a

 

 

b

0.5a

 

 

Внутри-

 

Меж-

0.5a

 

 

 

 

 

странич-

 

0.5a странич-

 

 

 

 

 

 

 

 

 

 

 

ный со-

 

ный со-

 

 

 

0.5a

 

единитель

 

едини-

 

 

 

 

 

 

 

 

 

 

 

 

 

тель

 

 

 

 

 

Примечание. Значение a принимается из ряда чисел 10; 15; 20… мм; b = 1,5 a.

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

Алгоритм, записанный на языке программирования, называется программой.

1.2. Базовые алгоритмические структуры

Базовые алгоритмические структуры, применяемые при программировании, следующие:

6

линейные структуры (следование);

разветвляющиеся структуры (разделение на ветки);

циклические структуры (повторение).

Влинейной структуре операторы выполняются в той последовательности, в которой они записаны.

Под оператором понимается формальная запись некоторого типового действия.

Вразветвляющейся структуре происходит разветвление выполняемой последовательности действий в зависимости от результатов проверки некоторого условия.

Циклическая структура – это многократное выполнение одинаковой последовательности действий (операторов).

Схемы алгоритмов. Любой вычислительный процесс можно наглядно представить в структурной схемы алгоритма. Как правило, алгоритмы строятся с применением трех основных конструкций, которые получили название базовых [1]:

следование; обозначает последовательное выполнение действий (рис. 1);

ветвление; соответствует выбору одного из двух вариантов действий (рис. 2);

цикл с предусловием; определяет повторение действий, пока не будет нарушено некоторое условие, выполнение которого проверяется в начале цикла (рис. 3).

На рис. 1 приведена структурная схема реализации следования, которую называют ещё линейной структурой.

Действие 1

Действие 2

Действие 3

Рис. 1. Структурная схема реализации следования

7

На рис. 2 приведена структурная схема реализации ветвления. Если условие выполняется, то выполняют действие 1, затем действие 3. Если условие не выполнено, то выполняют действие 2, затем действие 3.

Да Нет Усло-

вие

Действие 1

 

Действие 2

 

 

 

Действие 3

Рис. 2. Структурная схема реализации ветвления

Нет

Усло-

вие

Да

Действие 1

Действие 2

Действие 3

Рис. 3. Структурная схема реализации цикла с предусловием

8

На рис. 3 показано, что если условие выполняется, то выполняются действия 1 и 2. Затем происходит возврат на начало цикла и условие проверяется снова. Если условие не выполняется, то выполняется действие 3.

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

ций [1]:

-выбор; обозначает выбор одного варианта из нескольких в зависимости от значения некоторой величины;

-цикл с постусловием; обозначает повторение некоторых действий до выполнения заданного условия, проверка которого осуществляется после выполнения действий в цикле;

– цикл с заданным числом повторений (цикл с пара-

метром).

Перечисленные шесть конструкций были положены в основу структурного программирования.

На рис. 4 приведена структура алгоритма выбора. Если переменная «Код» равна переменной «Код 1», то выполняется действие 1. Если переменная «Код» равна переменной «Код 2», то выполняется действие 2. В противном случае выполняется действие 3.

 

 

 

 

Код

 

 

 

Код 1

 

 

 

 

 

Иначе

Код 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Действие 1

 

Действие 2

 

Действие 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 4. Структура алгоритма выбора

9

На рис. 5 приведена структура цикла с постусловием. Сначала выполняются действия 1 и 2. Затем осуществляется проверка условия. Если условие не выполнено, то происходит повтор действий 1 и 2. Если условие выполнено, то цикл прекращается и выполняется действие 3. Действия 1 и 2 образуют цикл. В общем случае в цикле может выполняться одно или более действий.

Действие 1

Действие 2

Нет

Условие

Да

Действие 3

Рис. 5. Структура цикла с постусловием

На рис. 6 приведена структура цикла с заданным числом повторений. N1 – это начальное значение параметра I. N2 – это последнее значение параметра I. H – это шаг изменения параметра I.

Первоначально параметр цикла I принимает значение N1. Повторяются действия 1 и 2, которые в данном примере образуют цикл.

10