Первый тип задач, задачи типа «кто есть кто?» решаются с помощью трех из описанных методов. Это метод рассуждений, метод таблиц и метод графов. Самые простые можно решить с помощью метода рассуждений, то есть не делая никаких записей, так как все умозаключения можно производить в уме. Если данных больше, или если для решения задачи необходимо представить материал более наглядно, используются метод таблиц и метод графов. Таблица дает возможность объединить все данные задачи и делать пометки на каждом этапе решения. Графы удобны соей наглядностью. Однако зачастую ими неудобно пользоваться при решении задач с большим количеством исходных данных из-за чрезмерной громоздкости.
Задачи «на переливание» решаются с помощью метода блок - схем и метода математического бильярда. Преимущество метода математического бильярда в том, что он является более наглядным, так как суть метода в том, чтобы интерпретировать действия движениями бильярдного шара. Однако этот метод бывает сложным для понимания, и тогда вместо него используют более простой метод блок - схем.
Глава II. Практическая часть. Разработка сайта и тестирующей программы
2.1 Сайт с описанием методов решения логических задач
Как уже было сказано в введении, одной из задач моего диплома было создание сайта с описанием методов решения логических задач для удобства ознакомления с ними. Сайт был написан на языке HTML с использованием элементов JavaScript, так как HTML прост в использовании и изучении и является стандартным языком разметки веб - страниц.
Моей целью было представление информации, содержащейся в теоретической части дипломной работы в более удобной для ознакомления форме, поэтому на сайте есть некоторые элементы, которые облегчают доступ к необходимой информации, такие как текстовые ссылки и разделение станицы на связанные фреймы.
На основной странице сайта расположены три связанных фрейма (рис.1)
Рис.1
Верхний фрейм содержит заголовок и бегущую строку с приветственной фразой (декоративный элемент), задаваемой тегом <marquee>. Программный код этого фрейма представлен в Приложении 1.
В нижнем левом фрейме расположен список методов решения логических задач, рассматриваемых в дипломной работе. Название каждого метода представляет собой ссылку на его описание, отрабатываемую в нижнем правом фрейме. Для создания ссылок был использован тег <a href>, а также одно из его основных свойств - свойство target. Также в качестве элемента декоративного оформления текста была использована функция, написанная на JavaScript. Программный код нижнего левого фрейма представлен в Приложении 2.
2.2 Тестирующая программа
Вторая половина теоретической части моего диплома - программа, позволяющая проверить знания, полученные в результате изучения теоретической части работы. Программа написала в HTML с использованием JavaScript.
Как сказано в введении, я планировала написание тестирующей программы в среде программирования Delphi, однако в ходе работы мной был сделан вывод, что JavaScript больше подходит для создания тестирующей программы в данном случае, так как является прототипно - ориентированным сценарным языком программирования, широко применяемым в создании веб - страниц.
Тестирующая программа представляет собой веб - страницу, на которой размещен тест из пяти задач с несколькими вариантами ответа (рис.2). После прохождения теста программой выставляются две оценки, первая - за правильность решения задач, вторая - за правильность выбора метода решения (рис.3). логический задача сайт тестирующий
Рис.2
Рис.3
В тесте присутствуют задачи на все описываемые в работе методы. Ссылка на тестирующую программу расположена в нижней части фрейма, содержащего ссылки на описание методов на сайте и открывается в отдельном окне. Программный код страницы с тестом представлен в Приложении 3.
Заключение.
В ходе моей работы я достигла своей основной цели: изучить и сравнить различные методы решения логических задач, выполнив поставленные перед началом работы цели:
Изучила подобранную литературу
Описала каждый из методов решения на примере конкретных задач и провела их сравнение
Создала сайт по теме дипломной работы с описанием каждого метода
Написала тестирующую программу для проверки знаний, полученных при прочтении теоретической части моего диплома
Написала отчет о проделанной работе
Составила презентацию результатов исследования в бумажной и электронной формах
Следует добавить, что конечный продукт дипломной работы может быть использован на уроках для ознакомления с методами решения логических задач.
Список литературы
Информатика и ИКТ. Задачник по моделированию. 9-11 класс. Базовый уровень / Под ред. проф. Н. В. Макаровой. - Питер, 2008. - 192 с.: ил.
Информатика и ИКТ. Базовый курс: Учебник для 9 класса / Н. Д. Угринович. - 3-е изд. - М.: БИНОМ. Лаборатория знаний, 2006. - 320 с.: ил.
Программирование в среде Delphi 7. Самоучитель. : - М. : Издательский дом «Вильямс», 2003. - 288 с. : ил.
Логика в информатике /В.Ю. Лыскова, Е.А. Ракитина; М.: Лаборатория Базовых Знаний, 2004. - 160с.:ил.
Приложение 1
<html>
<head>
<title>заголовок</title>
</head>
<body background=f-m.png text=#990045 bgcolor="#FFDCD2">
<h2 align=center>Методы решения логических задач</h2><p>
<center><marquee width=500 height=30 bgcolor=#FFDCD2 direction=left behavior=alternate
scrollamount=3 scrolldelay=9 align=middle>Добро пожаловать на наш сайт!
</marquee></center>
</body>
</html>
Приложение 2
<html>
<head>
<title> ссылки </title>
<SCRIPT>
k=0;
function color()
{cvet=new Array("red","blue","yellow","gold","orange","purple","navy");
head1.style.color=cvet[k];
k++;
if (k==cvet.length)k=0;
setTimeout("color()",200);}
</SCRIPT>
</head>
<body onLoad="color()" background=f2.jpg text=#000098>
<center><img src=k.png align=center width=100 height=83></center><p>
<a href=0.htm target="frame3"> На главную </a><p>
<a>1.Методы решения логических задач</a><p>
<a href=1.htm target="frame3"> Метод рассуждений </a><p>
<a href=2.htm target="frame3"> Метод таблиц</a><p>
<a href=3.htm target="frame3"> Метод графов</a><p>
<a href=4.htm target="frame3"> Метод блок - схем</a><p>
<a href=5.htm target="frame3"> Метод кругов Эйлера</a><p>
<a href=6.htm target="frame3"> Метод математического бильярда</a><p>
<a href=7.htm target="frame3"> Сравнение методов решения логических задач</a><p>
<h3 ID="head1"><i>Вы можете пройти тест на решение логических задач разными методами!</i></h3>
<a href=test_main.htm target=_blank> Тест</a><p>
</body>
</html>
Приложение 3
<html>
<head>
<meta http-equiv="Content-Language" content="ru">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Тест</title>
<script>
function sbros()
{for(i=0;i<5;i++){document.forms[i].reset();}}
function test()
{var re=new Array(7,6,7,8,9);
t=new Array(0,0,0,0,0);
r=0;
k=0;
for(i=0;i<5;i++)
{for(j=6;j<10;j++){if(document.forms[i].elements[j].checked==true)
t[i]=j}}
{if((document.forms[0].elements[0].checked==true)&&(document.forms[0].elements[1].checked==false)&&(document.forms[0].elements[2].checked==true)&&
(document.forms[0].elements[3].checked==false)&&(document.forms[0].elements[4].checked==false)&&(document.forms[0].elements[5].checked==false))k++;}
{if((document.forms[1].elements[0].checked==true)&&(document.forms[1].elements[1].checked==false)&&(document.forms[1].elements[2].checked==true)&&
(document.forms[1].elements[3].checked==false)&&(document.forms[1].elements[4].checked==false)&&(document.forms[1].elements[5].checked==false))k++;}
{if((document.forms[2].elements[0].checked==false)&&(document.forms[2].elements[1].checked==false)&&(document.forms[2].elements[2].checked==false)&&
(document.forms[2].elements[3].checked==true)&&(document.forms[2].elements[4].checked==false)&&(document.forms[2].elements[5].checked==true))k++;}
{if((document.forms[3].elements[0].checked==false)&&(document.forms[3].elements[1].checked==false)&&(document.forms[3].elements[2].checked==false)&&
(document.forms[3].elements[3].checked==false)&&(document.forms[3].elements[4].checked==true)&&(document.forms[3].elements[5].checked==false))k++;}
{if((document.forms[4].elements[0].checked==false)&&(document.forms[4].elements[1].checked==true)&&(document.forms[4].elements[2].checked==false)&&
(document.forms[4].elements[3].checked==false)&&(document.forms[4].elements[4].checked==false)&&(document.forms[4].elements[5].checked==false))k++;}
for(i=0;i<5;i++)
{if(re[i]==t[i])r++};
{alert("Оценка за задачи = "+r+", оценка за выбор методов решения = "+k+".");}}
</script>
</head>
<body bgcolor="FFCCCC">
<form method="POST" action="--WEBBOT-SELF--">
<!--webbot bot="SaveResults" U-File="C:\Users\Nadya-T\Desktop\_private\form_results.csv" S-Format="TEXT/CSV" S-Label-Fields="TRUE" -->
<p><b>Задача 1. </b>Левин, Митерев, Набатов работают в банке, в качестве бухгалтера, кассира и экономиста. Если Набатов - экономист, то Митерев - бухгалтер. Если Митерев - не кассир, то Левин - не экономист. Если Левин - бухгалтер, то Набатов - экономист. Кто какую должность занимает?</p>
<p>Каким методом/методами можно решить данную задачу?</p>
<p><input type="checkbox" name="C1" value="ON">рассуждений
<input type="checkbox" name="C2" value="ON">таблиц
<input type="checkbox" name="C3" value="ON">графов
<input type="checkbox" name="C4" value="ON">блок-схем
<input type="checkbox" name="C5" value="ON">кругов Эйлера
<input type="checkbox" name="C6" value="ON">математического бильярда</p>
<p>Выберите правильный ответ: </p>
<p><input type="radio" value="V9" name="R1">Левин - бухгалтер,
Митерев - кассир, Набатов - экономист</p>
<p><input type="radio" value="V8" name="R1">Левин - кассир, Митерев -
экономист, Набатов - бухгалтер</p>
<p><input type="radio" value="V7" name="R1">Левин - кассир, Митерев -
бухгалтер, Набатов - экономист</p>
<p><input type="radio" value="V10" name="R1">Левин - экономист, Митерев
- бухгалтер, Набатов - кассир</p>
<p> </p>
</form>
<form method="POST" action="--WEBBOT-SELF--">
<!--webbot bot="SaveResults" U-File="C:\Users\Nadya-T\Desktop\_private\form_results.csv" S-Format="TEXT/CSV" S-Label-Fields="TRUE" -->
<p class="MsoNormal"><b>Задача 2. </b>В соревнованиях по гимнастике
участвуют: Аня, Валя, Таня и Даша. Болельщики строят прогнозы:<br>
1) Таня займет I место, Валя - II;<br>
2) Таня займет II место, Даша - III;<br>
3) Аня займет II место, Даша - IV.<br>
По окончании соревнований оказалось, что в каждом предположении только
одно из высказываний каждого болельщика истинно, другое - ложно. Каковы
результаты соревнований, если на каждом месте по одной девушке?</p>
<p>Каким методом/методами можно решить данную задачу?</p>
<p><input type="checkbox" name="C7" value="ON">рассуждений
<input type="checkbox" name="C8" value="ON">таблиц
<input type="checkbox" name="C9" value="ON">графов
<input type="checkbox" name="C10" value="ON">блок-схем
<input type="checkbox" name="C11" value="ON">кругов Эйлера
<input type="checkbox" name="C12" value="ON">математического бильярда</p>
<p>Выберите правильный ответ: </p>
<p><input type="radio" value="V9" name="R1">Аня - 2, Валя - 4,
Таня - 1, Даша - 3</p>
<p><input type="radio" value="V10" name="R1">Аня - 3, Валя - 2, Таня -
3, Даша - 1</p>
<p><input type="radio" value="V11" name="R1">Аня - 2, Валя - 1, Таня -
2, Даша - 4</p>
<p><input type="radio" value="V12" name="R1">Аня - 1, Валя - 3, Таня -
2, Даша - 4</p>
</form>
<form method="POST" action="--WEBBOT-SELF--">
<!--webbot bot="SaveResults" U-File="C:\Users\Nadya-T\Desktop\_private\form_results.csv" S-Format="TEXT/CSV" S-Label-Fields="TRUE" -->
<p><b>Задача 3. </b>
<span style="font-size: 13.5pt; font-family: Times New Roman; color: black">
Как разделить поровну между двумя семьями 12 литров хлебного кваса,
находящегося в двенадцатилитровом сосуде, воспользовавшись для этого
двумя пустыми сосудами: 8-литровым и 3-литровым? В ответе укажите
количество ходов для решения задачи.</span></p>
<p>Каким методом/методами можно решить данную задачу?</p>
<p><input type="checkbox" name="C13" value="ON">рассуждений
<input type="checkbox" name="C14" value="ON">таблиц
<input type="checkbox" name="C15" value="ON">графов
<input type="checkbox" name="C16" value="ON">блок-схем
<input type="checkbox" name="C17" value="ON">кругов Эйлера
<input type="checkbox" name="C18" value="ON">математического бильярда</p>
<p>Выберите правильный ответ: </p>
<p><input type="radio" value="V9" name="R1">3</p>
<p><input type="radio" value="V10" name="R1">5</p>
<p><input type="radio" value="V11" name="R1">6</p>
<p><input type="radio" value="V12" name="R1">8</p>
</form>
<form method="POST" action="--WEBBOT-SELF--">
<!--webbot bot="SaveResults" U-File="C:\Users\Nadya-T\Desktop\_private\form_results.csv" S-Format="TEXT/CSV" S-Label-Fields="TRUE" -->
<p><b>Задача 4. </b><strong>
<span style="font-size:13.5pt;color:black;font-weight:
normal">В трёх седьмых классах 70 ребят. Из них 27 занимаются в
драмкружке, 32 поют в хоре, 22 увлекаются спортом. В драмкружке
10 ребят из хора, в хоре 6 спортсменов, в драмкружке 8 спортсменов; 3
спортсмена посещают и драмкружок и хор. Сколько ребят не поют
в хоре, не увлекаются спортом и не занимаются в драмкружке?</span></strong></p>
<p>Каким методом/методами можно решить данную задачу?</p>
<p><input type="checkbox" name="C19" value="ON">рассуждений
<input type="checkbox" name="C20" value="ON">таблиц
<input type="checkbox" name="C21" value="ON">графов
<input type="checkbox" name="C22" value="ON">блок-схем
<input type="checkbox" name="C23" value="ON">кругов Эйлера
<input type="checkbox" name="C24" value="ON">математического бильярда</p>
<p>Выберите правильный ответ: </p>