Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Obrazets oformleniya kursovoy raboti.205.pdf
Скачиваний:
6
Добавлен:
07.03.2016
Размер:
471.39 Кб
Скачать

Образец оформления курсовой работы по дисциплине ПРОГРАММИРОВАНИЕ НА ЯВУ

3 Метод решения

Задачу о составлении кроссворда можно разбить на три блока:

1.блок ввода

2.блок поиска решения

3.блок вывода

Ввод данных можно организовать двумя способами:

1)из файла;

Для этого необходимо

определить структуру входного файла:

1 строка – размер матрицы – шаблона (N) (целое число);

2строка – 1-ая строка матрицы из ‘_’ и ‘#’ (без пробелов и знаков препинания);

3строка - 2-ая строка матрицы из ‘_’ и ‘#’;

....................................................................

N+1 строка – N-я строка матрицы из ‘_’ и ’#’; N+2 строка – первое слово из множества слов; N+3 строка – второе слово и т.д.

организовать ввод имени файла:

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

читать данные из файла.

2)в режиме диалога (ввод с клавиатуры).

Для организации ввода данных с клавиатуры необходимо:

ввести размер матрицы;

ввести матрицу;

ввести количество слов;

ввести слова.

Для проверки возможности составления кроссворда по заданному шаблону и набору слов необходимо выполнить инициализацию ряда переменных: массив, в который будет записан вариант кроссворда, и массив слов шаблона кроссворда. В каждую ячейку массива варианта кроссворда записывается символ слова и номер слова, из которого взят символ, если ячейка располагается на пересечении двух слов, то номер слова соответствует первому вписанному в эту ячейку символу слова. При инициализации все ячейки заполняются символами ‘#’ и номерами 0. Массив слов шаблона кроссворда представляет собой одномерный массив, в каждую ячейка которого записывается номер слова по вертикали, номер слова по горизонтали, глина слова, ориентация слова (слово расположено по вертикали или по горизонтали). При инициализации данного массива просматривается шаблон кроссворда: по строкам (ищутся все слова,

Образец оформления курсовой работы по дисциплине ПРОГРАММИРОВАНИЕ НА ЯВУ

расположенные по горизонтали) и по столбцам (ищутся все слова, расположенные по вертикали).

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

1Проверить, хватит ли слов для заполнения кроссворда: Для этого необходимо подсчитать количество слов в кроссворде и количество слов из заданного множества с учетом их длины. Если количество заданных слов некоторой длины меньше, чем количество слов в кроссворде этой длины, то кроссворд составить невозможно.

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

3Если перебраны все варианты, а кроссворд остался незаполненным, то составить кроссворд из такого набора слов и такого шаблона кроссворда невозможно.

Вывод результата предполагает либо вывод одного варианта заполнения кроссворда, либо сообщение о том, что кроссворд составить невозможно.

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