Свойства символов в информатике и их обозначения
Символы в информатике — сущность и применение
Символ в информатике — это знак, графический заменитель объекта, обозначающий его, являющийся элементом системы построения символьных сообщений, рассчитанный на восприятие машиной или человеком.
Один и тот же символ может быть написан по-разному, иметь разное значение. К примеру, буква B может по-разному выглядеть в различных шрифтах. Кроме того, написанная одинаково, в английском языке она может обозначать звук «б», а в русском — «в».
К категории символов относятся строчные и прописные буквы, знаки препинания, цифры, пробел, разнообразные специальные знаки.
Осторожно! Если преподаватель обнаружит плагиат в работе, не избежать крупных проблем (вплоть до отчисления). Если нет возможности написать самому, закажите тут.
Представление символов в вычислительных машинах
В вычислительных машинах символы представлены в виде последовательностей бит. Возможность их передачи и корректного отображения на разных устройствах обеспечена уникальной последовательностью единиц и нулей, характерной для определенного знака.
Бит — это двоичный знак двоичной системы, обозначающий минимальный элемент информации для вычислительной машины.
Символы бывают печатными и непечатными. Печатные — это те, что мы видим на экране компьютера. Непечатные лишены изображения, но тоже обладают уникальным кодом. При их пересылке машина выполняет закодированную операцию, но не отображает ее результат на мониторе.
Простыми примерами непечатных знаков являются команды перемещения в следующую строку, возврата в начало строки.
Кодировки символов, какие бывают, таблица
Для того чтобы закодированная информация могла без искажения передаваться между устройствами, необходима некая единая система. Считается, что первой такой системой стала таблица ASCII 7. В нее вошли 128 символов.
Второй стала ее усовершенствованная версия — ASCII 8, сделавшая допустимым хранение 256 знаков.
ASCII 8 содержала набор из управляющих символов, прописных и строчных букв английского алфавита, знаков препинания и арабских цифр. Однако для многих языков этого было недостаточно: графика арабского, китайского и японского не укладывалась в 256 знаков. Поэтому разработка продолжилась и привела к возникновению стандарта Unicode.
Этот стандарт содержит 109000 разнообразных символьных обозначений и пока удовлетворяет потребности даже самых сложных с графической точки зрения языков.
Специальные символы по информатике
В информатике, математике и других точных науках существует множество специальных символов, обозначающих математические действия, значения, меры. Уместить их все на клавиатуру невозможно. Поэтому для их введения разработали специальные таблицы.
Обычно такое приложение носит название «Таблица символов». Вызвать его можно через меню «Пуск» — «Все программы» — «Служебные». В появившемся окне располагаются все типы специальных знаков. Кроме того, для гармоничной вставки в текст пользователь может изменить параметр «Шрифт», выбрать наиболее подходящий по характеристикам.
Логические операции
символ 0 (ноль) используется для обозначения лжи (ложного высказывания).
Два логических выражения, содержащих переменные, называются равносильными (эквивалентными), если значения этих выражений совпадают при любых значениях переменных. Так, выражения А → В и (¬А) \/ В равносильны, а А /\ В и А \/ В – нет (значения выражений разные, например, при А = 1, В = 0).
Приоритеты логических операций: инверсия (отрицание), конъюнкция (логическое умножение), дизъюнкция (логическое сложение), импликация (следование), тождество. Таким образом, ¬А \/ В \/ С \/ D означает то же, что и
Возможна запись А \/ В \/ С вместо (А \/ В) \/ С. То же относится и к конъюнкции: возможна запись А /\ В /\ С вместо (А /\ В) /\ С.
Свойства логических операций
Общие свойства логических операций
Для набора из n логических переменных существует ровно 2n различных значений. Таблица истинности для логического выражения от n переменных содержит n+1 столбец и 2n строк.
Дизъюнкция
Если хоть одно из подвыражений, к которым применяется дизъюнкция, истинно на некотором наборе значений переменных, то и вся дизъюнкция истинна для этого набора значений.
Если все выражения из некоторого списка истинны на некотором наборе значений переменных, то дизъюнкция этих выражений тоже истинна.
Если все выражения из некоторого списка ложны на некотором наборе значений переменных, то дизъюнкция этих выражений тоже ложна.
Значение дизъюнкции не зависит от порядка записи подвыражений, к которым она применяется.
Конъюнкция
Если хоть одно из подвыражений, к которым применяется конъюнкция, ложно на некотором наборе значений переменных, то и вся конъюнкция ложна для этого набора значений.
Если все выражения из некоторого списка истинны на некотором наборе значений переменных, то конъюнкция этих выражений тоже истинна.
Если все выражения из некоторого списка ложны на некотором наборе значений переменных, то конъюнкция этих выражений тоже ложна.
Значение конъюнкции не зависит от порядка записи подвыражений, к которым она применяется.
Простые дизъюнкции и конъюнкции
Назовем (для удобства) конъюнкцию простой, если подвыражения, к которым применяется конъюнкция, – различные переменные или их отрицания. Аналогично, дизъюнкция называется простой, если подвыражения, к которым применяется дизъюнкция, – различные переменные или их отрицания.
Простая конъюнкция принимает значение 1 (истина) ровно на одном наборе значений переменных.
Простая дизъюнкция принимает значение 0 (ложь) ровно на одном наборе значений переменных.
Импликация
Импликация A →B равносильна дизъюнкции (¬А) \/ В. Эту дизъюнкцию можно записать и так: ¬А \/ В.
Импликация A →B принимает значение 0 (ложь) только если A=1 и B=0. Если A=0, то импликация A →B истинна при любом значении B.
Что значит //, %, not in, == и другие операторы Python
Операторы – это специальные знаки, которые являются командой для интерпретатора Python по выполнению определенных задач. Они бывают абсолютно разными: арифметическими, операторами сравнения, тождественности, принадлежности и так далее. Все они имеют различные особенности, которые сегодня мы рассмотрим более подробно.
Арифметические операторы Python
Как можно догадаться из названия, арифметические операторы нужны для того, чтобы совершать несложные арифметические операции. К таковым относятся:
- Сложение. Для этого используется оператор +, который является таким же, как и известный математический знак, выполняющий эту функцию.
- Вычитание. Эта операция осуществляется с использованием знака «–».
- Умножение. В большинстве компьютерных программ данная арифметическая операция выполняется с использованием знака звездочки *. Python – не исключение.
- Деление. Для этого используется знак слэша /. Внимание! Он должен быть направлен именно в эту сторону.
- Остаток от деления. Выглядит так, как математический знак процента (%), но имеет другую функцию.
- Возведение в степень. Отличается от аналогичного знака в арифметике. Выглядит, как две звездочки, расположенные по горизонтали (**).
- Деление без остатка. Этот оператор получает исключительно целое число, округленное в меньшую сторону (так, чтобы оставался остаток). При этом он не возвращает остатка.
Теперь перейдем к описанию принципа работы этих операторов (равно, как и других). Сначала необходимо разобраться в значении слова «операнд». Это те фрагменты информации, над которыми осуществляется операция. В нашем случае – арифметическая.
Любые операнды размещаются по разные стороны оператора. В случае с математическими операторами, в большинстве случаев это будет стандартное арифметическое выражение типа a + b = c или n = a+3 .
Но оператор деления по модулю, например, будет использоваться таким образом.
То есть, каждый из описанных выше знаков ставится между операндами. А получившееся выражение может присваиваться другой переменной или же использоваться в качестве аргумента функции.
Операторы присваивания Python
Присваивание значения переменной – одна из самых распространенных операций. С ее помощью можно передавать ей необходимую информацию, которая в дальнейшем может использоваться программой. Без нее невозможно представить программирования. А для большего удобства использования количество операторов присваивания в Python очень большое.
Рассмотрим наиболее распространенные из них.
Оператор = . Это классический оператор присваивания. Обратите внимание, он не проверяет равенство операндов, за это отвечает другой оператор. Он именно используется для присваивания значений или объектов переменным.
Тем не менее, в некоторых случаях он может читаться, как знак «равно», но только если речь не идет о сравнении операндов.
Эта простая строчка кода присваивает переменной x значение 5. То есть, она может читаться, как «x равно 5». Но при этом осуществляется не констатация факта, а действие, после которого переменная x становится равной 5. А до этого действия она может как вовсе отсутствовать, так и содержать любое другое значение.
Это единственный оператор этой категории, который выполняет одно действие. Остальные же совершают сразу 2.
Оператор += . Этот оператор сначала добавляет к переменной то число, которое находится во втором операнде, а потом делает так, чтобы эта переменная имела соответствующее значение.
Это то же самое, что x = x + 3.
В целом, любой из операторов может быть заменен на аналогичное выражение, где переменная равно переменная, оператор, операнд 2. Дальше мы приведем еще несколько таких примеров для наглядности, и такая же логика будет действовать для всех операторов присваивания.
Оператор –= . Выполняет похожую операцию на ту, что делает предыдущий оператор, но при этом со знаком «минус». Он сначала берет переменную, которая стоит в первом операнде, отнимает от содержащегося в ней числе значение, расположенное в правом операнде, а потом результат присваивает этой же переменной, которая стоит в левом операнде.
На практике все значительно проще, чем может показаться, когда вы читали это правило. Оператор –= аналогичен выражению x = x-y. Просто оно более сокращенное.
Если вместо x подставить значение 2, то получится число -1, поскольку если от двух отнять 3, выйдет именно -1.
Оператор *=. Аналог предыдущих двух операторов присваивания, только выполняющий операцию умножения. Соответственно, принцип его работы аналогичный.
В целом, по такому же принципу работают все остальные операторы. Например, есть оператор деления, который также ставится перед знаком равно, а также деление по модулю, остаток от деления и так далее. Давайте приведем таблицу с описанием всех имеющихся операторов сравнения при их соединении с другими.
Операторы сравнения Python
Они используются, чтобы сопоставить операнды друг с другом и понять, они равны, или какое-то из них большее, или меньшее.
Рассмотрим существующие операторы сравнения.
Равно (==). Как и говорилось выше, этот оператор выглядит несколько иначе, чем оператор присваивания. Выглядит он, как два математических знака «равно», стоящих вместе. Он проверяет равенство двух операндов, и в случае соблюдения этого критерия возвращает значение «истина».
Не равно (!=). Также отличается от аналогичного арифметического знака в математике. Противоположный по значению оператор. Возвращает истину, если указанный выше критерий не соблюдается.
Больше, чем (>) и меньше, чем (<). Операторы, аналогичные таковым в математике.
Больше или равно (>=) и меньше или равно (<=). Аналоги соответствующих операторов в математике с несколько иным описанием.
Приведем сводную таблицу со значениями и примерами использования этих операторов.
Логические операторы Python
Предназначены для связывания объектов между собой. Используются для задания условия, при котором выполняются определенные действия или для указания критерия, при котором выполняется цикл или осуществляется выход из него. Всего существует три логических оператора в этом языке программирования
И (and). Объединяет условия между собой. Если оба критерия оказываются верными, оператор возвращает значение «истина». Если же нет, то «ложь».
ИЛИ (or). Проверяет истинность хотя бы одного из указанных операндов. Если из них есть один, который соответствует действительности, то возвращается значение «истина». Если же нет, то «ложь».
НЕ (not) . Выполняет инверсию результата вывода логического оператора или функции. То есть, истина становится ложью и наоборот.
Приведем сводную таблицу с примерами использования этих операторов, а также их значениями.
Операторы тождественности Python
Если требуется сравнить несколько объектов между собой, используются операторы тождественности. При этом они отличаются по принципу действия от операторов сравнения с тем, поскольку критерием для тождественности является нахождение операндов в одной и той же части памяти.
Есть всего два оператора тождественности:
- Выполняет сравнение, операндов, и если они являются идентичными, то возвращается значение true. Соответственно, если этот критерий не соблюдается, возвращается значение false .
is not. Противоположный по принципу работы оператор. В случае тождественности операндов друг другу возвращает false .
Приведем наглядную таблицу с описанием использования операторов тождественности в Python.
Операторы принадлежности Python
Python также умеет раскладывать объекты на составляющие и проверять, является ли один объект составной частью другого. Типичный пример использования – строки. Например, с их помощью можно проверять, является ли одна подстрока составной частью другой подстроки. Соответственно, возвращается логический результат, предусмотренный подходящим оператором.
В Python есть два оператора принадлежности – in и not in. По синтаксису они напоминают все остальные. Сначала ставится операнд 1, после этого оператор, а потом – операнд 2. И выполняют они похожие действия. Просто если строка является составной частью большей строки (или меньший объект – составляющей большего), то оператор in возвращает значение True . Если же здесь бы использовался оператор not in, то возвращаемое значение было бы False .
Приведем небольшую таблицу с примерами использования этих операторов (вернее, шаблонами), а также – их значениями.
Побитовые операторы Python
Самая сложная для понимания категория операторов. Настолько сложная, что для этого нужно отдельно рассматривать принцип работы каждого из них. Ведь каждый работает по определенным формулам. Они поддаются логике, она будет указана в таблице ниже. Тем не менее, это все равно довольно сложно.
Начнем с того, что они работают с битами. То есть, с нулями и единицами, а не привычными значениями. Например, оператор & каждый бит делает единицей лишь при условии, что каждый бит операндов на соответствующих позициях равен единице.
Вот более подробная таблица с использованием этих операторов.
Мы разобрались с самыми часто используемыми операторами в Python, а также рядом других, сфера применения которых более ограниченная. Следует отметить, что операторы – это одна из самых простых тем в программировании. Они почти не отличаются от привычных нам математических знаков, просто список символов, которые используются, несколько больше. При этом принцип их работы доступен для понимания каждому новичку. Единственное исключение – побитовые операторы, которые заслуживают отдельного рассмотрения.
Все о системах счисления в информатике
Когда речь заходит об IT и информатике, пользователям и разработчикам приходится иметь дело с разнообразными системами счисления. Они помогают отображать данные, а также вести запись чисел и символов на устройстве.
В данной статье будет рассказано о том, какие системы счисления существуют, для чего они необходимы, где применяются. Соответствующие темы обычно затрагиваются еще в школах – на уроках информатики в средних-старших классах. Поэтому каждый уважающий себя разработчик должен хорошо разбираться в обозначенном направлении.
Определение
Система счисления (СС) – это специальная система записи для выражения чисел. Математическое представление чисел заданного набора с использованием цифр и иных символов согласованным образом.
Совокупность правил записи чисел через символьно-цифирные конечные наборы. Одна и та же последовательность может быть представлена разными числами в различных системах «записи». Пример – 11 в десятичной системе, три – в двоичной, два – в унарной.
Значения и их особенности
Значение – это число, которое представляет та или иная цифра. Не все рассматриваемые компоненты могут работать со всеми числами, используемыми сегодня. Примеры – римские «значения». У них нет нуля.
- представляет полезный набор чисел (примеры – целые, рациональные);
- дает уникальное представление каждому имеющемуся элементу;
- отражает алгебраические или арифметические структуры.
Без систем невозможна работа с компьютерами. Именно поэтому соответствующее направление требует отдельного внимания.
Существуют различные виды СС:
- Непозиционные. В них значение не зависит от ее позиции.
- Позиционные. «Итог» зависит от того, где именно стоит тот или иной компонент.
- Однородные.
- Неоднородные.
Каждый вариант предусматривает свои ключевые особенности.
Позиционный тип
Здесь значение каждой цифры будет зависеть от ее разряда в числе. Пример – для человека привычна 10-я СС. Она является позиционной. 453 рассмотрено в виде примера. Тут 4 – это сотни, что указывает на 400, 5 – десятки (50), 3 – единицы (3). Чем больше разряд, тем выше окажется значение.
Непозиционный тип
Самый древний вариант. Каждый компонент – это отдельная величина. Она никак не зависит от разряда. В программировании не используется, поэтому рассматривать его более подробно не рекомендуется.
Однородный тип
Однородный вариант – это тот, в котором для всех позиций числа набор допустимых символов будет одинаковым. Пример – десятичная система. Для записи элемента можно использовать в каждом разряде только одну цифру. А именно – от 0 до 9. Запись 450 допускается (1-й разряд – 0, 2 – 5, 3-й – 4), а вот 4F5 – нет.
Смешанный тип
В нем в каждом разряде допускается разный набор других позиций. Пример – это измерение времени:
- в секундах – 60 символов;
- в часах – 24;
- в сутках – 365.
Теперь можно рассмотреть, какие СС встречаются в информатике чаще всего.
Десятичная СС
Самая распространенная. Это – часть позиционной системы счисления. Применяется в обыденной жизни повсеместно. Каждый разряд здесь – это только одна цифра. Диапазон составляет от 0 до 1 включительно. Основание системы счисления – 10.
Чтобы лучше понять принцип использования, стоит рассмотреть пример – 503. В непозиционной СС оно выглядело бы так: 5 + 0 + 3 = 8. В позиционной каждая цифра числа умножается на основание, возведенное в степень, равную номеру разряда.
- 5*10 2 ;
- 0*10 1 ;
- 3*10 0 .
Чтобы избежать путаницы, запись будет выглядеть так: 503=50310. Используется нижний индекс.
Двоичная
Двоичную систему счисления в основном используют устройства и компьютеры. Такое решение пришло из-за того, что 10-я СС требовала раньше огромных затрат. Это сказывалось на стоимости ЭВМ.
Пришлось создавать «урезанную» версию. Основание здесь – 2. Для записи используются символы:
- 0;
- 1.
Каждый разряд имеет только одно соответствующее значение. Пример 101. Это – десятичное 5. Для того, чтобы осуществить перевод из двоичной СС в 10-ю, требуется умножить цифру 2-го числа на 2. Возвести «двойку» в степень, равную разряду. Так 1012 будет:
- 1*2 2 ;
- 0*2 1 ;
- 1*2 0 .
Для работы с кодами ЭВМ хранит для каждой отдельной цифры триггер. Это – электронная схема, принимающая два состояния. Одно – соответствует «нулю», другое – «единице».
Для того, чтобы запомнить отдельное число, применяется регистр – группа триггеров, количество которых соответствует количество разрядов в двоичном числе. А их совокупность – это оперативная память. Число, которое содержится в регистре, носит название машинного слова. Для получения доступа их нумеруют. Номер – адрес ячейки.
Восьмеричная СС
Восьмеричная система применяется в технике и гаджетах. В качестве основания выступает 8. Содержит для записи цифры в диапазоне от 0 до 7.
Пример – 254. Для того, чтобы перевести его в 10-ю СС, нужно каждый разряд исходного «компонента» умножить на 8n, где n – это количественный номер разряда. Получится: 2*8 2 + 5*8 1 + 4*8 0 = 128+40+4=17210.
Шестнадцатеричная система
Шестнадцатеричную систему счисления используют в современных компьютерах достаточно часто. Пример – с ее помощью можно задать цвет.
Она имеет основание 16. Для выражения чисел система использует числа 0-9, а также буквы A-F. Буквенные записи соответственно будут равны 10, 11, 12, 13, 14 и 15.
Чтобы лучше понимать принцип «работы» этой СС, стоит рассмотреть наглядный пример – 4F1516. Чтобы перевести его в 8-ю, нужно:
- Преобразовать число в двоичное.
- Разбить на группы по 3 разряда (элемента).
Для перевода в 2-е число каждая цифра представлена в виде 4- разрядного числа:
- 100
- 1111
- 101.
В первой и последней группах не хватает разряда. Они дополняются нулями: 0100 1111 0101. Это значение разделяется на группы по 3 компонента справа-налево. Получается 010 011 110 101.
Для того, чтобы увидеть результат, нужно перевести каждую двоичную группу в восьмеричную систему. Разряды умножаются на 2 n , где n – это номер того или иного разряда. На выходе получится 23688.
Восьмеричную и шестнадцатеричную системы счисления активно изучают в школах на уроке информатики. Они не слишком нужны среднестатистическим пользователям, но пригодятся тем, кто планирует углубляться в программирование.
О преобразованиях
Работая с любой систе мой счисления, нужно понимать, как переводить число из одного «варианта» в другой. Эти навыки пригодятся каждому, кто планирует углубляться в IT.
В десятичную
Первый вариант – это любую «систему» привести к «десятичному виду». Тому, что привычен каждому пользователю.
Пусть будет дано число a1a2a3, где основание – это b. Тогда нужно каждый разряд умножить на b n . N выступит номером разряда. Формула перевода окажется: (a1a2a3)b=(a1*b 2 +a2*b 1 +a3*b 0 )10.
Из десятичной
Из десятичной системы счисления можно преобразовать число в любую другую. Здесь стоит разделить процесс на формирование дробной и целой частей. Иначе добиться желаемого результата не получится.
В случае с целой частью действовать необходимо так:
- Последовательно выполняется деление целой части на основание новой системы. Делается это до тех пор, пока число не станет нулем.
- Полученные остатки – это цифры искомого компонента.
- Запись осуществляется с последнего остатка до первого.
Дробная часть преобразуется так:
- Соответствующий элемент умножается на основание системы, в которую осуществляется перевод.
- Целая часть отделяется.
- Умножить дробную часть на основание новой. Делать это до тех пор, пока она не будет равна 0.
- Записать полученный результат умножения. Делается это в порядке, соответствующем получению.
Пример – 1510 при переводе в восьмеричную систему счисления – это 178. Получилось как: 15/8 = 1, остаток – 7, а также 1/8 = 0, остаток 1.
Из двоичной в восьмеричную и шестнадцатеричную
Для того, чтобы перевести 1 a (число) из двоичной в 8-ю систему, нужно:
- Разбить его на группы по 3 компонента справа-налево.
- Недостающие разряды дополнить ведущими нулями.
- Преобразовать каждую группу при помощи умножения разряда на 2 n .
Аналогично действовать нужно с шестнадцатеричной системой, но делить компонент необходимо на группы по 4 элемента.
Из 8-ой и 16-ой в 2-ю
В случае с восьмеричной системой – каждый разряд числа преобразуется в 3-х разрядное двоичное путем деления на 2. Недостающие крайние разряды – это нули.
Шестнадцатеричная система предусматривает преобразование каждого разряда в двоичное 4-х компонентное. Сопровождается делением на 2. Недостающие крайние разряды – это нули.
Быстрое погружение в основы
Чтобы научиться работать в непозиционной системе счисления или любой другой, стоит углубиться в основы информатики. В этом помогут специализированные дистанционные онлайн курсы.
На них пользователя с нуля обучат основам информатики, программирования, дизайна и графики. Помогут освоить в кратчайшие сроки инновационные IT-профессии. В конце каждого курса пользователи получают официальные электронные сертификаты.
Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!