diff --git a/chapter-06-nested-loops-exam-problems.md b/chapter-06-nested-loops-exam-problems.md
index ba9534d..9aa84cf 100644
--- a/chapter-06-nested-loops-exam-problems.md
+++ b/chapter-06-nested-loops-exam-problems.md
@@ -1,6 +1,6 @@
-# Глава 6.2. Вложени цикли – изпитни задачи
+# Chapter 6.2. Nested Loops – Exam Problems
-В предходната глава разгледахме **вложените цикли** и как да ги използване за **рисуване** на различни **фигури на конзолата**. Научихме се как да отпечатваме фигури с различни размери, измисляйки подходяща логика на конструиране с използване на **единични и вложени `for`** цикли в комбинация с различни изчисления и програмна логика:
+In the previous chapter we looked at **nested loops** and how to use them to **draw** different kinds of **figures on the console**. We learned how to print figures with different sizes, thinking of an appropriate logic to construct them using **single and nested `for`** loops in combination with various calculations and program logic:
```java
for (int row = 1; row <= 5; row++) {
@@ -12,162 +12,162 @@ for (int row = 1; row <= 5; row++) {
}
```
-Декларирахме си и собствен метод **`repeatStr(…)`**, който ни помага да печатаме **даден символ** (или поредица от символи) **определен** от нас брой пъти:
+We also declared our own method **`repeatStr(…)`** which helps us to print **a given symbol** (or a series of characters) **certain** number of times:
![](assets/chapter-6-2-images/00.RepeatStr-custom-method-01.png)
-## Изпитни задачи
+## Exam Problems
-Сега нека решим заедно няколко изпитни задачи, за да затвърдим наученото и да развием още алгоритмичното си мислене.
+Let's solve several exam problems related to nested loops to practice what we have learned and to further develop our algorithmic thinking.
-## Задача: чертане на крепост
+## Problem: Drawing a Fort
-Да се напише програма, която прочита от конзолата **цяло число n** и чертае **крепост** с ширина **2 * n колони** и височина **n реда** като в примерите по-долу. Лявата и дясната колона във вътрешността си са широки **n / 2**.
+Write a program that reads from the console **an integer n** and draws **a fortress** with width **2 * n columns** and height **n rows** like the examples below. The left and right columns on the inside are with width **n / 2**.
-### Входни данни
+### Input Data
-Входът е **цяло число n** в интервала [**3 … 1000**].
+The input is an **integer n** in the range of [**3 … 1000**].
-### Изходни данни
+### Output Data
-Да се отпечатат на конзолата **n** текстови реда, изобразяващи **крепостта**, точно както в примерите.
+Print on the console **n** text rows, depicting **the fortress**, exactly like the examples.
-### Примерен вход и изход
+### Sample Input and Output
-|Вход|Изход|Вход|Изход|
+|Input|Output|Input|Output|
|----|----|----|----|
|3|/^\/^\
| |
\_/\_/
|4|/^^\/^^\
| |
| |
\__/\__/
|
-|Вход|Изход|Вход|Изход|
+|Input|Output|Input|Output|
|----|----|----|----|
|5|/^^\__/^^\
| |
| |
| __ |
\__/ \__/
|8|/^^^^\____/^^^^\
| |
| |
| |
| |
| |
| ____ |
\____/ \____/
|
-### Насоки и подсказки
+### Hints and Guidelines
-От условието на задачата виждаме, че **входните данни** ще се състоят само от един ред, който ще съдържа в себе си едно **цяло число** в интервала [**3 … 1000**]. По тази причина ще използваме **променлива** от тип **`int`**.
+We can see from the task that the **input data** will be only one line which will contains **an integer** within the range [**3 … 1000**]. Therefore, we will use a **variable** from type **`int`**.
![](assets/chapter-6-2-images/01.Draw-fort-01.png)
-След като вече сме декларирали и инициализирали входните данни, трябва да разделим **крепостта** на три части:
-* покрив
-* тяло
-* основа
+After we have declared and initialized the input data, we must divide **the fort** into three parts:
+* roof
+* body
+* base
-От примерите можем да разберем, че **покривът** е съставен от **две кули** и **междинна част**. Всяка кула се състои от начало **`/`**, среда **`^`** и край **`\`**.
+We can see from the examples that **the roof** is made of **two towers** and **a middle part**. Each tower has a beginning **`/`**, middle part **`^`** and an end **`\`**.
|
-\ е специален символ в езика Java и използвайки само него в метода System.out.println(…) , конзолата няма да го разпечата, затова с \\ показваме на конзолата, че искаме да отпечатаме точно този символ, без да се интерпретира като специален (екранираме го, на английски се нарича “character escaping”). |
+\ is a special symbol in Java and using only it in the method System.out.println(…) , the console will not print it, that's why with \\ we show on the console that we want to print exactly this symbol, without being interpreted as a special one (екранираме го, in English this is called “character escaping”). |
-Средата е с размер, равен на **`n / 2`**, следователно можем да отделим тази стойност в отделна **променлива**. Тя ще пази **големината** на **средата на кулата**.
+The size of the middle part is **`n / 2`**, therefore we can write this value in a new **variable**. It will store the **size** of the **middle part of the tower**.
![](assets/chapter-6-2-images/01.Draw-fort-02.png)
-Декларираме си и втора **променлива**, в която ще пазим **стойността** на частта **между двете кули**. Междинната част на покрива е с размер **`2 * n - 2 * colSize - 4`**.
+Now we declare a second **variable**, in which we will store the **value** of the part **between the two towers**. The middle part of the roof has size of **`2 * n - 2 * colSize - 4`**.
![](assets/chapter-6-2-images/01.Draw-fort-03.png)
-За да отпечатаме на конзолата **покрива**, ще използваме нашия метод **`repeatStr(…)`**, който приема два параметъра **`(string, int)`** и съединява даден символ (или поредица от символи) **n** на брой пъти.
+In order to print on the console the **roof**, we will use our method **`repeatStr(…)`**, which accepts two parameters **`(string, int)`** and concatenate a certain symbol (or series of characters) **n** times.
![](assets/chapter-6-2-images/01.Draw-fort-04.png)
-**Тялото на крепостта** се състои от начало **`|`**, среда **`(празно място)`** и край **`|`**. **Средата** от празно място е с големина **`2 * n - 2`**. Броят на **редовете** за стени, можем да определим от дадените ни примери - **`n - 3`**.
+**The body of the fort** contains a beginning **`|`**, middle part **`(white space)`** and an end **`|`**. **The middle part** is a blank space with size of **`2 * n - 2`**. The number of the **rows** used for walls could be found by the given parameters - **`n - 3`**.
![](assets/chapter-6-2-images/01.Draw-fort-05.png)
-За да нарисуваме предпоследния ред, който е част от основата, трябва да отпечатаме начало **`|`**, среда **`(празно място)_(празно място)`** и край **`|`**. За да направим това, можем да използваме отново вече декларираните от нас променливи **`colSize`** и **`midSize`**, защото от примерите виждаме, че са равни на броя **`_`** в покрива.
+In order to draw the last row, which is a part of the base, we need to print the beginning **`|`**, the middle part **`(white space)_(white space)`** and an end **`|`**. In order to do this, we can use the already declared variables **`colSize`** and **`midSize`**, because we can see from the examples that they are equal to the **`_`** in the roof.
![](assets/chapter-6-2-images/01.Draw-fort-06.png)
-Добавяме към стойността на **празните места** **`+ 1`**, защото в примерите имаме **едно** празно място повече.
+We add to the values of the **blank spaces** **`+ 1`**, because we have in the examples **one** blank space more.
-Структурата на **основата на крепостта** е еднаква с тази на **покрива**. Съставена е от **две кули** и **междинна част**. Всяка една **кула** има начало **`\`**, среда **`_`** и край **`/`**.
+The structure of the **base of the fort** is the same as the one of the **roof**. It is made of **two towers** and a **middle part**. Each **tower** has a beginning **`\`**, middle part **`_`** and an end **`/`**.
![](assets/chapter-6-2-images/01.Draw-fort-07.png)
-### Тестване в Judge системата
+### Testing in the Judge System
-Тествайте решението си тук: [https://judge.softuni.bg/Contests/Practice/Index/658#0](https://judge.softuni.bg/Contests/Practice/Index/658#0).
+Test your solution here: [https://judge.softuni.bg/Contests/Practice/Index/658#0](https://judge.softuni.bg/Contests/Practice/Index/658#0).
-## Задача: пеперуда
+## Problem: Butterfly
-Да се напише програма, която прочита от конзолата **цяло число n** и чертае **пеперуда** с ширина **2 * n - 1 колони** и височина **2 * (n - 2) + 1 реда** като в примерите по-долу. **Лявата и дясната** ѝ **част** са **широки n - 1**.
+Write a program that reads from the console an **integer n** and draws a **butterfly** with width **2 * n - 1 columns** and a height **2 * (n - 2) + 1 rows** like the examples below. **The left and right** **parts** are with **width n - 1**.
-### Входни данни
+### Input Data
-Входът е **цяло число n** в интервала [**3 … 1000**].
+The input is an **integer n** in the range of [**3 … 1000**].
-### Изходни данни
+### Output Data
-Да се отпечатат на конзолата **2 * (n - 2) + 1** текстови реда, изобразяващи **пеперудата**, точно както в примерите.
+Print on the console **2 * (n - 2) + 1** text rows, depicting the **butterfly**, exactly like the examples.
-### Примерен вход и изход
+### Sample Input and Output
-|Вход|Изход|Вход|Изход|
+|Input|Output|Input|Output|
|---|---|---|---|
|3|*\ /*
@
*/ \*
|5|***\ /***
---\ /---
***\ /***
@
***/ \***
---/ \---
***/ \***
|
-|Вход|Изход|
+|Input|Output|
|---|---|
|7|*****\ /*****
-----\ /-----
*****\ /*****
-----\ /-----
*****\ /*****
@
*****/ \*****
-----/ \-----
*****/ \*****
-----/ \-----
*****/ \*****
|
-### Насоки и подсказки
+### Hints and Guidelines
-От условието на задачата виждаме, че **входните данни** ще бъдат прочетени само от един ред, който ще съдържа в себе си едно **цяло число** в интервала [**3 … 1000**]. По тази причина ще използваме **променлива** от тип **`int`**.
+From the task we can see that the **input data** will be only one line which will contains an **integer** within the range [**3 … 1000**]. That is why we will use **a variable** from type **`int`**.
![](assets/chapter-6-2-images/02.Butterfly-01.png)
-Можем да разделим фигурата на 3 части - **горно крило**, **тяло** и **долно крило**. За да начертаем горното крило на пеперудата, трябва да го разделим на части - начало **`*`**, среда **`\ /`** и край **`*`**. След разглеждане на примерите можем да кажем, че началото е с големина **`n - 2`**.
+We can divide the figure into 3 parts - **upper wing**, **body** and **lower wing**. In order to draw the upper wing, we need to divide it into parts - a beginning **`*`**, middle part **`\ /`** and an end **`*`**. After looking at the examples we find out that the beginning is with size **`n - 2`**.
![](assets/chapter-6-2-images/02.Butterfly-02.png)
-Виждаме също така, че горното крило на пеперудата е с размер **`n - 2`**, затова можем да направим цикъл, който да се повтаря **`halfRowSize`** пъти.
+We can also see that the upper wing is with size **`n - 2`**, and that's why we can make a loop which repeats **`halfRowSize`** times.
![](assets/chapter-6-2-images/02.Butterfly-03.png)
-От примерите можем да забележим, че на **четен** ред имаме начало **`-`**, среда **`\ /`** и край **`*`**, а на **нечетен** - начало **`*`**, среда **`\ /`** и край **`-`**. Следователно, трябва да направим **`if-else`** проверка дали е четен или нечетен редът и съответно да отпечатаме един от двата типа редове.
+We can see in the examples that on an **even** row we have a beginning **`-`**, middle part **`\ /`** and an end **`*`**, and on a **odd** - a beginning **`*`**, middle part **`\ /`** and an end **`-`**. Therefore, we have to do an **`if-else`** condition to check if the row is even or odd and then to draw one of the two types of rows.
![](assets/chapter-6-2-images/02.Butterfly-04.png)
-За да направим **тялото на пеперудата**, можем отново да използваме **променливата** **`halfRowSize`** и да отпечатаме на конзолата точно **един** ред. Структурата на тялото е с начало **`(празно място)`**, среда **`@`** и край **`(празно място)`**.
+In order to create the **body of the butterfly**, we can use the **variable** **`halfRowSize`** and to print on the console exactly **one** line. The structure of the body begins with **`(white spave)`**, middle part **`@`** and ends with **`(white space)`**.
![](assets/chapter-6-2-images/02.Butterfly-05.png)
-Остава да отпечатаме на конзолата и долното крило, което е идентично с горното крило.
+Now we need to print the lower wing, which is the same as the upper one.
![](assets/chapter-6-2-images/02.Butterfly-06.png)
-### Тестване в Judge системата
+### Testing in the Judge System
-Тествайте решението си тук: [https://judge.softuni.bg/Contests/Practice/Index/658#1](https://judge.softuni.bg/Contests/Practice/Index/658#1).
+Test your solution here: [https://judge.softuni.bg/Contests/Practice/Index/658#1](https://judge.softuni.bg/Contests/Practice/Index/658#1).
-## Задача: знак "Стоп"
+## Problem: "Stop" Sign
-Да се напише програма, която прочита от конзолата **цяло число n** и чертае **предупредителен знак STOP** с размери като в примерите по-долу.
+Write a program that reads from the console an **integer n** and draws the **warning sign STOP** with size as in the example below.
-### Входни данни
+### Input Data
-Входът е **цяло число N** в интервала [**3 … 1000**].
+The input is an **integer N** in the range of [**3 … 1000**].
-### Изходни данни
+### Output Data
-Да се отпечатат на конзолата текстови редове, изобразяващи **предупредителния знак STOP**, точно както в примерите.
+Print on the console text lines which depict **the warning sign STOP** as in the examples below.
-### Примерен вход и изход
+### Sample Input and Output
-|Вход|Изход|Вход|Изход|
+|Input|Output|Input|Output|
|----|----|----|----|
|3|....\_\_\_\_\_\_\_....
...//\_\_\_\_\_\\\\...
..//\_\_\_\_\_\_\_\\\\..
.//\_\_\_\_\_\_\_\_\_\\\\.
//\_\_\_STOP!\_\_\_\\\\
\\\\\_\_\_\_\_\_\_\_\_\_\_//
.\\\\\_\_\_\_\_\_\_\_\_//.
..\\\\\_\_\_\_\_\_\_//..
|6|.......\_\_\_\_\_\_\_\_\_\_\_\_\_.......
......//\_\_\_\_\_\_\_\_\_\_\_\\\\......
.....//\_\_\_\_\_\_\_\_\_\_\_\_\_\\\\.....
....//\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\\\\....
...//\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\\\\...
..//\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\\\\..
.//\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\\\\.
//\_\_\_\_\_\_\_\_\_STOP!\_\_\_\_\_\_\_\_\_\\\\
\\\\\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_//
.\\\\\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_//.
..\\\\\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_//..
...\\\\\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_//...
....\\\\\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_//....
.....\\\\_\_\_\_\_\_\_\_\_\_\_\_\_//.....
|
-|Вход|Изход|
+|Input|Output|
|---|---|
|7|........\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_........
.......//\_\_\_\_\_\_\_\_\_\_\_\_\_\\\\.......
......//\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\\\\......
.....//\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\\\\.....
....//\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\\\\....
...//\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\\\\...
..//\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\\\\..
.//\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\\\\.
//\_\_\_\_\_\_\_\_\_\_\_STOP!\_\_\_\_\_\_\_\_\_\_\_\\\\
\\\\\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_//
.\\\\\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_//.
..\\\\\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_//..
...\\\\\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_//...
....\\\\\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_//....
.....\\\\\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_//.....
......\\\\\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_//......
|
-### Насоки и подсказки
+### Hints and Guidelines
От условието на задачата виждаме, че **входните данни** ще бъдат прочетени само от един ред, който ще съдържа в себе си едно **цяло число** в интервала [**3 … 1000**]. По тази причина ще използваме **променлива** от тип **`int`**.