Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Пример 4.5. Включить заданное число D в массив A(N), упорядоченный по




Возрастанию, с сохранением упорядоченности.

Система тестов

Номер теста Проверяемый Случай Данные Результат
D Массив А
1 D <= a1 0 A=(1, 3, 5) A=(0, 1, 3, 5)
2 a1< D <= aN 4 A=(1, 3, 5) A=(1, 3, 4, 5)
3 aN < D 6 A=(1, 3, 5) A=(1, 3, 5, 6)

Алгоритмический язык

алг Включение (арг цел N, арг вещ D, арг рез вещ таб A[1:N+1])

дано | А – упорядоченная по возрастанию последовательность

надо | в А включено число D с сохранением упорядоченности

нач цел i Блок-схема (фрагмент)

i:=N

нц пока (i>=1) и (A[i]>D)

A[i+1]:= A[i] | сдвиг очередного элемента вправо на одну позицию

i:= i–1

Кц

A[i+1]:= D | включение числа D в последовательность

Кон

Turbo Pascal

Program Insertion;

Uses Crt;

Var A: Array [1..20] of Real;

D: Real;

N, i: Integer;

{--------------------------------------------}

Procedure InputOutput; {описание процедуры ввода-вывода}

Begin ClrScr;

Write(’Количество элементов массива - ’); ReadLn(N);

WriteLn(’Введите элементы массива, упорядоченные по

возрастанию:’);

For i:= 1 to N do

begin

Write(’A[’, i, ’] = ’);

ReadLn(A[i])

end; WriteLn;

Write(’Введите число, которое требуется включить в массив: ’);

ReadLn(D);

ClrScr; Write(’Исходный массив:’);

For i:= 1 to N do Write(A[i]: 5: 1); WriteLn;

WriteLn(’Включаемый элемент – ’, D: 5: 1);

End; { of InputOutput }

{--------------------------------------------}

Procedure Insert; {описание процедуры включения нового элемента}

Begin

i:=N;

While (i>=1) and (A[i]>D) do

begin A[i+1]:= A[i]; {сдвиг очередного элемента вправо}

i:=i–1

end;

A[i+1]:= D {включение числа D в последовательность}

End;

{--------------------------------------------}

Procedure Result; {описание процедуры вывода результатов}

Begin WriteLn;

Write(’О т в е т: массив с включенным элементом ’);

For i:= 1 to N+1 do Write(A[i]: 5: 1); WriteLn;

ReadLn;

End;

{--------------------------------------------}

BEGIN

InputOutput; {вызов процедуры ввода-вывода }

Insert; {вызов процедуры включения нового элемента}

Result; {вызов процедуры вывода результатов }

END.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных