Step 1 (S-38742)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/13022/step/1

Step 1 (S-38742) 1.png

[00:00 - 00:17] привет сегодня 24 занятие мы изучаем условный оператор если вы дошли до него теперь я верю что вы дойдете уже до конца потому что это реально круто что такое условный оператор все очень просто если выполнил условия делать то то


[00:17 - 00:32] иначе делать что то после сегодняшнего занятия в научатся понимать несмешной анекдот про программиста пример такой жена отправляет программиста магазин и говорит возьми батон хлеба если будут яйца 80 но он возвращается потом


[00:32 - 00:49] наша программа такие же прямолинейно как этот парень поэтому писать нужно очень аккуратно посмотрим сразу например возьмем то даже в прошлую занятия посчитать число по модулю только не используя функционал для этого нам понадобится переменная считать переменную


Step 1 (S-38742) 2.png

[00:49 - 01:06] и условный оператор if по английски если если а больше 0 фигурная скобка фигурная скобка будто понять операции которые должны выполнятся только если условие верно если а больше 0


[01:06 - 01:24] напечатать а иначе по английски фигурной скобки что нужно делать минуса минуса запустим


[01:24 - 01:43] положительно число работать отрицательное числа ту же работу можно переписать на другом с помощью 2 миров не используя иначе например если а больше 0


Step 1 (S-38742) 3.png

Step 1 (S-38742) 4.png

[01:43 - 01:59] то вонь а если меньше 0 вводим минуса проверим для положительных чисел работать и отрицательных чисел работает


Step 1 (S-38742) 5.png

Step 1 (S-38742) 6.png

[01:59 - 02:17] а для 0 не работает наша программа не видел ничего если мы дадим я тестирую систему получим презентуешь номер это говорит нам о том что нужно не забывать случае мы вообще говоря удобно использовать если иначе тогда мы точно ничего не забудем


Step 1 (S-38742) 7.png

Step 1 (S-38742) 8.png

[02:17 - 02:36] посмотрим какие условия может быть это назвать логического выражения обычно представлены в виде арифметическое выражение знак сомнения и еще 1 арифметическое выражение сравнение была довольно просты и понятны больше меньше больше или равно и меньше чем равно так как они нарисованы наслать


[02:36 - 02:51] особенно сложно запомнить сравнение на равенство это 2 значка равно и не равно восклицательный знак равно сравним на равен с там четко


[02:51 - 03:07] итак водятся 2 переменные нужно искать есть если они равны между собой и ну если там напишем если а равно б


[03:07 - 03:22] вывести слово yes это строка поэтому в кавычках иначе вывести слово запускаем проверяем


Step 1 (S-38742) 9.png

[03:22 - 03:37] yes запускаем проверяем ну теперь стандартная ошибка которая возникает у всех каждого и по многу раз в жизни посмотрим что произойдет если перепутать и мест равно равно написать равно


Step 1 (S-38742) 10.png

Step 1 (S-38742) 11.png

[03:37 - 03:55] проверим программа компилируется запускается но если мы введем разные числа получим совершенно не то чем мы ожидали такой же к очень сложно найти что происходит на самом деле я не буду рассказывать страшные вещи поэтому просто внимательно следите за этим


Step 1 (S-38742) 12.png

Step 1 (S-38742) 13.png

[03:55 - 04:11] 1 небольшой совет который работает не во всех ситуациях но иногда допустим нам нужно сравнить числа а и б а умноженное на 2 и б тогда арифметическое выражение нужно писать слева а переменную справа о присваивании точно не произойдет


[04:11 - 04:29] вот смотрите написали а умножить на 2 забыли 1 равенство и вот она уже подчеркнет красным и не собирать такой небольшой как позволить сбивать это страшно жить очень тяжело искать


Step 1 (S-38742) 14.png

Step 1 (S-38742) 15.png

[04:29 - 04:44] посмотрим еще 1 задачу пусть нас есть прибор который умеет снимать животное и говорить сколько у него ножик и сколько него глаза преданно нужно научиться различать 4 типа животных пауков которых 8 8 и 8


[04:44 - 04:59] а морского гребешка у которого совсем нет ножек но очень много глазом посмотрите в картинках как это выглядит очень 9 кошку которой 4 ноги 2 глаза и 1 длинный хвост хвост и мы не будем считать


[04:59 - 05:15] и жучка я тож 2 глаза на лоб 6 принципе всех можно различить давайте научимся это делать с помощью программ нам скажут 2 числа количество глаз и количество ног но идем по них перемен называть их


[05:15 - 05:31] нужно осмысленно чтобы не перепутать is и глаза и ноги по английски читаю и подумаем как нам написать эту программу


Step 1 (S-38742) 16.png

[05:31 - 05:46] в 1 очередь можно различать животных например по количеству ног если ног 2 то это никто нас не было ни животных итак если у нас 4 то это либо


[05:46 - 06:01] так как орг давайте попробуем сформулировать от нормально дать попробовать глазами если глаз больше чем 8 больше чем в общем то это либо глюк либо морской гребешок напишем


[06:01 - 06:17] если глаз больше чем равно 8 что делать в этом случае нужно научиться их различать между собой по количеству ног внутри блока программы внутри фигуру скобочка мы пишем еще 1 if уже по количеству ног


[06:17 - 06:34] если ног ровно 8 тот паук spider как спайдермен иначе если ног не 8 0 то что не 8


[06:34 - 06:48] это морской гребешок сказал отлично слушай когда глаз 8 или больше мы рассмотрели смотреть у нас внутри блока if


[06:48 - 07:04] инструкции которой выполняется только я смысла и верно есть еще 1 миф нормально то есть мы попали сюда если у нас было больше чем равно 8 начинает выполняться все что я выделил между фигурными скобками идет в сравнение


[07:04 - 07:21] количество ног с восьмью если условия выполнила store опишем что иначе пишут что это а что гребешок рассмотрим ситуацию когда глаз не 8 на самом деле их 2 но не важно все что все что не 8


[07:21 - 07:36] и не больше чем 8 относятся у нас к 2 типам животных либо кошки лечат жучку сравним их опять же по ногам если ног ровно 4 это кошка


[07:36 - 07:51] а иначе это баг интересная история слово вызывает ошибку в программе


[07:51 - 08:09] ну у вас они тоже будто он ко уже были и будет еще много такое название произошло от того что раньше компьютера были большие них заползали в руки и замыкали собой контакта от этого программы даже правильно написано работает неправильно слава богу сейчас такого уже нету ну бы они остались


Step 1 (S-38742) 17.png

[08:09 - 08:26] запусти наш программ сначала у нас водится глаза затем многим итак 2 глаза 4 ноги кошка 6


Step 1 (S-38742) 18.png

Step 1 (S-38742) 19.png

Step 1 (S-38742) 20.png

[08:26 - 08:44] 8 глаз 8 mark паук и 100 глазки совсем нет ножек гребешок рассмотрим еще 1 подобную задачу пусть с помощью того же прибора мы хотим научиться определять пунктов в которых мы очень боимся


Step 1 (S-38742) 21.png

Step 1 (S-38742) 22.png

[08:44 - 09:01] а камера сняла код животное если это казалось будто включат сирены мы прячемся на кровать это можно сделать опять же с помощью 2 вложенных if сначала проверить количество ног потом проверить количество вас ну мы воспользуемся более классной штукой которая позволит нам


Step 1 (S-38742) 23.png

[09:01 - 09:17] обойтись 1 ваша программа по прежнему считывать количество глаз ног и мы пишем если количество на глаз равно 8 2 закорючки они за центр сам количество


[09:17 - 09:35] ног равно 8 что это означает эта и логическая связка количество глаз равно 8 и количество ног равно 8 когда мы будем писать если это оказалось паук а не боец


[09:35 - 09:50] допустим пришла кошка 4 ноги наша программа молчит тут приходит злой паук 8 класса 8 и программа пугается


Step 1 (S-38742) 24.png

Step 1 (S-38742) 25.png

[09:50 - 10:07] логистика существует 3 типа это и вандерсон то или вертикальные черточки и не восклицательный знак не ставятся перед логическим развитием чтобы получить обратно ему слева и справа от логических целых должны стоять логические выражения так же как и время есть в выражениях


[10:07 - 10:24] там есть порядок действий сначала выполняются все и затем все или и в конце не влияет на порядок действий можно с помощью скобок если вы не уверены поставь нажать и случае хуже не будет посмотрим еще 1 пример в россии как узнать есть новый новый год и старый новый год который отличаются между собой на 13 дней


[10:24 - 10:39] это связано с различием в юлианским и григорианским календарями давайте научимся определять является ли год високосным по старому стилю тогда високосным являлся каждый 4 год но там переменную для номер года


[10:39 - 10:56] считаем номер года и проверим делится на 4 как мы это сделаем если остаток от деления на 4 набора кода равен 0


[10:56 - 11:13] тогда печатным что год високосный 366 дней и ночей от обычных 365 дней проверим и так например


Step 1 (S-38742) 26.png

[11:13 - 11:29] 2015 год нем 365 дней по старому стилю а 2016 год високосный теперь научимся решать более сложные задачи определяются согласно когда по новому стилю там правило намного сложнее


Step 1 (S-38742) 27.png

Step 1 (S-38742) 28.png

[11:29 - 11:45] во 1 високосным считается год номер которым делятся на 4 кроме случаев когда номер год делится на стол как написать если год делится на 4 и год не делится


[11:45 - 12:01] нас то то есть остаток от деления на 100 не равен 0 а сам то ли еще 1 правило если номер год делится на 400 тонн тонн високосный может быть в начале 2000 год он был високосным


Step 1 (S-38742) 29.png

[12:01 - 12:17] так ведь у нас получилась очень длинной выражение она не влезает на экран поэтому тоже мы научимся еще 1 вещь создавать переменной логического типа которая позволит вам разбить длинное выражение на небольшие куски тип таких переменных 20 бол


[12:17 - 12:36] представь что ты маленькая коробочка которая умеет хранить его 2 возможных значений истина или ложь давайте позовем перемену делятся ли нам 400 даем ей название и записываем значения год


[12:36 - 12:52] остатка делится на 4 равно равно 0 эта переменная будет принимать значение истина если номер года делятся на 400 и ложь противном случае тогда все наши выражения можно записать как


Step 1 (S-38742) 30.png

[12:52 - 13:07] год делится на 4 равно 0 остатка от деления остаток от деления на столь не равен 0 или год делится на 4 равно не получил с очень длинным


[13:07 - 13:24] можно сделать вот так чтобы он облизал то есть просто сделать перевод строки по прежнему нас все будет работать проверим 2015 год по прежнему не високосный это хорошо или 1000 16 год он делится на 4 високосный


Step 1 (S-38742) 31.png

Step 1 (S-38742) 32.png

[13:24 - 13:39] теперь сложный случай 1900 год он делился на 100 поэтому не был високосным правильно и еще 1 особенный случай 2000 год который 90x400


Step 1 (S-38742) 33.png

[13:39 - 13:56] високосный еще раз хочу обратить ваше внимание на вот эту запись здесь мы видим наглядно приоритет логических операций сначала выполнятся и потом или если бы я поить что вы не запомнили все таки с + - умножить разделить в работать гораздо больше


Step 1 (S-38742) 34.png

[13:56 - 14:14] то можно поставить скобочка мы вас за это ругать не будем посмотрим еще 1 тип задач когда нам нужно выбрать из нескольких вариантов или всего остального значит такая пусть там занят друг что моей мы там по нашим другом ваня который дает играть в футбол если она позвонит мы идем играть в футбол


Step 1 (S-38742) 35.png

[14:14 - 14:33] обозначим друга саши который зовет нас вместе учить и + + если позвонил этот срок то мы с ним и там есть а если поездка на другой фрукты мы никуда не идет и сидим дома смотрим сериал там переменная которое будет обозначать кто то позвонил


Step 1 (S-38742) 36.png

[14:33 - 14:51] все как обычно если позвонил ваш друг номер 1 футбол


[14:51 - 15:05] иначе если позвонил друг номер 2 си + +


[15:05 - 15:20] больше восклицательных знаков больше радости чем у футбола ну наконец else звонил кто то нам не друг напечатаем что мы смотрим сериал сидим дома


[15:20 - 15:38] закутавшись в теплый плед и грустим эту задачу можно решить другим способом не использовать такую конструкцию как иначе если например что мы можем сделать уберем этот if и будем надеяться что все будет хорошо давать сразу проверь неправильно программ а быть неправильно


[15:38 - 15:57] и вдруг номер 1 а напечатала что он был одновременно играть в футбол и смотреть сериал разберемся почему так выполним все это ты звонил друг номер 1 это печатное слово футбол затем мы проверяем позвонили нам друг номер 2 нет


Step 1 (S-38742) 37.png

Step 1 (S-38742) 38.png

[15:57 - 16:14] мы говорим что мы смотрим сериал в этом ошибка чтобы исправить это нужно написать что если нам позвонил мне друг номер 1 и не друг номер 2


[16:14 - 16:29] тогда мы смотрим сериал пока 2 еще можно писать если бы у нас было 100 друзей он замучились причислять не друг номер 1 не друг номер 2 не друг номер 100 писали бы программ до вечера


[16:29 - 16:46] поэтому мы пользуемся наша хитрой конструкции иначе если что происходит если позвонил друг номер 1 мы печатаем и не идем в этот раз вообще from закончим работу программ


[16:46 - 17:00] если что происходит мы идем помет иначе и проверяем следующее условие если позвонил друг номер 2 это тоже но годом все проспишь если это был действительно заказ иначе


Step 1 (S-38742) 39.png

[17:00 - 17:17] будет выполняться только если позвоню не друг номер 1 а после побед в иначе и не друг номер 2 мы опять пошли ветви иначе тогда смотрим сериал сегодня у нас есть постоянная рубрика вредные советы 1 вредный совет арифметическое выражение можно рассматривать как логическое


Step 1 (S-38742) 40.png

[17:17 - 17:34] если результат вычисления равен 0 это ложь в любом другом случае это истина посмотрим на примере задачи высокосный год по старому стилю ты там перемена для года читаемый енд и напишем следующее странное выражение если


[17:34 - 17:52] год остатка деление на 4 и все когда оно будет истина в случае если это арифметическое выражение не равно 0 то есть это любой не високосный год учетом количества немного иначе


[17:52 - 18:08] год был високосным запуск программы проверим 2015 год не високосный 2016 високосный то есть эта штука работает


Step 1 (S-38742) 41.png

Step 1 (S-38742) 42.png

[18:08 - 18:24] увлекаться я использовал не стоит читать очень сложно и допустит ошибку оборот легко следующая вредный совет ровно обратный результат вычислений логического выражения можно считать результатом вычисления арифметическое если логического выражения было истиной то это единицы если ложь вот это норм


[18:24 - 18:39] посмотрим таком примере вывести единицу если число четное и 0 в противном случае считаем число напечатать здесь нужно окружить обязательно порядок действий


[18:39 - 18:54] запускаем вводим четное число 10 вот она наша единиц и вводим нечетное число


Step 1 (S-38742) 43.png

Step 1 (S-38742) 44.png

Step 1 (S-38742) 45.png

[18:54 - 19:11] 0 что происходит здесь мы считаем остатка деление а нагло и сравнивать его с 0 если это выражение есть он печатает соединиться если ложь печатать 0 на этом на сегодня все может быть практически задача в этот раз они более программист чем математический


Step 1 (S-38742) 46.png

[19:11 - 19:18] а на следующем занятии мы будем изучать цикла то есть как повторять одни и те же действия много раз пока