И пояснение, как это работает, т.е. по сути алгоритм на русском языке. ArrRandom(30,0,1000) создает массив из 30 элементов и заполняет его случайными значениями из диапазона [0,1000]. Далее этот массив обрабатывается методом Println, который направляет значения элементов на вывод, разделяя их запятой с последующим пробелом и в конце вывода добавляет смену строки. Затем элементы массива проходят фильтр Where(x->Odd(x)), который пропускает через себя только те значения, которые удовлетворяют условию Odd(значение элемента)=True, а мы знаем, что Odd() возвращает True для нечетного аргумента. Далее фильтр элементы обрабатываются методом Average, который умеет принимать набор значений и возвращать их среднее. И наконец, процедура Writeln выводит полученное значение, предваряя его текстовым пояснением.
x1 x2 x3 x4 x2∧x4 ¬x1 ¬x1∨x3 x2∧x4∧(¬x1∨x3) ¬x2∧x4∧(¬x1∨x3) ¬x1∧x2 ¬x3 ¬x1∧x2∧¬x3 x4∨¬x1∧x2∧¬x3 ¬x2∧x4∧(¬x1∨x3)∧(x4∨¬x1∧x2∧¬x3) x1∧x2 ¬x1∧x2 ¬x2∧x4∧(¬x1∨x3)∧(x4∨¬x1∧x2∧¬x3)∧¬x1∧x2 ¬x2∧x4∧(¬x1∨x3)∧(x4∨¬x1∧x2∧¬x3)∧¬x1∧x2≡1
0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 1 0 0
0 0 0 1 0 1 1 0 1 0 1 0 1 1 0 1 1 1
0 0 1 0 0 1 1 0 1 0 0 0 0 0 0 1 0 0
0 0 1 1 0 1 1 0 1 0 0 0 1 1 0 1 1 1
0 1 0 0 0 1 1 0 1 1 1 1 1 1 0 1 1 1
0 1 0 1 1 1 1 1 0 1 1 1 1 0 0 1 0 0
0 1 1 0 0 1 1 0 1 1 0 0 0 0 0 1 0 0
0 1 1 1 1 1 1 1 0 1 0 0 1 0 0 1 0 0
1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0
1 0 0 1 0 0 0 0 1 0 1 0 1 1 0 1 1 1
1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0
1 0 1 1 0 0 1 0 1 0 0 0 1 1 0 1 1 1
1 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0
1 1 0 1 1 0 0 0 1 0 1 0 1 1 1 0 0 0
1 1 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0
1 1 1 1 1 0 1 1 0 0 0 0 1 0 1 0 0 0
Объяснение:
вроде так