-
Това, което искам да направя с това видео,
-
е да Ви представя
-
една компютърна програма.
-
И в случай, че искате да продължите,
-
а аз горещо Ви препоръчвам да го направите,
-
защото истинският начин да научите информатика
-
всъщност е да се занимавате сами.
-
Това е средата на Python, така че
-
ще програмирам доста на Python
-
Тази среда се нарича PySchipter.
-
P-Y-S-C-R-I-P-T-E-R.
-
Безплатна е и се разпространява свободно.
-
Аз използвам Python...
-
мисля, че използвам Python 2.6 или 2.7.
-
Ако използвате Python 2,
-
примерите Ви ще бъдат същите като моите,
-
ще работят по същия начин.
-
Но ако използвате Python 3,
-
то ще Ви се наложи да използвате малко по-различно
-
езика от време на време, за да работи правилно.
-
Ще се опитам да обръщам внимание, когато нещо подобно възникне.
-
Така че, нека да започнем с писането на първата си компютърна програма.
-
Готиното е, .
-
че можем да пишем програмата си направо тук
-
И всъщност наистина просто редактираме текст във файл.
-
Това е всичко.
-
Просто множество инструкции
-
и компютърът ще започне
-
в началото на файла и ще тръгне надолу по файла,
-
четейки инструкцийте.
-
Въпреки че по-късно ще видите,
-
че има начин да кажем на компютъра
-
да прескача от ред на ред през инструкциите,
-
така че може да прави някои неща повече от веднъж, а някои да пропусне.
-
След като сме изяснили това, нека напишем първата си проста програма
-
и междувременно
-
ще представим някои основни концепции,
-
които съществуват в компютърната програма.
-
Нека напиша една много много проста компютърна програма.
-
Наистина проста компютърна програма.
-
Буквално е просто един израз.
-
Нека напиша само "print 3+7",
-
така че тя да вземе 3+7 и да го отпечата.
-
Програмата ще го предаде на функцията за отпечатване,
-
вградена в Python.
-
Може би ще го напиша като "print(3+7)"
-
Нека запазим файла..
-
ако се замислим, има само една команда
-
на първия ред. Тя казва да се отпечата 3+7.
-
Всъщност, нека добавим друга команда,
-
само за да видите, че тръгва отгоре-надолу.
-
Нека добавим нов ред: print(2-1)
-
и още един: print ("this is a chunk of text")
-
Сега, нека видим какво би направила тази компютърна
-
програма
-
Нека я запазим.
-
Нека я запазим.
-
Запазих я под името "testarea.py"... Това е... това е...
-
Разширението .py показва, че файлът е за Python
-
Сега, нека стартираме програмата.
-
Какво е чудесното относно тези среди за разработка?
-
Тази IDE (Интегрирана среда за разработка) e такава,
-
че в общи линии можем да пишем и стартираме програмите си от едно и също място
-
Освен това, тя оцветява текста,
-
така че може да се различи ясно кое е функция, кое не е функция,
-
различните типове данни...
-
ще кажем повече за типовете данни по-късно.
-
Да видим какво става, като стартираме програмата!
-
Ето, пуснахме я!
-
Отпечата 10, след това отпечата 1,
-
след това - "this is a chunk of text"
-
Така че направи точно каквото и казахме
-
И го стори в същата наредба
-
Започна с 3+7, което е равно на 10,
-
и го отпечата - отпечата 10.
-
после отпечата 2-1,
-
и накрая отпечата "this is a chunk of text"
-
Сега, още едно нещо, което искам да Ви представя.
-
Не много рано, това е идеята за типове данни.
-
Може би като видяхте примера,
-
имахте странното чувство, че има някаква разлика
-
между 3, 2, 1 или 7 и "this chunk of text".
-
Това е число. Мога да събирам числата. Те представят
-
някакъв вид количество. Докато това тук представя
-
парче текст. И интуицията Ви би била права -
-
това наистина са различни видове данни.
-
3, 7 и 1 - това са числа.
-
В нашия случай, те са цели числа
-
И... това тук,
-
това всъщност е низ
-
което е дума, която чувате доста в информатиката.
-
Всъщност това е последователност от символи.
-
и в Python всъщност можем да попитаме какъв тип са всички тези неща
-
Просто ги подаваме на функцията type
-
така че сега трябва да изведе типа на 3+7, а не просто 10
-
Нека опитаме. Сега ще изведа 2-1, за да Ви покажа разликата
-
След това ще изведа типа на this chunk of text
-
Типа на this chunk of text.
-
Нека запазим файла. Ще натисна Ctrl+S, което е пряк път към запазването му.
-
и после ще се опитам да пусна програмата.
-
Започва от вътрешната скоба.
-
3+7 е 10. След това намира типа на 10, който е int
-
int е типът, затова отпечатва този тип Int.
-
Ето тук го виждате, казва тип "int"
-
int е съкратено от Integer (=цяло число)
-
Ето тук пише print(2-1). Програмата го изпълнява на ето този ред,
-
изписва 1, след което изписва типа на цялото нещо тук.
-
Така че вместо да отпечата текста
-
отпечатва типа и. И типът е String.
-
следващото нещо, което искам да Ви покажа,
-
докато експериментираме с програмите,
-
е идеята за променлива (Variable). Защото ще искаме
-
да запазим тези неща на различни места.
-
В следващите видеота ще научим, че в Python
-
е по-скоро все едно имаме етикети за тези неща
-
и етикетите могат да се променят.
-
Нека напишем съвършено различна програма,
-
като използваме променливи. Готиното с Python е,
-
въпреки че някои хора не го харесват, че можеш да сложиш
-
всеки тип данни в какъвто и да е тип данни променлива.
-
Така че можем да напишем a=3+5
-
и после b=a*a-a-1
-
забележка: използваме * за умножение
-
и после можем да напишем c=a*b
-
Ще направя малко място тук, за да изглежда малко по-чисто
-
Нека отпечатаме c. Ако искате, можете да се пробвате
-
да познаете стойността на с,
-
или просто можем да пуснем програмата.
-
Така че, нека да пуснем програмата и тогава
-
ще се върнем да видим дали всичко е наред.
-
Ще запазя програмата и ще я пусна
-
Извежда, че 440 е стойността на с. Нека проверим
-
3+5=8, така че а ще има стойност 8
-
На всяко място в програмата, докато не променим а,
-
всеки път, когато пишем а, ще се разбира, че имаме предвид 8.
-
Стигаме дотук, където трябва да дефинираме b
-
като a*a. Програмата знае точно как се подреждат операциите,
-
така че умножението е първо. a*a е 64.
-
64-а е 64-8, което е 56. Минус 1 е 55.
-
така че b=55. c е a*b,
-
което е 8 пъти по 55, тоест 440. Всичко е наред.
-
Може би искате да видите какво се случва, когато
-
имаме различни а-та. Нека опитаме.
-
Можем просто да направим а равно на -6
-
и да пуснем програмата, за да видим какво се случва.
-
Получаваме -246. Можете да го проверите ако искате.
-
Започваме ред по ред, и получаваме стойността на всички тези променливи
-
как са дефинирани
-
и виждаме какъв отговор получаваме.
-
Сега, ако програмите бяха само някакви команди
-
и винаги протичаха по един и същи начин,
-
нямаше да можем да правим интересни неща!
-
За да правим наистина интересни неща, както и ще стане,
-
ще започнем да виждаме неща като условия и цикли
-
Нека видим едно условие. Ще оставя първите редове непроменени.
-
Ще напишем if (a<0). В този случай, ще print(c)
-
след това ще напишем else, и в този случай ще print (c-a)
-
Това е интересно. Може би вече предчувствате
-
какво ще се случи тук. Но нека запазим файла.
-
Невероятно е колко много може да бъде направено
-
само чрез тези условия. Така че това казва,
-
че ако а е по-малко от 0, да се направи това, иначе
-
ако а не е по-малко от 0, да се направи онова.
-
Забележете, че не се изпълнява всичко, ред по ред
-
В зависимост от това дали стойността на а е по-малка от 0 или не
-
ще се изпълни или този ред,
-
или другият.
-
И Python знае дали да изпълни
-
print(c), ако a e по-малко от 0, защото
-
print(c) има аргумент с.
-
То знае, че има други аргументи,
-
заради тази запетая
-
и ако а е не по-малко от 0, тогава се изпълнява този else.
-
И ако искате да направите нещо друго след това,
-
без значение дали а е по-малко от нула или не,
-
можете да се отървете от тази if-else клауза,
-
като сложим край на този абзац. Така че сега можем да отпечатаме един низ.
-
Всъщност, нека добавим още код към тази клауза.
-
Нека да отпечатаме тук "a<0"
-
Забележка: Това няма да бъде изчислено.
-
То е в низ, така че направо ще се отпечата.
-
Точно тук ще кажем
-
print ("a is not less than 0")
-
Това е интересна програма. Нека сега я пуснем.
-
Да се надяваме, че ще работи. Запазвам я. Нека пуснем програмата.
-
Отпечата "a<0", така че явно сме вътре в тази клауза.
-
след това отпечатва с, което е -246.
-
Това не се изпълни, защото би било
-
изпълнено само ако а не беше по-малко от 0.
-
Но след това излиза от клаузата и отпечатва
-
"we are done with the program", без значение стойността на а.
-
Нека сега променим а, за да видим дали можем
-
да пуснем другата клауза. Нека а е по-голямо от 0
-
Нека присвоим на а стойността 9 и пуснем програмата.
-
Така, а е 9. Програмата проверява дали а е по-малко от нула,
-
и очевидно а не е по-малко от 0, така че тя не би
-
пуснала това, и стига до else клаузата.
-
Сега би отпечатала "a is not less than 0"
-
каквото и стори тук, след това отпечата с-а
-
което е 630. Излиза от клаузата
-
и без значение каква е стойността на а,
-
отпечатва "we are done with the program".