SoftUni Wallpapers

Попаднах на няколко готини art-а в all-free-download.com и си казах, какви хубави SoftUni wallpapers може да излезнат… Много, много набързо скалъпих няколко и за десктоп, и за мобилни телефони. Enjoy:

SoftUni Wallpapers – DESKTOP 1080×1920:

SoftUni-Wallpaper-2---1920x1080 SoftUni-Wallpaper-7---1920x1080 SoftUni-Wallpaper-6---1920x1080 SoftUni-Wallpaper-5---1920x1080 SoftUni-Wallpaper-4---1920x1080 SoftUni-Wallpaper-3---1920x1080 SoftUni-Wallpaper-1---1920x1080

SoftUni Wallpapers – MOBILE 1080×1920:

SoftUni-Wallpaper-1---MOBILE-1080x1920 SoftUni-Wallpaper-2---MOBILE-1080x1920 SoftUni-Wallpaper-3---MOBILE-1080x1920 SoftUni-Wallpaper-4---MOBILE-1080x1920

SoftUni Homeworks: JAVA Basics course – Java Collections (Масиви, списъци, стрингове, речници, множества)

Templates--JAVAОбяснение на задачите/упражненията от домашното към лекцията Масиви, списъци, стрингове, речници, множества от курса JAVA Basics в SoftUni.

Условията на задачите – тук

Кодът с решенията на задачите – тук

 

 

Задача 1: Няма нищо за обяснение, като за първа задача. В случая си заделяме масив от определени стойности, както подобава за езици като Java и C#, пълним го със стойности и го принтираме.

Задача 2: В тази задача, ни се обръща внимание как става сравнението на стринговете в Java. Мислите си, че е с „==“, ама не – трябва да пишете str.equals(str2). Тегава история си е Java-та за писане, няма спор 🙂

Задача 3: В тази задача, използвам Речник реализиран с червено-черно дърво (TreeMap), в която да събирам стринговете по ключ стойност. В тази структура от данни ключовете се пазят сортирани. Обръщам внимание, че когато се опитаме да вземем стойност ( object.get(key) ) се връща стойността по даден ключ. Ако в речника няма двойка с такъв ключ се връща null. За да обходим самия речник е необходимо да използваме интерфейса Map.Entry и неговия метод entrySet(). Този интерфейс декларира методи getKey() и getValue(), чрез които вече можем да получим достъп до ключовете и стойностите на TreeMap-а.

Задача 4: Обръщайте внимание на подсказките към задачите. В случая, подсказката към тази ни насочва към оттренирването на списъците в Java. Малко по-дървенички са направени отколкото в C#, но все пак хубавото е че ги има. Алгоритъмът за намиране на най-голяма нарастваща поредица няма да го разяснявам, тъй като той вече е добре познат от C# задачите.

Задача 5: Задачата „заспива“ само с едно сплитване по regEx и взимане на дължината на елементите в масива от стрингове.

Задача 6: Четем текста и търсената дума. Сплитваме с regEx и след това с един цикъл броим колко пъти търсената дума я има в текста.

Задача 7: Доста елегантни решения могат да се измислят тук, но на мен ми хареса това, в което просто обхождаме стринга и събстрактваме ( substring() ) и сравняваме ( equals() ) низовете в него.

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

SoftUni Homeworks: JAVA Basics course – Java Syntax (данни, оператори, изрази, работа с конзолата, условни конструкции)

Templates--JAVAОбяснение на задачите/упражненията от домашното към лекцията Java Синтаксис (данни, оператори, изрази, работа с конзолата, условни конструкции) от курса JAVA Basics в SoftUni.

Условията на задачите – тук

Кодът с решенията на задачите – тук

 

 

Задача 1: Четем от конзолата стойностите за двете страни на квадрата (scanner.nextInt()), умножаваме ги и намираме лицето му.

Задача 2: Идеята на задачата е да се състави израз, който да изчислява подадените стойности според някаква завъртяна математическа формула. Относно извеждането на резултата – методът Math.abs() връща абсолютната стойност на аргумента.

Задача 3: Трябва да проверим дали дадени координати Х и Y се намират във или извън 3 правоъгълника с различни координати. Внимавайте за разделителя на double стойностите, които подавате в конзолата – в примерните данни в условието на задачата те са с точка (примерно 11.6), но ако при вас гърми IDE-то гърми, пробвайте да ги подавате със запетая (11,6).

Задача 4: Задача, в която е удачно да си припомним метода Math.min() – сравнява две числа и връща по-малката стойност.

Задача 5: Конвертираме десетичното число към шестнайсетично чрез готовия метод Integer.toHexString().

Задача 6: Тук трябва да изпробваме някой от форматиращите способности на System.out.printf().

System.out.printf(„|%-10s|%010d|%10.2f|%-10.3f|“, hexAString,
                Integer.parseInt(binAString), b, c);

% – означава началото на форматирашият низ.

%s – предназначен да принтира стрингов аргумент.

%f – prints a floating-point argument.

%.2f – prints a floating-point argument with 2 digits precision.

%d – принтира цяло число

10 – броят на клетките, в които ще се отпечата съответната променлива, ако е -10 тя ще е ляво подравнена.

%n – преминава на нов ред след отпечатването.

Задача 7:  Използвам Integer.bitCount().

 

SoftUni Homeworks: JAVA Basics course – Introduction to Java (Въведение в Java, JDK и Eclipse)

Templates--JAVAОбяснение на задачите/упражненията от домашното към лекцията Въведение в Java, JDK и Eclipse от курса JAVA Basics в SoftUni.

Условията на задачите – тук

Кодът с решенията на задачите – тук

 

 

Задача 3: Учим в тази задача с едно от първите неща в програмирането, а именно да принтираме нещо на конзолата. В Java това става с метода System.out.println() или System.out.print().

Задача 5:  Задача насочваща ни вниманието към java.time.LocalDateTime() класа в Java  за работа с време. Повече за него тук.

Задача 6:  Сумирането на числа в Java става по стандартния начин с оператора +. По интересно е четенето от конзолата, което става чрез класа java.util.Scanner. Създава се инстанция на „Скенера“, който следи за последователността от параметри, които се подават в конзолата и ги записва в предвидените за това променливи. Например, ако искаме да прочетем поредица от две числа, заделяме две променливи, на които им казваме да „дебнат“ за своите стойности от конзолата:
int first = scanner.nextInt();
int second = scanner.nextInt();

Също така се старайте да не отваряте по няколко Scaner-а върху един и същ входен поток (System.in).

Задача 8: – Класическа задача за сортиране, подобна на тези в C#. Сортирането на масив от елементи в Java става чрез класа java.util.Arrays и  метода Arrays.sort().

SoftUni Homeworks: PHP Basics course – Arrays, Strings, Objects (Масиви, стригнове, обектни)

PHP-TemplatesОбяснение на задачите/упражненията от домашното към лекцията Arrays, Strings, Objects от курса PHP Basics в SoftUni. Добре е да се вмъкнат следните редове, за да нямате проблем с омазване на кирилицата в PHP и UTF-8.
<?php

header(„Content-Type: text/html; charset=utf-8“);

mb_internal_encoding(„utf-8“);

?>

Условията на задачите – тук

Кодът с решенията на задачите – тук

Задача 1: Задачата се решава с един замах с функцията array_count_values: „Функция array_count_values() връща масив, като използва стойностите на input като ключове и броя на техните появи в input като стойности. “

Задача 2: ASCII стойността на чаръктъра се взима с PHP функцията ord(). В зависимост от това дали е четна или нечечетна – оцветяваме буквата в съответния цвят.

Задача 3: Задачата като сложност не е нищо особено, просто се четат стойностите които се подават в полетата и се принтират като HTML тагове динамично… Използвал съм един малко по-различен синтаксис в PHP за условните конструкции, за да е по-пригледен кода… Просто вместо да се използват фигурните скоби, за да се сложи край на if кострукцията примерно, се слага едно <?php endif; ?> и т.н.

Задача 4: Магията с заменянето на думите от „черния списък“ със звездички може да стане по много начини, включително и с callback фунския, но се спрях на варианта с методите str_replace() и str_repeat(), на който се подават звездичките „*“ и дължината на стринга т.е. колко пъти да се повторят тези звездички.

SoftUni Homeworks: PHP Basics course – Flow Control (Loops, Functions)

PHP-TemplatesОбяснение на задачите/упражненията от домашното към лекцията Flow Control от курса PHP Basics в SoftUni.

Условията на задачите – тук

Кодът с решенията на задачите – тук

 

 

Задача 1: Редовете на таблицата ги печатаме с for цикъл, като инкрементираме с +2.  Има много функции, които служат за закръгляне на число – number_format(), round()…

Задача 2: Задача, в която ще ни трябва рандом генератора в PHP – rand(). Правим си таблицата, като в нейното тяло пускаме един for цикъл, където попълваме с rand() полетата.

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

Задача 5: На първо четене в тази задача изглежда като да ни чака много писане, но с помощта на 3 готови функции в PHP, нещата значително се опростяват. Първо използваме ctype_digit функцията, чрез която връща true или false в зависимост от това дали проверявания стринг се състои само от числа или е примесен и с чарове. След това вместо да обхождаме индексите на стринга и да ги събираме, направо може да го сплитнем с str_split функцията, която ще ни върне масив от стойностите на стринговия низ, след това да подадем този масив на функцията array_sum, която вместо нас ще сумира всичките му стойности вътре в него. Яко 🙂

 

SoftUni Homeworks: PHP Basics course – PHP Syntax (PHP Синтаксис)

PHP-TemplatesОбяснение на задачите/упражненията от домашното към лекцията PHP Syntax от курса PHP Basics в SoftUni.

Условията на задачитетук.

Кодът с решенията на задачитетук.

 

Задача 1: Декларираме няколко променливи в PHP, използвайки доларчето ($). Конкатенираме две от тях, за да получим $fullName, като това в езика PHP става с точка (.), а не с плюс (+), както логично бихте очаквали да е. Това си е някаква тъпа особеност на PHP и ако се опитате да конкатенирате стрингове с плюса ще стане така, че заради аритметичния оператор (+) стринговете ще се кастнат към int и няма да получите очаквания резултат. Отпечатването става чрез метода echo, като форматирането на стринга може да стане така чрез точките:

echo „My name is “ . $firstName . “ “ . $lastName . “ and I am “ . $age .  “ years old.“

Или за по лесно може да стане така:

echo „My name is $fullName and I am $age year old.“;

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

Задача 3: Тук трябва да прочетем какво правят три метода – is_numeric, var_dump и gettype. Интерсното при is_numeric е, че ако му подадете число като стринг (примерно „3“) ще ви върне true.

Задача 4: Докато се опитва човек да разпише алгоритъма за тази задачка, неминуемо ще се сблъска с това, което хората често казват за PHP – за да се свърши едно нещо, понякога има по няколко метода, които го правят… Например имало sizeof(), с който да си вземете дължината на елементите в масива, вършел работа, ама било по- хубаво да ползвате count() и т.н.
П.П. Принтирането на масив с print_r() става много елегантно 🙂

Задача 6: Задача, която вече е в духа на PHP. Правим таблица, в която td тага чрез друг PHP таг поместваме имената на променливите, които съдържат информацията за човека.

Задача 7: В тази задача трябва да се запознаем с isset. Правим си inpute полета и въвеждаме стойности в тях. Ако сме въвели име например ($_GET[‘name’]), ще се изпълни условието в if-а (isset ще върне true защото променливата isset $_GET[‘name’] съществува) и ще се изпълни условието в скобите.

Успешно преминаване в Ниво 2 на СофтУни

Ае, честито да ми е преминаването в следващото (присъствено) Ниво 2, да е честито и на всички колеги, които се водим първи в историята випуск на СофтУни. Като цяло самото Ниво 1 не беше много трудно, но това лято покрай бачкането, Световното и една камара други задачи, имаше моменти в които ми идеше да се откажа, доста нанагорно ми дойде, но в крайна сметка стиснах зъби и го избутах до края. Ще видим как ще е следващото Ниво, със сигурност трудността ще се покачва, но това положението – излизаме и играем за победа, както се казва 🙂

Ето и малко статистика изнесена от самия Наков, относно това първо Ниво на СофтУни:

„Ето моята статистика за изминалото ниво #1 (май-август 2014):

  • Класирани за ниво #2 (с 3 или повече взети курса):
    • Общо: 403 (от 569) -> 71%
    • Присъствено: 215 (от 250) -> 86%
    • Онлайн: 188 (от 319) -> 59%
  • Среден успех от ниво #1
    • Присъствено: 4.44
    • Онлайн: 3.73

Codehunt – игра, която тества знанията ви по програмиране

codehunt-menuТози линк седи буукмаркнат в браузъра ми вече от около половин година и все си казвам, че трябва да го споделя в блога… Е, мисля че е крайно време да го сторя, защото е настина много готин. Няма да навлизам в подробности, просто влезте и го разгледайте… Представлява нещо като игра, като всяко следващо ниво ви се дава парчета код, които да ги нагодите, така че да сработят. Принципът е като Judge автоматизираната система, която ни оценява на изпитите. Езиците, на които можете да се пробвате с казусите са C# и Java, като дори и да нямате много опит с тях, пак можете да се пробвате, просто трябва да внимавате за особеностите им…

codehunt-screenshot^ в ляво ви се дава кода, който да подкарате да работи, а в дясно виждате резултата от тестовете.

Нов раздел в блога – PHP

PHP-TemplatesОтдавна нищо не съм писал и си признавам, че доста го позанемарих този блог, но няма какво да се прави. Когато времето не стига и няма такова – наистина няма време и това е положението, човек се съобразява с този факт и се нагажда към него и толкова… В случая блогът ми, който между другото стана на една година {да му е честит рождения ден на патерица, и мерси на всички вас, които по една или друга причина сте попаднали тук и четете „глупостите ми“, надявам се че поне с нещо са ви полезни} няма как да получи каквото и да било внимание, тъй като това лято покрай работата и ученето в СофтУни е абсолютна лудница, но няма как, т’ва е положението, темпото си е доста високо и няма шест-пет…

И така в бясното и забързано препускане из курсовете на СофтУни този месец сме на тема.. PHP. Основи разбира се, ама най-най базови, колкото да имаме представа изобщо за какво става дума… Надали някой си въобразява, че за 3 седмици ще станем някви PHP гурута 😀 Съответно викам си аре ще отделя няколко минутки и ново разделче в блога да направя, даже мисля този път да се опитам да си качвам и домашните към курса, а не както се получи с Java раздела, за който дотолкова нямаше време, че накрая си остана с 2 поста вътре, ама току виж някой ден се върна с разцъкването на тоя език и го обогатя, кой знае… А дотогава – честит да ми е новия раздел в блога, в който като за начало ще си говорим за PHP основите 🙂

Design a site like this with WordPress.com
Първи стъпки