Книга за учителя София, 2000 г. Анубис увод


III. ПРИМЕРНИ РАЗРАБОТКИ НА УРОЦИ



страница6/9
Дата24.07.2016
Размер1.19 Mb.
#4801
ТипКнига
1   2   3   4   5   6   7   8   9

III. ПРИМЕРНИ РАЗРАБОТКИ НА УРОЦИ


ИНФОРМАЦИЯ И ИНФОРМАТИКА

С този урок него започва преподаването по дисциплина, за която преобладаващата част от учениците имат съвършено друга нагласа в сравнение с това, с което ще се сблъскат в клас. Учениците очакват в часовете по Информатика (а и в часовете по Информационни технологии) да си ИГРАЯТ С КОМПЮТРИТЕ. Повечето от тях отдавна играят компютърни игри, ползват Интернет и т.н., и гледат на компютъра като на устройство за играене на електронни игри или смятат, че предназначението му е да бъде мултимедиен терминал – изпълнявайки едновременно ролята на вестник, радио (audio player) и телевизия (video player). Реална е опасността, когато се докоснат да сериозните понятия, които трябва да бъдат изяснени в този урок – и по-специално информация и данни, учениците да загубят интерес към предмета. Този момент е критичен и на учителя ще се наложи да положи специални усилия за да го преодолее.

Бихме препоръчали в началото на този урок да дадете възможност на няколко ученика да представят опита си при използване на компютри. Това ще открои сферите на приложение, които са познати на повечето от учениците (предполагаме, че те ще са споменатите по-горе “игри” и “Интернет”) и ще ви ориентира, използването на компютрите в какви други области да изтъкнете, за да обосновете необходимостта от изучаване на информатика.

Ако някой от учениците има опит в различна сфера или познава отблизо работата на някой близък в такава сфера, поощрете го да опише по подробно характера на решаваната задача.

Основни въпроси за изясняване в урока са: разликата между информация и данни и необходимостта от автоматизирана обработка на данни. След като “въведете” понятието информация (точна дефиниция едва ли е възможна), предложете на учениците да опишат различни източници на информация (използвайте и примерите, които учениците са давали в началото на урока) и способите, по които човек я възприема, за да се види колко трудно доловимо нещо е понякога информацията. Подчертайте необходимостта информацията да бъде предавана между хора (включително след време) и учениците може сами да стигнат до идеята за представянето й във формален (in forma) вид – данни.

За да обосновете необходимостта от автоматична обработка пък, насочете дискусията към споменатите в урока дейности, при които се работи с много големи обеми данни – метеорология, световна икономика, преброявания на населението и т.н. Обърнете вниманието на учениците и върху задачи, при които използването на компютър се налага не от големия обем данни, а от ограниченото време за намиране на решението – управление на ядрени и химически реактори, управление на космически апарати и т.н.

От въпросите и задачите в края на урока задайте въпроси 1, 2 и 3. Първият въпрос вероятно няма да затрудни учениците. Постарайте се да бъде споменат поне по един източник за всяко от човешките сетива. Вторият въпрос е по-труден и безусловно ще отведе дискусията към познанията на учениците в областта на природните науки, за да се стигне до извода, че информацията която не възприемаме със сетивата става достъпна благодорение на постиженията на тези науки. В тази посока трябва да бъде търсен и отговорът на третия въпрос – природата е прастически неизчерпаем източник на информация, която тепърва предстои да онкриваме.

Задачите 4 и 5 са подходящи за писмена домашна работа. Можете да предложите на всеки от учениците сам да избере по коя от двете теми да пише и да ги поощрите да не се ограничават само до избраната тема. Нека свободно изразят отношението си към съвременното “информационно” общество и мястото си в него. Привлечете вниманието на учениците върху Резюмето в края на урока. То съдържа накратко основните тези развити в урока, които е добре да се знаят. Можете да проверите усвояването на материала от този урок като в началото на следващия час поискате от учениците да формулират тезите от Резюмето. За да проверите усвояването на материала може да използвате и задачите 6, 7, 8, 10 и 12.

Задача 9 е трудна. Тя изисква обмисляне на сложните отношения “материално-духовно”, “знание-чувство” и т.н. Надяваме се, че учениците ще открият съдържаща се в произведенията на изкуството информация и ще забележат колко трудно може да бъде откриването й, особено в музиката. Произведенията са избрани случайно. Можете спокойно да изберете други според своите предпочитания. Въпрос 11 също не е лесен. Трудно е да си представим, че може да бъде посочена информация, която е абсолютно безполезна. По-скоро ще бъде направен изводът, че всяка информация в определен момент може да се окаже ценна.

В края на този урок може да използвате за да запознаете учениците с правилата на използване на компютърния кабинет в който ще провеждате практическите занятия. Въвеждането на някакъв ред в компютърния кабинет е абсолютно необходимо, за да се използва рационално неголемият хорариум.
КРАЙНИ АЗБУКИ, ДУМИ И ЕЗИЦИ

Този урок по структура не се отличава от урок по математика. В него се дефинират формалните понятия крайна азбука, дума и операциите с думи, (формален) език и операциите с езици. Всички тези понятия имат своите аналози в естествените езици. Те са базови – не използват други понятия, освен повятието множество и наредена последователност от елементи на множество. Затова предполагаме, че урокът няма да представлява методическа трудност. Той е подходящ за класическо лекционно излагане на материала.

Добре е в началото, веднага след “препитването” върху предишния урок, да се подчертае още веднъж необходимостта да се представя информацията във формален вид и, че от векове за тази цел човечеството използва различни множества от знаци и системи за подреждане на тези знаци в конструкции, представящи определена информация. Така естествено могат да бъдат въведени понятията крайна азбука и дума над такава азбука. Може би си струва да се подчертае, че понятията буква и дума в теоретичната информатика се използват в много по-широк от обичайния смисъл. Затова думата в информатиката не винаги е запис на съответна част от говора, както е в естествените езици и не винаги буквите от азбуката съответстват на звуци. Освен това трябва да се подчертае, че начинът на съставяне на думите който използваме в информатиката – като линейна последователност от букви, не е единствено възможен, но е най-естествен и най-ефективен и затова се е наложил.

След този свързващ увод в обичайна лекционна форма могат да се въведат понятията, да се дадат съответни примери (такива в учебника има достатъчно, но нищо не пречи да добавите свои). Отделете достатъчно внимание на операциите с думи и най-вече на лексикографската наредба. Тук може да се постави основата на разбирането за важността на сортирането. Използвайте например телефонния указател. Поискайте от учениците да намерят телефона на човек, като знаят името му. Поискайте след това да намерят на кого принадлежи зададен телефонен номер, за да почустват остро липсата на сортиране по номера в телефонния указател.

В последните два абзаца на първия раздел на урока, отбелязани по съответен начин, са дадени по същество две теореми – за безкрайния брой на думите над крайна азбука и за броя на думите със зададена дължина, които в общия случай не е задължително да преподавате в клас. В никакъв случай не пропускайте тези неща обаче, ако преподавате в профилирана паралелка или класът е с добро ниво по математика. Това са може би първите теореми от областта на дискретната математика – теоретична основа на информатиката, с които учениците ще се сблъскат. Добре е още от този момент те да почустват, че информатиката е специфична математическа дисциплина. Такъв незадължителен (но в никакъв случай не труден) е и предпоследният абзац на урока, в който се дефинират операции с езици.

Започнете упражнението в клас със зад. 1.а.Може да оставите известно време учениците да опитат сами да изредят всички посочени думи и да попитате за броят им. Най-вероятно различни ученици ще посочат различен брой, в зависимост от това доколко са успели да изчерпят възможностите. Тук е моментът да предложите алгоритмична процедура, която поражда всички думи на азбука А със зададената дължина 3:


повтори за (всяка буква x на А)

{ повтори за (всяка буква y на А)

{ повтори за (всяка буква z на А)

{ направи думата xyz

}

}

}



Изпълнете процедурата за да покажете как се получават всичките 8 думи с дължина 3 на азбуката {a,b}: aaa, aab, aba, abb, baa, bab, bba и bbb. Обърнете внимание на учениците, че ако изпълнявате предписанието “за всяка буква ...повтаряй” в естествения ред на буквите в азбуката, ще породите всички искани думи в лексикографски ред. Оставете учениците сами да приложат процедурата, за да решат задача 1.б, а задача 1.в или някоя подобна оставете за домашна работа.

Не пропускайте възможността, когато една задача има алгоритмично рашение, да подчертаете това, да скицирате повече или по-малко формално съответната процедурата и да предложите на учениците да я изпълнят върху пример. Основата на обучението по информатика е познаването и прилагането на алгоритми, а крайната му цел – способността на обучаваните да съставят собствени алгоритмични процедури във някакъв формален вид – например под формата на програми, написани на език за програмиране.

Предложената по-горе няотация (наричана още псевдокод) е пример за това, как може да описвате алгоритмични процедури, преди да сте въвели блок-схемният език (а защо не и след това – не всеки преподавател харесва блок-схемния език). Тази нотация не е задължителна. Тя е направена в стила на езика С и ще бъде подходяща за профилираната подготовка, в която ще се използва този език. Ако тази нотация ви е неудобна, можете да си изработите собствен псевдокод. По-долу даваме и друг пример за записване на алгоритми – не толкова формализиран.

Надяваме се, че задачи 3, 4, 6, 7 и 8 няма да затруднят учениците, ако са разбрали правилно дефинициите на операциите конкатенация, начало, край и среда. Решете някои от тези задачи, доколкото ви позволява времето в клас, или ги оставете за домашна работа. Съсредоточете вниманието си върху задача 9, която предполага използването на алгоритмична процедура. Ако нивото в класа го позволява, може да опитате някой от алгоритмите за сортиране със сравняване и разместване, но в общия случай е рано за такъв опит. Предлагаме ви да използвате следната модификация на процедурата предложена по-горе за решаване на задача 1.а:

1. Разделете зададените думи в групи, така че във всяка група думите да имат една и съща първа буква и подредете групите в съответствие с реда на буквите в азбуката.

2. За всяка група, в която има поне две думи, повторете групирането и подреждането на групите от стъпка 1., но по втората буква.

3. Повтаряйте групирането с третата, четвъртата и т.н. буква докато не остане нито една група с повече от една дума. Получената последователност ще бъде лексикографски подредена.
Нотацията с която сме записали тази процедура не е толкова формална както използвания по-горе псевдокод. Тя се състои от отделни редове (стъпки), които са означени с уникални идентификатори за да могат да бъдат цитирани или да се препраща към тях изпълнението на алгоритъма.

За задача 9.а разделянето по първа буква ще бъде:


{aaab, aa, aab, ababab}, {bab, bbbba, b},
по втора буква:
{aaab, aa, aab}, {ababab}, {b}, {bab}, {bbbba}
а по трета:
{aa}, {aaab}, {aab}, {ababab}, {b}, {bab}, {bbbba}
което е и лексикографската подредба на думите. Не пропускайте да подчертаете, че отсъствието на поредна буква може да се интерпретира като наличие на специална буква, която предшества всички други букви в азбуката. Предложете на учениците сами да решат задача 9.б, а задача 9.в може да оставите за домашна работа.

Задачите 10.а, 10.б и 10.в са подходящи за изпитване в началото на следващия час. Те изискват да може да бъде прилаган алгоритъмат за пораждане на всички думи на азбука със зададена дължина и да бъде проверявано върху всяка от породените думи някакво не много сложно свойство. Бихте могли да съставите и свои задачи от този тип. Задача 10.г е подходяща за контролна работа, защото изисква проверка на не толкова очевидно свойство – просто или не.

Решете в клас или задайте като домашна работа задачи 2.а, 2.б и 2.в ако преподавате на профилирана паралелка. Учениците от профила трябва да свикнат да прилагат с лекота формулата nk за броя на думите с дължина k над крайна азбука с n букви, защото често ще им се налага.

Решаването на задача 5 изисква много добра математическа подготовка, за да може да се формулира и докаже твърдението:  тогава и само тогава когато съществува дума , такава че =m, =n за някои цели положителни числа m и n. Че условието е достатъчно, се вижда лесно и, ако се решите да коментирате тази задача може да спрете до тук. Доказателството на необходимостта е истинско предизвикателство.

Задача 11 не представлява истинска трудност и е отбелязана като такава само за в случай, че не сте въвели операциите с езици.
ЕСТЕСТВЕНИ ЧИСЛА И ПОЗИЦИОННИ БРОЙНИ СИСТЕМИ

Този урок е традиционен за преподаването на предмета информатика. Причината е, че много трудно може да се разбере същността на компютърната техника без познаването на двоичната бройна система, изучаването на която е част от урока. Предизвикателството на урока се състои в това, че болшинството от учениците отъждествяват естествените числа с представянето им в десетична позиционна бройна система. Затова са възможни два подхода – като приемем това отъждествяване или като го отхвърлим.

Отъждествяването по принцип е неправилно – дефинирането на естествените числа не изисква използването на никое от представянията, които наричаме бройни системи. Естествените числа се дефинират като обективно свойство на множествата, които по традиция наричаме крайни и съвсем просто се представят с точки от лъч в равнината, разположени на равни разстояния една от друга. Представянето на естествени числа в позиционни бройни системи се налага от необходимостта да се изпълняват алгоритми с естествени числа – нещо което е практически невъзможно върху числовата ос. За да почувстват учениците тази невъзможност обаче, е необходимо да се откажете от отъждествяването и да въведете понятието естествено число така както е направено в урока.

Трудността на този подход се състои в използването на понятието взаимно-еднозначно съответствие (биекция). Предполагаме, че това понятие е неизвестно за повечето ученици или ако е известно, то не достатъчно. Въвеждането му по формален път би отнело много време, затова в началото на този урок сме дали интуитивна представа за него. Забележете, че в този момент не можем да използваме и понятието брой на елементите на крайно множество, защото броят на елементите е естествено число, което още не сме дефинирали. Всъщност може да се каже, че естествено число и брой на елементите на множество са тъждествени понятия и този непрост факт сме се опитали да представим с няколко примера. Ако се налага потърсете други примери на познати крайни множества с еднакъв брой елементи. Множеството от ръцете на един човек, множеството на краката му, на очите му, на ушите му и т.н. определят едно и също число. В тези примери имате естествената биекция “на лявото око – лявото ухо, на дясното око – дясното ухо”.

От друга страна този подход не би трябвало да е непознат на учениците – навярно в първи клас всеки от тях се е запознал с първите 10 естествени числа по същия начин – цифрите от 0 до 9 са били свързвани с множества със съответния брой елементи. След това бързо се е преминало към десетичната бройна система и същността на естествените числа е била припокрита от представянето им в десетична бройна система.

Дефинирането на операции с естествените числа върху числовата ос показва, че макар и трудно изпълними в това представяне, това са операции които не зависят от основата на системата. Ако дефинирате събирането като операция между десетичните представяния, ще се наложи да използвате основата 10 като параметър. Въвеждането на една непозиционна система като римската показва още по-ясно необходимостта от представяне, в което алгоритмите се изпълняват лесно. Така въвеждаме позиционна бройна система с произволна основа P и в това няма нищо сложно – каквото и да е естественото число P процедурата е една и съща.

За представяне на числата в P-ична позиционна бройна система P трябва да е по-голямо от или равно на “броя на ръцете на човека”. Тази формулировка често предизвиква въпроса: а защо не “2”, вместо “броя на ръцете на човека”. Отговорът е: за да бъдем последователни. И наистина, в този момент нямаме никакво представяне за числото, което съвършено точно е определено от “броя на ръцете на човека”. Тепърва ще избираме основа, цифри и ще представяме числата в избраната система и с избраните цифри.

Тук е мястото да се подчертае, че представянията на естествените числа в позиционни бройни системи са думи над крайната азбука на цифрите на съответната система. И не само представянията на естествените числа – всички математически нотации по същество са думи над някаква крайна азбука Използването на знака за квадратен корен или писането над и под дробна черта създават илюзията, че някои математически нотации имат по сложна структура отколкото простите думи над крайна азбука, но това не е така. Не пропускайте да подчертаете този факт – информатиката и по-специално езиците за програмиране показват как всеки такъв, “нелинеен” на пръв поглед запис, може да се замени с дума на крайната клавиатурна азбука.

Предложеният в учебника формален подход според авторите е задължителен за ученици, които се обучават в профила Информатика. За учениците в задължителна подготовка може да се опита не толкова формален подход. Как би трябвало да изглежда този урок, ако решите да не постъпите формално. Пропуснете началото – въвеждането на естествените числа като характеристика на крайните множества и представянето им на числовата ос.

За дефиниция на естествени числа вземете представянето им в десетична позиционна бройна система, т.е. ще трябва да постулирате че:


N=anan-1 … a0 (10) = an.10n + an-1.10n-1 +… + a0.100, 0ak<10
като сега произходът на израза от дясната страна на равенството може да остане неизяснен. Непременно разгледайте пример изберете 5-цифрено цисло и повторете дефиницията с него:
23987 (10) =20000+3000+900+80+7

=2.10000+3.1000+9.100+8.10+7.1

=2.104+3.103+9.102+8.101+7.100,
за да е сигурно, че учениците разбират смисъла на дефиницията.

Всяка позиционна бройна система с друга основа (може да се ограничите само до основа 2) ще може да дефинирате, като смените в горния израз числото 10 с новата основа.

При този подход ще пропуснете общата процедура с делене и намиране на частното и остатъка, която за произволно естествено число, представено с някое от дефиниращите го множества, намира представяне в позиционна бройна система със зададена основа. Тази процедура ще трябва да предадете, в по-прост вариант, когато описвате алгоритъм за преминаване от десетична в двоична бройна система.

За учениците в задължителна подготовка може да промените алгоритъма за събиране на две числа, като замените P с 10. След това поставете 2 на мястото на 10 за да се види, че алгоритъмът е един и същ в десетична и в двоична система. Това ще бъде добра възможност да се даде на учениците идея за понятието параметър. В указанията към предния урок предложихме два способа за представяне на алгоритми – малко по-формалния “псевдокод” и не толкова формалния “номериран текст”. Алгоритъмът за събиране е представен като номериран текст. Ако преподавате в профила и сте възприели псевдокод, добре е да препишете и представите тази процедура с псевдокод. Ако почувствате, че материалът не е толкова труден за учениците в класа (задължителна подготовка), опитайте да въведете осмична и/или шестнадесетична бройна система. Предполагаме, че след като са работили с две различни позиционни бройни системи, учениците трябва да са почувствали общото на всички такива системи (дори без да е използвано формалното въведение) и работата във всяка нова система няма да ги затрудни много.

Спестеното при такъв подход в задължителната подготовка време може да употребите за решаване на повече задачи – най-вече събиране и умножаване в двоична бройна система, преминаване от десетична в двоична система и обратно. Съставянето на такива задачи е елементарно. Задачи 1, 2, 3, 5а-в, 13 са подходящи за упражнение в клас на учениците от задължителната подготовка. За домашна работа може да зададете някои от примерите на задача 11 и задача 12 или задачи подобни на тези примери – с участие на представяния в различни системи, като може да посочите в каква система да е резултатът.

С учениците от профилираната подготовка не губете много време със задачи 1, 2, 3, 5а-в, 13, а преминете по бързо към задачите 5, 6, 7 и 8.

Използвайте задача 14 и в двете форми на обучението, като непременно направите паралел и подчертаете разликите между лексикографското подреждане на думите, представящи числа и подреждането им според представяните от тях числови стойности. Използвайте като образец процедурата за лексикографско подреждане, която направихме в предния урок. Това което трябва да се добави към нея е само предварително групиране на числата по брой цифри, след това с получените групи постъпваме както при лексикографската наредба, защото от две числа записани в една и съща позиционна система с еднакъв брой цифри по-малко е това, което е по-напред в лексикографската наредба.

Променете числата от примерите на задача 14, като ги направите еднакво дълги с добавяне на водещи нули при по късите числа. Поискайте от учениците да предложат процедура за подреждане на числата по големина – при тази модификация на задачата решението се получава директно от алгоритъма за лексикографско подреждане, защото всички числа са с еднакъв брой цифри.

Задача 15 може да се окаже трудна не защото учениците на знаят процедурата за събиране на повече от две числа, а защото нямат още опит във формалното изписване на процедури. Използвайте тук следния методически подход, който препоръчваме като основна техника и по-нататък – използвайте образец и направете промени в него. Да вземем за образец процедурата за събиране на две числа. Да направим промените ред по ред в алгоритъма:

1) Записваме числата едно под друго (b0 под a0, b1 под a1 и т.н.).

В този ред трябва да добавим в скобите c0 под a0 и b0, c1 под a1 и b1 и т.н., където c0,c1 и т.н.са цифрите на третото число взети отзад напред

2) Намираме сбора a0+b0 в таблицата за събиране. Ако a0+b0


Този ред променяме както следва: Намираме сбора s=a0+b0+c0. Ако s<P, тогава s е цифра – записваме я под a0, b0 и c0. Числото q1 наричаме пренос и в този случай то е 0. Ако sP, тогава s = xP + d0, където d0 е цифра. Записваме d0 под a0, b0 и c0, а над a0, b0 и c0 пишем преноса q1=x.

3) Нека k приема последователно стойностите 1,2,...,n. За всяко k правим следното…

Този ред променяме както следва: Нека k приема последователно стойностите 1, 2,...,n. Намираме сбора s=ak+bk+ck+qk. Ако s<P, тогава s е цифра – записваме я под ak, bk и ck и считаме преноса qk+1 за нула. В противен случай s = xP + dk, където dk е цифра. Записваме dk под ak, bk и ck, а над ak, bk и ck пишем преноса qk+1=x.

4) Преносът qn+1 записваме пред cn само ако не е 0.

Този ред не се променя.

Още по-голямо предизвикателство ще бъде (може да си го позволите само ако преподавате в профила) да модифицирате процедурата така, че да може да събира произволен зададен брой m числа. Това естествено ще наложи цифрите да бъдат записвани с два индекса: aikk-тата цифра на i-тото число, а вместо твърдото s=ak+bk+ck+qk ще се наложи да организирате цикъла:

s=qk

повтори за (i=1,2,…,n) s=s+aik

Подобна и даже малко по-сложна е задачата: да се напише алгоритъм за умножаване на две числа зададени в P-ична позиционна бройна система, която може да се даде за домашна работа на учениците от профила. За задължителната подготовка подходяща задача за домашно е да се модифицара процедурата за събиране на две числа до процедура за изваждане на две числа.


СЪЖДЕНИЯ И БУЛЕВИ ФУНКЦИИ

Този урок също е традиционен за преподаването на информатиката, защото всяка сериозна алгоритмична процедура изисква вземане на решения и това става чрез пресмятане на вярностната стойност на съждения. В сравнение с предишния урок тук методическите проблеми са по-малко, тъй като не се изисква специален математически апарат.

По-сериозна трудност може да срещнете само при въвеждането на понятието съждение. Очевидно е, че ключ към това понятие е понятието функция. Добре е да се подчертае, че и съждението си има някакъв аргумент и той може да приема различни стойности. Този аргумент не винаги се забелязва отчетливо. Вижте например първите съждения с които си служим в урока: “Вали дъжд” и “Вали сняг”. Всъщност това са съжденията “В момента вали дъжд” и “В момента вали сняг” и аргумент на двете съждения е моментът в който се формулират и за който се очаква да се провери вярностната им стойност. Много по-ясни са аргументите на съждението “ak+bk+qk<P”, вярностната стойност на което показва дали ще има пренос при поредната стъпка на алгоритъма за събиране на две числа в P-ична бройна система.

Още една трудност при разбиране на понятието съждение се състои в това, че учениците много трудно си представят функция аргументите и стойностите на която не са реални числа. Отново се сблъскваме с проблем, който вече дискутирахме по-горе. Когато искаме да олекотим определен преподаван материал си позволяваме да заместим с частни случаи, общото понятие. Типичен пример: при преподаване на аритметични операции с естествени числа в ранните класове се казва на учениците че не може (или не бива) да се изважда 7 от 5. Когато после се стигне до работа с отрицателни числа много ученици имат проблеми. Такава форма за олекотяване на материала е източник на много неприятности. В случая неприятността е, че учениците не възприемат дискретните функции като функции (подобни проблеми имат дори студенти в университета).

Ще си позволим да препоръчаме друга концепция, подобна на често използвана в програмирането техника. При разработването на сложни програми често само обозначаваме мястото на по-трудните програмни фрагменти, като оставяме за по-късно написването им. Когато такъв празен (dummy) фрагмент стои в текста той ни напомня, че там трябва да има нещо – не е възможно да забравим за необходимостта от дописването му и не можем да забравим мястото където това трябва да стане. Така според нас трябва да се преподават сложни дисциплини като математика и информатика. Трудностите не бива да се игнорират тотално. По-добре е да се маркира мястото им и да се съобщи на учениците, че там стои нещо трудно обяснимо за момента, но важно, към което ще се наложи в определен момент да се върнат. Това освен технологично е и психологически много по-добре. Ученикът знае за трудноста и когато се чувства готов за преодоляването й, може да се опита да го направи сам.

В този урок по същество трябва да се преподава Булева алгебра (БА), затова търсете винаги, когато е възможно, аналогията с някоя числова алгебра. Например: 0 и 1 са константи в БА така както 0, 1, 2, ... са константите на алгебрата на естествените числа; дизюнкцията и конюнкцията на две булеви стойности са операции в БА, точно както операциите събиране и умножение на естествени числа; дизюнкциятя и конюнкцията са комутативни и асоциативни както събирането и умножението; за разлика от събирането и умножението, конюнкцията и дизюнкцията са идемпотентни и т.н.

Понятието съждителна формула пък е аналог на познатия от алгебрата на числата алгебричен израз. Всъщност това е моментът в който трябва да се обърне много сериозно внимание (за профила е проста задължително) на така важното за информатиката, и най-вече за програмирането, понятие израз. Начинът, по който въвеждаме понятието съждителна формула, е пример за начина, по който може да се въведе понятието формула в произволна алгебра. За учениците от профила си струва да се постави като задача да променят дефиницията на съждителна формула, за да получат дефиниция на алгебричен израз (нещо което не се прави формално.

Еквивалентността на съждителни формули също има пряка аналогия с еквивалентността на алгебрични изрази и извършването на еквивалентни преобразувания в БА се различава несъществено от извършването на такива преобразувания в числовите алгебри. Дистрибутивният закон (разкриването на скоби или изнасянето пред скоби) се прилага както при числови, така и при булеви стойности. Законите на Де Морган приличат на смяната на знака при умножаване с –1. Вместо обичайните правила за приведение на числовите алгебри, булевата има свои, например поглъщането и слепването (вж. задача 7).

Еквивалентността на формули трябва да подскаже на учениците, че има нещо общо, което стои зад всички еквивалентни помежду си формули и това е понятието булева функция. Понятието не е задължително и за преподаването по-нататък е достатъчно учениците да познават съждителните формули. Но отново да си поставим въпроса: какво печелим когато спестяваме на учениците това фундаментално понятие?

Затваряме им възможността да се докоснат до същността, защото (точно както при естествените числа и различните им представяния в бройни системи) формулата е външност, представяне, а същността е стоящата зад нея булева функция. Разбира се всеки преподавател преценява сам за себе се докъде може да си позволи да стигне.

Използването на булеви функции става критично в случаите когато трябва да се напише съждителна формула при повече променливи или когато връзката между променливите е много сложна. В такъв случай е добре първо да се построи таблица на съответната функция, като за всяка комбинация от стойности на променливите внимателно се прецени каква е стойността на функцията и след това се приложи теоремата на Бул. Ако получената формула стане много голяма, може да се опита някакво опростяване. Обмислянето на стойностите на функцията една по една е много по-лесно отколкото да се композира формулата като цяло. Това много често е причина за неправилно работещи програми. Учениците които не ползват описаната техника се опитват да “отгатнат” формулата, като заблудени от по-прости примери, опитват сравнително прости формули и разбира се не могат да достигнат до правилната.

В урока е дадена и техника за доказателство на еквивалентността на формули. Ако не въведете понятието булева функция, ще е по трудно, но не невъзможно да демонстрирате тази алгоритмична по същество техника. Тя се състои в изчисляване на функциите съответни на лявата и дясната част на доказваното тъждество и сравняването им. Техниката не е приложима за доказване на еквивалентност на формули в числовите алгебри, защото там дефиниционните области на функциите са безкрайни, а булевите функции са с крайни дефиниционни области. Тя е много по-лесна от доказването на тъждества с правене на еквивалентни преобразувания. Правенето на еквивалентни преобразувания изисква нюх, техника на смятане, въобще казано сериозни интелектуални усилия и понякога успехът е съмнителен. Доказването със сравняване на стълбовете е чисто алгоритмично и е мното добро упражнение за класическата за информатиката задача: дадена е формула; да се намери стойността на представяната от формулата функция за зададени стойности на аргументите. И накрая, но не по важност, със сравняване на стълбове е еднакво лесно както да се докаже еквивалентност така и да се опровергае – достатъчно е за една комбинация от стойности на аргументите двете функции да са различни.

С тези разсъждения искаме да окуражим учителите да преподават материала в уроците от първата глава. След като беше публикувана първата версия на учебника по Информатика, авторите получиха следния съвършено доброжелателен коментар от учител: “Учебникът е много добър, само махнете от него първите 5 урока”. Отново бихме искали да подчертаем, че това е възможно по принцип, но ако се откажем от тези първи няколко теми, останалото няма да може да се нарече Информатика. И отново да се върнем към наличието на два предмета – Информатика и Информационни технологии. Не е възможно след като са формулирани различни държавни изисквания по двата предмета да се опитваме да ги отъждествяваме.

Задачите 1, 2, 3 и 5 можете да решите в клас. За задача 3 ще се наложи да припомните формулата за броя на думите със зададена дължина над крайна азбука, защото различните комбинации от стойности на n съждителни променливи са думи с дължина n над азбуката {0,1}. Задача 4 може да затрудни учениците, поради причина която подчертахме по-горе – учениците не са свикнали да си представят функцията като таблица (стълб) от стойности. Ако обърнете внимание на факта, че една булева функция се представя като стълб от 2n булеви стойности или което е все едно дума с дължина 2n, тогава ще се

Наложи да се преброят думите с такава дължина над азбуката {0,1}, т.е. да се приложи същата формула за да се види че броят на всички функции на n съждителни променливи е 2 на степен 2n.

Нека учениците да пресметнат по формулата броя на булевите функции за 2, 3, 4 променливи. Нека се опитат да оценят колко са функциите на 5 или 6 променливи за да почустват скоростта на растежа на формулата 2 на степен 2n.

За домашно може да дадете някой от примерите в задачи 6, 7 и 8. За задача 7 не си струва като домашна работа да се повтаря техниката, с която се решават примерите от задача 6, а по-добре е да поискате доказателство с еквивалентни преобразувания. За целта докажете едно от свойствата в клас, а друго дайте за домашна работа. Ето доказателството на слепването от задача 7.а например:
A.BA.~B от дистрибутивното свойство

=A.(B~B) от свойствата на отрицанието

=A.1 от свойствата на константите

=A


Ако давате като домашно някое от поглъщанията, подскажете на учениците да заменят на първа стъпка A със A.1, прилагайки едно от свойствата на константите.

Задача 9 може да дадете за домашна работа. Опростяването на формулата, получена от Теоремата на Бул (нарича се Съвършена дизюнктивна нормална форма на функцията) до т.н. Съкратена дизюнктивна нормална форма е илюстрирано с пример на стр. 38. Примерът показва само математическата страна на минимизацията до съкратена форма, но не и алгоритмичната. След като учениците са опитали да минимизират без да им еказан алгоритъма може да го покажете в следващия час, за да се убедят че с алгоритъм е много по-лесно отколкото с интуитивно прилагане на свойства. Същността на този алгоритъм (известен като алгоритъм на Куйн и МакКласки) e следната:


1. Запишете конюнкциите на съвършената дизюнктивна нормална форма на функцията, която минимизирате в стълб, надписан с (n), където n е броят на променливите на функцията. Нека I=n.

2. Ако в стълба (I) има по-малко от две конюнкции – край.

3. За всеки две конюнкции x.K и ~x.K в стълба (I), които могат да участват в слепване (зад. 7.а), запишете резултата от слепването K в следващия стълб (I-1) на таблицата. Отбележете двете конюнкции като участвали в слепване.

4. Направете I=I-1 и преминете към стъпка 2.


Таблицата на Куайн МакКласки за същия пример ще изглежда така:

(3)

(2)

* ~A.B.C

* A. ~B.C

* A.B. ~C

* A.B.C


B.C

A.C

A.B

Каталог: ed files -> file
file -> Ауто Бавария оод
file -> Допустими участници: Младежки работници, Мениджъри проекти, Координатори едс срок за кандидатстване: 01 юли 2014г
file -> Freedom Fountain: Youth Culture as Expression of Freedom Тип събитие: Семинар/Конференция, 13-17 октомври 2014г в Гърция
file -> Уважаеми колеги, JobTiger и Нестле България
file -> 400 ученици и студенти на кариерния форум „Професиите на бъдещето” в София тех парк
file -> Проект bg051PO001 03-0287 „Стратегически мерки за подобряване условията на труд в Ташев Транс еоод”
file -> Автобиография Собствено име, Презиме, Фамилия лична информация
file -> Фокус. „Всички в час“, Събеседник: Татяна Калканова, дир на Център за развитие на човешките ресурси Водещ


Сподели с приятели:
1   2   3   4   5   6   7   8   9




©obuch.info 2024
отнасят до администрацията

    Начална страница