-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Change images and fix text #8
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
При 07.GCD-01.PNG да се използва !==.
Като цяло използването на конструктори за примитивните типове ( Number(args[0] ) е доста непрепоръчително. Алтернатива би било parseInt, parseFloat ... или по - хакерския вариант, който само споменавам -> +args[0]
chapter-07-complex-loops.md
Outdated
@@ -41,11 +41,11 @@ | |||
|
|||
Можем да решим задачата чрез следната поредица от действия (алгоритъм): | |||
|
|||
* Четем числото **`n`** от входа на конзолата. | |||
* Създаваме метод, който ще приема числото **`n`** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
функция, а не метод. Също така е по - коректно да се използва "декларирам/е". И не знам дали това, че обяснението за функции е в следваща глава, не е проблем
chapter-07-complex-loops.md
Outdated
@@ -58,13 +58,13 @@ | |||
|
|||
Можем да решим задачата по следния начин: | |||
|
|||
* Четем числото **`n`** от входа на конзолата. | |||
* Създаваме **`for` цикъл**, като присвояваме **`int i = n`** . | |||
* Създаваме метод, който ще приема числото **`n`** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same
chapter-07-complex-loops.md
Outdated
@@ -123,11 +123,11 @@ | |||
|
|||
* Създаваме променлива **`num`** за текущото число, на която присвояваме начална **стойност 1**. | |||
* За условие на цикъла слагаме **текущото число <= n**. | |||
* В **тялото на цикъла**: отпечатваме стойността на текущото число и увеличаваме текущото число, използвайки формулата от условието на задачата. | |||
* В **тялото на цикъла**: отпечатваме стойността на текущото число и го увеличаваме, използвайки формулата от условието на задачата. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
стойността на променливата
chapter-07-complex-loops.md
Outdated
|
||
Ще решим задачата чрез **алгоритъма на Евклид**: | ||
|
||
* Създаваме променливи **`a`** и **`b`**, на които присвояваме **целочислени** стойности, взети от входа на конзолата. | ||
* Създаваме променливи **`a`** и **`b`**, на които присвояваме **целочислени** стойности, подадени на метода. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
функцията
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
декларираме
chapter-07-complex-loops.md
Outdated
@@ -225,15 +225,15 @@ print а; | |||
|
|||
Ето как по-конкретно можем да пресметнем факториел: | |||
|
|||
* Създаваме променливата **`n`**, на която присвояваме целочислена стойност взета от входа на конзолата. | |||
* Създаваме променливата **`n`**, на която присвояваме целочислена стойност подадена на метода. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
функция, декларираме
chapter-07-complex-loops.md
Outdated
@@ -322,15 +322,15 @@ print а; | |||
|
|||
Ето го алгоритъмът за проверка за просто число, разписан постъпково: | |||
|
|||
* Създаваме променливата **`n`**, на която присвояваме цяло число въведено от входа на конзолата. | |||
* Създаваме променливата **`n`**, на която присвояваме цялото число, което е подадено на метода. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same
chapter-07-complex-loops.md
Outdated
|
||
Ето една идея как можем да решим задачата: | ||
|
||
* Създаваме променлива **`n`**, на която присвояваме начална стойност **0**. | ||
* Създаваме безкраен **`while`** цикъл, като за условие ще зададем **`true`**. | ||
* В **тялото на цикъла**: | ||
* Вземаме целочислена стойност от входа на конзолата и я присвояваме на **`n`**. | ||
* Вземаме целочислена стойност, която е подадена на метода и я присвояваме на **`n`**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same
chapter-07-complex-loops.md
Outdated
|
||
Защо се получава така? Както виждаме, в резултата **липсва "1 1"**. Когато програмата стига до там, че **`i = 1`** и **`j = 1`**, тя влиза в **`if`** проверката и изпълнява **`break`** операцията. По този начин се **излиза от вътрешния цикъл**, но след това продължава изпълнението на външния. **`i`** нараства, програмата влиза във вътрешния цикъл и принтира резултата. | ||
|
||
<table><tr><td><img src="/assets/alert-icon.png" style="max-width:50px" /></td> | ||
<td>Когато във <b>вложен цикъл</b> използваме оператора <b><code>break</code></b>, той прекъсва изпълнението <b>само</b> на вътрешния цикъл.</td> | ||
</tr></table> | ||
|
||
Какво е **правилното решение**? Един начин за решаването на този проблем е чрез деклариране на **`bool` променлива**, която следи за това, дали трябва да продължава въртенето на цикъла. При нужда от изход (излизане от всички вложени цикли), се прави **`true`** променливата и се излиза от вътрешния цикъл с **`break`**, а при последваща проверка се напуска и външния цикъл. Ето и примерна имплементация на тази идея: | ||
Какво е **правилното решение**? Един начин за решаването на този проблем е чрез деклариране на **`bool` променлива**, която следи за това, дали трябва да продължава въртенето на цикъла. При нужда от изход (излизане от всички вложени цикли), променливата се прави **`true`** и се излиза от вътрешния цикъл с **`break`**, а при последваща проверка се напуска и външния цикъл. Ето и примерна имплементация на тази идея: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
променливата се прави -> променливата сменя стойността си
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Приемам забележките на Павел. Очакваме обновена версия с нанесени поправки.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ползвай прави кавички "". В тази картинка имаш криви кавички, които ако се изпишат в сорс кода, той няма да работи: https://raw.githubusercontent.com/SoftUni/Programming-Basics-Book-JS-BG/f0dcee5bd09129ed9becd1578b0e2a761a1b2b66/assets/chapter-7-1-assets/00.Do-while-01.PNG
chapter-07-complex-loops.md
Outdated
* За условие на цикъла слагаме израз, който е **`true`**, ако числото от входа **не е** в диапазона посочен в условието. | ||
* В **тялото на цикъла**: отпечатваме съобщение със съдържание "**Invalid number!**" на конзолата, след което присвояваме нова стойност за **`num`** от входа на конзолата. | ||
* След като вече сме валидирали въведеното число, извън тялото на цикъла отпечатваме стойността на числото. | ||
* Декларираме променлива **`num`**, на която присвояваме целочислената стойност на пърия аргумент, подаден на фунцкията. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Трябва да е "първия", а не "пърия"
chapter-07-complex-loops.md
Outdated
} | ||
Console.WriteLine("Even number entered: {0}", n); | ||
console.log("Even number entered: {0}", n); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Трябва да се оправи placeholder-a
``` | ||
|
||
|
||
## Упражнения: уеб приложения с по-сложни цикли |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Няма ли да имаме упражнения към тази глава?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
В C# книгата имаше. Ако може да се адаптира същото за JS, ще е най-добре.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Само упражнението за уеб не съм сложила, защото го нямаше в материалите, а също така и в Java книгата.
Картинките нещо не се визуализират? Линковете към Judge не са сменени. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Главата е готова.
No description provided.