пятница, 13 ноября 2015 г.

Блок-схема та її реалїзація на Турбо Паскалі для задачі з масивом

Еще одно задание с массивами и работой в Турбо Паскале и системе построения блок-схем «Алгоритм». Исходники программы и файл системы «Алгоритм», содержащий блок-схему, можно скачать в конце статьи.

Завдання


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

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

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

Маємо такі вхідні дані:
  1. Масив Х.
  2. n – кількість елементів масиву.
  3. Число L – число для порівняння з добутком мінімального елемента масиву з його номером.
Вихідні дані — масив У.

План роботи


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

Блок-схема для задачі та отримання результатів


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

Блок-схема та програма на Турбо Паскалі для задачі з масивом

Після розробки програми на Turbo Pascal перевіримо її роботу:

Нехай добуток мінімального елемента та його номера менше числа L і нехай L=1:

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

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

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

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

Щоб перевірити дію програми у випадку, коли добуток мінімального елемента та його номера більше L, візьмемо тий же масив і число L=-20:

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

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

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

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

На початку масива з’явилися від’ємні числа. Задача обчислена вірно.

Здесь можно скачать обещанные исходники программы и блок-схемы:

.

А тут вы сможете посмотреть еще один вариант задания с массивом, задачу с заменой положительных элементов массива отрицательными. и замену знаков в массиве по условию задачи.

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

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