ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Пример 4.5. Включить заданное число D в массив A(N), упорядоченный поВозрастанию, с сохранением упорядоченности. Система тестов
Алгоритмический язык алг Включение (арг цел 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. Не нашли, что искали? Воспользуйтесь поиском:
|