Пусть задан массив А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?
Ответы на вопрос:
т.к. 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.
public class MyClass {
public static void main(String[ ] args) {
ArrayList<String> people = new ArrayList<String>();
animals.add("Настя");
animals.add("Настя");
animals.add("Настя");
animals.add("dog");
Collections.sort(people);
System.out.println(people);
}
}
/* Outputs:
[Настя, Настя, Настя]
*/
Объяснение:
Ось але програма написана на Java тобі потрібен компілятора щоб перевести цей код.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
byilyas17.07.2020 18:16
-
Diмon10.07.2022 08:22
-
aidaXD26.03.2022 21:40
-
Sabico27.11.2022 10:12
-
Maxa251127.10.2022 06:13
-
yurafeoktistov29.06.2022 06:31
-
Анимешник959522.04.2023 07:30
-
Мирэя27.04.2022 15:52
-
silva7818.10.2022 15:58
-
Ksiloffie28.01.2021 10:26
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.