tobolenecivanov1675
?>

Синформатикой 10 класс круги эйлера, булевая

Информатика

Ответы

elenasnikitina84

Преобразуем первый запрос по правилу раскрытия скобок в логических выражениях:

Новосибирск & (Красноярск & Хабаровск | Норильск) ⇔

⇔ Новосибирск & Красноярск & Хабаровск | Новосибирск & Норильск.

Заменим переменные так, чтобы в таблице осталось только две переменных. Для этого сначала обозначим «Новосибирск & Красноярск & Хабаровск» как «А», «Новосибирск & Норильск» как «В». Преобразуем последний запрос в таблице, добавив ничего не изменяющее логическое умножение на «Новосибирск»:

Новосибирск & Красноярск & Хабаровск & Норильск ⇔

⇔ Новосибирск & Красноярск & Хабаровск & Норильск & Новосибирск ⇔

⇔ А & Норильск & Новосибирск ⇔ А & В.

Занесём данные в таблицу в новых обозначениях:

Запрос Найдено страниц, тыс.

А|В =570

В =214

А & В =68

Вычислим количество страниц по запросу А по формуле включений исключений:

NA = N(A|B) − NB + N(A&B) ⇔ NA = 570 −214 + 68 = 424.

ответ: 424.

Nikolaevich
// PascalABC.NET 3.2, сборка 1449 от 23.05.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var f:real->real:=
    x->cos(0.75*Power(x,0.25)-0.5*Power(x,0.5)+0.25*Power(x,0.75));
  var a:=MatrGen(10,10,(i,j)->f(5+(10*i+j)*0.75));
  Writeln('*** Исходный массив ***'); a.Println(7,3); Writeln(70*'-');
  var fo:=OpenWrite('output.txt');
  Writeln(fo,'*** Исходный массив ***');
  for var i:=0 to 9 do begin
    for var j:=0 to 9 do Write(fo,a[i,j]:7:3);
    Writeln(fo)
    end;
  Writeln(fo,70*'-');
  Write('Сформированный массив: ');
  Write(fo,'Сформированный массив: ');
  var b:=a.ElementsWithIndexes.Where(x->(x[0]=x[1]) or (x[0]=9-x[1]))
    .Select(x->x[2]).ToArray;
  b.ForEach(x->Write(x:7:3)); Writeln;
  b.ForEach(x->Write(fo,x:7:3)); Writeln(fo);
  Write('Отсортированный массив:');
  Write(fo,'Отсортированный массив:');
  // пузырьковая сортировка
  for var i:=0 to 18 do
    for var j:=0 to 18-i do
      if b[j]>b[j+1] then Swap(b[j],b[j+1]);
  b.ForEach(x->Write(x:7:3)); Writeln;
  b.ForEach(x->Write(fo,x:7:3)); Writeln(fo);
  fo.Close
end.

Результат
*** Исходный массив ***
  0.668  0.629  0.589  0.550  0.509  0.469  0.428  0.387  0.346  0.305
  0.263  0.222  0.180  0.139  0.098  0.057  0.016 -0.024 -0.064 -0.104
 -0.143 -0.182 -0.220 -0.258 -0.295 -0.331 -0.367 -0.402 -0.437 -0.470
 -0.503 -0.535 -0.566 -0.596 -0.625 -0.653 -0.680 -0.706 -0.732 -0.756
 -0.779 -0.801 -0.822 -0.841 -0.860 -0.878 -0.894 -0.909 -0.923 -0.936
 -0.948 -0.958 -0.968 -0.976 -0.983 -0.988 -0.993 -0.996 -0.999 -1.000
 -1.000 -0.999 -0.996 -0.993 -0.988 -0.983 -0.976 -0.968 -0.959 -0.949
 -0.939 -0.927 -0.914 -0.900 -0.885 -0.869 -0.853 -0.835 -0.817 -0.798
 -0.778 -0.757 -0.735 -0.713 -0.690 -0.667 -0.642 -0.617 -0.592 -0.566
 -0.539 -0.512 -0.485 -0.457 -0.429 -0.400 -0.371 -0.341 -0.312 -0.282

Сформированный массив:   0.668  0.305  0.222 -0.064 -0.220 -0.402 -0.596 -0.680 -0.860 -0.878 -0.983 -0.988 -0.993 -0.976 -0.914 -0.835 -0.757 -0.592 -0.539 -0.282
Отсортированный массив: -0.993 -0.988 -0.983 -0.976 -0.914 -0.878 -0.860 -0.835 -0.757 -0.680 -0.596 -0.592 -0.539 -0.402 -0.282 -0.220 -0.064  0.222  0.305  0.668

Вариант без пузырьковой сортировки

begin
  var f:real->real:=
    x->cos(0.75*Power(x,0.25)-0.5*Power(x,0.5)+0.25*Power(x,0.75));
  var a:=MatrGen(10,10,(i,j)->f(5+(10*i+j)*0.75));
  Writeln('*** Исходный массив ***'); a.Println(7,3); Writeln(70*'-');
  var fo:=OpenWrite('output.txt');
  Writeln(fo,'*** Исходный массив ***');
  for var i:=0 to 9 do begin
    for var j:=0 to 9 do Write(fo,a[i,j]:7:3);
    Writeln(fo)
    end;
  Writeln(fo,70*'-');
  Write('Сформированный массив: ');
  Write(fo,'Сформированный массив: ');
  var b:=a.ElementsWithIndexes.Where(x->(x[0]=x[1]) or (x[0]=9-x[1]))
    .Select(x->x[2]).ToArray;
  b.ForEach(x->Write(x:7:3)); Writeln;
  b.ForEach(x->Write(fo,x:7:3)); Writeln(fo);
  Write('Отсортированный массив:');
  Write(fo,'Отсортированный массив:');
  b.Sort; // вместо пузырьковой сортировки
  b.ForEach(x->Write(x:7:3)); Writeln;
  b.ForEach(x->Write(fo,x:7:3)); Writeln(fo);
  fo.Close
end.
eurostom
Using System;
namespace СиШарп
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("N = ");
            int N = int.Parse(Console.ReadLine());
            Console.Write("A({0}):",N);
            int[] A = new int[N];
            Random RND = new Random();
            for (int i = 0; i < N; i++)
            {
                A[i] = RND.Next(-N,N+1);
                Console.Write(" {0}",A[i]);
            }
            for (int i = N - 1; i >= 0 && A[i] < 0; i--) ;
            int L = 0, j = N;
            while (j > 0)
                if (A[--j] > 0) L++;
                else
                    if (L < 2) L = 0;
                    else break;
            for(int i = j + L + 1; i < N; i++)
                A[i - L] = A[i];
            Console.Write("\nA({0}):",N-L);
            for (int i = 0; i < N - L; i++)
                Console.Write(" {0}",A[i]);
            Console.ReadKey();
        }
    }
}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Синформатикой 10 класс круги эйлера, булевая
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

ustinovda14
Fedoseeva
Милита1065
tsypant
Zukhra Andreevich1040
sve34166163
whitecatrussia5398
Михайлович1309
akakne86
ann-perminova2008
P7Y7V7
mashuska
troian07
adrinalin991
marysya60