Цикли
-
Upload
mirielle-perrin -
Category
Documents
-
view
16 -
download
0
description
Transcript of Цикли
2
Съдържание на темата
Какво е цикъл? Видове цикли
while цикли
do-while цикли
for цикли
foreach цикли
Вложени цикли
3
Какво е цикъл Цикъл (loop) е основна конструкция в
програмирането, позволяваща многократно изпълнение на дадено парче сорс код Може да изпълни парче код фиксиран брой
пъти Може да изпълни парче код, докато дадено
условие е изпълнено Може да изпълни парче код за всеки елемент
на дадена колекция
Безкраен се нарича цикил, който никога не приключва изпълнението си
Изпълнявай парче код, докато дадено условие е изпълнено
while цикъл
5
while цикъл Най-простият цикъл
while (условие){ тяло на цикъла;}
Условието е израз, връщащ булев (bool) резултат – true или false
Докато резултатът е true, тялото на цикъла се изпълнява
6
Как работи
Условие
Тяло на цикъла
false
true
7
while цикъл пример
Какво ще изведе този код в конзолата?
int counter = 0;while (counter < 10){ Console.WriteLine("Number : {0}", counter); counter++;}
Демонстрации
while цикъл
do-while цикъл
10
do-while цикъл пример
Тялото на цикъла се изпълнява няколко пъти Докато условието връща true
Цикълът се изпълнява поне веднъж
do{ тяло на цикъла;}while (условие);
11
Как работи
Условие
Тяло на цикъла
true
false
Демонстрации
Do-while цикли
for цикли
14
for цикъл
Състои се от Инициализация
Булево условие
Команда за обновяване на водещата променлива
Тяло на цикъла
for (инициализация; условие; ъпдейт){ тяло на цикъла;}
15
for цикъл - инициализация
Изпълнява се само веднъж, когато цикълът започва
Най-често се използва, за да декларираме брояч
for (int i = 0; условие; ъпдейт){ тяло на цикъла;}
16
for цикъл – булево условие
Проверява се преди всяка итерация на цикъла Ако резултатът е true тялото се изпълнява
Ако резултатът е false тялото на цикъла се пропуска
for (int num = 0; num < 10 ; ъпдейт){ тяло на цикъла;}
17
for цикъл – ъпдейт
Изпълнява се след всяка итерация на циъкла
Използва се, за да увеличава стойността на брояча
for (int num = 0; num < 10 ; num++){ тяло на цикъла;}
Демонстрации
for цикли
foreach цикли
20
foreach цикъл
Обходжа всеки елемент от колекция element е променлива, която взима една по
една всички стойности на колекцията
collection може да е List, масив, или друга група от елементи с един и същи тип
foreach (Type element in collection){ statements;}
21
foreach цикъл
Горният пример обхожда масива с градове и ги принтира
string[] towns = new string[] { “Sofia", “Plovdiv", “Varna", “Burgas", “Ruse" };foreach (string town in towns){ Console.WriteLine(town);}
Демонстрации
foreach цикъл
Вложени цикли
24
Вложени цикли
Конструкция от цикъл, който има в тялото си друг цикъл се нарича вложени цикли
for (инициализация; условие; ъпдейт){ for (инициализация; условие; ъпдейт) { тяло на цикъла; } …}
Демонстрации
Вложени цикли
Въпроси?
27
Упражнения1. Напишете програма, която принтира всички
числа от 1 до N. Числото N да се чете от конзолата.Пр: N = 51 2 3 4 5
2. Напишете програма, която принтира всички числа от 1 до N, които не се делят на 2 и 7 едновременно. Пр: N= 30
1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30
28
Упражнения
3. Напишете програма, която чете от конзолата N числа и принтира най-малкото и най-голямото от тях.Примерен вход: N = 5 -> 3 9 11 -5 2Примерен изход: Max=11, Min= -5
4. Да се намери сумата на положителните числа от дадена редица с N елемента.Примерен вход: N = 4, -> 3 -6 5 1Примерен изход: 10
5. Напишете програмя, кяото изчислява N!/K! за дадени N и K (1<N<K).Примерен вход: N=5, K=3, Изход: 20
29
Упражнения6. Напишете програма, която прочита от
конзолата число N и изчислява сумата на първите N числа на Фибоначи 0, 1, 1, 2, 3, 5, 8, 13, 21 ... Всяко число от редицата на Фибоначи е сума на
предходните 2 елемента (с изключение на първия)
7. Дадена е редица с N елемента. Да се оп ре де ли най-малкото по ло жи тел но чис ло от редицата.Пр. N = 7-9 5 2 -4 12 9 -1
30
Упражнения8. Напишете програма, която намира най-
малкото общо кратно на две числаПримерен вход: 12 и 9 Примерен изход: 36
9.Да се принтират всички щастливи четирицифрени числа.Едно четирицифрено число ABCD е щастливо, когато A + D = B + C
31
Упражнения10. Напишете програма, която изчислява най-
големият общ делител на две числа a и b.Примерен вход: a=18, b=84, Изход: 6
11. Решете предходната задача използвайки алгоритъмът на Евклид.
12. Напишете програма, която число число N и принтира на матрица като долу показаната:
1 2 32 3 44 5 6
1 2 3 45 6 7 89 10 11 1213 14 15 16
N=3 N=4
32
Упражнения13. Напишете програма, която принтира
имената на всички карти от тесте с 52 карти.1 спатия2 спатия3 спатия....Поп спатияАсо спатия1 каро2 каро.....Асо пика