среда, 12 января 2011 г.

Ошибки и отладка программы, Джесс Либерти

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

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

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

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


8.1. Понятие фрейма / Александр Анатольевич Чиртик

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

Во всех примерах ранее в книге рассматривалось выравнивание текста, графики, таблицы и прочего наполнения HTML?документов в окне браузера. При этом в нем могло отображаться содержимое только одного документа. Использование фреймов позволяет разбить окно браузера на несколько частей, в которых могут отображаться разные HTML?документы. Например, так, как показано на рис. 8.1.

Рис. 8.1. Три документа в одном окне


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

• Прокручивать содержимое одних фреймов независимо от содержимого других.

• Осуществлять переход между страницами сайта, загружая содержимое только в правый фрейм. Это экономит время пользователя, так как статичное содержимое сайта загружается с сервера только один раз.

Теперь, после знакомства с фреймами, можно рассмотреть, как выполняются создание и настройка сайтов с использованием фреймов.


«Дойчланд». Андрей Анатольевич Николаев


Во время Первой Мировой войны три немецкие подводные лодки были переоборудованы в транспорты, названные «Дойчланд» («Deutschland»), «Ольденбург» («Oldenburg») и «Бремен» («Bremen»). Все они использовались для преодоления блокады побережья Германии, установленной британским флотом. «Дойчланд» успел совершить два коммерческих рейса в Соединенные Штаты Америки. После того, как США вступили в войну на стороне Антанты, вместе с лодкой «Ольденбург» она снова вошла в боевой состав германского флота. Подводная лодка «Бремен» погибла в 1917 году - вероятно, подорвавшись на мине у Оркнейских островов. После окончания Первой Мировой войны лодка «Ольденбург» была потоплена как корабль-цель в районе Шербура, а «Дойчланд» в 1922 году пошла на слом в Англии.

Страна: Германия

Дата спуска на воду: март 1916 г.

Экипаж: 56

Водоизмещение; надводное - 1512т, подводное - 1875 т

Размерения: 65м х 8,9м х 5,3м

Вооружение: отсутствовало

Силовая установка: двухвальная, дизельгэлектрическая

Дальность плавания надводным ходом: 11 284 мор. мили (20 909 км)

Скорость: при надводном ходе- 12,4 узла,

при подводном ходе - 5,2 узла



воскресенье, 9 января 2011 г.

Владимир Верстак | Blend (Смешиваемый)

Материал Blend (Смешиваемый) позволяет смешивать два отдельных материала в определенном процентном соотношении. Он также включает возможность применения маски, управляющей тем, где происходит смешивание, и, следовательно, появление смесевого цвета.

Для доступа к материалу Blend (Смешиваемый) выполните следующие действия.

1. Щелкните на кнопке Type (Тип) в окне Material Editor (Редактор материалов) для вызова окна диалога Material/Map Browser (Окно выбора материалов и карт).

2. Выберите из списка материал Blend (Смешиваемый). В результате откроется окно диалога, в котором необходимо указать: Discard old material? (Удалить старый материал?) или Keep old material as sub-material? (Оставить старый материал в качестве компонента?).

3. Щелкните на кнопке OK. В результате в области свитков окна Material Editor (Редактор материалов) появится свиток Blend Basic Parameters (Основные параметры смешивания) (рис. 3.15).

Рис. 3.15. Свиток Blend Basic Parameters (Основные параметры смешивания)


4. Настройте параметры смешивания материала.

1) Щелкнув на одной из кнопок Material 1 (Материал 1) или Material 2 (Материал 2), выберите новый материал либо перейдите в режим редактирования существующего. В качестве материалов могут выступать как стандартные материалы, так и сложные составные.

2) Установите или снимите флажки, расположенные справа от кнопок материалов, для активизации или деактивизации материалов.

3) Установите переключатель Interactive (Интерактивный) напротив того материала, который должен быть показан в окне проекции.

4) Нажав кнопку Mask (Маска), укажите в открывшемся окне Material/Map Browser (Окно выбора материалов и карт) материал или файл растрового изображения, который будет использоваться для смешивания двух компонентов материала.

5) В счетчике Mix Amount (Доля в смеси) определите значение смешивания материалов-компонентов в диапазоне от 0 до 100. При значении, равном 0, будет виден только Material 1 (Материал 1), а при 100 – только Material 2 (Материал 2).

6) Задайте плавность перехода одного материала в другой с помощью элементов области Mixing curve (Кривая смешивания).


Лекция 9. Описание нейронных сетей. Е. М. Миркес

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

Как уже говорилось главе «Двойственные сети», на данный момент в нейросетевом сообществе принято описывать архитектуру нейронных сетей в неразрывном единстве с методами их обучения. Эта связь не является естественной. Так, в первой части этой главы будет рассматриваться только архитектура нейронных сетей. Во второй части будет продемонстрирована независимость ряда методов обучения нейронных сетей от их архитектуры. Однако, для удобства, во второй части главы архитектуры всех парадигм нейронных сетей будут описаны вместе с методами обучения.

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

1. Сети с непрерывным временем.

2. Сети с дискретным асинхронным временем.

3. Сети с дискретным временем, функционирующие синхронно.

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


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

H. M. Ручко / Функции execv ()

Функции execv(), execve() и execvp() передают аргументы командной строки в векторе указателей на строки с завершающим нулевым символом. Количество аргументов командной строки должно быть известно во время компиляции. Элемент argv[0] обычно представляет собой команду.

• int execv(const char *path,char *const arg[]);

Здесь path — путевое имя выполняемой программы. Его можно задать в виде полного составного имени либо относительного составного имени из текущего каталога. Последующий параметр представляет вектор (с завершающим нулевым символом), содержащий аргументы командной строки, представленные в виде строк с завершающими нулевыми символами. Всего может быть n аргументов. Этот вектор завершается NULL-указателем. Элементу arg[] можно присвоить значение таким образом:

char *const arg[] = {«traverse»,".», ">",«1000»,NULL};


Вот пример вызова этой функции:

execv(«traverse», arg) ;

В этом случае утилита traverse перечислит все файлы в текущем каталоге, размер которых превышает 1000 байт.

• int execve(const char *path,char *const arg[],char *const envp[]);

Эта функция аналогична функции execv(), с одним отличием: она имеет дополнительный параметр, envp[], который описан выше.

• int execvp(const char *file,char *const arg[]);

Здесь file — имя выполняемой программы. Последующий параметр представляет собой вектор (с завершающим нулевым символом), содержащий аргументы командной строки, представленные в виде строк с завершающими нулевыми символами. Всего может быть n аргументов. Этот вектор завершается NULL-указателем.

Вот примеры применения синтаксиса функций execv () с различными аргументами:

char *const arg[] = {«traverse»,".», ">",«1000»,NULL};

char *const envp[] = {«files=50»,NULL};

execv("/path/traverse», arg);

execve("/path/traverse», arg, envp);

execvp(«traverse», arg);

Здесь в каждом примере вызова execv-функции активизированный процесс выполняет программу traverse.


Микрофишки / Журнал «Компьютерра»


Американская Служба честной торговли (Office of Fair Trading) недавно обязала американскую же компанию Micro Bill Systems изменить поведение программы, предназначенной для работы с ее веб-сайтом. По мнению службы, то, как приложение функционирует, грубо нарушает права потребителей.

Micro Bill Systems предоставляет пользователям доступ к контенту "для взрослых". И подобно многим другим таким сайтам выводит на экран пользователя всплывающие окошки (pop-up). Даже те пользователи Интернета, которые на подобные сайты не заходят, окна эти люто ненавидят. Приятного в них действительно мало, даже если они ведут себя "по-божески". Чего не скажешь про сайт Micro Bill Systems. По мнению защитников прав потребителей, нехорошо это - когда такие окошки заполняют весь экран и компьютером становится просто невозможно пользоваться. Вдобавок при загрузке программы, ответственной за их показ, пользователю не сообщалось, что она, собственно, делает и как ее удалить. Правда, те уступки, на которые пришлось пойти Micro Bill Systems, все равно выглядят издевательством: количество всплывающих окон ограничено "всего" двадцатью в сутки на каждого посетителя, и на экране они должны оставаться не дольше одной минуты. Но надо же с чего-то начинать… ПП


***

Компания Yahoo объявила о том, что отныне платные пользователи Flickr наряду с фотографиями смогут загружать и видеоролики. По словам администрации фотосайта, новая функция не будет конкурировать с YouTube и собственным видеохостингом Yahoo (video.yahoo.com). Загружаемые клипы должны быть не длиннее 90 секунд и не "тяжелее" 150 Мбайт. При таких ограничениях, по мнению руководства сервиса, видео воспринимается просто как "длинная фотография". Кроме того, столь малое время проигрывания должно послужить гарантией, что на новом сервисе не появится пиратский ТВ-контент. ЕВ


***

Удачные путешествия марсианских роверов вдохновили NASA на смену парадигмы освоения Луны. Если прежде никто не подвергал сомнению необходимость стационарной базы для лунных поселенцев и споры велись в основном о ее местонахождении, то теперь, возможно, об оседлой лунной жизни придется забыть. Разработка инженеров NASA - "жилой" робот-исследователь ATHLETE (All-Terrain Hex-Legged Extra-Terrestrial Explorer), прототип которого сейчас испытывается близ Пасадены, штат Калифорния. Многотонная машина, питаемая солнечными батареями, сможет передвигаться по лунной поверхности с крейсерской скоростью 10 км/час, неся на себе пристанище для людей.

Шесть ног "Атлета" заканчиваются колесами, которые будут использоваться при передвижении по относительно ровной поверхности, а по пересеченной местности робот пойдет как гигантское насекомое, переступая конечностями. Мало того, конечности, снабженные различными насадками, смогут использоваться как рабочий инструмент. Такой помощник будет очень кстати селенологам. Машиной сможет управлять экипаж, а если понадобится привлечь его к другим делам - управление будет осуществляться с Земли, благо программное обеспечение для этого уже отлажено в более трудных условиях - на Марсе. ИП