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

Задание 2 Рассмотри таблицу. Ученик 11 класса сдает электронный тест по информатики если он набирает 6 и больше , то он проходит тест иначе он не проходит тест.


Задание 2 Рассмотри таблицу. Ученик 11 класса сдает электронный тест по информатики если он набирает

Показать ответ
Ответ:
VasiliyLihasdb
VasiliyLihasdb
08.11.2020 20:08
// 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.
0,0(0 оценок)
Ответ:
milenakag2008
milenakag2008
04.02.2022 10:08
{
Вам следовало бы более точно описать, что вам нужно.
Непонятно, что это за условие со следованием. В примере 21106 за цифрой 2 следует 11, но за 11 не следует ничего из перечисленного. Ну или в нем 10 следует за 1, но тогда зачем условия следования для 10..12?
+ ничего не сказано про случайное распределение этих чисел. Так-то программа, которая все время выводит "1", тоже подходит под эти условия
}

const
  R: array[1..12,1..5] of integer = (
  (4,5,7,9,10),   //1
  (5,6,8,10,11),  //2
  (6,7,9,11,12),  //3
  (1,7,8,10,12),  //4
  (1,2,8,9,11),   //5
  (2,3,9,10,12),  //6
  (1,3,4,10,11),  //7
  (2,4,5,11,12),  //8
  (1,3,5,6,12),   //9
  (1,2,4,6,7),    //10
  (2,3,5,7,8),    //11
  (3,4,6,8,9)     //12
  );

var i,k:integer;  
begin
  k := 1 + random(12);
  for i := 1 to 1 + random(3) do
    begin
    write(k);
    k := R[k,1 + random(5)];
    end;
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота