суббота, 17 октября 2015 г.

Робота з масивом: блок-схема та програма на Turbo Pascal

Вступление: Работа ориентирована на систему «Алгоритм», предназначенную для построения блок-схем. Кому это надо сейчас и кому было нужно раньше, я остаюсь в неведении, но выкладываю то, что есть. Реализацию поставленной задачи на Турбо Паскале, а также файл блок-схемы для системы «Алгоритм» можно найти в конце статьи.

Завдання


Дано масив {X} розмірністю n.

Потрібно: Перетворити його так, щоб на початку масиву знаходилися від’ємні елементи в порядку зростання їх за значенням, а після них додатні елементи в порядку їхнього убування за значенням, якщо кількість від’ємних елементів у масиві не менше, чим кількість додатніх. У противному випадку від’ємні елементи повинні бути розміщені в порядку убування їх за значенням.

Обмеження: створення допоміжного масиву, попереднє сортування вихідного масиву по зростанню (убуванню) його елементів не дозволяється.

Маємо такі вхідні дані:
  1. Масив Х.
  2. n – кількість елементів масиву.
Вихідні дані: результуючий масив У.

Теоретична схема вирішення задачі


Спочатку треба знайти кількість від'ємних та додатніх чисел. Потім серед додатніх знаходимо максимальне і записуємо його до массиву У на ту частину, де будуть розміщені додатні числа, в першу позицію. Слідуюче за максимальним число записуємо у другу позицію і так далі.

Потім робимо перевірку:
  1. Якщо від’ємних чисел не менше, ніж додатніх, то знаходимо мінімальне число серед від’ємних і записуємо його до масиву У на ту частину, де будуть розміщені від’ємні числа, в першу позицію. Слідуюче за мінімальним число записуємо у другу позицію і так далі.
  2. Якщо від’ємних менше, ніж додатніх, то знаходимо максимальне число серед від’ємних і записуємо його до масиву У на ту частину, де будуть розміщені від’ємні числа, в першу позицію. Слідуюче за максимальним число записуємо у другу позицію і так далі.

Будування блок-схеми


В системі АЛГОРИТМ, побудуємо блок-схему для поставленої задачі:

Робота з масивом: блок-схема та програма на Turbo Pascal

Результати обчислень


Розробимо програму в Turbo Pascal для обчислення поставленої задачі та проведемо обчислення при варіанті, коли від’ємних чисел не менше, ніж додатніх.

Отримаємо такі результати:

Похідний масив

x[1]=5.0 x[2]=-3.0 x[3]=6.0 x[4]=-4.0 x[5]=4.0 x[6]=-1.0

Результуючий масив

y[1]=-4.0 y[2]=-3.0 y[3]=-1.0 y[4]=6.0 y[5]=5.0 y[6]=4.0

Перевіримо роботу програми при кількості від’ємних чисел меншої, ніж додатніх:

Похідний масив

x[1]=5.0 x[2]=-3.0 x[3]=6.0 x[4]=-4.0 x[5]=4.0 x[6]=1.0

Результуючий масив

y[1]=-3.0 y[2]=-4.0 y[3]=6.0 y[4]=5.0 y[5]=4.0 y[6]=1.0

Програма працює вірно.

Нажав на эту кнопку, вы сможете скачать файл с листингом программы на языке Turbo Pascal и файл с блок-схемой, созданный с помощью системы «Алгоритм».

.

Также вы можете посмотреть еще одну реализацию задачи с массивом на Турбо Паскале, выборочную замену знаков у элементов массива и еще один вариант по замене знаков.

Комментариев нет:

Отправить комментарий