Разработка программы, моделирующей алгоритм работы машины Тьюринга

Основы объектно-ориентированного программирования. Методы применения готовых компонентов для решения практических задач. Создание программы, реализующей процесс поиска и отслеживания положения экстремума простейших унимодальных функций с течением времени.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 23.06.2016
Размер файла 602,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

while redt3.Lines[t] <> '' do //пока не конец данных удалять

begin

zapoln(redt3.Lines[t], ' '); Inc(t);

end;

if edt1.Text <> '' then //если изменена позиция на ленте

begin

Val(edt1.Text, t, k);

if k<>0 then

begin

Showmessage('Неверный синтаксис команды! Проверьте правильность набора и повторите ввод.');

exit

end;

if StrToInt(edt1.Text)>len-1 then //если выход за границы ленты

begin

Showmessage('Выход за границы ленты! Измените параметры команды.');

Exit;

end;

if flag then Exit; //если неправ. ввод чисел

poss:= StrToInt(edt1.Text); i:= (poss div 51)*51;

Form1.perezap_R(i); //перезапись с эл-та №i

Form1.trckbr1.Position:= poss - i; prib:= 0;

end

else

begin

if flag then Exit;

if len-1>=(poss+prib) then //если изменённая длина ленты >= исходной дл.

begin

i:= (poss+prib)-Form1.trckbr1.Position;

Form1.perezap_R(i);

end

else begin //иначе занесение в таблицу последних 51 ячеек

for t:= 0 to 50 do

begin

// Form1.lv1.Columns[t].Caption:= mas[len-1-50+t];

//Form1.lv2.Columns[t].Caption:= IntToStr(len-1-50+t);

Form1.lv3.Cells[t, 0]:= mas[len-1-50+t];

Form1.lv3.Cells[t, 1]:= IntToStr(len-1-50+t);

Application.ProcessMessages

end;

Form1.trckbr1.Position:= 50;

poss:= len-1; prib:= 0;

end;

end;

Val(edt3.Text, t, k);

if k<>0 then //Если неправ. команда

begin

k:= 0; ShowMessage('Неправильный ввод данных. Повторите ввод'); exit

end;

c:= t; //Пауза между командами

end;

///Заполнение ленты

procedure TForm2.zapoln(st: string; o_i: char);

var

i, n, m, k: Integer;

s, str: string;

begin //занесение в s очередной строки

i:= 1; s:= ''; s:= s+Trim(st); Insert(' ', s, 1);

while i<= length(s) do //пока тек. № эл-та <= длины строки

begin

if s[i]=' ' then

begin //Выделение числа из строки

Inc(i);

repeat

str:= str+s[i];

Inc(i);

until (s[i] = ' ')or(s[i] = '-')or(s[i]=#0);

Val(str, n, k);

if k<>0 then

begin

Showmessage('Неверный синтаксис команды! Проверьте правильность набора и повторите ввод.');

exit

end;

n:= StrToInt(str); m:= StrToInt(str); str:= '';

end;

if s[i] = '-' then

begin //выделение числа из строки(диапазона)

Inc(i);

repeat

str:=str+ s[i];

Inc(i);

until (s[i] = ' ')or(s[i]=#0);

Val(str, m, k);

if k<>0 then

begin

Showmessage('Неверный синтаксис команды! Проверьте правильность набора и повторите ввод.');

exit

end;

m:= StrToInt(str); str:= '';

end;

if m>len-1 then //если число > границы ленты, то стоп

begin

Showmessage('Выход за границы ленты! Измените параметры команды.');

flag:= true; Exit;

end;

for k:=n to m do //внесение эл-тов в соответств. ячейки

mas[k]:= o_i;

end;

end;

procedure TForm2.FormCreate(Sender: TObject);

begin

edt2.Enabled:= False;

end;

///Возможность изменения длины ленты

procedure TForm2.chk1Click(Sender: TObject);

begin

if chk1.Checked then

edt2.Enabled:= True

else edt2.Enabled:= False;

end;

///Отмена

procedure TForm2.btn2Click(Sender: TObject);

begin

Close;

end;

///Обновление данных

procedure TForm2.FormActivate(Sender: TObject);

begin

edt1.Text:= IntToStr(poss+prib); //тек. позиция

edt2.Text:= IntToStr(len) //тек. длина ленты

end;

end.

unit Unit6; //О разработчике

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, ExtCtrls;

type

TForm6 = class(TForm)

pnl1: TPanel;

lbl1: TLabel;

lbl2: TLabel;

pnl2: TPanel;

lbl3: TLabel;

lbl4: TLabel;

pnl3: TPanel;

lbl5: TLabel;

lbl6: TLabel;

pnl4: TPanel;

lbl7: TLabel;

lbl8: TLabel;

pnl5: TPanel;

lbl9: TLabel;

lbl10: TLabel;

lbl11: TLabel;

btn1: TBitBtn;

procedure btn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form6: TForm6;

implementation

{$R *.dfm}

///Закрыть

procedure TForm6.btn1Click(Sender: TObject);

begin

close

end;

end.

Основная программа:

program Project1;

uses

Forms,

Unit1 in 'Unit1.pas' {Form1}, //Осн. программа

Unit2 in 'Unit2.pas' {Form2}, //Настройки

Unit6 in 'Unit6.pas' {Form6}; //О разработчике

{$R *.res}

begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.CreateForm(TForm2, Form2);

Application.CreateForm(TForm6, Form6);

Application.Run;

end.

Приложение 2

Руководство пользователя

1. Запуск программы.

После запуска программы перед пользователем появится следующее окно:

Рис. 10. Окно программы

Опишем основные компоненты программы:

§ В верхнем правом углу экрана дан набор команд и их значения. Этими командами осуществляются все необходимые для реализации алгоритмов действия.

§ В левом углу располагается окно, куда непосредственно вводятся команды, каждая с новой строки. Ниже находится окно для заметок по выполняемому алгоритму.

§ Внизу находится сама "лента", воспроизводящая при нажатии на кнопку "Пуск", все введённые команды. Также по бокам имеются кнопки, позволяющие просматривать "ленту".

2. Окно «Настройки»:

В главном меню на закладке "Настройки" имеется возможность: задать положение ползунка, изменить длину ленты, удалить или установить элементы как в отдельной ячейке, так диапазону ячеек. Номера ячеек отделяются пробелами, а чтобы указать диапазон используется дефис. При написании не должно быть пустых строк. Оно имеет вид:

Рис. 11. Окно «Настройки»

3. Основное меню:

Оно имеет вид:

Рис. 12. Меню «Файл»

Рис. 13. Меню «Помощь»

4. Сохранение и примеры:

Также возможно сохранить введённые команды, примечания и команды из "Настройки" и открыть ранее сохранённый проект. Для этого необходимо выбрать соотетствующие пункты из меню-файл.

5. Меню «Помощь»:

При выборе в меню «Помощь» пункта «Справка» откроется файл-справка в формате chm.

Кликнув мышкой по пункту «О разработчике» появится окно, содержащее информацию о разработчике данного программного средства:

Рис. 14. «О разработчике»

Размещено на Allbest.ru

...

Подобные документы

  • Создание программы на языке объектно-ориентированного программирования С++, реализующей построчный перевод текста (по словам) с английского на русский. Описание алгоритма решения задачи. Основные функции программы, примеры результатов ее работы.

    отчет по практике [527,5 K], добавлен 10.04.2016

  • Создание программы, реализующей игру "Линии". Среда разработки программы, описание ее общего вида. Основные алгоритмы программы. Реализация программы в среде разработки Microsoft Visual Studio 2008 на языке объектно-ориентированного программирования С++.

    курсовая работа [639,0 K], добавлен 16.03.2012

  • Принципы работы и основы программирования машины Тьюринга, а также перечень правил написания алгоритмов на ее эмуляторе. Особенности решения задачи по сложению нескольких чисел в двоичной системе путем реализации ее алгоритма на эмуляторе машины Тьюринга.

    контрольная работа [82,4 K], добавлен 05.12.2010

  • Разработка прикладной программы для операций создания и уничтожения объектов в системе визуального объектно-ориентированного программирования C++Builder. Алгоритм работы программы, набор функций и операторов, компонент и модулей, кнопки событий.

    дипломная работа [672,5 K], добавлен 16.08.2012

  • Создание блок-схемы алгоритма и реализующей его программы, снабженных пояснениями, для решения задач. Реализация программы в среде Delphi как проекта консольного приложения. Основные алгоритмические структуры, соответствующие операторы для их реализации.

    контрольная работа [447,4 K], добавлен 08.10.2012

  • Инфологическое проектирование базы данных "Читальный зал" в среде СУБД MS Access. Расширение теоретических и практических знаний по использованию готовых и созданию собственных БД, применяя систему объектно-ориентированного программирования Delphi.

    курсовая работа [3,8 M], добавлен 10.12.2013

  • Разработка игры "Экзамен" с применением объектно-ориентированного программирования и языка Java (в среде Eclipse Helios). Структура программы и алгоритм решения задачи. Описание методов и переменных. Экспериментальное тестирование и оценка программы.

    курсовая работа [122,5 K], добавлен 19.05.2011

  • Создание программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С# средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Определение математического аппарата, применение его в задаче.

    курсовая работа [500,4 K], добавлен 13.01.2015

  • Характеристика основных принципов объектно-ориентированного программирования. Этапы разработки программы на языке C++, реализующей игру "Морской бой". Выбор языка программирования. Характеристика необходимых классов, наследований, виртуальных методов.

    курсовая работа [657,6 K], добавлен 17.06.2012

  • Особенности объектно-ориентированного программирования. Основные возможности языка программирования Java, классификация платформ. Создание программы, обеспечивающей вычисление арифметических выражений. Руководство пользователя и характеристика функций.

    курсовая работа [1,2 M], добавлен 07.07.2012

  • Теоретические основы объектно-ориентированного языка программирования Delphi, изучение среды визуального проектирования приложений. Определение 40-го числа Фибоначчи, составление листинга и блок-схемы программы, тестирование ее на работоспособность.

    курсовая работа [261,1 K], добавлен 25.03.2015

  • Разработка программы логической игры в "крестики-нолики" пять в ряд на поле размера 15х15 клеток с применением графики на языке Pascal с использованием объектно-ориентированного программирования. Структура алгоритма программы и описание ее работы.

    курсовая работа [821,5 K], добавлен 13.02.2012

  • Характеристика структурированного языка программирования С, его основных структурных компонентов, области памяти, библиотеки. Методы поиска в массивах данных. Описание программы, функции сортировки и меню выбора, последовательного и бинарного поиска.

    курсовая работа [1,7 M], добавлен 19.05.2014

  • Разработка приложения "Калькулятор с переходом в строковый калькулятор" с применением объектно-ориентированного программирования. Концепция и понятия объектно-ориентированного программирования. Язык программирования Java. Листинг программы "Калькулятор".

    курсовая работа [966,9 K], добавлен 11.02.2016

  • Определение назначения и описание функций дискового кэша как промежуточного буфера с быстрым доступом к информации. Процесс кэширования внешних накопителей. Построение алгоритма, описание интерфейса и разработка программы для работы с двусвязным списком.

    курсовая работа [2,1 M], добавлен 21.01.2014

  • Разработка программы для рисования различных правильных многоугольников с помощью объектно-ориентированного языка программирования. Использование для разработки среды C++ Builder 6 и библиотеки VCL. Разработка интерфейса приложения и алгоритма его работы.

    курсовая работа [616,4 K], добавлен 18.10.2010

  • Осуществление работы разрабатываемой программы на основе алгоритма, использующего Z-буфер. Аналитическое описание программной реализации. Алгоритмы основных функций программы. Содержание руководства пользователя. Файлы программы, пункты главного меню.

    курсовая работа [1,7 M], добавлен 15.04.2015

  • Общая характеристика объектно-ориентированного подхода в программировании, его основные свойства и принципы. Разработка программы для автоматизация деятельности кафе на основе объектно-ориентированного подхода, проектирования и реализации схемы данных.

    курсовая работа [1,2 M], добавлен 22.01.2012

  • Изучение методик языка Javascript по формализации и решению поставленной задачи, технологических приемов разработки программ на языке Javascript, HTML, CSS. Формально определение машины Тьюринга, распознающую язык. Ее программная модель, протоколы работы.

    курсовая работа [220,7 K], добавлен 03.03.2015

  • Исследование принципов объектно-ориентированного программирования на базе языка программирования С++. Разработка программного комплекса для ведения учёта памятников города. Описание процессов сортировки, поиска, формирования статистики по памятникам.

    курсовая работа [782,4 K], добавлен 26.05.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.