Математический редактор MathCAD

         

Математический редактор MathCAD

Mathcad является математическим редактором, позволяющим проводить разнообразные научные и инженерные расчеты, начиная от элементарной арифметики и заканчивая сложными реализациями численных методов. Пользователи Mathcad — это студенты, ученые, инженеры, разнообразные технические специалисты. Благодаря простоте применения, наглядности математических действий, обширной библиотеке встроенных функций и численных методов, возможности символьных вычислений, а также превосходному аппарату представления результатов (графики самых разных типов, мощных средств подготовки печатных документов и Web-страниц), Mathcad стал наиболее популярным математическим приложением.
Mathcad 11, в отличие от большинства других современных математических приложений, построен в соответствии с принципом WYSIWYG ("What You See Is What You Get" — "что Вы видите, то и получите"). Поэтому он очень прост в использовании, в частности, из-за отсутствия необходимости сначала писать программу, реализующую те или иные математические расчеты, а потом запускать ее на исполнение. Вместо этого достаточно просто вводить математические выражения с помощью встроенного редактора формул, причем в виде, максимально приближенном к общепринятому, и тут же получать результат Кроме того, можно изготовить на принтере печатную копию документа или создать страницу в Интернете именно в том виде, который этот документ имеет на экране компьютера при работе с Mathcad Создатели Mathcad сделали все возможное, чтобы пользователь, не обладающий специальными знаниями в программировании (а таких большинство среди ученых и инженеров), мог в полной мере приобщиться к достижениям современной вычислительной науки и компьютерных технологий. Для эффективной работы с редактором Mathcad достаточно базовых навыков пользователя. С другой стороны, профессиональные программисты (к которым относит себя и автор этих строк) могут извлечь из Mathcad намного больше, создавая различные программные решения, существенно расширяющие возможности, непосредственно заложенные в Mathcad.

Начинаем работу
Редактирование документов
Вычисления
Типы данных
Символьные вычисления

Программирование
Интегрирование и дифференцирование
Алгебраические уравнения и оптимизация
Матричные вычисления
Специальные функции
Обыкновенные дифференциальные уравнения

Краевые задачи
Дифференциальные уравнения в частных производных
Математическая статистика


Обработка данных
Ввод-вывод данных
Оформление документов

Математические задачи в пакете MathCAD 12

Mathcad — необычная программа. Она относится к классу приложений, называемых PSE (problem solution environment — программная среда для решения задач). Это подразумевает, что ее работа не определяется однозначно действиями пользователя (как, например, в текстовых редакторах и т. п.), а является (в большей степени) результатом работы встроенных алгоритмов, недоступных взору исследователя. Введя в редакторе Mathcad выражение, даже довольно простое, например, df (x)/dx=, и получив некоторый ответ, многие даже не задумываются о том, что для его вычисления проделывается довольно сложная работа, результат которой заранее не предопределен и зависит от целого ряда факторов, не представленных непосредственно на рабочей области документа (свойств функции f, параметров численного алгоритма дифференцирования, значения системных констант и т. д.). Поэтому, проводя даже очень простые расчеты, вам придется иногда сталкиваться с неочевидным поведением программы, которое нельзя понять без ясного представления об основах работы соответствующих алгоритмов, встроенных в Mathcad.
Приложение Mathcad компании MathSoft — самый популярный из компьютерных математических пакетов, остающийся, бесспорно, на протяжении многих последних лет лидером в своем классе математического и образовательного программного обеспечения (ПО). С его помощью можно решать самые разные математические задачи и оформлять результаты расчетов на высоком профессиональном уровне, и сейчас уже сложно представить современного ученого, не пользующегося Mathcad. При помощи этого пакета осуществляются не только простые и вспомогательные вычисления, но и довольно сложные расчеты и научные исследования, использующие комбинации самых разных численных алгоритмов и аналитических преобразований.

Введение
Основные сведения о Mathcad
Алгебраические вычисления
Дифференцирование

Интегрирование
Нелинейные алгебраические уравнения
Оптимизация
Линейная алгебра
Системы линейных уравнений

Обыкновенные дифференциальные уравнения: динамические системы
Обыкновенные дифференциальные уравнения: краевые задачи
Дифференциальные уравнения в частных производных
Статистика
Интерполяция и регрессия

Спектральный анализ
Пользователям предыдущих версий Mathcad
Команды меню и панели инструментов
Сообщения об ошибках
Ресурсы Mathcad

MathCAD 7.0

Посвящено одной из самых мощных и эффективных математических систем — MathCAD 7.0. Она существует в двух вариантах:
Cтандартном MathCAD 7.0 Standard и
Профессиональном MathCAD 7.0 Professional Edition (PRO).
Стандартная версия ориентирована на большинство пользователей, а профессиональная — на профессионалов, серьезно занимающихся математическими расчетами.
Системы MathCAD традиционно занимают особое место среди множества таких систем (Eureka, Mercury, MatLAB, Mathematica 2 и 3, Maple V R3 и R4 и др.) и по праву могут называться самыми современными, универсальными и массовыми математическими системами. Они позволяют выполнять как численные, так и аналитические (символьные) вычисления, имеют чрезвычайно удобный математико-ориентированный интерфейс и прекрасные средства графики [6, 15,16]. Системы начиная с версии 3.9 работают под управлением графических операционных систем Windows 3.1/3.11 [16,17], а новая версия MathCAD 7.0 - под Windows 95/NT.
Системы класса MathCAD предоставляют уже привычные, мощные, удобные и наглядные средства описания алгоритмов решения математических задач. Преподаватели и студенты вузов получили возможность подготовки с их помощью наглядных и красочных обучающих программ в виде электронных книг с действующими в реальном времени примерами. Новейшая система MathCAD PLUS 7.0 PRO настолько гибка и универсальна, что может оказать неоценимую помощь в решении математических задач как школьнику, постигающему азы математики, так и академику, работавшему со сложнейшими научными проблемами. Система имеет достаточные возможности для выполнения наиболее массовых символьных (аналитических) вычислений и преобразований [18, 19].
Более 600 000 только зарегистрированных пользователей владеют ранними версиями системы MathCAD во всем мире, а с выходом новых версии системы это число наверняка заметно увеличится. Ну а незарегистрированных пользователей, пожалуй, еще больше. О системе с такой вычислительной мощью, как у MathCAD 6.0/7.0 PRO, еще пару десятков лет назад не могли мечтать даже разработчики уникальной научной и космической аппаратуры. Но эта мощь нисколько не затрудняет удивительно простое и интуитивно предсказуемое общение с системой на общепринятом языке математических формул и графиков.
Исключительно велика роль систем класса MathCAD в образовании. Облегчая решение сложных математических задач, система снимает психологический барьер при изучении математики, делая его интересным и достаточно простым. Грамотное применение систем в учебном процессе обеспечивает повышение фундаментальности математического и технического образования, содействует подлинной интеграции процесса образования в нашей стране и наиболее развитых западных странах, где подобные системы применяются уже давно. Новые версии MathCAD позволяют готовить электронные уроки и книги с использованием новейших средств мультимедиа, включая гипертекстовые и гипермедиа-ссылки, изысканные графики (в том числе анимационные), фрагменты видеофильмов и звуковое сопровождение.

Предисловие
Основы работы с системой MathCAD 7. 0 PRO
Работа с файлами
Редактирование документов

Управление обзором (View)
Работа со вставками
Установки форматов объектов системы MathCAD
Управление вычислительными процессами

Работа с символьным процессором
Работа с окнами
Работа с информационными ресурсами
Входной язык системы MathCAD 7.0
Оптимизация вычислений и программирование

Интегратор приложений MathConnex
Примеры применения системы
MathCAD 7.0 PRO в Internet

Введение в анализ, синтез и моделирование систем

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

История, предмет, цели системного анализа
Описания, базовые структуры и этапы анализа систем
Функционирование и развитие системы
Классификация систем
Система, информация, знания

Меры информации в системе
Система и управление
Информационные системы
Информация и самоорганизация систем

Основы моделирования систем
Математическое и компьютерное моделирование
Эволюционное моделирование и генетические алгоритмы
Основы принятия решений и ситуационного моделирования
Модели знаний

Новые технологии проектирования и анализа систем
Е2Е-проекты по системному анализу и моделированию

Основы объектно-ориентированного программирования

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

Внешние и внутренние факторы
О критериях
Пять критериев
Цели повторного использования

Ингредиенты вычисления
Различные реализации
Классы, а не объекты - предмет обсуждения
Объекты
Что происходит с объектами

Горизонтальное и вертикальное обобщение типа
Базисные механизмы надежности
Базисные концепции обработки исключений
Взаимодействие с не объектным ПО

Многоугольники и прямоугольники
Примеры множественного наследования
Наследование и утверждения
Проблема типизации
Константы базовых типов

Пособие по практике программирования

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

Введение
Стиль
Алгоритмы и структуры данных
Проектирование и реализация

Интерфейсы
Отладка
Тестирование

Производительность
Переносимость
Нотация
Приложения

Информатика и вычислительная техника

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

Информация и ее свойства
Режимы работы ЭВМ и формы обслуживания пользователей

Курс лекций по вычислительной технике

Проблема автоматизации вычислительных работ встала перед человечеством с момента появления счета: пальцы, камешки, счеты.
Естественно усилия творцов были направлены на создание механических машин, причем развитие двигалось как в направлении создания дискретных счетно-решающих устройств, так и аналоговых.
Первую механическую машину для выполнения арифметических действий описал Леонардо да Винчи, но обнаружено это было сравнительно недавно. Была забыта и машина Вильяма Шиккарда (1623г).
Наиболее известна машина Блеза Паскаля (1645г.), в которой была решена задача переноса десятков. Было сделано несколько машин, но неизвестно использовались ли они.
В машине Г. Лейбница уже имелся валик, имеющий переменное число зубцов, разработанный итальянцем Джиованни Пеленом.
Англичанин Чарльз Бэббидж (1792-1871) известен как автор двух машин: разностной (вычисление любой функции, заданной ее первыми пятью разностями - не была реализована из-за отсутствия средств) и аналитической (вычисления по формулам). Работа была закончена его сыном, который применил ее для ряда вычислительных работ.
По своей структуре машина Бэббиджа предвосхищала первые электронные машины середины 20-го века. В ней были выделены такие функциональные устройства, как арифметические, запоминающие (на 1000 50-разрядных 10-чных чисел), устройство управления от программы на перфокартах. Имелась возможность менять ход вычислений в зависимости от полученного результата.

Продолжение

Организация вычислительных систем

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

История развития вычислительной техники
Анализ развития процессоров фирмы Intel IA-32
Структура микропроцессоров IA-32
Реальный режим (Real Mode)

Физическое окружение вычислительной техники

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

Классификация устройств защиты
Понятие компьютерной сети
Процессоры с умножением частоты

Возможности вычислительных машин и человеческий разум

В 1935 г. Майкл Поляни, тогда заведующий кафедрой физической химии в университете Виктория (Victoria University) в Манчестере (Великобритания), был потрясен, столкнувшись с философскими вопросами, под воздействием которых он находился всю дальнейшую жизнь. Причиной шока были слова одного общественного деятеля о том, что концепция "науки ради науки" исчезнет, поскольку интересы ученых самопроизвольно переключатся на задача текущего времени. Поляни тогда почувствовал, что "научное мировоззрение, по-видимому, породило механистическую концепцию человека и истории, в которой нет места для собственно науки". Более того, "эта концепция одновременно отрицает неотъемлемую силу, заключенную в мысли, и, таким образом; исключает любые основания для провозглашения свободы мысли".
Я не знаю, сколько времени Поляни предполагал посвятить обоснованию противоположной концепции человека и истории. Сильнейшее потрясение, испытанное им, свидетельствует о его глубоком несогласии с услышанным и, следовательно, о том, что у него уже было другое представление о человеке, хотя он и не смог бы сформулировать свою концепцию в явном виде. Возможно, Поляни решил противопоставить этой концепции позицию, основанную исключительно на собственном опыте ученого. Как оказалось, борьба с такой концепцией с этого момента полностью поглотила внимание Поляни.

Об орудиях труда
Машинные модели в психологии
Против инструментального мышления

Информатика

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

Файлы и файловая структура
Настройка средств ввода-вывода данных
Приемы и средства автоматизации разработки документов

Средства для работы с растровой графикой
Языки программирования
Информатика и Пользователи

Информатика и технология программирования

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

Формат входных документов
Ввод целого числа
Результат функции рекурсивного поиска
Виртуальные функции - как элемент " отложенного" проектирования
Работа с динамической памятью в Си
Синтаксис указателя на функцию
Тотальное программирование "от класса к классу"

Информатика. Учебное пособие

Инфоpматика — это основанная на использовании компьютерной техники дисциплина, изучающая структуру и общие свойства информации, а также закономерности и методы её создания, хранения, поиска, преобразования, передачи и применения в различных сферах человеческой деятельности.
В 1978 году международный научный конгресс официально закрепил за понятием "информатика" области, связанные с разработкой, созданием, использованием и материально-техническим обслуживанием систем обработки информации, включая компьютеры и их программное обеспечение, а также организационные, коммерческие, административные и социально-политические аспекты компьютеризации — массового внедрения компьютерной техники во все области жизни людей.
Таким образом, информатика базируется на компьютерной технике и немыслима без нее.

Как передаётся информация?
Что такое программное обеспечение?
Как связываются между собой сети в Интернет?
Операционная система Linux

Информатика -продвинутый курс

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

Теоретические основы информатики
Информация: более широкий взгляд
Модели внутривидовой конкуренции
Перспективные исследования в области компьютерного обучения
Схемная реализация элементарных логических операций
Определение понятия система. Сущность системного подхода

Курс Информатика, Теория информации

Настоящий конспект установочных лекций по курсу “Информатики” для студентов специальности 071900 разработан на кафедре ТИССУ МИРЭА с целью дополнить имеющиеся на книжных полках многочисленные учебники по практической информатике наукоемкой постановочной фундаментальной частью, отражающей системообразующие компоненты дисциплины в трактовке высшего учебного заведения.Поэтому настоящее учебное пособие охватывает не весь курс, а только те отдельные разделы и темы лекций, которые недостаточно раскрыты в учебниках в системообразующем отношении. В основу установочного курса лекций кафедры положен огромный научный труд – четырехтомник Манфреда Бройя “Информатика” (изданный в МИФИ в 1998 году), а также труды видных отечественных ученых Международной Академии Информатизации: академиков Евреинова Э.В., Евтихиева Н.Н., Иванникова А.Д., Лохина В.М., Нечаева В.В., Юзвишина И.И., Якубайтиса Э.А. и других.

Структура и закономерности протекания информационных процессов
Временная и ленточная сложность задач
Устройства хранения информации

Основы правовой информатики

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

Связь правовой информатики с другими науками
Информатизация Прокуратуры

Информатика для юристов и экономистов

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

Человек и информация в материальном мире
Настройка операционной системы Windows
Структура сообщений электронной почты
Панели инструментов программы Word
Практикум по теории и методике обучения информатике

Практическая информатика

Термин информация ведет свое происхождение от латинского слова informatio, означающего разъяснение, изложение, осведомленность. Информацию мы передаем друг другу в устной и письменной форме, а также в форме жестов и знаков. Любую нужную информацию мы осмысливаем, передаем другим и делаем определенные умозаключения на ее основе.
Информацию мы извлекаем из учебников и книг, газет и журналов, телепередач и кинофильмов. Записываем ее в тетрадях и конспектах. В производственной деятельности информация передается в виде текстов и чертежей, справок и отчетов, таблиц и других документов. Такого рода информация может предоставляться и с помощью ЭВМ.
В любом виде информация для нас выражает сведения о ком-то или о чем-то. Она отражает происходящее или происшедшее в нашем мире, например, что мы делали вчера или будем делать завтра, как провели летний отпуск или каков будет характер будущей работы. При этом информация обязательно должна получить некоторую форму - форму рассказа, рисунка, статьи и т. д. Чертежи и музыкальные произведения, книги и картины, спектакли и кинофильмы - все это формы представления информации.

Информационные процессы
Особенности графических форматов
Форматы текстовых файлов
Стили и таблицы стилей
Моделирование

Платформа программирования J2ME для портативных устройств

В структуре данной книги отсутствуют специфические подробности по инструментальным средствам разработки на J2ME, предлагаемым другими производителями. В соответствии с подходом данной книги как учебного пособия, я всего лишь знакомлю вас с инструментарием компании «Sun Microsystems» для беспроводной работы J2ME Wireless Toolkit, который является образцовым инструментарием разработки на J2ME. Он предоставляется бесплатно компанией «Sun Microsystems» и доступен на Web-сайте Java Developer Connection. Таким образом, вы можете познакомиться со средой разработки на J2ME и эмулятором и создавать и тестировать практически применимые приложения.
Производители оборудования часто предоставляют свои собственные инструменты разработки, которые сходны с инструментарием J2ME Wireless Toolkit компании «Sun». Кроме того, другие компании-производители программного обеспечения предлагают инструменты разработки на J2ME. В этой книге не описываются эти инструменты, поскольку они не добавляют ничего нового к теории и практике того, как проектировать и разрабатывать приложения на J2ME.

Определение платформы Java для портативных устройств
Иерархия Компонентов пользовательского интерфейса MIDP
Поддержка постоянного хранения устройством
Региональные настройки и локализация
Знакомство с платформой Java 2 Micro Edition (J2ME)
Программная структура приложений MIDP

Низкоуровневый программный интерфейс приложения (API) MIDP
Поддержка постоянного хранения в MIDP
Организация сетей и коммуникации в MIDP

Инициализация приложений

Азбука программирования в Win32 API

Предлагаемая читателю книга явилась плодом долгих раздумий авто­ра. Дело в том, что подавляющее большинство книг, посвященных про­граммированию для Windows, написаны с таким расчетом, чтобы пользо­ватель чуть ли не через пару прочитанных страниц мог начать программировать. Возможно, эта задача успешно выполняется. Но в этом случае возникает другая проблема: у многих программистов после по­лучения первоначальных знаний, достаточных для создания окна и простых диалогов, отпадает желание двигаться дальше. Подавляющее большинство возможностей, предоставляемых системой, остаются вне поля зрения.
По моему мнению, такой подход к изложению основ Win32 API мето­дологически неверен. Я решил пойти по другому пути: сначала расска­зать читателю о том, какие возможности предоставляет Win32 API, и только потом научить его создавать пользовательский интерфейс. Тем самым я постараюсь достичь того, что программист будет понимать возможности системы. Это позволит ему создавать более интересные программы.

Файл ресурсов
Флаги, определяющие внешний вид и состояние окна просмотра деревьев
Меню и акселераторы
ListBox - Example
Работа с закладками
Создание потока
Организация защиты данных средствами WinAPI
Сrackme, прячущий код на API-функциях

Сверхбыстрый импорт API-функций

Импорт API-функций "отъедает" существенный процент от общего времени загрузки исполняемых файлов и возникает естественное желание его сократить. Системный загрузчик крайне неэффективен и выполняет множество лишних проходов. Разбирая стандартную таблицу импорта, для каждой импортируемой функции он выполняет _полный_ _поиск_ соответствующего имени/ординала в таблице экспорта, не обращая внимания на то, что экспорт KERNEL32.DLL да и других системных библиотек упорядочен по алфавиту и, если таким же образом упорядочить импорт пользовательских программ, все API-функции можно слинковать за _один_ проход, используя минимум операций сравнения.
В принципе, не заставляет нас пользоваться стандартным загрузчиком. Формат таблиц экспорта хорошо описан и при желании необходимые API-функции можно импортировать и "вручную". В частности, линкер ulink от Юрия Харона именно так и поступает, загружая необходимые ему API-функции по вышеописанному алгоритму, однако, это еще не предел оптимизации и далеко не предел.

Продолжение

VBA для тех кто любит думать

Программы на VBA - макросы - можно создавать для любой программы пакета Microsoft Office: для Word, Excel, Access, PowerPoint и даже Outlook. В этой книге будет преимущественно рассмотрен процесс создания макросов для Microsoft Word. Среда Microsoft Word выбрана для начального изучения работы с Редактором VBA и принципов программирования на Visual Basic for Applications из-за того, что, во-первых, именно Word является наиболее популярной программой из всего пакета Microsoft Office (по подсчетам исследователей из Microsoft, из каждой сотни запусков программ из комплекта Microsoft Office в 60% случаев запускаемой программой будет именно Word), а, во-вторых, писать программы, работающие в среде данного текстового редактора, несколько проще, чем дополнения для других компонентов Office. Научившись работать с VBA в Word, вам будет довольно просто перейти к программированию для остальных компонентов Office.
Не обязательно читать все главы книги подряд. После небольшого экскурса в историю программирования второй главы в третьей и четвертой главах будут описаны основные компоненты Microsoft Office, предназначенные для написания программ, рассказано о работе с ними, а также описан сам язык VBA, его синтаксис.

VBA и Office XP
Открытый и закрытый коды

Самоучитель VBA

В качестве первоначального знакомства с VBA попытаемся решить следующую задачу. Допустим, вы решили вести учет своих расходов, и с этой целью в конце каждого месяца намерены составлять таблицу (рис. В.1) и строить диаграмму для более наглядного отображения доли каждой статьи расходов вашего бюджета. Составлять ежемесячно одну и ту же таблицу с одновременным построением диаграммы довольно непроизводительная трата времени. Более разумно один раз научить компьютер создавать таблицу, а потом по мере необходимости лишь отдавать команду подготовки таблицы, чтобы осталось только внести в нее данные.

Зачем нужен VBA
Основные средства и возможности VBA
Основные объекты VBA
Методы объекта range, использующие команды EXCEL
Сценарии и определение структуры данных
Диаграммы
Сводные таблицы

Элементы управления и пользовательская форма
Программирование панели инструментов
Программирование средств для работы
Семейства Shapes и ShapeRange
Основы программирования на VBA
Процедуры обработки ошибок и отладка программ
Работа с файлами
Пользовательские объекты

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

Заполнение базы данных
Построение поверхности
Периодические выплаты
Еще раз о составлении базы данных
Игра в крестики и нолики
Линия тренда
Составление расписания
Работа с файлами

Win32 в машинных кодах

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

Введение в машинные коды для Win32
Библиотека объектов OWL

Путеводитель по написанию вирусов под Win32

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

IMAGE_FILE_HEADER
Перезапись секции .reloc
Работа с портами из программ

Создание WIN32-приложений с учетом специфики 64-разрядной Windows

Сейчас Microsoft поставляет операционные системы Windows с тремя ядрами. Каждое ядро оптимизировано под свои виды вычислительных задач. Microsoft пытается переманить разработчиков программного обеспечения на Windows-платформы, утверждая, что интерфейс прикладного программирования (application programming interface, APT) у каждой из них одинаков. Это означает лишь то, что, научившись писать Windows-приложения для одного ядра, Вы поймете, как сделать то же самое для остальных.
Поскольку я объясняю, как писать Windows-приложения на основе Windows API, то теоретически все, о чем Вы узнаете из моей книги, применимо ко всем трем ядрам. На самом деле они сильно отличаются друг от друга, и поэтому одни и те же функции соответствующих операционных систем реализованы по-разному. Скажем так: базовые концепции одинаковы, но детали могут различаться.

Сегодняшние Windows-платформы
Вы тоже можете это сделать
Наборы символов
Что такое объект ядра
Ваше первое Windows-приложение

Определение ограничений, налагаемых на процессы в задании
В каких случаях потоки создаются
Приостановка и возобновление потоков
Атомарный доступ: семейство Inferlockect-функций
Wait-функции
Реализация критической секции: объект-оптекс
Сценарий 1: асинхронный вызов функций
Работа с волокнами

Виртуальное адресное пространство процесса
Системная информация
Резервирование региона в адресном пространстве
Стек потока в Windows 98
Проецирование в память EXE- и DLL-файлов

Стандартная куча процесса
DLL и адресное пространство процесса
Явная загрузка DLL и связывание идентификаторов
Динамическая локальная память потока
Пример внедрения DLL
Примеры использования обработчиков завершения

Примеры использования фильтров и обработчиков исключений
Отладка по запросу
Очередь сообщений потока
Поток необработанного ввода

Win32ASM Hello World и три халявы MASM32

С легкой левой руки Дениса Ричи повелось начинать освоение нового языка программирования с создания простейшей программы "Hello, World". Ничто человеческое нам не чуждо - давайте и мы совершим сей грех.
В позапрошлом выпуске я уже рассказал о том, как работать в ассемблере с апишными функциями, однако вы наверняка не поняли ;). Это нормально, и не нужно из-за этого беспокоиться. Все станет более чем ясным после того как мы с вами напишем одну-две простенькие программки и разберем их по строчкам.

Продолжение

Win32ASM Минимальное приложение

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

Продолжение

Win32asm обучение

Сначала краткое введение в этот туториал. Win32asm не очень популярный язык программирования, и есть только несколько (хороших) туториалов. Большинство туториалов сосредотачивается на программировании win32 (т.е. Win API, использование стандартных windows методов), а не программирование на самом ассемблере, используя коды операций, регистры и т.д. Хотя Вы можете найти это и в других туториалах, они обычно объясняют программирование под DOS. Они, конечно, помогут вам изучить ассемблер, но для программирования под windows, вам не нужно знать о DOS прерываниях и о функциях ввода\вывода в порты. В windows, есть функции Win API, которые вы можете использовать в своих программах, но об этом позже. Цель этого туториала состоит в том, чтобы объяснить, как программировать на ассемблере под win32.

Продолжение

Уроки Iczelion'а

Win32 программы выполняются в защищенном режиме, который доступен начиная с 80286. Hо 80286 теперь история. Поэтому мы предполагаем, что имеем дело только с 80386 и его потомками. Windows запускает каждую Win32 программу в отдельном виртуальном пространстве. Это означает, что каждая Win32 программа будет иметь 4-х гигабайтовое адресное пространство.
Hо это вовсе не означает, что каждая программа имеет 4 гигабайта физической памяти, а только то, что программа может обращаться по любому адресу в этих пределах. Windows сделает все необходимое, чтобы сделать память, к которой программа обращается "существующей". Конечно, программа должна придерживаться правил, установленных Windows, или это вызовет General рrotection Fault. Каждая программа одна в своем адресном пространстве, в то время как в Win16 дело обстоит не так. Все Win16 программы могут *видеть* друг друга, что невозможно в Win32. Этот особенность помогает снизить шанс того, что одна программа запишет что-нибудь поверх данных или кода другой программы.

Уроки 1-26
Основы
Обзор РE формата
Менеджер виртуальных машин
Как создать invoke'абельную библиотеку импорта