< 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
    Тази среда специфично се нарича PyScripter.
  • 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:21 - 3:22
    че има някаква разлика
  • 3:22 - 3:27
    между 3, 2, 1 или 7 и "this is a chunk of text".
  • 3:27 - 3:32
    Това е число. Знам че мога да събирам числата.
  • 3:32 - 3:34
    Те представляват някакъв вид количество.
  • 3:34 - 3:39
    Докато това тук представлява парче текст.
  • 3:39 - 3:40
    И интуицията Ви би била права.
  • 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:02 - 4:04
    какъв тип са всички тези неща.
  • 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:25 - 4:27
    което е пряк път към запазването му.
  • 4:27 - 4:30
    и после ще се опитам да пусна програмата.
  • 4:30 - 4:31
    Готово.
  • 4:31 - 4:33
    Започва от тази инструкция.
  • 4:33 - 4:35
    Започва от вътрешната скоба.
  • 4:35 - 4:39
    3+7 е 10. След това намира типа на 10,
  • 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:48 - 4:50
    Програмата го изпълнява на ето този ред,
  • 4:50 - 4:51
    изписва 1,
  • 4:51 - 4:55
    след което изписва типа на цялото нещо тук.
  • 4:55 - 4:56
    Така че вместо да отпечата текста
  • 4:56 - 5:00
    отпечатва типа и. И типът е String или низ.
  • 5:00 - 5:02
    следващото нещо, което искам да Ви покажа,
  • 5:02 - 5:05
    докато си играеме и експериментираме с програмите
  • 5:05 - 5:07
    е идеята за променлива (Variable).
  • 5:07 - 5:10
    Защото все някога ще поискаме
  • 5:10 - 5:13
    да запазим тези неща на различни места.
  • 5:13 - 5:14
    В следващите видеота ще научим, че в Python
  • 5:14 - 5:17
    имаме етикети (labels) за тези неща
  • 5:17 - 5:19
    и етикетите могат да се променят
  • 5:19 - 5:21
    или да ги поставим под други етикети.
  • 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:03 - 6:06
    И може да изглежда така...
  • 6:06 - 6:12
    Ще направя малко място тук, за да изглежда малко по-чисто
  • 6:12 - 6:14
    c = a*b
  • 6:14 - 6:20
    Нека отпечатаме c.
  • 6:20 - 6:23
    Ако искате, можете да се пробвате
  • 6:23 - 6:24
    да познаете стойността на с,
  • 6:24 - 6:26
    или просто можем да пуснем програмата.
  • 6:26 - 6:27
    нека да пуснем програмата и тогава
  • 6:27 - 6:28
    ще се върнем да видим
  • 6:28 - 6:30
    дали всичко е правилно.
  • 6:30 - 6:32
    Ще запаметя програмата и ще я пусна.
  • 6:32 - 6:35
    сега ще я пусна.
  • 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
    така че умножението е първо
  • 7:00 - 7:03
    особено като сравним с изваждане.
  • 7:03 - 7:06
    така че a*a става 64.
  • 7:06 - 7:15
    След това имаме "64-а" е "64-8", което е 56. Минус 1 е 55.
  • 7:15 - 7:21
    така че "b" е 55, а "c" е "a*b", което е 8 по 55...
  • 7:21 - 7:26
    8 по 55, тоест 440.
  • 7:26 - 7:28
    Правилно! Всичко е точно.
  • 7:28 - 7:33
    Може би искате да видите какво се случва, когато
  • 7:33 - 7:34
    имаме различни "а"-та.
  • 7:34 - 7:35
    Нека опитаме.
  • 7:35 - 7:38
    Можем просто да променим "а" тук
  • 7:38 - 7:41
    Можем да направим "а" равно на...
  • 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:13 - 8:16
    Условията и циклите са нещо подобно...
  • 8:16 - 8:16
    Нека направо видим едно условие.
  • 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 знае дали да изпълни print(c),
  • 9:18 - 9:21
    ако "a" e по-малко от 0, защото е с отстъп
  • 9:21 - 9:23
    Отстъпът е част от тази клауза.
  • 9:23 - 9:26
    Python знае, че има други клаузи формирани тук,
  • 9:26 - 9:28
    заради това двоеточие.
  • 9:28 - 9:30
    и ако "а" е не по-малко от 0
  • 9:30 - 9:32
    ако това условие не се изпълни
  • 9:32 - 9:35
    тогава се изпълнява тази клауза "else".
  • 9:35 - 9:38
    И ако искате да направите нещо друго след това,
  • 9:38 - 9:40
    без значение дали "а" е по-малко от нула или не,
  • 9:40 - 9:42
    можете го напишете извън тази if-else клауза,
  • 9:42 - 9:44
    като премахнете отстъпа.
  • 9:44 - 9:46
    Така че сега можем да отпечатаме
  • 9:46 - 9:50
    "we are done with the program".
  • 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:26 - 10:30
    нека мръдна това по-нагоре за да видим
  • 10:30 - 10:34
    Стартирахме програмата. Отпечата "a<0",
  • 10:34 - 10:36
    така че явно сме вътре в тази клауза.
  • 10:36 - 10:42
    след това отпечатва "с", което е -246.
  • 10:42 - 10:43
    Това не се изпълни,
  • 10:43 - 10:47
    защото "а" не беше по-голямо от нула.
  • 10:47 - 10:48
    Но след това излиза от клаузата
  • 10:48 - 10:50
    и отпечатва това без значение от стойността на "а".
  • 10:50 - 10:51
    "we are done with the program"
  • 10:51 - 10:53
    Нека сега променим "а", за да видим дали можем
  • 10:53 - 10:55
    да пуснем другата клауза.
  • 10:55 - 10:57
    Нека "а" е по-голямо от 0.
  • 10:57 - 11:04
    Нека присвоим на "а" стойността 9 и пуснем програмата.
  • 11:04 - 11:08
    Така, "а" е 9. Програмата проверява дали "а" е по-малко от нула,
  • 11:08 - 11:10
    и очевидно "а" не е по-малко от 0,
  • 11:10 - 11:11
    така че тя не би пуснала това.
  • 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:

Това видео описва стъпките на програмиране на проста програма в Python (Питон). Основи на типове данни, променливи, различни команди и условни оператори ще бъдат представени.

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

Bulgarian subtitles

Revisions Compare revisions