понедельник, 29 ноября 2010 г.

Настройка WinRAR - В. В. Мельниченко

Как и любая программа, разработанная под Windows, WinRAR может предложить вам настройки, установленные по умолчанию. Но для улучшения работы некоторые из них желательно изменить. Если вы — пользователь ленивый, то можете сразу приступать к работе (см. параграф "Основные функции WinRAR" далее). Вам же будет хуже! (Это не угроза, а напутствие на дорожку.)

Если же вы дотошный и трудолюбивый пользователь, то вы не поленитесь произвести некоторые настройки, и сразу же заметите, что программа начала работать немного лучше. Итак, настроим-понастроим…

Тщательно прицелившись мышью, попадите на пункт меню Параметры и выберите Установки.… Будьте бдительны: ломать — не строить.

В открывшемся окне посмотрите на ярлыки вкладок. Их шесть — не больше и не меньше: Общие, Архивация, Пути, Список файлов, Просмотр и Интеграция. На каждой из них можно изменить немалое количество настроек.

На вкладке Общие (рис. 18.3) вы можете настроить WinRAR на работу в системе. Выберите Низкий приоритет, если компьютер слегка слабоват для обработки больших задач. ("Windows — система многозадачная: «глючит» и работает одновременно." — Народная мудрость)

Рис. 18.3. Настройка общих параметров работы WinRAR в системе

Если когда-либо вам понадобится история функций, выполненных программой, отметьте опцию Вести историю архивов. При желании можно просматривать Историю в полях ввода.

Для настройки панелей инструментов вынесено не так уж и много опций, но их вполне достаточно, чтобы удовлетворить вашим потребностям. Там можно включить или отключить отображение некоторых кнопок. Добавить или убрать Надписи на кнопках. Если монитор позволяет, то можете установить и Большие кнопки. Как обычно, чем больше — тем лучше. Интерфейс позволяет установить крупные кнопки, ничуть от этого не проигрывая, да и вам удобно. Еще вы можете включить или отключить отображение многих Панелей или Кнопок.

Настройку Интерфейса производить особо не стоит. Если будете работать с архивами в фоновом режиме, то можно Включить звуковые сигналы. Если вам интересно наблюдать за текстами или почитывать комментарии, включите опцию Показывать комментарий архива. Кто владеет информацией, тот владеет миром!

Записывать протоколы вам, пожалуй, не стоит, потому как это просто лишняя трата времени и совершенно непозволительное расходование ресурсов, возможно, слабенького компьютера.

На вкладке Архивация задайте Профили архивации. Для выполнения типичных функций достаточно стандартных профилей. Если вы часто выполняете нестандартную последовательность операций при архивировании, можете создать свой оригинальный профиль и указать в нем настройки, которые программа будет использовать по умолчанию.

В текстовых полях Папки задайте размещение новых архивов и, соответственно, извлекаемых файлов. Иначе программа будет использовать текущий каталог файла.

На вкладке Пути настройки лучше не изменять. Ведь именно их программа определила автоматически. Функцию Использовать при работе со сменными дисками постарайтесь "руками не трогать".

Список файлов предложит вам изменить настройки визуального отображения. Тип списка лучше оставить Подробный, потому что при таком режиме отображения вы можете просмотреть размеры упаковываемых или упакованных файлов, дату архивируемого или архивного файла. В Стиле списка можно Включить разделители или установить Курсор на всю строку, облегчив таким способом визуальное отслеживание информации.

В подгруппе Выбор решите, как вам удобнее работать с файлами и архивами: Открывать по одному щелчку, как в Интернет-ссылках (последние версии операционных систем поддерживают такую настройку), или Открывать по двум щелчкам (старый «дедовский» способ, когда один щелчок — выделение, а второй - выполнение "приказа"). Имена файлов - выберите, в каком порядке вы хотели бы видеть отображаемую информацию.

На вкладке Просмотр настройте Средства просмотра и встроенное средство просмотра. Иначе, попытавшись просмотреть какой-либо файл средствами WinRAR без предварительных настроек, можно получить полную «абракадабру». Можно назначить и Внешнюю программу просмотра для архивных файлов.

Вкладка Интеграция знакома вам из процесса установки. Именно она была выведена последней перед завершением установки. И если вы отметили необходимые вам функции, то скорее жмите OK, и смело приступайте к созданию архивов.

В WinRar можно Экспортировать настройки в файл, сохранить этот файл на диске, а после переустановки программы Импортировать параметры из файла в установленную программу (вместо того, чтобы повторно настраивать ее).


Жизнь «сегодняшним днем» и запас прочности. Елена Горелкина

Миф о сверхоборотах ресторанного бизнеса, о его высокой эффективности с момента открытия повлиял на отношение к нему предпринимателей. Открыть, снять сливки, продать, двигаться дальше – вот схема работы, которую выбирают многие начинающие рестораторы. Это сказывается и на подходе к оснащению точки: никто не рассчитывает, что она проработает всю жизнь, вполне достаточно 1–5 лет работы без проблем. Преодолеть эту тенденцию в В2В до сих пор было достаточно трудно, поскольку жизненный цикл предприятия питания действительно небольшой: заведений, продержавшихся в одном формате и при одном и том же собственнике больше семи – десяти лет, не так уж много. (Другая история – с отелями, но их и значительно меньше.) С одной стороны, этот подход к бизнесу как явлению временному помогал продажам недорогого ассортимента оборудования, с другой – мешал внедрению высоконадежных и элитных моделей техники, которые работают в странах Европы более чем по десять лет.

Однако теперь ситуация меняется: идет развитие сетей, укрепление сегмента массового питания при учреждениях, расширение возможностей кейтеринга – все это дает возможность распространения высоких технологий. Большие игроки рынка своим развитием создают некую историю отрасли, формируют показательные примеры. На смену рекламы низких цен приходит именно реклама качества, реклама глубоко продуманных технологий. Так рынок созревает, переходит к работе на перспективу. Одна из положительных тенденций: становится больше компаний, которые хотят оборудование – с запасом прочности, систему автоматизации – с возможностью расширения и дополнения новыми функциями.

«До сих пор рестораны могли оснащаться системами, которые главным образом автоматизируют товародвижение. Мы же начинаем позиционировать наш программный комплекс “Домино” как ERP-систему для ресторана: появились руководители, которых интересует аналитика, бюджетирование, качественный прогноз на будущее», – говорит Роман Нетяга, директор компании «Бизнес-класс».

Качественные изменения в среде HoReCa влекут и такие же изменения в мире оборудования для этого бизнеса в России, а следовательно, меняются и методы работы западных партнеров с местными продавцами.


Панель инструментов изображений - Александр Климов

Отключение Панели инструментов изображений

В Internet Explorer при наведении указателя мыши на рисунок, который требуется сохранить, в уголке рисунка появляется панель инструментов изображений.



Эта панель позволяет быстро осуществить разные операции: сохранить, печатать, послать по почте, открыть папку Мои рисунки

Для отключения данной панели инструментов изображений создайте ключ типа DWORD ·MyPics_Hoverbar· в разделе

HKCU\Software\Policies\Microsoft\Internet Explorer\PhotoSupport

со значением 1

Существует еще альтернативный вариант. Создайте строковый параметр ·Enable_MyPics_Hoverbar· в разделе

HKCU\Software\Microsoft\Internet Explorer\main

и присвойте ему значение yes (включить) или no (выключить)


Размер картинки

Панель инструментов изображений появляется не для всех рисунков. Для использования панели инструментов размер рисунка должен быть не менее 130 x 130 пикселей. Если вы хотите изменить данное значение, то создайте параметр DWORD ·Image_Filter· в разделе

HKCU\Software\Microsoft\Internet Explorer\main

и присвойте ему нужное значение


Смещение Панели относительно изображения

По умолчанию Панель инструментов изображений появляется смещенной на 10 пикселей от верхнего и левого сторон изображения. Для изменения этой настройки создайте параметр DWORD ·Offset· в разделе

HKCU\Software\Microsoft\Internet Explorer\main

и присвойте ему нужное значение


четверг, 25 ноября 2010 г.

Удаление сообщений | Виталий Петрович Леонтьев

Любой почтовый ящик – что реальный, что виртуальный, – имеет обыкновение постепенно превращаться в обыкновенную свалку, наполняясь устаревшими и ненужными вам письмами.

Поэтому, время от времени, в папках с сообщениями следует проводить «генеральную» уборку, очищая их от накопившегося хлама.

Удалить письмо просто – достаточно установить курсор на его заголовок и нажать кнопку Del.

Правда, в этом случае письмо все-таки не удаляется до конца – оно просто перемещается в специальную папку Удаленные, аналог Корзины Windows. И правильно – а вдруг вы удалили письмо по ошибке и рано или поздно захотите его вернуть? Тогда вам будет достаточно просто перетащить письмо мышкой из папки Удаленные в папку Входящие или другую созданную вами тематическую папку. А можно сделать иначе – щелчком правой кнопки мышки вызвать Контекстное меню удаленного вами сообщения и выбрать пункт Переместить в папку. Хотя, на мой взгляд, мышкой все же удобнее...

Если вы хотите удалить целую группу писем – например, от одного отправителя или по одной теме – можно вновь обратиться к услугам сортировщика писем Outlook Express (его работа описана в главе Поиск и сортировка сообщений). Только операция, которую мы будет применять к письмам с его помощью, будет иной – не перемещение из папки в папку, а удаление.

Ну, а как же перемещать письма из одной папки в другую? Ответ на этот вопрос вы, я думаю, уже знаете – перетягивая их мышкой из одной папки в другую.

И последнее. Как и Корзину Windows или ваше домашнее мусорное ведро, папку Удаленные необходимо все-таки время от времени очищать. Ведь хранить мусор годами в надежде, что вы ненароком удалили что-нибудь полезное, лишено всякого смысла – база писем Outlook Express разбухает, программа работает медленнее...

Выполнить процедуру очистки, как и в случае с Корзиной, можно, вызвав щелчком правой клавиши мышки Контекстное меню папки Удаленные и выбрав пункт Очистить папку «Удаленные».

Если же вы хотите, чтобы ваша Корзина... т. е. папка Удаленные... очищалась автоматически в момент выхода из Outlook Express, вы можете зайти в меню Сервис Параметры Обслуживание и установить галочку напротив пункта Очищать папку «Удаленные» перед выходом.


Создание ярлыков, В. В. Мельниченко

Создать ярлык можно несколькими способами. Можно щелкнуть на значке исходного объекта (для выделения), а затем, удерживая нажатой правую кнопку мыши, перетащить его в желаемое место. Когда вы отпустите правую кнопку, на экране появится контекстное меню. Выберите в нем пункт Создать ярлыки — и на экране появится значок с характерной стрелкой.

Рис. 5.60. Рабочий стол с большим количеством различных Ярлыков и папок

Создать ярлык можно и по-другому. Опция Создать>Ярлык доступна как в контекстном меню объектов, так и в меню Файл любой папки (если искомый объект выделен в данной папке).

Чтобы создать ярлык, выполните правый щелчок на объекте (файле, папке и т. п.) и выберите Создать>Ярлык. Ярлык появится в той же папке, в которой находится сам объект. Перетащите созданный ярлык на рабочий стол или в папку, в которой вы хотите его использовать. Изменяя имя ярлыка, не нужно беспокоиться, что переименование отразится на оригинальном файле. Напротив, переименование — удобное средство, которое позволяет избежать путаницы, особенно при удалении.

Ярлык позволяет правильно отыскать объект после перемещения, возможно, за несколько секунд. Однако если переместить объект с одного устройства на другое, а также переименовать и переместить объект, то система начнет поиск и выведет на экран несколько "собственных предположений". Они часто бывают ошибочными, особенно при перемещении объекта.

Если предложение верное, щелкните на кнопке Да. Если система «ошиблась», загляните в свойства ярлыка и в поле Объект укажите правильный путь.


среда, 17 ноября 2010 г.

Как посылать письма в Интернет | Nick Filimonov | Релком и обратно.

Во-первых, Вам необходимо узнать адрес близлежащего к Вам гейта в интернет. Для Москвы это 2:50/128. Для большинства городов этот адрес будет тот же, с учетом того, что адрес этот обычно фиктивный. Далее Вы посылаете письмо с таким заголовком :

From : <Ваше имя> at <Ваш адрес>

To : <интернетовский адрес> at <адрес гейта>

или, если в поле To: интернетовский адрес не влезает, написать там слово UUCP, а сам адрес перенести в самую первую строку письма (еще до обычного приветствия).

В общем случае, если Ваш адрес X:YYYY/ZZZ.NNN то со стороны интернета он будет виден как :

your_name@pNNN.fZZZ.nYYYY.zX.fidonet.org

или, если вы действительно пользуетесь гейтом 2:50/128 в Москве :

your_name@pNNN.fZZZ.nYYYY.zX.gate.phantom.ru

Пример : (для 2:5020/54.46)

nick_filimonov@p46.f54.n5020.z2.fidonet.org или

nick_filimonov@p46.f54.n5020.z2.gate.phantom.ru

Слова в Вашем имени надлежит разделять либо точками, либо подчерками. Используемое гейтами ПО обрабатывает и те и другие разделители, с той разницей, что в некотрых случаях первая буква разделенных точкой слов не преобразуется в верхний регистр.

Если Вы пользуетесь гейтом в интернет, расположенным в другом городе (не в Москве), вам необходимо узнать, каков будет Ваш адрес со стороны интернета (т.е. что будет написано вместо gate.phantom.ru). Если Вы пишете письмо за рубеж, это может оказаться для Вас весьма важным. Если Ваш иностранный корреспондент при ответе воспользуется доменом fidonet.org, то письмо будет гейтоваться ближайшим к нему гейтом в FIDO. FIDO-адрес такового может оказаться даже в другой зоне, что сильно понизит вероятность успешного получения (к сожалению, некоторые узлы зоны 1 даже не располагают полным мировым нодлистом).



ГЛАВА 7. ЕЩЕ НЕСКОЛЬКО ПРИМЕРОВ ПРОГРАММ / У. Клоксин

В каждом разделе этой главы рассматривается некоторое конкретное применение Пролога. Мы советуем вам прочитать все разделы. Не огорчайтесь, если вы не поймете назначение какой-либо программы потому, что незнакомы с данной конкретной областью применения. Например, оценить значение символьного дифференцирования смогут лишь читатели, уже знакомые с дифференциальным исчислением. Тем не менее прочтите этот раздел, потому что программа нахождения символьных производных показывает, как установление соответствия между образцами используется при преобразовании структур одного вида (арифметическое выражение) в структуры другого вида. Самое главное – добиться понимания техники программирования на Прологе, находящейся в распоряжении программиста, независимо от конкретной прикладной задачи.

Мы надеемся, что набор задач достаточен, чтобы удовлетворить вкусам большинства читателей. Естественно, что все выбранные задачи относятся к таким областям, которые хорошо укладываются в те способы представления явлений реального мира, которые предлагает Пролог. Например, здесь отсутствует задача расчета потока тепла через трубу прямоугольного сечения. Правда, такие задачи тоже можно решать с помощью Пролога, однако выразительность и силу Пролога невыгодно демонстрировать на задачах, которые сводятся лишь к многократным повторениям вычислений над массивом чисел. Хотелось бы также рассмотреть и большие Пролог-программы, вроде тех, что используются в исследованиях по искусственному интеллекту для распознавания фраз естественного языка. К сожалению, цель такой книги как эта, не позволяет рассматривать программы, размеры которых превышают страницу текста и которые могут быть предложены лишь специально подготовленному читателю.


Денис Колисниченко / Совет № 15 При переключении передачи «вниз» обороты двигателя повышаются. Поэтому при переключении «вниз» нужно сначала сбавить скорость (путем торможения), а затем уж переключаться, чтобы не превысить допустимые обороты

Предположим, что вы едите на четвертой передаче, скорость около 160 км/ч, обороты двигателя приближаются к максимальным – пусть это 6500 тысяч. Вы хотите включить пятую передачу, но нечаянно включили третью. В результате обороты двигателя превысят максимально допустимые и вы попадете на капремонт двигателя. Теперь вы понимаете, почему АКПП считают более безопасной? АКПП не позволит переключиться в неправильном режиме. Даже если вы будете использовать ручной режим и принудительно перейдете на пониженную передачу, обороты двигателя все равно не превысят максимальные.

Вы можете возразить, мол, я с такой скоростью не езжу. А тут много и не нужно. Предположим, что вы едите со скоростью 70 км/ч на второй передаче. Если вы сейчас переключитесь на первую, эффект будет таким же, как описан выше.

Вот поэтому перед переключением на пониженную передачу нужно снизить скорость до допустимой для той передачи, на которую вы хотите переключиться. Как узнать, какая скорость допустима для той или иной передачи? Если у вас нет руководства по автомобилю, тогда допустимую скорость можно определить экспериментальным путем. Включите первую передачу, троньтесь с места, раскрутите двигатель до максимальных оборотов, посмотрите на спидометр. Предположим, что на первой передаче вы разогнали автомобиль до 55 км/ч. Переключитесь на вторую, опять раскрутите двигатель до максимальных оборотов, пусть скорость при этом будем 90 км/ч. Аналогично поступите с третьей передачей – больше не нужно. Итак, если вы едите на скорости 120 км/ч и включена третья передача, то вам нужно снизить скорость до 90 км/ч (а еще лучше – до 70–80, потому что при 90 км/ч обороты станут максимальными, что не желательно), а только потом переключиться на пониженную передачу. Аналогично, как только скорость станет меньше 55 км/ч, можно переключиться на первую передачу.

Итак, алгоритм переключения вниз выглядит так:

• снижаем скорость до допустимой для той передачи, на которую будем переключаться;

• переключаем передачу;

• на педаль газа нажимать не нужно – ведь мы же хотим замедлиться.

Иногда переключение вниз нужно для более резвого обгона. Например, вы вышли на обгон на пятой передаче (пусть 120 км/ч и 3000 оборотов), но уже видите, что не успеваете его завершить – не хватает скорости, тогда можно переключиться на третью передачу и резко нажать педаль газа – автомобиль быстрее станет набирать скорость. Следите за оборотами – как только они приблизятся к максимальным, переключайтесь на четвертую.


суббота, 6 ноября 2010 г.

1.9. Заслонения / Марвин Минский

Когда мы двигаемся вправо, крупный предмет, находящийся в центре на переднем плане, вероятно, левой своей стороной будет заслонять любой более удаленный предмет. При планировании перемещений человек должен иметь возможность предвидеть некоторые из этих изменений. Часть предметов может стать невидимой, а другая их часть - видимой. В нашем исходном примере куба проблемы заслонения не существует, поскольку это тело является полностью выпуклым; исчезновение целой грани и всех ее связей может быть легко восстановлено по данным, содержащимся на верхнем уровне. Однако в комнате, которую обычно следует рассматривать как тело вогнутой формы, отдельные элементы объектов, относящиеся к различным терминалам, могут заслонять друг друга. Рассмотрим в этой связи две экстремальные стратегии.



Локальные группы предметов. Так же, как и с различными видами одиночных объектов, при рассмотрении знакомых групп частично загораживающих друг друга предметов можно воспользоваться специальной системой фреймов, соответствующей данной конфигурации объектов исходного изображения. Для примера рассмотрим сцену, состоящую из стола и стула (рис.1.10 и табл.1.1).

Если к фрейму, представляющему эту сцену применить те же, что и ранее, трансформации перспектив, то это позволит в первом приближении решить проблему заслонения.

Такой подход хорош для компактных, заранее известных групп объектов, но он не дает нужных результатов в тех случаях, когда одни предметы загораживают от дельные детали других объектов, расположенных в углублениях комнаты. Для технических применений простота данной схемы не компенсирует частые ошибки, возникающие при ее использовании, однако, как теория человеческих действий она может быть достаточно хорошей.

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

Глобальная система заслонений. Более глубокая стратегия должна предусматривать, чтобы все фреймы пространственных изображений (перспектив) дополняющая единую, центральную систему фреймов зрительного восприятия образов. Терминалы такой системы должны ответствовать отдельным элементам внутреннего представления пространства среды, а трансформации - определять выявленные законы перспективы, согласно которым одни элементы по-разному заслоняют другие для различных точек наблюдения.

Если на самом деле у человека существовала бы такая макросистема, то была бы она врожденной или же сформировалась в результате обучения? Приведенная выше цитата из работы Ж.Пиаже и Б.Инельдер служит подтверждением тому, что дети до десятилетнего возраста не обладают подобными макроструктурами.


H. M. Ручко | Создание потоков

Библиотека Pthreads используется для создания, поддержки и управления потоками многопоточных программ и приложений. При создании многопоточной программы потоки могут создаваться на любом этапе выполнения процесса, поскольку это — динамические образования. Функция pthread_create() создает новый поток в адресном пространстве процесса. Параметр thread указывает на дескриптор, или идентификатор (id), создаваемого потока. Новый поток будет иметь атрибуты, заданные объектом attr. Созданный поток немедленно приступит к выполнению инструкций, заданных параметром start_routine с использованием аргументов, заданных параметром arg. При успешном создании потока функция возвращает его идентификатор (id), значение которого сохраняется в параметре thread.

Синопсис

#include <pthread.h>

int pthread_create(pthread_t *restrict thread,

const pthread_attr_t *restrict attr,

void *(*start_routine)(void*),

void *restrict arg) ;

Если параметр attr содержит значение NULL, новый поток будет использовать атрибуты, действующие по умолчанию. В противном случае новый поток использует атрибуты, заданные параметром attr при его создании. Если же значение параметра attr изменится после того, как поток был создан, это никак не отразится на его атрибутах. При завершении параметра-функции start_routine завершается и поток, причем так, как будто была вызвана функция pthread_exit() с использованием в качестве статуса завершения значения, возвращаемого функцией start_routine.

При успешном завершении функция возвращает число 0 . В противном случае по-не создается, и функция возвращает код ошибки. Если в системе отсутствуют ресурсы для создания потока, или в процессе достигнут предел по количеству возможных потоков, выполнение функции считается неудачным. Неудачным оно также будет в случае, если атрибут потока задан некорректно или если инициатор вызова потока не имеет разрешения на установку необходимых атрибутов потока.

Приведем примеры создания двух потоков с заданными по умолчанию атрибутами:

pthread_create(&threadA,NULL, taskl,NULL) ;

pthread_create(&threadB,NULL, task2, NULL) ;

Это — два вызова функции pthread_create () из листинга 4 .1. Оба потока создаются с атрибутами, действующими по умолчанию.

В программе 4 .1 отображен основной поток, который передает аргумент из командной строки в функции, выполняемые потоками.

// Программа 4.1

#include <iostream>

#include <pthread.h>

#include <stdlib.h>

int main(int argc, char *argv[]) {

pthread_t ThreadA,ThreadB;

int N;

if(argc != 2) {

cout << «error» << endl;

exit (1);

}

N = atoi(argv[l]);

pthread_create(&ThreadA,NULL, taskl,&N);

pthread_create(&ThreadB,NULL, task2, &N);

cout « «Ожидание присоединения потоков.» « endl;

pthread_join(ThreadA,NULL) ;

pthread_join(ThreadB,NULL);

return (0) ;

};

В программе 4 .1 показано, как основной поток может передать аргументы из командной строки в каждую из потоковых функций. Число в командной строке имеет строковый тип. Поэтому в основном потоке аргумент сначала преобразуется в целочисленное значение, и только после этого результат преобразования передается при каждом вызове функции pthread_create () посредством ее последнего аргумента.

В программе 4.2 представлена каждая из потоковых функций.

// Программа 4.2

void *task1(void *X)

{

int *Temp;

Temp = static_cast<int *>(X);


for(int Count = 1;Count < *Temp;Count++){

cout << «work from thread A: " << Count << " * 2 = "

<< Count * 2 << endl;

}

cout << «Thread A complete» << endl;

}


void *task2(void *X)

{

int *Temp;

Temp = static_cast<int *>(X);


for(int Count = 1;Count < *Temp;Count++){

cout << «work from thread B: " << Count << " + 2 = "

<< Count + 2 << endl;

}

cout << «Thread B complete» << endl;


}

В программе 4.2 функции taskl и task2 выполняют цикл, количество итераций которого равно числу, переданному каждой функции в качестве параметра. Одна функция увеличивает переменную цикла на два, вторая — умножает ее на два, а затем каждая из них отправляет результат в стандартный поток вывода данных. По выходу из цикла каждая функция выводит сообщение о завершении выполнения потока. Инструкции по компиляции и выполнению программ 4.1 и 4.2 содержатся в профиле программы 4.1.

[ Профиль программы 4.1

Имя программы •program4-12.cc

* Описание Принимает целочисленное значение из командной строки и передает функциям: потоков. Каждая функция выполняет цикл, в котором переменная цикла увеличивается (в одной функции на два, а в другой в два раза), а затем результат отсылается в стандартный поток вывода данных. Код основного потока выполнения приведен в программе 4.1, а код функций — в программе 4.2.

Требуемая библиотека libpthread

Требуемые заголовки <pthread.h> <iostream> <stdlib.h>

Инструкции по компиляции и компоновке программ

с++ -о program4-12 program4-12.cc -lpthread

Среда для тестирования SuSE Linux 7.1, gcc 2.95.2,

Инструкции по выполнению ./program4-12 34

Примечания Эта программа требует задания аргумента командной строки.

В этом разделе был приведен пример передачи функции потока лишь одного аргумента. Если необходимо передать функции потока несколько аргументов, создайте структуру (struct) или контейнер, содержащий все требуемые аргументы, и передайте функции потока указатель на эту структуру.


46. Реклама и жизненный цикл товара | Елена Юрьевна Логинова

Жизненный цикл товара – это период времени обращения товара на рынке от замысла продукта до снятия его с производства и выведения из продажи.

Концепция жизненного цикла товара включает сбыт продукции, доходы от продаж, полную стратегию маркетинга с момента выпуска продукта на рынок и до его снятия с производства.

Жизненный цикл товара понимается как определенная последовательность этапов существования его на рынке, имеющая свои границы. Динамика жизни продукта отражает объемы продаж в разные периоды, изменение спроса на него.

Первым этапом жизненного цикла является внедрение.

Ко второму этапу относится рост. Третья стадия – зрелость.

Четвертый этап жизненного цикла – насыщение.

На пятом этапе происходит спад.

На этапе выхода товара на рынок нужно учитывать полную неосведомленность покупателей о новинке, при этом основные цели рекламы:

1) формирование интереса к существованию товара и марки;

2) информирование рынка о преимуществах нового товара;

3) побуждение потребителя к приобретению нового товара;

4) побуждение закупщиков к обороту товару. Таким образом, происходит первичное знакомство

потребителя с предлагаемым продуктом. Реклама на этом этапе широкомасштабна и требует значительных вливаний финансовых средств, что неблагоприятно отражается на прибыли, однако в долгосрочной перспективе это оправдывается.

В фазе роста уровень продаж значительно увеличивается. Большая часть покупателей совершают повторные покупки. Многие уже знают о товаре и марке производителя. Так как на рынке работают конкуренты, то принципиально важной целью рекламы является уже не простое информирование, а создание предпочтения марки товара. Все цели рекламы можно свести к:

1) созданию сильного, конкурентоспособного образа марки товара;

2) формированию предпочтения к марке;

3) стимулированию покупки товара.

На этапе зрелости новые покупатели появляются редко, и сбыт происходит главным образом за счет повторных покупок. Фаза зрелости является пиком рекламной деятельности. Конкуренция обострена. Рынок не расширяется, следовательно, основная цель рекламы – предотвращение снижения и даже рост части рекламируемого товара на рынке.

Важным фактором рекламы служат разнообразные распродажи, скидки при приобретении товара, дополнительные условия гарантии, сервис и дальнейшее повышение качества.

Основным видом рекламы остается агитирующая реклама.

На этапе спада продажи стремительно падают и реклама нецелесообразна. Товар уходит с рынка. Однако если на складах сохранились большие партии товаров, то предприниматели продолжают рекламировать свою продукцию до полной ее ликвидации.


вторник, 2 ноября 2010 г.

Александр Леоненков / Пакет Механизмы расширения

Пакет Механизмы расширения также является подпакетом пакета Основные элементы и специфицирует порядок включения в модель элементов с уточненной семантикой, а также модификацию отдельных компонентов языка UML для более точного отражения специфики моделируемых систем. Механизм расширения определяет семантику для стереотипов, ограничений и помеченных значений. Хотя язык UML обладает богатым множеством понятий и нотаций для моделирования типичных программных систем, реально разработчик может столкнуться с необходимостью включить в модель дополнительные свойства или нотации, которые не определены явно в языке U ML. При этом разработчики часто сталкиваются с необходимостью включения в модель графической информации, такой, например, как дополнительные значки и украшения.

Для этой цели в языке UML предусмотрены три механизма расширения, которые могут использоваться совместно или раздельно для определения новых элементов модели с отличающимися семантикой, нотацией и свойствами от специфицированных в метамодели языка UML элементов. Такими механизмами являются: ограничение (Constraint), стереотип (Stereotype) и помеченное значение (TaggedValue).

Таким образом, механизмы расширения языка UML предназначены для выполнения следующих задач:

• Уточнения существующих модельных элементов при разработке моделей на языке UML.

• В спецификации самого языка UML для определения стандартных компонентов, которые либо не являются достаточно интересными, либо сложны для непосредственного определения в качестве элементов мета-модели UML.

• Определения таких расширений языка UML, которые зависят от специфики моделируемого процесса или от языка реализации программного кода.

• Присоединения произвольной семантической или несемантической информации к элементам модели.

Хотя вопросы расширения метамодели UML выходят за пределы настоящей книги, следует знать о потенциальной возможности явного добавления в язык UML новых метаклассов и других метаконструкций. При этом, однако, необходимо соблюдать правило порождения новых метаклассов от уже имеющихся в языке UML. Эта возможность единственно зависит от свойств отдельных инструментальных средств, поддерживающих язык UML, или от особенностей мета-метамодельного представления самого процесса ООАП.

Наиболее важные из встроенных механизмов расширения основываются на понятии стереотип. Стереотипы обеспечивают некоторый способ классификации модельных элементов на уровне объектной модели и возможность добавления в язык UML «виртуальных» метаклассов с новыми атрибутами и семантикой. Другие встроенные механизмы расширения основываются на понятии списка свойств, содержащего помеченные значения и ограничения. Эти механизмы обеспечивают пользователю возможность включения дополнительных свойств и семантики непосредственно в отдельные элементы модели.