profile
Размещено 3 года назад по предмету Информатика от Катя20007

Пусть задан массив Аi={34, 16, 16, 2, 2, 0, -4, -4}, фрагмент программы
L:=1; r:=n; flag:=false;
Repeat
m:=(l+r)div 2;
if a[m]>key then l:=m+1

else if a[m]=key then flag:=true

else r:=m-1;
until flag or (l>r);
Чему будет равно значение переменной m после выполнения цикла, при key=-4?

  1. Ответ на вопрос
    Ответ на вопрос дан mirageKZ

    т.к. n заранее не дано(и это все лишь фрагмент кода) то m при разных n будет получаться разный. n лежит в промежутке [-2;8]

    потому, что тут m:=(l+r)div 2; при n<-2 получается индекс <0

    и при n>8  в цикле индекс >7

    а массив у нас всего 8 элементов

    Поэтому в цикле я вывел все значения m при всех возможных значениях n

    Надеюсь понятно объяснил.

    при n=-2   m=0

    при n=-1   m=0

    при n=0   m=0

    при n=1   m=1

    при n=2   m=2

    при n=3   m=3

    при n=4   m=4

    при n=5   m=5

    при n=6   m=6

    при n=7   m=6

    при n=8   m=6

    Pascal

    var

     a:array [0..7] of integer = (34, 16, 16, 2, 2, 0, -4, -4);

     l, n, m, key, r:integer;

     flag:boolean;

    begin

     for n:=-2 to 8 do begin

       key:=-4;

       L:=1;

       r:=n;

       flag:=false;

       Repeat

         m:=(l+r)div 2;

         if a[m]>key then

           l:=m+1

         else

          if a[m]=key then

            flag:=true

          else

            r:=m-1;

       until flag or (l>r);

       writeln('при n=',n,'   m=', m);

     end;

    end.

Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.