Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаба ввит3.docx
Скачиваний:
0
Добавлен:
10.03.2025
Размер:
370.42 Кб
Скачать
    1. Реализация 4-го проекта:

Создадим четвертый проект с именем pr4 в уже имеющемся решении. Разработаем алгоритм процедуры без параметров и без возвращаемого значения. Схема алгоритма этой процедуры func4 представлена ниже. (Рис.10)

Рисунок 10 – Схема алгоритма этой процедуры func4 без параметров и без возвращаемого значения

Разработаем программные коды двух функций в соответствии со схемами алгоритмов. Программные коды разработанных функций запишем в файл с именем zad4.cpp в следующем порядке

  1. Объявление (прототип) функции func4;

  2. Определение глобальных переменных;

  3. Определение функции main;

Определение функции func4 без параметров и без возвращаемого значения.

#include <iostream>

#include <cmath>

#define _USE_MATH_DEFINES

#include <math.h>

using namespace std;

void func4(); // объявление функции

double x, y, f;

int main()

{

setlocale(LC_ALL, "rus");

cout << "Введите x = ";

while (!(cin >> x)) // “защита от дурака”

{

cout << "Введите корректные данные ";

cin.clear(); // Очистка потока от некорректных данных

cin.ignore(numeric_limits<streamsize>::max(), '\n'); // функция пропустит все символы в буфере до следующего символа \n

}

cout << "Введите y = ";

while (!(cin >> y))

{

cout << "Введите корректные данные ";

cin.clear(); // Очистка потока от некорректных данных

cin.ignore(numeric_limits<streamsize>::max(), '\n'); // функция пропустит все символы в буфере до следующего символа \n

}

if ((x + y) <= 0) //условие, что аргумент логарифма больше 0

{

cout << "Аргумент логарифма не может быть 0 или меньше нуля";

return 0;

}

if ((x / 8 == y)) //условие, что знаменатель не равен 0

{

cout << "Знаменатель равен 0, на 0 делить нельзя";

return 0;

}

func4(); // вставляем функцию в main

cout << endl << "результат f = " << f << endl;

system("PAUSE");

return 0;

}

void func4() // определение функции

{

f = (pow(5.2, 3) * (log10(x + y) / (x - (1 / (0.45 * sin(x - 8 * y)))))) + 0.5;

}

Откомпилируем файл zad4.cpp, выполним перестроение решения lab3 и выполнение проекта pr4, назначив его запускаемым проектом. Получим следующие результаты при заданных значениях исходных данных (рисунок 11).

Рисунок 11 – Результаты выполнения проекта pr4

Проведем следующий эксперимент: проверим, изменятся ли результаты выполнения проекта, если в тело главной функции main добавить определение переменных x, y, z до оператора ввода исходных данных: (Рис.12)

Рисунок 12 – Добавление переменных в тело главной функции main

    1. Реализация 5-го проекта:

Создадим в уже имеющемся решении пятый проект с именем pr5, состоящий из двух файлов. В первый файл с именем zad5.срр поместим текст функции main из второго проекта.

#include <iostream>

#include <cmath>

#define _USE_MATH_DEFINES

#include "math.h"

using namespace std;

double func2(double a, double b); // объявление функцию

int main()

{

setlocale(LC_ALL, "rus");

double x, y, f; // переменные типа double

cout << "Введите x = ";

while (!(cin >> x)) // “защита от дурака”

{

cout << "Введите корректные данныe ";

cin.clear(); // Очистка потока от некорректных данных

cin.ignore(numeric_limits<streamsize>::max(), '\n'); // функция пропустит все символы в буфере до следующего символа \n

}

cout << "Введите y = ";

while (!(cin >> y))

{

cout << "Введите корректные данные ";

cin.clear(); // Очистка потока от некорректных данных

cin.ignore(numeric_limits<streamsize>::max(), '\n'); //функция пропустит все символы в буфере до следующего символа \n

}

if ((x + y) <= 0) //условие, что аргумент логарифма больше 0

{

cout << "Аргумент логарифма не может быть 0 или меньше нуля";

return 0;

}

if ((x / 8 == y)) //условие, что знаменатель не равен 0

{

cout << "Знаменатель равен 0, на 0 делить нельзя";

return 0;

}

f = func2(x, y); // вставляем функцию в main

cout << endl << "результат f = " << f << endl;

system("PAUSE");

return 0;

}

Во второй файл с именем zad52.срр поместим текст функции func2 из того же проекта

#include <iostream>

#include <cmath>

#define _USE_MATH_DEFINES

#include "math.h"

double func2(double x, double y) // определение функции

{

double f;

f = (pow(5.2, 3) * (log10(x + y) / (x - (1 / (0.45 * sin(x - 8 * y)))))) + 0.5;

return f;

}

После раздельной компиляции файлов выполним их совместную компоновку (перестроение решения) и выполнение проекта. Результаты выполнения при заданных значениях исходных данных приведены ниже. (Рис.11)

Рисунок 11 – Результаты выполнения pr5

Соседние файлы в предмете Введение в информационные технологии