derBeobachter

derBeobachter

Я красавец! Очень возможно, что бабушка моя согрешила с водолазом.
Пикабушник
Дата рождения: 09 сентября 1980
поставил 5504 плюса и 2486 минусов
отредактировал 1 пост
проголосовал за 1 редактирование
Награды:
5 лет на Пикабуболее 1000 подписчиков
90К рейтинг 1411 подписчиков 19 подписок 91 пост 20 в горячем

Программирование Python по моим конспектам Лекция 4

Пост можно топить, минусить и всячески убивать, ибо в горячем он нахер не нужен, а вот подписчикам пригодится.


Здоров, дорогие друзья и подруга. Мой сегодняшний монолог я начну с простенькой темы, которую понял даже мой кот, который настолько глуп, что писает в тарелку с которой ест. Обычно о этом говорят уже на первой лекции. А мы вот только к четвертой добрались.

Итак. Присваивание. Мы с этим уже сталкивались, но о нем еще не говорили

выглядит присваивание так

имя=значение

как в метаматематике.

На практике выглядит к примеру так

x=1

Таким образом, самые догадливые из нас начинают подозревать, что оператором присваивания есть "=". В этом примере х это имя, а 1 это значение. Также х мы называем переменной. Ну мы уже мудрые, говорили о этом недавно. Очень часто переменную сравнивают с ящиком, куда можно что либо положить.  Крутой пример, лучше не придумаешь.

Программирование Python по моим конспектам Лекция 4 Программирование, Питон, Язык, Длиннопост

Теперь смотрим как это дело работает на практике.

Программирование Python по моим конспектам Лекция 4 Программирование, Питон, Язык, Длиннопост

присвоили иксу значение 1, вывели значение на экран.

Если уже тут после всего возникли вопросы, значит программирование не для вас. Идите в другую область народного хозяйства или служить в милицию.

Едем дальше. Перенос содержимого переменных. Для начала попытайтесь сами понять.

Программирование Python по моим конспектам Лекция 4 Программирование, Питон, Язык, Длиннопост

Тут мы переменной х присвоили значение строки "cat", а потом переменной y присвоили значение переменной х. Таким образом в x и y одинаковые значения. Затем вызываем значение икса, и игрека.


мы так же можем множественное присвоение сделать. Выглядит это  чудо вот так.

Программирование Python по моим конспектам Лекция 4 Программирование, Питон, Язык, Длиннопост

А еще можно присвоить значения целой цепочке переменных. Записывая переменные и значения через запятую.

Программирование Python по моим конспектам Лекция 4 Программирование, Питон, Язык, Длиннопост

А еще можно таким макаром и присвоить значения двух переменных.

Программирование Python по моим конспектам Лекция 4 Программирование, Питон, Язык, Длиннопост

Надеюсь, что это было легко.

Далее, ваш верный слуга хотел бы продолжить с цитаты одного давно почившего писателя из пиндостана по фамилии Рили.


"когда я вижу птицу, которая ходит как утка, плавает как утка и крякает как утка, я говорю, что эта птица- утка".


Эт к чему же я это. Это я хочу вам о страшном словосочетании рассказать. Говорят, что пришло оно к нам из проклятий Древних. И произносится только шепотом в полнолуние. Звучит сие не иначе как Динамическая типизация.


возвращаемся к нашим баранам. Смотрим глазами на строчку ниже.

a=1

Имени а был присвоен обьект со значением 1. Обьект принадлежит к целочисленному типу. Но тип ни каким образом не принадлежит имени. Это и называется Duck-Typing. Это то что я выше написал. Переменная видит, что обьект целочисленное число, и принимает эти условия.

Сейчас обьясню подробнее. К примеру, в языке программирования С, который для меня был первым, и на котором мой мозг потерял свою девственность,  такая вот структура (a=1)не прокатила бы. По той причине, что переменная а не видит, что 1 это целое число. И мы должны это писать  так int a=1. Другими словами целочисленная переменная принимает целочисленное значение. В питоне же- переманенная сам определяет, кокой тип мы передаем. Мне лично это не нравится, ибо я люблю хардкор. Но для новичков- это супер.

сейчас я кривой лапой нарисую это все. Надеюсь так яснее станет.

Программирование Python по моим конспектам Лекция 4 Программирование, Питон, Язык, Длиннопост

А теперь  обещанные мною задания. Все делаем без компа. Кто будет делать с компом- вычислять по айпи не стану. Скажу одно, так вы никогда ничего не поймете и толку с вас не будет. Гугл юзать можно. Книги тоже юзать можно. Даже нужно. На вопросы отвечать готов.


Задание один


Какой результат вы плучите на экране ПК при исполнении данных функций

type(id('a'))

type(3)

min(2,4,0)


заполните все свободные места под переменными. Две первые строки я уже сделал за вас.

x  y  z

x=y=z  1  1  -

x=2  2  1  -

z=1

z=z*3

x,y=y,3

y=y/2

x,y,z=x,x,x

x='y'

y=min(2,z,5)


На этом кланяюсь. Успехов, друзья и подруга.

Показать полностью 7

Программирование Python по моим конспектам Лекция 3

Пост можно топить, минусить и всячески убивать, ибо в горячем он нахер не нужен, а вот подписчикам пригодится.



Ну что мой, любознательный друг, или подруга (во что я не особо то и верю), вот и пришло время выложить вам очередную порцию моего гнусного юмора в куче с лекциями по питону.

Учитывая отсутствия вопросов, у меня возникает три мысли..либо я накаркал о том, что мои уроки заставляют выйти в окно, либо всем просто похер на мою писанину (что меня устроило бы в большей степени), либо вам все понятно (во что я не верю, ибо мне самому мои мемуары не понятны)

Кстати, для тех, кто уже знаком с программированием, отвечаю сразу, что мы сейчас рассматриваем основные положения языка. И хелоуворд будет позже, хотя в обычных уроках, он всегда засматривается на первом уроке.

В любом случае продолжим нашу вечеринку. В этой теме многое может быть не понятным, но это не страшно, ибо это та тема, к которой вы вернетесь еще не раз, так что бояться не стоит.


Сегодня, мой дорогой друг, или маловероятная подруга, мы поговорим о таком диве дивном как Имена.

Рассмотрим такой случай

Программирование Python по моим конспектам Лекция 3 Питон, Программирование, Лекция, Длиннопост

Видим мы тут обьект со значением "1"+ обьект со значением "3". А следующая строчка- это сумма. А сейчас залезем в .опу без мыла. Ну вот вроде все супер. Все работает. Однако. Есть один нюанс. Эти оба объекта имеют свой тип, свой id, но имя у них нет (совсем как у меня на работе..если не считать "эй ты").  А в следующем примере мы уже даем имя нашим подопытным объектам.

Программирование Python по моим конспектам Лекция 3 Питон, Программирование, Лекция, Длиннопост

Тут мы уже начинаем чувствовать себя кулхацкерами. Ибо на экране появляются первые непонятки, хотя, все очень просто.  В самом деле, мы просто присвоили нашим объектам со значениями 1 и 3 имена. object1 и object2 соответственно. Еще в  некоторых селениях  называют эти имена Переменными.

Как вы ведите из третьей строки- с переменными можно творить то же самое, что и с объектами без имени.

Ну и как всегда в таких случаях, вселенная диктует свои правила. А именно- нельзя просто так взять и назвать обьект так как мы того хотим. Другими словами, для названия переменной  есть свои правила. Они очень просты-

любая переменная может начаться из буквы, нижней черты, за тем следует любое количество букв,нижних черт и цифр.

Другими словами, если ты назовешь переменную как то так "2peremennaja", то я тебя вычислю по айпи, приду к  тебе домой и сломаю тебе руку, чтобы ты такую гадость больше не делал. Нижайшие прошу простить за грубость.


Следующим важным определением, с которым мы должны ознакомиться, это функции. Для понятия что такое функция стоит представить себе завод, который выпускает..нууу скажем..стулья.

А теперь смотрим как это работает. Вот есть у нас завод. Но что ему нужно, чтобы работать? Ну кроме работников и надсмотрщика с плетью.

Заводу нужен материал. Пусть это будут у нас доски. Так вот. Получаем такую картинку.

Программирование Python по моим конспектам Лекция 3 Питон, Программирование, Лекция, Длиннопост

мы подаем доски в завод, который уже знает что ему с ними делать, т.е обладает алгоритмом (о котором мы  ранее говорили)по переработке досок, и с помощью этого алгоритма завод делает стулья, и отдает готовый товар. Так работают функции. У каждой функции есть своя задача, и свой алгоритм действий. Например может быть функция, которая складывает два числа, и возвращает нам результат, или функция, которая делит число на ноль, вызывая ошибку. Некоторые функции требуют входной материал, который называется аргумент функции (по примеру наших досок), а некоторые нет. А еще мы уже выучили пару функций на прошлой лекции.

Это функции type и id. В прошлой лекции, скорее всего было не понятно как это работает, но сейчас мы немного приблизимся к разгадке. Возьмем к примеру функцию type. Мы хотели узнать какой тип данных будет у числа 123. Для этого мы брали нашу функцию type, открывали скобочки после нее, выходило так type(), а внутри скобочек уже и писали наши аргументы (дрова для завода). Выходило так type(123). Другими словами, заводу с именем type, мы отправили материал в виде числа 123, и мы знаем что в ответ завод дает нам название типа данных. Либо это будет цело число,  либо строка, либо число с запятой и тд.

Нам не интересно, что происходит внутри функции. Нам в данном случае интересен результат.

А теперь обобщаем это все для наглядности.

Программирование Python по моим конспектам Лекция 3 Питон, Программирование, Лекция, Длиннопост

Напоминает наш завод? То то же.

А сейчас, ну чтоб ваще понятно стало. Мы еще на одну функцию посмотрим. Называется она min()

В функцию мы передаем любое количество чисел через запятую, и функция, основываясь на свой внутренний алгоритм выдает нам минимальное число.

К примеру min(10,5,3,6,9)

Программирование Python по моим конспектам Лекция 3 Питон, Программирование, Лекция, Длиннопост
Программирование Python по моим конспектам Лекция 3 Питон, Программирование, Лекция, Длиннопост

Очень скоро у нас  будет тема, посвященная функциям, и мы будем учиться делать свои функции. Наша задача на сегодня была понять что это такое.


Ну раз мы заговорили о функциях, то сердце мое не будет биться спокойно, пока я не расскажу о Import.

Все дело в том, мой друг, и маловероятная подруга, что в самом питоне уже встроены тонны стандартных функций. Та же функция min() к примеру. И вот сидели как то бородатые дядьки в узких штанах и думали..вот у нас уже десятки тысяч функций..можно и запутаться в них. А давайте мы все функции сгруппируем. Например математические функции будут находится в группе math, а функции работы со временем пусть будут в группе time. И решили эти бородатые дядьки, чокаясь стаканами со смузи, назвать эти группы модулями. И для того чтобы воспользоваться какой либо функций из модулей, решили сначала этот модуль импортировать (иначе  сказать, "дорогой интерпретатор, в данной программе, я бы хотел использовать функции из модуля "time", к примеру).

Выглядит это так

import modulname или так from modulname import*

или если нам конкретная функция нужна

from modulename import functionsname.


вот пример вам. Из модуля math, мы импортируем все функции, но используем только лишь функцию получения факториала. Для тех, кто не знает что такое факториал-

вот пример получения факториала из 6 (!- это знак факториала)

6!=1*2*3*4*5*6=720


В примере я попробую получить факториал из 10

Программирование Python по моим конспектам Лекция 3 Питон, Программирование, Лекция, Длиннопост

А теперь немного подробнее. Я подключил модуль math в первой строке. Во второй строке я в модуле math получаю доступ к находящейся в ней функции factorial c  помощью точки. Пока этого достаточно. Ведь это только вступление. Мы еще будем о этом говорить.


Таким образом мы уже очень близко от нашей цели, а именно программировать хоть что то полезное. Еще один или два таких нудных урока, и сможем делать интересные вещи.

п.с я уже близок к тому, чтобы пилить видео, ибо это проще, но согласно вашим пожеланиям я держусь и пишу текст))

Показать полностью 7

Программирование Python по моим конспектам Лекция 2

Ну что, здарова тем, кто еще не вышел в окно под влиянием прошлых уроков. Для тех кто не в теме, тут я перевожу свои лекции по питону с языка бусурманского на язык православный, что  мне, порой, доставляет нехилых разочарований. Ибо что то такое вот

Grundstücksverkehrsgenehmigungszuständigkeitsübertragungsverordnung

должно стать милым словцом, от которого слышен  пой соловьев и шум березок.


Тема у нас сегодня жирная и вкусная. Но лапки свои шаловливые вы от компа еще уберите, положите из как пионеры на стол, и читайте матчасть.

Так вот, сегодня мы продолжим наше общение о том, о чем вы уже много от меня слышали, а именно о Объектах. Правда на этот раз мы не будем говорить о гостях столицы и о ТП.

Сегодня мы поговорим о более приземленных вещах.

Питон является переориентированным языком программирования.

Сие означает, что данные, функции и другие языковые элементы представляются с помощью объектов.

Короче, меченый, смотри. Если ты говоришь в математике о числе 123, то имеешь ввиду какое то цифровое значение, или величину. Однако значения объектов представляются через литералы. Не сцы, меченый, это не страшное слово. Литералами мы зовем последовательность знаков, которые построены согласно специальных правил. Вернись, меченый, это еще не все. Чем же отличается литерал от цифровой величины? А тем, что

123 (число в десятеричной системе) это 1111011 в двоичной системе. Литералы разные, а значение одно..Таки дела..А еще есть и другие системы счисления, но ты, меченый, еще очень слаб, чтобы их знать. Поэтому поверь на слово.

Еще не устал? Если да, то не ной как сучка. Отожмись пару раз от потолка и слушай дальше.

Если мы возьмем наше многострадальное число 123, а именно обьект со значением 123, то речь идет о целом числе. И это значит, что речь идет о целочисленном типе (на языке басурманском integer). А вот если мы своими ручонками возле 123 еще и кавычки поставим, дабы вот так смотрелось "123", то нихрена это уже не целое число будет, а строка (последовательность символов). Ага. А в чем разница то. А в том, что 123+123=246. А "123"+123 будет ошибка, а вот "123"+"123" эт "123123".. Поэтому тип объекта ну оочень важный. Само собой- все это еще впереди.

А пока мы можем уже аккуратно и нежно включить наш интерпретатор и попробовать магию.

Как я уже говорил- есть типы данных. Целые числа, строки..а еще есть и числа с запятой, и другие типы данных. Так вот, если вы дебил  не можете отличить целое число от не целого числа, то очень просто определить какой же тип данных вы ввели в консоль, с помощью стандартной функции type. Вот как она работает

Программирование Python по моим конспектам Лекция 2 Python, Программист, Язык, Длиннопост

123- integer. Целое число

"123"- str. Типа строка

1.23- флот. Число с запятой


Еще вникнем в это дело. Но пока достаточно этого.

Теперь остается понять что такое ID объекта. Можно сказать даже "адрес" обьекта, который всегда показывается в виде целого числа. Узнать айдишник можно с помощью функции id.

Программирование Python по моим конспектам Лекция 2 Python, Программист, Язык, Длиннопост

Так вот. Фишка в том, что могут быть два объекта со значением 123, но с разными айдишниками. Это как два брата - близнеца, которые одинаковы, но живут в разных домах.

Короче, выглядит это дело вот так. Число 123. Айдишник -497176112, тип данных int, значение -123.

Программирование Python по моим конспектам Лекция 2 Python, Программист, Язык, Длиннопост

На этом оставим объекты пока в покое. И преступим к теоретической информатике.


В прошлый раз мы говорили о бинарных числах. И о том как число в десятеричной системе счисление перевести в бинарный код. А сегодня будем учиться вернуть все "в зад".

Допустим, есть у нас число в бинарном коде. 100011. Нужно его преобразовать в десятичную систему счисления. С права на лево, над каждым ноликом и единичкой последовательно ставим числа от 0 и до упора. Как на картинке ниже. Это будет показатель степени. Далее с лева направо, или на оборот (это роли не играет). Тут начнем с лева на право. Берем обычную двойку  и возводим ее в степень, крайнюю с лева (у нас это 5), после чего умножая результат на единичку или нолик, который под этой степенью находится (у нас это 1). Записываем это дело и ставим плюсик. И таким макаром, пока не дойдем дло 1*2^0. ПЛюсуем полученые результаты и имеем наше число в десятеричной системе счисления. Вотт такие пироги, товарищ.

Программирование Python по моим конспектам Лекция 2 Python, Программист, Язык, Длиннопост

А пока..тренируйтесь на кошках. Если что не понятно- мне похер. Я всего лишь лекции перевожу.

ладно, шучу. Спрашивайте если чо

Показать полностью 4

Программирование Python по моим конспектам Лекция 1 ч.2

Ну что, привет тем, кто на борту. А тем кто за бортом, добро пожаловать на борт нашего дырявого баркаса.

Я все так же продолжаю переводить с немецкого на русский лекции по питону. И сразу оговорюсь, между этими лекциями я буду вставлять несколько уроков по теоретической информатике, дискретной математике и основных законов булевой алгебры и теории множеств. Так как считаю, что  учить программирования без понятия мира информатики- глуповато. Поэтому даю сразу ответы, на возникающие вопросы


-Нет "хелоуворд" будет позже.

-Мне пофиг, что теоретическая информатика вам не нужна, если бы была не нужна- ее бы тогда из Вузов исключили.


Сейчас мы  работаем над тем, чтобы понять что такое программирование, и учим основные термины языка. Без этого- никак.


В прошлый раз мы делал вид, что питон - это интересно. Сегодня мы будем делать вид, что умеем включить компьютер и устанавливать на него непосредственно сам питон, и немного познакомимся с работой интерпретатора. И еще мы начнем понимать то, как работает комп. Надеюсь, что я тоже пойму..очень надеюсь..


В прошлый  раз мы пытались понять что такое объекты в реальном мире на примере пересылки букета цветов из Москвы в Киев. А сегодня мы попытаемся понять что такое класс.

Повторюсь, что эту темы мы еще долго будем мусолить. Однако некоторые темы требуют "переваривания" и обдумывания в течении нескольких дней.

Итак..вспоминаем наши объекты из прошлой лекции.



Маша: 28 лет


безработная миллионерша



Джамал: 63 года


сотрудник фирмы по продаже цветов в Москве



Тарас: 33 года



сотрудник фирмы по продаже цветов в Киеве



Паша: 25 лет


не единожды судимый придурок, подрабатывает доставкой цветов в Киеве



Светлана: 20 лет


светская львица



А теперь мы разделим наши объекты по определенным свойствам.

Джамал и Тарас- они оба торговцы цветами. Значит они оба содержат одинаковые методы и одинаковые атрибуты (город к примеру). Однако они содержат разные данные. Например, хотя они оба имеют атрибут "город", но в случае Джамала это Москва, а в случае Тараса это Киев. В мире информатики говорят- Джамал и Тарас являются экземплярами класса "торговцы цветами". Таким образом класс- это фундамент объекта. Дальше углубляться не станем пока что (яд нужно принимать мелкими порциями), но начальное понятие объекта и класса нам скоро пригодится.

На этом хватит, и мы оставим это для дальнейшего размышления.



Ну теперь мы приступаем к тому, с чего обычно и начинаются уроки по питону. Непосредственной установке питон на ваши машины.  Идем сюда

https://www.python.org/downloads/ 

качаем питон версии 3. Устанавливаем на машину.

(для Unix систем питон уже установлен, для проверки вводим в консоли

$ python -V и получаем ответ "Python 3.5.2 " (версия может быть другой), если получаем ошибку, устанавливаем питон (в интернете можно найти как это сделать)


Итак, мы установили какую то хрень, которая называется питон к себе на машину, и логично задаемся вопросом..а нахер это нам надо.

Вопрос понял. Отвечаю


Официальный дистрибутив питона (того, что вы скачали и установили) содержит в себе

-Питон интерпретатор. На первой лекции говорили о нем

-IDLE (среда разработки). Проще говоря- блокнот, в котором мы говнокодить будем.

-Модули, которые могут использоваться интерпретатором (пока просто понимаем, киваем, но не заморачиваемся)

-Документация


Питон в интерактивном режиме.


Интерпретатор питона может быть вызван в интерактивном режиме, таким образом, что можно вводить одну строку нашей программы и тут же видеть реакцию интерпретатора на введенную команду (или строку программы).


Выглядит окно интерпретатора в консоли так:

Программирование Python по моим конспектам Лекция 1 ч.2 Питон, Программирование, Язык, Длиннопост
Первая строка, надеюсь всем понятна, вторая- это список команд для помощи.

а вот последняя строка, а именно символы ">>>"приглашает нас ввести нашу первую команду. После того как мы ее введем, у  нас есть три варианта развития событий.


1. Мы вводим обычное арифметическое выражение 2+2*6, интерпретатор обрабатывает его и дает ответ 14.  Важно знать, что правила математики и арифметики играют важную роль. Если вы заметили из примера выше. Сначала умножаем 2 на шесть, а к результату добавляем 2.

Программирование Python по моим конспектам Лекция 1 ч.2 Питон, Программирование, Язык, Длиннопост

2 мы вводим ошибочное выражение, противоречащее правилам арфиметики  2)+6  и получаем ответ с ошибкой. То есть интерпретатор обрабатывая строку движется посимвольный с лева направо, и как только найдет не понятную ему хрень (в данном случае это  ")", он начинает орать)

Программирование Python по моим конспектам Лекция 1 ч.2 Питон, Программирование, Язык, Длиннопост

И третий вариант. Мы даем команду, на которую не бывает внешней реакции. Например если мы присвоим переменной a значение 2. Ну присвоили себе и присвоили. Если о шибки нет, значит все ок. И мы можем вводить следующую строку.

Программирование Python по моим конспектам Лекция 1 ч.2 Питон, Программирование, Язык, Длиннопост

В этом моменте многие авторы книг по питону пишут- "я вообще забыл что такое калькулятор, и использую для этого только интерпретатор питона"..ну хз..я не настолько хардкорен. Но если вам нравится- можете юзать.


Таким образом мы можем писать коротенькие программки прямо в консоли, а если у вас стальные яйца, то можно и большие програаамищи.

тоже самое можно делать и в оболочке python-shell  в IDLE (среде разработки) которая входит в состав питона, который вы уже установили.

Выглядит python-shell IDLE так. Те же яйца, только на белом фоне. Вы можете так же вводить арифметические задачки, из примеров выше, и получать аналогичный результат.

Программирование Python по моим конспектам Лекция 1 ч.2 Питон, Программирование, Язык, Длиннопост

Однако, есть еще и горячие клавиши в python-shell, а именно

Alt+p- показывает предыдущую команду (шаг назад)

Alt+N - показывает следующую команду (шаг вперед)

На следующей лекции мы перейдем вплотную к изучению объектов, имен, синтаксиса и тд. И только после этого мы перейдем непосредственно к программированию.


Теперь курс теоретической информатики


Итак..попытаемся понять как работает компьютер, точнее основополагающую успеха его работы.


Представляем себе что вы шпион и для связи с агентом вам необходимо в вашей квартире включить свет в окне. Если агент видит свет в окне- он идет на связь. Если нет- соответственно нет.

то


00 -свет выключен, на связь не выходит никто


01 свет включен только в правой комнате. Значит агенту Васе надлежит явиться с докладом


10 свет включен только в левой комнате. Значит аненту Пете нужно прийти и доложить


11 свет горит везде. Приходит агент Джамал (чувак из прошлой лекции)



А теперь вопрос- нахрена я это все рассказываю. Эти самые нолики и единички называться битами. И с помощью битов мы можем закодировать любую информацию. Вот смотрите- мы сейчас с помощью двух битов наладили работы целой конспиративной квартиры. Внутри компьютера все работает аналогично- только количество битов исчисляется тысячами, миллионами и тд. И каждый из этих битов может в определенном этапе времени принимать только одно значение. Создавая тем самым уникальные цепочки битов.

Но как бы заставить это все работать. Как бы заставить машину с помощью всех этих еденичек и ноликов изобразить, скажем число "434"..

Поэтому собрались мудрецы и стали думу думать..думали думали..и выдумали вот что-

берем мы наше число 434. Делим его на  2, а остаток от деления записываем. Получили мы 217..супер, а остаток 2. Делим мы теперь 217 на 2, и выписываем остаток. И так до упора (как на украденной в интернете картинке ниже). Добравшись до упора. мы видем, что наш остаток состоит из единичек и ноликов, который нам просто напросто нужно переписатть наоборот. (или снизу вверх) - это и будет число 434 в двоичной системе счисления. И теперь компьютеру нужно будет всего лишь взять 9 окон(бит) и правильно включить-выключить в них свет.

Программирование Python по моим конспектам Лекция 1 ч.2 Питон, Программирование, Язык, Длиннопост

Попробуйте потренироваться с другими положительными числами. А еще подумайте, сколько бит нужно, чтобы отобразить число 5 или 10 или 300

А на следующем уроке мы узнаем, как отображать числа, которые меньше нуля в бинарном коде, и как расшифровывать бинарный код обратно в число, как и то, что бывают не только двоичные системы счисления, но и много других.


П.С по вашим пожеланиям- пока что делать видео не буду. А когда и стану, то курс лекций будет в ворд файле вместе с видео

Показать полностью 6

Программирование Python по моим конспектам

Этот пост можно топить смело. Он для узкого круга людей, которым я обещал сие запилить


Итак, дорогие 10 подписчиков, вот мы и встретились.

Далее я буду переводить свои конспекты по Питону (или как говорят бородатые мужики в узких штанах "паааайййтаааан").

Естественно я не буду переводить свои конспекты слово в слово, а постараюсь адаптировать их по уровень "чайника" не только в программировании, но и в копмьюторных технологиях. Скажу сразу, что текста будет очень много, ибо лектор был очень уж болтливый разговорчивый. Таким образом, порой даже самая простая тема затянется на один или два поста. В конце каждой темы (не поста) будут задания, которые ваш верный слуга должен был исполнить в конце каждой недели, дабы быть допущенным к экзамену. Сам я не могу себя назвать гуру в этом языке, так как моя цель-вспомнить его, методом перевода лекций для вас.


Итак..начнем мы не с Питона, о нееееет...падаван еще не готов к этому. Начнем мы с понятия


Что значит "Программировать"


Итак любой человек, которого спросят "что такое "программировать?"- ответит "программировать- это писать программу". И этот человек будет прав.

Однако мы используем слово "программа" не только в разрезе информатики как науки, но и в жизни. Так, у нас есть такие понятие, как театральная программа или программа новостей по зомбоящику. У нас, также есть программа (или же план) наших дней рождения. И каждый раз эти вещи обедняет одно- это список действий или событий, изложенных в определенном порядке. К примеру, у меня день рождения, и я решил закатить вечеринку с блек джеком и тортиком. Что я делаю? Я сам себя программирую, иначе говоря составляю план


1  зову гостей

2 в день патинахате я покупаю торт и готовлю кучу вкусняшек

3 Накрываю на стол

4 Одеваю чистые носки и пЯнжак

5 Жду гостей


Однако, если я плохой программист самого себя (другими словами дебил), я составлю такую программу, которая состоит из таких же команд..нооо


1 в день патинахате я покупаю торт и готовлю кучу вкусняшек


2 Накрываю на стол


3 Одеваю чистые носки и пЯнжак


4 Зову гостей


5 Жду гостей


Может кто то и придет из соседнего подъезда, но людей стоило бы заранее предупреждать.


То есть суть понятна- каждая программа состоит из логической последовательности команд или указаний. Это касается как программ в нашем обиходе, так и комп. программ


Что же мы имеем ввиду, говоря о понятии программирования, в науке "информатика"


Программирование- это  цепочки команд, которые должны быть исполнены для того чтобы решить определенную задачу. И которые

1 Понятны человеку

2 понятны машине

3 управляют машиной


Алгоритм

Очень хорошее слово, которое мы будем довольно часто употреблять

А. - это инструкция к решению задачи. Не больше ни меньше. Вот вам пример Алгоритма


"Смешайте яйца с сахаром и добавьте кефир, всыпьте соду, сахар, щепотку соли, затем муку и всё хорошо перемешайте. Натрите на крупной тёрке яблоко, смешайте его с творогом и добавьте полученную массу в тесто. Поместите тесто в смазанную маслом форму для выпечки и выпекайте пирог в разогретой до 200°С духовке 30 минут."



Алгоритм мы описываем настолько понятно, чтобы человек, который ранее не был знаком с этой деятельностью или решением задачи, мог легко его решить.

Иными словами, при программировании стоит понять, что комп-- тупая машина, однако быстро выполняющая наши команды. И чем детальнее мы ей опишем команды, тем лучше они будут выполнены. На этом мы остановимся с понятием А. и вернемся к нему еще много раз.


Синтаксис и Семантика


еще два отличных слова. И опять же эти два слова спокойно себе жили даже тогда, когда наши предки считали на счетах, и подтирались шкурами не изобрели еще компьютер.

Итак- синтаксис и семантика это набор правил каждого языка. К примеру в русском языке, если мы скажем " я приду к тебе" или " к тебе приду я" ничего не изменится. Однако, если мы аналогично попробуем сказать в немецком или английском языках, то в худшем случае нас не поймут, а в лучшем как мастер йода говорить будешь ты.

В программировании у нас есть только худшие случаи. Если правило нарушено- машина пошлет нас подальше и откажется нас понимать. Мы еще не раз вернемся к этим понятием. Но главное, чтобы суть была понятна. В конспекте был пример кода из других языков, однако, многие новички в мире программирования сразу будут выходить в окно, смотря на это. Так что оставим пока как есть.


Интерпретатор и Компилятор


оооотличные слова. Удивительные 2 слова, я бы сказал


Питон- это один из языков высокого уровня. Язык именно высшего уровня проще для понятия людям, доставляет меньше проблем для изучения и резко снижает уровень суицидов..однозначно так. Однако для того чтобы тупая железяка компьютер понял наш код, и обработал его, наша программа требует быть переведенной на машинный язык. Да да- именно так, машина не умеет читать буквы и слова и оперировать ими как указаниями или командами..к сожалению. Однако она можно заставить машину перевести наш код в понятный ей язык.

Если то что выше не совсем понятно. Представляем себе- что наш компьютер это джин, который говорит по турецки, но читать умеет и по русски. Мы даем ему лист бумаги с приказами на русском языке, он в уме переводит это на турецкий и выполняет команду. Однако, его русский так плох, что стоит нам ошибиться в слове или предложении, наш джин не поймет весь текст.


Тут то и вся соль.


Компилятор:


Компьютер с помощью компилятора читает текст программы (код), если он находит ошибку, не запускает программу, а орет о том, что найдена ошибка. Если не находит- создает в памяти машины исполняемый файл и запускает его как обычную программу. Это касается таких языков программирования как С или С++ или им подобные.


работает так:


наш код--компилятор--исполняемый файл--(ОС--хардварЭ (железо))


Интерпретатор:

А вот интерпретатор- это продвинутый джин - переводчик

он буквально сразу начинает выполнять код, и сразу выполняет программу..однако если найдена ошибка- программа прекращает свой ход. 


наш код--интерпретатор--(ОС--хардварЭ (железо))


Пока этого достаточно. В процессе мы к этому вернемся


Мир Обьектов


Обычно эта тема рассматривается гораздо позже, однако мы же только пытаемся "вьехать в тему".


Итак, сейчас я скажу то, за что я расцеловал бы любого, когда сам пытался поонять что такое обьект. Но в те времена я такое объяснение не нашел.


Итак. Предоставим ситуацию. Маша из Москвы решила послать своей подруге Светлане из Киева букет цветов. Поэтому она звонит в цветочную фирму (или как там их называют), и делает заказ у работника по имени Джамал. Ну Москва- поди не резиновая разные имена бывают.

Рассмотрим теперь Джамала как обьект. На языке программирования обьект Маша шлет обьекту Джамалу послание "пошли 7 роз Светлане, по адресу г. Киев, улица Народного Ополчения 9". Джамал принимает сообщение и уже знает что ему нужно делать. Это значит, что ему известен алгоритм с тем, что же ему делать нужно в таких ситуациях. И такой алгоритм прост- найти среди своих коллег в Киеве такого, который работает не далеко от Светланы и может доставить букет цветов. Джамал находит такого. Его зовут Тарас. И шлет Джамал ему немного измененное сообщение "  Купи 7 роз и пришли по адресу г. Киев, улица Народного Ополчения 9. От Маше Светлане". На этом Джамал со своей задачей справился и передал ответственность за задачу Тарасу. Но и Тарас парень нее простой у него тоже есть свой алгоритм работы. Тарас собирает розы и зовет простого паренька Пашку, который должен на велосипеде доставить букет непосредственно Светлане. А Пашка..ну поди не отличается от других же..у Пашки есть свой алгоритм..найти карту, посмотреть куда ехать, доставить букет и сказать от кого они ну и получить подпись в акт приема передачи. После чего отдать акт Тарасу, чтобы тот отдал Джамалу, а Джамал отчитался перед Машей. На этом цепочка передачи информации закончена.

Вроде ничего не ясно. Но в этом и вся суть.


Фишка в том, что каждый обьект имеет свои атрибуты (свойства). К примеру если мы возьмем обьект "город", атрибутом может быть население, или величина города и тд

Если мы рассмотрим человека как обьект. У него есть свойства.

Пример


имя обьекта  свойства

Маша:  28 лет

безработная миллионерша


Джамал:  63 года

сотрудник фирмы по продаже цветов в Москве


Тарас:  33 года


сотрудник фирмы по продаже цветов в Киеве


Паша:  25 лет

не единожды судимый придурок, подрабатывает доставкой цветов в Киеве


Светлана:  20 лет

светская львица



Итак, прокручиваем все заново. Обьект Маша ищет обьект, у которого есть свойства "продажа цветов в Москве", тот в свою очередь ищет обьект со свойством "продажа цветов в Киеве", дальше ищется обьект со свойством "доставка цветов в Киеве" и тд.

Однако обьект Маша вообще не представляеет как работает обьект Джамал. Она даже может думать, что обьект Джамал лично едет на велосипеде из Москвы в Киев. Таким образом один обьет не должен знать как именно действует другой обьект, но он должен знать что именно нужно передать обьекту исполнителю для того, чтобы заставить его действовать. На примере Маши это количество цветов и Адрес Светланы. Другая информация Джамалу не нужна.

Однако доставка цветов это не все что умеет делать Джамал. Он еще умеет читать, курить трубку, летать на самолете и тд и тп. Все это собрание алгоритмов. И есть еще отдельный алгоритм "что делать, если позвонит заказчик и закажет цветы". Этот алгоритм называется Методом.


Дальше мы будем еще 1500 раз говорить об обьектах и классах ( о них позже)  и

будет также отдельная тема посвященная им.  Поэтому особо сильно не вникайте, но к этой теме вы еще не раз вернетесь.


На след теме доберемся до классов и будем учиться включить компьютер:)



А теперь вопрос- возможно, стоит мне это в виде видео делать? А то как то чувство, мол книгу пишу)))

Показать полностью

Программирование Python по моим конспектам

Товарищи, я уже вижу, как вы закатываете глаза, и думаете "еще один холоувордщик".

Так же я закатываю уже все два года, что сижу на Пикабу. Однако, меня смущает один факт.

Почему все уроки одинаковы. Разные автора. Но одни и те же ошибки. Такое чувство, что задача авторов не научить человека программировать- а тупо запилить пост. Никто не оставляет домашних заданий ученикам, а без них никто и никогда не научится программировать. И именно задания домашние (или же практические) прививают любовь к этому делу. А без любви к программированию ничего не выйдет. Кто считает, что я не прав- пусть первый бросит в меня камень.

Кроме того- постоянные холивары, относительно вопроса "нужна ли математика"..Сложный вопрос. Но без основ дискретной математики или же основ Булевой Алгебры в программировании делать нечего. В каждом сраном уроке, что я видел тут это как то забывается..и мне аж охладитель не помогает. Короче, я тут подумал вот что. Есть у меня мои конспекты из универа. Если надо- переведу с Немецкого на Русский и буду тут выкладывать (ибо мне сейчас все равно нужно срочно питон вспоминать, так что мне не в напряг). Конспекты эти с домашними заданиями. Задания как по мне,очень крутые и интересные.

Например вот такое рекурсивное деревцо.

Программирование Python по моим конспектам Питон, Программирование, Язык

Или программа-определитель. Является ли текст, на котором мы пишем немецким (хотя можно  любой другой язык выбрать)

Программирование Python по моим конспектам Питон, Программирование, Язык
Программирование Python по моим конспектам Питон, Программирование, Язык

И так далее. Короче-если кому нужно. Давайте знать. Раз -два в неделю могу сливать пару тем. Правда говорю сразу, что иногда будет очень тяжело. Так что ежели решили булки расслабить, то это не для вас.

Таким образом я задаю вопрос- нужно ли это вам, или ну его в баню?

Показать полностью 3

Новый вид пикапа

Стою на остановке. Жду трамвай. Напротив как раз остановился один, и так как совсем рядом пешеходный переход, пропускает людишек. А я пялюсь в окна. Внезапно замечаю в этом трамвае подругу, и начинаю махать ей руками. А она тупо смотрит сквозь меня взглядом мертвой рыбы и не замечает. Я начинаю дурачиться возле окна..гримасы строю и тд..о..заметила, машет, улыбается. Выходит из трамвая..короче обознался я.

А она вышла, так как тоже обозналась . Познакомились, пригласил вместе сходить к окулисту.

Надеюсь, что узнаю ее..

Его мама сказала ему надеть галстук

Его мама сказала ему надеть галстук Галстук, Приз, Мальчик
Показать полностью 1
Отличная работа, все прочитано!