C, PHP, VB, .NET

Дневникът на Филип Петров


Авторски архив

* Елемент от игра с NetBeans

Публикувано на 19 ноември 2015 в раздел УКИ.

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

Реализирайте работния екран в нещо подобно на това: Прочети още...

.

 


* Местене на обекти чрез събития с NetBeans

Публикувано на 19 ноември 2015 в раздел УКИ.

В този урок ще покажем как можем да вмъкваме картинки и да местим обекти по екрана. Ще се запознаем и със събитието "натиснат бутон на клавиатурата". От самото начало подчертаваме, че това НЕ е правилният начин да се местят обекти от библиотеката Swing - това е само начин да го реализираме бързо и лесно за учебни цели. За повече информация вижте послеписа.

1. Създайте нов проект BallMover с JFrame в пакет ballmover.

2. С десен бутон върху създадения JFrame изберете Set Layout > Border Layout Прочети още...

.

 


* Графичен калкулатор с NetBeans

Публикувано на 17 ноември 2015 в раздел УКИ.

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

След като стартирате NetBeans, отидете на File > New Project. Изберете Java Application, след което продължете с Next: Прочети още...

.

 


* Множества: хеш таблици и червено-черни дървета

Публикувано на 15 ноември 2015 в раздел ПИК3 Java.

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

С казаното дотук не е изненада, че в Java популярните имплементиращи интерфейс Set класове HashSet, LinkedHashSet и TreeSet всъщност използват именно HashMap, LinkedHashMap и TreeMap вътре в себе си. Например извиквайки метод add на един HashSet, той извиква метод put на вградения в него HashMap, като му подава параметри put(yourObject, dummyObject), където yourObject е вашия обект (използва се за key), а DummyObject e вградена в HashSet референция към следното: Прочети още...

.

 


* Речници: хеш таблици и червено-черни дървета

Публикувано на 15 ноември 2015 в раздел ПИК3 Java.

Map е един от често използваните интерфейси в Java. Чрез него се реализират т.нар. "речници". В речниците имаме записани двойки от стойности (ключ, стойност). Целта е да успяваме много бързо да намираме стойността, търсейки по чрез нейния ключ. Много често по интервюта за работа се задават въпроси свързани с класове, които го имплементират. Прочети още...

.

 


* Изходен код от упражнение 8, 2015

Публикувано на 13 ноември 2015 в раздел ПИК3 Java.

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

.

 


* Изподен код от упражнение 7, 2015

Публикувано на 06 ноември 2015 в раздел ПИК3 Java.

Задача 1. Реализирайте клас Author (автор). В него член-променливи са имена (name от тип String), държава (country от тип String) и телефонен номер (phone от тип String). Направете само конструктор с подадени параметри. Променливите name и country направете само за четене, а phone направете така, че да може да се чете и променя. За phone се погрижете да е записан в следния формат: xxx-xxx-xxxx (например 567-123-8888 e валиден телефон). Предвидете допълнителна възможност да бъде въведен телефон и в алтернативни два формата – xxxxxxxxxxx (например 5671238888) или (xxx) xxx-xxxx (например (567) 123-8888). Ако в set метода се подаде телефон в алтернативен формат, вие трябва да го конвертирате до стандартния и да го запишете в него. Прочети още...

.

 


* Изходен код от упражнение 6, 2015

Публикувано на 30 октомври 2015 в раздел ПИК3 Java.

Трябва да се напише програма, която решава различни типове математически уравнения. Реализирайте следната йерархия:

Задача 1. Дефинирайте интерфейс Solvable с действия: Прочети още...

.

 


* Изходен код от упражнение 4, 2015

Публикувано на 29 октомври 2015 в раздел ПИК3 Java.

Задача 1. Дефинирайте интерфейс “Buyable”, в който дефинирайте действиe “int buy(int quantity)” (купуване на продукт) и действие “String getName()” (взимане на името на продукта).

Задача 2. Дефинирайте клас “Product”, който имплементира интерфейс “Buyable”. Член променливи са:

  • id – идентификатор на продукта в склада от тип int;
  • name – описание на продукта, записано в String;
  • quantity – наличност (бройки) в склада от тип int.

Защитете член променливите по следния начин:

  • id трябва да е винаги положително число (строго по-голямо от 0);
  • quantity трябва да е винаги по-голямо или равно на 0;
  • name да бъде само за четене.

Реализирайте метод buy. Идеята му е по подадено количество стока от даден продукт да връща или “id” на продукта в склада (ще бъде положително число), или -1 (невалидно id) ако такова количество не е налично или ако е подадена невалидна стойност за количество (<=0). Ако покупката е успешна, да намалява стойността на член-променлива quantity с количеството, което е закупено.

Задача 3. Реализирайте клас “BetterProduct”, който наследява клас “Product” и предефинира метод buy по следния начин – вече вместо да връща -1  при неуспех, трябва да хвърля RuntimeException с подходящо съобщение за грешка.

Задача 4. Направете клас с main метод, в който инициализирайте масив с два елемента от тип Buyable. В него запишете един Product и един BetterProduct. Обходете масива с цикъл и отпечатайте имената на продуктите на екрана. Прочети още...

.

 


* Алгоритми – словесно описание и блок-схеми

Публикувано на 22 октомври 2015 в раздел Информатика.

Основно понятие при обработката на информация е алгоритъм. Всички изчисления в една компютърна програма се правят по предварително определени правила. Съвкупност от логически свързани правила ще наричаме алгоритъм. Като формална дефиниция ще приемем следната:

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

.