btatarintsev
?>

Решить алгоритм сбора яблок 1.начало (в овале) 2.n: =1 (в прямоугольнике) 3.поставить под яблоню пустое ведро (в прямоугольнике) 4. набрать ведро яблок с яблони (в прямоугольнике) 5.n: =n+1(в прямоугольнике) 6. n=3 (ромб) ложь к 3 пункту истина 7.конец (в овале) 1. какие блоки составляют тело цикла? 2.какой блок содержит условие выхода из цикла? 3.сколько ведер наберет исполнитель алгоритма? 4.всегда ли можно выполнить алгоритм? при каких условиях не удастся выполнить 4 пункт?

Информатика

Ответы

teya07

Это алгоритм сбора двух вёдер яблок: сначала N = 1, а при каждой итерации к N добавляется единица. Выход из цикла будет при N = 3, так что цикл исполнится два раза.


1. Тело цикла - команды, которые повторяются - это блоки 3 - 5.

2. Условие выхода из цикла - блок 6.

3. 2 ведра.

4. Не всегда. Блок 3 не выполним, если рядом нет яблони или у исполнителя нет ведра, блок 4 невозможно выполнить, если на яблоне меньше ведра яблок.

ooofishai4064
Выполняя алгоритм, получаем следующий результат (15 итераций)

1. 0..65534 -> 32767
2. 0..32766 -> 16383
3. 0..16382 -> 8191
4. 0..8190  -> 4095
5. 0..4094  -> 2047
6. 2048..4094 -> 3071
7. 2048..3070 -> 2559
8. 2560..3070 -> 2815
9. 2816..3070 -> 2943
10. 2944..3070 -> 3007
11. 2944..3006 -> 2975
12. 2976..3006 -> 2991
13. 2992..3006 -> 2999
14. 3000..3006 -> 3003
15. 3000..3002 -> 3001

Если лень перебирать вручную, можно воспользоваться программой

var k,l,r,x,f:integer;
begin
f := 3001;
l := 0;
r := 65534;
x := (l + r) div 2;
k := 1;
while (x <> f) and (l < r) do
  begin
  writeln(k,' ',l,' ',r,' ',x);
  k := k + 1;
  if f < x then r := x - 1
    else l := x + 1;
  x := (l + r) div 2
  end;
writeln(k,' ',l,' ',r,' ',x);
end.
bikemaster
//PascalABC.NET (версия 3.1, сборка 1196 от 09.03.2016)
begin
  for var i:=1 to 1000 do
    if i mod 7 =0 then print(i);
end.

Тестовое решение:
7 14 21 28 35 42 49 56 63 70 77 84 91 98 105 112 119 126 133 140 147 154 161 168 175 182 189 196 203 210 217 224 231 238 245 252 259 266 273 280 287 294 301 308 315 322 329 336 343 350 357 364 371 378 385 392 399 406 413 420 427 434 441 448 455 462 469 476 483 490 497 504 511 518 525 532 539 546 553 560 567 574 581 588 595 602 609 616 623 630 637 644 651 658 665 672 679 686 693 700 707 714 721 728 735 742 749 756 763 770 777 784 791 798 805 812 819 826 833 840 847 854 861 868 875 882 889 896 903 910 917 924 931 938 945 952 959 966 973 980 987 994

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

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

Решить алгоритм сбора яблок 1.начало (в овале) 2.n: =1 (в прямоугольнике) 3.поставить под яблоню пустое ведро (в прямоугольнике) 4. набрать ведро яблок с яблони (в прямоугольнике) 5.n: =n+1(в прямоугольнике) 6. n=3 (ромб) ложь к 3 пункту истина 7.конец (в овале) 1. какие блоки составляют тело цикла? 2.какой блок содержит условие выхода из цикла? 3.сколько ведер наберет исполнитель алгоритма? 4.всегда ли можно выполнить алгоритм? при каких условиях не удастся выполнить 4 пункт?
Ваше имя (никнейм)*
Email*
Комментарий*

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

Larisa-0888716
avdoyan6621
LIN1022
Долбоебков_Алексей27
КристинаАлександр
Sergei Gaishun
Vika-simonenko
Andreevna_Grebenshchikova155
cochana
vadimkayunusov
vladimyrgorbunov
Nastyakarysheva8750
Gavrilova2527
ecocheminnov437
Тоноян