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

1115

.pdf
Скачиваний:
0
Добавлен:
21.11.2023
Размер:
177.69 Кб
Скачать

МИНОБРНАУКИ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего образования

«Нижегородский государственный архитектурно-строительный университет»

Д. И. Кислицын

ЯЗЫК ПРОГРАММИРОВАНИЯ С/C++

Учебно-методическое пособие

по выполнению лабораторных работ для обучающихся по дисциплине «Язык программирования С/C++»

по направлению подготовки 09.03.02 Информационные системы и технологии, направленность (профиль) «Информационные системы и технологии»

Нижний Новгород

2022

МИНОБРНАУКИ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего образования

«Нижегородский государственный архитектурно-строительный университет»

Д. И. Кислицын

ЯЗЫК ПРОГРАММИРОВАНИЯ С/C++

Учебно-методическое пособие

по выполнению лабораторных работ для обучающихся по дисциплине «Язык программирования С/C++»

по направлению подготовки 09.03.02 Информационные системы и технологии, направленность (профиль) «Информационные системы и технологии»

Нижний Новгород ННГАСУ

2022

1

УДК 681.3 (075)

Кислицын Д. И. Язык программирования C/C++ : учебно-методическое пособие / Д. И. Кислицын; Нижегородский государственный архитектурностроительный университет. – Нижний Новгород : ННГАСУ, 2022. - 13 с. - Текст : электронный.

Приводятся цели, задания и порядок выполнения лабораторных работ, а также контрольные вопросы в конце каждой лабораторной работы.

Предназначено для обучающихся в ННГАСУ по дисциплине «Язык программирования С/C++» по направлению подготовки 09.03.02 Информационные системы и технологии.

© Д. И. Кислицын, 2022 © ННГАСУ, 2022

2

Лабораторная работа № 1

Цель работы: знакомство со средой разработки MS Visual Studio и структурой консольного приложения на языке программирования C++.

Задание 1. Написать консольное приложение, запрашивающее пользователя его имя и после ввода имени выводящее в консоль фразу «Добрый день, <имя_пользователя>».

Задание 2. Написать консольное приложение, проверяющее существование треугольника по трём сторонам и его тип (реализация без отдельного класса). Алгоритм работы приложения:

2.1.Приложение запрашивает длины трёх сторон треугольника.

2.2.Приложение анализирует введённые данные и выводит одно из пяти сообщений: «Треугольник не существует», «Равносторонний треугольник», «Равнобедренный треугольник», «Прямоугольный треугольник», «Треугольник общего вида».

Контрольные вопросы

1.Как создать консольный проект на C++ в MS Visual Studio?

2.Каково назначение include?

3.Как ввести данные в консольном приложении?

4.Как преобразовать строку в число?

3

Лабораторная работа № 2

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

Задание. Написать консольное приложение (реализация без отдельного класса), решающее квадратное уравнение вида ax2+bx+c=0. Алгоритм работы приложения:

1.Запрос значений коэффициентов a, b, с.

2.Вывод в консоль уравнения «в числах».

3.Вычисление дискриминанта и вывод его значения в консоль.

4.Вычисление корней уравнения.

5.Вывод значений корней или сообщения «Действительных корней не имеет».

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

Контрольные вопросы

1.Опишите типы данных в C++.

2.Опишите инструкции выбора в C++.

3.Опишите итерационные инструкции в C++.

4.Как создать и вызвать функцию в С++?

4

Лабораторная работа № 3

Цель работы: научиться работать с символами.

Задание. Написать консольное приложение (реализация без отдельного класса), определяющее является ли вводимый символ: цифрой, строчной буквой, прописной буквой или иным символом.

Контрольные вопросы

1.Как определить является ли символ цифрой (перечислите все известные Вам способы)?

2.Как определить является ли символ буквой (перечислите все известные Вам способы)?

3.Как отделить прописную букву от строчной?

4.Как определить, что символ не является ни цифрой, ни буквой?

5

Лабораторная работа № 4

Цель работы: научиться работать с символами и строками.

Задание. Написать консольное приложение (реализация без отдельного класса), определяющее является ли входная строка (без пробелов) палиндромом. При этом если строка состоит только из цифр, впереди стоящие нули при определении палиндромности не учитывать. Так, например, палиндромами будут следующие строки: «12321», «123321», «12a21», «0012321», «012w210», «madam»,

«level». А строки: «1231», «012w21», «0012100», «1220» палиндромами не будут.

Контрольные вопросы

1.Как использовать тип String?

2.Как обратиться к отдельному символу строки?

3.Как определить является ли символ цифрой?

6

Лабораторная работа № 5

Цель работы: научиться работать с двумерными массивами через vector<>.

Задание. Написать консольное приложение (реализация без отдельного класса), которое ищет повторяющиеся элементы и их количество в матрице.

Пример:

Исходный массив

5 20 30

15 50 5

20 5 7

Результат

5 – 3

20 – 2

Контрольные вопросы

1.Как создать одномерный массив через vector<>?

2.Как создать двумерный массив через vector<>?

3.Как заполнить vector<>?

4.Как обратиться к отдельному массива?

7

Лабораторная работа № 6

Цель работы: научиться работать с двумерными массивами через vector<>.

Задание 1. В функции main() с консоли или в коде вводится двумерный числовой массив. Далее массив передаётся в функцию print(), которая выводит значения элементов массива в виде таблицы в консоль. Затем массив передаётся в функцию MaxMin(), возвращающую в виде массива координаты и значения экстремальных значений элементов по каждой строке и столбцу. Полученный массив экстремальных значений передаётся в функцию print().

Пример:

Исходный массив

10 20 30

15 50 5

20 5 7

Результат MaxMin()

0 0 10

0 2 30

1 1 50

1 2 5

2 0 20

2 1 5

Задание 2. В предыдущем задании написать функцию Sedlo() поиска седловых точек в матрице. Седловой точкой в матрице будем называть элемент, являющийся одновременно максимальным в своей строке и минимальным в своём столбце или минимальным в своей строке и максимальным в своём столбце. Таких элементов в матрице может быть несколько. Функция Sedlo() должна в виде

8

массива вернуть координаты и значения всех седловых элементов переданной в неё матрицы.

Контрольные вопросы

5.Как создать одномерный массив через vector<>?

6.Как создать двумерный массив через vector<>?

7.Как заполнить vector<>?

8.Как обратиться к отдельному массива?

9

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]