
- •Нижний Новгород 2023
- •Вход в fU(X,y)
- •Описание переменных a, u
- •П рограмма в Mathcad (1 ранжированная переменная)
- •П рограмма в Mathcad (1 while)
- •Вход в fU(X,y)
- •Описание переменных a, u
- •П рограмма в Mathcad (1 for)
- •П рограмма в Excel (1)
- •Блок-схема (2 for/while)
- •Программа в Mathcad (2 while)
- •Программа в Mathcad (2 for)
- •Блок-схема (2 do while)
- •П рограмма в Excel (2)
- •Описание переменных a, u
- •Вход в fU(X,y)
- •П рограмма в Mathcad (3)
- •П рограмма в Excel (3)
Блок-схема (1 do while) 1) Вспомогательная блок-схема для пользовательской функции fU(x,y) для вычисления U(x,y): 2) Основная блок-схема:
Листинг программы на С++ (1 do while) #include “stdafx.h” #include <math.h> #include <iostream> #include <conio.h> using namespace std; double fU(double x, double y) { double a, U; a = x - y; if (a <= -1) U = y * exp(x); else { if (a < 1) U = log(pow(x,4) + 1); else U = pow(x,2) – y; } return U; } void main() { double x, xn, xk, hx, y; setlocale(LC_ALL, “Russian”); printf(“Введите xn, xk, hx, y: \n”); cin >> xn >> xk >> hx >> y; printf("\n Исходные данные: \n\n xn = %5.3f xk = %5.3f hx = %5.3f y = %5.3f \n", xn, xk, hx, y); printf("\n Таблица результатов: \n\n x y U \n"); x = xn; do { U = fU(x,y); printf("\n %8.3f %8.3f %8.3f ", x, y, U); x = x + hx; } while (x <= xk + hx / 10.0); getchar(); }
Р
езультаты программы на C++ (1 do while)
П рограмма в Excel (1)
Постановка задачи (2) Составить блок-схему и программу для вычисления таблицы значений функции U(x,y) для всех сочетаний x и y, каждый из которых меняется в своём заданном интервале со своим заданным шагом. Расчёт функции U(x,y) производить в главной функции (без использования пользовательской функции), для вывода таблицы в С++ использовать функцию setw(). -1 ≤ x ≤ 1 с шагом hx = 0.6 и -1 ≤ y ≤ 1 с шагом hy = 0.5
x ≤ xk
x = xn
«Таблица результатов: x y U»
«Исходные данные:» xn = xk = hx = yn = yk = hy =
Ввод xn, xk, hx, yn, yk, hy
«Введите xn, xk, hx, yn, yk, hy :»
Описание переменных xn, xk, hx, yn, yk, hy
Начало
y = yn
y ≤ xk
a = x - y
a ≤ -1
a < 1
x y U
y = y + hy
x = x + hx
Конец
Блок-схема (2 for/while)
Листинг программы на C++ (2 while) #include “stdafx.h” #include <math.h> #include <iostream> #include <conio.h> #include <iomanip> using namespace std; void main() { double x, xn, xk, hx, y, yn, yk, hy, a, U; setlocale(LC_ALL, “Russian”); cout << “ Введите xn, xk, hx: \n”); cin >> xn >> xk >> hx; cout << “ Введите yn, yk, hy: \n”); cin >> yn >> yk >> hy; cout << "\n Исходные данные: \n" << endl; cout << " xn = " << xn << " xk = " << xk << " hx = " << hx << endl; cout << "\n yn = " << yn << " yk = " << yk << " hy = " << hy << endl; cout << "\n Таблица результатов: \n" << endl; cout << setw(12) << "x" << setw(12) << "y" << setw(12) << "U" << endl; x = xn; while (x <= xk + hx/10.0) { y = yn; while (y <= yk + hy/10.0) { a = x – y; if (a <= -1) U = y * exp(x); else { if (a < 1) U = log(pow(x,4) + 1); else U = pow(x,2) – y; } cout << setw(12) << x << setw(12) << y << setw(12) << U << endl; y = y + hy; } x = x + hx; } getchar(); }
Результаты программы на С++ (2 while)
Листинг программы на С++ (2 for) #include “stdafx.h” #include <math.h> #include <iostream> #include <conio.h> #include <iomanip> using namespace std; void main() { double x, xn, xk, hx, y, yn, yk, hy, a, U; setlocale(LC_ALL, “Russian”); cout << “ Введите xn, xk, hx: \n”); cin >> xn >> xk >> hx; cout << “ Введите yn, yk, hy: \n”); cin >> yn >> yk >> hy; cout << "\n Исходные данные: \n" << endl; cout << " xn = " << xn << " xk = " << xk << " hx = " << hx << endl; cout << "\n yn = " << yn << " yk = " << yk << " hy = " << hy << endl; cout << "\n Таблица результатов: \n" << endl; cout << setw(12) << "x" << setw(12) << "y" << setw(12) << "U" << endl; for (x = xn; x <= xk + hx/10.0; x = x + hx) { for (y = yn; y <= yk + hy/10.0; y = y + hy) { a = x – y; if (a <= -1) U = y * exp(x); else { if (a < 1) U = log(pow(x,4) + 1); else U = pow(x,2) – y; } cout << setw(12) << x << setw(12) << y << setw(12) << U << endl; } } getchar(); }
Результаты программы на С++ (2 for)
Программа в Mathcad (2 while)
Программа в Mathcad (2 for)
a < 1
a ≤ -1
a = x - y
y = yn
Начало
Описание переменных xn, xk, hx, yn, yk, hy
«Введите xn, xk, hx, yn, yk, hy :»
Ввод xn, xk, hx, yn, yk, hy
«Исходные данные:» xn = xk = hx = yn = yk = hy =
«Таблица результатов: x y U»
x = xn
x y U
y = y + hy
y ≤ yk
x = x + hx
x ≤ xk
Конец
Блок-схема (2 do while)
Листинг программы на С++ (2 do while) #include “stdafx.h” #include <math.h> #include <iostream> #include <conio.h> #include <iomanip> using namespace std; void main() { double x, xn, xk, hx, y, yn, yk, hy, a, U; setlocale(LC_ALL, “Russian”); cout << “ Введите xn, xk, hx: \n”); cin >> xn >> xk >> hx; cout << “ Введите yn, yk, hy: \n”); cin >> yn >> yk >> hy; cout << "\n Исходные данные: \n" << endl; cout << " xn = " << xn << " xk = " << xk << " hx = " << hx << endl; cout << "\n yn = " << yn << " yk = " << yk << " hy = " << hy << endl; cout << "\n Таблица результатов: \n" << endl; cout << setw(12) << "x" << setw(12) << "y" << setw(12) << "U" << endl; x = xn; do { y = yn; do { a = x – y; if (a <= -1) U = y * exp(x); else { if (a < 1) U = log(pow(x,4) + 1); else U = pow(x,2) – y; } cout << setw(12) << x << setw(12) << y << setw(12) << U << endl; y = y + hy; } while (y <= yk + hy/10.0); x = x + hx; } while (x <= xk + hx/10.0); getchar(); }
Результаты программы на С++ (2 do while)
П рограмма в Excel (2)
Постановка задачи (3) а) Вычислить и распечатать таблицу всех значений функции U(x,y) с координатами расчётных точек. б) Найти минимум среди всех положительных значений функции U и координаты точек
в которой он достигается. в) Найти количество расчётных точек, попадающих в область:
Для вывода таблицы в С++ использовать функцию printf(). -1 ≤ x ≤ 1 с шагом hx = 0.6 и -1 ≤ y ≤ 1 с шагом hy = 0.5
a ≤ -1
a = x - y
Описание переменных a, u
Вход в fU(X,y)
a ≤ -1
Return U
Начало
Описание переменных x, xn, xk, hx, y, yn, yk, hy, a, U, mp, mpx, mpy, k
k = 0 mp =
mpx = 0 mpy = 0
«Введите xn, xk, hx, yn, yk, hy :»
x = xn
«Таблица результатов: x y U»
«Исходные данные:» xn = xk = hx = yn = yk = hy =
Ввод xn, xk, hx, yn, yk, hy
x ≤ xk
Блок-схема (3) 1) Вспомогательная блок-схема для пользовательской функции fU(x,y) для вычисления U(x,y): 2) Основная блок-схема:

















y = yn
U = fU(x,y)
x y U
y ≤ yk
k = k + 1
mp = U mpx = x mpy = y
y = y + hy
x = x + hx
«МПЗ и его координаты: » mp, mpx, mpy «Кол-во точек, попавших в область: » k
Конец