Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

metod1k

.pdf
Скачиваний:
15
Добавлен:
10.05.2015
Размер:
375 Кб
Скачать
☆

ЗАДАНИЕ 9 ОБРАБОТКА МАССИВОВ СТРУКТУР

Пункты задания

1.Создать массив структур, содержащий некоторые данные о студентах МИРЭА, со следующими двумя полями. В первом поле должны записываться фамилии и инициалы студента (вектор класса CHAR), во втором — экзаменационные оценки, полученные этим студентом за каждый семестр, который он успешно завершил. При этом данные во втором поле должны представлять собой вектор класса CELL, содержащий вектора класса DOUBLE — содержащие, в свою очередь, оценки за очередной семестр по 5-ти бальной шкале (с допустимыми значениями: 3, 4, 5). Оценки за семестр и вектора с оценками по семестрам должны следовать

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

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

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

4.Осуществить бинарный поиск данных по произвольно заданному значению (входной параметр) ключа, указанного в варианте, т. е. сфор-

39

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

Каждый пункт задания реализовать в виде отдельной m-функции с параметрами.

Указание. Сначала самостоятельно придумать какой-либо ключ, вычисление которого тривиально, и для него выполнить 2-ой и 3-й пункты задания. И только после этого приступить к выполнению задания для ключа, указанного в варианте.

 

Варианты заданий

 

 

№

Ключ

1

Количество отличных оценок (5) за семестры с наибольшим сред-

ним баллом.

 

 

 

2

Количество удовлетворительных оценок (3) за семестры с наи-

меньшим средним баллом.

 

 

 

3

Наибольшее количество отличных оценок (5) за любые идущие

подряд n (входной параметр) семестров.

 

 

 

4

Наименьшая разница между количеством отличных (5) и удовле-

творительных (3) оценок по семестрам.

 

 

 

5

Наибольшая разница между количеством хороших (4) и удовле-

творительных (3) оценок по семестрам.

 

 

 

6

Наибольшее число любых идущих подряд семестров, за которые

средний балл не уменьшался.

 

 

 

7

Наибольшее число любых идущих подряд семестров, за которые

число отличных (5) оценок не уменьшается.

 

 

 

 

Наибольшее число любых идущих подряд семестров, за которые

8

число отличных оценок (5) превышает число удовлетворительных

 

(3).

 

 

 

Продолжение на следующей странице

40

Варианты заданий (продолжение)

Наибольшее число любых идущих подряд семестров, за которые

9

доля удовлетворительных (3) оценок не превышает 1/3.

Наибольший средний балл за любые идущие подряд n (входной

10

параметр) семестров.

Количество отличных оценок (5) за каждый полный курс с наи-

11

большим средним баллом.

Количество удовлетворительных оценок (3) за каждый полный

12

курс с наименьшим средним баллом.

Наибольшее количество отличных оценок (5) за любые идущие

13

подряд n (входной параметр) полные курсы.

Наименьшая разница между количеством отличных (5) и удовле-

14

творительных (3) оценок по всем полным курсам.

Наибольшая разница между количеством хороших (4) и удовле-

15

творительных (3) оценок по всем полным курсам.

Наибольшее число любых идущих подряд полных курсов, за ко-

16

торые средний балл не уменьшался.

Наибольшее число любых идущих подряд полных курсов, за ко-

17

торые число отличных (5) оценок не уменьшается.

Наибольшее число любых идущих подряд полных курсов, за ко-

18торые число отличных оценок (5) превышает число удовлетворительных (3).

Наибольшее число любых идущих подряд полных курсов, за ко-

19

торые доля удовлетворительных (3) оценок не превышает 1/3.

Наибольший средний балл за любые идущие подряд n (входной

20

параметр) полные курсы.

41

ЗАДАНИЕ 10 ПРОЕКТИРОВАНИЕ ГРАФИЧЕСКОГО ИНТЕРФЕЙСА

ПОЛЬЗОВАТЕЛЯ

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

 

Варианты задания

 

 

№

Задача

 

 

 

Обеспечить ввод, просмотр введенных исходных данных и выпол-

1

нение пунктов ЗАДАНИЯ 7. При этом следует предусмотреть вы-

вод графика вводимой (просматриваемой) функции из заданной

 

 

последовательности.

 

 

2

Обеспечить ввод, просмотр введенных исходных данных и выпол-

нение пунктов ЗАДАНИЯ 9.

 

 

 

 

Обеспечить ввод, просмотр введенных исходных данных и выпол-

3

нение пунктов ЗАДАНИЯ 7. При этом следует предусмотреть вы-

 

вод графика подынтегральной функции.

 

 

 

Продолжение на следующей странице

42

Варианты задания (продолжение)

Обеспечить ввод, просмотр введенных исходных данных и выпол-

4

нение пунктов ЗАДАНИЯ 9.

Обеспечить ввод, просмотр введенных исходных данных и выпол-

нение пунктов ЗАДАНИЯ 7. При этом следует предусмотреть вы-

5

вод графика вводимой (просматриваемой) функции из заданной последовательности.

Обеспечить ввод, просмотр введенных исходных данных и выпол-

6

нение пунктов ЗАДАНИЯ 9.

Обеспечить ввод, просмотр введенных исходных данных и выпол-

7нение пунктов ЗАДАНИЯ 7. При этом следует предусмотреть вывод графика подынтегральной функции.

Обеспечить ввод, просмотр введенных исходных данных и выпол-

8

нение пунктов ЗАДАНИЯ 9.

Обеспечить ввод, просмотр введенных исходных данных и выпол-

нение пунктов ЗАДАНИЯ 7. При этом следует предусмотреть вы-

9

вод графика вводимой (просматриваемой) функции из заданной последовательности.

Обеспечить ввод, просмотр введенных исходных данных и выпол-

10

нение пунктов ЗАДАНИЯ 9.

Обеспечить ввод, просмотр введенных исходных данных и выпол-

11нение пунктов ЗАДАНИЯ 7. При этом следует предусмотреть вывод графика подынтегральной функции.

Обеспечить ввод, просмотр введенных исходных данных и выпол-

12

нение пунктов ЗАДАНИЯ 9.

Продолжение на следующей странице

43

Варианты задания (продолжение)

Обеспечить ввод, просмотр введенных исходных данных и выпол-

нение пунктов ЗАДАНИЯ 7. При этом следует предусмотреть вы-

13

вод графика вводимой (просматриваемой) функции из заданной последовательности.

Обеспечить ввод, просмотр введенных исходных данных и выпол-

14

нение пунктов ЗАДАНИЯ 9.

Обеспечить ввод, просмотр введенных исходных данных и выпол-

15нение пунктов ЗАДАНИЯ 7. При этом следует предусмотреть вывод графика подынтегральной функции.

Обеспечить ввод, просмотр введенных исходных данных и выпол-

16

нение пунктов ЗАДАНИЯ 9.

Обеспечить ввод, просмотр введенных исходных данных и выпол-

нение пунктов ЗАДАНИЯ 7. При этом следует предусмотреть вы-

17

вод графика вводимой (просматриваемой) функции из заданной последовательности.

Обеспечить ввод, просмотр введенных исходных данных и выпол-

18

нение пунктов ЗАДАНИЯ 9.

Обеспечить ввод, просмотр введенных исходных данных и выпол-

19нение пунктов ЗАДАНИЯ 7. При этом следует предусмотреть вывод графика подынтегральной функции.

Обеспечить ввод, просмотр введенных исходных данных и выпол-

20

нение пунктов ЗАДАНИЯ 9.

ЗАДАНИЕ 11 ПРОЕКТИРОВАНИЕ НОВЫХ ИСПОЛНИТЕЛЕЙ ДЕЙСТВИЙ

НА БАЗЕ СУЩЕСТВУЮЩИХ (МОДУЛЬНОЕ И ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ

Решить задачу согласно варианту, используя для этого: а) специаль-

44

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

Варианты заданий

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

2.Робот находится снаружи замкнутой границы произвольной формы

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

3.Робот находится снаружи замкнутой границы произвольной формы

впограничной клетке. За один полный обход робота вокруг границы найти общую длину всех горизонтальных участков границы между исходным положением и пограничной клеткой с максимальной температурой при движении по часовой стрелке.

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

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

45

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

турой при движении по часовой стрелке.

6.Робот находится снаружи замкнутой границы произвольной формы

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

7.Робот находится снаружи замкнутой границы произвольной формы

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

8.Робот находится снаружи замкнутой границы произвольной формы

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

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

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

11.Робот находится внутри замкнутой границы произвольной формы

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

12.Робот находится внутри замкнутой границы произвольной формы

впограничной клетке. За один полный обход робота вокруг границы

46

найти наименьший размер ограниченной области по вертикали западнее

пограничной клетки с минимальной температурой.

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

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

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

16.Робот находится внутри замкнутой границы произвольной формы

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

17.Робот находится внутри замкнутой границы произвольной формы

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

18.Робот находится внутри замкнутой границы произвольной формы

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

47

длины и конечным положением робота.

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

20.Робот находится внутри замкнутой границы произвольной формы

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

РЕКОМЕНДУЕМАЯ УЧЕБНАЯ ЛИТЕРАТУРА:

1. Мартынов Н. Н. MATLAB 7: Элементарное введение. — М.: КУДИЦ— ОБРАЗ, 2005. — 416 с.

2. Борисенко В. В. Основы программирования: [учебное пособие]. — М.: Интернет ун-т информ. технологий, 2005. — 328 с.

ПРИЛОЖЕНИЕ

СИСТЕМЫ КОМАНД УЧЕБНЫХ ИСПОЛНИТЕЛЕЙ ДЕЙСТВИЙ

Система команд виртуального графопостроителя

rgstart(n) — при старте графопостроителя целое число n задает толщину линии пера.

punct(x,y) — переместить перо графопостроителя в точку с декартовыми координатами (x, y) из той точки, в которой графопостроитель находится в данный момент времени.

vector(dx,dy) — переместить перо графопостроителя из данной точки с координатами (x, y) в точку с координатами (x + dx, y + dy).

setcolor(color) — установить цвет чернил, определяемый значением параметра color; возможные (допустимые) значения этого параметра таковы: ' b ' (голубые цвет), ' r ' (красный цвет), ' k ' (черный цвет), ' w '

(белый цвет), ' none ' (подача чернил отсутствует)

48

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]