Студопедия — Рекомендации к программе.
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Рекомендации к программе.






1. Реализация алгоритма должна быть максимально эффективна. Следует, насколько это возможно, не использовать рабочих объектов, требующих больших ресурсов памяти.

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

3. Следует подготовить несколько файлов для наиболее полного тестирования программы, в том числе на «вырожденных» данных.

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

· Создать динамический массив из этих структур.

· Организовать список из этих структур.

 

 

Требования к программе.

 

Основные требования:

1. Данные хранятся в виде динамической таблицы, организованной с помощью столбца указателей на строки (или строки указателей на столбцы – в зависимости от алгоритма). Описаны типы «указатель на таблицу» и «указатель на строку (столбец) таблицы».

2. Основные вычисления оформлены в виде подпрограммы, не содержащей операций ввода-вывода. Параметры подпрограммы: указатель на таблицу (по значению), фактические размеры таблицы (по значению), основной результат – по ссылке, код завершения по ссылке или в качестве основного выхода функции. Подпрограмма содержит описание спецификации (в виде комментария под заголовком).

3. Фактические размеры таблицы указываются пользователем. Заполнение таблицы осуществляется тремя способами (по выбору пользователя) с клавиатуры (простейший последовательный ввод элементов), случайным образом и из типизированного (бинарного) файла (с проверкой существования файла).

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

5. Алгоритм реализован без создания вспомогательной таблицы.

6. В подпрограмме выполняется проверка входных параметров на допустимость.

7. Динамическая память для таблиц выделяется и освобождается корректно.

 

Дополнительные требования:

8. Проверка корректности ввода чисел (т.е. отсутствие фатального завершения программы при вводе недопустимых символов в числах).

9. Проверка наличия памяти при создании таблицы.

10. Все пункты меню представляют собой вызовы подпрограмм (например, для создания таблицы в динамической памяти или заполнения уже созданной таблицы случайными числами), оформленных по всем правилам (т.е. все объекты с которыми подпрограмма работает, должны передаваться через список формальных параметров).

11. Возможность работы с несколькими таблицами, указатели на которые хранятся в массиве. В меню добавляется выбор текущей таблицы (т.е. все действия выполняются с той таблицей, которая является текущей в данный момент). Если массив заполняется, то таблицы больше не создаются.

12. Расширение предыдущего пункта возможностью создания произвольного числа таблиц (пока памяти хватает).

13. Перед уничтожением таблицы (в том числе при выходе из программы) предлагается сохранить ее в файл.

 

Варианты задания №3.

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

2. В таблице с монотонно возрастающими элементами в строках и столбцах определить положение заданного числа.

3. Найти элемент таблицы, встречающийся в каждой строке и каждом столбце.

4. Среди чисел заданной строки таблицы найти такое, которое принадлежит наибольшему количеству столбцов таблицы.

5. Подсчитать количество столбцов таблицы, каждый из которых составлен из попарно различных элементов.

6. Найти максимальный элемент таблицы, встречающийся более одного раза в каждой строке.

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

8. Найти строку таблицы, содержащую самую длинную серию строгих локальных экстремумов таблицы.

9. Каждый элемент таблицы заменить на максимальный элемент строки и столбца, на пересечении которых он находится.

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

11. В таблице обнулить элементы, стоящие в строках или столбцах, содержащих нули.

12. Найти две строки таблицы, скалярное произведение которых максимально.

13. Вычислить максимальную среди сумм абсолютных величин элементов строк таблицы и номер строки, на которых максимум достигается.

14. Среди минимальных элементов строк таблицы найти наибольший и его положение.

15. На пересечении строк и столбцов, сумма элементов которых положительна, найти максимальный элемент и его положение.

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







Дата добавления: 2015-12-04; просмотров: 108. Нарушение авторских прав; Мы поможем в написании вашей работы!



Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

ПУНКЦИЯ И КАТЕТЕРИЗАЦИЯ ПОДКЛЮЧИЧНОЙ ВЕНЫ   Пункцию и катетеризацию подключичной вены обычно производит хирург или анестезиолог, иногда — специально обученный терапевт...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

Вопрос. Отличие деятельности человека от поведения животных главные отличия деятельности человека от активности животных сводятся к следующему: 1...

Расчет концентрации титрованных растворов с помощью поправочного коэффициента При выполнении серийных анализов ГОСТ или ведомственная инструкция обычно предусматривают применение раствора заданной концентрации или заданного титра...

Психолого-педагогическая характеристика студенческой группы   Характеристика группы составляется по 407 группе очного отделения зооинженерного факультета, бакалавриата по направлению «Биология» РГАУ-МСХА имени К...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия