#программируем_с_балтикой
Наконец-то подоспела третья глава! В этой главе вы узнаете, что такое алгебра логики и зачем она нужна. Для начала необходимо понять что такое высказывание. Высказывание — это повествовательное предложение, которое можно однозначно назвать истинным или ложным. К примеру, "Солнце — это звезда", "Кошки относятся к млекопитающим" — это правдивые высказывания, а "Собаки не относятся к хордовым" и "Система счисления бывает только позиционной" — ложные. Предложения по типу "Давай займемся программированием!" и "Может быть я научусь плавать" не являются высказываниями, так как первое не повествует, а призывает к действию, а второе содержит долю вероятности и его невозможно назвать правдивым или ложным. Итак, любое предложение может быть истинным или ложным. У них есть разные обозначения: истина может обозначатся как да, yes, правда, true, 1, +, а ложь как нет, no, false, ложь, 0, -. Кстати, интересный факт — основателем алгебры логики является Джордж Буль, из-за чего ее еще называют Булевой логикой. Перелагаю перейти непосредственно к самому главному — к функциям, после рассмотрении которых мы рассмотрим все на примерах. Конъюнкция (логическое умножение) — истина может быть только тогда, когда оба высказывания верны. Возможные обозначения: ^, &, and, *, И. Мои любимые: И либо &. Программируя, будем использовать and. Дизъюнкция (логическое сложение) — истина тогда, когда хотя-бы одно высказывание истинно. Возможные обозначения: V, |, +, ИЛИ, or. На письме легче использовать V либо ИЛИ. В программировании будем использовать or. Инверсия (логическое отрицание) — делает истинное высказывание ложным и наоборот. Возможные обозначения: НЕ, NOT. В программировании будем использовать NOT. По терминам можно легко понять, как какая функция работает По терминам можно легко понять, как какая функция работает. К примеру, возьмем A и B. Предположим, они оба истинны. Тогда, следуя двум первым функциям, мы получим истину. Если же один из них не является истиной, то при логическом умножении мы получим ложь, а при сложении — истину. Эти функции можно использовать комбинированно. Давайте попробуем. Есть некоторое выражение: (A И B) ИЛИ (НЕ А). Для того, чтобы решить это, нужно составить таблицу. Помним, что 0 это нет, т.е. ложь, а 1 — да, т.е. правда. Вписав данные в таблицу, мы сразу же все решим, начиная со скобок (либо начинаем с логического умножения, если нет скобок. Потом — по порядку). A........B........A И B........НЕ A........A ИЛИ B 0........1........0................1..............1........ 1........0........0................0..............0........ 0........0........0................1..............1........ 1........1........1................0..............1........ В итоге мы получим такую таблицу. №2 Задание для укрепления материала: решите такие уравнения, построив таблицу: 1) (НЕ А) + (А ИЛИ (А И В) 2) В ИЛИ А И В И (НЕ А) 3) НЕ (А И В ИЛИ А) №3 Задание повышенной сложности: решите это уравнение с помощью таблицы. (НЕ А) ИЛИ НЕ (В И С ИЛИ А) И НЕ (В ИЛИ А) №4 Делаем шпаргалку: сделаем шпаргалку. Напишите таблицы для каждой функции, учитывая все варианты А и В. Ответы на вопросы вы найдете в комментариях (в № 2 и 3 будут даны только ответы при определенных А и В. Ответы выложу чуть позже публикации поста) На этом мы закончим алгебру логики. В следующем мы перейдем к одной из самых, как по мне, важных тем - к алгоритмам. Свернуть сообщение - Показать полностью
Показать 7 комментариев |
#программируем_с_балтикой
Вторая часть мини-курса про программирование Для начала хочу рассказать вам о том, что такое система счисления и с чем ее едят. Эта глава не обязательна, но советую прочесть. Система счисления — это знаковая система, в которой приняты определенные и строгие правила записи чисел. Основание системы счисления — это количество используемых в ней цифр. Поясню данные термины понятнее. К примеру, мы ежедневно используем десятичную систему счисления. В ней мы наблюдаем десять цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Основанием системы, как вы уже догадались, является цифра 10. Также бывают и другие системы счисления, к примеру, двоичная, состоящая только из двух чисел: 0 и 1. Интересное замечание — в системах счисления последнее число всегда меньше на 1, чем ее основание. К примеру, у восьмеричной системы счисления последним числом будет 7, а у пятеричной — 4. Конечно, возможно у вас сейчас возникли вопросы по типу "а как записывать, к примеру, шестнадцатиричную систему? Типо как 115, где 1 это 1, а две последние цифры это цифра 15? Не сходится. нелогично." Об этом я объясню чуть позже, а пока расскажу про виды систем счисления. Системы счисления делятся на два вида — это позиционные и непозиционные. Позиционные системы счисления — это системы счисления, в которой значение числа определяет не только символ цифры, но и их местонахождение. Пример — та же десятичная система. Число 555 является одним из чисел в ней. Символы вроде бы одинаковы, но носят разное значение. 5 в сотнях это 500, 5 в десятках — 50, и пять в единицах это и есть 5. Непозиционная система счисления — это система счисления, в которой символы всегда имеют одно и то же значение, но количество значения не меняется от их местоположения. В пример приведу римские цифры. Как-бы вы не написали — в любом случае данные числа никак не изменятся. К примеру, возьмем XХ. От местоположения римских десяток число не изменится — оно также и останется числом 20. Рассмотрим их различия на других примерах. Для примера возьмем по цифре 1 и 5 в каждой системе счисления. Для начала рассмотрим в десятичной системе счисления. Всего из этих цифр можно составить два варианта двухзначных чисел, не используя каждое больше одного раза: 15 и 51. В этом случае в первом варианте цифра 1 имеет значение 10, а цифра 5 - 5. Во втором примере теперь уже 5 имеет значение 50, а 1 - 1. То есть, в этих примерах одинаковые знаки имеют разное значение. Это и есть позиционная система. А теперь рассмотрим такой же пример с римскими цифрами. Взяв числа I и V (1 и 5), мы получим также два варианта чисел с разными цифрами: IV и VI. В этом случае в обоих вариантах цифра I будет иметь значение 1, а V - 5. Как бы мы не меняли их местами и куда бы в числа не ставили, эти цифры не изменят своего значения. Это и есть непозиционная система счисления. Маленькая шпаргалочка кому интересно. Римские цифры: I = 1 V = 5 X = 10 L = 50 C = 100 D = 500 M = 1000. III = 3 IV = 4. VI = 6 IX = 9. CDIXII = 413 и т.п. Продолжим урок. Итак, вернемся к вопросу, заданному до видов систем счисления. Так как же будет выглядеть шестнадцатиричная система? Очень просто! Ряд цифр будет выглядеть так: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Да-да, именно так! Вместо чисел 10, 11, 12, 13, 14 и 15 добавляются буквы A, B, C, D, E и F. №1. <i>Задание на досуг</i>: предлагаю вам подумать, как может выглядеть тридцатисемиричная или даже сорокаричная система счисления? (ответ будет в комментариях. Номер задания в начале.) Перейдем к следующему вопросу. Думаю, очень важно будет затронуть в нашем уроке то, как переводить числа из одной системы счисления в другую. Для начала это может показаться сложно, но не стоит пугаться раньше времени. Для начала научимся переводить числа в десятеричную систему счисления. Разберем на примере. Переведем число 1010 в двоичной системе в десятеричную. Для этого для начала присвоим каждому числу начиная с конца номера от 0. Выйдет, что: 1 — 3 0 — 2 1 — 1 0 — 0 Далее расписываем в такой последовательности: берем первое число и умножаем его на основание системы счисления в степени, равной присвоенному номеру числа и прибавляем его ко второму числу, умноженному также на основание системы счисления, умноженное на присвоенный цифре номер и т.д. У нас получится: 1 х 2^3 + 0 x 2^2 + 1 x 2^1 + 0 x 2^0 = х Далее мы просто решаем полученный пример. Умножение на ноль можно сразу вырезать — в любом случае получится ноль. Тогда получив пример 1 x 2^3 + 1 x 2^1 = х, возводим двойки в степени и получаем пример (я сразу умножила на 1) 8 + 2 = x. Тогда мы получаем, что х = 10. Вот мы и перевели число 1010 в двоичной системе в десятиричную, получив число 10. В системах с большим количеством цифр перевод остается таким-же, при условии того, что буквы переведены в числа. <i>Попробуйте самостоятельно перевести число 1110 в двоичной системе счисления в десятеричную</i> (ответ с пояснением будет в конце главы) Теперь рассмотрим как перевести числа с десятичной в другую системы счисления. Для этого достаточно делить число на основание, пока полученное число не будет меньше, чем основание и записать числа, начиная с него и продолжая остатками с конца. Рассмотрим подробнее на примере. К примеру, переведем число 17 в десятеричной системе в двоичную. Для этого начнем делить на 2 (остаток в скобках): 17:2 = 8(1) 8:2 = 4(0) 4:2 = 2(0) 2:2 = 1(0) Получив таким образом числа, собираем их по данному алгоритму. Последнее полученное число — 1. Далее идут числа 0, 0 и 1. Собрав, получаем число 10001. Конечно, нагляднее это видно на примере деления столбиком, попробуйте воспроизвести данный пример самостоятельно, выделив кружком последний результат деления и показав стрелкой на то, с какой стороны нужно брать остатки (проведите стрелку снизу от последнего результата к первому остатку). Остатки подчеркните. Рассмотрим примерперевода в шестнадцатиричную систему. Возьмем число 126. Действуем также. 126:16 = 7(14) В этом случае мы сразу получаем ответ — 7E в шестнадцатиричной. Попробуйте перевести 1123 в десятиричной в двоичную и шестнадцатиричную системы. Пожалуй, на этом мы закончим наш урок. На вопросы без номеров вы найдете ответы в конце главы. К следующей главе вы можете переключится в любое время. Шпаргалка по квадратам двойки: 2^0 = 1 2^1 = 2 2^2 = 4 2^3 = 8 2^4 = 16 2^5 = 32 2^6 = 64 2^7 = 128 2^8 = 256 2^9 = 512 2^10 = 1024 2^11 = 2048 2^12 = 4096 Ответы: 1110 в двоичной = 14 в десятичной 1123 в десятичной = 10001100011 в двоичной 1123 в десятичной = 463 в шестнадцатиричной Свернуть сообщение - Показать полностью
2 Показать 10 комментариев |
#программируем_с_Балтикой
Для того, чтобы начать наш путь по миру кодов, стоит для начала понять, что такое программирование. Программирование — это создание программ и их модификация. Благодаря программистам создаются сайты, приложения и игры. Программисты пишут самые разные коды. Эти люди благодаря особенным языкам программирования учат разную технику делать то, что она делает (не считая механической) Каждый из нас может начать свой путь и заняться программированием. Но не все так просто. Создание кодов с первого взгляда кажется простым, но на самом деле это очень трудный и долгий процесс, требующий терпения, логики, силы воли. К примеру, мне в начале моего пути требовалось на написание программы на 10 строк по 20-30 минут. А представьте, что я бы писала не простенький код для потехи, а игру. Тогда на это множество строк мне потребовалось бы очень-очень много времени. И это не считая того, что на такой код уйдет немало времени для того, чтобы восстановить логику и, следуя строгим правилам орфографии, сделать код рабочим и правильным. Выделяя самое главное, хочу сказать, что хороший программист должен владеть логикой и отменным терпением. Следующие мини-уроки будут выкладываться в другие дни.(там уже поинформативней будет) Свернуть сообщение - Показать полностью
9 Показать 4 комментария |