В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
201812
201812
06.08.2021 08:39 •  Информатика

. Дано три цілі числа: А, В, С. Перевірити істинність висловлювання "Подвійна нерівність А <B <с істина".​

Показать ответ
Ответ:
JasminNuar544
JasminNuar544
11.02.2022 05:06
Visual Studio 2015
Код Visual C++, Win32, Консоль:

#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <random>
#include <time.h>
#include <Windows.h>

using namespace std;

char table[3][3];
char nam1[30];
char nam2[30];
bool xod;

bool input(int n)
{
    if (n<1 || n>9)
        return false;
    int i, j;

    if (n % 3 == 0)
    {
        i = n / 3 - 1;
        j = 2;
    }
    else
    {
        j = n % 3 - 1;
        i = n / 3;
    }
    if (table[i][j] == 'O' || table[i][j] == 'X')
        return false;

    if (xod)
    {
        table[i][j] = 'X';
        xod = false;
    }
    else { table[i][j] = 'O'; xod = true; }
    return true;
}

bool win()
{
    for (int i(0); i < 3; i++)
    {
        if (table[i][0] == table[i][1] && table[i][1] == table[i][2]) return true;
    }
    for (int i(0); i < 3; i++)
    {
        if (table[0][i] == table[1][i] && table[1][i] == table[2][i]) return true;
    }
    if (table[0][0] == table[1][1] && table[1][1] == table[2][2]
        || table[0][2] == table[1][1] && table[1][1] == table[2][0]) return true;
    return false;
}

void ПерерисовкаИгровогоПоля()
{
    system("cls");
    if (xod)
        cout << "\tХодит X " << nam1 << " : \n\n";
    else cout << "\tХодит 0 " << nam2 << " : \n\n";
    for (int i(2); i >= 0; i--)
    {
        cout << "\t";
        for (int j(0); j < 3; j++)
        {
            cout << "| " << table[i][j] << ' ';
        }
        cout << '|';
        cout << endl;
    }
}

int main()
{

    setlocale(LC_ALL, "rus");
    do
    {
        system("cls");
        for (int i(0); i < 3; i++)
        {
            for (int j(0); j < 3; j++)
            {
                table[i][j] = char('1' + i * 3 + j);
            }
        }
        cout << "\t\t*** крестики нолики ***\n\n";
        cout << "\tПравила:\n";
        cout << "\tиграют два игрока на поле 3х3\n";
        cout << "\tпобеждает тот кто составит выигрышную комбинацию\n";

        cout << "\n\tДля хода нажмите на цифру ячейки поля\n";
        cout << "\tВведите Имя 1-го. игрока за X: ", cin.getline(nam1, 30);
        cout << "\tВведите Имя 2-го. игрока за 0: ", cin.getline(nam2, 30);
        int i = 0;
        bool L = false, Result;
        do
        {
            ПерерисовкаИгровогоПоля();
            if (L) cout << "Вы вели неверные данные!";
            L = !input((_getch() - '0'));
            Result = win();
        }
        while (!Result && i < 9);
        //system("cls");
        ПерерисовкаИгровогоПоля();
        if (Result)
        {
            if (xod)
                cout << "\n\n\tПобедил 0  " << nam2 << endl;
            else cout << "\n\n\tПобедил X  " << nam1 << endl;
        }
        else cout << "\tНичия!! \n";
       
        cout << "\tВыберите действие: " << "\n\n";
        cout << "\t1 - Пройти задачу повторно " << "\n\n";
        cout << "\t( Нажмите: 0 Для завершения программы. )" << "\n";

    } while (_getch() == '1');

    cout << "\n\n\tПроверка задания закончена " << endl << endl;
    _getch();
}
0,0(0 оценок)
Ответ:
fursatana0
fursatana0
01.02.2023 23:38
Python 3
import numpy as np
def f(x, y):
    return (1 - x*x)/y + 1
step = 0.1
x_start = 0.
x_end = 1.
y_init = 1.

x = np.arange(x_start, x_end + step/2, step)
y1 = np.zeros(len(x))y2 = np.zeros(len(x))
y1[0] = y2[0] = y_init
for i in range(len(x) - 1):
    y1[i + 1] = y1[i] + f(x[i], y1[i]) * step
    y2[i + 1] = y2[i] + f(x[i] + step/2, y2[i] + f(x[i], y2[i]) * step/2) * step

В y1, y2 теперь значения в точках 0, 0,1, 0,2, ..., 1. С ними можно делать что угодно, у меня по ним построены графики.

(Код для построения, работает на сайте, где у меня это было запущено.
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(x, y1, '-r', label="Euler")
ax.plot(x, y2, '-g', label="Euler+")
ax.legend()
fig.savefig('graph.png')
)

Зеленый график должен быть ближе к истинному решению, чем красный.
Решить ду двумя производная y=(1-x^2/y)+1 y(0)=1 x принадлежит [0; 1] шаг=0,1
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота