Напишите программу которая находит максимальный и минимальный из чётных пложителных...

0 голосов
607 просмотров

Напишите программу которая находит максимальный и минимальный из чётных пложителных элементов массива. Если в массиве нет чётных положительных элементов, нужно вывести сообщение об этом. по информатика с ответам


Информатика (17 баллов) | 607 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

//"Школьный" вариант
//Pascal ABC.NET 3.1 сборка 1256

Const
 n=10;

 Var
 ar:array[1..n] of integer;
 i,max,min:integer;
b:boolean;
begin
randomize;
b:=false;
max:=integer.MinValue;
min:=integer.MaxValue;
writeln('Array:');
for i:=1 to n do
 begin
  ar[i]:=random(-100,100);
  if (ar[i]>max) and not(odd(ar[i])) and (ar[i]>0) then
  begin
   max:=ar[i];
   b:=true;
  end;
  if (ar[i]0) then
  begin
   min:=ar[i];
   b:=true;
  end;
  write(ar[i]:4);
 end;
writeln;
if b=false then writeln('Нет удовлетворяющих условиям чисел') else
 begin
  writeln('Max=',max);
  writeln('Min=',min);
 end;
end.

Пример работы программы:
Array:
  98  60 -41 -88  63 -81 -77 -96 -18  51
Max=98
Min=60

(38.6k баллов)
0

Это на 4 с минусом. Всего возможно получить 300 баллов, если идеально сдать все экзамены. Я весьма слабо написал математику, а на информатике дали олимпиадную задачу написать и скомпилировать на листочке. Из за последнего я не слабо психанул на экзамене и получил достаточно средний результат, хотя мог написать 80-90 баллов из 100.

0

Как это: скомпилировать на листочке? Объектный код написать? )))))

0

Кхм, то есть отладить. Там момент из разряда "ошибка компиляции - лишаетесь баллов".

0

ЕГЭ - в целом идиотический процесс. Заранее известны вопросы по группам. Это позволяет строить оптимальную стратегию сдачи. Намечаешь пороговое значение, на которое идешь. Из того, что знаешь, набираешь нужную сумму баллов и доводишь только эти вопросы до идеала. При сдаче решаешь именно их. В оставшееся время решаешь прочее, как бонус. Кроме В15 в Информатике, потому что на нее надо минут 30-40 и легко ошибиться в арифметике. Гарантированная сдача.

0

По "ошибка компиляции". В методических материалах для комиссий по проверке ЕГЭ сказано, что несущественные описки (где-то пропущена точка с запятой в конце оператора, например) не могут служить поводом для снижения баллов. Поэтому "ошибка компиляции" - незаконное требование, если мы о ЕГЭ.

0

В том то и штука, что задачи были нестандартные. Я придерживался той же стратегии, но "разрыв шаблона" в последний момент не ограничился только олимпиадной задачей на месте простейшей вещи со вложенным циклом. Хотя другие замены были попроще.

0

И в этом случае требование компиляции без ошибок было незаконным.

0

"Программа может содержать не более трёх синтаксических ошибок следующих видов:
пропущен или неверно указан знак пунктуации (запятая, точка с запятой, скобки и т.д.);
неверно написано или пропущено служебное слово языка программирования;
не описана или неверно описана переменная;
применяется операция, недопустимая для соответствующего типа данных."

0

"К синтаксическим ошибкам приравнивается использование неверного типа данных (например, использование целого типа вместо вещественного для представления данных при вводе и обработке).
Если одна и та же ошибка встречается несколько раз, она считается за одну ошибку"

0

В общем, всегда полезно знать свои права...

0 голосов

// PascalABC.NET 3.1, сборка 1256 от 21.06.2016
begin
  var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
  var b:=a.Where(x->(x>0) and x.IsEven);
  if b.Count=0 then Writeln('Нет четных положительных элементов')
  else Writeln('Min=',b.Min,', max=',b.Max)
end.

Тестовое решение
n= 17
-11 15 46 -69 27 -26 68 -48 -2 9 17 7 -86 75 -58 -45 -52
Min=46, max=68

(142k баллов)