
2 семестр ФИБС / Информатика / Лабы Беляев / лаб7
.docxПетербургский государственный
электротехнический университет
«ЛЭТИ» им. В.И. Ульянова (Ленина)
Кафедра ИИСТ
отчет
по лабораторной работе №7
по дисциплине «Информатика»
Тема: «Функции»
Студент |
|
|
Преподаватель |
|
Беляев Ф.Я. |
Санкт-Петербург
2019
Цель работы: написать три функции и понять их работу.
Задания:
1. Написать функцию, получающую три целые переменные x1, x2, x3 и возвращающую их сумму, результат их перемножения и результат формулы вида (x1-x2)/x3 соответственно.
2. Написать функцию которая возвращает 3 случайных целых числа.
3. Написать функцию которая возвращает сумму целых чисел, переданных в качестве указателя и количества значений через параметры.
Решение
Написать функцию, получающую три целые переменные x1, x2, x3 и возвращающую их сумму, результат их перемножения и результат формулы вида (x1-x2)/x3 соответственно.
Код, написанный мню выше, полностью удовлетворяет условию задачи. Сначала я инициализировал переменные, необходимые мне (17 и 18 строчки), затем обработал прием ввода целочисленных переменных x1, x2, x3 (с 20 по 25 строчку). Далее с помощью системы указателей получилось реализовать функцию, принимающую параметры (переменные, инициализированные выше) и возвращающую фактически несколько параметров (sum – сумму переменных (через return), umn – их перемножение и func – результат выполнения функции, заданной в условии).
Вывод показал, что код работает правильно:
Т.к. 34 + 4 + 2 = 40 (верно); 34*4*2 = 272 (верно); (34-4)/2 = 15 (верно).
2. Написать функцию которая возвращает 3 случайных целых числа.
Понимая, что мне потребуется функция rand() в этом задании, отвечающая за генерацию случайных чисел, я присоединит библиотеку <cstdlib> в самом начале, в которой эта функция и лежит, а также библиотеку <ctime>, в которой лежит обработка времени на плюсах, она потребуется для обнуления времени каждый раз в функции, чтобы числа каждый раз при новом запуске отличались:
Инициализировав новые переменные, которые мне потребуются, написал новую функцию по заданному условию с выведением 3 случайных чисел:
Вывод показал, что код работает правильно, так как я вижу 3 случайных числа перед собой:
3. Написать функцию которая возвращает сумму целых чисел, переданных в качестве указателя и количества значений через параметры.
Поступаю аналогичным образом – сначала принимаю значение по количеству переменных из параметров, затем задаю переменные, после чего прописываю функцию по условию и вызываю её, получая на выходе требуемый результат:
Результат корректный: сумма правильная, и параметры принимаются правильно.
Выводы:
1. Написал функцию, получающую три целые переменные x1, x2, x3 и возвращающую их сумму, результат их перемножения и результат формулы вида (x1-x2)/x3 соответственно. Проверка на выполнения прошла успешно. Пришлось воспользоваться системой указателей, чтобы вывести за одну функцию сразу несколько параметров.
2. Написал функцию, которая возвращает 3 случайных целых числа. Проверка на выполнения прошла успешно.
3. Написал функцию, которая возвращает сумму целых чисел, переданных в качестве указателя и количество значений через параметры. Проверка на выполнения прошла успешно.