Какой суффикс выбрать: «-ance» или «–ence?»
В английском языке есть несколько суффиксов, которые обычно вызывают трудности в написании. Почему? Потому что они звучат одинаково. Сравните суффиксы существительных «–ance» и «–ence» .
importance /ɪmˈpɔː(r)t(ə)ns / intelligence /ɪnˈtelɪdʒ(ə)ns/
Как видно из примеров, их произношение совпадает — /(ə)ns/ .
Что означают суффиксы –ance и –ence?
Оба суффикса используются для образования существительных, указывающих на качество или состояние. Например,
ignorance (незнание, невежество, отсутствие информации) и emergence (появление, возникновение, поднятие)
Существительные с суффиксами –ance и –ence образуются от глаголов (to perform – performance) и от прилагательных (intelligent – intelligence)
Почему возникает проблема выбора?

Проблема объясняется тем, что в английском языке большинство суффиксов находятся в безударной позиции, поэтому гласный звук в обоих суффиксах (—ance/ —ence) редуцируется и произносится — /ə/.
Какой же суффикс выбрать на письме?
Конечно, если вы не знаете, как слово пишется, следует смотреть его написание в словаре. Но есть несколько простых правил, которые помогут вам ориентироваться в правописании слов.
Суффикс «- ance»
- Если существительное образовано от глагола, который заканчивается на «-y», «-ure», «-ear» , тогда существительное следует писать с суффиксом «–ance» .
Глагол
Существительное
apply
appliance (приспособление, устройство)
comply
compliance (согласие, принятие)
vary
variance (расхождение, колебание)
assure
endure
endurance (выносливость, прочность, продолжительность)
insure
insurance (страхование, гарантия)
appear
appearance (появление, возникновение)
clear
clearance (очистка, клиринг)
forbear
forbearance (выдержка, сдержанность, долготерпение)
- Если глагол, от которого образовано существительное, заканчивается на «–ate» , то существительное, как правило, будет иметь суффикс «–ance» . Например,
Глагол
Существительное
deviate
deviance ( сдвиг, отклонение)
dominate
dominance (превосходство, доминация)
hesitate
hesitance (колебание, сомнение)
tolerate
tolerance (терпимость, толерантность)
- Если основа слова заканчивается на букву «с» , которая произносится как /k/ или на букву «g» , которая произносится как «g» , тогда существительное будет заканчиваться на «-ance» :
arrogance (высокомерие, надменность)
significance (важность, значимость)

К сожалению, приведенные выше правила не являются универсальными и большинство существительных приходится запоминать. Мы приведем наиболее распространенные слова:
Abundance
Acceptance
Acquaintance
Assistance
Circumstance
Disturbance
Fragrance
Guidance
Ignorance
Inheritance
Maintenance
Performance
Resemblance
Resistance
Utterance
Vengeance
Суффикс «- ence»
Если существительное образовано от глагола, заканчивающегося на «-ere» , следует писать суффикс «-ence» .
Глагол
Существительное
adhere
adherence (привязанность, сцепление)
cohere
coherence (связь, когерентность)
interfere
interference (вмешательство, интерференция)
revere
reverence (почтительность почитание)
Если глагол заканчивается на «-er», которое стоит под ударением, то у образованного от него существительного следует писать суффикс «- ence»:
Глагол
Существительное
confer
сonference (конференция)
infer
inference ( заключения, вывод)
prefer
preference (предпочтение)
refer
reference (ссылка, упоминание)
transfer
transference (перевод, передача, переход)
Суффкс «-ence» также пишется в существителных, если основа глагола заканчивается на «cid», «fid», «sid», «vid» . Например,
Сonfidence
Evidence
Incidence
Residence
Если основа существительного заканчивается на «с», которая произносится как /s/ или на «g» , которая произносится как / dʒ / , в словах следует писать суффикс «-ence» :
Adolescence
Innocence
Intelligence
Licence
Но не все слова попадают под эти правила. Вот список наиболее часто встречающихся слов с суффиксом «-ence»:

Absence
Affluence
Audience
Benevolence
Competence
Conscience
Consequence
Convenience
Dependence
Difference
Eloquence
Excellence
Experience
Influence
Obedience
Patience
Precedence
Sequence
Silence
Violence
Итак, мы познакомили вас с правилами употребления суффиксов существительных — «-ance» и «-ence» . Несмотря на то что английская орфография изобилует «подводными рифами», мы надеемся, что данная публикация поможет вам писать грамотно. Удачи!
Сканер штрихкода
Какой нужно приобрести сканер штрихкодов? Будет ли мой сканер штрихкодов работать с программой Тирика-Магазин?
Такие вопросы мы получаем от каждого четвертого потенциального покупателя программы. И неспроста: в отличие от «обычного» электронного оборудования производители и импортеры сканеров штрихкодов отчего-то считают, что их продукцией будут пользоваться только квалифицированные технические специалисты. В результате счастливый покупатель сканера после покупки остается один на один с инструкцией по эксплуатации, не только не переведенной на русский язык, но и написанной таким техническим английским, что с ним не в состоянии совладать даже инженер, не имеющий опыта настройки сканеров штрихкодов.
В этой статье мы попробуем разобраться в том, какие бывают сканеры штрихкодов.
Режимы работы сканера штрихкодов
Представим себе компьютер как своего рода «черный ящик», выполняющий нужные нам функции и имеющий несколько входов и несколько выходов, т.е. устройств ввода и вывода информации. Так, например, «входами работают» клавиатура и мышь, а выходами – монитор (экран) и принтер. Если мы подключим к компьютеру новый «вход» — сканер штрихкодов, что после этого меняется в системе?
Оказывается, сканер подключается к программе не как сканер штрихкодов (в отличие от клавиатуры и мыши, компьютер не знает такого типа устройств), а либо как клавиатура, либо как устройство под названием «COM-порт».
Как же это, скажете вы, ведь к моему компьютеру уже подключена одна клавиатура? В этом-то и заключается фокус. Сканер, работающий в режиме эмуляции клавиатуры, подключается к вашему компьютеру и передает ему отсканированный штрихкод товара так, как будто бы вы ввели его с имеющейся у вас клавиатуры!
По мысли проектировщиков сканера, это должно быть удобно: программе не нужно заботиться о том, чтобы распознавать сканер штрихкода как отдельное устройство и учиться с ним работать. Все как с клавиатурой!
Однако не все так просто. Для того, чтобы программа могла обработать штрихкод, пользователь перед сканированием товара должен поставить курсор в определенное место – чтобы програма, например, не решила, что поступившие с «клавиатуры» (а на самом деле со сканера) цифры – это наименование товара, дата накладной или, например, сумма к оплате. Другими словами, пользователь вынужден делать лишнее движение – устанавливать курсор в определенное поле на экране – и это ему не нравится. Самое неприятное заключается в том, что решить эту проблему нельзя: сканер штрихкода очень искусно притворяется клавиатурой, и программа не может определить, какие символы пришли от сканера, а какие – от настоящей клавиатуры!

Как следствие, пользователь недоволен тем, что ему приходится выполнять лишние движения (устанавливать курсор в поле «штрихкод» перед сканированием товара), разработчик недоволен тем, что ему приходится объяснять пользователю, что виновата не программа, а сканер. Однако делать нечего, и недовольный пользователь продолжает работать с программой и своим сканером, а разработчик – объяснять пользователю, что он не виноват.
Обратите внимание: это проблема не программы Тирика, а любой компьютерной программы, работающей со сканером штрихкодов, эмулирующих клавиатуру или включенных в разрыв клавиатуры!
Совсем по-другому дело обстоит при использовании сканера штрихкода, работающего в режиме эмуляции COM-порта.
Справка
COM-порт (последовательный порт) – простое устройство, которым снабжались старые компьютеры до появления разъемов USB. К COM-портам подключалось огромное множество различных устройств: компьютерные мыши, модемы, сканеры штрихкодов, всевозможные научные и производствнные датчики… Сейчас COM-порты повсеместно вытеснены стандартом USB и более не устанавливаются в современные компьютеры, но из соображений совместимости со старыми программами Windows позволяет создавать т.н. виртуальные COM-порты. Виртуальный COM-порт не существует физически (т.е. в компьютере не установлено соответствующее устройство), но по желанию подключенного к USB устройства Windows позволяет работающим с ним программам работать с ним так, как будто бы устройство подключено с COM-порту.
Когда пользователь сканирует штрихкод при помощи сканера, работающего в режиме эмуляции COM-порта, отсканированные цифры штрихкода помещаются не в буфер клавиатуры, а в отведенный для устройства COM-порт, откуда их легко может извлечь программа Тирика. При этом программа четко понимает, что эти цифры пришли именно от сканера штрихкодов и обрабатывает их как штрихкод товара, не путая их с введенными с клавиатуры датой операции или ее суммой, и не требует, соответственно, от пользователя устанавливать курсор мыши в специальное поле на экране перед скинированием штрихкода. Получается, что в случае сканера, работающего в режиме эмуляции COM-порта работать с программой намного удобнее.

Вывод
Программа Тирика-Магазин будет работать с любым сканером штрихкодов, но если сканер штрихкодов работает в режиме эмуляции COM-порта, то работать с ним будет намного удобнее.
А в каком режиме работает мой сканер штрихкодов? Как мне перевести сканер в режим эмуляции COM-порта?
Определить, в каким режиме работает ваш сканер очень просто. Запустите программу Тирика-Магазин, выберите пункт меню Файл|Настройки, переключитесь на закладку Штрихкоды и нажмите там кнопку Определить, после чего следуйте инструкциям на экране. В результате программа автоматически определит режим работы Вашего сканера.

Если программа определит, что ваш сканер работает в режиме эмуляции клавиатуры, то это еще не означает, что он не может работать в режиме эмуляции COM-порта. Многие сканеры поддерживают и тот, и другой режим; для переключения сканера в режим эмуляции COM-порта (наиболее удобный для пользователя режим работы сканера) вам необходимо отсканировать специальный управляющий штрихкод, напечатанный в инструкции по эксплуатации сканера. Этот штрихкод может называться наподобие Virtual COM emulation mode. Если Вы не можете найти такой штрихкод в инструкции к сканеру, попробуйте поискать инструкцию в интернете по словам «как переключить <модель сканера> в режим эмуляции COM порта» или позвонить в ту компанию, где Вы покупали сканер штрихкода.
Имейте в виду, что при подключении к компьютеру работающего в режиме эмуляции COM-порта сканера штрихкодов Windows может потребовать у вас драйвера к этому устройству. Перед подключением сканера позаботьтесь о том, чтобы найти эти драйвра в интернете или попросить продавца сканера прислать их вам.
У меня еще нет сканера штрихкода. Какую модель вы порекомендуете приобрести?
Сейчас на рынке представлены десятки (или даже сотни) моделей сканеров штрихкодов, и мы не берем на себя ответственность порекомендовать вам какую-то конкретную модель. Мы может только посоветовать при выборе сканера:
- Убедиться, что сканер подключается в USB-порт компьютера, т.е. снабжен USB-шнуром
- Спросить у продавца, поддерживает ли сканер режим эмуляции COM-порта, показать в инструкции по эксплуатации штрихкод, который переводит сканер в этот режим
- Попросить продавца помочь вам найти необходимые драйвера для сканера, если в режиме эмуляции COM-порта они потребуются
При разработке программы Тирика-Магазин мы использовали сканер штрихкодов Metrologic Eclipse 5145 USB. Это недорогой ручной сканер, работающий в режиме эмуляции клавиатуры; путем сканирования специального штрихкода, напечатанного на странице 68 руководства по эксплуатации его можно перевести в режим эмуляции COM-порта. При подключении к компьютеру он потребовал драйвера, которые мы легко нашли в интернете. Подробные инструкции по переводу этого сканера в режим эмуляции COM-порта здесь.
Приложение. Настройки префикса и суффикса в сканере штрихкодов
Когда сканер штрихкодов передает отсканированные цифры штрихкода, он может предварять их специальным префиксом, т.е. символом или группой символов, дающим сигнал программе Тирика-Магазин: «Дальше будет штрихкод». Сканер также может добавлять (другие) специальные символы в конец строки цифр штрихкода — эти символы, соответственно, называют суффиксом. Это верно как для сканеров, работающих в режиме эмуляции клавиатуры, так и сканеров, работающих в режиме эмуляции COM-порта.
Как настроен ваш сканер штрихкодов? Если он работает в режиме эмуляции клавиатуры (а в этом режиме работают по умолчанию большинство сканеров), то это легко проверить. Запустите приложение Блокнот (оно входит в состав Windows и наверняка имеется на вашем компьютере; поищите его в меню кнопки Пуск|Стандартные|Блокнот) и отсканируйте какой-нибудь штрихкод вашим сканером. Если после сканирования в окне Блокнота ничего не изменилось, то ваш сканер работает в режиме эмуляции COM-порта либо не подключен к компьютеру :), если же в Блокноте появились цифры отсканированного штрихкода, то вы можете посмотреть, что стоит перед цифрами и после них и определить текущие настройки префикса и суффикса сканера.
Заводские настройки абсолютного большинства сканеров идентичны: префикс пустой, в качестве суффикса используются символы с кодами 13 и 10 (0x0D и 0x0A в шестнадцатиричной системе), которые в совокупности идентичны нажатию кнопки Enter. То есть если в Блокноте вы после сканирования увидите 13 цифр штрихкода, после чего курсор будет переведен на следующую строчку так, как будто кто-то нажал кнопку Enter, значит, ваш сканер настроен именно таким образом.
Если ваш сканер имеет именно такие настройки — замечательно, программа Тирика-Магазин их отлично распознает. Если настройки префикса и суффикса другие — тоже не беда, программа Тирика-Магазин сможет работать и с ними, за одним лишь исключением: на момент написания этой статьи программа не умеет работать со сканерами штрихкодов, которые (а) работают в режиме эмуляции клавиатуры и (б) в префиксе или суффиксе имеют символ Tab (аналог кнопки Tab на клавиатуре, десятичный код 9, шестнадцатиричный код 0x09) или символы 0xoD;0x0A;0x0D;0x0A (аналог ДВУХ нажатий кнопки Enter на клавиатуре).
Если ваш сканер, работающий в режиме эмуляции клавиатуры, имет символ Tab (0x09) аналог ДВУХ нажатий кнопки Enter на клавиатуре (0xoD;0x0A;0x0D;0x0A) в префиксе или суффиксе, вам необходимо будет перенастроить сканер и поменять символы префикса или суффикса. В абсолютном большинстве сканеров штрихкода префикс и суффикс настраиваются путем сканирования специальных управляющих штрихкодов, напечатанных в инструкции по эксплуатации сканера. Вы можете сделать это самостоятельно либо обратиться за помощью к продавцу сканера. К сожалению, самы мы не являемся специалистами по (всем на свете) сканерам штрихкодов и не сможем оказать вам квалифицированную помощь в перенастройке вашего сканера.
Мы еще раз хотим подчеркнуть, это эта проблема касается только сканеров, работающих в режиме эмуляции клавиатуры; если ваш сканер работает в режиме эмуляции COM-порта или вы знаете, как его в него перевести, перенастраивать префикс и суффикс в сканере вам не нужно.
Приложение. Способы подключения сканера штрихкодов к компьютеру
Ручные сканеры штрихкода («ручные» — это такие, которые продавец держит в руках и которые отдаленно напоминают пистолет. Бывают еще неручные — дикие, наверное — сканеры, устанавливаемые в прилавок стационарно – вы наверняка видели их в крупных супермаркетах, но их мы обсуждать не будем) могут подключаться к компьютеру разными способами; определить способ подключения сканера можно, просто посмотрев, чем заканчивается его шнур.
Во-первых, сканер может подключаться к компьютеру при помощи известного всем USB-кабеля. Это самый распространенный на рынке тип сканеров, и именно его и нужно покупать для работы с программой Тирика-Магазин. Если Вы уже купили сканер штрихкодов, и он комплектуется не USB-кабелем, а другим интрефейсным шнуром, но тем не менее подключен к Вашему компьютеру и успешно работает, значит, и программа Тирика-Магазин сможет работать с вашим сканером.
Во-вторых, бывают сканеры, включаемые «в разрыв клавиатуры». Обычно они комплектуются шнуром, заканчивающимся коннектором PS/2, похожим на представленный на рисунке. Такой сканер будет работать аналогично сканеру в режиме эмуляции клавиатуры, и работать с ним будет менее удобно, чем со сканерами, работающими в режиме эмуляции COM-порта, но тем не менее вполне можно. Более того, программа Тирика-Магазин внутри имеет специальный модуль работы с такими сканерами, и с этой программой пользоваться таким сканером будет несравненно удобнее, чем с любой другой программой
Ну и, наконец, бывают сканеры, имеющие разъем RS232 (это другое название COM-порта). Современные компьютеры очень редко комплектуются входом, в который можно было бы вставить такой разъем, но если сканер у Вас уже есть, подсоединен к компьютеру и работает, то вам не о чем беспокоиться. Такой сканер будет работать аналогично сканеру в режиме эмуляции COM-порта, а это самый удобный для пользователей программы Тирика-Магазин режим работы сканера штрихкодов.
MS-DOS и TASM 2.0. Часть 6. Системы счисления.

Практическое программирование на ассемблере требует понимания системы счисления. Систем счисления существует бесконечное множество. Наиболее знакомая для нас — десятичная система счисления. Римская нумерация циферблата часов демонстрирует нам двенадцатеричную систему счисления. Программистам на ассемблере необходимо освоить три системы счисления : десятичную, двоичную и шестнадцатеричную.
Машина «думает» байтами. Байт состоит из 8 бит. Бит может содержать одно значение: 0 или 1. Так что в принципе, неплохо иметь представление и о восьмеричной системе счисления.Однако машинный код отображается в различных редакторах в виде шестнадцатеричного значения — оно более удобно для восприятия, так что всё же остановимся на трёх обязательно необходимых программисту системах счисления.
Двоичная система счисления — основа мироздания.
Вы помните Даосский символ Инь и Янь? Он состоит из двух цветов, из двух понятий: чёрного и белого, мужского и женского, единицы и нуля. Согласно Даосской философии весь мир сформирован именно с помощью двух противоположных
и вместе с тем неразделимых понятий. Просто поражает гениальность древних мудрецов. С помощью единиц и нулей человек создаёт множество цифровых миров. Год от года они становятся всё более реалистичными. Интересно, догадывается
ли герой компьютерной игры, что весь его мир состоит всего из двух цифр или это только мы такие прозорливые :)?
Десятичная система счисления.
Двоичная система счисления аппретирует только двумя цифрами: Единицей
и Нулём (Инь и Янь). Привычная для нас система счисления — десятеричная. Если все цифры до десяти состоят из различных одиночных символов (от нуля до девятки), то десять отображается уже двумя символами — единицей и нулём, расположенных
в определённой последовательности (10 — единица перед нулём).
Шестнадцатеричная система счисления.
В шестнадцатеричной системе счисления одним символом отображаются числа от нуля до шестнадцати. Чтобы не сочинять новых отображений цифр,
решили использовать буквы латинского алфавита: A, B, C, D, E, F.
Для большей понятности — внизу приведена таблица соответствия цифр трём системам счисления.
Запоминать соответствия цифр нет необходимости. В состав Windows любой версии входит программа «калькулятор» — calc.exe. Запустите её, переключитесь в программистский вид (Вид->Программист или Alt+3) и да пребудет с вами сила!

Калькулятор программиста: HEX, DEC, OCT, BIN.
Три системы счисления — практическое использование.
Три системы счисления широко используются в программировании и отладке уже созданных программ.
Шестнадцатеричный (HEX) код удобен для современных процессоров, которые фактически развиваются на основе 16-ти разрядного процессора для персональных компьютеров Intel i8086. В исходных текстах программ практически всех языков программирования цифра обозначает по умолчанию число в десятичной системе счисления (DEC).
Десятичная система счисления более удобна (хотя и не всегда) при написании кода программ, шестнадцатеричная — неотъемлемая часть отладки, взлома, реверсивного программирования.
Двоичная система счисления (BIN) используется в основном при расстановке флагов определённых стилей объектов Windows (стили окон), но об этом попозже. Рассматривая 16 битное число в виде двоичного мы получаем великолепную возможность получить крохотный по размеру набор 16 флагов, где 1 — флаг установлен 0 — флаг снят (например, шестнадцатеричное число 4 000 соответствует двоичному 0100 0000 0000 0000 — установлен второй флаг, остальные сняты; шестнадцатеричное число 3000 соответствует двоичному числу 0011 0000 0000 0000 — установлены третий и четвёртый флаги, остальные сняты ).
Если мы хотим обозначить принадлежность числа к 16-тиричной системе счисления, то:
1. Ассемблер — добавляем к числу постфикс h (H), например: 100h = 256, 10H=16. Иногда для понимания того, что мы имеем дело с числом, в качестве префикса ставят 0 (ноль).
2. Си (С++) к числу добавляется суффикс 0x (0X).
Например: 0x100 = 100h = 0100h = 256, 0x10 = 10H = 010H = 16
Хакерский редактор Hacker Viewer (Hiew) .
Для визуального восприятия шестнадцатеричного кода воспользуемся замечательным простым, но достаточно функциональным DOS редактором Hacker Viewer (Hiew). Вы найдёте его в папке D:\UTILS\HIEW\ (я надеюсь, что наш архив программ DOS-1.rar уже скачан и DOSBox установлен и запущен).

Запускаем HIEW (Hacker Viewer).
Инструкцию по пользованию Hiew для хакеров от Криса Касперского вы найдёте в папочке readme. Пользоваться редактором просто и удобно.
Откроем с помощью Hiew нашу программу PRG.COM (выбор файлов — F9). При помощи F4 выбираем режим отображения информации HEX (как вы уже знаете, шестнадцатеричный режим). Можете с помощью F4 или Enter по переключаться между режимами отображения.

Переключение режимов отображения в Hacker Viewer.
Обратите внимание на положение Decode (декодирование). Вам это ни о чём не говорит? Да, да, да в Hiew имеется встроенный дизассемблер и даже ассемблер! Можно внести изменения в ассемблерный код, не выходя из редактора и сохранить изменения.
Исполняемый файл останется рабочим — гениальная программа с поразительными возможностями для своего времени!
Подобное отображение HEX системы счисления вы увидите практически во всех отладочных программах и просмотрщиках файлов.
Перемещайте курсор с помощью клавиш стрелок на клавиатуре. Вверху вы заметите изменение цифры указателя (pointer).

Наша первая программа в шестнадцатеричном виде.
Указатель является одним из основополагающих понятий в системе программирования. Основы понимания работы с указателем рассмотрим попозже.