Математика и Информатика

2016/4, стр. 416 - 431

ОТ СТРУКТУРНО КЪМ ОБЕКТООРИЕНТИРАНО ПРОГРАМИРАНЕ

Христо Крушков
E-mail: hdk@uni-plovdiv.bg
Department of Software Engineering
Faculty of Mathematics and Informatics
University of Plovdiv
236, Bulgaria Blvd.
Plovdiv, Bulgaria

Резюме: Възникнало в края на шестдесетте години на XX век, утвърдило се през осемдесетте години и особено бурно развило се през последното му десетилетие, обектоориентираното програмиране (ООП) се наложи като водещ стил на програмиране в началото на новия век. И докато този стил на програмиране е почти безалтернативен в масовото производство на софтуер, внедряването му в средношколската образователна практика закъснява. В статията са анализирани причините за бавното навлизане на обектоориентираното програмиране в средното училище и е представен подход за смяна на стила на преподаване на дисциплината „Програмиране". Подходът е илюстриран с примерно решение на задача от кандидатстудентски изпит по информатика в ПУ „Паисий Хилендарски", използвайки С#.

Ключови думи: computer science education, object-oriented programming, teaching programming, teaching methodology

Въведение

Обектоориентираното проектиране и програмиране поставиха началото на нова ера в създаването на софтуер. Успешното им съчетаване с трите основни парадигми – процедурна, логическа и функционална, както и със СУБД, е още едно свидетелство за това. Внедряването им в средношколската образователна практика обаче закъснява. Анализ на решения на задачи от кандидатстудентски изпит по информатика през последните три години показва, че над 80% от кандидатите използват т. нар. класически подход, в основата на който стои процедурното структурно програмиране. Причините за бавното навлизане на обектоориентираното програмиране в средното училище са както обективни, така и субективни. Към обективните, на първо място, стои огромната инертност на образователната система. Разработените през 2000 и актуализирани през 2006 г. държавни образователни изисквания за учебно съдържание по „Информатика" и „Информационни технологии" позволяват в обучението „да се прилага както класически, така и обектоориентиран подход за създаване на програмни продукти". Като прибавим и малкия брой часове по информатика в учебния план за задължителна подготовка, се вижда, че основната тежест за смяна на стила на преподаване на програмиране – от структурен към обектоориентиран, пада върху учителя. Това означава, че той трябва, на първо място, сам да овладее този стил на програмиране, да подготви нови учебни материали и методика за преподаването им. Мотивацията да се свърши този голям обем творческа работа, е оставена в ръцете на училищните ръководства и ентусиазма на учителите. Като отчетем нарастващата средна възраст на учителите и намаляващия брой квалифицирани млади преподаватели, мотивирани да преподават информатика, проблемът наистина е тежък.

Университетските преподаватели не можем да се похвалим с подготовката на учебници и помагала, подходящи за различни нива на подготовка по програмиране на база C# и Java. Единственият учебник по информатика за IX – X клас, в който се поставят основите на обектоориентираното програмиране със С#, е издаден през 2013 г. (Manev et al., 2013). При обучение предимно се използват книгите на Светлин Наков и колектив (Nakov et al., 2008; Nakov et al., 2009), които се разпространяват и безплатно в електронен вариант.

Изискването на кандидатстудентски изпит по информатика в ПУ бе програмата да се пише на един от езиците Pascal, C, C++, Basic. Едва от 2014 г. бяха добавени C# и Java. Изоставането по отношение на разширяване възможностите за прилагане на ООП посредством новите ЕП е очевидно. Авторът на тази статия също търпи критика за забавянето и се надява с нея да стартира наваксването.

Смяна на стила на преподаване

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

Както винаги, образованието изостава от съвременните тенденции и с масовото навлизане на компютър „Правец" в България през осемдесетте години голяма част от обучаемите усвоиха умения за работа с Бейсик и писане на „спагети код". Впоследствие през деветдесетте се разви успешно навлизането на структурното програмиране в училище предимно с използването на Turbo Pascal. Голяма част от учителите обаче продължиха да работят с Бейсик, но вече с по-нови версии на „Майкрософт". В повечето случаи не се използваха главните предимства на структурното програмиране, като основен недостатък беше липсата на модулност. Това ясно проличаваше при решаване на задачите от конкурсния изпит по програмиране в ПУ „Паисий Хилендарски". Кандидат-студентите обикновено събираха целия програмен текст в рамките на една главна програма, въпреки че подусловията на задачата явно обособяваха отделните програмни части. Научени на такъв стил на програмиране, вече станали студенти, те трудно успяваха в първи курс да работят с подпрограми. Изключение правеха подготвяните в кандидатстудентските курсове по информатика бъдещи студенти, които усвояваха основите на структурното програмиране по време на курса.

Наскоро представихме1) примерно решение на конкурсна задача по информатика, решена в стил структурно програмиране със С/С++. В настоящата статия ще решим същата задача в обектоориентиран стил със С#. Ще покажем, че е възможен плавен преход между двата стила, като основната разлика е в проектирането на основните компоненти на програмата, докато използваните управляващи конструкции са максимално близки и запазват императивния си характер.

Реалните предимства на ООП се проявяват при по-големите софтуерни проекти. При по-малки задания, и особено при решаването на задача от конкурсен изпит, тези предимства не могат да бъдат усетени. В училище също няма достатъчно време за големи проекти. Това е и главната причина за бавното навлизане на ООП в учебната практика. Набляга се на стандартни типове данни, операции с тях, библиотечни функции, управляващи конструкции и структури от данни. На това ниво няма особено значение с какъв език и в какъв стил ще бъдат практикувани. Започването на обучението по програмиране в обектоориентиран стил обаче би донесло една дисциплина на проектиране, която, добре усвоена в началото, бавно и полека ще носи дивиденти на обучаемите в изкачването на стълбата на професионалното програмиране. Голяма част от проблемите при смяна на стила на програмиране и преподаване са детайлно описани в (Hristov, 2010; Hristov, 2011). Тук ще развием един практически подход, илюстриран с три варианта на решение. Да си припомним условието на задачата.

Условие: Да се състави компютърна програма, подпомагаща обработване на данни за резултатите от изпит по информатика в група от до 40 студенти. За целта:

1. За всеки студент да се въведе следната информация: факултетен номер (знаков низ до 10 знака), име (знаков низ до 40 знака, съдържащ трите имена на студента, разделени с точно един интервал), оценка от изпита (цяло число), име на изпитващ преподавател (знаков низ до 40 знака съдържащ трите имена на преподавателя разделени с точно един интервал);

2. Да се изведе списък на всички студенти, съдържащ факултетен номер, име на студент, оценка от изпита и име на изпитващ преподавател. Списъкът да бъде подреден по факултетен номер (в нарастващ ред). Полетата да бъдат разделени със запетая и един интервал, а името на преподавателя да излиза във вида инициали на името и презимето и фамилия. Например:

0601261050, Иван Димов Колев, 5, Е. П. Гоцев

3. Да се изведе списък на всички студенти, съдържащи в името си „Димо" или „димо". Списъкът да бъде подреден по оценка в низходящ ред, а тези с една и съща оценка – по име на студент (в азбучен ред);

4. Да се въведе информация за три групи от студенти, като се контролира броят на студентите във всяка група да не надхвърля 40. За всяка от тях:

а) да се изведат справките от точки 2 и 3;

б) да се пресметне и изведе на екрана средният успех на студентите, изпитвани от преподавател Е. П. Гоцев.

Да се намери и отпечата най-ниският от трите средни успеха.

Тази задача дава добра представа за нивото, което трябва да се покрие от кандидат-студентите. Те трябва да покажат знания и умения за работа със структури от данни и алгоритми, залегнали в учебните програми. Задачата позволява да се използва както „класически", така и обектоориентиран подход. Дава възможност за демонстрация на естествен преход от единия към другия. Най-добре в началото да се представи решение, което не използва всички предимства на ООП (като капсулиране напр.), а да се наблегне на проектирането и реализирането на класове и обекти. Така обучаемите ще успеят да осмислят превръщането на подпрограмите в локални за класа методи. Ще забележат, че няма съществена разлика при реализацията им, а само в параметрите. Обикновено методите на класовете използват директно полетата на класа, а за подпрограмите тези данни са параметри. Важно е също първоначално да разбере и ролята на метода конструктор. Впоследствие може да се демонстрират капсулирането, удобните методи за вградена сортировка, че даже и възможностите за реализиране на заявки.

Примерни решения на С#

В решенията дефинираме два класа – студент и група от студенти. Полетата на класа Student следват полетата на структурата от класическото решение. Функцията за въвеждане на данни за един студент е заменена от метод конструктор без параметри: Student(). Функцията за извеждане на данни за един студент се заменя от метода OutStudent(). Разликата в дефинициите на методите и функциите е обусловена единствено от разликата в синтаксиса за вход/изход при различните езици за програмиране. Класът Group има едно поле – масив от студенти (групата), конструктор Group(), в който се въвежда действителният брой студенти с контрол на стойността на този брой, методи за въвеждане и извеждане на данни за групата студенти. Тези методи алгорит-мично са копия на функциите, реализирани на С/С++, само че нямат параметри. Масивът, който се обработва, е поле на класа, а действителният брой студенти се извлича динамично.

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

usingSystem;namespaceIzpit2014A//Вариант1{classStudent{publicstringfnom,// факултетенномерime,// имена студентprep,// имена преподавателiniprep;// имена преподавателсинициалиpublicintocenka;//оценкаpublicStudent(){// Въвеждане наданнизаедин студентConsole.Write("Въведетеф.номер:");fnom=Console.ReadLine();Console.Write("Въведетеименастудент:");ime=Console.ReadLine();Console.Write("Въведетеоценка:");ocenka=int.Parse(Console.ReadLine());Console.Write("Въведетеиме напреподавател:");prep=Console.ReadLine();ints1=prep.IndexOf(" "),// Индекснапървиинтервалs2=prep.LastIndexOf(" ");// Индекс напоследенинтервалif(s1<0||s2<0)return;
s1++; //s1е индекснапърва букванавтороимеs2++;//s2 еиндекснапърва букванафамилияiniprep=prep[0]+". "+prep[s1]+". ";// Инициалиiniprep=iniprep+prep.Substring(s2);//Долепяотдяснофамилията}//StudentpublicvoidOutStudent(){// Извежданенаданниза единстудентConsole.WriteLine(fnom+", "+ime+", "+ocenka+", "+iniprep);}//OutStudent};classGroup{Student[]a;publicGroup(){intbr;do{Console.Write("Въведетеброй студенти:");br=int.Parse(Console.ReadLine());}while(br<=0||br>40);a=newStudent[br];}publicvoidInput(){// Въвеждане намасивотстудентиfor(inti=0;i<a.Length;i++){Console.WriteLine("Въведетеданниза"+(i+1)+"-иястудент");a[i] =newStudent();}}//InputpublicvoidOutput(){//Извеждане намасивотстудентиfor(inti=0;i<a.Length;i++)a[i].OutStudent();}//Output}publicvoidSortFnom(){// Възходяща сортировкапоф.номерfor(inti=1;i<a.Length;i++)
for(intj=a.Length-1;j>=i;j--)if(String.Compare(a[j-1].fnom,a[j].fnom)>0){Student pom=a[j];a[j]=a[j-1];a[j-1]=pom;}}//SortFnompublicvoidSortOc()// Низходяща сортировкапоуспех{//При еднакъвуспех,възходящапо именастудентfor(inti=1;i<a.Length;i++)for(intj=a.Length-1;j>=i;j--)if(a[j-1].ocenka<a[j].ocenka||a[j-1].ocenka==a[j].ocenka&&String.Compare(a[j-1].ime,a[j].ime)>0){Student pom=a[j];a[j]=a[j-1];a[j-1]=pom;}}//SortOcpublicvoidSpravka2()// Извеждане настудентисДимо/димо{for(inti=0;i<a.Length;i++)if(a[i].ime.IndexOf("Димо")>=0||a[i].ime.IndexOf("димо")>=0)a[i].OutStudent();}//Spravka2publicdoubleSpravka3()//Изчисляване на среденуспехпри{//"Е.П.Гоцев"intcount=0;doublesum=0;for(inti=0;i<a.Length;i++){if(a[i].iniprep=="Е. П.Гоцев"){sum+=a[i].ocenka;count++;}}if(count>0)returnsum/count;elsereturn0;}//Spravka3
}classProgram{publicstaticvoidMain(string[]args){Group a=newGroup();a.Input();Console.WriteLine("СписъкнаIгрупаподреден поф.номер");a.SortFnom();a.Output();Console.WriteLine("СтудентиотIгрупас Димо/димовимето");a.SortOc();a.Spravka2();Group b=newGroup();b.Input();Console.WriteLine("СписъкнаIIгрупа подреденпоф.номер");b.SortFnom();b.Output();Console.WriteLine("СтудентиотIIгрупас Димо/димо вимето");b.SortOc();b.Spravka2();Group c=newGroup();c.Input();Console.WriteLine("СписъкнаIIIгрупа подреденпоф.номер");c.SortFnom();c.Output();Console.WriteLine("СтудентиотIIIгрупасДимо/димовимето");c.SortOc();c.Spravka2();doublesr1=a.Spravka3();Console.WriteLine("Ср.успехпри Е. П.Гоцев на I група:"+sr1);doublesr2=b.Spravka3();Console.WriteLine("Ср.успехприЕ.П.ГоцевнаIIгрупа:"+sr2);doublesr3=c.Spravka3();Console.WriteLine("Ср.усп.приЕ.П.ГоцевнаIIIгрупа:"+sr3);doublemin=sr1;if(sr2<min)min=sr2;if(sr3<min)min=sr3;Console.WriteLine("Минималенср.успехпри Е.П.Гоцев:"+min);Console.Write("Натиснетеклавиш. ..");Console.ReadKey(true);}}}

Вторият вариант използва частни полета и публични методи-екстрактори за извличане на стойностите на тези полета. Името с инициалите на преподавателя не се съхранява постоянно като поле, а се извлича от метода IniPrep(). Обхождането на всички елементи на масива е реализирано посредством оператора foreach. За сортиране се използва методът Sort на класа Array, като първи параметър е масивът, който се сортира, а втори – т.нар. делегат (обект-метод), който е подобен на указател към функция в C/C++. Делегатът сравнява два обекта по определени критерии и връща подобно на метода String.Compare отрицателна, нулева или положителна целочислена стойност. Ако делегатът върне положителна стойност при сравнение на двата обекта, то те са неправилно подредени и сортировката трябва да смени местата им. Използването на вградени методи за сортиране и делегати не е за препоръчване да се дава на начинаещи, но преподавателят винаги трябва да има възможност да представи повече варианти на напредналите ученици. Последната разлика в това решение е добавянето на поле grID-идентификатор на групата в класа Group. Инициализира се чрез входния параметър на конструктора Group: public Group(string groupID). Това позволява в класа Program да се добави метод Run(Group x), който реализира всички обработки на една група. В главния метод Run се вика три пъти за всяка група.

usingSystem;namespaceIzpit2014A2// Вариант2{classStudent{stringfnom,//факултетенномерime,// именастудентprep;// именапреподавателintocenka;// оценкаpublicstringGetFnom() {returnfnom;}publicstringGetIme() {returnime;}publicstringGetPrep() {returnprep;}publicintGetOcenka() {returnocenka;}publicStudent(){// ВъвежданенаданнизаединстудентConsole.Write("Въведете ф.номер:");fnom=Console.ReadLine();Console.Write("Въведете именастудент:");ime=Console.ReadLine();Console.Write("Въведете оценка:");ocenka=int.Parse(Console.ReadLine());Console.Write("Въведете именапреподавател:");prep=Console.ReadLine();}//InStudentpublicstringIniPrep(){// връщаименапреподавателсинициалиints1=prep.IndexOf(" "),// Индекснапървиинтервал
s2=prep.LastIndexOf(" ");//Индекснапоследенинтервалif(s1<0||s2<0)return" ";s1++;//s1 еиндекснапървабукванавтороимеs2++;//s2 еиндекснапървабукванафамилияstringiniprep=prep[0]+". "+prep[s1]+". ";//Инициалиiniprep=iniprep+prep.Substring(s2);//Долепяотдяснофамилиятаreturniniprep;}//IniPreppublicvoidOutStudent(){//ИзвежданенаданнизаединстудентConsole.WriteLine(fnom+", "+ime+", "+ocenka+", "+IniPrep());}//OutStudent};classGroup{Student[]a;stringgrID;publicstringGetGrID(){returngrID;}publicGroup(stringgroupID){intbr;do{Console.Write("Въведетебройстудентиза"+groupID+"група:");br=int.Parse(Console.ReadLine());}while(br<=0||br>40);a=newStudent[br];grID=groupID;}//GrouppublicvoidInput(){...}//Същияткатовъввариант1publicvoidOutput(){//Извежданенамасивотстудентиforeach(Studentxina)x.OutStudent();}//OutputpublicvoidSortFnom(){//Възходящасортировкапоф.номерArray.Sort(a,delegate(Student x,Student y){returnString.Compare(x.GetFnom(),y.GetFnom());});}//SortFnompublicvoidSortOc()//Низходящасортировкапоуспех{//Приеднакъвуспех,възходящапоименастудентArray.Sort(a,delegate(Student x,Student y){if(x.GetOcenka()!=y.GetOcenka())returny.GetOcenka()-x.GetOcenka();elsereturnString.Compare(x.GetIme(),y.GetIme());});}//SortOcpublicvoidSpravka2(){//ИзвежданенастудентисДимо/димоforeach(Student xina)
if(x.GetIme().Contains("Димо") ||x.GetIme().Contains("димо") )x.OutStudent();}//Spravka2publicdoubleSpravka3(){//Изчисляваненасреденуспехпри"Е.П.Гоцев"intcount=0;doublesum=0;foreach(Student xina){if(String.Compare(x.IniPrep(),"Е. П.Гоцев")==0){sum+=x.GetOcenka();count++;}}if(count>0)returnsum/count;elsereturn0;}//Spravka3}classProgram{publicstaticdoubleRun(Group x){x.Input();Console.WriteLine("Списъкна"+x.GetGrID()+" групаподреденпоф.номер");x.SortFnom();x.Output();Console.WriteLine("Студентиот"+x.GetGrID()+"гр.сДимо/димовимето");x.SortOc();x.Spravka2();doublesr=x.Spravka3();Console.WriteLine("Ср.успехприЕ.П.Гоцевна"+x.GetGrID()+" група:"+sr);returnsr;}//RunpublicstaticvoidMain(string[]args){Group a=newGroup("I");doublemin=Run(a);Group bGroup("II");doublesr=Run(b);ifmin=sr;Group cGroup("III");sr=Run(c);ifmin=sr;Console.WriteLine("Минималенср.успехприЕ.П.Гоцев:"+min);Console.Write("Натиснетеклавиш...");Console.ReadKey(true);}//Main}}

Третото решение демонстрира използването на възможностите на интегрирания в С# език за заявки (Language-Integrated Query). Изисква деклариране на използването на System.Linq: using System.Linq. За улеснение при тестването данните могат да се четат от текстов файл, като първият ред е число, показващо броя на студентите, а всяко поле е на отделен ред. Текстовият файл се разполага в папката, където е изпълнимият файл, и може да се разглежда и редактира отделно с редактор, но трябва да се спазва съответният формат. Името на файла се формира автоматично от стринга „File" с долепен идентификатор на групата и разширение txt. Декларацията за работа с файлове е using System.IO. Добавен е втори конструктор, който чете полетата от текстовия файл: public Student(StreamReader file), както и методи за четене от файла и запис в него.

usingSystem;usingSystem.Linq;usingSystem.IO;namespaceIzpit2014A3// Вариант3{classStudent{stringfnom,// факултетенномерime,// имена студентprep;// имена преподавателintocenka;// оценкаpublicstringGetFnom() {returnfnom;}publicstringGetIme() {returnime;}publicstringGetPrep() {returnprep;}publicintGetOcenka() {returnocenka;}publicStudent() {...}// Същияткато въввариант 2publicStudent(StreamReader le){//Чете полетатаоттекстов файлfnom=le.ReadLine();ime=le.ReadLine();prep=le.ReadLine();ocenka=int.Parse(le.ReadLine());}publicstringIniPrep() {...}// Същияткатовъв вариант2publicvoidOutStudent(){...}// Същияткатовъв вариант2publicvoidOutStudentInFile(StreamWriterle){// Извежданенаданни заединстудент въвфайлle.WriteLine(fnom+"\r\n"+ime+"\r\n"+prep+"\r\n"+ocenka);}//OutStudentInFile};classGroup{Student[]a;stringgrID;publicstringGetGrID(){returngrID;}publicGroup(stringgroupID)
{intbr;grID=groupID;if(!File.Exists("File"+grID+".txt"))do{Console.Write("Въведете бройстудентиза "+grID+"група:");br=int.Parse(Console.ReadLine());}while(br<=0||br>40);else{StreamReaderle=newStreamReader("File"+grID+".txt");br=int.Parse(le.ReadLine());le.Close();}a=newStudent[br];}//GrouppublicvoidInput() {...}// Същияткатовъв вариант2publicvoidInputFromFile(){//Въвежданена масивот студентиStreamReaderle=newStreamReader("File"+grID+".txt");intbr=int.Parse(le.ReadLine());for(inti=0;i<a.Length;i++){a[i] =newStudent(le);}le.Close();}//InputFromFilepublicvoidOutputToFile(){//Записва даннитенастудентите втекстовфайлStreamWriterle=newStreamWriter("File"+grID+".txt");le.WriteLine(a.Length);//Записва броястудентив първиредforeach(Student xina)x.OutStudentInFile(le);le.Close();}//OutputToFilepublicvoidSpravka1(){//Извежданена всичкистуденти подреденипофак.номерvarqueryFnom=fromxinaorderbyx.GetFnom()ascendingselectx;foreach(Student xinqueryFnom)x.OutStudent();}//spravka1publicvoidSpravka2(){//Извежданена студентис Димо/димо//подредени пооценканизходящо//а приравниоценки -поиме възходящоvarqueryDimo=fromxinawherex.GetIme().Contains("Димо") ||x.GetIme().Contains("димо")
orderbyx.GetOcenka()descendingorderbyx.GetIme()ascendingselectx;foreach(Student xinqueryDimo)x.OutStudent();}//spravka2publicdoubleSpravka3(){//Изчисляване насреден успехпри"Е. П.Гоцев"varqueryGocev=fromxinawherex.IniPrep() =="Е.П.Гоцев"selectx.GetOcenka();if(queryGocev.Count()>0)returnqueryGocev.Average();elsereturn0;}//spravka3}classProgram{publicstaticdoubleRun(Group x){if(File.Exists("File"+x.GetGrID()+".txt"))x.InputFromFile();else{x.Input();x.OutputToFile();}Console.WriteLine("Списък на"+x.GetGrID()+" групаподреден поф.номер");x.Spravka1();Console.WriteLine("Студенти от"+x.GetGrID()+" гр.сДимо/димо вимето");x.Spravka2();doublesr=x.Spravka3();Console.WriteLine("Ср.успех приЕ.П. Гоцевна"+x.GetGrID()+" група:"+sr);returnsr;}//RunpublicstaticvoidMain(string[]args) {...}// Kатовъв вариант2}}

Заключение

Статията е предназначена предимно за учители, които трябва да сменят стила на програмиране и преподаване при обучение на учениците. Предложен е метод за активно обучение чрез практика – learning by doing (Krushkova, 2014), като е използвана задачата от първия кандидатстудентски изпит по информатика в ПУ „Паисий Хилендарски", когато е обявено официално в указанията към задачата използването на C# и Java. Задачите от този тип позволяват изписването на лист – едно от условията, на които трябва да отговарят задачи от писмен конкурсен изпит, и въпреки малкия си размер дават възможност да бъдат реализирани както с „класически", така и с обектоориентиран подход. Трите варианта на решение свидетелстват за разнообразните средства на C#. Решенията са възможно най-кратки и опростени, като целят да предложат на учителите средства за плавен преход от структурно към обектоориентирано програмиране. Статията би могла да подпомогне и ученици, които се интересуват от конкурсни задачи за кандидатстудентски изпит по информатика и имат много добри базови знания по програмиране.

На сайта на ФМИ при Пловдивския университет „Паисий Хилендарски" могат да се видят всички конкурсни задачи2). Решения на задачите и тестовете от конкурсните изпити по информатика са достъпни на уеб адрес http://hristokrushkov.com след регистрация. За читателите на списанието е осигурен специален достъп в сравнение с обикновен регистриран потребител по-средством username: MatInf и парола: informatika. Там могат да намерят решения на конкурсни задачи както на С#, така и на други езици за програмиране.

NOTES / БЕЛЕЖКИ 1. Сп. „Математика и информатика", бр. 3/2016 2. http://fmi-plovdiv.org/index.jsp?id=324&ln=1

REFERENCES / ЛИТЕРАТУРА

Darzhavni obrazovatelni iziskvaniya za uchebno sadarzhanie po Informatika i Informatsionni tehnologii. (2000, 13.06.). Darzhaven vestnik. [Държавни образователни изисквания за учебно съдържание по Информатика и Информационни технологии. (2000, 13.06.). Държавен вестник.]

Krushkova, M. (2014). Metodika za aktivno obuchenie po programirane chrez izpolzvane na informatsionni i komunikatsionni tehnologii. Disertatsionen trud za prisazhdane na obrazovatelnata i nauchna stepen "doctor", Plovdiv. [Крушкова, М. (2014). Методика за активно обучение по програмиране чрез използване на информационни и комуникационни технологии. Дисертационен труд за присъждане на образователната и научна степен „доктор", Пловдив.]

Manev, Kr., Petrov, P., Hristova, V., Maneva, N., Yovcheva, B. & Petrov, P. (2013). Informatika za zadalzhitelna podgotovka v IX – X klas. Sofiya: Izkustva. [Манев, Кр., Петров, П., Христова, В., Манева, Н., Йовчева, Б. & Петров, П. (2013). Информатика за задължителна подготовка в IX – X клас. София: Изкуства.]

Nakov, Sv., Valkov, B., Kolev, V., Tsanev, V., Aleksiev, D., Bozhkov, L., ... & Konov, Ts. (2008). Vavedenie v programiraneto s Java. Veliko Tarnovo: Faber. [Наков, Св., Вълков, Б., Колев, В., Цанев, В., Алексиев, Д., Божков, Л., ... & Конов, Ц. (2008). Въведение в програмирането с Java. Велико Търново: Фабер.]

Nakov, Sv., Georgiev, V., Kolev, V., Dimitrov D., Murdanliev, I., Yosifov, Y., ... &Konov, Ts. (2009). Vavedenie v programiraneto sas C#. Veliko Tarnovo: Faber. [Наков, Св., Георгиев, В., Колев, В., Димитров Д., Мурданлиев, И., Йосифов, Й., ... & Конов, Ц. (2009). Въведение в програмирането със C#. Велико Търново: Фабер.]

Hristov, Hr. (2011). Trudnosti i resheniya pri smyana na paradigmata. Prepodavane na obektoorientiran analiz, dizayn i programirane, Dokladi na mezhdunarodna konferentsiya, Vzaimodeystvieto teoriya – praktika: Klyuchovi problemi i resheniya, III, 303 – 310. [Христов, Хр. (2011). Трудности и решения при смяна на парадигмата. Преподаване на обектоориентиран анализ, дизайн и програмиране, Доклади на международна конференция, Взаимодействието теория - практика: Ключови проблеми и решения, III, 303 – 310.]

Hristov, H. (2010). Review and Outlooks of the Means for Visualization of Syntax Semantics and Source Code. Procedural and Objectoriented Paradigm – Differences, In proceedings of the Anniversary International Conference REMIA, Plovdiv, 443 – 451.

2025 година
Книжка 6
ENHANCING STUDENT MOTIVATION AND ACHIEVEMENT THROUGH DIGITAL MIND MAPPING

Mikloš Kovač, Mirjana Brdar, Goran Radojev, Radivoje Stojković

OPTIMIZATION VS BOOSTING: COMPARISON OF STRATEGIES ON EDUCATIONAL DATASETS TO EXPLORE LOW-PERFORMING AT-RISK AND DROPOUT STUDENTS

Ranjit Paul, Asmaa Mohamed, Peren Jerfi Canatalay, Ashima Kukkar, Sadiq Hussain, Arun K. Baruah, Jiten Hazarika, Silvia Gaftandzhieva, Esraa A. Mahareek, Abeer S. Desuky, Rositsa Doneva

ARTIFICIAL INTELLIGENCE AS A TOOL FOR PEDAGOGICAL INNOVATIONS IN MATHEMATICS EDUCATION

Stanka Hadzhikoleva, Maria Borisova, , Borislava Kirilova

Книжка 4
Книжка 3
МОДЕЛИ НА ВЕРОЯТНОСТНИ ПРОСТРАНСТВА В ОЛИМПИАДНИ ЗАДАЧИ

Драгомир Грозев, Станислав Харизанов

Книжка 1
A NOTE ON A GENERALIZED DYNAMICAL SYSTEM OCCURS IN MODELLING “THE BATTLE OF THE SEXES”: CHAOS IN SOCIOBIOLOGY

Nikolay Kyurkchiev, Anton Iliev, Vesselin Kyurkchiev, Angel Golev, Todorka Terzieva, Asen Rahnev

EDUCATIONAL RESOURCES FOR STUDYING MIDSEGMENTS OF TRIANGLE AND TRAPEZOID

Toni Chehlarova1), Neda Chehlarova2), Georgi Gachev

2024 година
Книжка 6
ВЪЗМОЖНОСТИ ЗА ИЗГРАЖДАНЕ НА МЕЖДУПРЕДМЕТНИ ВРЪЗКИ МАТЕМАТИКА – ИНФОРМАТИКА

Елена Каращранова, Ирена Атанасова, Надежда Борисова

Книжка 5
FRAMEWORK FOR DESIGNING VISUALLY ORIENTATED TOOLS TO SUPPORT PROJECT MANAGEMENT

Dalibor Milev, Nadezhda Borisova, Elena Karashtranova

3D ОБРАЗОВАТЕЛЕН ПОДХОД В ОБУЧЕНИЕТО ПО СТЕРЕОМЕТРИЯ

Пеньо Лебамовски, Марияна Николова

Книжка 4
DYNAMICS OF A NEW CLASS OF OSCILLATORS: MELNIKOV’S APPROACH, POSSIBLE APPLICATION TO ANTENNA ARRAY THEORY

Nikolay Kyurkchiev, Tsvetelin Zaevski, Anton Iliev, Vesselin Kyurkchiev, Asen Rahnev

Книжка 3
РАЗСТОЯНИЯ МЕЖДУ ЗАБЕЛЕЖИТЕЛНИ ТОЧКИ И НЕРАВЕНСТВА В ИЗПЪКНАЛ ЧЕТИРИЪГЪЛНИК

Йордан Табов, Станислав Стефанов, Красимир Кънчев, Хаим Хаимов

USING AI TO IMPROVE ANSWER EVALUATION IN AUTOMATED EXAMS

Georgi Cholakov, Asya Stoyanova-Doycheva

Книжка 2
ON INTEGRATION OF STEM MODULES IN MATHEMATICS EDUCATION

Elena Karashtranova, Aharon Goldreich, Nadezhda Borisova

Книжка 1
STUDENT SATISFACTION WITH THE QUALITY OF A BLENDED LEARNING COURSE

Silvia Gaftandzhieva, Rositsa Doneva, Sadiq Hussain, Ashis Talukder, Gunadeep Chetia, Nisha Gohain

MODERN ROAD SAFETY TRAINING USING GAME-BASED TOOLS

Stefan Stavrev, Ivelina Velcheva

ARTIFICIAL INTELLIGENCE FOR GOOD AND BAD IN CYBER AND INFORMATION SECURITY

Nikolay Kasakliev, Elena Somova, Margarita Gocheva

2023 година
Книжка 6
QUALITY OF BLENDED LEARNING COURSES: STUDENTS’ PERSPECTIVE

Silvia Gaftandzhieva, Rositsa Doneva, Sadiq Hussain, Ashis Talukder, Gunadeep Chetia, Nisha Gohain

МОДЕЛ НА ЛЕОНТИЕВ С MS EXCEL

Велика Кунева, Мариян Милев

Книжка 5
AREAS ASSOCIATED TO A QUADRILATERAL

Oleg Mushkarov, Nikolai Nikolov

ON THE DYNAMICS OF A ClASS OF THIRD-ORDER POLYNOMIAL DIFFERENCE EQUATIONS WITH INFINITE NUMBER OF PERIOD-THREE SOLUTIONS

Jasmin Bektešević, Vahidin Hadžiabdić, Midhat Mehuljić, Sadjit Metović, Haris Lulić

СИСТЕМА ЗА ИЗВЛИЧАНЕ И ВИЗУАЛИЗАЦИЯ НА ДАННИ ОТ ИНТЕРНЕТ

Георги Чолаков, Емил Дойчев, Светла Коева

Книжка 4
MULTIPLE REPRESENTATIONS OF FUNCTIONS IN THE FRAME OF DISTANCE LEARNING

Radoslav Božić, Hajnalka Peics, Aleksandar Milenković

INTEGRATED LESSONS IN CALCULUS USING SOFTWARE

Pohoriliak Oleksandr, Olga Syniavska, Anna Slyvka-Tylyshchak, Antonina Tegza, Alexander Tylyshchak

Книжка 3
ПРИЛОЖЕНИЕ НА ЕЛЕМЕНТИ ОТ ГЕОМЕТРИЯТА НА ЧЕТИРИЪГЪЛНИКА ЗА РЕШАВАНЕ НА НЕСТАНДАРТНИ ЗАДАЧИ

Йордан Табов, Веселин Ненков, Асен Велчев, Станислав Стефанов

Книжка 2
Книжка 1
НОВА ФОРМУЛА ЗА ЛИЦЕ НА ЧЕТИРИЪГЪЛНИК (ЧЕТИВО ЗА VII КЛАС)

Йордан Табов, Асен Велчев, Станислав Стефанов, Хаим Хаимов

2022 година
Книжка 6
MOBILE GAME-BASED MATH LEARNING FOR PRIMARY SCHOOL

Margarita Gocheva, Nikolay Kasakliev, Elena Somova

Книжка 5
SECURITY ANALYSIS ON CONTENT MANAGEMENT SYSTEMS

Lilyana Petkova, Vasilisa Pavlova

MONITORING OF STUDENT ENROLMENT CAMPAIGN THROUGH DATA ANALYTICS TOOLS

Silvia Gaftandzhieva, Rositsa Doneva, Milen Bliznakov

TYPES OF SOLUTIONS IN THE DIDACTIC GAME “LOGIC MONSTERS”

Nataliya Hristova Pavlova, Michaela Savova Toncheva

Книжка 4
PERSONAL DATA PROCESSING IN A DIGITAL EDUCATIONAL ENVIRONMENT

Evgeniya Nikolova, Mariya Monova-Zheleva, Yanislav Zhelev

Книжка 3
Книжка 2
STEM ROBOTICS IN PRIMARY SCHOOL

Tsanko Mihov, Gencho Stoitsov, Ivan Dimitrov

A METAGRAPH MODEL OF CYBER PROTECTION OF AN INFORMATION SYSTEM

Emiliya Koleva, Evgeni Andreev, Mariya Nikolova

Книжка 1
CONVOLUTIONAL NEURAL NETWORKS IN THE TASK OF IMAGE CLASSIFICATION

Larisa Zelenina, Liudmila Khaimina, Evgenii Khaimin, D. Khripunov, Inga Zashikhina

INNOVATIVE PROPOSALS FOR DATABASE STORAGE AND MANAGEMENT

Yulian Ivanov Petkov, Alexandre Ivanov Chikalanov

APPLICATION OF MATHEMATICAL MODELS IN GRAPHIC DESIGN

Ivaylo Staribratov, Nikol Manolova

РЕШЕНИЯ НА КОНКУРСНИ ЗАДАЧИ БРОЙ 6, 2021 Г.

Задача 1. Дадени са различни естествени числа, всяко от които има прос- ти делители, не по-големи от . Докажете, че произведението на някои три от тези числа е точен куб. Решение: числата са представим във вида . Нека разгледаме квадрат

2021 година
Книжка 6
E-LEARNING DURING COVID-19 PANDEMIC: AN EMPIRICAL RESEARCH

Margarita Gocheva, Nikolay Kasakliev, Elena Somova

Книжка 5
ПОДГОТОВКА ЗА XXV МЛАДЕЖКА БАЛКАНИАДА ПО МАТЕМАТИКА 2021

Ивайло Кортезов, Емил Карлов, Мирослав Маринов

EXCEL’S CALCULATION OF BASIC ASSETS AMORTISATION VALUES

Vehbi Ramaj, Sead Rešić, Anes Z. Hadžiomerović

EDUCATIONAL ENVIRONMENT AS A FORM FOR DEVELOPMENT OF MATH TEACHERS METHODOLOGICAL COMPETENCE

Olha Matiash, Liubov Mykhailenko, Vasyl Shvets, Oleksandr Shkolnyi

Книжка 4
LEARNING ANALYTICS TOOL FOR BULGARIAN SCHOOL EDUCATION

Silvia Gaftandzhieva, Rositsa Doneva, George Pashev, Mariya Docheva

Книжка 3
THE PROBLEM OF IMAGES’ CLASSIFICATION: NEURAL NETWORKS

Larisa Zelenina, Liudmila Khaimina, Evgenii Khaimin, D. Khripunov, Inga Zashikhina

MIDLINES OF QUADRILATERAL

Sead Rešić, Maid Omerović, Anes Z. Hadžiomerović, Ahmed Palić

ВИРТУАЛЕН ЧАС ПО МАТЕМАТИКА

Севдалина Георгиева

Книжка 2
MOBILE MATH GAME PROTOTYPE ON THE BASE OF TEMPLATES FOR PRIMARY SCHOOL

Margarita Gocheva, Elena Somova, Nikolay Kasakliev, Vladimira Angelova

КОНКУРСНИ ЗАДАЧИ БРОЙ 2/2021 Г.

Краен срок за изпращане на решения: 0 юни 0 г.

РЕШЕНИЯ НА ЗАДАЧИТЕ ОТ БРОЙ 1, 2021

Краен срок за изпращане на решения: 0 юни 0 г.

Книжка 1
СЕДЕМНАДЕСЕТА ЖАУТИКОВСКА ОЛИМПИАДА ПО МАТЕМАТИКА, ИНФОРМАТИКА И ФИЗИКА АЛМАТИ, 7-12 ЯНУАРИ 2021

Диян Димитров, Светлин Лалов, Стефан Хаджистойков, Елена Киселова

ОНЛАЙН СЪСТЕЗАНИЕ „VIVA МАТЕМАТИКА С КОМПЮТЪР“

Петър Кендеров, Тони Чехларова, Георги Гачев

2020 година
Книжка 6
ABSTRACT DATA TYPES

Lasko M. Laskov

Книжка 5
GAMIFICATION IN CLOUD-BASED COLLABORATIVE LEARNING

Denitza Charkova, Elena Somova, Maria Gachkova

NEURAL NETWORKS IN A CHARACTER RECOGNITION MOBILE APPLICATION

L.I. Zelenina, L.E. Khaimina, E.S. Khaimin, D.I. Antufiev, I.M. Zashikhina

APPLICATIONS OF ANAGLIFIC IMAGES IN MATHEMATICAL TRAINING

Krasimir Harizanov, Stanislava Ivanova

МЕТОД НА ДЕЦАТА В БЛОКА

Ивайло Кортезов

Книжка 4
TECHNOLOGIES AND TOOLS FOR CREATING ADAPTIVE E-LEARNING CONTENT

Todorka Terzieva, Valya Arnaudova, Asen Rahnev, Vanya Ivanova

Книжка 3
MATHEMATICAL MODELLING IN LEARNING OUTCOMES ASSESSMENT (BINARY MODEL FOR THE ASSESSMMENT OF STUDENT’S COMPETENCES FORMATION)

L. E. Khaimina, E. A. Demenkova, M. E. Demenkov, E. S. Khaimin, L. I. Zelenina, I. M. Zashikhina

PROBLEMS 2 AND 5 ON THE IMO’2019 PAPER

Sava Grozdev, Veselin Nenkov

Книжка 2
ЗА ВЕКТОРНОТО ПРОСТРАНСТВО НА МАГИЧЕСКИТЕ КВАДРАТИ ОТ ТРЕТИ РЕД (В ЗАНИМАТЕЛНАТА МАТЕМАТИКА)

Здравко Лалчев, Маргарита Върбанова, Мирослав Стоимиров, Ирина Вутова

КОНКУРЕНТНИ ПЕРПЕНДИКУЛЯРИ, ОПРЕДЕЛЕНИ ОТ ПРАВИЛНИ МНОГОЪГЪЛНИЦИ

Йоана Христова, Геновева Маринова, Никола Кушев, Светослав Апостолов, Цветомир Иванов

A NEW PROOF OF THE FEUERBACH THEOREM

Sava Grozdev, Hiroshi Okumura, Deko Dekov

PROBLEM 3 ON THE IMO’2019 PAPER

Sava Grozdev, Veselin Nenkov

Книжка 1
GENDER ISSUES IN VIRTUAL TRAINING FOR MATHEMATICAL KANGAROO CONTEST

Mark Applebaum, Erga Heller, Lior Solomovich, Judith Zamir

KLAMKIN’S INEQUALITY AND ITS APPLICATION

Šefket Arslanagić, Daniela Zubović

НЯКОЛКО ПРИЛОЖЕНИЯ НА ВЪРТЯЩАТА ХОМОТЕТИЯ

Сава Гроздев, Веселин Ненков

2019 година
Книжка 6
DISCRETE MATHEMATICS AND PROGRAMMING – TEACHING AND LEARNING APPROACHES

Mariyana Raykova, Hristina Kostadinova, Stoyan Boev

CONVERTER FROM MOODLE LESSONS TO INTERACTIVE EPUB EBOOKS

Martin Takev, Elena Somova, Miguel Rodríguez-Artacho

ЦИКЛОИДА

Аяпбергенов Азамат, Бокаева Молдир, Чурымбаев Бекнур, Калдыбек Жансуйген

КАРДИОИДА

Евгений Воронцов, Никита Платонов

БОЛГАРСКАЯ ОЛИМПИАДА ПО ФИНАНСОВОЙ И АКТУАРНОЙ МАТЕМАТИКЕ В РОССИИ

Росен Николаев, Сава Гроздев, Богдана Конева, Нина Патронова, Мария Шабанова

КОНКУРСНИ ЗАДАЧИ НА БРОЯ

Задача 1. Да се намерят всички полиноми, които за всяка реална стойност на удовлетворяват равенството Татяна Маджарова, Варна Задача 2. Правоъгълният триъгълник има остри ъгли и , а центърът на вписаната му окръжност е . Точката , лежаща в , е такава, че и . Симетралите

РЕШЕНИЯ НА ЗАДАЧИТЕ ОТ БРОЙ 1, 2019

Задача 1. Да се намерят всички цели числа , за които

Книжка 5
ДЪЛБОКО КОПИЕ В C++ И JAVA

Христина Костадинова, Марияна Райкова

КОНКУРСНИ ЗАДАЧИ НА БРОЯ

Задача 1. Да се намери безкрайно множество от двойки положителни ра- ционални числа Милен Найденов, Варна

РЕШЕНИЯ НА ЗАДАЧИТЕ ОТ БРОЙ 6, 2018

Задача 1. Точката е левият долен връх на безкрайна шахматна дъска. Една муха тръгва от и се движи само по страните на квадратчетата. Нека е общ връх на някои квадратчета. Казва- ме, че мухата изминава пътя между и , ако се движи само надясно и нагоре. Ако точките и са противоположни върхове на правоъгълник , да се намери броят на пътищата, свърз- ващи точките и , по които мухата може да мине, когато: а) и ; б) и ; в) и

Книжка 4
THE REARRANGEMENT INEQUALITY

Šefket Arslanagić

АСТРОИДА

Борислав Борисов, Деян Димитров, Николай Нинов, Теодор Христов

COMPUTER PROGRAMMING IN MATHEMATICS EDUCATION

Marin Marinov, Lasko Laskov

CREATING INTERACTIVE AND TRACEABLE EPUB LEARNING CONTENT FROM MOODLE COURSES

Martin Takev, Miguel Rodríguez-Artacho, Elena Somova

КОНКУРСНИ ЗАДАЧИ НА БРОЯ

Задача 1. Да се реши уравнението . Христо Лесов, Казанлък Задача 2. Да се докаже, че в четириъгълник с перпендикулярни диагонали съществува точка , за която са изпълнени равенствата , , , . Хаим Хаимов, Варна Задача 3. В правилен 13-ъгълник по произволен начин са избрани два диа- гонала. Каква е вероятността избраните диагонали да не се пресичат? Сава Гроздев, София, и Веселин Ненков, Бели Осъм

РЕШЕНИЯ НА ЗАДАЧИТЕ ОТ БРОЙ 5, 2018

Задача 1. Ако и са съвършени числа, за които целите части на числата и са равни и различни от нула, да се намери .

Книжка 3
RESULTS OF THE FIRST WEEK OF CYBERSECURITY IN ARKHANGELSK REGION

Olga Troitskaya, Olga Bezumova, Elena Lytkina, Tatyana Shirikova

DIDACTIC POTENTIAL OF REMOTE CONTESTS IN COMPUTER SCIENCE

Natalia Sofronova, Anatoliy Belchusov

КОНКУРСНИ ЗАДАЧИ НА БРОЯ

Краен срок за изпращане на решения 30 ноември 2019 г.

РЕШЕНИЯ НА ЗАДАЧИТЕ ОТ БРОЙ 4, 2018

Задача 1. Да се намерят всички тройки естествени числа е изпълнено равенството: а)

Книжка 2
ЕЛЕКТРОНЕН УЧЕБНИК ПО ОБЗОРНИ ЛЕКЦИИ ЗА ДЪРЖАВЕН ИЗПИТ В СРЕДАТА DISPEL

Асен Рахнев, Боян Златанов, Евгения Ангелова, Ивайло Старибратов, Валя Арнаудова, Слав Чолаков

ГЕОМЕТРИЧНИ МЕСТА, ПОРОДЕНИ ОТ РАВНОСТРАННИ ТРИЪГЪЛНИЦИ С ВЪРХОВЕ ВЪРХУ ОКРЪЖНОСТ

Борислав Борисов, Деян Димитров, Николай Нинов, Теодор Христов

ЕКСТРЕМАЛНИ СВОЙСТВА НА ТОЧКАТА НА ЛЕМОАН В ЧЕТИРИЪГЪЛНИК

Веселин Ненков, Станислав Стефанов, Хаим Хаимов

A TRIANGLE AND A TRAPEZOID WITH A COMMON CONIC

Sava Grozdev, Veselin Nenkov

КОНКУРСНИ ЗАДАЧИ НА БРОЯ

Христо Лесов, Казанлък Задача 2. Окръжност с диаметър и правоъгълник с диагонал имат общ център. Да се докаже, че за произволна точка M от е изпълне- но равенството . Милен Найденов, Варна Задача 3. В изпъкналия четириъгълник са изпълнени равенства- та и . Точката е средата на диагонала , а , , и са ортоганалните проекции на съответно върху правите , , и . Ако и са средите съответно на отсечките и , да се докаже, че точките , и лежат на една права.

РЕШЕНИЯ НА ЗАДАЧИТЕ ОТ БРОЙ 3, 2018

Задача 1. Да се реши уравнението . Росен Николаев, Дико Суружон, Варна Решение. Въвеждаме означението , където . Съгласно това означение разлежданото уравнение придобива вида не е решение на уравнението. Затова са възможни само случаите 1) и 2) . Разглеж- даме двата случая поотделно. Случай 1): при е изпълнено равенството . Тогава имаме:

Книжка 1
PROBLEM 6. FROM IMO’2018

Sava Grozdev, Veselin Nenkov

РЕШЕНИЯ НА ЗАДАЧИТЕ ОТ БРОЙ 2, 2018

Задача 1. Да се намери най-малкото естествено число , при което куба с целочислени дължини на ръбовете в сантиметри имат сума на обемите, рав- на на Христо Лесов, Казанлък Решение: тъй като , то не е куб на ес- тествено число и затова . Разглеждаме последователно случаите за . 1) При разглеждаме естествени числа и , за които са изпълнени релациите и . Тогава то , т.е. . Освен това откъдето , т.е. .Така получихме, че . Лесно се проверява, че при и няма естествен

КОНКУРСНИ ЗАДАЧИ НА БРОЯ

Задача 1. Да се намерят всички цели числа , за които

2018 година
Книжка 6
„ЭНЦИКЛОПЕДИЯ ЗАМЕЧАТЕЛЬНЫХ ПЛОСКИХ КРИВЫХ“ – МЕЖДУНАРОДНЫЙ СЕТЕВОЙ ИССЛЕДОВАТЕЛЬСКИЙ ПРОЕКТ В РАМКАХ MITE

Роза Атамуратова, Михаил Алфёров, Марина Белорукова, Веселин Ненков, Валерий Майер, Генадий Клековкин, Раиса Овчинникова, Мария Шабанова, Александр Ястребов

A NEW MEANING OF THE NOTION “EXPANSION OF A NUMBER”

Rosen Nikolaev, Tanka Milkova, Radan Miryanov

Книжка 5
ИТОГИ ПРОВЕДЕНИЯ ВТОРОЙ МЕЖДУНАРОДНОЙ ОЛИМПИАДЬI ПО ФИНАНСОВОЙ И АКТУАРНОЙ МАТЕМАТИКЕ СРЕДИ ШКОЛЬНИКОВ И СТУДЕНТОВ

Сава Гроздев, Росен Николаев, Мария Шабанова, Лариса Форкунова, Нина Патронова

LEARNING AND ASSESSMENT BASED ON GAMIFIED E-COURSE IN MOODLE

Mariya Gachkova, Martin Takev, Elena Somova

УЛИТКА ПАСКАЛЯ

Дарья Коптева, Ксения Горская

КОМБИНАТОРНИ ЗАДАЧИ, СВЪРЗАНИ С ТРИЪГЪЛНИК

Росен Николаев, Танка Милкова, Катя Чалъкова

Книжка 4
ЗА ПРОСТИТЕ ЧИСЛА

Сава Гроздев, Веселин Ненков

ИНЦЕНТЪР НА ЧЕТИРИЪГЪЛНИК

Станислав Стефанов

ЭПИЦИКЛОИДА

Инкар Аскар, Камила Сарсембаева

ГИПОЦИКЛОИДА

Борислав Борисов, Деян Димитров, Иван Стефанов, Николай Нинов, Теодор Христов

Книжка 3
ПОЛИНОМИ ОТ ТРЕТА СТЕПЕН С КОЛИНЕАРНИ КОРЕНИ

Сава Гроздев, Веселин Ненков

ЧЕТИРИДЕСЕТ И ПЕТА НАЦИОНАЛНА СТУДЕНТСКА ОЛИМПИАДА ПО МАТЕМАТИКА

Сава Гроздев, Росен Николаев, Станислава Стоилова, Веселин Ненков

Книжка 2
TWO INTERESTING INEQUALITIES FOR ACUTE TRIANGLES

Šefket Arslanagić, Amar Bašić

ПЕРФЕКТНА ИЗОГОНАЛНОСТ В ЧЕТИРИЪГЪЛНИК

Веселин Ненков, Станислав Стефанов, Хаим Хаимов

НЯКОИ ТИПОВЕ ЗАДАЧИ СЪС СИМЕТРИЧНИ ЧИСЛА

Росен Николаев, Танка Милкова, Радан Мирянов

Книжка 1
Драги читатели,

където тези проценти са наполовина, в Източна Европа те са около 25%, в

COMPUTER DISCOVERED MATHEMATICS: CONSTRUCTIONS OF MALFATTI SQUARES

Sava Grozdev, Hiroshi Okumura, Deko Dekov

ВРЪЗКИ МЕЖДУ ЗАБЕЛЕЖИТЕЛНИ ТОЧКИ В ЧЕТИРИЪГЪЛНИКА

Станислав Стефанов, Веселин Ненков

КОНКУРСНИ ЗАДАЧИ НА БРОЯ

Задача 2. Да се докаже, че всяка от симедианите в триъгълник с лице разделя триъгълника на два триъгълника, лицата на които са корени на урав- нението където и са дължините на прилежащите на симедианата страни на три- ъгълника. Милен Найденов, Варна Задача 3. Четириъгълникът е описан около окръжност с център , като продълженията на страните му и се пресичат в точка . Ако е втората пресечна точка на описаните окръжности на триъгълниците и , да се докаже, че Хаим Х

РЕШЕНИЯ НА ЗАДАЧИТЕ ОТ БРОЙ 2, 2017

Задача 1. Да се определи дали съществуват естествени числа и , при които стойността на израза е: а) куб на естествено число; б) сбор от кубовете на две естествени числа; в) сбор от кубовете на три естествени числа. Христо Лесов, Казанлък Решение: при и имаме . Следова- телно случай а) има положителен отговор. Тъй като при число- то се дели на , то при и имаме е естестве- но число. Следователно всяко число от разглеждания вид при деление на дава ос

2017 година
Книжка 6
A SURVEY OF MATHEMATICS DISCOVERED BY COMPUTERS. PART 2

Sava Grozdev, Hiroshi Okumura, Deko Dekov

ТРИ ИНВАРИАНТЫ В ОДНУ ЗАДА

Ксения Горская, Дарья Коптева, Асхат Ермекбаев, Арман Жетиру, Азат Бермухамедов, Салтанат Кошер, Лили Стефанова, Ирина Христова, Александра Йовкова

GAMES WITH

Aldiyar Zhumashov

SOME NUMERICAL SQUARE ROOTS (PART TWO)

Rosen Nikolaev, Tanka Milkova, Yordan Petkov

ЗАНИМАТЕЛНИ ЗАДАЧИ ПО ТЕМАТА „КАРТИННА ГАЛЕРИЯ“

Мирослав Стоимиров, Ирина Вутова

Книжка 5
ВТОРОЙ МЕЖДУНАРОДНЫЙ СЕТЕВОЙ ИССЛЕДОВАТЕЛЬСКИЙ ПРОЕКТ УЧАЩИХСЯ В РАМКАХ MITE

Мария Шабанова, Марина Белорукова, Роза Атамуратова, Веселин Ненков

SOME NUMERICAL SEQUENCES CONCERNING SQUARE ROOTS (PART ONE)

Rosen Nikolaev, Tanka Milkova, Yordan Petkov

Книжка 4
ГЕНЕРАТОР НА ТЕСТОВЕ

Ангел Ангелов, Веселин Дзивев

INTERESTING PROOFS OF SOME ALGEBRAIC INEQUALITIES

Šefket Arslanagić, Faruk Zejnulahi

PROBLEMS ON THE BROCARD CIRCLE

Sava Grozdev, Hiroshi Okumura, Deko Dekov

ПРИЛОЖЕНИЕ НА ЛИНЕЙНАТА АЛГЕБРА В ИКОНОМИКАТА

Велика Кунева, Захаринка Ангелова

СКОРОСТТА НА СВЕТЛИНАТА

Сава Гроздев, Веселин Ненков

Книжка 3
НЯКОЛКО ПРИЛОЖЕНИЯ НА ТЕОРЕМАТА НА МЕНЕЛАЙ ЗА ВПИСАНИ ОКРЪЖНОСТИ

Александра Йовкова, Ирина Христова, Лили Стефанова

НАЦИОНАЛНА СТУДЕНТСКА ОЛИМПИАДА ПО МАТЕМАТИКА

Сава Гроздев, Росен Николаев, Веселин Ненков

СПОМЕН ЗА ПРОФЕСОР АНТОН ШОУРЕК

Александра Трифонова

Книжка 2
ИЗКУСТВЕНА ИМУННА СИСТЕМА

Йоанна Илиева, Селин Шемсиева, Светлана Вълчева, Сюзан Феимова

ВТОРИ КОЛЕДЕН ЛИНГВИСТИЧЕН ТУРНИР

Иван Держански, Веселин Златилов

Книжка 1
ГЕОМЕТРИЯ НА ЧЕТИРИЪГЪЛНИКА, ТОЧКА НА МИКЕЛ, ИНВЕРСНА ИЗОГОНАЛНОСТ

Веселин Ненков, Станислав Стефанов, Хаим Хаимов

2016 година
Книжка 6
ПЕРВЫЙ МЕЖДУНАРОДНЫЙ СЕТЕВОЙ ИССЛЕДОВАТЕЛЬСКИЙ ПРОЕКТ УЧАЩИХСЯ В РАМКАХ MITE

Мария Шабанова, Марина Белорукова, Роза Атамуратова, Веселин Ненков

НЕКОТОРЫЕ ТРАЕКТОРИИ, КОТОРЫЕ ОПРЕДЕЛЕНЫ РАВНОБЕДРЕННЫМИ ТРЕУГОЛЬНИКАМИ

Ксения Горская, Дарья Коптева, Даниил Микуров, Еркен Мудебаев, Казбек Мухамбетов, Адилбек Темирханов, Лили Стефанова, Ирина Христова, Радина Иванова

ПСЕВДОЦЕНТЪР И ОРТОЦЕНТЪР – ЗАБЕЛЕЖИТЕЛНИ ТОЧКИ В ЧЕТИРИЪГЪЛНИКА

Веселин Ненков, Станислав Стефанов, Хаим Хаимов

FUZZY LOGIC

Reinhard Magenreuter

GENETIC ALGORITHM

Reinhard Magenreuter

Книжка 5
NEURAL NETWORKS

Reinhard Magenreuter

Книжка 4
АКТИВНО, УЧАСТВАЩО НАБЛЮДЕНИЕ – ТИП ИНТЕРВЮ

Христо Христов, Христо Крушков

ХИПОТЕЗАТА В ОБУЧЕНИЕТО ПО МАТЕМАТИКА

Румяна Маврова, Пенка Рангелова, Елена Тодорова

Книжка 3
ОБОБЩЕНИЕ НА ТЕОРЕМАТА НА ЧЕЗАР КОШНИЦА

Сава Гроздев, Веселин Ненков

Книжка 2
ОЙЛЕР-ВЕН ДИАГРАМИ ИЛИ MZ-КАРТИ В НАЧАЛНАТА УЧИЛИЩНА МАТЕМАТИКА

Здравко Лалчев, Маргарита Върбанова, Ирина Вутова, Иван Душков

ОБВЪРЗВАНЕ НА ОБУЧЕНИЕТО ПО АЛГЕБРА И ГЕОМЕТРИЯ

Румяна Маврова, Пенка Рангелова

Книжка 1
STATIONARY NUMBERS

Smaiyl Makyshov

МЕЖДУНАРОДНА ЖАУТИКОВСКА ОЛИМПИАДА

Сава Гроздев, Веселин Ненков

2015 година
Книжка 6
Книжка 5
Книжка 4
Книжка 3
МОТИВАЦИОННИТЕ ЗАДАЧИ В ОБУЧЕНИЕТО ПО МАТЕМАТИКА

Румяна Маврова, Пенка Рангелова, Зара Данаилова-Стойнова

Книжка 2
САМОСТОЯТЕЛНО РЕШАВАНЕ НА ЗАДАЧИ С EXCEL

Пламен Пенев, Диана Стефанова

Книжка 1
ГЕОМЕТРИЧНА КОНСТРУКЦИЯ НА КРИВА НА ЧЕВА

Сава Гроздев, Веселин Ненков

2014 година
Книжка 6
КОНКУРЕНТНОСТ, ПОРОДЕНА ОТ ТАНГЕНТИ

Сава Гроздев, Веселин Ненков

Книжка 5
ИНФОРМАТИКА В ШКОЛАХ РОССИИ

С. А. Бешенков, Э. В. Миндзаева

ОЩЕ ЕВРИСТИКИ С EXCEL

Пламен Пенев

ДВА ПОДХОДА ЗА ИЗУЧАВАНЕ НА УРАВНЕНИЯ В НАЧАЛНАТА УЧИЛИЩНА МАТЕМАТИКА

Здравко Лалчев, Маргарита Върбанова, Ирина Вутова

Книжка 4
ОБУЧЕНИЕ В СТИЛ EDUTAINMENT С ИЗПОЛЗВАНЕ НА КОМПЮТЪРНА ГРАФИКА

Христо Крушков, Асен Рахнев, Мариана Крушкова

Книжка 3
ИНВЕРСИЯТА – МЕТОД В НАЧАЛНАТА УЧИЛИЩНА МАТЕМАТИКА

Здравко Лалчев, Маргарита Върбанова

СТИМУЛИРАНЕ НА ТВОРЧЕСКА АКТИВНОСТ ПРИ БИЛИНГВИ ЧРЕЗ ДИНАМИЧЕН СОФТУЕР

Сава Гроздев, Диана Стефанова, Калина Василева, Станислава Колева, Радка Тодорова

ПРОГРАМИРАНЕ НА ЧИСЛОВИ РЕДИЦИ

Ивайло Старибратов, Цветана Димитрова

Книжка 2
ФРАКТАЛЬНЫЕ МЕТО

Валерий Секованов, Елена Селезнева, Светлана Шляхтина

Книжка 1
ЕВРИСТИКА С EXCEL

Пламен Пенев

SOME INEQUALITIES IN THE TRIANGLE

Šefket Arslanagić

2013 година
Книжка 6
Книжка 5
МАТЕМАТИЧЕСКИЕ РЕГАТЬI

Александр Блинков

Книжка 4
Книжка 3
АКАДЕМИК ПЕТЪР КЕНДЕРОВ НА 70 ГОДИНИ

чл. кор. Юлиан Ревалски

ОБЛАЧНИ ТЕХНОЛОГИИ И ВЪЗМОЖНОСТИ ЗА ПРИЛОЖЕНИЕ В ОБРАЗОВАНИЕТО

Сава Гроздев, Иванка Марашева, Емил Делинов

СЪСТЕЗАТЕЛНИ ЗАДАЧИ ПО ИНФОРМАТИКА ЗА ГРУПА Е

Ивайло Старибратов, Цветана Димитрова

Книжка 2
ЕКСПЕРИМЕНТАЛНАТА МАТЕМАТИКА В УЧИЛИЩЕ

Сава Гроздев, Борислав Лазаров

МАТЕМАТИКА С КОМПЮТЪР

Сава Гроздев, Деко Деков

ЕЛИПТИЧЕН АРБЕЛОС

Пролет Лазарова

Книжка 1
ФРАГМЕНТИ ОТ ПАМЕТТА

Генчо Скордев

2012 година
Книжка 6
ДВЕ ДИДАКТИЧЕСКИ СТЪЛБИ

Сава Гроздев, Светлозар Дойчев

ТЕОРЕМА НА ПОНСЕЛЕ ЗА ЧЕТИРИЪГЪЛНИЦИ

Сава Гроздев, Веселин Ненков

ИЗЛИЧАНЕ НА ОБЕКТИВНИ ЗНАНИЯ ОТ ИНТЕРНЕТ

Ивайло Пенев, Пламен Пенев

Книжка 5
ДЕСЕТА МЕЖДУНАРОДНА ОЛИМПИАДА ПО ЛИНГВИСТИКА

д–р Иван А. Держански (ИМИ–БАН)

ТЕОРЕМА НА ВАН ОБЕЛ И ПРИЛОЖЕНИЯ

Тодорка Глушкова, Боян Златанов

МАТЕМАТИЧЕСКИ КЛУБ „СИГМА” В СВЕТЛИНАТА НА ПРОЕКТ УСПЕХ

Сава Гроздев, Иванка Марашева, Емил Делинов

I N M E M O R I A M

На 26 септември 2012 г. след продължително боледуване ни напусна проф. дпн Иван Ганчев Донев. Той е първият професор и първият доктор на науките в България по методика на обучението по математика. Роден е на 6 май 1935 г. в с. Страхилово, В. Търновско. След завършване на СУ “Св. Кл. Охридски” става учител по математика в гр. Свищов. Тук той организира първите кръжоци и със- тезания по математика. През 1960 г. Иван Ганчев печели конкурс за асистент в СУ и още през следващата година започ

Книжка 4
Книжка 3
СЛУЧАЙНО СЪРФИРАНЕ В ИНТЕРНЕТ

Евгения Стоименова

Книжка 2
SEEMOUS OLYMPIAD FOR UNIVERSITY STUDENTS

Sava Grozdev, Veselin Nenkov

EUROMATH SCIENTIFIC CONFERENCE

Sava Grozdev, Veselin Nenkov

FIVE WAYS TO SOLVE A PROBLEM FOR A TRIANGLE

Šefket Arslanagić, Dragoljub Milošević

ПРОПОРЦИИ

Валя Георгиева

ПЪТЕШЕСТВИЕ В СВЕТА НА КОМБИНАТОРИКАТА

Росица Керчева, Румяна Иванова

ПОЛЗОТВОРНА ПРОМЯНА

Ивайло Старибратов

Книжка 1
ЗА ЕЛЕКТРОННОТО ОБУЧЕНИЕ

Даниела Дурева (Тупарова)

МАТЕМАТИКАТА E ЗАБАВНА

Веселина Вълканова

СРАВНЯВАНЕ НА ИЗРАЗИ С КВАДРАТНИ КОРЕНИ

Гинка Бизова, Ваня Лалева