-
В компютърните науки често може да чуете
-
за нещо наречено блок-схема
-
за нещо наречено блок-схема
-
особено когато става дума
-
за някакъв вид алгоритъм или процес.
-
И затова реших
-
за програмите, които пиша
-
да правя проста блок-схема
-
Може би не за всяка,
-
но ще започна с някои от основните
-
За да разберем
-
че блок-схемата не е
нищо кой знае какво.
-
И така, в програмата за факториел
-
която разглеждаме през
-
последните няколко урока
-
Всяка блох-схема трябва да има начало
-
а началото се бележи
-
с кръг или овал
-
Започваме, представете си го
-
започваме от този ред
-
над присвояването на стойност към number
-
където молим потребителя да въведе нещо
-
И значи, след началото
-
искаме от потребителя входни данни
-
Ето този ред
-
молим потребителя да въведе нещо
-
Ето това тук
-
Това се изобразява с ромбоид
-
Тук имаме входни данни,
-
значи можем да кажем
-
"числото е равно на данните от потребителя"
-
Не е нужно да сте стриктни
-
с терминологията тук
-
важно е да кажете
-
какво се случва в тази стъпка
-
Ромбоида ни казва
-
че има взаимодействие с потребителя
-
Или вземаме нещо от потребителя
-
или извеждаме нещо към него
-
Тук казваме, че въведеното
от потребителя е равно на number
-
Присвояваме на number входящата стойност
-
Следващото, което правим,
е пряка операция
-
Просто указваме product да е равно на 1
-
Това се отбелязва с правоъгълник
-
"product е равно на 1"
-
"product е равно на 1"
-
И сега, предстои нещо интересно
-
Влизаме в нашия for-цикъл
-
Така. Започваме със...
-
Обаче, сега ще го запиша
-
малко по-различно
-
откокото преди
-
Значи започваме...
ето така...
-
Значи започваме...
ето така...
-
Ще започнем for-цикъла
-
с присвояване на стойност
-
т.е. задаваме стойност...
-
В един for-цикъл всъщност
-
няколко неща
се случват едновременно.
-
Първо, на i се присвоява
първото число от поредицата
-
по-точно - проверява се
дали може
-
да се присвои
първото число към i
-
Ако може,
-
цикълът продължава
-
Ако не може,
-
цикълът се прекъсва.
-
Значи, нека го направя така.
-
Ще направя една проверка ето тук.
-
Така...
"числа оставащи в поредицата"
-
А когато говоря за поредицата,
-
имам предвид
ето тази поредица тук -
-
обсегът от числа.
-
В примера, който
дадох в миналото видео
-
числото беше 3.
-
И така, числа
оставащи в поредицата.
-
Малко трудно се чете тук.
-
Ако има числа - нека кажем,
че има още числа в поредицата.
-
Ако има числа - нека кажем,
че има още числа в поредицата.
-
Значи, ако има
още числа в поредицата.
-
Тогава просто казваме
-
"нека i да е равно
на следващото число"
-
i е равно на следващото число.
-
i е равно на следващото число.
-
А ако ня...
-
...нека оставим засега
настрана случая
-
когато нямаме повече числа
-
нека кажем, че има числа
-
"i е равно на следващото число"
-
И тогава дефинираме
-
дефинираме product
-
да бъде...
-
дефинираме product...
-
всъщност искам
да го нарисувам в синьо
-
както досега...
-
Ето така
-
ако "ДА"
-
Ако има още числа
-
то "i е равно на следващото число"
-
Това е едната операция
-
А след това задаваме
нова стойност на product
-
Казваме product
да бъде равно на
-
предишната си стойност
-
умножена по i + 1
-
И в този момент, всъщност
-
се връщаме към проверката.
-
Връщаме се...
-
Ще го напиша по-хубаво
-
Връщаме се...
-
нека го направя ето тук...
-
Връщаме съм към
тази стъпка в програмата.
-
Затова се нарича цикъл.
-
Защото след като
извършим операцията
-
която е вградена в цикъла
-
се връщаме в началото
-
за да видим дали има нужда
от още завъртания на цикъла.
-
Значи, връщаме се
в началото на цикъла
-
и казваме "Ей, има ли още числа в поредицата?"
-
и това тук трябва да е върпсителен знак.