Файл: Операции, производимые с данными (Информация и данные. Виды операций с данными).pdf
Добавлен: 31.03.2023
Просмотров: 465
Скачиваний: 1
СОДЕРЖАНИЕ
1. Информация и данные. Виды операций с данными
2. Разновидности операций, производимых с данными с точки зрения информационного процесса
2.1. Сбор данных. Формализация данных
2.2. Сортировка, фильтрация и поиск данных
3. Разновидности операций, производимых с данными с точки зрения программирования
5) "/=" присваивание после деления. Присваивает левому операнду частное левого и правого операндов: A /= B эквивалентно A = A / B;
6) "%=" присваивание после деления по модулю. Присваивает левому операнду остаток от целочисленного деления левого операнда на правый: A %= B эквивалентно A = A % B
7) "<<=" присваивание после сдвига разрядов влево. Присваивает левому операнду результат сдвига его битового представления влево на определенное количество разрядов, равное значению правого операнда: A <<= B эквивалентно A = A << B;
8) ">>=" присваивание после сдвига разрядов вправо. Присваивает левому операнду результат сдвига его битового представления вправо на определенное количество разрядов, равное значению правого операнда: A >>= B эквивалентно A = A >> B;
9) "&=" присваивание после поразрядной конъюнкции. Присваивает левому операнду результат поразрядной конъюнкции его битового представления с битовым представлением правого операнда: A &= B эквивалентно A = A & B;
10)" |= " присваивание после поразрядной дизъюнкции. Присваивает левому операнду результат поразрядной дизъюнкции его битового представления с битовым представлением правого операнда: A |= B эквивалентно A = A | B;
11) "^=" присваивание после операции исключающего ИЛИ. Присваивает левому операнду результат операции исключающего ИЛИ его битового представления с битовым представлением правого операнда: A ^= B эквивалентно A = A ^ B . [33]
3.4. Логические операции
В тех случаях, когда требуется объединить несколько операций сравнения в рамках одного выражения применяются логические операции. Например, чтобы записать условие приема на работу: возраст до 45 лет и опыт работы от 3 лет нужно использовать оператор И(And): (x<=45) And (y>=3), где х- возраст, y-опыт.
Видами логических операций являются:
1) дизъюнкция, также называемая "логическое ИЛИ" (OR) - возвращает значение "ложь", только в том случае, если оба аргумента ложны. [41, с. 149-150] В языках C++, C#, Java, JavaScript, Perl обозначается как "||", в языках Visual Basic, VBScript, Delphi как "Or", в PHP как "||" или "Or";
2) конъюнкция, также называемая "логическое И" (AND)- возвращает значение "истина", только в том случае, если оба аргумента истинны[41, с. 264]; В языках C++, C#, Java, JavaScript, Perl обозначается как "&&", в языках Visual Basic, VBScript, Delphi как "And", в PHP как "&&" или "And";
3) отрицание, также называемое "логическое НЕТ" (Not)- возвращает истину, если аргумент ложный и ложь, если аргумент истинный.[41, с. 421] В языках C++, C#, Java, JavaScript, Perl обозначается как "!", в языках Visual Basic, VBScript, Delphi как "Not", в PHP как "!";
4) строгая дизъюнкция, также называемая "исключающее ИЛИ" (Xor)- в случае двух переменных результат выполнения операции истинен тогда и только тогда, когда один из аргументов истинен, а другой — ложен. [41, с. 571] В языках программирования указанная операция обозначается как "Xor", вместе с тем, во многих языках (например в C++) такого оператора нет, но его можно сымитировать, используя оператор неравенства (в C++ это "!="). [42]
3.5. Побитовые операции
Поскольку вся информация на компьютере представлена двоичным кодом в виде единиц и нулей, над данными могут производиться побитовые операции. При этом поскольку бит, имеющий значения 0 или 1 очень похож на логические понятия "истина" и "ложь", то рассмотренные выше логические операции также имеют свои аналоги в побитовых операциях. При этом принцип работы остается тем же, а вот операторы различаются.
Виды побитовых операций можно разделить на:
1) аналог логических операций: Or, And, Not, Xor;
2) побитовые сдвиги. [43]
Побитовое "ИЛИ" (Or) бинарная операция, действие которой эквивалентно применению логического «ИЛИ» к каждой паре битов, которые стоят на одинаковых позициях в двоичных представлениях операндов. Другими словами, если оба соответствующих бита операндов равны 0, двоичный разряд результата равен 0; если же хотя бы один бит из пары равен 1, двоичный разряд результата равен 1. [43] В языках C++, C#, Java, JavaScript, PHP, Perl обозначается как "|". В языке Delphi указанный оператор обозначается как "or". [34, с. 223]
Побитовое "И" (And) используется для выключения битов. Любой бит, установленный в 0, вызывает установку соответствующего бита результата также в 0. [43] В языках C++, C#, Java, JavaScript, PHP, Perl обозначается как "&". В языке Delphi указанный оператор обозначается как "and". [34; 223]
Побитовое "НЕТ" (Not) инвертирует состояние каждого бита исходной переменной. [43] В языках C++, C#, Java, JavaScript, PHP, Perl обозначается как "~". В языке Delphi указанный оператор обозначается как " not ".[34; 223]
Побитовое исключающее "ИЛИ" Xor устанавливает значение бита результата в 1, если значения в соответствующих битах исходных переменных различны. [43] В языках C++, C#, Java, JavaScript, PHP, Perl обозначается как "^". В языке Delphi указанный оператор обозначается как "xor".[34; 223]
Операторы сдвига сдвигают биты в переменной влево или вправо на указанное число. При этом на освободившиеся позиции устанавливаются нули (кроме сдвига вправо отрицательного числа, в этом случае на свободные позиции устанавливаются единицы, так как числа представляются в двоичном дополнительном коде и необходимо поддерживать знаковый бит). [43] В языках C++, C#, Java, JavaScript, PHP, Perl сдвиги влево или вправо обозначаются соответственно как "<<" и ">>". В языке Delphi "shl" это побитовый сдвиг влево, а "shr" – побитовый сдвиг вправо. [34; 223] Стоит также отметить, что в языке Java есть оператор ">>>" который производит сдвиг нуля в позицию старшего бита независимо от его первоначального значения. Такое действие называют сдвигом вправо без учета знака, когда всегда вставляется ноль в позицию старшего бита. [44] Существует также понятие циклического сдвига, при котором уходящий бит появляется на месте появившегося свободного на другом конце числа.
3.6. Прочие операции
Помимо вышеназванных операций, хочется также упомянуть такие операции с данными как тернарная условная операция и операция последовательного вычисления.
Тернарная условная операция- во многих языках программирования операция, возвращающая свой второй или третий операнд в зависимости от значения логического выражения, заданного первым операндом. Аналогом тернарной условной операции в математической логике и булевой алгебре является условная дизъюнкция, которая записывается в виде [p, q, r] и реализует алгоритм: «Если q, то p, иначе r», что можно переписать как «p или r, в зависимости от q или не q». В языках C++,C#,Java, PHP, Perl, JavaScript указанная операция записывается как "? :", а именно "условие" ? "выражение 1" : "выражение 2", что можно описать как -если условие истинно, то выполняется выражение 1, иначе (условие ложно) выполняется выражение 2.[46]
В некоторых языках, например в языке C есть также операция последовательного вычисления, которая последовательно вычисляет два своих операнда, сначала первый, затем второй. Оба операнда являются выражениями. Синтаксис операции:<выражение1>, <выражение2> . Знак операции - запятая, разделяющая операнды. Результат операции имеет значение и тип второго операнда. Ограничения на типы операндов (т. е. типы результатов выражений) не накладываются, преобразования типов не выполняются. Операция последовательного вычисления обычно используется для вычисления нескольких выражений в ситуациях, где по синтаксису допускается только одно выражение. [47, с. 93]
Обобщая изложенное в настоящей главе можно отметить тесную взаимосвязь математических и логических операций с операциями используемыми в программировании. Одновременно с этим, во многих языках программирования есть свои особенности.
ЗАКЛЮЧЕНИЕ
Как мы выяснили, данные это информация, обработанная и представленная в формализованном виде для дальнейшей обработки. Они могут представлять собой списки и массивы.
С одной стороны их можно собирать, формализировать, сжимать, сортировать, защищать, преобразовывать и передавать.
С другой стороны, на более глубоком уровне их можно различным образом преобразовывать- производить арифметические и логические операции, присваивать значения, преобразовывать биты, и ставить в зависимость от формулы "если, то, иначе".
Как было выявлено в ходе исследования операции производимые с данными с точки зрения информационного процесса (или так сказать "в широком смысле") достаточно стремительно развиваются, сохраняя некогда заложенные принципы. Увеличение мощностей вычислительной техники, увеличение объема данных с которыми необходимо работать, новые цели и новые вызовы, стоящие перед обществом порождают новые алгоритмы сортировки и сжатия данных, новые форматы данных, новые способы сбора и защиты данных, новые трудности и новые решения при передаче данных.
При этом например побитовые, арифметические и логические операции, производимые непосредственно при программировании, и основанные на смежных науках (логике и математике) остаются практически неизменными, поскольку являют собой основу программирования. Время от времени в языках программирования появляются дополнительные операции, меняется синтаксис, развиваются и дополняются функции, но основные операции, рассмотренные в третьей главе курсовой работы проходят сквозь десятилетия, тысячи научных трудов и миллионы программ.
Операции, производимые с данными- тема всеобъемлющая, и актуальная. Самые значимые операции с данными были рассмотрены в курсовой работе, что предполагает достижение цели исследования. Однако даже если охарактеризовать все возможные классификации и все возможные виды операций (что само по себе нереально в силу многообразия подходов и многообразия соответствующих понятий), то в рамках указанных операций с течением времени будут появляться новые методы решения поставленных перед программистами задач и новые алгоритмы, обеспечивающие выполнение этих задач. В связи с этим тема изучения операций с данными по нашему мнению никогда не потеряет актуальность.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Прохорский Г.В. Интернет-курс по дисциплине "Информатика". URL:http://e-biblio.ru/book/bib/01_informatika/informatika/new/part1/sg.html #_Toc505877949 (дата обращения: 14.02.2020).
2. ГОСТ 7.0-99. Межгосударственный стандарт. Система стандартов по информации, библиотечному и издательскому делу. Информационно-библиотечная деятельность, библиография. Термины и определения: введен в действие Постановлением Госстандарта России от 07.10.1999 № 334-ст//М.: ИПК Издательство стандартов, 1999.
3. ГОСТ 33707-2016 (ISO/IEC 2382:2015). Межгосударственный стандарт. Информационные технологии. Словарь: введен в действие Приказом Росстандарта от 22.09.2016 № 1189-ст//М.: Стандартинформ, 2016.
4. ГОСТ 20886-85. Организация данных в системах обработки данных. Термины и определения: утвержден постановлением Государственного комитета СССР по стандартам от 31.01.1985 № 240//М.: Стандартинформ, 2005.
5. Захаров В. П. Информационные системы (документальный поиск): учебное пособие./СПб.: СПб.гос университет, 2002.-188 с.
6. Калягина Л.В., Разумов. П.Е. Категория "данные": понятие, сущность, подходы к анализу//Вестник КрасГАУ. 2014, Выпуск 14.- 3 с.
7. Михеева Е.В., Титова О.И. Информатика: учебник для среднего профессионального образования./М.: Издательский центр "Академия", 2007.- С. 13-14.
8. Большой бухгалтерский словарь/ А.Н.Азрилиян [и др.]. М.: Институт новой экономики, 1999.-308 с.
9. Крюков В.В. Информационно-измерительные системы./Владивосток: ВГУЭС, 2000. - 93 с.
10. Андреев В. А. Пенкин Г. П. Автоматизированные системы управления предприятиями /М. : Финансы и статистика, 1981.-50 с.
11. Гринберг А.С., Колосков В.П., Михалев С.Б. Автоматизированные системы управления предприятиями. (Методы создания)/М.: Энергия, 1978.-12 с.
12. Лопатников Л. И. Экономико-математический словарь: Словарь современной экономической науки. /М.: Дело.. 2003.- 336 с.
13. Кнут Д.Э. Искусство программирования, том 3. Сортировка и поиск, 2-е издание.: Перевод с английского/М.: ООО "И.Д. Вильямс", 2018.- С. 19,20,22.
14. Мамаева Н.А. Информатика. Курс лекций: учебное пособие/Омск: ОФ ВА МТО, 2013.- 116 с.
15. Исаченко В.В. Сжатие данных на основе сборки слов. Инноватика- 2016: собрание материалов XII Международной школы-конференции студентов, аспирантов и молодых ученых (20-22 апреля 2016 г.)/ под ред. А.Н. Солдатова, С.Л. Минькова- Томск: STT, 2016.-333 с.
16. Тазетдинова В. А. Цифровая компрессия аудиоданных // Молодой ученый.- 2014. -№4. -С. 268-273. -URL:https://moluch.ru/archive/63/9753/ (дата обращения: 01.03.2020).
17. Ватолин Д., Ратушняк А., Смирнов М., Юкин В. Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео./ М.:ДИАЛОГ-МИФИ, 2003. С. 7, 13-14.
18. ГОСТ Р 50922-2006. Национальный стандарт Российской Федерации. Защита информации. Основные термины и определения: утв. и введен в действие Приказом Ростехрегулирования от 27.12.2006 № 373-ст// М.: Стандартинформ, 2008.
19. Лукацкий А. Триада \"конфиденциальность, целостность, доступность\":откуда она? [сайт] URL:https://www.securitylab.ru/blog/personal/ Business_without_danger/24456.php (дата обращения: 01.03.2020).
20. ГОСТ Р ИСО/МЭК 27000-2012. Национальный стандарт Российской Федерации. Информационная технология. Методы и средства обеспечения безопасности. Системы менеджмента информационной безопасности. Общий обзор и терминология: утв. и введен в действие Приказом Росстандарта от 15.11.2012 N 813-ст// М.: Стандартинформ, 2014.