Loading...
Tr00peR avatar Tr00peR 566 Точки

[Homework] JavaScript Basics - Syntax

Здравейте колеги, прилагам решенията си на задачите от домашното по JavaScript синтаксис:

  1. powerfulCars
  2. roundingNumbers
  3. evenNumber
  4. primeChecker
  5. divisionChecker
  6. checkingBits
  7. lifetimeSupplyCalc
  8. cylinderVol
  9. treehouse
  10. digitChecker
  11. digitAsWord
  12. variables

Всичко работи, но не мисля, че е перфектно направено, така че очаквам градивна критика :)

17
JavaScript Fundamentals
borislavml avatar borislavml 368 Точки

Здравейте, колеги.

На 13-та задача SoothSayer в условието се иска функцията да връща като резултат масив съдържащ в себе си всички random генерирани item-и: "The function must return an array result[] that consists of one random item from each source array." И после да ги принтираме на конзолата с console.log(), а не през функцията.От решенията  до сега забелязах, че само колегата @ GoShow e спазил условието.

Ето и  моето решение: Digital Soothsayer

Някой успя ли да измисли regEx за 14-та задача, ще ми е интересно да видя. Ето тук има уж някакъв pattern generator, но аз така и не успях да го преборя!

2
StanDimitroff avatar StanDimitroff 90 Точки

На мен   <този>   генератор ми свърши добра работа , пробвай го wink

1
Tr00peR avatar Tr00peR 566 Точки

var regex = /^[0-9 \-+/*.()]+$/;

Това би следвало да свърши работа за последната задача :)

1
aslv1 avatar aslv1 304 Точки

Колега, при тебе работи ли?

Защото ^ трябва да е вътре в скобите, веднага след [.

Освен това трябвва да екранираш (escape) плюса, точката и малките скоби.

Аз го направих така:

expr = expr.replace(/[^\d\+\-\*\/\.\(\)%]/g, '');

Може би не е най-оптималният вариант, но толкова си разбирам laughing

Успех!

3
Tr00peR avatar Tr00peR 566 Точки

Ето моят вариант, работи си идеално, единствено минуса съм ескейпнал.

Нагодил съм го и да дава грешен инпут, ако не може да сметне израза (примерно при сбъркана скоба), или ако има непозволени символи.

http://pastebin.com/KVAz1pNz

Само че аз не променям израза, а просто го "евал-вам" само ако мачва шаблона.

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

Поздрави!

2
aslv1 avatar aslv1 304 Точки

Ето това е моето решение. Може наистина да се сложи try-catch клауза, за да не излизат undefined и грешки.

Пробвах твоя подход при мен и си работи. Браво!

0
coaster avatar coaster 412 Точки

Ей, заради тая 13-та гадателска задача изринах целия StackOverflow, целия Google, базите данни на NASA и някои поднаправления на спец-частите, а то инпута бил даден грешно... Не ще да се дефинира тая Java, и не ще, и не ще. Брех! Тя иначе била лесна като добавиш всичките кавички. Може и малко фантазия да се вкара в нея.

Малко се позабавлявах, source.

3
iuli1478 avatar iuli1478 49 Точки

Здравейте колеги ето ги и моите решения на задачите: 

https://github.com/Iuli1478/SoftUni/tree/master/_01_Semester/_04_JavaSript/Homeworks/02.JavaScriptHomework/public_html

 Според мен има няколко грешки в условията мисля, че на първата задача се иска hp to kW а не обратното и на пета задача  189 трябва да се дели (1+8+9 = 18 / 3 = 6) Поправете ме ако бъркам нещо :)

0
zornitza_gencheva avatar zornitza_gencheva 28 Точки

Здравейте колеги!

Ето го моето решение на 13-ста задача: html and javascript

Това пък е 14-ста задача: html and javaScript

Поздрави на всички! :)

1
Desso avatar Desso 146 Точки

Колежке, на 13-та мисля, че тук си го объркала лекичко:

var currentRandom = Math.floor(Math.random() * 4) + 0;

Според мен трябва да е:

= Math.floor(Math.random() * 5)

Иначе никога не се пада да караш Опел или да си в София ;)

Поздрави

1
totokn avatar totokn 0 Точки

Колега, зад.5. трябваше да съберем цифрите и тогава да правим проверка, но нищо :Д

0
slavi.koen avatar slavi.koen 38 Точки

Не съм дочел условието сори :D , но и така е вярно , смисъл по дефиниция "На 3 се делят само тези числа, на които сборът от цифрите се дели на 3". Явно съм го улучил без да искам :D

0
TsvetozarNikolov avatar TsvetozarNikolov 22 Точки

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

 

 

 

// ------------------- 1 ------------------------- //

function calcCylinderVol(value) {
var vol = Math.PI * arguments[0] * arguments[0] * arguments[1];
console.log(vol.toFixed(3));
}
calcCylinderVol(2,4);
calcCylinderVol(5,8);
calcCylinderVol(12,3);

 


// ------------------- 2 ------------------------- //

function calcCylinderVol(value) {
var vol = Math.PI * input[0] * input[0] * input[1];
console.log(vol.toFixed(3));
}

var input = [2,4];
calcCylinderVol(input);

1
shan0 avatar shan0 53 Точки

Пускам и аз моите варянти на домашното, без задачките за шампиони :) Може на някой да му е полезно.

 

ЦЪК!

0
tanija avatar tanija 60 Точки

Колеги моля за помощ за 5-та задача. Разгледах всички решенеия които сте качили, но нито едно ми помага. Повечето от вас са решили задачата с деление на 10, а някой изобщо не са разбрали че трябва да се събират цифрите на числата. Та моето решение е :

 function divisionBy3(value) {
var numb = value+"";
var length = numb.lenght;
var sum = 0;
var result = "";
for (var i = 0; i <lenght; i++) {
sum += Number(numb[i]);
}
if (sum % 3 == 0) {
return "the number is divided by 3 without remainder";
}
else {
return "the number is not divided by 3 without remainder";
}
}

Идеята ми е да се приемат числата като стринг и да се взима всяка цифра по индекс, да се парсва към число и да се сумират, но не ми се получава , някой може ли да ми кажа къде греша?
1
ttitto avatar ttitto 1153 Точки

имаш грешка при написването на length (разменила си t и h). Не е добра идея да използваш за име на променлива дума на пропърти -  визирам ето това: var length = numb.length;

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

0
tanija avatar tanija 60 Точки

Аз мисля че по условието на задачата се търси дали сумата от цифрите се дели на 3 без остатък: "finds the sum of digits of integer number n (n > 9) and checks if the sum is divided by 3 without remainder".

А иначе оправих кода сега работи, трябвало е да "стрингосам " входа: 

function divisionBy3(value) {
var numb = String(value);
var sum = 0;
for (var i = 0; i < numb.length; i++) {
sum += Number(numb[i]);
}
if (sum % 3 == 0) {
return "the number is divided by 3 without remainder";
}
else {
return "the number is not divided by 3 without remainder";
}
}

1
alek1339 avatar alek1339 57 Точки

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

0
BoYaN avatar BoYaN 336 Точки

Здравейте колеги,

това са решенията ми на това домашно.

Ще бъде чудесно да споделите критиките, предложенията и мненията си за него. 

01. PowerfulCars html  JS
02. SimpleCalculations html  JS
03. NumberIsEven html  JS
04. NumberIsPrime html  JS
05. DivisionBy3 html  JS
06. BitChecker html  JS
07. TheLifetimeSupplyCalculator html  JS
08. CylinderVolume html  JS
09. TreeOrHouse html  JS
10. DigitChecker html  JS
11. DigitAsWord html  JS
12. Variables html  JS
13. DigitalSoothsayer html  JS
14. CalculateExpression html  JS

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.