Компьютерные программы по математике. Разработка программы для выполнения вычислений над матрицами

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

1. Системы компьютерной алгебры - программы символьных аналитических вычислений;
2. Программы для численных (числовых) вычислений.

Системы компьютерной алгебры

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

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

Программа Maxima имеет широчайший набор средств для проведения аналитических вычислений, численных вычислений и построения графиков. По набору возможностей система близка к таким коммерческим системам как Maple и Mathematica. В то же время она обладает высочайшей степенью переносимости. Это единственная из существующих систем аналитических вычислений, которая может работать на всех основных современных операционных системах. Существуют версии программы для основных операционных систем: Microsoft Windows (98/ME/2000/XP/2003/Vista/2008), GNU/Linux (Fedora, Slackware, Gentoo, Debian), MacOS X, FreeBSD, NetBSD.

Имеет несколько графических интерфейсов пользователя и графических надстроек: XMaxima (включен в поставку во многих ОС), и др. Может работать в режиме командной строки (используя псевдографику).

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

Онлайн-система компьютерной алгебры Wolfram|Alpha

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

Другие системы компьютерной алгебры

  • Axiom - свободная (бесплатная) программа. Состоит из среды интерпретатора, компилятора и библиотеки, описывающей строго типизированную, математически правильную иерархию типов;
  • Maple - проприетарная (коммерческая) программа. Предназначена для символьных вычислений, хотя имеет ряд средств и для численного решения дифференциальных уравнений и нахождения интегралов. Обладает развитыми графическими средствами. Имеет собственный язык программирования, напоминающий Паскаль;
  • Mathematica - проприетарная (коммерческая) программа. Содержит множество функций как для аналитических преобразований, так и для численных расчётов. Кроме того, программа поддерживает работу с графикой и звуком, включая построение двух- и трёхмерных графиков функций, рисование произвольных геометрических фигур, импорт и экспорт изображений и звука.
Программы для численных вычислений служат для проведения численных инженерных и научных расчетов. С их помощью можно выполнять следующие операции:
  • численно осуществлять операции матричной алгебры (сложение/вычитание, умножение, решение систем линейных уравнений, нахождение собственных значений и векторов);
  • работать с разреженными матрицами (сборка, факторизация);
  • разрабатывать алгоритмы и программы для реализации численных методов;
  • осуществлять визуализацию данных: простую двумерную и сложную трехмерную (включая объемную визуализацию.
Популярные пакеты для численных вычислений.

Свободные (бесплатные) пакеты :

  • Scilab - пакет прикладных математических программ, предоставляющий мощное открытое окружение для инженерных (технических) и научных расчётов;
  • GNU OctaveGNU Octave - свободная среда для численных вычислений, использующая совместимый с MATLAB язык высокого уровня. Octave представляет интерактивный командный интерфейс для решения линейных и нелинейных математических задач, а также проведения других численных экспериментов. Кроме того, Octave можно использовать для пакетной обработки. Язык Octave оперирует арифметикой вещественных и комплексных скаляров и матриц, имеет расширения для решения линейных алгебраических задач, нахождения корней систем нелинейных алгебраических уравнений, работы с полиномами, решения различных дифференциальных уравнений, интегрирования систем дифференциальных и дифференциально-алгебраических уравнений первого порядка, интегрирования функций на конечных и бесконечных интервалах. Этот список можно легко расширить, используя язык Octave (или используя динамически загружаемые модули, созданные на языках C, С++, Фортран и др.).
Проприетарные (коммерческие) пакеты :
  • MATLAB - пакет прикладных программ для решения задач технических вычислений. MATLAB используют более 1000000 инженерных и научных работников, он работает на большинстве современных операционных систем, включая GNU/Linux, Mac OS, Solaris и Microsoft Windows.;
  • Mathcad - программа для выполнения и документирования инженерных и научных расчётов;
  • Origin - пакет программ фирмы для численного анализа данных и научной графики, работающий на компьютере под управлением операционной системы Microsoft Windows.

Инструкция

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

Для написания программы вам потребуется среда разработки. Выберите Borland C++ Builder или Borland Delphi. Обе программы созданы компанией Borland, практически полностью идентичны по интерфейсу и отличаются только используемым языком программирования – в первом случае это C++, во втором Delphi.

Какой язык выбрать? У каждого из них есть свои достоинства, однако C++ можно назвать более профессиональным, так как именно на нем пишутся многие приложения под Windows. С другой стороны, Delphi более прост, его код зрительно более понятен. Поэтому просто сравните кода этих языков и выберите тот, что вам больше понравится.

Скачайте и установите выбранную среду программирования, именно в ней вы будете создавать код своей программы. О том, продуктами от компании Borland, почитайте в учебной литературе. Сначала изучите интерфейс программы, повторите несколько учебных примеров – например, создание простого текстового редактора и медиаплеера. И только после этого, овладев азами программирования, переходите к созданию собственной программы.

Создание программы начните с определения алгоритма ее работы. Вы должны подробно и пошагово расписать, что должно делать ваше приложение. То есть – взять оттуда-то такие-то данные и сделать с ними то-то и то-то. Учтите, что от правильности алгоритма будет зависеть правильность работы программы. Алгоритм следует оформить в виде блок-схемы.

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

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

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

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

Видео по теме

Источники:

  • Borland C++ Builder 6 для начинающих

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

Вам понадобится

  • Для этого вам потребуется знание азов программирования.

Инструкция

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

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

Выберите средства программирования. Для создания под Windows самое большое распространение получили языки программирования: MS Visual Basic, Borland Delphi, Borland C++ Builder. Эти языки позволяют составлять программу по принципу конструктора – из готовых частей вы собираете единое целое.

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

Разработайте . Если это ваше первое остановитесь на стандартном Windows-интерфейсе. Воспользуйтесь дизайнером формы и инспектором объектов. Они помогут вам не только понять, каким будет интерфейс вашей программы еще на этапе программирования, но и задавать свойства объектов, что значительно упростит весь процесс.

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

Напишите файл помощи. Для этого можно воспользоваться специальным компилятором. Компилятор поставляется с любой средой визуального программирования (Delphi, Visual Basic, Visual C++) hc.exe.

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

Видео по теме

Обратите внимание

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

Полезный совет

Самая первая версия программы обычно называется “альфа”. Чаще всего она содержит много ошибок – имеет смысл ее протестировать с помощью своих друзей

Источники:

  • Сайт Александра Бишкирова, ИТ и бизнес, компьютеры и ПО, фото, программирование и просто мысли…
  • как создавать программы

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

Вам понадобится

  • Установленный пакет Turbo Pascal.

Инструкция

Чтобы реализовать программу нужно сначала определиться с ее названием и используемым в ней набором переменных. Например, есть задача реализовать сложение двух чисел. В таком случае потребуется создание 3 переменных – A, B и C соответственно.

Затем необходимо произвести операции вычисления.В целом программа будет выглядеть таким образом:«Program Addition;var A, B, C: Integer;beginA:= B + C;end.»

Теперь, когда программа написана, ее нужно сохранить, откомпилировать и запустить. Сохранение производится по выбору соответствующего пункта в меню (клавиша F10 – File - Save). После этого откроется диалоговое окно, где потребуется выбрать имя и место сохранения файла.Чтобы откомпилировать программу без запуска нужно зажать клавишу Alt и F9. Если приложение не содержит ошибок, то Паскаль выведет на сообщение «Compile Successful: Press any key».Для запуска программы используется Ctrl и F9. Если написанная программа запустится без сообщения об , то она корректно.

Обратите внимание

Нельзя использовать в названиях переменных русские буквы, знаки препинания и специальных символов.

Полезный совет

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

Источники:

  • составить программу в паскале

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

Вам понадобится

  • Алгоритм 2.5

Инструкция

Для начала скачайте программу Алгоритм 2.5. С ее помощью вы сможете создать самостоятельно несложную компьютерную программу.

Создайте папку на рабочем столе. Дайте ей название. Например, пароли. Откройте ее и создайте пустой текстовый документ. Расширение файла обязательно должно быть.txt. Дайте ему название. Теперь откройте программу Алгоритм 2.5 и сохранитесь. Для этого откройте «Файл», затем «сохранить как...» и выберите новую папку, созданную на рабочем столе.

Добавьте . Для этого в списке слева щелкните пункт «таблица. Она должна содержать 4 столбца: логин, пароль, сайт. Первый оставьте без названия. Цвет установите белый. Затем необходимо создать меню. В том же списке выберите пункт «меню». В поле «текст» вместо «Меню1 Пункт1» напишите «Файл».

Теперь щелкните правой кнопкой мыши по «файл» и выберите «добавить пункт». Таким образом добавьте два пункта. Не забывайте сбоку в поле «текст» вместо «меню1 пункт1» заменить надпись. Для первого пункта напишите «открыть», для второго - «сохранить».

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

Сохраните проект. Теперь вы можете запустить программу. Для этого нажмите на зеленый треугольник вверху. Впишите в таблицу любые данные и сохраните. Чтобы проверить , закройте ее и запустите снова. Нажмите «открыть». Если таблица заполниться данными, которые вы ввели, все работает. Сохраните программу в.exe.

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

Видео по теме

Инструкция

Изучите основы алгоритмизации. Компьютер не различает ничего большего, чем «1» и «0» или «да» и «нет». Чтобы программа правильно, нужно свести ее к нулям и единицам. Среда программирования может часть этой работы, но не всю. Программа строится в первую очередь на последовательности действий и условий: «В комнате жарко? Да/нет. Если «да», выполнить «открыть окно». Язык алгоритмов един для всех сред программирования и без его понимания вы в принципе не сможете приступить к написанию серьезной программы.

Выберите язык. Чтобы считать себя хорошим программистом, нужно приблизительно понимать особенности всех языков и уметь на каждом из них. С другой стороны, вы вряд ли будете постоянно даже двумя вариантами программирования, поэтому есть смысл выучить единственный, наиболее нужный. Каждая среда применяется достаточно узко: Java используется, в основном, для создания приложений на мобильных устройствах.

Выберите среду программирования. Вряд ли сможете сразу написать полезную и функциональную программу , поэтому имеет смысл выбрать наиболее «неудобную» среду Borland. Работает она еще под Dos и имеет соответствующий графический интерфейс. Плюс такой среды в том, что «на себе» прочувствуете особенности языка, ведь стоит пропустить и программа в Borland перестанет работать. Современные среды вроде Visual Studio будут исправлять мелкие ошибки самостоятельно. Это полезно, но на более поздних этапах.

Начинайте по учебнику. Изучать язык самостоятельно будет ненужным усложнением жизни: литература написана понятно, доступно, а главное – с постоянными примерами и для применения знаний на практике. Программа родится после первого же урока, и это придаст отличный для последующей работы.

Полезный совет

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

Exe-файл в операционной системе Windows - это исполняемый файл программ. Он представляет собой специальным образом обработанный код, написанный программистом, скомпилированный и преобразованный в исполняемый тип. Поэтому взять блокнот и написать файл exe, как это можно сделать с bat- или inf-файлами, нельзя.

Вам понадобится

  • - знание программирования.

Инструкция

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

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

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

Если вас устроят возможности bat-файла, то после написания кода преобразуйте bat в exe с помощью программы Bat To Exe Converter. Данное приложение можно легко найти в интернете. Правила написания исполняемых bat-файлов также свободно доступны на тематических порталах и форумах. С помощью bat-файлов можно описать выполнение практически всех системных задач. Однако, сложные условные конструкции и объектное в таких файлах реализовать нельзя.

Видео по теме

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

Вам понадобится

  • - среда программирования Delphi

Инструкция

Запустите используемую вами среду программирования Delphi. Распланируйте интерфейс вашего приложения. На форме будет 26 кнопок, 10 из которых отвечают за цифры, а остальные - за функции. Дополнительно будет присутствовать компонент TPanel, на котором будет выводиться результат действия.

Добавьте в код 4 переменных, которые будут сохранять числа, введенные пользователем и определять режим. Например:

var
a, b, c: real; //числа, которые вводит пользователь
d: integer; //действие калькулятора

Созданные переменные можете внести как и в protected, так и в private. Теперь к каждой цифровой кнопке обработайте событие OnClick. Для всех цифр код будет идентичен:

procedure TForm1.Button1Click(Sender: TObject);
begin
Panel1.Caption:=Panel1.Caption+"число"
end;

Замените «число» на название кнопки (если это цифра 0, то Panel1.Caption+"0").

Переменная d имеет формат integer и будет содержать соответствующее числовое значение какого-либо действия. Если будет осуществляться умножение, то можно задать действию значение 1, если деление - значение 2, если сложение - значение 3, и т. д. Для действия умножения код будет иметь вид:

procedure TForm1.ButtonMultiplyClick(Sender: TObject); //действие умножения
begin
a:=StrToFloat(Panel1.Caption); //после нажатия кнопки сохраняется значение переменной a
d:=1; //переменной действия задается соответствующее значение
Panel1.Caption:="";
end;

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

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

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

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

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

Разработка программы для выполнения вычислений над матрицами

Введение

матрица программирование язык

На сегодняшний день математическое программирование - важная составляющая всего программирования. Большие и сложные вычисления благодаря простым программам становятся простыми.

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

В качестве среды программирования выбрана MSVisualStudio 2008 и язык программирования C++.

.
Вектор

Матрица состоящая только из одного столбца или строки называется вектором. Размерностью вектора называется число его элементов.

1 Сумма двух векторов


Тогда суммой векторов будет называться следующий вектор:

1.2 Разность двух векторов

Пусть в линейном пространстве вектора представлены так:


Тогда разностью векторов будет называться следующий вектор:

1.3 Произведение вектора на число

Если есть некоторое число x и вектор .

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

1.4 Скалярное произведение двух векторов

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

2.
Классы

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

Для ограничения доступа к элементам класса используются следующие спецификаторы доступа:

· public - ограничений доступа нет;

· protected - доступны только в порожденных классах;

· private - доступны только в своем классе.

1 Конструкторы и деструкторы

Добавим в класс функцию Vector(int sz)

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

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

Деструктор, как и конструктор, не должен возвращать значение и иметь явное описание типа. В отличие от конструкторов, которых может быть несколько у одного и того же класса, деструктор должен быть один и не должен иметь аргументов.(const Vector &A)называется конструктором копий. Он используется при создании объекта с инициализацией его объектом того же типа.

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

Неявный конструктор копии обеспечивает простое поэлементное копирование одного объекта во второй. Такой вид копирования часто называют поверхностным.

2 Перегрузка операций

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

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

Например, чтобы перегрузить оператор сложения, нужно определить функцию с именем operator+.

Операторные функции перегруженных операторов, за исключением new и delete,должны подчиняться следующим правилам:

операторная функция должна быть либо нестатической функцией-членом класса, либо принимать аргумент типа класса или перечислимого типа, или аргумент, который является ссылкой на тип класса или перечислимый тип;

операторная функция не может изменять число аргументов или приоритеты операторов и порядок их выполнения по сравнению с использованием соответствующео оператора для встроенных типов данных;

операторная функция унарного оператора, объявленная как функция-член, не должна иметь параметров; если же она объявлена как глобальная функция, она должна иметь один параметр;

операторная функция не может иметь параметры по умолчанию и др.

3 Дружественные функции

Согласно концепции инкапсуляции данных С++ функция, не являющаяся членом класса, не может получить доступ к его закрытым (private) элементам. В языке С++ реализована возможность обойти данное ограничение с помощью друзей. С++ позволяет объявить 2 вида друзей класса: дружественную функцию или дружественный класс. Дружественные функции не являются членами класса, но тем не менее имеют доступ к его закрытым членам. Более того, одна такая функция может иметь доступ к закрытым членам нескольких классов. Чтобы объявить функцию дружественной некоторому классу, в определение этого класса включают ее прототип, перед которым ставится ключевое слово friend. ostream&operator<<(ostream& os, const Vector& A)

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

Функция может быть дружественна сразу нескольким классам.

4 Неявный указатель this

Каждый метод класса содержит в качестве данного следующий указатель, передаваемый при вызове метода в качестве параметра:

имя_типа *this;

Этот указатель представляет собой адрес конкретного объекта, для которого был вызван метод.

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

Код программы

#include"stdafx.h"

#include

#include"conio.h"

#include"time.h"namespace std;

// КЛАСС VectorVector

{:*V;sz; // число строк:

// конструктор по умолчанию();

// конструктор(int sz);

// конструктор копий(const Vector &A);

// заполнение вектора случайными числамиSetVector();

// перегрузка оператора сложенияoperator+(Vector &);

// перегрузка оператора вычитанияoperator-(Vector &);

// перегрузка оператора умножения на числоoperator*(const int&);

// перегрузка оператора умножение вектора на векторoperator*(Vector &);

// перегрузка оператора вывода в потокostream&operator<<(ostream& os, const Vector& A);

// деструктор

// Конструктор по умолчанию::Vector()

// Конструктор::Vector(int _sz)

{= _sz;= new double ;(int i = 0; i < sz; i++)[i] = 0;

// Конструктор копий::Vector(const Vector &A)

{= A.sz;= new double ;(int i = 0; i < sz; i++)[i] = A.V[i];

// Заполнение вектора случайными числамиVector::SetVector()

{(int i = 0; i < sz; i++)

{[i]=(double)((rand()%200)-100.0);

// Перегрузка оператора присваивания& Vector::operator =(Vector &A)

}= new double ;= A.sz;(int i = 0; i < sz; i++)[i] = A.V[i];*this;

// Сложение векторовVector::operator+(Vector &A)

{temp(sz);(sz!=A.sz)

{<<"Сложение векторов невозможно.\n"

{(int i = 0; i < sz; i++).V[i] = V[i] + A.V[i];temp;

// Вычитание векторовVector::operator-(Vector &A)

{temp(sz);(sz!=A.sz)

{<<"Сложение векторов невозможно.\n"

"Размеры векторов не совпадают!\n"

"Программа завершила работу.\n";(0);

{(int i = 0; i < sz; i++).V[i] = V[i] - A.V[i];temp;

// Умножение вектора на числоVector::operator*(const int&k)

{temp(sz);(int i = 0; i < sz; i++).V[i] = V[i]*k;temp;

// Умножение вектора на векторVector::operator*(Vector &A)

{temp(1);(int i = 0; i < sz; i++).V += V[i] * A.V[i];temp;

// Деструктор::~Vector()

// Операция вывода&operator<<(ostream& os, const Vector& A)

{<< "\n";(int i = 0; i < A.sz; i++)

{<< A.V[i] << "\t";

}_tmain(int argc, _TCHAR* argv)

{(LC_CTYPE, "Russian_Russia.1251");((unsigned)time(NULL));k, l, m, x;numb;<< "Введите размеры векторов: " << endl;<< "\tПервый вектор: ";>> k;<< endl << "\tВторой вектор: ";>> l;<< endl << "\tВведите число: " ;>> x;(k == l)= k;

{<< "Размеры векторов не совпадают. Операции невозможны";

}v(k), s(l), res(m);.SetVector();.SetVector();<< endl << v << endl;<< s << endl;<< "\nВыберете операцию:";<< "\nСложение двух векторов №1";<< "\nРазность двух векторов №2";<< "\nУмножение двух векторов №3";<< "\nУмножение вектора на число №4";<< "\nВыход - введите 0\n";>> numb;<< endl;(numb == 0)0;

Харви Дейтел, Пол Дейтел. Как программировать на С. - Бином-Пресс, 2008. - 1024 с.

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

Для пропуска примера достаточно кликнуть по примеру мышкой. Для работы программы требуется установленная на компьютере JRE версии не ниже 1.4.0.

Обновлено: Добавлена версия 2.0. В этой версии, на данный момент, увеличен шрифт в области вывода примеров, заменен знак деления (слеш на двоеточие), произведена оптимизация кода и другие небольшие изменения.

Обновлено: Добавлена версия 3.0. В этой версии исправлена ошибка с вычислением целой части.

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

Тестировал примерами из пособия Е. Данко, А. Г. Попов, Т. Я. Кожевникова "Высшая математика в упражнениях и задачах".

В новой версии приложения добавлена возможность демонстрировать простые числа.

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

Приложение имеет две вкладки. Вкладка <Делители, простые делители, вид и разложение> - для информации о делителях указанного пользователем числа (эта часть существенно переделана в новой версии).

Вкладка <Простые числа> - для демонстрации простых чисел. Если надо получить первые n натуральных чисел, то следует указать значение для m 0 или 1.

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

Программа работает только в операционной системе Windows. Компьютерная программка -тренажёр «действия с обыкновенными дробями» может быть использована для отработки навыков счёта в форме индивидуальной самостоятельной работы во время урока и внеурочное время.

Целевая аудитория: для 6 класса

Программа создана для учащихся 5 и 6 класса. Программа генерирует случайные числа и предлагает выполнить действия сложения, умножения и деления с десятичными дробями, на экране показывает правильный ответ и ответ обучаемого. Разделителем между целой и дробной частью служит точка вместо запятой. Программа работает только в операционной системе Windows. Если кнопки не умещаются на экране, следует установить разрешение экрана 1024 на 768 или выше. Компьютерная программка «5 и 6 кл. действия с десятичными дробями может быть использована для отработки навыков счёта с десятичными дробями в форме индивидуальной самостоятельной работы во время урока и внеурочное время, а также для изготовления карточек.

Целевая аудитория: для 5 класса

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

Целевая аудитория: для 6 класса

Trigonom - приложение, которое составлено из ранее составленных и выставленных на портал приложений по отдельным вопросам тригонометрии.

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

Целевая аудитория: для учителя

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