Свойства символов в информатике и их обозначения
Символы в информатике — сущность и применение
Символ в информатике — это знак, графический заменитель объекта, обозначающий его, являющийся элементом системы построения символьных сообщений, рассчитанный на восприятие машиной или человеком.
Один и тот же символ может быть написан по-разному, иметь разное значение. К примеру, буква B может по-разному выглядеть в различных шрифтах. Кроме того, написанная одинаково, в английском языке она может обозначать звук «б», а в русском — «в».
К категории символов относятся строчные и прописные буквы, знаки препинания, цифры, пробел, разнообразные специальные знаки.
Осторожно! Если преподаватель обнаружит плагиат в работе, не избежать крупных проблем (вплоть до отчисления). Если нет возможности написать самому, закажите тут.
Представление символов в вычислительных машинах
В вычислительных машинах символы представлены в виде последовательностей бит. Возможность их передачи и корректного отображения на разных устройствах обеспечена уникальной последовательностью единиц и нулей, характерной для определенного знака.
Бит — это двоичный знак двоичной системы, обозначающий минимальный элемент информации для вычислительной машины.
Символы бывают печатными и непечатными. Печатные — это те, что мы видим на экране компьютера. Непечатные лишены изображения, но тоже обладают уникальным кодом. При их пересылке машина выполняет закодированную операцию, но не отображает ее результат на мониторе.
Простыми примерами непечатных знаков являются команды перемещения в следующую строку, возврата в начало строки.
Кодировки символов, какие бывают, таблица
Для того чтобы закодированная информация могла без искажения передаваться между устройствами, необходима некая единая система. Считается, что первой такой системой стала таблица ASCII 7. В нее вошли 128 символов.
Второй стала ее усовершенствованная версия — ASCII 8, сделавшая допустимым хранение 256 знаков.
ASCII 8 содержала набор из управляющих символов, прописных и строчных букв английского алфавита, знаков препинания и арабских цифр. Однако для многих языков этого было недостаточно: графика арабского, китайского и японского не укладывалась в 256 знаков. Поэтому разработка продолжилась и привела к возникновению стандарта Unicode.
Этот стандарт содержит 109000 разнообразных символьных обозначений и пока удовлетворяет потребности даже самых сложных с графической точки зрения языков.
Специальные символы по информатике
В информатике, математике и других точных науках существует множество специальных символов, обозначающих математические действия, значения, меры. Уместить их все на клавиатуру невозможно. Поэтому для их введения разработали специальные таблицы.
Обычно такое приложение носит название «Таблица символов». Вызвать его можно через меню «Пуск» — «Все программы» — «Служебные». В появившемся окне располагаются все типы специальных знаков. Кроме того, для гармоничной вставки в текст пользователь может изменить параметр «Шрифт», выбрать наиболее подходящий по характеристикам.
Программирование с нуля
Данная статья описывает основные конструкции в программировании и предназначена для тех, кто хочет в этом разобраться. Но статья не описывает все нюансы, потому что их слишком много. Если описывать их все, будет очень нудно и непонятно.
Использовать будем си-подобный синтаксис, то есть подобный языку си, но не будем вникать в заголовочные файлы, указатели и другие особенности относительно низкоуровневых языков, перейдём на синтаксис более высокоуровневых языков, которые сделают рутинную работу за нас. А конкретно, будем использовать синтаксис языка Java. Добро пожаловать под кат.
Двоичная система счисления
Числа в двоичной системе счисления состоят всего из двух знаков. Нуля и единицы. 00000001 – число один. 00000010 – число два. 00000100 – число 4. Как вы можете заметить, когда единица смещается влево, число увеличивается в два раза. Чтобы получилось число 3, необходимо написать 00000011. Таким образом можно составить все необходимые числа. В данном примере мы использовали двоичное число с восемью знаками, иначе говоря число восьмиразрядное. Чем больше у числа разрядов, тем большее оно может вместить значение. Например, восьмиразрядное число вмещает максимальное значение 255, если считать ноль, тогда 256, а в программировании ноль считается всегда. Если увеличить разряд на один, получится девятиразрядное число и его вместимость увеличится в два раза, то есть станет 512. Но так в программировании никогда не делается и обычно каждая следующая разрядность увеличивается вдвое. Один разряд, потом 2 разряда, потом 4 разряда, потом 8 разрядов, потом 16 разрядов, потом 32 разряда и далее.
Шестнадцатеричная система счисления
Всё аналогично двоичной, только вместо нулей и единиц участвуют цифры от 0 до 15. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, где A – 10, B – 11, C – 12, D – 13, E – 14, F – 15.
Знак минус в программировании
Знак минус в двоичной системе счисления обозначается единицей в самом старшем разряде. Конечно же если число может быть минусовым (да, да, в программировании типы цифр бывают неминусовыми и включающим числа со знаком минус). 10000000 – число -1. Это не число -0, потому что минус нулей не бывает, то есть отрицательные числа смещаются влево на один. А вообще, в разных языках программирования может быть разное представление отрицательных чисел, но вам это знание вряд ли пригодится, поэтому пока что думайте, что всё так, как я объяснил.
Буквы и знаки
Буквы, знаки, смайлики и так далее обозначаются также числами. Буква А может быть числом 00000001 или любым другим, или даже комбинацией чисел в зависимости от кодировки символов. Кодировок много.
Типы данных
В программировании есть типы данных. Числовые, такие как 233, которые разобрали выше. Называются почти везде int, от слова integer. С плавающей запятой, такие как 198,76, называются почти везде float. У букв тип char, у строк тип String. Тип bool имеет два значения – истина (true) и ложь (false). У этого типа реализация в разных языках разная, но самая простая, когда ноль — значит ложь, а любое другое число истину. Нестандартные типы данных, такие как числа с фиксированной запятой, рассматривать не будем.
Применение
Прежде чем использовать числа в программировании их нужно объявить, то есть сказать с помощью языка программирования, что они существуют.
Это стандартное объявление примитивного типа.
Сначала пишем тип, потом имя переменной, то есть нашего числа. Всегда заканчиваем наше выражение, да и любое, точкой с запятой.
Теперь мы можем использовать переменную по её имени.
Здесь мы присвоили переменной значение. В отличии от математики в программировании = значит взять значение справа и присвоить переменной слева. = — это знак/оператор присвоения.
Можно объединить объявление и присвоение, то есть сразу инициализировать переменную.
Буквы выделяются одинарными кавычками, строки выделяются двойными кавычками. Числа типа int не выделяются.
К числам с плавающей запятой одинарной точности в конце добавляется f.
К числам с плавающей запятой двойной точности ничего не добавляется.
Операторы
С помощью операторов можно складывать, вычитать и делать много других операций с переменными. Операторами являются +, -, *, / и другие. Да даже; является оператором, говорящим, что выражение завершено.
После того как мы записали наше выражение, например сложения,
получается значение. Но так как оно ни одной переменной не присваивается, оно исчезает. Чтобы присвоить значение переменной используется специальный оператор присвоения, который коротко описан выше.
Повторим ещё раз. Он берёт значение со своей правой стороны и присваивает его переменной в левой стороне. Это оператор =, и он не имеет ничего общего со знаком равно из математики.
Также у нас есть логические операторы, такие как < (меньше), > (больше), <= (меньше либо равно), == (равно), && (и), || (или) и другие.
Они сравнивают значения или выражения слева и справа, а после выдают истинность в виде типа bool, то есть true или false, и это значение также можно присвоить.
Оператор && (и) сравнивает два значения типа bool. Если слева true и справа true, тогда этот оператор возвращает значение true. В других случаях false.
Оператор || (или) возвращает истинность, если хоть одно значение истинно (true).
Комментарии
Комментарии нужны для того, чтобы не забыть, что мы напрограммировали или они информируют тех, кто будет пользоваться нашим кодом. Попросту заметки в коде.
Однострочные комментарии открываются знаками // и заканчиваются в конце строки.
Вторая строка уже не комментарий.
Есть также многострочные комментарии и другие, которые я рассматривать не буду.
Операторы ветвления
Оператор ветвления if
Если переменная a меньше 154, то есть выражение истинно, выполняет код в фигурных скобках, потом программа выполняется дальше. Код в фигурных скобках называется блоком кода. Он нужен для того, чтобы сказать программе, что этот код принадлежит оператору и именно его нужно выполнить.
Оператор ветвления if можно расширить.
Если условие оператора истинно, выполняет первый блок кода, а если нет, тогда второй блок кода после else.
Оператор ветвления switch
Этот оператор сравнивает значение в круглых скобках со значениями после case. Если значения совпадают, выполняет выражение или выражения после case, доходит до оператора break, после выходит из цикла и продолжает программу дальше. Если ни одно значение не совпадает, выполняет выражение после default. default можно и не писать.
Циклы
Цикл for
Циклы выполняют блок кода по кругу, пока определённое действие их не остановит.
За круглыми скобками в порядке очереди идут инициализация переменной, которая будет счётчиком, условие, при котором цикл выполняется вновь и вновь при истинности условия, выражение, которое выполняется после того, как выполнится блок кода цикла. То есть этот цикл будет выполняться снова и снова, пока переменная i больше либо равна нулю, и, начиная со второго выполнения цикла, значение переменной i будет уменьшаться на единицу. После того, как условие станет ложным, программа начнёт выполняться дальше.
Цикл while
Цикл while выполняется до тех пор, пока условие в круглых скобках истинно.
Если условие будет ложным, но нам необходимо чтобы цикл выполнился один раз, тогда используем следующую конструкцию
Область видимости
Также фигурными скобками определяется область видимости. Все переменные, объявленные внутри фигурных скобок, невидимы во внешней области, но внешняя область видна внутри фигурных скобок. Поэтому мы можем использовать внутри фигурных скобок внешние переменные, но не можем во внешней области использовать переменные, объявленные внутри внутренней области.
Ключевые слова
В языках программирования есть наборы ключевых слов, в каждом языке свой набор. Этими словами ничего называть нельзя. Ни переменные, ни методы/функции, ничего подобного. Слово while ключевое и другие подобные слова также ключевые.
Массивы
Массивы – это набор значений одного типа. Они удобны, когда нам нужно что-то перечислить.
Так выглядит обычное объявление массива. Сначала указываем нужный тип. Потом ставим квадратные скобки, этим говорим языку программирования, что объявляем массив. Далее вписываем его имя. После знака присвоения вписываем выражение инициализации, то есть создания массива. Там мы видим новый оператор new, который используется при создании массива. Если сказать проще, мы создаём семь переменных типа int и присваиваем их нашему массиву под именем items.
Мы создали массив с семью элементами, но обращаться к первому начинаем с 0. Поэтому последний элемент будет под индексом 6. Не забывайте об этом смещении.
Обращение к элементу массива и присвоение его переменной выглядит так
Вход в программу
Мы рассмотрели все основные моменты, чтобы хоть что-то понимать, поэтому теперь перейдём к написанию простой программы.
Началом программы является метод main. Любой метод подобен блоку кода, но с именем. Его можно вызвать из другой части программы по имени, но метод main нельзя, потому что он вход в программу, а вход должен быть один. Метод main срабатывает только при запуске.
А это простейший метод, который сейчас разберём. В круглых скобках указываются входные параметры. Можете их представить, как уже объявленные переменные в блоке кода, которым мы можем присвоить значения извне. Внутри фигурных скобок первый оператор, который мы видим, это return. Он берёт значение справа, которое получается из выражения, и передаёт его вовне. Тип передаваемого вовне значения должен быть таким же, как указанный перед именем метода, то есть int.
Так метод вызывается и результат его выполнения передаётся в переменную z.
В этом примере сначала создаётся класс HelloWorld. Пока что думайте, что класс – это файл, в который мы записываем текст программы.
Далее идёт объявление метода main. По словам слева от его имени мы можем понять, что метод публичный (слово public), то есть мы можем вызвать его не только из этого класса, но и извне. По слову static мы можем понять, что метод статичный, то есть можно его вызвать без разных манипуляций, которые мы рассмотрим позже. Слово void говорит, что метод ничего не возвращает. В круглых скобках есть аргумент args[]. Этот аргумент является пустым массивом строк. Можно добавить забитый чем-то массив строк, но нам это не нужно, потому что использовать его мы не будем, а программа запустится и так.
Следующим мы видим вызов метода println, в параметр которого помещена строка Hello World. Перед ним мы видим перечисление через точки System.out. Если кратко, слово System означает, что метод println находится в классе System, а слово out – это выходной поток PrintStream, который нужен, чтобы выдать информацию вовне. В этом примере вовне — это консоль. Выходной поток out мы рассматривать не будем. Разбор потоков может вылиться в отдельную статью. Нам важно только знать, что out (объект класса PrintStream) находится в классе System, а метод println находится в объекте out. Все эти перечисления через точку просто указывают путь языку программированию к методу println, чтобы он знал откуда его вызывать.
Этот метод выводит строку Hello World в консоль и переводит курсор на новую строку. На этом программа заканчивается.
Компиляция и выполнение
Синтаксис простой программы мы рассмотрели, но не запустили её. Этим мы сейчас и займёмся.
Для начала скачайте JDK и установите его. Потом в переменных средах вашей операционной системы пропишите в переменной Path путь к папке bin вашего установленного JDK. Это нужно, чтобы операционная система могла найти из консоли программы JDK для компиляции и запуска. Теперь поместите текст программы в текстовый файл с именем HelloWorld. С именем HelloWorld, потому что имя файла и класса должны совпадать. Сохраните и измените расширение файла на java. Перейдите в консоли в папку с файлом и введите javac HelloWorld.java. Программа скомпилируется и поместится в файл HelloWorld.class. Чтобы запустить её напишите java HelloWorld. В выводе вы увидите Hello World. Что мы и хотели.
Импорт
Чтобы использовать другие классы и методы из стандартной библиотеки используем слово import.
После слова import идёт название пакета java.util. Он назван так из-за назначения и, собственно, из-за папок java и util, в которых находится класс Random. Путь java\util\Random.class
Вместо java.util.Random можно вписать любой необходимый нам класс.
Классы и объекты. Статические и динамические реализации
Создадим два класса. Эти классы должны находиться в одной папке, чтобы после компиляции они смогли найти друг друга.
Есть ещё множество способов, чтобы классы могли найти друг друга. Это пакеты, внешние библиотеки, внутрипакетное взаимодействие и другое. Здесь разбирать это не будем. Просто знайте, что есть специальные конструкции и ключевые слова, чтобы использовать эти механизмы.
Разберём их. Начнём с класса AnotherClass. Перед его именем мы видим слово public, которое говорит, что класс публичный и его могут использовать другие классы. В нём мы создаём переменную a со значением 9 и метод addition. Можно сказать, что класс AnotherClass – это новый тип.
В классе MyClass мы создаём объект object0 класса AnotherClass. Это очень похоже на создание обычной переменной и также используется ключевое слово new, как при создании массива. Оператор new говорит языку программирования, что нужно создать копию этого класса в оперативной памяти. Мы можем создать множество копий и забить ими всю память. Далее мы передаём переменную a этого объекта в метод println. Dызываем динамические метод addition в параметре метода println. Метод addition вернёт результат, а метод println выведет его.
Динамический метод отличается от статического тем, что его можно вызвать только из объекта, загруженного в память. То есть для начала нужно создать объект. Статический метод можно вызывать напрямую из класса, то есть просто написав имя класса, поставить точку и через неё вызвать метод. Но у статических методов есть ограничения. Внутри их тела невозможно обращаться к динамическим переменным объекта класса, в котором находятся эти методы. Так как статический метод не загружается в оперативную память, в нём нельзя использовать переменные объекта, загруженные в неё.
Чтобы создать статический метод, перед его именем нужно написать static.
Конструкторы
В этих классах почти всё идентично предыдущим, но создаётся два объекта класса AnotherClass2. object0 и object1. Но создаются они по-разному.
Разберём класс AnotherClass2. В нём появился новый механизм, который называется конструктор. Конструкторов в классе может быть несколько, начинаются они со слова public, а далее идёт имя класса. В круглых скобках перечисляются параметры, а в теле конструктора описывается инициализация объекта класса. Конструкторы схожи с методами.
Перейдём к разбору конструкторов в классе MyClass2. В этом классе при создании объектов класса AnotherClass2 мы можем указать параметры в круглых скобках. Язык программирования выберет подходящий под параметры конструктор и проинициализирует объект подходящим образом. Так при создании объектов мы можем создать его разновидность нужную нам.
Символы в информатике
Символы в информатике — это знаки, которые имеют собственное содержание, и в то же время могут в общем виде иметь некоторый другой смысл.
Символы: сущность, применение в информатике
Символ представляет собой графическое представление некоего знака. Символ может быть изображён с некоторыми отличиями, к примеру, разные люди, с разным почерком могут по-разному написать букву «Б». Компьютерные программы тоже могут в разных вариациях изображать одну и ту же букву в зависимости от установленного шрифта, но это по-прежнему будет всё тот же символ. Однако есть и другая сторона медали, различные по смыслу символы могут иметь одинаковое изображение, но отличаться по сути. Например, две буквы «А», но одна принадлежит русскому алфавиту, а другая латинскому. При одинаковом внешнем виде, они считаются различными символами.
К разряду символов относятся помимо букв (прописных и строчных, русских или латинских) также и цифровые символы, знаки препинания, специальные символы и, кроме всего прочего, символ пробела между слов. Вся текстовая информация составлена из символики, но методы сохранения текста в памяти компьютера не зависят непосредственно от изображения данной текстуры. Символы в памяти заменяет их нумерация, то есть цифровое кодирование, а внешнее изображение символа с конкретным кодом на мониторе, связано с применяемым для отображения символов шрифтом. Естественно, что должна быть единообразная система кодировки символов, чтобы закодированные на одном компьютере тексты были доступны для чтения на другом. Общепринятой системой числового кодирования является байтовая система кодировки одного символа. Один байт состоит из восьми битов и это позволяет получить 256 вариантов кодовых значений, то есть можно закодировать 256 разных символов. Этого количества вполне хватает для отображения всех символов латинского алфавита, цифровых символов и всех остальных знаков.
Существует единый стандарт ASCII, в котором указано соответствие конкретных символов и х кодовому обозначению. Кодовая таблица ASCII является семи битной и содержит символы, которые кодируются значениями от нуля до ста двадцати семи. Ниже приведена таблица ASCII:
Рисунок 1. Таблица стандартных ASCII символов. Автор24 — интернет-биржа студенческих работ
Эта таблица не содержит букв русского алфавита, как и букв алфавитов многих других стран. Сначала для изображения символов других алфавитов применяли оставшуюся половину свободных кодов, то есть от 128 до 255. Но это породило много новых проблем, так как сто двадцать восемь вариантов было слишком мало для отображения букв алфавитов всех оставшихся стран. Их не хватало даже для одного китайского. По этой причине был разработан новый стандарт Unicode, который в версии 6.0, выпущенной в октябре две тысячи десятого года, состоит из 109000 разнообразных символьных обозначений. Понятно, что в системе кодирования Unicode, не хватит одного байта на каждый символ, поэтому там применяются коды, состоящие из нескольких байт.
Непечатные символы
Следует отметить факт, все текстовые символы обладают своим числовым кодом, однако не каждый код обладает символикой, которая может быть изображена на дисплее. Имеются ввиду специальные коды управления, у которых значения менее двадцати в шестнадцатиричной системе счисления, то есть это число тридцать два в десятичной системе. При пересылке таких кодов, на экране не отображаются никакие знаки, просто выполняются закодированные операции управления. Например, код ноль семь означает срабатывание звукового сигнала, а кодировка 0С очищает экран монитора. Особняком стоят коды 0A16 и 0D16. Первый означает команду перемещения в следующую строку, но не меняет позицию, второй код вызывает возврат к началу текущей строки. То есть, чтобы выполнить перемещение на начало новой строки, нужны два этих кода. В каждом тексте эти коды идут «неразлучной парой» в конце каждой строки. В различных операционных системах существуют разные коды конца строки. Например, в системе Windows для этой цели применяются два подряд символа, кодируемые как 13 и 10, в GNU/Linux требуется один символ с кодом 10, а в MacOS — один символ с кодом 13. Термины «возврат каретки» и «перевод строки» исторически произошли от давно ушедших в невозвратное прошлое пишущих машинок.
Чтобы ввести какой-либо символ в системе Windows по имеющемуся в наличии его десятичному коду, нужно, удерживая клавишу Alt, набрать его числовой код.
Математические символы
Символьная таблица даёт возможность ввести в текстовый документ математические и специальные символы, разные знаки, которых нет на клавиатуре компьютера. Но не все программы способны работать с такой таблицей. Чтобы вставить в текст специальный или математический символ нужно поставить курсор в нужное место, а затем зайти в меню Пуск, Все программы, Стандартные, Служебные и там сделать выбор Таблица символов. Появится приведённая ниже таблица, где можно найти нужный символ.
Рисунок 2. Математические символы. Автор24 — интернет-биржа студенческих работ
Логические операторы: И, ИЛИ, РАВНО и другие
Логические операторы это специальные символы (или сочетания символов), которые изменяют или комбинируют логические значения типа Boolean — true и false. Их используют чтобы создавать сложные условия, например в циклах.
Логические операторы
Оператор НЕ (!, not)
Выражение вида !true равно false и наоборот. ! — унарный оператор (применяется к одному операнду), он помещается перед операндом.
Оператор И (&&, and)
Выражение вида a && b будет равно true только тогда, когда и а и b равны true.
Оператор ИЛИ (||, or)
Выражение a || b будет равно true, когда или a, или b (или оба) равен true.
Оператор исключающее ИЛИ (^, xor)
Выражение a ^ b будет равно true, когда только один из операндов имеет значение true. Подробно о применении xor рассказывается в статье « Практика применения XOR в программировании »
Оператор эквивалентности ==
Выражение a == b будет равно true, когда a и b имеют одинаковые значения.
Оператор неравенства !=
Выражение a != b будет равно true, когда a и b имеют разные значения.
Приоритет логических операторов
- Оператор эквивалентности — ==, оператор неравенства — !=.
- Оператор отрицания — !.
- Оператор И — &&.
- Оператор исключающее ИЛИ — ^.
- Оператор ИЛИ — ||.
Предлагаем вам пройти тест и узнать, насколько хорошо вы разобрались с логическими операторами:
Ссылка на резюме
Для отправки формы требуется ваше согласие
Спасибо за участие! Нам потребуется немного времени, чтобы обработать все ответы. Свяжемся с тобой в ближайшее время. А пока можешь посмотреть наш Youtube-канал и ближе познакомиться с нашим 1С направлением. Или почитать наш блог на habr.