Содержание
ВНИМАНИЕ | Для получения программы своего варианта пишите на наш электронный адрес proglabs@mail.ru |
Варианты заданий
№ | Условие |
1 | Вычислить и вывести на экран в виде таблицы значения функции F на интервале от $X_{нач.}$ до $X_{кон.}$ с шагом $dx$. $\begin{equation*} где $a,\ b,\ c$ — действительные числа. Функция $F$ должна принимать действительное значение, если выражение $(А_ц\ ИЛИ\ В_ц)\ И\ (А_ц\ ИЛИ\ С_ц)$ не равно нулю, и целое значение в противном случае. Через $А_ц,\ В_ц,\ С_ц$ обозначены целые части значений $a,\ b,\ c$, операции И и ИЛИ — поразрядные. Значения $a,\ b,\ c,\ Х_{нач.},\ X_{кон.},\ dx$ ввести с клавиатуры. |
2 | Вычислить и вывести на экран в виде таблицы значения функции F на интервале от $X_{нач.}$ до $X_{кон.}$ с шагом $dx$. $\begin{equation*} где $a,\ b,\ c$ — действительные числа. Функция $F$ должна принимать действительное значение, если выражение $(А_ц\ И\ В_ц)\ ИЛИ\ (В_ц\ И\ С_ц)$ не равно нулю, и целое значение в противном случае. Через $А_ц,\ В_ц,\ С_ц$ обозначены целые части значений $a,\ b,\ c$, операции И и ИЛИ — поразрядные. Значения $a,\ b,\ c,\ Х_{нач.},\ X_{кон.},\ dx$ ввести с клавиатуры. |
3 | Вычислить и вывести на экран в виде таблицы значения функции F на интервале от $X_{нач.}$ до $X_{кон.}$ с шагом $dx$. $\begin{equation*} где $a,\ b,\ c$ — действительные числа. Функция $F$ должна принимать действительное значение, если выражение $А_ц\ И\ (В_ц\ ИЛИ\ С_ц)$ не равно нулю, и целое значение в противном случае. Через $А_ц,\ В_ц,\ С_ц$ обозначены целые части значений $a,\ b,\ c$, операции И и ИЛИ — поразрядные. Значения $a,\ b,\ c,\ Х_{нач.},\ X_{кон.},\ dx$ ввести с клавиатуры. |
4 | Вычислить и вывести на экран в виде таблицы значения функции F на интервале от $X_{нач.}$ до $X_{кон.}$ с шагом $dx$. $\begin{equation*} где $a,\ b,\ c$ — действительные числа. Функция $F$ должна принимать действительное значение, если выражение $А_ц\ ИЛИ\ В_ц\ ИЛИ\ С_ц$ не равно нулю, и целое значение в противном случае. Через $А_ц,\ В_ц,\ С_ц$ обозначены целые части значений $a,\ b,\ c$, операции И и ИЛИ — поразрядные. Значения $a,\ b,\ c,\ Х_{нач.},\ X_{кон.},\ dx$ ввести с клавиатуры. |
5 | Вычислить и вывести на экран в виде таблицы значения функции F на интервале от $X_{нач.}$ до $X_{кон.}$ с шагом $dx$. $\begin{equation*} где $a,\ b,\ c$ — действительные числа. Функция $F$ должна принимать действительное значение, если выражение $(А_ц\ ИЛИ\ В_ц)\ И\ С_ц$ не равно нулю, и целое значение в противном случае. Через $А_ц,\ В_ц,\ С_ц$ обозначены целые части значений $a,\ b,\ c$, операции И и ИЛИ — поразрядные. Значения $a,\ b,\ c,\ Х_{нач.},\ X_{кон.},\ dx$ ввести с клавиатуры. |
6 | Вычислить и вывести на экран в виде таблицы значения функции F на интервале от $X_{нач.}$ до $X_{кон.}$ с шагом $dx$.$\begin{equation*} где $a,\ b,\ c$ — действительные числа. Функция $F$ должна принимать действительное значение, если выражение $(А_ц\ И\ В_ц)\ ИЛИ\ (А_ц\ И\ С_ц)$ не равно нулю, и целое значение в противном случае. Через $А_ц,\ В_ц,\ С_ц$ обозначены целые части значений $a,\ b,\ c$, операции И и ИЛИ — поразрядные. Значения $a,\ b,\ c,\ Х_{нач.},\ X_{кон.},\ dx$ ввести с клавиатуры. |
7 | Вычислить и вывести на экран в виде таблицы значения функции F на интервале от $X_{нач.}$ до $X_{кон.}$ с шагом $dx$.$\begin{equation*} где $a,\ b,\ c$ — действительные числа. Функция $F$ должна принимать действительное значение, если выражение $(А_ц\ ИЛИ\ В_ц)\ МОД_2\ (А_ц\ ИЛИ\ С_ц)$ не равно нулю, и целое значение в противном случае. Через $А_ц,\ В_ц,\ С_ц$ обозначены целые части значений $a,\ b,\ c$, операции И, ИЛИ и $МОД_2$ — поразрядные. Значения $a,\ b,\ c,\ Х_{нач.},\ X_{кон.},\ dx$ ввести с клавиатуры. |
8 | Вычислить и вывести на экран в виде таблицы значения функции F на интервале от $X_{нач.}$ до $X_{кон.}$ с шагом $dx$. $\begin{equation*} где $a,\ b,\ c$ — действительные числа. Функция $F$ должна принимать действительное значение, если выражение $(А_ц\ МОД_2\ В_ц)\ И\ НЕ\ (А_ц\ ИЛИ\ С_ц)$ не равно нулю, и целое значение в противном случае. Через $А_ц,\ В_ц,\ С_ц$ обозначены целые части значений $a,\ b,\ c$, операции И, ИЛИ и $МОД_2$ — поразрядные. Значения $a,\ b,\ c,\ Х_{нач.},\ X_{кон.},\ dx$ ввести с клавиатуры. |
9 | Вычислить и вывести на экран в виде таблицы значения функции F на интервале от $X_{нач.}$ до $X_{кон.}$ с шагом $dx$. $\begin{equation*} где $a,\ b,\ c$ — действительные числа. Функция $F$ должна принимать действительное значение, если выражение $НЕ\ (А_ц\ ИЛИ\ В_ц)\ И\ (B_ц\ ИЛИ\ С_ц)$ не равно нулю, и целое значение в противном случае. Через $А_ц,\ В_ц,\ С_ц$ обозначены целые части значений $a,\ b,\ c$, операции И, ИЛИ и $МОД_2$ — поразрядные. Значения $a,\ b,\ c,\ Х_{нач.},\ X_{кон.},\ dx$ ввести с клавиатуры. |
10 | Вычислить и вывести на экран в виде таблицы значения функции F на интервале от $X_{нач.}$ до $X_{кон.}$ с шагом $dx$. $\begin{equation*} где $a,\ b,\ c$ — действительные числа. Функция $F$ должна принимать действительное значение, если выражение $НЕ\ (А_ц\ ИЛИ\ В_ц)\ И\ (А_ц\ МОД_2 \ С_ц)$ не равно нулю, и целое значение в противном случае. Через $А_ц,\ В_ц,\ С_ц$ обозначены целые части значений $a,\ b,\ c$, операции И, ИЛИ и $МОД_2$ — поразрядные. Значения $a,\ b,\ c,\ Х_{нач.},\ X_{кон.},\ dx$ ввести с клавиатуры. |
11 | Вычислить и вывести на экран в виде таблицы значения функции F на интервале от $X_{нач.}$ до $X_{кон.}$ с шагом $dx$. $\begin{equation*} где $a,\ b,\ c$ — действительные числа. Функция $F$ должна принимать действительное значение, если выражение $(А_ц\ И\ В_ц)\ МОД_2 \ С_ц$ не равно нулю, и целое значение в противном случае. Через $А_ц,\ В_ц,\ С_ц$ обозначены целые части значений $a,\ b,\ c$, операции И, ИЛИ и $МОД_2$ — поразрядные. Значения $a,\ b,\ c,\ Х_{нач.},\ X_{кон.},\ dx$ ввести с клавиатуры. |
12 | Вычислить и вывести на экран в виде таблицы значения функции F на интервале от $X_{нач.}$ до $X_{кон.}$ с шагом $dx$. $\begin{equation*} где $a,\ b,\ c$ — действительные числа. Функция $F$ должна принимать действительное значение, если выражение $(А_ц\ ИЛИ\ В_ц)\ И \ С_ц$ не равно нулю, и целое значение в противном случае. Через $А_ц,\ В_ц,\ С_ц$ обозначены целые части значений $a,\ b,\ c$, операции И, ИЛИ и $МОД_2$ — поразрядные. Значения $a,\ b,\ c,\ Х_{нач.},\ X_{кон.},\ dx$ ввести с клавиатуры. |
13 | Вычислить и вывести на экран в виде таблицы значения функции F на интервале от $X_{нач.}$ до $X_{кон.}$ с шагом $dx$. $\begin{equation*} где $a,\ b,\ c$ — действительные числа. Функция $F$ должна принимать действительное значение, если выражение $(А_ц\ ИЛИ\ В_ц)\ МОД_2\ (В_ц\ И \ С_ц)$ не равно нулю, и целое значение в противном случае. Через $А_ц,\ В_ц,\ С_ц$ обозначены целые части значений $a,\ b,\ c$, операции И, ИЛИ и $МОД_2$ — поразрядные. Значения $a,\ b,\ c,\ Х_{нач.},\ X_{кон.},\ dx$ ввести с клавиатуры. |
14 | Вычислить и вывести на экран в виде таблицы значения функции F на интервале от $X_{нач.}$ до $X_{кон.}$ с шагом $dx$. $\begin{equation*} где $a,\ b,\ c$ — действительные числа. Функция $F$ должна принимать действительное значение, если выражение $(А_ц\ МОД_2\ В_ц)\ ИЛИ \ (А_ц\ МОД_2\ С_ц)$ не равно нулю, и целое значение в противном случае. Через $А_ц,\ В_ц,\ С_ц$ обозначены целые части значений $a,\ b,\ c$, операции И, ИЛИ и $МОД_2$ — поразрядные. Значения $a,\ b,\ c,\ Х_{нач.},\ X_{кон.},\ dx$ ввести с клавиатуры. |
15 | Вычислить и вывести на экран в виде таблицы значения функции F на интервале от $X_{нач.}$ до $X_{кон.}$ с шагом $dx$. $\begin{equation*} где $a,\ b,\ c$ — действительные числа. Функция $F$ должна принимать действительное значение, если выражение $НЕ\ (А_ц\ ИЛИ\ В_ц\ ИЛИ \ С_ц)$ не равно нулю, и целое значение в противном случае. Через $А_ц,\ В_ц,\ С_ц$ обозначены целые части значений $a,\ b,\ c$, операции И, ИЛИ и $МОД_2$ — поразрядные. Значения $a,\ b,\ c,\ Х_{нач.},\ X_{кон.},\ dx$ ввести с клавиатуры. |
16 | Вычислить и вывести на экран в виде таблицы значения функции F на интервале от $X_{нач.}$ до $X_{кон.}$ с шагом $dx$. $\begin{equation*} где $a,\ b,\ c$ — действительные числа. Функция $F$ должна принимать действительное значение, если выражение $(А_ц\ МОД_2\ В_ц)\ И\ НЕ\ (А_ц\ ИЛИ \ С_ц)$ не равно нулю, и целое значение в противном случае. Через $А_ц,\ В_ц,\ С_ц$ обозначены целые части значений $a,\ b,\ c$, операции И, ИЛИ и $МОД_2$ — поразрядные. Значения $a,\ b,\ c,\ Х_{нач.},\ X_{кон.},\ dx$ ввести с клавиатуры. |
17 | Вычислить и вывести на экран в виде таблицы значения функции F на интервале от $X_{нач.}$ до $X_{кон.}$ с шагом $dx$. $\begin{equation*} где $a,\ b,\ c$ — действительные числа. Функция $F$ должна принимать действительное значение, если выражение $(А_ц\ ИЛИ\ В_ц)\ И\ НЕ\ (А_ц\ ИЛИ \ С_ц)$ не равно нулю, и целое значение в противном случае. Через $А_ц,\ В_ц,\ С_ц$ обозначены целые части значений $a,\ b,\ c$, операции И, ИЛИ и $МОД_2$ — поразрядные. Значения $a,\ b,\ c,\ Х_{нач.},\ X_{кон.},\ dx$ ввести с клавиатуры. |
18 | Вычислить и вывести на экран в виде таблицы значения функции F на интервале от $X_{нач.}$ до $X_{кон.}$ с шагом $dx$. $\begin{equation*} где $a,\ b,\ c$ — действительные числа. Функция $F$ должна принимать действительное значение, если выражение $НЕ\ (А_ц\ И В_ц\ И \ С_ц)$ не равно нулю, и целое значение в противном случае. Через $А_ц,\ В_ц,\ С_ц$ обозначены целые части значений $a,\ b,\ c$, операции $НЕ$ и $И$ — поразрядные. Значения $a,\ b,\ c,\ Х_{нач.},\ X_{кон.},\ dx$ ввести с клавиатуры. |
19 | Вычислить и вывести на экран в виде таблицы значения функции F на интервале от $X_{нач.}$ до $X_{кон.}$ с шагом $dx$. $\begin{equation*} где $a,\ b,\ c$ — действительные числа. Функция $F$ должна принимать действительное значение, если выражение $(А_ц\ МОД_2\ В_ц)\ ИЛИ\ (А_ц\ МОД_2\ С_ц)$ не равно нулю, и целое значение в противном случае. Через $А_ц,\ В_ц,\ С_ц$ обозначены целые части значений $a,\ b,\ c$, операции И, ИЛИ и $МОД_2$ — поразрядные. Значения $a,\ b,\ c,\ Х_{нач.},\ X_{кон.},\ dx$ ввести с клавиатуры. |
20 | Вычислить и вывести на экран в виде таблицы значения функции F на интервале от $X_{нач.}$ до $X_{кон.}$ с шагом $dx$. $\begin{equation*} где $a,\ b,\ c$ — действительные числа. Функция $F$ должна принимать действительное значение, если выражение $НЕ\ (А_ц\ ИЛИ\ В_ц)\ И\ НЕ\ (А_ц\ ИЛИ \ С_ц)$ не равно нулю, и целое значение в противном случае. Через $А_ц,\ В_ц,\ С_ц$ обозначены целые части значений $a,\ b,\ c$, операции И, ИЛИ и $МОД_2$ — поразрядные. Значения $a,\ b,\ c,\ Х_{нач.},\ X_{кон.},\ dx$ ввести с клавиатуры. |
Образец выполнения (вариант №3)
Условие задачи
Вычислить и вывести на экран в виде таблицы значения функции F на интервале от $X_{нач.}$ до $X_{кон.}$ с шагом $dx$.
$\begin{equation*}
F =
\begin {cases}
a x^2\ +\ b x\ + c,\ a < 0,\ c \neq 0 \\
\frac{-a}{x\ -\ c},\ a > 0,\ c = 0 \\
a(x\ +\ c),\ в\ остальных\ случаях
\end {cases}
\end{equation*} $где $a,\ b,\ c$ — действительные числа.
Функция $F$ должна принимать действительное значение, если выражение $А_ц\ И\ (В_ц\ ИЛИ\ С_ц)$ не равно нулю, и целое значение в противном случае. Через $А_ц,\ В_ц,\ С_ц$ обозначены целые части значений $a,\ b,\ c$, операции И и ИЛИ — поразрядные. Значения $a,\ b,\ c,\ Х_{нач.},\ X_{кон.},\ dx$ ввести с клавиатуры.
Реализация задачи на языке С++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | #include <iostream> // для консольного ввода-вывода #include <cmath> // для мат.функций, например, fabs #include <iomanip> // для форматированного вывода // подключаем стандартное пространство имен using namespace std; // вычислительная функция F, зависящая от 4рех параметров double F( const double a, const double b, const double c, const double x ) { #define EPS 0.000001 double result; // проверка на выполнение ветви №1 if ( ( a < 0 ) && ( c != 0 ) ) result = a * x * x + b * x + c; else // проверка на выполнение ветви №2 if ( ( a > 0 ) && ( fabs( c ) <= EPS ) ) result = -a / ( x - c ); // иначе отрабатывает последняя ветка (ветка №3) else result = a * ( x + c ); return result; } // проверка значение на INF (бесконечность) int Is_inf( const double x ) { if ( ( x/2.0 == x ) && ( x + 2 == x ) ) return 1; return 0; } // вспомогательная функция для получения целой части заданного (вещественного) числа long int Get_int_part( const double number ) { // указатель на целую часть (вещественное число) double integer_partF; // хранит целую часть числа (целое число) long int integer_partD; // получаем целую часть заданного числа number в вещественной форме modf( number, &integer_partF ); // переводим вещественную форму в целочисленную integer_partD = (long int)integer_partF; // в качестве ответа возвращаем целую часть числа в формате целого return integer_partD; } // функция, вычисляющая значение Ац И (Вц ИЛИ Сц) int Expression( const long int ac, const long int bc, const long cc ) { return ( ac & ( bc | cc ) ); } // главная функция программы (точка входа) int main( void ) { // отвечают за коэффициенты double a, b, c; double xn; // начальное значение аргумента х double xk; // конечное значение аргумента x double dx; // шаг измененения аргумента x // руссификация диалогов программы setlocale( LC_ALL, "Russian" ); // вводим с клавиатуры начальное, конечное значение Х и шаг dx cout << "Введите начальное значение X (Xn): "; cin >> xn; cout << "Введите конечное значение X (Xk) : "; cin >> xk; cout << "Введите шаг изменения аргумента функции (dx): "; cin >> dx; // вводим с клавиатуры коэффициента a, b, c cout << endl << "Введите три коэффициента (a, b, c) через пробел: "; cin >> a >> b >> c; // отвечают за целые части дробных коэффициентов a, b, c long int ac = Get_int_part( a ); long int bc = Get_int_part( b ); long int cc = Get_int_part( c ); // выводим шапку таблицы cout << endl << "------------------------------------"; cout << endl << "| x | F |"; cout << endl << "------------------------------------"; // пока текущее значение х не достигло правой границы (xk) unsigned long i = -1; while ( true ) { // вычисляем текущее значение аргумента не через сумму, а чере произведение // чтобы максимально избежать потерю точности i++; double x = xn + dx * i; // если текущий х вышел за правую границу, то прекращаем расчет if ( x > xk ) break; // вычисляем значение заданной функции F при заданных коэффициентах и текущем значении х double result = F( a, b, c, x ); // выводим на экран текущее значение аргумента cout << endl << "|" << setw( 16 ) << setprecision( 8 ) << fixed << x << " |"; // дальше идет множество проверок на исключительные ситуации // например, деления 0 на 0, или деление числа на 0 и т.п. if ( _isnan( result ) ) cout << " NAN (не число) |"; else if ( Is_inf( result ) ) cout << " Деление на 0! |"; else { // если выражение возвращает не 0, то выводим значение функции в вещественном формате if ( Expression( ac, bc, cc ) != 0 ) cout << setw( 16 ) << setprecision( 8 ) << fixed << result << " |"; // выводим целую часть рассчитанной функции else cout << setw( 16 ) << Get_int_part( result ) << " |"; } } cout << endl << "------------------------------------" << endl;; // задержка программы, чтобы у пользователя была возможность просмотреть результат cout << endl << endl; cin.get(); // возвращаем в ОС код = 0 (все прошло успешно) return EXIT_SUCCESS; } |
Результаты работы программы
ВНИМАНИЕ | Для получения программы своего варианта пишите на наш электронный адрес proglabs@mail.ru |
Добавить комментарий