↓
 ↑
Регистрация
Имя/email

Пароль

 
Войти при помощи
Временно не работает,
как войти читайте здесь!
Картинки ссылками
До даты

Все новые сообщения

#программируем_с_балтикой

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

Для начала необходимо понять что такое высказывание.

Высказывание — это повествовательное предложение, которое можно однозначно назвать истинным или ложным. К примеру, "Солнце — это звезда", "Кошки относятся к млекопитающим" — это правдивые высказывания, а "Собаки не относятся к хордовым" и "Система счисления бывает только позиционной" — ложные. Предложения по типу "Давай займемся программированием!" и "Может быть я научусь плавать" не являются высказываниями, так как первое не повествует, а призывает к действию, а второе содержит долю вероятности и его невозможно назвать правдивым или ложным.

Итак, любое предложение может быть истинным или ложным. У них есть разные обозначения: истина может обозначатся как да, 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 в шестнадцатиричной
Свернуть сообщение
-
Показать полностью
Показать 10 комментариев
#программируем_с_Балтикой

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

Программирование — это создание программ и их модификация.

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

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

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

Следующие мини-уроки будут выкладываться в другие дни.(там уже поинформативней будет)
Свернуть сообщение
-
Показать полностью
Показать 4 комментария

ПОИСК
ФАНФИКОВ











Закрыть
Закрыть
Закрыть