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

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

6.2 Частные алгоритмы

6.2.1Алгоритм проверки возможности составления кроссворда

1.Инициализация массива варианта построения кроссворда (в каждую ячейку в поле ch заносим символ ‘#’, в поле numberWord – значение 0).

2.Подсчет количества слов определенной длины в шаблоне и в списке.

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

4.Если слов хватает, то проверить возможность вписать слова в ячейки.

6.2.2Алгоритм проверки возможности вписать слова в шаблон

i:=1

j:=0

пока (i<=num) и (i>0) вып

j:=номер не меньше 1+j слова из списка длины Listi.dlina если j<>0 то

поместить i в стек p:=true wordsj.pr:=true

если (krwordList[i].InI,List[i].InJ.NumberWord=0) или (krwordList[i].InI,List[i].InJ.ch=wordsj.word1) то

krwordList[i].InI,List[i].InJ.ch:=wordsj.word1

если krwordList[i].InI,List[i].InJ.NumberWord=0 то krwordList[i].InI,List[i].InJ.NumberWord:=j

кон_если l:=1

пока (listi.dlina>l) и p вып если Listi.Horizont то

если (krwordList[i].InI,List[i].InJ+l.NumberWord=0) или (krwordList[i].InI,List[i].InJ+l.ch=wordsj.word1+l) то krwordList[i].InI,List[i].InJ+l.ch:=wordsj.word1+l если krwordList[i].InI,List[i].InJ+l.NumberWord=0 то

krwordList[i].InI,List[i].InJ+l.NumberWord:=j

кон_если иначе p:=false

кон_если иначе

если (krwordList[i].InI+l,List[i].InJ.NumberWord=0) или (krwordList[i].InI+l,List[i].InJ.ch=wordsj.word1+l ) то

krwordList[i].InI+l,List[i].InJ.ch:=wordsj.word1+l если krwordList[i].InI+l,List[i].InJ.NumberWord=0 то

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

krwordList[i].InI+l,List[i].InJ.NumberWord:=j

кон_если иначе p:=false

кон_если кон_если l:=l+1

кон_пока иначе p:=false

кон_если если p то

i:=i+1

j:=0

иначе

извлечь номер слова из стека в переменнуюj wordsj.pr:=false

l:=1

пока l<= k вып z:=1

пока z<= k вып

если krwordl,z.numberWord=j то krwordl,z.numberWord:=0

кон_если z:=z+1

кон_пока l:=l+1

кон_пока l:=0;

кон_если иначе

извлечь из стека номер слова в переменную j wordsj.pr:=false

l:=1

пока l<= k вып z:=1

пока z<= k вып

если krwordl,z.numberWord=j то krwordl,z.numberWord:=0

кон_если z:=z+1

кон_пока l:=l+1

кон_пока

i:=i-1

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

l:=0

кон_если кон_пока

6.2.3 Алгоритм поиска слов в шаблоне

num:=0

i:=1

пока i<=k вып w:=false len:=0

j:=1

пока j <= k вып

если (kwordi,j=0) и not w то num:=num+1

Listnum.InI:=i

Listnum.InJ:=j Listnum.Horizont:=true w:=true;

кон_если

если kwordi,j=0 то len:=len+1

кон_если

если (kwordi,j=1) и w то если len>1 то

Listnum.Dlina:=len иначе num:=num-1

кон_если len:=0 w:=false

кон_если j:=j+1

кон_пока если w то если len>1 то

listnum.dlina:=len

иначе num:=num-1

кон_если кон_если i:=i+1

кон_пока j:=1

пока j<=k вып

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

w:=false

len:=0

i:=1

пока i <= k вып

если (kwordi,j=0) и not w то num:=num+1

Listnum.InI:=i

Listnum.InJ:=j Listnum.Horizont:=false w:=true;

кон_если

если kwordi,j=0 то len:=len+1

кон_если

если (kwordi,j=1) и w то если len>1 то

Listnum.Dlina:=len иначе num:=num-1

кон_если len:=0 w:=false

кон_если i:=i+1

кон_пока если w то если len>1 то

listnum.dlina:=len

иначе num:=num-1

кон_если кон_если j:=j+1

кон_пока

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