Пытаясь вспомнить победителей турнира, пять бывших зрителей заявили: • Антон был вторым, а Борис - пятым,
• Виктор был вторым, а Денис - первым,
• Григорий был первым, а Борис третьим,
• Антон был третьим, а Евгений - шестым,
• Виктор был третьим, а Евгений - четвертым.
Позже выяснилось, что каждый из зрителей ошибался в одном из своих высказываний. Каково было истинное распределение мест в турнире?
• Под простыми высказываниями мы будем подразумевать тот факт, что герой занял то или иное призовое место на турнире.
Применим метод индексирования в обозначении простых высказываний: заглавным символом обозначим имя героя, а индексом, место, которое он занял. Каждый зритель ошибался в одном из своих заявлений, поэтому дизъюнкции, которые формализуют их высказывания, истинны. Поэтому мы получим следующий набор дизъюнкций:
• [A2˅B5 ] = И,
• [V2˅D3 ] = И,
• [G1˅B3 ] = И,
• [A3˅E6 ] = И,
• [V3˅E4 ] = И.
Конъюнкция, построенная из истинных дизъюнкций, тоже истинна:
[(A2 ˅B5 )ᴧ(V2 ˅D3 )ᴧ(G1 ˅B3 )ᴧ(A3 ˅E6 )ᴧ(V3 ˅E4 )]= И
• Упростив с равносильных преобразований данную формулу, мы получим ответ на вопрос задачи.
• Преобразовывая, необходимо несколько раз применить закон дистрибутивности и воспользоваться дополнительным условием, что один и тот же человек не может занимать сразу два призовых места.
• Попробуйте завершить решение задачи самостоятельно
[(A2 ˅B5 )ᴧ(V2 ˅D3 )ᴧ(G1 ˅B3 )ᴧ(A3 ˅E6 )ᴧ(V3 ˅E4 )]= И
есть ответ, нужно решение, расписанное до мелочей
Григорий 1-ый,Виктор-2-ой,Антон-3-ий,Евгений-4-ый,Борис-5-ый,Денис-6-ой
#include <iostream>
#include <iomanip>
int main()
{
using namespace std;
//исходная последовательность
const int N = 8;
double Arr[N] = { 14.2, -3.4, 7.8, -3.1, 8.2, 98.22, -7, 12 };
//вывод на экран исходной последовательности
for (int i = 0; i < N; ++i)
cout << Arr[i] << " ";
cout << endl;
//подсчитаем количества отрицательных и неотрицательных элементов
int kpos = 0;
int kneg = 0;
for (int i = 0; i < N; ++i)
if (Arr[i] < 0)
++kneg;
else
++kpos;
//создадим массивы отрицательных и неотрицательных элементов
double * ArrNeg = new double[kneg];
double * ArrPos = new double[kpos];
int kn = 0, kp = 0;
for (int i = 0; i < N; i++)
if (Arr[i] < 0)
ArrNeg[kn++] = Arr[i];
else
ArrPos[kp++] = Arr[i];
cout << "Enter a, b, c or d: ";
char ch;
cin >> ch;
if (ch == 'a' || ch == 'b' || ch == 'c' || ch == 'd')
{
switch (ch)
{
//пункт а)
case 'a':
for (int i = 0; i < kneg; ++i)
Arr[i] = ArrNeg[i];
for (int i = 0; i < kpos; ++i)
Arr[i + kneg] = ArrPos[i];
break;
//пункт б)
case 'b':
for (int i = 0; i < kneg; ++i)
Arr[i] = ArrNeg[--kn];
for (int i = 0; i < kpos; ++i)
Arr[i + kneg] = ArrPos[i];
break;
//пункт в)
case 'c':
for (int i = 0; i < kneg; ++i)
Arr[i] = ArrNeg[i];
for (int i = 0; i < kpos; ++i)
Arr[i + kneg] = ArrPos[--kp];
break;
//пункт г)
case 'd':
for (int i = 0; i < kneg; ++i)
Arr[i] = ArrNeg[--kn];
for (int i = 0; i < kpos; ++i)
Arr[i + kneg] = ArrPos[--kp];
break;
}
}
else
cout << "You entered wrong symbol\n";
for (int i = 0; i < N; ++i)
cout << Arr[i] << " ";
cout << endl;
delete[] ArrNeg;
delete[] ArrPos;
return 0;
}
7)На координатной плоскости отмечены числа p,q и r.
Какая из разностей q-p, q-r, r-p отрицательная.
ответ: q-r такая из разниц будет отрицательная
8)
9)
х=±7
ответ :-7
10) Костя не выучил 4 билета всего 25 билетов
25-4=21
Вероятность что Кости попадется билет который он знает 21/25=0,84
13) 8х-3(х+9)≥-9
8х-3х-27≥-9
8х-3х≥-9+27
5х≥18
х≥18/15
х≥3,6
ответ: [3,6;∞) №1
14) 1 минута образуется осадок 0,2 грамма
а1=0,2 гр
а7= неизвестная переменная
d = 0,5 - на столько каждую минуту увеличивается масса осадка.
Формула n-ого члена арифметической прогрессии выглядит так:
аn = a1 + d(n - 1).
Подставляем данные величины:
а7 = 0,2 + 0,2(7 - 1) = 0,2 + 1,2= 1,4грамма
ответ: 1,4 грамма
Объяснение: