proporcia46
?>

Заполните пропущенные места в программе которая выводит на экран нечетные числа в диапазоне от 10 до 30: program prim2; var x: integer; begin x: = ; while x< do begin writeln(x); x: =x+ end; end.

Информатика

Ответы

gorbelena1971
Ясно же, как пень. 11, 31, 2
Pavlovna-Golovitinskaya378
// PascalABC.NET 3.1, сборка 1204 от 24.03.2016
begin
  var F,G:file of integer;
  Assign(F,'FFile.dat'); Rewrite(F);
  for var i:=1 to 30 do Write(F,Random(-20,20));
  // Файл F создан и заполнен
  Assign(G,'GFile.dat'); Rewrite(G);
  F.Seek(0);
  var e:integer;
  Print('F:');
  while not F.Eof do begin
    Read(F,e); Print(e);
    if e>0 then Write(G,e)
    end;
  F.Seek(0);
  while not F.Eof do begin
    Read(F,e);
    if e<0 then Write(G,e)
    end;
  F.Seek(0);
  while not F.Eof do begin
    Read(F,e);
    if e=0 then Write(G,e)
    end;
  F.Close;
  Writeln;
  Print('G:');
  G.Seek(0);
  while not G.Eof do begin
    Read(G,e); Print(e)
    end;  
  G.Close
end.

Тестовое решение:
F: -14 15 -16 0 7 0 18 19 -12 -10 6 15 -19 -14 -15 -1 -6 -4 -20 12 10 4 3 16 -14 -20 3 10 -13 -16
G: 15 7 18 19 6 15 12 10 4 3 16 3 10 -14 -16 -12 -10 -19 -14 -15 -1 -6 -4 -20 -14 -20 -13 -16 0 0

Данное решение неоптимально по времени, поскольку файл читается трижды. Можно сделать иной вариант, читая данные за один проход и помещая в две вс структуры памяти отрицательные и нулевые элементы.

// PascalABC.NET 3.1, сборка 1204 от 24.03.2016
begin
  var F,G:file of integer;
  Assign(F,'FFile.dat'); Rewrite(F);
  for var i:=1 to 30 do Write(F,Random(-20,20));
  // Файл F создан и заполнен
  Assign(G,'GFile.dat'); Rewrite(G);
  var n:=F.FileSize;
  var neg,zer:array of integer;
  SetLength(neg,n); SetLength(zer,n);
  F.Seek(0);
  var e:integer;
  var ineg:=0;
  var izer:=0;
  Print('F:');
  while not F.Eof do begin
    Read(F,e); Print(e);
    if e>0 then Write(G,e)
    else
      if e<0 then begin neg[ineg]:=e; Inc(ineg) end
      else begin zer[izer]:=e; Inc(izer) end
    end;
  F.Close;
  Writeln;
  SetLength(neg,ineg);
  foreach e in neg do Write(G,e);
  SetLength(zer,izer);
  foreach e in zer do Write(G,e);
  Print('G:');
  G.Seek(0);
  while not G.Eof do begin
    Read(G,e); Print(e)
    end; 
  G.Close
end.

Тестовое решение:
F: 7 5 -14 6 -11 -9 5 -1 5 -5 -7 -1 4 -20 17 -19 0 -3 0 6 20 1 -2 -18 9 20 0 -2 3 -13
G: 7 5 6 5 5 4 17 6 20 1 9 20 3 -14 -11 -9 -1 -5 -7 -1 -20 -19 -3 -2 -18 -2 -13 0 0 0
alyans29

& - Конъюнкция, истина только тогда, когда и А и Б истины, т.е 1

v - Дизъюнкция, истина, если хоть одна из переменных истина. Т.е ложно оно бывает только когда обе ложные (0)

И вот теперь тупо смотришь в таблицу.

B&C

Смотрим на первую строку. Они обе 0, т.е ложные, значит в столбце B&C в первой строке тоже 0. Дальше,вторая строка. Теперь B - 0, C - 1,  тоже пишем 0, т.к истинно только одно. И т.д. В итоге истина только в 4 и 8 строке. Остальное нули.

Потом у тебя идёт  A v (B&C). Смотришь на столбец А, и столбец, который ты только что заполнил. Аналогично. Т.е тут будет, что до 4 строки  - ложь, а после и до конца - истина. т.к хоть одна истина будет.

Тоже самое и с другими.

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

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

Заполните пропущенные места в программе которая выводит на экран нечетные числа в диапазоне от 10 до 30: program prim2; var x: integer; begin x: = ; while x< do begin writeln(x); x: =x+ end; end.
Ваше имя (никнейм)*
Email*
Комментарий*

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

sde19755511
oksit
anadtacia03108988
Adno1578
kristeisha871
kovalenko262
lena260980
Doronin755
askorikova
juliajd
choia
Nertman45
tetralek
Chernaya
matveevaev81