
- •2014Г, Сочи
- •1. Представление о теории графов
- •1.1. История возникновения теории графов
- •1.2. Задача проблемы семи мостов Кёнигсберга
- •1.3. Проблемы семи мостов Кёнигсберга
- •1.4. Дальнейшая история мостов Кёнигсберга
- •1.5. Основные теоремы теории графов
- •1.6. Изображения графов на плоскости
- •1.7. Теория графов в информатике (Граф-схема алгоритма)
- •2.1.Описвание программы Pascal
- •2.2. Описание кода программы написанного мной
- •2.3. Граф-схема алгоритма созданного мной
- •2.2 Граф схема моего алгоритма
- •2.4 Описание программа Delphi.
- •Приложение.
2.2. Описание кода программы написанного мной
В данной программе используется две библиотеки: SysUtils и Windows. CharToOem(PChar(aStr), PChar(Result)); Это функции библиотеки виндовс, которые изменяют язык моей программы на русский.
Что нужно применить в программе пишут после фразы uses.
Пример:
uses
Windows,
SysUtils;
В данном случае.
За uses в коде идет var, где указываются переменные. Они используются, чтобы хранить в себе определенное значение и могут иметь собственное название.
Программа начинает выполнять указанные действия после фразы begin. Здесь указаны первые переменные, необходимые для начала работы a1 и np. k используется для работы цикла, а np (node position) говорит программе какой узел использовать.
После указания необходимых переменных программа выводит нам свои данные, а затем ждет, когда пользователь все прочтет. Когда будет нажата необходимая клавиша. Чтобы это реализовать используется команда writeln и readln. Writeln позволяет вывести в окно консоли текст или переменную. Он указывается в скобках, где текст помечается кавычками. Так, например, можно вывести переменную и текст:
Writeln(‘Резулльтат:’, a)
Для разграничения текста и переменной при выводе информации используется также и запетая.
Readln в программе используется как для приостановки программы, так и для запоминания программой переменных. Различить когда эта команда выполняет какое действие просто. Если написать readln;, то это пауза, а если readln(a);, то программа сначала приостановится для того, чтобы можно было ввести определенную переменную. При нажатии клавиши Enter программа продолжится, но если нужно было ввести переменную, а она не была введена, то это будет проигнорировано. Программа не продолжится, если была случайно нажата клавиша enter или другая ненужная переменная.
После этого начинается цикл.
Здесь говориться, что пока переменная F равна единице, то цикл будет работать. Его начало и конец обозначаются так:
begin
---
end;
Точка с запятой говорит, что программа должна продолжаться. Точка ставиться в конце программы после последнего end.
Далее рассмотрим цикл. В нем мы использовали теорию графов, значит, этот граф должен начинаться с какого-то узла. Нам известно, что узлы обозначаются с помощью np, значит ищем первый узел. Он начинается так:
If (np=1) then
Что значит, если переменная равна единице, то выполняется следующие действия. Но нам нужно переходить с одного узла на другой. Для этого мы спрашиваем пользователя, что делать дальше. Он вводит число, а дальше программа выполняет указанные действия.
Рассмотрим данный узел:
if (np=1) then
begin
writeln(StrAnsiToOem('Вы Мужчина(1) или Женшина(2)')); Readln(a1);
if (a1=1) then
begin
Writeln(StrAnsiToOem('Хорошо,вы потвердили что вы Мужчина! Приятного тестирования.'));
np:=2;
Readln;
end
else
if (a1=2) then
begin
Writeln(StrAnsiToOem('Хорошо,вы потвердили что вы Женчина! Приятного тестирования.'));
np:=2;
Readln;
end else
В начале вводим некоторые данные, затем спрашиваем, какое действие вы выберите. В этом случаи программа анализирует переменную d. Если она равна 1 или 2, то мы переходи на второй узел, а если 3,4, то на первый. В конце стоит else. Это обязательная часть узла. Без нее программа запутается и не сможет нормально работать. else (иначе) используется для перехода на дугой узел. В самом начале говорится, что если np=1 то делаем следующее, а else говорит, что если это не так, то сверяемся со следующим узлом. И так до конца.
Но цикл начинался не с условия if (np=1) then. До него стоят еще 2 других. Это контрольный точки в игре. Если по ходу игры вы сделали не то, что нужно, то программа перекинет вас на нужный узел (-1,0). Дальше просто. Если хотим продолжить, то выбираем да, а если нет, то выбираем нет.
Затем мы переходим по узлам, где все, кроме сюжета, однообразно. Интерес возникает, когда начинается математическое тестирование.
И, если мы хотим повторить попытку и заново попробовать пройти тест на сложном уровне, то на вопрос хотите попробовать сложный уровень соглашаемся, ну а если нет, то отказываемся.