< Return to Video

Въведение в типове данни и променливи на програмата

  • 0:01 - 0:03
    Това, което искам да направя с това видео,
  • 0:03 - 0:07
    е да Ви представя
  • 0:07 - 0:09
    една компютърна програма.
  • 0:09 - 0:10
    И в случай, че искате да продължите,
  • 0:10 - 0:11
    а аз горещо Ви препоръчвам да го направите,
  • 0:11 - 0:13
    защото истинският начин да научите информатика
  • 0:13 - 0:15
    всъщност е да се занимавате сами.
  • 0:15 - 0:18
    Това е средата на Python, така че
  • 0:18 - 0:21
    ще програмирам доста на Python
  • 0:21 - 0:24
    Тази среда се нарича PySchipter.
  • 0:24 - 0:27
    P-Y-S-C-R-I-P-T-E-R.
  • 0:27 - 0:30
    Безплатна е и се разпространява свободно.
  • 0:30 - 0:33
    Аз използвам Python...
  • 0:33 - 0:35
    мисля, че използвам Python 2.6 или 2.7.
  • 0:35 - 0:36
    Ако използвате Python 2,
  • 0:36 - 0:39
    примерите Ви ще бъдат същите като моите,
  • 0:39 - 0:40
    ще работят по същия начин.
  • 0:40 - 0:41
    Но ако използвате Python 3,
  • 0:41 - 0:43
    то ще Ви се наложи да използвате малко по-различно
  • 0:43 - 0:45
    езика от време на време, за да работи правилно.
  • 0:45 - 0:49
    Ще се опитам да обръщам внимание, когато нещо подобно възникне.
  • 0:49 - 0:52
    Така че, нека да започнем с писането на първата си компютърна програма.
  • 0:52 - 0:53
    Готиното е, .
  • 0:53 - 0:55
    че можем да пишем програмата си направо тук
  • 0:55 - 0:58
    И всъщност наистина просто редактираме текст във файл.
  • 0:58 - 0:59
    Това е всичко.
  • 0:59 - 1:01
    Просто множество инструкции
  • 1:01 - 1:03
    и компютърът ще започне
  • 1:03 - 1:05
    в началото на файла и ще тръгне надолу по файла,
  • 1:05 - 1:07
    четейки инструкцийте.
  • 1:07 - 1:08
    Въпреки че по-късно ще видите,
  • 1:08 - 1:09
    че има начин да кажем на компютъра
  • 1:09 - 1:13
    да прескача от ред на ред през инструкциите,
  • 1:13 - 1:16
    така че може да прави някои неща повече от веднъж, а някои да пропусне.
  • 1:16 - 1:19
    След като сме изяснили това, нека напишем първата си проста програма
  • 1:19 - 1:20
    и междувременно
  • 1:20 - 1:22
    ще представим някои основни концепции,
  • 1:22 - 1:25
    които съществуват в компютърната програма.
  • 1:25 - 1:30
    Нека напиша една много много проста компютърна програма.
  • 1:30 - 1:32
    Наистина проста компютърна програма.
  • 1:32 - 1:35
    Буквално е просто един израз.
  • 1:35 - 1:41
    Нека напиша само "print 3+7",
  • 1:41 - 1:45
    така че тя да вземе 3+7 и да го отпечата.
  • 1:45 - 1:47
    Програмата ще го предаде на функцията за отпечатване,
  • 1:47 - 1:48
    вградена в Python.
  • 1:48 - 1:52
    Може би ще го напиша като "print(3+7)"
  • 1:52 - 1:54
    Нека запазим файла..
  • 1:54 - 1:56
    ако се замислим, има само една команда
  • 1:56 - 1:58
    на първия ред. Тя казва да се отпечата 3+7.
  • 1:58 - 1:59
    Всъщност, нека добавим друга команда,
  • 1:59 - 2:02
    само за да видите, че тръгва отгоре-надолу.
  • 2:02 - 2:07
    Нека добавим нов ред: print(2-1)
  • 2:07 - 2:16
    и още един: print ("this is a chunk of text")
  • 2:16 - 2:18
    Сега, нека видим какво би направила тази компютърна
  • 2:18 - 2:20
    програма
  • 2:20 - 2:22
    Нека я запазим.
  • 2:22 - 2:23
    Нека я запазим.
  • 2:23 - 2:28
    Запазих я под името "testarea.py"... Това е... това е...
  • 2:28 - 2:32
    Разширението .py показва, че файлът е за Python
  • 2:32 - 2:34
    Сега, нека стартираме програмата.
  • 2:34 - 2:36
    Какво е чудесното относно тези среди за разработка?
  • 2:36 - 2:39
    Тази IDE (Интегрирана среда за разработка) e такава,
  • 2:39 - 2:42
    че в общи линии можем да пишем и стартираме програмите си от едно и също място
  • 2:42 - 2:44
    Освен това, тя оцветява текста,
  • 2:44 - 2:46
    така че може да се различи ясно кое е функция, кое не е функция,
  • 2:46 - 2:47
    различните типове данни...
  • 2:47 - 2:49
    ще кажем повече за типовете данни по-късно.
  • 2:49 - 2:52
    Да видим какво става, като стартираме програмата!
  • 2:52 - 2:54
    Ето, пуснахме я!
  • 2:54 - 2:56
    Отпечата 10, след това отпечата 1,
  • 2:56 - 2:59
    след това - "this is a chunk of text"
  • 2:59 - 3:00
    Така че направи точно каквото и казахме
  • 3:00 - 3:01
    И го стори в същата наредба
  • 3:01 - 3:06
    Започна с 3+7, което е равно на 10,
  • 3:06 - 3:08
    и го отпечата - отпечата 10.
  • 3:08 - 3:12
    после отпечата 2-1,
  • 3:12 - 3:13
    и накрая отпечата "this is a chunk of text"
  • 3:13 - 3:16
    Сега, още едно нещо, което искам да Ви представя.
  • 3:16 - 3:17
    Не много рано, това е идеята за типове данни.
  • 3:17 - 3:19
    Може би като видяхте примера,
  • 3:19 - 3:21
    имахте странното чувство, че има някаква разлика
  • 3:22 - 3:27
    между 3, 2, 1 или 7 и "this chunk of text".
  • 3:27 - 3:32
    Това е число. Мога да събирам числата. Те представят
  • 3:32 - 3:34
    някакъв вид количество. Докато това тук представя
  • 3:34 - 3:39
    парче текст. И интуицията Ви би била права -
  • 3:40 - 3:43
    това наистина са различни видове данни.
  • 3:43 - 3:46
    3, 7 и 1 - това са числа.
  • 3:46 - 3:49
    В нашия случай, те са цели числа
  • 3:49 - 3:52
    И... това тук,
  • 3:52 - 3:53
    това всъщност е низ
  • 3:53 - 3:55
    което е дума, която чувате доста в информатиката.
  • 3:55 - 3:59
    Всъщност това е последователност от символи.
  • 3:59 - 4:02
    и в Python всъщност можем да попитаме какъв тип са всички тези неща
  • 4:04 - 4:05
    Просто ги подаваме на функцията type
  • 4:05 - 4:11
    така че сега трябва да изведе типа на 3+7, а не просто 10
  • 4:11 - 4:15
    Нека опитаме. Сега ще изведа 2-1, за да Ви покажа разликата
  • 4:15 - 4:19
    След това ще изведа типа на this chunk of text
  • 4:19 - 4:22
    Типа на this chunk of text.
  • 4:22 - 4:25
    Нека запазим файла. Ще натисна Ctrl+S, което е пряк път към запазването му.
  • 4:27 - 4:30
    и после ще се опитам да пусна програмата.
  • 4:31 - 4:33
    Започва от вътрешната скоба.
  • 4:35 - 4:39
    3+7 е 10. След това намира типа на 10, който е int
  • 4:39 - 4:43
    int е типът, затова отпечатва този тип Int.
  • 4:43 - 4:45
    Ето тук го виждате, казва тип "int"
  • 4:45 - 4:47
    int е съкратено от Integer (=цяло число)
  • 4:47 - 4:48
    Ето тук пише print(2-1). Програмата го изпълнява на ето този ред,
  • 4:50 - 4:51
    изписва 1, след което изписва типа на цялото нещо тук.
  • 4:55 - 4:56
    Така че вместо да отпечата текста
  • 4:56 - 5:00
    отпечатва типа и. И типът е String.
  • 5:00 - 5:02
    следващото нещо, което искам да Ви покажа,
  • 5:05 - 5:07
    докато експериментираме с програмите,
  • 5:07 - 5:10
    е идеята за променлива (Variable). Защото ще искаме
  • 5:10 - 5:13
    да запазим тези неща на различни места.
  • 5:13 - 5:14
    В следващите видеота ще научим, че в Python
  • 5:14 - 5:17
    е по-скоро все едно имаме етикети за тези неща
  • 5:17 - 5:19
    и етикетите могат да се променят.
  • 5:21 - 5:26
    Нека напишем съвършено различна програма,
  • 5:26 - 5:28
    като използваме променливи. Готиното с Python е,
  • 5:28 - 5:30
    въпреки че някои хора не го харесват, че можеш да сложиш
  • 5:30 - 5:35
    всеки тип данни в какъвто и да е тип данни променлива.
  • 5:35 - 5:41
    Така че можем да напишем a=3+5
  • 5:41 - 5:51
    и после b=a*a-a-1
  • 5:51 - 5:53
    забележка: използваме * за умножение
  • 5:53 - 6:03
    и после можем да напишем c=a*b
  • 6:06 - 6:12
    Ще направя малко място тук, за да изглежда малко по-чисто
  • 6:14 - 6:20
    Нека отпечатаме c. Ако искате, можете да се пробвате
  • 6:23 - 6:24
    да познаете стойността на с,
  • 6:24 - 6:26
    или просто можем да пуснем програмата.
  • 6:26 - 6:27
    Така че, нека да пуснем програмата и тогава
  • 6:27 - 6:28
    ще се върнем да видим дали всичко е наред.
  • 6:30 - 6:32
    Ще запазя програмата и ще я пусна
  • 6:35 - 6:39
    Извежда, че 440 е стойността на с. Нека проверим
  • 6:39 - 6:44
    3+5=8, така че а ще има стойност 8
  • 6:44 - 6:47
    На всяко място в програмата, докато не променим а,
  • 6:47 - 6:51
    всеки път, когато пишем а, ще се разбира, че имаме предвид 8.
  • 6:51 - 6:53
    Стигаме дотук, където трябва да дефинираме b
  • 6:53 - 6:57
    като a*a. Програмата знае точно как се подреждат операциите,
  • 6:57 - 7:00
    така че умножението е първо. a*a е 64.
  • 7:06 - 7:15
    64-а е 64-8, което е 56. Минус 1 е 55.
  • 7:15 - 7:21
    така че b=55. c е a*b,
  • 7:21 - 7:26
    което е 8 пъти по 55, тоест 440. Всичко е наред.
  • 7:28 - 7:33
    Може би искате да видите какво се случва, когато
  • 7:33 - 7:34
    имаме различни а-та. Нека опитаме.
  • 7:41 - 7:45
    Можем просто да направим а равно на -6
  • 7:45 - 7:49
    и да пуснем програмата, за да видим какво се случва.
  • 7:49 - 7:51
    Получаваме -246. Можете да го проверите ако искате.
  • 7:51 - 7:54
    Започваме ред по ред, и получаваме стойността на всички тези променливи
  • 7:54 - 7:57
    как са дефинирани
  • 7:57 - 8:00
    и виждаме какъв отговор получаваме.
  • 8:00 - 8:03
    Сега, ако програмите бяха само някакви команди
  • 8:03 - 8:05
    и винаги протичаха по един и същи начин,
  • 8:05 - 8:08
    нямаше да можем да правим интересни неща!
  • 8:08 - 8:10
    За да правим наистина интересни неща, както и ще стане,
  • 8:10 - 8:13
    ще започнем да виждаме неща като условия и цикли
  • 8:16 - 8:20
    Нека видим едно условие. Ще оставя първите редове непроменени.
  • 8:20 - 8:35
    Ще напишем if (a<0). В този случай, ще print(c)
  • 8:35 - 8:50
    след това ще напишем else, и в този случай ще print (c-a)
  • 8:50 - 8:52
    Това е интересно. Може би вече предчувствате
  • 8:52 - 8:54
    какво ще се случи тук. Но нека запазим файла.
  • 8:54 - 8:57
    Невероятно е колко много може да бъде направено
  • 8:57 - 8:58
    само чрез тези условия. Така че това казва,
  • 8:58 - 9:00
    че ако а е по-малко от 0, да се направи това, иначе
  • 9:00 - 9:04
    ако а не е по-малко от 0, да се направи онова.
  • 9:04 - 9:06
    Забележете, че не се изпълнява всичко, ред по ред
  • 9:06 - 9:10
    В зависимост от това дали стойността на а е по-малка от 0 или не
  • 9:10 - 9:12
    ще се изпълни или този ред,
  • 9:12 - 9:14
    или другият.
  • 9:14 - 9:18
    И Python знае дали да изпълни
  • 9:18 - 9:21
    print(c), ако a e по-малко от 0, защото
  • 9:21 - 9:23
    print(c) има аргумент с.
  • 9:23 - 9:26
    То знае, че има други аргументи,
  • 9:26 - 9:28
    заради тази запетая
  • 9:32 - 9:35
    и ако а е не по-малко от 0, тогава се изпълнява този else.
  • 9:35 - 9:38
    И ако искате да направите нещо друго след това,
  • 9:38 - 9:40
    без значение дали а е по-малко от нула или не,
  • 9:40 - 9:42
    можете да се отървете от тази if-else клауза,
  • 9:44 - 9:46
    като сложим край на този абзац. Така че сега можем да отпечатаме един низ.
  • 9:50 - 9:53
    Всъщност, нека добавим още код към тази клауза.
  • 9:53 - 9:58
    Нека да отпечатаме тук "a<0"
  • 9:58 - 10:00
    Забележка: Това няма да бъде изчислено.
  • 10:00 - 10:02
    То е в низ, така че направо ще се отпечата.
  • 10:02 - 10:04
    Точно тук ще кажем
  • 10:04 - 10:14
    print ("a is not less than 0")
  • 10:14 - 10:18
    Това е интересна програма. Нека сега я пуснем.
  • 10:18 - 10:23
    Да се надяваме, че ще работи. Запазвам я. Нека пуснем програмата.
  • 10:23 - 10:26
    Отпечата "a<0", така че явно сме вътре в тази клауза.
  • 10:36 - 10:42
    след това отпечатва с, което е -246.
  • 10:42 - 10:43
    Това не се изпълни, защото би било
  • 10:43 - 10:47
    изпълнено само ако а не беше по-малко от 0.
  • 10:47 - 10:48
    Но след това излиза от клаузата и отпечатва
  • 10:50 - 10:51
    "we are done with the program", без значение стойността на а.
  • 10:51 - 10:53
    Нека сега променим а, за да видим дали можем
  • 10:53 - 10:55
    да пуснем другата клауза. Нека а е по-голямо от 0
  • 10:57 - 11:04
    Нека присвоим на а стойността 9 и пуснем програмата.
  • 11:04 - 11:08
    Така, а е 9. Програмата проверява дали а е по-малко от нула,
  • 11:08 - 11:10
    и очевидно а не е по-малко от 0, така че тя не би
  • 11:11 - 11:13
    пуснала това, и стига до else клаузата.
  • 11:13 - 11:15
    Сега би отпечатала "a is not less than 0"
  • 11:15 - 11:19
    каквото и стори тук, след това отпечата с-а
  • 11:19 - 11:22
    което е 630. Излиза от клаузата
  • 11:22 - 11:25
    и без значение каква е стойността на а,
  • 11:25 - 11:28
    отпечатва "we are done with the program".
Title:
Въведение в типове данни и променливи на програмата
Description:

Writing a basic program. Basics of data types, variables and conditional statements

more » « less
Video Language:
English
Duration:
11:28

Bulgarian subtitles

Revisions Compare revisions