Содержание:
Введение ……………………………………………………………………..............................3
- Основные принципы автоматного программирования (АП)…….5
- Игра «Морской бой» ……………………………………………….....................7
2.1. Общие правила и исходная диспозиция ………………………..............…7
2.2. Автоматное управление игрой …………………………………..................….9
2.3. Программная реализация проекта………………………................……….13
- Обсуждение результатов анализа АП…………..…..........………………15
Заключение ……………………………………………………………...........................…. 16
Список литературы …………………………………………….........................…………17
Приложение…………………………………………………………............................……..18
Подход к программированию, называемый автоматным программированием (АП), активно развивается начиная с 1990-91г.г. главным образом в работах Шалыто А.А. (1,2,3,4) и Кузнецова Б.П. (5). К этому же направлению можно отнести работы Любченко В.С. (6), в которых развивается, так называемое, конечно-автоматное программирование (КА- программирование).
Насколько можно судить по указанным работам толчком к развитию АП явились два фактора:
- успешное применение конечных автоматов при разработке и реализации трансляторов, точнее говоря, лексической фазы трансляторов (10), и
- не менее успешное применение конечных автоматов для построения программ логического управления (11).
В самом общем виде, автоматное программирование, иначе называемое так же«программированием от состояний» или «программированием с явным выделением состояний» трактуется как метод разработки программного обеспечения, основанный на расширенной модели конечных автоматов и ориентированный на создание широкого класса приложений (4).
Пример кода:
//=====================================================================================
//функция проверяет свободна ли клетка поля и смежные с ней клетки
function Freedom (x, y: Integer; Field: Tfield): Boolean;
const d: array[1..8,1..2] of Integer =
      ((0,1),(1,0),(0,-1),(-1,0),(1,1),(-1,1),(1,-1),(-1,-1));
var i: Integer;
    dx, dy: Integer;
begin
  if (x > 0) and (x < 11) and (y > 0) and (y < 11) and (Field[x,y] =-1) then
  begin
    for i := 1 to 8 do
    begin
      dx := x + d[i,1];
      dy := y + d[i,2];
      if (dx > 0) and (dx < 11) and (dy > 0) and (dy < 11) and (Field[dx,dy] >-1) then
      begin
        Freedom := False;
        Exit;
      end; {if}
    end; {for}
    Freedom := True;
  end else Freedom := False;
end; {func Freedom}
//=====================================================================================
Содержание архива:
- исходный код на Delphi 7
- пояснительная записка к курсовой работе (29 страниц)
 
                     
                                         
                                         
                                         
                                         
                                         Телеграм
                                Телеграм
                             
                
-