Задать вопрос
5 февраля, 05:15

Паскаль - массивы. Написать программу, которая считает среднее число шагов в двоичном поиске для массива из 32 элементов в интервале [0,100]. Для поиска использовать 1000 случайных чисел в этом же интервале.

+3
Ответы (1)
  1. 5 февраля, 07:32
    -1
    Const

    n=32;

    var

    a:array[1 ... n] of integer;

    i, j, k, p, left, right, center:integer;

    begin

    { заполнить массив данными }

    Randomize;

    for i:=1 to n do a[i]:=Random (101) ;

    { отсортировать массив во возрастанию - пузырьковый метод }

    for i : = 1 to n-1 do

    for j : = 1 to n-i do

    if a[j] > a[j+1] then

    begin k : = a[j]; a[j] : = a[j+1]; a[j+1] : = k end;

    { тысяча поисков случайных чисел }

    k:=0;

    for j:=1 to 1000 do

    begin

    p:=Random (101) ;

    { собственно, двоичный поиск }

    left:=1; right:=n;

    while left
    begin

    Inc (k) ;

    if (a[left]=p) or (a[right]=p) then left:=right { нашли }

    else begin

    center: = (left+right) div 2;

    if a[center]=p then left:=right { нашли }

    else

    if a[center]


    else right:=center

    end

    end

    end;

    Writeln ('Среднее число поисков равно ', k/1000:4:2)

    end.

    Тестовое решение:

    Среднее число поисков равно 4.61

Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Паскаль - массивы. Написать программу, которая считает среднее число шагов в двоичном поиске для массива из 32 элементов в интервале ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
Помогите решить задачи на паскаль. 1) Дан массив случайных чисел (количество элементов вводите с клавиатуры). Найти произведение всех элементов массива. 2) Дан массив случайных чисел (количество элементов вводите с клавиатуры).
Ответы (1)
1. Возвести в квадрат все элементы массива A. Размер массива и значения элементов массива - произвольные. 2. Увеличить на 4 все элементы в первой половине массива A (считать, что в массиве чётное число элементов).
Ответы (1)
дан массив из семи элементов написать программу подсчитывающую среднее второго и предпоследнего элементов массива дан целочисленный массив из 10 элементов написать программу находящую сумму элементов массива красных 3 ил 5 дан целочисленный массив
Ответы (1)
Составить программу (Паскаль) Сформировать массив (t кол-во элементов 20) случайных чисел, выбранных на интервале от - 10 до + 10. Вывести кол-во нулевых элементов, сумму элементов кратных 3 и среднее арифметическое всех элементов массива.
Ответы (1)
1. for + random a. вывести случайное количество случайных чисел b. вывести на экран 10 случайных чисел c. вывести на экран 10 случайных чисел, значение которых лежит в отрезке [0,10] d.
Ответы (1)