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

учебная практика

.docx
Скачиваний:
0
Добавлен:
12.04.2025
Размер:
320.04 Кб
Скачать

Задание 1

Вариант 5:

Даны три кучки камней, содержащих соответственно 2,3 и 4 камня. За один ход разрешается или удвоить количество камней. В меньшей кучке (если их две – то в каждой из них), или добавить по 1 камню в каждую из всех трёх кучек. Выигрывает тот игрок, после хода которого во всех трёх кучах суммарно становится не менее 23 камней. Игроки ходят по очереди. Выяснить, кто выигрывает при правильной игре: первый или второй игрок. Ответ обосновать.

Решение:

Пояснение решения:

В данной таблице представлены все возможные ходы первого и второго игроков. Зелёным цветом отмечено, когда во всех кучах суммарно не менее 23 камней. По таблице видно, что после того, как первый игрок сделает свой второй ход, ни при какой из стратегий он не выиграет. Получается, что выиграет второй игрок, делая свой второй ход( в зависимости от хода первого игрока, у него есть 8 выигрышных стратегий). Голубым цветом показана самая лучшая стратегия для второго игрока, т.к. после хода первого игрока при любом своём ходе второй игрок выиграет.

Ответ: выиграет второй игрок.

Задание 2.

Вариант 4.

Два игрока играют в следующую игру. На координатной плоскости в точке с координатами (–3; 2) стоит фишка. Игроки ходят по очереди. Ход состоит в том, что игрок перемещает фишку из точки с координатами (x; y) в одну из трех точек: (x+5; y), (x; y+4) или (x+3; y+3). Выигрывает тот игрок, после хода которого расстояние по прямой от фишки до начала координат (0,0) больше 12 единиц. Кто выигрывает: игрок, делающий ход первым, или игрок, делающий ход вторым? Ответ обоснуйте

Решение:

Квадрат расстояния от фишки до точки с координатами (0, 0): r2 = x2 + y2. Побеждает игрок, после хода которого r2 > 144(12*12). Алгоритм выигрышной стратегии определим при помощи дерева всех возможных партий:

Пояснение решения: фиолетовые кружки – это все возможные ходы первого игрока, голубые- все возможные ходы второго игрока. Зелёные- ситуация , когда  x2 + y2>144, по дереву всех возможных ходов видно, что первый игрок после своего второго хода имеет 9 выигрышных стратегий. Значит он выиграет раньше, чем второй .

Ответ: выигрывает игрок, делающий ход первым.

Задание 3

Вариант 3

Написать алгоритм программы, при выполнении которой с клавиатуры считываются координаты точки (x1; y1) на плоскости (x1; y1 – действительные числа) и определяется принадлежность заданной точки некоторой области, включая ее границы. Область ограничена графиком y=f(x) и прямыми y=a, x=b и х=c. Пояснить решение графически.

Решение:

График:

Решение представлено на языке программирования С++:

#include <iostream>

#include <cmath>

using namespace std;

int main()

{

float x, y;

setlocale(LC_ALL, "RUS");

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

cin >> x >> y;

if ((y >= cos(x) - 0.25) && (y <= 0) && (x >= 0.5) && (x <= 3.5))

{

cout << "точка находится в заданной области " "\n";

}

else if ((y <= cos(x) - 0.25) && (y >= 0) && (x >= 0.5) && (x <= 3.5))

{

cout << "точка находится в заданной области " "\n";

}

else

{

cout << "точка не находится в заданной области " "\n";

}

return 0;

}

Блок схема программы:

Результат работы программы:

Задание 4.

Вариант 2.

Написать алгоритм программы и решить задачу:

Определить, сколько нулей в двоичной записи произвольного десятичного числа А (100<A<1000)

Решение представлено на языке программирования Python:

n=int (input("десятиччное число: "))

a=''

if (n<1000 and n>100):

while(n>0):

a= str(n % 2) +a

n = n // 2

print ("двоичная запись:",a)

print("количество нулей:",a.count("0"))

else :

print ("введите число от 100 до 1000")

результат работы программы:

Задание 5.

Вариант 1.

Решить логическую задачу.

По обвинению в ограблении перед судом предстали Иванов, Петров, Сидоров. Следствием установлено следующее: 1) Если Иванов не виновен или Петров виновен, то Сидоров виновен. 2) Если Иванов не виновен, то Сидоров не виновен. Виновен ли Иванов?

Чтобы решить эту задачу своими знаниями из алгебры логики:

Решение:

Пусть:

А= Иванов виновен

В=Петров виновен

С=Сидоров виновен

Получаем:

Составим таблицу истинности:

Из данной таблицы видно, что F истинно только тогда , когда истинно А, значит Иванов виновен.

Ответ: Иванов виновен.

Вывод: при решение логических задач можно использовать законы алгебры логики.

Соседние файлы в предмете Учебная практика