Связанные понятия
Каламбур типизации является прямым нарушением типобезопасности. Традиционно возможность построить каламбур типизации связывается со слабой типизацией, но и некоторые сильно типизированные языки или их реализации предоставляют такие возможности (как правило, используя в связанных с ними идентификаторах слова unsafe или unchecked). Сторонники типобезопасности утверждают, что «необходимость» каламбуров типизации является мифом.
Опера́ция — конструкция в языках программирования, аналогичная по записи математическим операциям, то есть специальный способ записи некоторых действий.
Литерал (англ. literal ) — запись в исходном коде компьютерной программы, представляющая собой фиксированное значение. Литералами также называют представление значения некоторого типа данных.
Идиома программирования — устойчивый способ выражения некоторой составной конструкции в одном или нескольких языках программирования. Идиома является шаблоном решения задачи, записи алгоритма или структуры данных путём комбинирования встроенных элементов языка.
Блок (также говорят блок кода, блок команд, блок инструкций) в программировании — это логически сгруппированный набор идущих подряд инструкций в исходном коде программы, является основой парадигмы структурного программирования.
Упоминания в литературе
Если в результате обследования удается описать некоторые свойства конкретного индивида в указанном виде, тогда, пользуясь специальными процедурами формального многомерного анализа, можно определить его локализацию в выбранной системе координат. В этом
случае существует потенциальная возможность сравнения различающихся между собой индивидов, даже если они принадлежат к одному и тому же классу. Введение количественной меры признаков дает дополнительную возможность более точно идентифицировать реальный объект.
Ситуация исследования предполагает прежде всего наличие исследователя. Именно он выбирает сравниваемые объекты. В каждом из объектов исследователь стремится проверить одну и ту же причинно-следственную связь
между переменными: X→Y. Чтобы проверить, существует ли она в каждом из объектов, нужно сконструировать эмпирические показатели для переменных: хА, хВ, уА, уВ для X и У соответственно. Эти показатели могут быть разными для сравниваемых объектов. (Так, исследуя уровень образования в США и России, ученый вряд ли может взять за показатель количество лет, поскольку системы образования различаются.) Важно, что сам исследователь определяет и объекты, и переменные, и показатели. Это означает, в том числе, что они доступны обсуждению и критике. Предложенная схема помогает увидеть некоторые проблемы, с которыми при сравнении отличных объектов сталкивается любой исследователь. В главе 3 их список будет расширен, а сами проблемы – обобщены. Пока рассматриваются лишь те, на которые указывает Н. Смелзер.
• проводится нечёткий поиск, представляющий собой
комплекс операций сравнения комбинаций нулей и единиц, по результатам которых осуществляется выбор наиболее близких вариантов искомого образа. Описанный алгоритм поиска по существенным признакам применяется при сравнении почерков, отпечатков пальцев, голосов и фотографий.
При использовании механизма динамического моделирования для каждого разработанного
варианта модели можно получить набор статистики как по процессу в целом, так и по отдельным его элементам. Статистика включает такие параметры, как среднее время выполнения процесса, общее время ожидания, среднее время выполнения отдельных функций, коэффициент использования исполнителей и других ресурсов и т. д. Полученная статистика служит основой как для оценки текущего процесса, так и для сравнения альтернативных вариантов и выбора наиболее оптимального из них. Альтернативы могут вырабатываться индивидуально на основе эмпирических исследований либо автоматическим способом – по случайному принципу.
Экономия в сравнении с
растровой моделью данных очевидна – область Е на рис. 8. оказалась представленной одним квадратом под номером 33 (а не 16 элементами растра или ячеек регулярной сети), и ее цифровое описание подразумевает лишь формализованное представление структуры квадродерева.
Связанные понятия (продолжение)
Логи́ческий тип да́нных, или булев тип, или булевый тип (от англ. Boolean или logical data type) — примитивный тип данных в информатике, принимающий два возможных значения, иногда называемых истиной (true) и ложью (false). Присутствует в подавляющем большинстве языков программирования как самостоятельная сущность или реализуется через численный тип данных. В некоторых языках программирования за значение истина полагается 1, за значение ложь — 0.
В языках программирования объявле́ние (англ. declaration) включает в себя указание идентификатора, типа, а также других аспектов элементов языка, например, переменных и функций. Объявление используется, чтобы уведомить компилятор о существовании элемента; это весьма важно для многих языков (например, таких как Си), требующих объявления переменных перед их использованием.
Подробнее: Объявление (информатика)
Конста́нта в программировании — способ адресации данных, изменение которых рассматриваемой программой не предполагается или запрещается.
Пара́метр в программировании — принятый функцией аргумент. Термин «аргумент» подразумевает, что конкретно и какой конкретной функции было передано, а параметр — в каком качестве функция применила это принятое. То есть вызывающий код передает аргумент в параметр, который определен в члене спецификации функции.
Алгебраи́ческий тип да́нных — в информатике наиболее общий составной тип, представляющий собой тип-сумму из типов-произведений. Алгебраический тип имеет набор конструкторов, каждый из которых принимает на вход значения определённых типов и возвращает значение конструируемого типа. Конструктор представляет собой функцию, которая строит значение своего типа на основе входных значений. Для последующего извлечения этих значений из алгебраического типа используется сопоставление с образцом.
Функции первого класса являются неотъемлемой частью функционального программирования, в котором использование функций высшего порядка является стандартной практикой. Простым примером функции высшего порядка будет функция Map, которая принимает в качестве своих аргументов функцию и список и возвращается список, после применения функции к каждому элементу списка. Чтобы язык программирования поддерживал Map, он должен поддерживать передачу функций как аргумента.
Фу́нкция вы́сшего поря́дка — в программировании функция, принимающая в качестве аргументов другие функции или возвращающая другую функцию в качестве результата. Основная идея состоит в том, что функции имеют тот же статус, что и другие объекты данных. Использование функций высшего порядка приводит к абстрактным и компактным программам, принимая во внимание сложность производимых ими вычислений.
Тип-сумма (англ. sum type; также Σ-тип, меченое объединение) — конструкция в языках программирования и интуиционистской теории типов, тип данных, построенный как дизъюнктное объединение исходных типов.
Перечисляемый тип (сокращённо перечисле́ние, англ. enumeration, enumerated type) — в программировании тип данных, чьё множество значений представляет собой ограниченный список идентификаторов.
Анонимная функция в программировании — особый вид функций, которые объявляются в месте использования и не получают уникального идентификатора для доступа к ним. Поддерживаются во многих языках программирования.
В информатике и теории автоматов состояние цифровой логической схемы или компьютерной программы является техническим термином для всей хранимой информации, к которой схема или программа в данный момент времени имеет доступ. Вывод данных цифровой схемы или компьютерной программы в любой момент времени полностью определяется его текущими входными данными и его состоянием.
Подробнее: Состояние (информатика)
Присва́ивание — механизм связывания в программировании, позволяющий динамически изменять связи имён объектов данных (как правило, переменных) с их значениями. Строго говоря, изменение значений является побочным эффектом операции присваивания, и во многих современных языках программирования сама операция также возвращает некоторый результат (как правило, копию присвоенного значения). На физическом уровне результат операции присвоения состоит в проведении записи и перезаписи ячеек памяти или регистров...
По одной из классификаций, языки программирования неформально делятся на сильно и слабо типизированные (англ. strongly and weakly typed), то есть обладающие сильной или слабой системой типов. Эти термины не являются однозначно трактуемыми, и чаще всего используются для указания на достоинства и недостатки конкретного языка. Существуют более конкретные понятия, которые и приводят к называнию тех или иных систем типов «сильными» или «слабыми».
Подробнее: Сильная и слабая типизация
Терна́рная усло́вная опера́ция (от лат. ternarius — «тройной») (обычно записывается как ?:) — во многих языках программирования операция, возвращающая свой второй или третий операнд в зависимости от значения логического выражения, заданного первым операндом. Как можно судить из названия, тернарная операция принимает всего три указанных операнда. Аналогом тернарной условной операции в математической логике и булевой алгебре является условная дизъюнкция, которая записывается в виде и реализует алгоритм...
Хвостовая рекурсия — частный случай рекурсии, при котором любой рекурсивный вызов является последней операцией перед возвратом из функции. Подобный вид рекурсии примечателен тем, что может быть легко заменён на итерацию путём формальной и гарантированно корректной перестройки кода функции. Оптимизация хвостовой рекурсии путём преобразования её в плоскую итерацию реализована во многих оптимизирующих компиляторах. В некоторых функциональных языках программирования спецификация гарантирует обязательную...
В программировании,
строковый тип (англ. string «нить, вереница») — тип данных, значениями которого является произвольная последовательность (строка) символов алфавита. Каждая переменная такого типа (строковая переменная) может быть представлена фиксированным количеством байтов либо иметь произвольную длину.
Символьный тип (Сhar) — тип данных, предназначенный для хранения одного символа (управляющего или печатного) в определённой кодировке. Может являться как однобайтовым (для стандартной таблицы символов), так и многобайтовым (к примеру, для Юникода). Основным применением является обращение к отдельным знакам строки.
Запись — агрегатный тип данных, инкапсулирующий без сокрытия набор значений различных типов.
Массив (в некоторых языках программирования также таблица, ряд, матрица) — структура данных, хранящая набор значений (элементов массива), идентифицируемых по индексу или набору индексов, принимающих целые (или приводимые к целым) значения из некоторого заданного непрерывного диапазона. Одномерный массив можно рассматривать как реализацию абстрактного типа данных вектор.
Тип-произведение (также Π-тип, произведение типов; англ. product type) — конструкция в языках программирования и интуиционистской теории типов, тип данных, построенный как декартово произведение исходных типов; другими словами — кортеж типов, или «кортеж как тип». Использованные типы и порядок их следования определяют сигнатуру типа-произведения; порядок следования объектов в создаваемом кортеже сохраняется на протяжении его времени жизни согласно заданной сигнатуре.
Свёртка списка (англ. folding, также известна как reduce, accumulate) в программировании — функция высшего порядка, которая производит преобразование структуры данных к единственному атомарному значению при помощи заданной функции. Операция свёртки часто используется в функциональном программировании при обработке списков. Свёртка может быть обобщена на произвольный алгебраический тип данных при помощи понятия катаморфизма из теории категорий.
Множество — тип и структура данных в информатике, которая является реализацией математического объекта множество.
Вариативный шаблон или шаблон с переменным числом аргументов в программировании — шаблон с заранее неизвестным числом аргументов, которые формируют один или несколько так называемых пакетов параметров.
Ленивые вычисления (англ. lazy evaluation, также отложенные вычисления) — применяемая в некоторых языках программирования стратегия вычисления, согласно которой вычисления следует откладывать до тех пор, пока не понадобится их результат. Ленивые вычисления относятся к нестрогим вычислениям. Усовершенствованная модель ленивых вычислений — оптимистичные вычисления — переходит в разряд недетерминированных стратегий вычисления.
В теории типов и функциональных языках программирования конструктор алгебраического типа данных или просто конструктор представляет собой функцию с пустым телом, конструирующую объект алгебраического типа данных. Оптимизирующие компиляторы исполняют эти функции статически, т.е. на этапе компиляции.
Подробнее: Конструктор (функциональное программирование)
Область видимости (англ. scope) в программировании — часть программы, в пределах которой идентификатор, объявленный как имя некоторой программной сущности (обычно — переменной, типа данных или функции), остаётся связанным с этой сущностью, то есть позволяет посредством себя обратиться к ней. Говорят, что идентификатор объекта «виден» в определённом месте программы, если в данном месте по нему можно обратиться к данному объекту. За пределами области видимости тот же самый идентификатор может быть...
Ссылочная прозрачность и ссылочная непрозрачность — это свойства частей компьютерных программ. Выражение называется ссылочно прозрачным, если его можно заменить соответствующим значением без изменения поведения программы. В результате вычисления ссылочно прозрачной функции дает одно и то же значение для одних и тех же аргументов. Такие функции называются чистыми функциями.
Продолжение (англ. continuation) представляет состояние программы в определённый момент, которое может быть сохранено и использовано для перехода в это состояние. Продолжения содержат всю информацию, чтобы продолжить выполнения программы с определённой точки. Состояние глобальных переменных обычно не сохраняется, однако для функциональных языков это несущественно (выборочное сохранение/восстановление значений глобальных объектов в Scheme достигается отдельным механизмом dynamic-wind). Продолжения...
Из-за путаницы с терминологией словом «оператор» в программировании нередко обозначают операцию (англ. operator), см. Операция (программирование).Инстру́кция или опера́тор (англ. statement) — наименьшая автономная часть языка программирования; команда или набор команд. Программа обычно представляет собой последовательность инструкций.
Подробнее: Оператор (программирование)
Побо́чные эффе́кты (англ. side effects) — любые действия работающей программы, изменяющие среду выполнения (англ. execution environment). Например, к побочным эффектам относятся...
Подробнее: Побочный эффект (программирование)
Инкремент , инкрементирование (от англ. increment «увеличение») — операция во многих языках программирования, увеличивающая переменную. Обратную операцию называют декремент (уменьшение). Чаще всего унарная операция приводит переменную к следующему элементу базового типа (то есть для целых чисел — увеличивает на 1, для символьного типа даёт следующий символ в некоторой таблице символов и т. п.)
Переменная типа (ти́повая переменная) в языках программирования и теории типов — переменная, которая может принимать значение из множества типов данных.
Зарезерви́рованное сло́во (или ключево́е сло́во) — в языках программирования слово, имеющее специальное значение. Идентификаторы с такими именами запрещены.
Мона́да — это абстракция линейной цепочки связанных вычислений. Монады позволяют организовывать последовательные вычисления.
Объектами
первого класса (англ. first-class object, first-class entity, first-class citizen) в контексте конкретного языка программирования называются элементы, которые могут быть переданы как параметр, возвращены из функции, присвоены переменной.
В информатике, спи́сок (англ. list) — это абстрактный тип данных, представляющий собой упорядоченный набор значений, в котором некоторое значение может встречаться более одного раза. Экземпляр списка является компьютерной реализацией математического понятия конечной последовательности.
Подробнее: Список (информатика)
Прямой код — способ представления двоичных чисел с фиксированной запятой в компьютерной арифметике. Главным образом используется для записи неотрицательных чисел. В случае использования прямого кода для чисел как положительных, так и отрицательных, то есть чисел, запись которых подразумевает возможность использования знака минус (знаковых чисел), хранимые цифровые разряды числа дополняются знаковым разрядом.
Неопределённое поведение (англ. undefined behaviour, в ряде источников непредсказуемое поведение) — свойство некоторых языков программирования (наиболее заметно в Си), программных библиотек и аппаратного обеспечения в определённых маргинальных ситуациях выдавать результат, зависящий от реализации компилятора (библиотеки, микросхемы) и случайных факторов наподобие состояния памяти или сработавшего прерывания. Другими словами, спецификация не определяет поведение языка (библиотеки, микросхемы) в любых...
По́ле кла́сса или атрибу́т (переменная-член, data member, class field, instance variable) в объектно-ориентированном программировании — переменная, связанная с классом или объектом. Все данные объекта хранятся в его полях. Доступ к полям осуществляется по их имени. Обычно тип данных каждого поля задаётся в описании класса, членом которого является поле.
Абстрактное синтаксическое дерево (АСД) — в информатике конечное помеченное ориентированное дерево, в котором внутренние вершины сопоставлены (помечены) с операторами языка программирования, а листья — с соответствующими операндами. Таким образом, листья являются пустыми операторами и представляют только переменные и константы.
Конте́йнер в программировании — тип, позволяющий инкапсулировать в себе объекты других типов. Контейнеры, в отличие от коллекций, реализуют конкретную структуру данных.
Абстра́ктный тип да́нных (АТД) — это математическая модель для типов данных, где тип данных определяется поведением (семантикой) с точки зрения пользователя данных, а именно в терминах возможных значений, возможных операций над данными этого типа и поведения этих операций.
Упоминания в литературе (продолжение)
Одиннадцатая
глава содержит примеры твердотельного моделирования, которое подразумевает создание тел, имеющих все атрибуты реального физического тела. Также твердотельные модели способствуют лучшему визуальному восприятию деталей по сравнению с каркасными или поверхностными объектами. Специальный набор команд позволяет быстро построить для тел их различные проекции и сечения. Данная глава знакомит с методикой создания и редактирования встроенных и пользовательских твердотельных моделей.
Принципиальная схема определения наиболее эффективного в социально-экономическом отношении варианта развития производства не требует, следовательно, предварительного суммирования разнокачественных эффектов как средства сравнения эффективности вариантов. Описанный путь (а
он соответствует логике практически применяемых в планировании и управлении процедур) приводит к получению варианта, эффективность которого может считаться научно достоверной и научно обоснованной. И если это так, то перечень социальных и экономических результатов этого варианта, если угодно, и есть наибольший из всех интегральных эффектов по вариантам. Выражать его в числовых одинаковых мерах, как мы уже отмечали, не имеет никакого практического смысла.
Метод парного сравнения – представляет собой процедуру установления предпочтения объектов инновационного развития градообслуживающей сферы при сравнении всех возможных пар. В отличие от ранжирования, в котором осуществляется упорядочение всех объектов, парное
сравнение является более простой задачей. При сравнении пары объектов инновационного развития градообслуживающей сферы возможно либо отношение строгого порядка, либо отношение эквивалентности. Отсюда следует, что парное сравнение так же, как и ранжирование, есть измерение в порядковой шкале.
3)
метод дополнения, под которым обычно подразумевается метод, когда значение полученной величины дополняется мерой этой же величины с тем, чтобы на используемый прибор для сравнения действовала их сумма, равная заранее заданному значению;
Для разработки микроконтроллерного устройства студенту необходимо выбрать наиболее подходящий МК, подключить к нему датчики, клавиатуру, индикатор, ключи, организовать, при необходимости связь (интерфейс) с другими микропроцессорными устройствами и т. д., а также разработать наиболее сложную и трудоемкую часть устройства – программу. На начальном этапе освоения МК целесообразно использовать язык программирования Ассемблер. Этот язык по сравнению с
языками программирования высокого уровня, например Си, дает возможность студенту при изучении МК мыслить в терминах цифровой электроники, что обеспечивает реализацию принципа преемственности в обучении. Кроме того, Ассемблер это один из лучших после математики инструментов, развивающий логическое мышление и создающий предпосылки для творческой деятельности студента, то есть позволяющий обучать природосообразно.
Поэтому самой главная проверка конкретной теории – это проверка, устанавливающая, все ли главные, отличительные свойства объекта отражены в его теоретической схеме. Эта проверка не имеет отношения к формальной логике. Она производится сравнением теоретической схемы с объектом. Если не учтено хотя бы одно главное отличительное свойство объекта, то получить о нем знания средствами формальной логики невозможно. Но и после изучения теоретической схемы, удовлетворительно соответствующей объекту, необходимо ответить на поставленный выше вопрос: что мы знаем об объекте, изучивши как угодно полно и точно его теоретическую схему? Формальная логика на этот вопрос ответить не может. Ответ находится научным экспериментом или в процессе практического использования знания.
Перечень проблем, описывающих проблемную область, как правило,
можно упорядочить методом парных сравнений, определяя наличие и направленность причинно-следственных связей между проблемами.[31] Пример построения графа проблем приведен на рисунке 2.17.
Применение экономико-математических методов к решению управленческих проблем позволяет использовать в качестве критерия выбора целевую функцию, которую обычно надо максимизировать или минимизировать; поэтому такой выбор называется оптимизационным. Примерами оптимизационных критериев могут служить: максимизация прибыли, доходов, производительности, эффективности; минимизация—затрат, потерь от брака или простоев и т. д. Оптимальное решение выбирается на основании сравнения количественного значения целевой
функции по всем возможным вариантам; самым лучшим решением считается то, которое обеспечивает наиболее желательное значение целевого критерия. Примером таких решений являются оптимизация загрузки оборудования, складских запасов, раскроя материалов и т. д.
По сравнению с монументальными методологиями, в гибких (Scrum, Crystal, Open Source, ASD) очевидно прослеживается меньшая ориентация на документацию, что выражается в меньшем ее объеме для каждой конкретной задачи. Легкие методологии дают возможность обрабатывать большие объемы информации, относящиеся к проекту, в процессе неформального, непосредственного, личного общения, а не с помощью документации. При этом
отсутствие документации может быть ограничением использования методологии в государственных учреждениях или организациях, требующих высокой степени формализации и документирования. Поскольку практически все гибкие методологии ориентированы на максимально неформальный подход к разработке, зачастую возможны спорные вопросы при реализации тех или иных изменений, расстановке приоритетов.
Для этого используют неявные определения (контекстуальные) или приемы, заменяющие
определения: приведение примера, описание, сравнение, характеристика, а также демонстрация самого объекта или процесса.
Так, ребенок двух-трех лет (в онтогенезе) при восприятии деформированного слова «мачедан» (чемодан) соотносит его с нужной картинкой, то есть идентифицирует его как узуальное, ориентируясь на знакомые элементы в составе
целого слова. Уточнение и сравнение структуры и звучания двух лексических единиц (квазислова и правильного) является значимым условием для перехода ребенка на другую стратегию идентификации воспринимаемого стимула: от последовательной обработки речевых сигналов к параллельной, от априорной к апостериорный, от континуального к дискретному [Зимняя, 2001].
В любом случае, результаты голосования определяются обычно так называемым правилом большинства. Начало исследованиям его воздействия на принимаемые решения было положено Кеннетом Эрроу, доказавшим знаменитую «теорему невозможности» [Arrow, 1951]. Напомним, что согласно его постановке, коллективный выбор представляет собой обобщение (агрегирование) результатов попарного сравнения всех альтернатив всеми выборщиками, В результате, при условии транзитивности индивидуальных предпочтений, в рамках результирующего предпочтения возникают (точнее, могут возникать) множественные логические циклы, способные обусловить фактическую неразличимость по предпочтению различных
подмножеств альтернатив. Более того, порядок, в котором осуществляются попарные сравнения альтернатив, оказывается решающим фактором, определяющим итоговое коллективное предпочтение, т. е. результирующий выбор.
Внутри PE-заголовка находится таблица объектов. Ее
формат наиболее важен по сравнению с прочими. Для добавления вирусного кода в носитель и перехвата вирусом управления необходимо добавить элемент в таблицу объектов.
* Класс В2. Структурированная защита. Для соответствия классу В2 ТСВ системы должно поддерживать формально определенную и четко документированную модель безопасности, предусматривающую произвольное и нормативное управление доступом, которое распространяется по сравнению с системами класса В1 на все субъекты. Кроме того, должен осуществляться контроль скрытых каналов утечки информации. В структуре ТСВ
должны быть выделены элементы, критичные с точки зрения безопасности. Интерфейс ТСВ должен быть четко определен а его архитектура и реализация должны быть выполнены с учетом возможности проведения тестовых испытаний. По сравнению с классом В1 должны быть усилены средства аутентификации. Управление безопасностью осуществляется администраторами системы. Должны быть предусмотрены средства управления конфигурацией.
Система может быть охарактеризована как замкнутая система в том случае, если
элементы данной системы не связаны с какими бы то ни было внешними по отношению к ней объектами. Например, вечный двигатель, продолжающий работать за счет уравновешивания грузов без какого-либо влияния со стороны среды, в которой он работает. Для сравнения, открытая система характеризуется тем, что через границу открытой системы может происходить беспрепятственный обмен веществом, информацией и/или энергией между системой и внешней средой.
1. Аксиома полной упорядоченности. Состоит в том, что потребитель способен упорядочить сознательно все
возможные товарные наборы на основе таких понятий, как предпочтение и безразличие. Признается, что потребитель в результате сравнения одного набора благ с другими всегда может точно сказать, какой из них является предпочтительным для него или что оба набора товаров равноценны.
Как известно, в советском языкознании большую известность получили работы другого последователя Ш. Балли – В. В. Виноградова. В его работах середины 1940-х годов [Виноградов 1945, 1947] была адаптирована классификация швейцарского ученого и заложены основы известного разделения фразеологизмов на сращения, единства и сочетания. В целом, эта классификация дожила до наших дней, включив в себя еще одну группу единиц – фразеологические выражения (см. [Шанский 1985]). Наконец, отдельной, еще не решенной задачей является ранжирование единиц по шкале устойчивости и идиоматичности, намеченное в пионерской работе М. М. Копыленко (1973), который предложил использовать для этой
цели как внутриязыковые приемы (синтаксические трансформации), так и эксперименты с информантами и межъязыковое сравнение.
Так результаты измерений и испытаний выражают в виде чисел; погрешности их также выражают одинаково. Измерения и контроль имеют
ряд общих операций: сравнение, измерительное преобразование.