Dimston134877
?>

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

Информатика

Ответы

Svetlana1287
Const
  lim=2000000;
var
  d,max,min:longint;
  f:Text;
begin
  Assign(f,'input.txt'); Reset(f);
  max:=-lim; min:=lim;
  while not Eof(f) do begin
    Readln(f,d);
    if (d>0) and (d mod 2=0) then
      if max<d then max:=d
      else if min>d then min:=d;
  end;
  Close(f);
  Assign(f,'output.txt'); Rewrite(f);
  if min<>lim then Writeln(f,min,' ',max);
  Close(f);
end.
sebastianpereira994
//PascalABC.Net 3.0, сборка 1064
const
  n=20;
var
  a:array[1..n] of integer;
  i,imax,imin:integer;
  s:longint;
begin
  Randomize;
  Writeln('Исходный ряд значений');
  imax:=1; imin:=1;
  for i:=1 to n do begin
    a[i]:=Random(51)-25; Write(a[i],' ');
    if a[i]>a[imax] then imax:=i
    else
      if a[i]<a[imin] then imin:=i
  end;
  Writeln;
  if imax>imin then
    Writeln('Максимальный элемент встретился позже минимального')
  else begin
    s:=0;
    for i:=imax+1 to imin-1 do s:=s+a[i];
    Writeln('Сумма элементов между максимальным и минимальным значением ',s)
  end
end.
 
Тестовое решение:
Исходный ряд значений
10 -3 9 5 20 10 6 2 -19 -19 6 -24 -7 -1 23 11 -8 -16 -14 -25
Сумма элементов между максимальным и минимальным значением -27
Анна1169
Если речь о результатах, то в компьютерной арифметике числа представляются в двоичном коде, а точность их представления обычно ограничена разрядностью процессора. Для проведения расчетов с неограниченной точностью используются специальные алгоритмы с представлением чисел в виде символьных строк.
При использовании двоичной арифметики приходится сталкиваться с тем, что большинство нецелых чисел невозможно точно представить в двоичной системе, как нельзя, например, в десятичной системе точно представить в виде десятичной дроби число 1/3 = 0.333
Рассмотрим пример. Если в простых дробях (1/3) х 3 = 1, то в десятичных 0.3333 х 3 = 0.9999.
В двоичной машинной арифметике происходит аналогичная ситуация. Но если человек сознает, что результат 0.9999... - та же единица, то компьютер этого не понимает. В результате в компьютерной арифметике (1 / 3) х 3 не равняется единице.
Еще пример. Пусть нам надо вычислить значение функции в точках от -2π до 2π с шагом π/6. Человек будет использовать значения -2π, -11π/6, -10π/6 и т.д. пока не придет к точке 2π. Компьютер (в арифметике с обычной точностью) вычислит значение -2π как -6.283185, а шаг представит значением 0.5235988. Это приведет к тому, что когда мы придем к нулю, то получим значение аргумента -9.536743х10⁻⁷, а в конечной точке получим аргумент 6.283184, который по абсолютной величине отличается от начального на единицу в младшей цифре, т.е. для компьютера при таком последовательном счете |-2π| ≠ 2π.
Третий пример. отрицательные целые числа представляются в компьютере в дополнительном коде, когда старший разряд является знаковым: 0 - это плюс, 1 - это минус.
Пусть мы прибавляем к 127 единицу в арифметике целых чисел, которым в двоичном представлении отведен один байт:
1111111₂ + 1₂ = 10000000₂ - тут все понятно, единичка перешла в старший, восьмой разряд. Но ведь он ЗНАКОВЫЙ! И вместо двоичного эквивалента 128 в компьютерной арифметике мы получаем отрицательное число! Причем, что самое интересное, из соображений эффективности эта ситуация обычно аппаратно не контролируется и в результате программы могут вести себя очень странно.

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

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

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

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

aprelevka
Rustamov741
Rik200081490
daryagulyaeva
Феофанов_Никита1067
lawyer-2019
deadnobody
vusokaya13
nataliaprintroll
juli19657
Валерьевич Николаевич1364
missmorozova2
Klochkov malakhov1974
Nurislamovna1543
Апраксин Владимир897