Free YouTube Transcribe

Video transcript

If else. Конструкция логического выбора if. Лесенка if - else if. Примеры использования. Урок #12.

#SimpleCode · 2,376 words · 11 min read

Want to search this transcript, jump the video from any line, or download it as TXT, SRT, or VTT?

Open in the transcript tool

Full transcript

0:00Приветствую вас друзья Меня зовут Сергей

0:02мы с вами продолжаем изучать язык

0:03программирования c+ Plus впрочем наши

0:06уроки довольно универсальные и помогут

0:08вам практически в любом языке

0:10программирования И сегодня у нас очень

0:12особенная и очень важная Тема а которая

0:15называется конструкция логического

0:17выбора If else А в своё время когда я

0:20изучал программирование когда начинал

0:22его изучать после изучения именно этой

0:25темы Я почувствовал в себе какое-то

0:27вдохновение какие-то силы что

0:29действительно я могу написать какую-то

0:30программу И после этого видео вы сможете

0:33сделать так же вообще логический выбор

0:35If else важен настолько что это

0:38прямо-таки фундаментальная основа

0:40программирования на вот этой вот

0:42штуковин на этой теме строится

0:46практически любая программа Даже те же

0:48нейронные сети тоже используют эту штуку

0:50Так что сегодня будет интересно Но перед

0:53тем как мы начнём один небольшой момент

0:55если вы не видели прошлого видео про

0:57логические операции то сейчас

0:59останавливаю

1:00виде переходите внизу по ссылке под этим

1:03видео и смотрите видео предыдущее потому

1:05что вам будет довольно трудно

1:06разобраться если вы ничего не понимаете

1:08в логических операциях Ну для тех кто

1:10уже в курсе о чём мы говорили в прошлый

1:12раз поехали Итак логика любой программы

1:15строится на конструкциях If и else а для

1:19начала Давайте разберём конструкцию If

1:22отдельно с английского и переводится как

1:25если допустим мы хотим решить брать ли

1:28нам с собой зонтик ЕС ИТ дождь и таким

1:33образом Вот это выражение в скобочках

1:35после и мы должны поместить какое-то

1:38утверждение или выражение которое

1:41выполняет какую-то проверку Идёт ли на

1:42улице дождь если оно будет истинным то

1:46Мы выполняем какое-то действие в данном

1:48случае берём с собой зонт Давайте же

1:50посмотрим как это можно реализовать на

1:52практике Итак Давайте напишем программку

1:54которая будет нам подсказывать брать ли

1:57нам с собой зонд в зависимости от

2:00дождь на улице или нет зато идт ли на

2:03улице дождь или нет будет отвечать

2:05булевая переменная которая Как вы

2:08помните может принимать два значения и

2:11то есть либо да либо нет либо истина

2:14либо ложь и буде она у нас называться

2:17из в данном случае мы её

2:23инициализирует то есть по смыслу

2:25переменная подсказывает нам

2:30то есть идёт дождь истина Итак мы

2:33допустим уже знаем что на улице идёт

2:35дождь и как Теперь нам принять решение

2:39брать с собой зонд или нет А в этом нам

2:41и поможет

2:43If если мы в Круглое скобочки Ифа

2:48поместим переменную

2:50булеву из Rain которая у нас сейчас

2:53возвращает истинное значение потому что

2:56у неё значение True то проверка

2:58утверждения конструкции будет истина А

3:01значит всё что находится в скобочках Ифа

3:05наша программа будет выполнять в данном

3:07случае

3:09а мы сюда просто выведем

3:17сообщение идёт дождь Нам

3:22нужен зонт

3:32вот так вот теперь давайте посмотрим

3:35запустим нашу программу и посмотрим что

3:37у нас увидется на

3:40экране на экране выводится сообщение

3:43идёт дождь Нам нужен

3:45зонд теперь сделаем вот что сейчас в

3:48данный момент наша переменная из которая

3:52попадая в условия и оделяет Нужно ли нам

3:55бран

3:59[музыка]

4:00находится в значени то есть она истина

4:03так как переменная У нас в значени это

4:06условие всегда будет истина А значит всё

4:08что в фигурных скобочках будет

4:09выполняться Но что будет если мы сделаем

4:12вот так

4:15вот мы возьмём и присвоить нашей булевой

4:18переменной из значение получается дождь

4:22не идёт

4:26Уде

4:28про этого утверждения То есть если дождь

4:33идёт то нам выводится вот такое

4:35сообщение идёт дождь Нам нужен зонд Но в

4:38данном случае выходит что у нас нету

4:40дождя А значит вот это выражение будет

4:42false то есть ложным а значит мы не

4:45зайдём сюда и вот эта строчка

4:48восемнадцатой не выполнится и наша

4:50программа ничего нам не напишет И не

4:52скажет о том нужно нам брать зонт или

4:53нет собственно так и произошло Давайте

4:57немножечко модифицируем нашу программу у

5:00конструкции If есть Напарник это

5:03конструкция else конструкция else для

5:05использования не всегда

5:07нужна вот как например в данном случае

5:10мы можем в некотором роде обойтись без

5:13неё но во многих случаях и нужна и

5:16пишется она вот

5:18так что будет это означать а будет

5:22означать это вот что если утверждение в

5:24конструкции If истина то выполнится вот

5:27этот блок кода а сюда мы не зайдём сюда

5:31наша программа Не зайдёт и мы пойдём

5:32потом дальше но если вот здесь

5:35утверждение ложное то вот этот код не

5:38выполнится А выполнится код вот здесь

5:40Давайте кстати сейчас его и добавим

5:43сюда напишем здесь вот

5:48что дождя нет

5:52зонт не

5:58нужен берм что эта штука значит Итак

6:02значение is Rain У нас сейчас false то

6:05есть Дождя нету А значит утверждение

6:08попадая в конструкцию If в её круглые

6:11скобки будет ложным значит вот эта часть

6:15кода не выполнится а выполнится часть

6:17кода которая находится в конструкции

6:19else то есть дождя нет зонд не нужен

6:23другими словами If else можно ещё

6:25назвать если и иначе То есть если дождь

6:29есть

6:30нам выводится сообщение идёт дождь Нам

6:32нужен зонд

6:33иначе дождя нет зонд не нужен Давайте

6:37запустим и посмотрим что у нас

6:39получается так как мы присвоили нашей

6:41булевой переменной из R значение false

6:44то проверка вот этого вот выражение

6:46точнее Утверждение на истинность будет

6:49fse а значит выполнится конструкция else

6:52чтобы вам было ещё более Понятно Сейчас

6:55я покажу как это всё работает в

6:56отладчике Давайте

7:00присвой переменной из R то есть оно то

7:04есть вот это утверждение истина поставим

7:06точку останова на й строке там где это

7:10переменная инициализируется и пошагово

7:12проверим нашу программу посмотрим что

7:14зачем выполняется

7:17запускаем сейчас мы работаем с

7:19отладчиком

7:22в режиме работы мы можем

7:25смот буквально дото ВС выполняется в

7:28програ и так в данном случае у нас

7:31инициализируется переменная из Rain она

7:34сейчас у нас со значением

7:37True из Rain у нас True теперь за

7:42следующим шагом вот сейчас у нас

7:44стрелочка показывает на то какая строка

7:46кода у нас будет выполняться Итак со

7:48следующим шагом Мы попадаем в

7:50конструкцию If

7:52else и наш наша конструкция If проверяет

7:56то что мы ей передали в круглые скобочки

8:01там где проверяется истинность

8:02утверждения а мы передали ей туда булеву

8:05переменную которая сейчас в значении

8:08True раз она в значении True то со

8:13следующим шагом наша программа попадёт

8:16на

8:18восемнадцатой идёт дождь Нам нужен зонд

8:21кстати пока у нас ещё ничего не вывелось

8:23на экран но как только выполнится

8:25восемнадцатая строка

8:29мы получаем сообщение сообщение в

8:31консоли идёт дождь Нам нужен

8:33зонд

8:35далее наша программа доходит до

8:38конструкции El но конструкция Не

8:40выполнится потому что она бы выполнила

8:43только в том случае если бы вот здесь на

8:45шестнадцатой строке наше выражение было

8:49а так как оно то в Мы даже не зайдём и

8:5322 строка выводиться не будет то есть мы

8:55просто попали в конец программы ВС

8:58программа на это

9:00Теперь давайте возьмём и поменяем

9:02значение нашей переменной из

9:07на так и запустим нашу программу в

9:11отладчике ещё

9:13раз практически те же самые действия

9:16инициализируется наша переменная из Rain

9:19Но сейчас она у нас fse значит попав в

9:22конструкцию

9:23If Перемен из

9:27Верт ложное выражение то есть выражение

9:30не

9:31истина и получается что сюда мы не

9:35зайдём потому что в If Мы зашли бы

9:37только в том случае если бы выражение в

9:38скобочках Ифа было истинным А так как

9:41оно сейчас у нас сложное мы попадём в

9:44else и у нас выведется сообщение дождя

9:48нет зонд не нужен А теперь давайте это

9:50всё сотрём и напишем ещё один пример

9:53программки которое мы будем вводить

9:55какое-то целое число и если это число

10:00больше п нам программка будет говорить

10:03что число больше пяти А если меньше пяти

10:05программка будет говорить что оно меньше

10:06пяти Как нам это сделать мы объявим

10:09целочисленную переменную

10:11дальше нам нужно её инициализировать

10:14инициализировать мы её будем прямо

10:16вводом с

10:17клавиатуры давайте наверное выведем

10:19сообщение нашему пользователю который

10:21будет

10:22работать с нашей

10:26программой введите число

10:31далее пользователь вводит число с

10:33помощью команды C Кстати если вы не

10:35понимаете что сейчас происходит на

10:37экране Посмотрите предыдущие уроки там я

10:39это всё рассказывал и сделаем вот так

10:42вот конструкцию

10:46ifse Итак сюда мы будем передавать вот

10:49такое вот

10:52условие у нас будет больше птак ечисло

10:57ВНО в с клавиатуры будет больше пяти

11:00наша программа должна нам об этом

11:04сообщать реализуем Мы это с помощью Сита

11:07и будет наша программка нам писать Вот

11:10что ваше число

11:13больше

11:18пяти

11:22л а таким образом если условие истина мы

11:27заходим в блок кода а который идт после

11:30Ифа если условие ЛС то есть не истинно а

11:34ложно мы попадём в блок

11:37кода это будет возможно только если

11:40меньше пти а не больше И здесь у нас

11:43будет

11:44выводиться вот

11:48что ваше

11:51число меньше

11:59Я здесь допустил ошибку у нас наша

12:02программа не всегда будет работать

12:03корректно будет один случай в котором

12:05она будет выдавать неверный результат но

12:08мы с вами эту ошибку немножечко позже

12:10исправим А сейчас Давайте ещё раз

12:12пройдёмся по коду И хорошенько

12:14разберёмся как он работает Итак если

12:17введённое нами число в переменную A

12:19будет больше пти то условие которое у

12:22нас находится в круглых скобках

12:24конструкции If будет истинно Боп вот эта

12:28Тука

12:30сюда вот эти скобочки А значит

12:33выполнится блок кода после

12:35Ифа и нам выведется сообщение ваше число

12:38больше пяти Но если это условие не

12:40выполнится значит это выражение вернёт

12:43результат fse соответственно этот блок

12:47кода не выполнится а зайдём Мы в

12:49конструкцию else и выполнится результат

12:51кода который нам выполнится строка кода

12:54которая выведет нам сообщение ваше число

12:55меньше пяти Давайте запустим нашу

12:58программу и посмотрим как она работает

13:00Итак введите число Давайте введём

13:03единичку ваше число меньше пяти Хорошо

13:06давайте введём десяточку ваше число

13:09больше пяти хорошо А что будет если мы

13:12введём нашей программе число п что она

13:16скажет оно сказало ваше число меньше

13:21пяти это тот самый случай когда наша

13:24программа работает некорректно имы ми

13:29будем сначала разбираться почему так

13:31происходит а

13:33затем будем решать проблему и исправлять

13:36наш код чтобы программа вела себя как

13:38нужно для того чтобы вообще понимать

13:40Почему что-то сломалось и что-то не

13:43работает Рекомендую вам пользоваться

13:45отладчиком Но об отладчике наверное в

13:47каком-то из других уроков ему нужно

13:50посвятить отдельное видео А сейчас я

13:52просто вам покажу как это выглядит

13:54внутри чтобы вы понимали о чём я вообще

13:57говорю запускаем нашу программку

13:59отладчике она просит нас ввести число и

14:01мы вводим Е5 потому что с числом п она у

14:04нас работает некорректно и нам надо

14:06понять почему так происходит точка

14:08останова у нас стоит на восемнадцатой

14:09строке то есть программа дойдёт до

14:11восемнадцатой строки и остановится и мы

14:13сможем посмотреть что там в коде

14:14происходит Мы ввели число пять нажимаем

14:17Enter и мы попадаем на восемнадцатое

14:21останова Итак в переменной A у нас П И

14:24мы сравниваем её с пятёркой

14:27Подумайте что возвращает Вот это

14:29выражение условие такое 5 больше п Ну П

14:34же не больше пти поэтому это условие

14:36вернёт А значит мы попадём

14:39в конструкцию El А в конструкции У нас

14:43написано что число наше число меньше

14:46пяти Таким образом мы нашли нашу ошибку

14:48и поняли Почему наша программа работает

14:50неправильно Давайте теперь исправим её а

14:53для этого мы добавим вот здесь Е

14:55небольшой кусочек кода соб

14:59из конструкции If а выглядеть она будет

15:02Вот так после эса мы напишем ещ один

15:06If добавим ему круглые скобочки и он

15:08будет

15:11проверять равно

15:14лип и

15:17если будет равно п то наша программа

15:21будет выводить

15:24сообщение ваше число равно

15:29пяти Да мы же пишем так

15:35пяти но у нас же осталось ещё сообщение

15:40когда наше число было меньше пяти

15:43поэтому мы пишем ещё один

15:45L и возвращаем туда наше сообщение ваше

15:50число меньше пяти Давайте запустим нашу

15:54программку и посмотрим получилось ли у

15:57нас исправить ошибку Давайте ведём число

15:59п на которой у нас всё сломалось А

16:02теперь программка работает корректно она

16:05сообщает нам что ваше число равно пти А

16:08если мы напишем единичку ваше число

16:10меньше пяти и допустим Ну пускай

16:14восьмёрка будет ваше число больше

16:17пяти всё работает как нужно теперь ещё

16:19раз пройдёмся по коду чтобы проверить

16:21логику его

16:23работы

16:24Допустим мы вводим число большее пяти

16:29попадаем в первый

16:32If смотрим Что здесь возвращает нам вот

16:36это

16:37условие у нас 10 сравниваем мы его с

16:40пятёркой То есть у нас будет больше пяти

16:43в любом случае даже если мы посмотрим

16:47то это выражение возвращает нам вот

16:51здесь это видно А значит мы попам в

16:53первый же блок после Иа он выполнится а

16:57дальше мы попадать не будем потому что

16:59вот эти все блоки будут выполняться

17:00только в том случае если здесь у нас

17:02будет не истина а ложное утверждение

17:05Давайте запустим нашу программку ещё раз

17:08и введём единицу Смотрим как она будет

17:10себя вести у нас меньше пяти значит

17:13здесь у нас

17:14утверждение

17:16fse собственно в отладчике это видно

17:19очень хорошо давайте сейчас ещё раз

17:20наведём так вот здесь у нас

17:24написано значит если мы сделаем

17:27следующий шаг мы попадаем в наше

17:29утверждение els А в этом элсе У нас ещё

17:32один If есть который проверяет нашу

17:36переменную A на равенство с пятёркой но

17:39так как оди не равно пяти это условие не

17:42выполнится А значит мы попадём в

17:44следующий

17:45Эс там где у нас висит сообщение что

17:48наше число меньше пяти мы получили его

17:51на экране и наша программа завершается И

17:54последнее если мы

17:57введём сюда пятку

17:59сравнивать мы е будем с пяткой Итак

18:01первое Выражение у нас потому что 5 не

18:04равно п а второе

18:06выражение True то есть истина потому что

18:105 равно п а значит что у нас отработает

18:14вот эта конструкция которая в вот этом

18:16El ие находится сюда мы уже не попадём

18:19на экране мы получаем сообщение ваше

18:21число равно пяти программа завершается

18:25на этом У меня пока ВС что я хотел

18:27сказать об конструкции If если у вас

18:30возникли какие-то вопросы или вам что-то

18:32непонятно задавайте их внизу в

18:34комментариях под этим видео и в

18:36следующих своих видео Я постараюсь на

18:39ваши вопросы ответить также к этому

18:41видео у нас будет домашнее задание нам

18:44нужно написать программу которая

18:45проверяет число отчётность а число мы

18:48вводим с клавиатуры домашнее задание

18:51точнее его описание вы найдёте внизу под

18:53этим видео а чуть позже я сниму видео

18:55как это домашнее задание делать но

18:58впрочем очень похоже на то что мы делали

19:01с вами сегодня в общем Если вам

19:04понравилось это видео оно было вам

19:05полезно интересно то Ставьте лайк и

19:08подписывайтесь на канал чтобы не

19:09пропустить следующие уроки также

19:11подписывайтесь на нашу группу ВК там вы

19:13тоже найдёте много чего интересного Ну и

19:15всем спасибо за внимание пока

This transcript was generated from the captions YouTube publishes for this video. Get the transcript of any YouTube video atfreeyoutubetranscribe.com: free, unlimited, no sign-up.