Информатика. Учебно-методическое пособие
.pdfМинистерство науки и высшего образования Российской Федерации
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
__________________________________________________________________________
В.В. ДУРКИН, О.Н. ШЛЫКОВА
ИНФОРМАТИКА
Учебно-методическое пособие
НОВОСИБИРСК
2019
УДК 004(075.8) Д 841
Рецензенты:
д-р техн. наук, профессор И.С. Грузман д-р техн. наук, профессор В.П. Разинкин
Работа подготовлена кафедрой радиоприемных и радиопередающих устройств и утверждена Редакционно-издательским советом университета в качестве учебно-методического пособия
Дуркин В.В.
Д 841 Информатика: учебно-методическое пособие / В.В. Дуркин, О.Н. Шлыкова. – Новосибирск: Изд-во НГТУ, 2019. – 59 с.
ISBN 978-5-7782-3973-9
Пособие содержит базовые сведения, позволяющие создавать простейшие программы на языке С++ в среде Visual Studio.
Материал поделен на четыре темы: программирование линейных вычислительных процессов; программирование условных операторов и операторов цикла; вычисление сумм и произведений; программирование операций с матрицами.
Контрольные задания по темам представлены в 30 вариантах. Каждая тема начинается с изложения теории рассматриваемого вопроса в таком объеме, который позволяет решать приведенные задачи, не обращаясь к дополнительным источникам.
|
УДК 004(075.8) |
ISBN 978-5-7782-3973-9 |
© Дуркин В.В., Шлыкова О.Н., 2019 |
|
© Новосибирский государственный |
|
технический университет, 2019 |
|
ОГЛАВЛЕНИЕ |
|
1. |
Общие требования и порядок выполнения лабораторных работ |
...................4 |
2. |
Работа в интегрированной среде Visual Studio 2017........................................ |
4 |
3. |
Программирование линейных вычислительных процессов ........................... |
9 |
4. |
Программирование условных операторов и операторов цикла.................... |
26 |
5. Вычисление сумм и произведений.................................................................. |
45 |
|
6. |
Программирование операций с матрицами.................................................... |
50 |
1. ОБЩИЕ ТРЕБОВАНИЯ И ПОРЯДОК ВЫПОЛНЕНИЯ ЛАБОРАТОРНЫХ РАБОТ
1.Практикум по первой части курса «Информатика» состоит из четырех работ, каждая из которых рассчитана на четыре академических часа. Состав работ, выполняемых студентом, определяется требованиями образовательных стандартов и может изменяться в зависимости от специальности, по которой обучается студент.
2.В конце работы студенты предъявляют преподавателю работающую программу и получают соответствующую отметку в журнале.
3.Отчет по работе в обязательном порядке должен содержать следующие элементы:
титульный лист установленного образца;
цель работы;
схему алгоритма;
код программы;
выводы по работе.
Защита работы проводится в форме собеседования и ответов на тестовые задачи. К защите допускаются студенты, успешно выполнившие программу работы и оформившие отчет. Отчеты, оформленные небрежно или не содержащие перечисленных выше пунктов, к защите не принимаются.
4. Наличие невыполненных или незащищенных работ лишает студента допуска к экзамену (зачету).
2. РАБОТА В ИНТЕГРИРОВАННОЙ СРЕДЕ
VISUAL STUDIO 2017
Прежде чем создавать простейшую программу на C++ в среде Visual Studio 2017, необходимо разобраться со структурой программ в этой среде. Разработчики Visual Studio оперируют такими понятиями, как: консоль, проект, решение и т. д. Давайте разберемся с этими понятиями, не претендуя на строгость определения.
4
Консоль – это монитор и клавиатура, рассматриваемые как единое устройство.
Проект – это набор файлов, которые используются при создании автономного исполняемого файла.
Решение – это группа проектов. Решение используется для управления несколькими взаимосвязанными проектами, составляющими программный продукт. В простейшем варианте решение содержит один проект.
Создадим в качестве примера проект, решение и файл с одинаковым именем first. В результате работы такой программы на экране дисплея должна появиться строка “Hello, World”. Запускаем Visual Studio 2017 и далее следуем по пунктам.
СОЗДАНИЕ ПРОЕКТА И ДОБАВЛЕНИЕ ФАЙЛА ИСХОДНОГО КОДА
1. Создаем новый проект.
В разделе Файл выбираем пункт Создать и щелкаем Проект...
(рис. 1).
Рис. 1. Начальная страница
2. В списке типов проектов Visual C++ выбираем Пустой проект
(рис. 2).
Рис. 2. Типы проектов
5
Пустой проект – это проект приложений без исходных файлов и начальной структуры. В этом случае файлы с кодом программы не создаются и их надо добавлять вручную. Такой проект позволит вам при решении задач полностью сосредоточиться на языке С++ (на его алгоритмической части).
Именно такие проекты мы с вами и будем создавать впредь.
3. Вводим имя проекта (рис. 3).
Рис. 3. Имя проекта
По умолчанию имя решения, содержащего данный проект, совпадает с именем проекта, однако можно задать другое имя. При необходимости для проекта можно указать иное место размещения.
Нажимаем ОK, чтобы создать проект.
4. После создания проекта в открывшемся окне справа отобразится
Обозреватель решений (рис. 4). Если Обозреватель решений не отображается, в меню Вид выберите команду Обозреватель решений.
5. Добавляем в проект новый файл исходного кода.
В обозревателе решений щелкните правой кнопкой мыши папку Ис-
ходные файлы, выберите пункт Добавить и щелкните Создать элемент....
В открывшимся окне щелкните пункт Файл C++ (.cpp), введите имя файла и нажмите кнопку Добавить. Так как в нашем проекте файл исходного кода будет один, то для избежа-
Рис. 4. Обозреватель решений ния путаницы имя файла лучше выбрать совпадающим с именем проекта.
6
6. В папке Исходные файлы в обозревателе решений отобразится файл first.cpp (рис. 5), и появится окно с вкладками, в котором вводится код для файла.
Щелкните мышью в созданной вкладке в Visual Studio и введите корректный код программы на Visual C++, в которой используется стандартная библиотека C++ (рис. 5).
Рис. 5. Содержание Обозревателя решений и код программы
Приведенный код требует пояснений. Строка using namespace std переводится как «использовать пространство имен std». Что такое пространство имен? Простыми словами – это группировка определенных функций, классов и т. п. Практически все стандартные библиотеки C++ используют пространство имен std, именно поэтому практически всегда нужно писать using namespace std, либо вам придется каждый вызов функции из этих библиотек предварять префиксом пространства имен std::. При этом нельзя просто написать using namespace std, если подключаются библиотеки. Пространство имен должно быть непременно объявлено в каком-либо из ранее включенных заголовочных файлов. В приведенном примере пространство имен std объявляется в заголовочном файле iostream.
7. В меню Сборка выберите команду Собрать решение.
Окно Вывод (рис. 6) отображает информацию о ходе выполнения компиляции: успешно или нет прошла сборка. В данном случае введенный код корректен и сборка прошла успешно. Если нет, то приводится список ошибок, место их возникновения, код, описание и возможный способ устранения.
7
Рис. 6. Информация о ходе выполнения компиляции
В качестве примера удалим точку с запятой в строке восемь и вновь произведем сборку. Сообщение, появляющееся в окне Вывод (рис. 7), указывает на то, что сборку проекта выполнить не удалось и что требуется восстановить точку с запятой перед идентификатором system.
Рис. 7. Информация об ошибке при компиляции
8. Устраним ошибку и в меню Отладка выберем команду Запуск без отладки.
Результаты работы приложения приведены на рис. 8.
Рис. 8. Результат работы приложения
8
3.ПРОГРАММИРОВАНИЕ ЛИНЕЙНЫХ ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ
Необходимо ознакомиться с правилами записи арифметических выражений, с операторами ввода-вывода.
В языке С++ понятие оператора трактуется шире, чем в других языках, поскольку не делается существенного различия между оператором и арифметическим выражением. Другими словами, любое арифметическое выражение, заканчивающееся точкой с запятой, является оператором языка С++, например, a/b. Поскольку результат деления не присваивается никакой переменной, он теряется, но действия будут произведены.
Каждый оператор языка С++ непременно заканчивается точкой с запятой. Этот символ не отделяет операторы друг от друга, а является неотъемлемой завершающей частью любого оператора. Группа операторов, заключенных в общие фигурные скобки, образует составной оператор, иначе называемый блоком. Ограничителем блока является закрывающая фигурная скобка, поэтому точка с запятой после блока не нужна. Однако внутри блока каждый оператор должен оканчиваться точкой с запятой, в том числе и последний. На количество операторов в блоке и на их тип не накладывается никаких ограничений.
Действие составного оператора заключается в последовательном выполнении всех составляющих его операторов, кроме случая, когда один из них явно передает управление в другое место программы. Составной оператор рассматривается в программе как цельная конструкция и может использоваться везде, где синтаксис разрешает запись одиночного оператора. В начале любого блока (до первого оператора) разрешается описывать и объявлять любые объекты программы, которые будут локальными для данного блока.
Арифметическим выражением в языке С++ называется совокупность операндов, знаков арифметических операций и круглых скобок. Арифметическое выражение вычисляется слева направо. К арифметическим операциям языка С++ относятся:
– вычитание и унарный минус; + сложение; * умножение; / деление;
%остаток от деления;
++увеличение на единицу;
9
– – уменьшение на единицу.
Существует следующий приоритет выполнения арифметических операций.
1.Выполняются выражения в круглых скобках по уровню их вложения.
2.Вычисляются функции арифметического выражения.
3.Находятся постфиксная и префиксная форма ++ и – –.
4.Вычисляются *, /, %.
5.Находятся + и –.
ПРЕОБРАЗОВАНИЕ И ПРИВЕДЕНИЕ ТИПОВ ОПЕРАНДОВ
Вычисления в языке С++ могут выполняться только между однотипными значениями. Когда вы пишете выражение, включающее переменные или константы, то для каждой выполняемой операции компилятор должен преобразовать тип одного операнда в другой. Процесс преобразования типов называется приведением.
Запомните общее правило.
При вычислении выражений операнды преобразуются к типу того операнда, который имеет наибольший размер.
Типы операндов в порядке убывания их размеров: complex double float long int int char
При присваивании производится преобразование типа правого
операнда к типу левого операнда.
Пример 1
int a=5;
double t; char сh = '0';
float z = 50.21; t = ch/a+z; cout<<"t ="<<t;
Результат:
t = 59.21.
Преобразование типов в этом примере производится следующим образом. Операнд ch преобразуется к типу int операнда a, результат деления ch на a преобразуется к типу float операнда z. Затем, в результате присваивания, все выражение примет тип double.
10
