Метка: Образование
Анонс OpenOffice 3.0
Участники проекта OpenOffice.org объявили о выпуске новой версии одноименного офисного пакета с открытым исходным кодом — OpenOffice 3.0. Анонс финального релиза пакета был приурочен к восьмилетию проекта OpenOffice.org.
Новая версия пакета доступна более чем на двух десятках языков и для нескольких операционных систем: Windows, Mac OS Х, Linux и Solaris. По сравнению с предыдущей версией пакета OpenOffice 2.4, представленная версия 3.0 официально поддерживает работу на компьютерах с операционной системой Mac OS Х без использования графического сервера X11.
Кроме того в OpenOffice...
Skype- новые возможности общения
Skype относится к тем уникальным интернет-явлениям, которые всего за несколько лет существования достигли такого уровня популярности, что о них не может не знать человек, проводящий в интернете хотя бы час в день. Несмотря на то, что количество программ для VoIP-телефонии постоянно увеличивается, а услуги голосового чата появляются в обычных IM-клиентах, популярность Skype не падает. Думается, этому есть несколько причин.
Во-первых, Skype – это уже не просто программа для интернет-общения, и подтверждение тому диалоги в магазинах компьютерной техники....
Корпоративный антивирус
«Лаборатория Касперского» представила корпоративным пользователям обновленную версию решения для обеспечения безопасности корпоративной рабочей станции — «Антивирус Касперского SOS» 6.0. Продукт подгружается к основной антивирусной системе организации и ловит зловредные программы, которые пропустил корпоративный антивирус. В Петербурге новое решение продвигает системный интегратор «Поликом Про» — крупнейший партнер «Лаборатории Касперского» в СЗФО. Вчера, 20 декабря 2007 года компания провела первый...
DDoS-атака
Первые сообщения о DDoS-атаках относятся к 1996 г. Но всерьез об этой проблеме заговорили в конце 1999-го, когда были выведены из строя веб-серверы таких известных корпораций, как Amazon, Yahoo, CNN, eBay, E-Trade и др. Спустя год, в декабре 2000-го, «рождественский сюрприз» повторился: были атакованы серверы крупнейших компаний, причем сетевые администраторы не смогли им противостоять. С тех пор сообщения о DDoS-атаке на тот или иной веб-ресурс уже не являются чем-то уникальным. В начале 2007-го на несколько дней был отключен сайт «Компромат.ру», а затем в...
Домены приложений
В современных операционных системах некий функционально законченный блок кода выполняется в специально отведенном для него адресном пространстве – процессе. Код, выполняемый внутри процесса, изолирован. Доступ к коду из другого процесса возможен только через прокси. Прокси находится в адресном пространстве вызывающего процесса и действует как заместитель удаленного объекта. С точки зрения вызывающего объекта прокси – это объект, перенаправляющий вызовы другому процессу.
В отличие от обычного, управляемый (managed) код может проверяться...
Иерархия операций
Для выполнения промежуточной двухместной операции в МК-41, как и в других калькуляторах, необязательно нажимать клавишу =. При выполнении смешанных вычислений клавишу = нажимают, как правило, в конце задачи. В промежуточных действиях вместо = можно нажимать клавиши следующих по формуле двухместных операций, однако исполнение операций производится с учетом установленного логикой МК старшинства операций. Самыми старшими из двухместных операций в МК-41 являются операции возведения в степень и извлечения квадратного корня из суммы квадратов...
Построчная алгоритмическая нотация
Как следует из всего предыдущего изложения, задача составления алгоритма всегда связана с использованием некоторого языка, на котором алгоритм записывается. В достаточно общем случае язык — это средство выражения и передачи некоторых сведений. В этом смысле можно говорить о языке общения между людьми, о языке математики, о языке общения между людьми и автоматами. Можно говорить даже о существовании особых языков, на которых автоматы общаются между собой.
Выше уже отмечалось, что характер языка, используемого для записи алгоритмов, так...
Организация программы
Программа на Бейсике представляет собой последовательность строк. Каждая строка программы снабжается десятичным номером. Выполнение программы осуществляется в порядке возрастания номеров строк, причем не требуется, чтобы строки программы нумеровались непременно последовательными натуральными номерами. Чтобы облегчить в процессе составления программы вставление новых строк между уже имеющимися, строки программы обычно нумеруют с каким-либо шагом, например через 10 номеров: 10, 20, 30 и т. д.
Основными компонентами программы, побуждающими...
Вводный курс программирования
Во вводных курсах программирования, как правило, основное внимание бывает направлено скорее на изучение свойств конкретного языка программирование, чем на рассмотрение более широких аспектов искусства программирования. Да и учебники по программированию в основном посвящены описанию свойств языков. В некоторых учебниках ничего кроме этого содержится, хотя в лучших из них рассматриваются те же вопросы стиля и методологии программирования. Однако для достижения ясности они фактически не выходят за рамки тех методов программирования,...
Вероятность возникновения ошибок
Здесь, как и во многих других ситуациях, предупреждение болезни более выгодно, чем лечение, поэтому программы следует писать так, чтобы минимизировать вероятность возникновения ошибок, обеспечить простоту их обнаружения в случае, если они все же появляются, и ограничить влияние этих ошибок, т. е. минимизировать его и по объему последствий, и по области распространения. Об этом необходимо помнить на каждом из четырех этапов разработки проекта: составление спецификации, проектирование, реализация и тестирование, так как в любом из них могут...
Эвристическое программирование
Подпрограмма MOVGEN реализует ход коня и заносит в MOVES поля, доступные в текущий момент, на глубину К. Конечно, нет необходимости хранить их в явном виде, и в действительности существуют очень эффективные способы генерации и проверки правильности шахматных ходов, однако для описания их здесь понадобилось бы слишком углубиться в детали.
В эту программу все еще не вписаны эвристические приемы, и, если ее прогнать в том виде, как она есть, она будет работать медленнее, чем Cray 1, и выдаст очень немногие результаты в обозримое время, даже для доски...
Алгоритм упорядоченного поиска
Предположим, что / (х) — численная функция от вершины х, тогда предыдущий алгоритм может быть обобщен следующим образом:
0) Занести начальную вершину s в список OPEN и вычислить / (s).
1) Если список OPEN пуст, то выдать сообщение об ошибке, иначе — продолжит.
2) Исключить из списка OPEN вершину х, которой соответствует наименьшее значение/ (х), и занести ее в список CLOSED.
3) Если х — целевая вершина, то выйти из процедуры и обратной трассировкой по указателям найти решение.
4) Определить все соседние вершины хг— для вершины х и вычислить /(/)
5) Занести...
Документирование программы
Документирование, пожалуй, один из наиболее болезненных аспектов программирования. Большинство программистов, написав, оттестировав и внедрив программу, со спокойной душой переходят к следующему проекту. Однако пользователи часто приходят к выводу о том, что документация неполна, неточна и не соответствует программе. Случаи, когда автор программы является ее единственным пользователем, довольно редки, поэтому лучше совсем не разрабатывать программу, чем разрабатывать так, что непонятно, как ее запускать, какой необходим метод решения,...
Используемые методы
Когда программист самостоятельно разрабатывает программу целиком, он имеет почти полную свободу в выборе используемых методов. (Фактически именно эта свобода нередко является причиной низкого качества конечного продукта.) Однако, когда программист работает в группе, он не так свободен и должен научиться работать в условиях определенных ограничений. Эти ограничения должны быть вызваны необходимостью, а не навязываться неоправданно, они должны обеспечивать большую свободу для разработки высококачественного продукта. Такие ограничения...
Основы теории элементарных алгоритмов
В учебном пособии впервые достаточно полно рассматриваются основы теории элементарных алгоритмов (элементарных по Кальмару функций), изученных современной теорией алгоритмов и успешно используемых в математических исследованиях. Излагаются также, способы получения границ оптимизации (в том числе и полиномиального вида) для алгоритмов установления разрешимости синтаксически ограниченных уравнений дискретного характера.
Учебное пособие предназначено для студентов математических факультетов вузов и аспирантов. Оно будет также полезно...
Система программирования
Система программирования на Форте (форт-система) обычно обеспечивает полный набор средств поддержки для разработки и исполнения программ: операционную систему, интерпретатор для диалогового исполнения, компилятор, ассемблер, текстовый редактор и обслуживающие программы. Все эти компоненты являются расширениями Форта и написаны на том же Форте. Таким образом Форт является одновременно и системой для пользователя, и собственной метасистемой, т. е. системой, описывающей саму себя.
В соответствии с общим принципом Форта в форт-системе используется...
Циклом с проверкой в конце
Цикл BEGIN—UNTIL называется циклом с проверкой в конце. После исполнения слов, составляющих его тело, на стеке остается логическое значение — условие завершения цикла. Слово UNTIL (пока не) снимает это значение со стека и анализирует его. Если это ИСТИНА (не нуль)» то исполнение цикла завершается, т. е. далее будут исполняться слова, следующие за UNTIL , а если это ЛОЖЬ (нуль), то управление возвращается к началу цикла от слова BEGIN . Например, определение слова, вычисляющего факториал, может выглядеть так:
Как и ранее, в комментариях, сопровождающих каждую...
Кодирование пробела
Ввиду его особой важности для кодирования пробела выделена специальная константа BL (от BLANK — пробел), которую для кода ASGII можно задать так: 32 CONSTANT BL. При исполнении слова BL на стеке остается код пробела. Чтобы вывести пробел на терминал, имеются следующие стандартные слова:
« SPACE ( — > ) BL EMIT | i SPACES < N--->) ?DUP IF 0 DO SPACE LOOP THEN f
Слово SPACE (пробел) выводит на терминал один пробел, а слово SPACES (пробелы) — несколько, снимая их количество со стека (это значение, как и длина строки в слове TYPE, должно быть неотрицательным).
Внутри определений через двоеточие...
Форматные преобразования
Важной областью применения строковых значений являются форматные преобразования, позволяющие переводить число из машинного двоичного представления в строку литер. Эти преобразования выполняются над числами двойной длины, результирующая строка размещается во временном буфере PAD (прокладка), который заполняется с конца. Такое название буфера связано с тем, что он располагается в незащищенной части адресного пространства между словарем и стеком. Слово PAD кладет на стек адрес конца этого буфера и обычно определяется так:
Г PAD ( —> А ) HERE...
Шитый код и его разновидности
Логически можно выделить два подхода к реализации языков программирования — трансляцию и интерпретацию. Транслятор преобразует входной текст программы в машинный код данной ЭВМ; впоследствии этот код, объединяясь с другими машинными модулями, образует рабочую программу, которую можно загрузить в оперативную память и исполнить. Интерпретатор непосредственно исполняет программу на языке высокого уровня, рассматривая входной текст как последовательность кодов операций, управляющих его работой. Между этими полюсами располагается целый...
Работа с внешней памятью
В настоящее время в каждом языке программирования тем или иным способом решаются вопросы обмена с внешней памятью. Из-за огромного разнообразия внешних устройств и способов хранения информации «а внешних носителях единый универсальный механизм обмена отсутствует. В каждом языке определяется своя, в известной мере универсальная файловая система, которая при реализации моделируется на реальной файловой системе конкретной операционной системы.
Поскольку в язык Форт легко включать новые слова-команды, то надобность в стандартных универсальных...
Уточнение варианта многозадачного режима
Дальнейшие уточнения конкретного варианта многозадачного режима зависят от многих частных причин. Для примера рассмотрим реализацию системы ПОЛИФОРТ фирмы «Форт». Эта система реализована для целого ряда ЭВМ, включая персональный компьютер ИБМ. Использованный в ней механизм переключения задач основан на кольцевом принципе: все задачи связаны в кольцо через начальную часть своей пользовательской области. Задачи, составляющие кольцо, по очереди получают центральный процессор и удерживают его до тех пор, пока не исполнят слово PAUSE (пауза)...
Понятие алгоритма
Таким образом, понятие алгоритма возникло и используется давно, значительно раньше появления ЭВМ. Тем не менее широким распространением это понятие обязано основополагающей идее — идее автоматизации поведения исполнителя-автомата, реализуемой на основе алгоритма. В ряду всевозможных автоматов ЭВМ является лишь частным (хотя и наиболее впечатляющим) примером такого исполнителя. Задача обучения алгоритмизации заключается в том, чтобы научить составлять записи алгоритмов, причем делать это так, чтобы воображаемый при этом исполнитель...
Табличный способ
Запись вычислительного алгоритма в форме таблицы широко используется при организации вычислений по формуле с пооперационной регистрацией промежуточных результатов. В этом случае расписка формулы на последовательность элементарных действий, обеспечиваемых имеющимися в наличии вычислительными средствами, есть не что иное, как определение последовательности шагов (указаний) вычислительного алгоритма. Так, табличный алгоритм вычисления по формуле (3.1) может иметь вид таблицы. В этой таблице приведены все этапы вычисления площади поверхности...
Запись ветвлений
В предыдущем пункте были рассмотрены правила организации словесной записи линейных алгоритмов. Больший интерес с точки зрения алгоритмизации представляют разветвляющиеся алгоритмические процессы, причем в данном случае вызывает особую сложность организация переходов от предписания к предписанию.
Дело в том, что в разветвляющихся алгоритмах принцип линейного автоматического перехода от предписания к предписанию в порядке естественного возрастания их номеров уже не является всеобщим, так как время от времени возникает потребность...
Устройство графического вывода
Пусть устройством графического вывода является экран дисплея, а курсор находится в исходном положении (в левом нижнем углу). Тогда оператор
PLOT < 280, U>
(здесь Ах = 280, Ду = $) вызывает холостое перемещение курсора по горизонтали вправо на 280 точек, т. е. до середины экрана. А оператор
PLOTC, 240, D> прочертит вертикальную линию в движении снизу вверх на 240 дискрет. Если эти два оператора выполнить один за другим, то на экране получится изображение в виде вертикальной линии, пересекающей экран точно посередине (рис. 60, а). Для последовательного выполнения...
