Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум.doc
Скачиваний:
49
Добавлен:
21.03.2016
Размер:
2.12 Mб
Скачать

Разбор контрольного варианта Задание

Таблица 18. Данные к заданию 31 варианта

№ вар.

Задание

Предельные значения числа…

Тип обраб. данных

строк

столбцов

31

Массив размером М строк N столбцов заполнить числами из входного текстового файла. Исходный массив распечатать. Столбец, где расположен минимальный элемент массива, упорядочить по возрастанию методом пересчета в одномерный массив. Созданный массив распечатать.

7

7

Веществ.

Формирование таблицы идентификаторов

В задании упоминаются: двумерный массив вещественного типа, количество строк (М<=7), количество столбцов (N<=7), входной текстовый файл, номер столбца с минимальным элементом, одномерный массив вещественного типа. Кроме того, так как придется перебирать элементы двумерного массива, потребуется использовать текущий номер строки (i) и текущий номер столбца (j) элемента массива, а при поиске минимального элемента – использовать переменную для найденного минимума.

Сортировка пересчетом потребует заводить счетчик (ki) числа элементов, меньше рассматриваемого "i-го" элемента сортируемого столбца, признак незанятого места в выходном массиве (Pr), дополнительные счетчики в циклах перебора элементов при подсчете и записи (i1, i2). Еще можно упомянуть имя программы и выходного файла для результатов.

На основании перечисленных объектов таблица будет содержать:

Таблица 19. Идентификаторы программы 31 варианта

Имя

Тип

Р-р,байт

Назначение

SortNum

Имя программы

-

Сортировка столбца пересчетом

A

Веществ.массив

294

Исходный массив

B

Веществ.массив

42

Упорядоченный (выходной) массив

M

Целое

2

Количество строк (длина столбца)

N

Целое

2

Количество столбцов (длина строки)

Jmin

Целое

2

Номер строки с минимальным элементом

Fin

Текстовый файл

128

Файл с исходными числами

Fout

Текстовый файл

128

Файл с результатами работы

i

Целое

2

Текущий номер строки

j

Целое

2

Текущий номер столбца

Amin

Вещественное

6

Копия минимального элемента массива

ki

Целое

2

Число элементов массива < текущего

Pr

Вещественное

6

Признак незаполненного элемента

i1

Целое

2

Вспомогательный счетчик перебора

i2

Целое

2

Вспомогательный счетчик перебора

Vvod_M

Метка

-

Блок ввода числа строк

Vvod_N

Метка

-

Блок ввода числа столбцов

Алгоритм

Должен содержать следующие шаги:

  1. Открытие входного и выходного файлов. Текстовый входной файл связывается с набором данных с вещественными числами 'D:\LAB1\DATF.TXT'и открывается для чтения. Выходной файл связывается с новым набором данных'UMNIК5.RES'(т.к. без указания пути – значит в текущем каталоге) и открывается для записи.

  2. Ввод количества строк массива. Контроль на попадание Mв диапазон 2..7. Потребуется метка возврата (Vvod_M).

  3. Ввод количества столбцов массива. Контроль на попадание Nв диапазон 2..7. Потребуется метка возврата (Vvod_N).

  4. Двойной цикл заполнения массива числами из файла. Запрос на ввод не требуется, так как ввод из файла. Контроль не требуется.

  5. Распечатка исходного массива. Сначала печать заголовка ("Исходный массив"), затем печать по строкам с форматом, выделяя на число 10 позиций. После печати каждой строки массива – переход на новую запись в выходном файле.

  6. Поиск столбца с минимальным элементом, запоминание его номера. Двойной цикл (по всем элементам массива), перед которым первый элемент запоминается в переменной Amin, а в переменной для номераJminзапоминается 1.

  7. Определение признака незанятого элемента выходного массива. В качестве признака незанятого элемента выходного массива следует использовать число, которое наверняка не встречается в исходном массиве. Таким числом будет любое, меньшее чем минимальное в массиве, в частности Amin–1.

  8. Цикл заполнения выходного массива признаком незанятого места. Простой цикл присваивания Mэлементам массиваAзначенияPr.

  9. Цикл работы с "i-м" элементом сортируемого столбца:

    1. Цикл расчета числа элементов, меньших "i-го". Перед цикломkiделаем равным не нулю, а единице, т.к. после подсчета числа элементов, меньших данного, его выходной номер должен стать на единицу больше этого числа.

    2. Поиск места в выходном массиве, для рассматриваемого элемента. Если найденное место уже занято, следует двигаться дальше по массиву, пока не встретится незанятое место. Этот процесс необходим, если в сортируемом ряду несколько одинаковых чисел, претендующих, на одно и тоже место.

  10. Печать номера сортированного столбца.

  11. Печать отсортированного массива (начинается с печати заголовка "Упорядоченный массив"), и печать одномерного выходного массива с тем же форматом, что и для входного массива.

  12. Закрытие файлов.

При оформлении лабораторной работы, алгоритм следует изобразить в форме блок-схемы.