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

лабы / Laba_varik6_5

.docx
Скачиваний:
7
Добавлен:
10.06.2023
Размер:
258.19 Кб
Скачать

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

Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

«Московский технический университет связи и информатики»

Кафедра «Информатика»

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

Разработка консольных проектов Visual Studio

с использованием функций VC++

по теме

«Функции VC++ и консольные проекты

Visio Studio»

по дисциплине

«Информатика»

Выполнил:

Проверил:

Москва, 2021 г.

Оглавление

Оглавление 2

Введение 2

1.1 Индивидуальное задание, вариант 27 4

1.2 Формализация и уточнения задания 4

2. Разработка пяти консольных проектов 4

2.1 Задание 1. Функция с параметрами и возвращаемым значением; определение функции должно быть записано перед функцией main. 5

2.2 Задание 2. Функция с параметрами и возвращаемым значением; определение функции должно быть записано после функцией main. 6

7

2.3 Задание 3. Функция с параметрами без возвращаемого значиения. 7

8

2.4 Задание 4. Функция без параметров и без возвращаемого значения. 8

2.5 Задание 5. Функция с параметрами без возвращаемого значения; определение функции и main должны находиться в разных файлах. 9

3. Проверка результатов. 11

Заключение. 12

Список используемой литературы. 13

Введение

Настоящий реферат написан с учетом требований к оформлению отчета по лабораторным работам в соответствии с ГОСТ 2.105-95. В ходе лабораторной работы были поставлены следующие задачи:

  • Изучить структуру программного кода консольных проектов Visual Studio и правила определения, объявления и вызова функции VC++.

  • Выполнить индивидуальный вариант с учетом требуемых задач.

  1. Создать решение, состоящие из пяти программных проектов, для вычисления арифметического выражения

    1. Индивидуальное задание, вариант 27

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

    1. Формализация и уточнения задания

Для формализации и уточнения задания определим, что исходные данные x, y – вещественного типа double. Результаты вычислений – переменная d также должна быть вещественного типа double.

d = (x * exp(x * y) + 8 * sin(x) * sin(x)) / (x * (x - y) * (3 * x + y));

Листинг 1. — Оператор присваивания d, которому присвоено значение арифметического выражения.

  1. Разработка пяти консольных проектов

На рисунке 1 представлена общая для всех проектов блок – схема.

Рисунок 1. — Схема алгоритма главной процедуры main для проектов.

Схема алгоритма для функции function представлена на рисунке 2.

Рисунок 2. — Схема алгоритма функции function для проектов.

2.1 Задание 1. Функция с параметрами и возвращаемым значением; определение функции должно быть записано перед функцией main.

На Листинге 2 представлен программный код функции с параметрами перед функцией main, а на Рисунке 3 — вывод консольного проекта.

#include <iostream>

#include <cmath>

//Функция с параметрами и возвращаемым значением, причем определение функции должно быть записано перед функцией main.

double function(double x, double y)

{

return (x * exp(x * y) + 8 * sin(x) * sin(x)) / (x * (x - y) * (3 * x + y));

}

// x = 1.002

// y = -0.5321

int main() {

setlocale(LC_ALL,"rus");

double a, b;

std::cout << "Введите X:\n";

std::cin >> a;

std::cout << "Введите Y:\n";

std::cin >> b;

std::cout << "Результат: " << function(a, b) << "\n";

system("PAUSE");

}

Листинг 2. — Программный код Задания 1.

Рисунок 3. — Вывод консольного проекта Задания 1.

2.2 Задание 2. Функция с параметрами и возвращаемым значением; определение функции должно быть записано после функцией main.

На Листинге 3 представлен программный код функции с параметрами после функцией main, а на Рисунке 4 — вывод консольного проекта.

#include <iostream>

#include <cmath>

//Функция с параметрами и возвращаемым значением, причем определение функции должно быть записано после функцией main.

double function(double, double);

// x = 1.002

// y = -0.5321

int main()

{

setlocale(LC_ALL, "rus");

double a, b;

std::cout << "Введите X:\n";

std::cin >> a;

std::cout << "Введите Y:\n";

std::cin >> b;

std::cout << "Результат: " << function(a, b) << "\n";

system("PAUSE");

}

double function(double x, double y)

{

return (x * exp(x * y) + 8 * sin(x) * sin(x)) / (x * (x - y) * (3 * x + y));

}

Листинг 3. — Программный код Задания 2.

Рисунок 4. — Вывод консольного проекта Задания 2.

2.3 Задание 3. Функция с параметрами без возвращаемого значиения.

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

На Листинге 4 представлен программный код функции с функцией без возвратного значения типа void. На рисунке 5 представлен вывод консольного проекта.

#include <iostream>

#include <cmath>

void function(double x, double y, double& d)

{

d = (x * exp(x * y) + 8 * sin(x) * sin(x)) / (x * (x - y) * (3 * x + y));

}

// Функция с параметрами и без возвращаемого значения.

// x = 1.002

// y = -0.5321

int main()

{

setlocale(LC_ALL, "rus");

double a, b, c;

std::cout << "Введите X:\n";

std::cin >> a;

std::cout << "Введите Y:\n";

std::cin >> b;

function(a, b, c);

std::cout << "Результат: \n" << c << "\n";

system("PAUSE");

}

Листинг 4. — Программный код Задания 3.

Рисунок 5. — Вывод консольного проекта Задания 2.

2.4 Задание 4. Функция без параметров и без возвращаемого значения.

Для выполнения этого задания не нужно прописывать формальные параметры в функции function.

На Листинге 5 представлен программный код функции с функцией без возвратного значения типа void. На рисунке 6 представлен вывод консольного проекта.

#include <iostream>

#include <cmath>

double x, y, d;

void function()

{

d = (x * exp(x * y) + 8 * sin(x) * sin(x)) / (x * (x - y) * (3 * x + y));

}

// Функция без параметров и без возвращаемого значения (с глобальными переменными)

// x = 1.002

// y = -0.5321

int main()

{

setlocale(LC_ALL, "rus");

std::cout << "Введите X:\n";

std::cin >> x;

std::cout << "Введите Y:\n";

std::cin >> y;

function();

std::cout << "Результат: \n" << d << "\n";

system("PAUSE");

}

Листинг 5. — Программный код Задания 4.

Рисунок 6. — Вывод консольного проекта Задания 4.

2.5 Задание 5. Функция с параметрами без возвращаемого значения; определение функции и main должны находиться в разных файлах.

Для выполнения этого задание потребуется создать несколько файлов в среде VC++ (рис. 7), где файл function.cpp содержит в себе тело функции function, a main.cpp — главную функцию main.

Рисунок 7. — Исходные файлы проекта с расширением .cpp для выполнения Задания 5.

На Листинге 6 показан программный код функции function, а на Листинге 7 — главной функции main.

#include <cmath>

double function(double x, double y)

{

return (x * exp(x * y) + 8 * sin(x) * sin(x)) / (x * (x - y) * (3 * x + y));

}

Листинг 6. — Программный код функции function.

#include <iostream>

int main()

{

setlocale(LC_ALL, "rus");

double a, b;

std::cout << "Введите X:\n";

std::cin >> a;

std::cout << "Введите Y:\n";

std::cin >> b;

std::cout << "Результат: " << function(a, b) << "\n";

system("PAUSE");

}

Листинг 7. — Программный код главной функции main.

При запуске локального отладчика Windows получаем консольный вывод, показанный на рисунке 8.

Рисунок 7. — Вывод консольного проекта Задания 5.

  1. Проверка результатов.

Результат всех проектов равен 1.64801. Выполним проверку при помощи MS Excel, что показано на рисунке 8.

Рисунок 8. — Вывод консольного проекта Задания 5.

Заключение.

При выполнении лабораторной работы были изучены основные методы работы с функциями в VС++ и их типы данных (int, double и void).

Список используемой литературы.

а) https://disk.yandex.ru/d/pDS_6P4Zed0bGg/Информатика/БИК_БИН_21 Лабораторная работа «Разработка простейших проектов с использованием основных средств языка программирования VC++», подготовленная Московским Техническим Университетом Связи и Информатики (МТУСИ)

б) https://disk.yandex.ru/d/pDS_6P4Zed0bGg/Информатика/БИК_БИН_21 Лекция «Тема №4. Функции и консольные проекты», подготовленная Московским Техническим Университетом Связи и Информатики (МТУСИ)

Соседние файлы в папке лабы