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

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

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






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; просмотров: 106. Нарушение авторских прав; Мы поможем в написании вашей работы!



Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Условия, необходимые для появления жизни История жизни и история Земли неотделимы друг от друга, так как именно в процессах развития нашей планеты как космического тела закладывались определенные физические и химические условия, необходимые для появления и развития жизни...

Метод архитекторов Этот метод является наиболее часто используемым и может применяться в трех модификациях: способ с двумя точками схода, способ с одной точкой схода, способ вертикальной плоскости и опущенного плана...

Примеры задач для самостоятельного решения. 1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P   1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P...

Оценка качества Анализ документации. Имеющийся рецепт, паспорт письменного контроля и номер лекарственной формы соответствуют друг другу. Ингредиенты совместимы, расчеты сделаны верно, паспорт письменного контроля выписан верно. Правильность упаковки и оформления....

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

Типология суицида. Феномен суицида (самоубийство или попытка самоубийства) чаще всего связывается с представлением о психологическом кризисе личности...

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