Разработване на програма за извършване на изчисления върху матрици. Програми за изчисления и изчисления




Символичната или, както се казва, компютърната, математиката или компютърната алгебра е голяма част от математическото моделиране. По принцип програми от този вид могат да бъдат приписани на инженерни програми за компютърно подпомагано проектиране. По този начин в областта на инженерния дизайн има три основни раздела:

  • CAD - Компютърно проектиране;
  • CAM - Компютърно подпомагано производство;
  • CAE - Компютърно подпомагано инженерство.

Днес сериозният дизайн, градоустройството и архитектурата, електротехниката и множеството свързани индустрии, както и техническите образователни институции вече не могат без компютърно проектиране (CAD), производство и изчисления. А математическите пакети са неразделна част от света на CAE системите, но тази част по никакъв начин не може да се счита за второстепенна, тъй като някои проблеми изобщо не могат да бъдат решени без помощта на компютър. Освен това днес дори теоретиците (т.нар. чисти, а не приложни математици) прибягват до системите на символната математика, например, за да проверят своите хипотези.

Само преди около 10 години тези системи се смятаха за чисто професионални, но средата на 90-те се превърна в повратна точка за глобалния пазар на CAD/CAM/CAE системи за масова употреба. Тогава за първи път от много време на потребителите на персонални компютри станаха достъпни пакети за параметрично моделиране с индустриални възможности. Създателите на такива системи взеха предвид изискванията на широк кръг потребители и по този начин позволиха на десетки хиляди инженери и математици да използват най-новите постижения на науката в областта на CAD/CAM/CAE-системните технологии на личните си работни места.

И така, какво могат да направят програмите за математическо моделиране? Наистина ли изискват учените да могат да програмират на определени алгоритмични езици, да отстраняват грешки в програмите, да улавят грешки и да прекарват много време за получаване на резултати? Не, тези времена отдавна са отминали и сега в математически пакети се прилага принципът на моделиране, а не традиционното „изкуство на програмирането“. Тоест потребителят само поставя задачата, а самата система намира методите и алгоритмите за решаването й. Освен това рутинни операции като отваряне на скоби, преобразуване на изрази, намиране на корените на уравнения, производни и неопределени интеграли се извършват от компютъра в символна форма и практически без намеса на потребителя.

Съвременните математически пакети могат да се използват както като обикновен калкулатор, така и като средство за опростяване на изразите при решаване на всякакви проблеми и като графичен или дори звуков генератор! Средствата за взаимодействие с Интернет също станаха стандартни, а генерирането на HTML страници вече се извършва точно в процеса на изчисление. Сега можете да разрешите проблем и в същото време да публикувате напредъка по неговото решаване пред вашите колеги на началната си страница.

За програмите за математическо моделиране и възможните области на тяхното приложение можем да говорим много дълго, но ще се ограничим до кратък преглед на водещите програми, като посочим техните общи черти и разлики. Понастоящем почти всички съвременни CAE програми имат вградени функции за символни изчисления. Въпреки това, Maple, MathCad, Mathematica и MatLab се считат за най-известните и адаптирани за математически символни изчисления. Но докато разглеждаме основните програми на символната математика, ще посочим и възможни алтернативи, които са идеологически подобни на един или друг водещ пакет.

И така, какво правят тези програми и как помагат на математиците? В основата на курса на математическия анализ във висшето образование са понятия като граници, производни, антипроизводни на функции, интеграли от различни видове, редове и диференциални уравнения. Всеки, който е запознат с основите на висшата математика, вероятно знае десетки правила за намиране на граници, вземане на интеграли, намиране на производни и т.н. Ако добавите към това факта, че за да намерите повечето интеграли, трябва да запомните и таблицата на основните интеграли, тогава получавате наистина огромно количество информация. И ако известно време не тренирате в решаването на такива проблеми, тогава много бързо се забравят и за да намерите например интеграла е по-трудно, ще трябва да погледнете в справочниците. Но вземането на интеграли и намирането на граници в реалната работа не е основната цел на изчисленията. Истинската цел е да се решат някои проблеми, а изчисленията са само междинна стъпка по пътя към това решение.

С помощта на описания софтуер можете да спестите много време и да избегнете много грешки при изчисленията. Естествено, CAE системите не се ограничават само до тези възможности, но в този преглед ще се спрем на тях.

Отбелязваме само, че спектърът от задачи, решавани от такива системи, е много широк:

  • провеждане на математически изследвания, изискващи изчисления и аналитични изчисления;
  • разработване и анализ на алгоритми;
  • математическо моделиране и компютърен експеримент;
  • анализ и обработка на данни;
  • визуализация, научна и инженерна графика;
  • разработване на графични и изчислителни приложения.

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

Mathematica (http://www.wolfram.com/)

  • 400-550 MB дисково пространство;
  • операционни системи: Windows 98/Me/NT 4.0/2000/2003 Server/2003x64/XP/XP x64.

Wolfram Research, Inc., разработчикът на компютърната математическа система Mathematica, с право се счита за най-стария и най-солиден играч в тази област. Пакетът Mathematica (актуална версия 5.2) се използва широко при изчисления в съвременните научни изследвания и е станал широко известен в научната и образователната среда. Можете дори да кажете, че Mathematica има значителна функционална излишество (по-специално, има дори възможност за звуков синтез).

Малко вероятно е обаче тази мощна математическа система, която претендира да е световен лидер, да е необходима на секретар или дори на директор на малка търговска компания, да не говорим за обикновените потребители. Но несъмнено всяка сериозна научна лаборатория или университетска катедра трябва да има подобна програма, ако се интересува сериозно от автоматизиране на изпълнението на математически изчисления от всякаква степен на сложност. Въпреки фокуса си върху сериозни математически изчисления, системите за класове Mathematica са лесни за научаване и могат да се използват от доста широка категория потребители - студенти и преподаватели, инженери, дипломанти, учени и дори студенти от математически класове в общообразователни и специални училища. Всички те ще намерят множество полезни приложения в такава система.

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

Имайте предвид, че в разработването на различни версии на системата Mathematica, заедно с компанията майка Wolfram Research, Inc., участваха други компании и стотици висококвалифицирани специалисти, включително математици и програмисти. Сред тях има представители на руската математическа школа, която е уважавана и търсена в чужбина. Системата Mathematica е една от най-големите софтуерни системи и реализира най-ефективните алгоритми за изчисление. Сред тях например е механизмът на контекстите, който изключва появата на странични ефекти в програмите.

Mathematica сега се счита за водещата в света компютърна система за символна математика за компютър, осигуряваща не само възможността за извършване на сложни числени изчисления с извеждането на техните резултати в най-сложната графична форма, но също така и изпълнението на особено отнемащи време аналитични трансформации и изчисления. Версиите на системата под Windows имат модерен потребителски интерфейс и ви позволяват да подготвяте документи под формата на тетрадки (бележници). Те комбинират изходни данни, описания на алгоритми за решаване на задачи, програми и резултати от решения в голямо разнообразие от форми (математически формули, числа, вектори, матрици, таблици и графики).

Mathematica е замислена като система, която максимално автоматизира работата на учени и аналитични математици, така че заслужава да бъде изследвана дори като типичен представител на елитни и високоинтелигентни софтуерни продукти от най-висока степен на сложност. Въпреки това, той представлява много по-голям интерес като мощен и гъвкав математически инструментариум, който може да предостави неоценима помощ на повечето учени, университетски и университетски преподаватели, студенти, инженери и дори ученици.

От самото начало много внимание беше отделено на графиката, включително динамична, и дори на мултимедийните възможности - динамично възпроизвеждане на анимация и синтез на звук. Наборът от графични функции и опции, които променят действието си, е много широк. Графиката винаги е била силна страна на различните версии на Mathematica и им е дала водеща позиция сред компютърните математически системи.

В резултат на това Mathematica бързо зае водеща позиция на пазара на символни математически системи. Особено атрактивни са обширните графични възможности на системата и внедряването на интерфейса от типа Notebook. В същото време системата осигурява динамична връзка между клетките на документите в стила на електронни таблици, дори при решаване на символни задачи, което фундаментално и благоприятно я отличава от други подобни системи.

Между другото, централното място в системите от клас Mathematica е заето от машинно-независимо ядро ​​от математически операции, което ви позволява да прехвърляте системата към различни компютърни платформи. За прехвърляне на системата към друга компютърна платформа се използва интерфейсният процесор на Front End. Той е този, който определя какъв потребителски интерфейс има системата, тоест интерфейсните процесори на системите Mathematica за други платформи могат да имат свои собствени нюанси. Ядрото е направено достатъчно компактно, за да може много бързо да извика всяка функция от него. За разширяване на набора от функции се използват библиотека (Library) и набор от пакети за разширения (Add-on Packages). Пакетите с разширения са изготвени на собствения език за системно програмиране на Mathematica и са основното средство за развитие на възможностите на системата и адаптирането им към решаване на специфични класове потребителски проблеми. Освен това в системите има вградена електронна помощна система – Help, която съдържа електронни книги с реални примери.

Така Mathematica е, от една страна, типична система за програмиране, базирана на един от най-мощните проблемно-ориентирани функционални езици за програмиране на високо ниво, предназначена да решава различни проблеми (включително математически), а от друга страна, интерактивна система за решаване на повечето математически задачи.задачи интерактивно без традиционно програмиране. По този начин Mathematica като система за програмиране има всички възможности за разработване и създаване на почти всякакви структури за управление, организиране на I/O, работа със системни функции и обслужване на всякакви периферни устройства, а с помощта на пакети с разширения (Ad-ons) става възможно да се адаптира към нуждите на всеки потребител (въпреки че обикновен потребител може да не се нуждае от тези инструменти за програмиране - той ще се справи напълно с вградените математически функции на системата, които удивляват дори опитни математици със своето изобилие и разнообразие).

Недостатъците на системата Mathematica включват може би много необичаен език за програмиране, който обаче се улеснява от подробна помощна система.

По-простите, но идеологически свързани алтернативи на Mathematica включват пакети като Maxima (/) и Kalamaris (developer.kde.org/~larrosa/kalamaris.html).

Имайте предвид, че системата Maxima е некомерсиален проект с отворен код. Maxima използва език, подобен на Mathematica за математическа работа, а графичният интерфейс е изграден на същите принципи. Първоначално програмата се наричаше Xmaxima и беше създадена за UNIX системи.

В допълнение, Maxima вече има още по-мощен, ефективен и удобен за използване кросплатформен GUI, наречен Wxmaxima (http://wxmaxima.sourceforge.net). И въпреки че този проект досега съществува само в бета версия, той постепенно се превръща в много сериозна алтернатива на търговските системи.

Що се отнася до програмата Kalamaris, това също е нов проект, който има подход и идеология, подобни на системата Mathematica. Проектът все още не е завършен, но също така е добра безплатна алтернатива на такова комерсиално чудовище като Mathematica.

клен (http://www.maplesoft.com/)

Минимални системни изисквания:

Процесор Pentium III 650 MHz;

400 MB дисково пространство;

Операционни системи: Windows NT 4 (SP5)/98/ME/2000/2003 Server/XP Pro/XP Home.

Програмата Maple (последна версия 10.02) е един вид патриарх в семейството на символните математически системи и все още е един от лидерите сред универсалните символни изчислителни системи. Той предоставя на потребителя удобна интелектуална среда за математически изследвания от всякакво ниво и е особено популярен в научната общност. Имайте предвид, че символният анализатор на програмата Maple е най-мощната част от този софтуер, така че е заимстван и включен в редица други CAE пакети, като MathCad и MatLab, както и в пакетите Scientific WorkPlace и Math Office за Word за изготвяне на научни публикации.

Пакетът Maple е съвместна разработка на Университета Ватерло (Онтарио, Канада) и Висшето техническо училище (ETHZ, Цюрих, Швейцария). За продажбата му беше създадена специална компания - Waterloo Maple, Inc., която, за съжаление, стана по-известна с математическата разработка на своя проект, отколкото с нивото на неговото търговско изпълнение. В резултат на това системата Maple преди беше достъпна главно за тесен кръг от професионалисти. Сега тази компания работи съвместно с по-успешната в търговията и в развитието на потребителския интерфейс на математическите системи MathSoft, Inc. - създател на много популярни и масови системи за числени изчисления MathCad, които се превърнаха в международен стандарт за технически изчисления.

Maple предоставя удобна среда за компютърни експерименти, по време на които се опитват различни подходи към проблема, анализират се конкретни решения и, ако е необходимо, се избират програмни фрагменти, които изискват специална скорост. Пакетът ви позволява да създавате интегрирани среди с участието на други системи и универсални езици за програмиране на високо ниво. Когато изчисленията са направени и е необходимо да се формализират резултатите, тогава можете да използвате инструментите на този пакет, за да визуализирате данните и да подготвите илюстрации за публикуване. За да завършите работата, остава да подготвите печатен материал (доклад, статия, книга) директно в средата на Maple и след това можете да продължите към следващото проучване. Работата е интерактивна - потребителят въвежда команди и веднага вижда резултата от тяхното изпълнение на екрана. В същото време пакетът Maple изобщо не прилича на традиционна среда за програмиране, където се изисква стриктно формализиране на всички променливи и действия с тях. Тук автоматично се осигурява изборът на подходящи типове променливи и се проверява коректността на операциите, така че в общия случай няма нужда от описание на променливите и стриктно формализиране на нотацията.

Пакетът Maple се състои от ядро ​​(процедури, написани на C и добре оптимизирани), библиотека, написана на езика Maple, и богат преден край. Ядрото изпълнява повечето от основните операции, а библиотеката съдържа много команди - процедури, които се изпълняват в режим на интерпретация.

Интерфейсът на Maple се основава на концепцията за работен лист или документ, съдържащ I/O редове и текст, както и графики.

Пакетът се обработва в режим на интерпретатор. Във входния ред потребителят посочва команда, натиска клавиша Enter и получава резултата - изходен ред (или редове) или съобщение за грешно въведена команда. Веднага се издава покана за въвеждане на нова команда и т.н.

Maple интерфейс

Работните прозорци (листове) на системата Maple могат да се използват или като интерактивни среди за решаване на проблеми, или като система за изготвяне на техническа документация. Групите за изпълнение и електронните таблици улесняват взаимодействието на потребителя с двигателя Maple, като служат като основно средство, чрез което заявките за изпълнение на конкретни задачи и показване на резултати се предават към системата Maple. И двата типа основни средства позволяват въвеждането на команди на Maple.

Системата Maple ви позволява да въвеждате електронни таблици, съдържащи както числа, така и символи. Те съчетават математическите възможности на системата Maple с вече познатия формат на редове и колони на традиционните електронни таблици. Електронните таблици Maple могат да се използват за създаване на таблици с формули.

За да се улесни документирането и организацията на резултатите от изчисленията, има опции за разделяне на параграфи и раздели, както и добавяне на хипервръзки. Хипервръзката е помощно средство за навигация. С едно щракване можете да преминете към друга точка в работния лист, към друг работен лист, към помощна страница, към работен лист на уеб сървър или към всяка друга уеб страница.

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

Изчисления в Maple

Системата Maple може да се използва на най-елементарното ниво на своите възможности - като много мощен калкулатор за изчисляване на дадени формули, но основното й предимство е възможността да извършва аритметични операции в символна форма, тоест по начина, по който го прави човек. Когато работите с дроби и корени, програмата не ги свежда до десетична форма по време на изчисления, а прави необходимите редукции и преобразувания в колона, което ви позволява да избегнете грешки при закръгляване. За да работи с десетични еквиваленти, системата Maple има специална команда, която приближава стойността на израз във формат с плаваща запетая. Системата Maple изчислява крайни и безкрайни суми и произведения, извършва изчислителни операции с комплексни числа, лесно преобразува комплексно число в число в полярни координати, изчислява числените стойности на елементарните функции, а също така познава много специални функции и математически константи ( като "e" и "pi"). Maple поддържа стотици специални функции и числа, намиращи се в много области на математиката, науката и технологиите. Ето само няколко от тях:

  • функция за грешка;
  • константа на Ойлер;
  • експоненциален интеграл;
  • елиптична интегрална функция;
  • гама функция;
  • зета функция;
  • Функция Heaviside step;
  • Дирак делта функция;
  • Бесел и модифицирани функции на Бесел.

Системата Maple предлага различни начини за представяне, намаляване и трансформиране на изрази, като опростяване и разлагане на алгебрични изрази и превръщането им в различни форми. По този начин Maple може да се използва за решаване на уравнения и системи.

Maple също има много мощни инструменти за оценка на изрази с една или повече променливи. Програмата може да се използва за решаване на задачи в диференциално и интегрално смятане, изчисляване на граници, разширения на редове, сумиране на редове, умножение, интегрални трансформации (като трансформация на Лаплас, Z-трансформация, трансформация на Мелин или Фурие), както и за изучаване непрекъснати или частично непрекъснати функции.

Maple може да изчислява границите на функциите, както крайни, така и стремящи се към безкрайност, и също така разпознава несигурността в границите. Той може да решава много обикновени диференциални уравнения (ODE), както и частни диференциални уравнения (PDE), включително проблеми с началните условия (IVP) и проблеми с гранични условия (BVP).

Един от най-често използваните софтуерни пакети в системата Maple е пакетът за линейна алгебра, който съдържа мощен набор от команди за работа с вектори и матрици. Maple може да намери собствени стойности и собствени вектори на оператори, да изчисли криволинейни координати, да намери матрични норми и да изчисли много различни видове матрични разложения.

За технически приложения Maple включва справочници за физически константи и единици за физически величини с автоматично преобразуване на формули. Maple е особено ефективен при преподаване на математика. Най-високата интелигентност на тази система от символна математика е съчетана с отлични средства за математическо числово моделиране и с просто невероятни възможности за графична визуализация на решенията. Системи като Maple могат да се използват както в обучението, така и за самообучение при изучаването на математика от самото начало до върха.

Графика в Maple

Системата Maple поддържа както 2D, така и 3D графики. По този начин можете графично да представяте явни, неявни и параметрични функции, както и многовариантни функции и прости набори от данни и да търсите модели визуално.

Графичните инструменти на Maple ви позволяват да създавате двуизмерни графики на няколко функции наведнъж, да създавате графики на конформни трансформации на функции с комплексни числа и да начертавате функции в логаритмична, двойна логаритмична, параметрична, фазова, полярна и контурна форма. Можете да представите графично неравенства, неявни функции, решения на диференциални уравнения и коренно място.

Maple може да генерира повърхности и криви в 3D, включително повърхности, дефинирани от явни и параметрични функции, както и решения на диференциални уравнения. В същото време тя може да бъде представена не само в статична форма, но и под формата на дву- или триизмерна анимация. Тази функция на системата може да се използва за показване на процеси в реално време.

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

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

Обширен набор от мощни Maple PowerTools и пакети за области като анализ на крайни елементи (FEM), нелинейна оптимизация и други напълно ще задоволят потребителите с университетско математическо образование. Maple също така включва пакети от подпрограми за решаване на задачи от линейна и тензорна алгебра, евклидова и аналитична геометрия, теория на числата, теория на вероятностите и математическа статистика, комбинаторика, теория на групите, интегрални трансформации, числена апроксимация и линейна оптимизация (симплексен метод), както и проблеми финансова математика и много, много други.

За финансови изчисления е предназначен софтуерният пакет Финанси. Може да се използва за изчисляване на текущия и натрупания анюитет, общия анюитет, общия анюитет, общия анюитет и лихвения доход по облигациите. Можете да създадете амортизационна таблица, да определите действителния процент за сложна лихва и да изчислите текущата и бъдещата фиксирана сума за конкретна ставка и сложна лихва.

Програмиране

Системата Maple използва процедурен език от 4-то поколение (4GL). Този език е специално създаден за бързо развитие на математически рутинни програми и персонализирани приложения. Синтаксисът на този език е подобен на синтаксиса на универсалните езици от високо ниво: C, Fortran, Basic и Pascal.

Maple може да генерира код, който е съвместим с езици за програмиране като Fortran или C, както и с езика за писане LaTeX, който е много популярен в научния свят и се използва за публикуване. Едно от предимствата на това свойство е възможността за предоставяне на достъп до специализирани числови програми, които увеличават максимално скоростта на решаване на сложни проблеми. Например, като използвате системата Maple, можете да разработите определен математически модел и след това да го използвате за генериране на C код, съответстващ на този модел. Езикът 4GL, специално оптимизиран за разработване на математически приложения, ви позволява да съкратите процеса на разработка, а елементите на Maplets или Maple документи с интегрирани графични компоненти ви помагат да персонализирате потребителския интерфейс.

В същото време в средата на Maple можете също да подготвите документация за приложението, тъй като инструментите на пакета ви позволяват да създавате професионално изглеждащи технически документи, съдържащи текст, интерактивни математически изчисления, графики, чертежи и дори звук. Можете също да създавате интерактивни документи и презентации чрез добавяне на бутони, плъзгачи и други компоненти и накрая да публикувате документи в мрежата и да разгръщате интерактивни изчисления в мрежата с помощта на сървъра MapleNet.

Интернет съвместимост

Maple е първият универсален математически пакет, който предлага пълна поддръжка за стандарта MathML 2.0, който управлява както външния вид, така и усещането на математиката в мрежата. Тази изключителна функция прави текущата версия на MathML инструмент за интернет математика и също така задава ново ниво на съвместимост с множество потребители. Протоколът TCP/IP осигурява динамичен достъп до информация от други интернет ресурси, като данни от финансов анализ в реално време или данни за времето.

Перспективи за развитие

Последните версии на Maple, в допълнение към допълнителни алгоритми и методи за решаване на математически проблеми, получиха по-удобен графичен интерфейс, усъвършенствани инструменти за визуализация и графики, както и допълнителни инструменти за програмиране (включително съвместимост с универсалните езици за програмиране). Започвайки с деветата версия, импортирането на документи от програмата Mathematica беше добавено към пакета, а дефинициите на математически и инженерни концепции бяха въведени в системата за помощ и навигацията през помощните страници беше разширена. В допълнение, качеството на печат на формули е подобрено, особено при форматиране на големи и сложни изрази, а размерът на MW файловете за съхранение на работни документи на Maple също е значително намален.

Така Maple е може би най-добре балансираната система и безспорен лидер във възможностите на символичните изчисления за математиката. В същото време оригиналната символна машина е комбинирана тук с лесен за запомняне структуриран език за програмиране, така че Maple може да се използва както за малки задачи, така и за големи проекти.

Недостатъците на системата Maple включват само нейната определена „внимателност“, която не винаги е оправдана, както и много високата цена на тази програма (в зависимост от версията и набора от библиотеки, цената й достига няколко десетки хиляди долара, въпреки че на студенти и изследователи се предлагат евтини версии - за няколкостотин долара).

Пакетът Maple е широко разпространен в университети на водещи научни страни, в изследователски центрове и компании. Програмата непрекъснато се развива, усвоява нови клонове на математиката, придобива нови функции и осигурява по-добра среда за изследователска работа. Една от основните насоки в развитието на тази система е повишаване на мощността и надеждността на аналитичните (символични) изчисления. Тази посока е представена в Maple най-широко. Вече днес Maple може да извършва най-сложните аналитични изчисления, които често са извън силите дори на опитни математици. Разбира се, Maple не е способен на брилянтни предположения, но системата извършва рутинни и масови изчисления с блясък. Друго важно направление е повишаване на ефективността на числените изчисления. В резултат на това перспективата за използване на Maple при числено моделиране и извършване на сложни изчисления, включително такива с произволна прецизност, значително се увеличи. И накрая, тясната интеграция на Maple с други софтуерни инструменти е друга важна посока в развитието на тази система. Символното изчислително ядро ​​на Maple вече е включено в редица компютърни математически системи – от системи за широк кръг потребители като MathCad до една от най-добрите системи за числени изчисления и моделиране MatLab.

Всички тези функции, съчетани с красиво проектиран и лесен за използване потребителски интерфейс и мощна помощна система, правят Maple първокласна софтуерна среда за решаване на голямо разнообразие от математически проблеми, способна да предостави на потребителите ефективна помощ при решаването на образователни и реални научни и технически проблеми.

Алтернативни пакети

Като по-прости, но идеологически близки алтернативи на програмата Maple могат да се отбележат такива пакети като Derive (http://www.chartwellyorke.com/derive.html), Scientific WorkPlace (http://www.mackichan.com/) и YaCaS (www.xs4all.nl/~apinkus/yacas.html).

Както казахме, Scientific WorkPlace (SWP, текуща версия 5.5) първоначално е разработен като научен текстов редактор, което улеснява въвеждането и редактирането на математически формули. Въпреки това, с течение на времето, MacKichan Software, Inc. (разработчикът на Scientific WorkPlace) е лицензирал двигателя за символи Maple от Waterloo Maple, Inc. и програмата сега комбинира лесен за използване текстов процесор, който генерира математически текстове и система за компютърна алгебра в една среда. Благодарение на вградената система за компютърна алгебра можете да извършвате изчисления направо в документа. Разбира се, тази програма няма същите функции като Maple, но е малка и лесна за използване.

Що се отнася до YaCaS (съкращение от израза Yet Another Computer Algebra System – друга система за компютърна алгебра), това е безплатна кросплатформена алтернатива на Maple, изградена на същите принципи. Мощният и високоефективен YaCaS двигател е напълно внедрен в C++ под лиценз с отворен код (OpenSource). Интерфейсът, разбира се, е по-лош и опростен от този на почтените конкуренти, но доста удобен.

Но малката комерсиална математическа система Derive (текуща версия 6.1) съществува от доста дълго време, но, разбира се, не може да се счита за пълноценна алтернатива на Maple, въпреки че все още е привлекателна поради невзискателните си хардуерни ресурси на компютъра . Освен това при решаване на задачи със средна сложност той демонстрира дори по-висока производителност и по-голяма надеждност на решението от първите версии на системите Maple и Mathematica. За системата Derive обаче е трудно да се конкурира сериозно с тези системи - както по отношение на изобилието от функции и правила за аналитични трансформации, така и по отношение на възможностите на компютърната графика и в удобството на потребителския интерфейс. Засега Derive е по-скоро система за обучение по компютърна алгебра от начално ниво.

И въпреки че най-новата версия на Derive 6 за Windows вече има модерен удобен за потребителя интерфейс, той в много отношения е по-нисък от усъвършенствания интерфейс на почтените конкуренти. А по отношение на възможността за графична визуализация на резултатите от изчисленията, Derive като цяло изостава далеч от своите конкуренти.

matlab (http://www.mathworks.com/)

Минимални системни изисквания:

  • процесор Pentium III, 4, Xeon, Pentium M; AMD Athlon, Athlon XP, Athlon MP;
  • 256 MB RAM (512 MB препоръчително);
  • 400 MB дисково пространство (само за самата система MatLab и нейната помощ);
  • операционна система Microsoft Windows 2000 (SP3)/XP.

Системата MatLab принадлежи към средното ниво на продукти, предназначени за символна математика, но е предназначена за широко приложение в областта на CAE (тоест, тя е силна в други области). MatLab е една от най-старите, внимателно проектирани и изпитани във времето системи за автоматизиране на математически изчисления, изградена върху разширено представяне и прилагане на матрични операции. Това е отразено в самото име на системата - MATrix LABoratory, тоест матричната лаборатория. Синтаксисът на езика за програмиране на системата обаче е обмислен толкова внимателно, че тази ориентация почти не се усеща от онези потребители, които не се интересуват пряко от матричните изчисления.

Въпреки факта, че MatLab първоначално е бил предназначен изключително за изчисления, в процеса на еволюция (а сега вече е пусната версия 7), в допълнение към отличните изчислителни инструменти, от Waterloo Maple е закупено символно ядро ​​за трансформация под лиценз за MatLab, и се появиха библиотеки, които предоставят функции, уникални за математическите пакети в MatLab. Например, добре познатата библиотека Simulink, реализираща принципа на визуалното програмиране, ви позволява да изградите логическа диаграма на сложна система за управление само от градивни блокове, без да пишете нито един ред код. След като изградите такава верига, можете да анализирате подробно нейната работа.

Има и широки възможности за програмиране в системата MatLab. Неговата C Math библиотека (компилатор на MatLab) е обектно-базирана и съдържа над 300 процедури за обработка на данни в C. Вътре в пакета можете да използвате както подпрограми на MatLab, така и стандартни C рутинни, което прави този инструмент мощна помощ при разработването на приложения (използвайки C компилатор). Математика, можете да вградите всякакви MatLab процедури в готови приложения).

Библиотеката C Math ви позволява да използвате следните категории функции:

  • операции с матрици;
  • сравнение на матрици;
  • решение на линейни уравнения;
  • декомпозиция на оператори и търсене на собствени стойности;
  • намиране на обратната матрица;
  • търсене на детерминанта;
  • изчисляване на матричната експонента;
  • елементарна математика;
  • функции бета, гама, erf и елиптични функции;
  • основи на статистиката и анализ на данни;
  • търсене на корените на полиноми;
  • филтриране, навиване;
  • бързо преобразуване на Фурие (FFT);
  • интерполация;
  • низови операции;
  • файлови I/O операции и др.

В същото време всички библиотеки на MatLab се характеризират с висока скорост на числени изчисления. Въпреки това, матриците се използват широко не само в такива математически изчисления като решаване на задачи от линейна алгебра и математическо моделиране, изчисляване на статични и динамични системи и обекти. Те са в основата на автоматичното съставяне и решаване на уравненията на състоянието на динамични обекти и системи. Именно универсалността на апарата за матрично смятане повишава значително интереса към системата MatLab, която включва най-добрите постижения в областта на бързото решаване на матрични задачи. Следователно MatLab отдавна е излязъл извън рамките на специализираната матрична система, превръщайки се в една от най-мощните универсални интегрирани системи на компютърната математика.

За да визуализира симулацията, системата MatLab разполага с библиотеката с инструменти за обработка на изображения, която предоставя широк набор от функции, които поддържат визуализацията на текущи изчисления директно от средата на MatLab, увеличение и анализ, както и възможността за изграждане на алгоритми за обработка на изображения. Усъвършенстваните техники за графична библиотека, във връзка с езика за програмиране MatLab, осигуряват отворена, разширяема система, която може да се използва за създаване на персонализирани приложения, подходящи за обработка на графики.

Основните инструменти на библиотеката Tollbox за обработка на изображения:

  • изграждане на филтри, филтриране и възстановяване на изображения;
  • уголемяване на изображението;
  • анализ и статистическа обработка на изображения;
  • избор на области на интерес, геометрични и морфологични операции;
  • цветна манипулация;
  • двуизмерни трансформации;
  • процесор;
  • инструмент за визуализация;
  • писане/четене на графични файлове.

По този начин системата MatLab може да се използва за обработка на изображения чрез конструиране на ваши собствени алгоритми, които ще работят с графични масиви като с матрици с данни. Тъй като езикът MatLab е оптимизиран за работа с матрици, резултатът е лекота на използване, висока скорост и рентабилност на операциите с изображения.

По този начин програмата MatLab може да се използва за възстановяване на повредени изображения, разпознаване на модели на обекти в изображения или за разработване на всеки от вашите собствени оригинални алгоритми за обработка на изображения. Библиотеката Tollbox за обработка на изображения опростява разработването на алгоритми с висока точност, тъй като всяка от функциите, включени в тази библиотека, е оптимизирана за максимална скорост, ефективност и изчислителна надеждност. Освен това библиотеката предоставя на разработчика множество инструменти за създаване на собствени решения и за внедряване на сложни приложения за обработка на графики. И когато анализирате изображения, използването на незабавен достъп до мощни инструменти за визуализация ви помага незабавно да видите ефектите от увеличаването, възстановяването и филтрирането.

Сред другите библиотеки на системата MatLab може да се отбележи и System Identification Toolbox - набор от инструменти за създаване на математически модели на динамични системи въз основа на наблюдавани входни / изходни данни. Характеристика на този инструментариум е наличието на гъвкав потребителски интерфейс, който ви позволява да организирате данни и модели. Библиотеката System Identification Toolbox поддържа както параметрични, така и непараметрични методи. Системният интерфейс улеснява предварителната обработка на данните, като работи чрез итеративен процес на изграждане на модели за получаване на оценки и извличане на най-значимите данни. Бързо изпълнение с минимални усилия на такива операции като отваряне / запазване на данни, подчертаване на областта на възможните стойности на данните, премахване на грешки, предотвратяване на отклонението на данните от тяхното характерно ниво.

Наборите от данни и идентифицираните модели са организирани графично, което улеснява припомнянето на резултатите от предишни анализи по време на процеса на идентифициране на системата и избора на следващите възможни стъпки в процеса. Основният потребителски интерфейс организира данните, за да покаже вече получения резултат. Това улеснява бързото сравнение на оценките на моделите, ви позволява да подчертавате най-значимите модели графично и да изследвате тяхната производителност.

Що се отнася до математическите изчисления, MatLab предоставя достъп до огромен брой подпрограми, съдържащи се в библиотеката на NAG Foundation на Numerical Algorithms Group Ltd (инструментариумът има стотици функции от различни области на математиката и много от тези програми са разработени от добре известни специалисти в Светът). Това е уникална колекция от реализации на съвременни числени методи на компютърната математика, създадена през последните три десетилетия. Така MatLab е погълнал опита, правилата и методите на математическите изчисления, натрупани през хиляди години на развитие на математиката. Обширната документация, която идва само със системата, може да се разглежда като основен многотомен електронен справочник за софтуер.

Сред недостатъците на системата MatLab може да се отбележи ниската интеграция на средата (има много прозорци, с които е по-добре да се работи на два монитора), не много разбираема помощна система (и междувременно обемът на собствената документация достига почти 5 хиляди страници, което затруднява виждането) и специфичен редактор на код за програмите на MatLab. Днес системата MatLab се използва широко в технологиите, науката и образованието, но все пак е по-подходяща за анализ на данни и организация на изчисления, отколкото за чисто математически изчисления.

Следователно, за извършване на аналитични трансформации в MatLab се използва ядрото за символна трансформация на Maple, а от Maple за числени изчисления можете да получите достъп до MatLab. В края на краищата не е напразно символната математика на Maple се превърнала в неразделна част от редица съвременни пакети, а численият анализ от MatLab и кутиите с инструменти са уникални. Независимо от това, математическите пакети Maple и MatLab са интелектуални лидери в своите класове, те са модели, които определят развитието на компютърната математика.

Като по-прости, но идеологически близки алтернативи на програмата MatLab могат да се отбележат пакети като Octave (www.octave.org), KOctave (bubben.homelinux.net/~matti/koctave/) и Genius (www.jirka.org/ гений .html).

Octave е програма за числови изчисления, която е добре съвместима с MatLab. Интерфейсът на системата Octave, разбира се, е по-лош и няма такива уникални библиотеки като MatLab, но е много лесна за научаване програма, която не изисква системни ресурси. Octave се разпространява под лиценз с отворен код (OpenSource) и може да бъде добра помощ за образователните институции.

Програмата KOctave по същество е по-усъвършенстван графичен интерфейс за системата Octave. В резултат на използването на KOctave, системата Octave става напълно подобна на MatLab.

Непретенциозната математическа програма Genius, разбира се, не може да се конкурира по сила с изтъкнати конкуренти, но идеологията на математическите трансформации е подобна на MatLab и Maple. Genius също се разпространява под лиценз с отворен код (OpenSource). Той има собствен език GEL, усъвършенстван Genius Math Tool и добра система за подготовка на документи за публикуване (използвайки езици като LaTeX, Troff (eqn) и MathML). Много добрият графичен интерфейс на програмата Genius ще направи работата с нея лесна и удобна.

MathCad (http://www.mathsoft.com/ , http://www.mathcad.com/)

Минимални системни изисквания:

  • Процесор Pentium II или по-висок;
  • 128MB RAM (препоръчително е 256MB или повече)
  • 200-400 MB дисково пространство;
  • операционни системи: Windows 98/Me/NT 4.0/2000/XP.

За разлика от мощния и високоефективен пакет за анализ на данни MatLab, MathCad (текуща версия 13) е по-скоро прост, но усъвършенстван математически текстов редактор с богати символични изчислителни възможности и отличен интерфейс. MathCad няма език за програмиране като такъв, а механизмът за символно изчисление е заимстван от пакета Maple. Но интерфейсът на програмата MathCad е много прост, а възможностите за визуализация са богати. Всички изчисления тук се извършват на ниво визуален запис на изрази в често използвана математическа форма. Пакетът има добри съвети, подробна документация, функция за обучение, редица допълнителни модули и прилична техническа поддръжка от производителя (както можете да видите от версията на продукта, тази програма се актуализира по-често от другите, споменати в този преглед, въпреки че годината на издаване на първата версия е приблизително същата - 1996-1997). Въпреки това, докато математическите възможности на MathCad в областта на компютърната алгебра са много по-ниски от системите Maple, Mathematica, MatLab и дори малкия Derive. Въпреки това, много книги и курсове за обучение са публикувани по програмата MathCad, включително в Русия. Днес тази система се превърна буквално в международния стандарт за технически изчисления и дори много ученици владеят и използват MathCad.

За малко количество изчисления MathCad е идеален - тук всичко може да се направи много бързо и ефективно и след това да форматирате работата по обичайния начин (MathCad предоставя широки възможности за форматиране на резултатите, до публикуване в Интернет). Пакетът има удобни възможности за импортиране/експорт на данни. Например, можете да работите с електронни таблици на Microsoft Excel направо в документ на MathCad.

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

Като по-евтини, прости, но идеологически близки алтернативи на програмата MathCad могат да се отбележат такива пакети като вече споменатия YaCaS, търговската система MuPAD (http://www.mupad.de/) и безплатната програма KmPlot (http:/ /edu.kde .org/kmplot/).

Програмата KmPlot се разпространява при условията на лиценз с отворен код (OpenSource). Много е лесен за научаване и подходящ дори за ученици.

Що се отнася до програмата MuPAD, това е модерна интегрирана система от математически изчисления, с която можете да извършвате числени и символни трансформации, както и да рисувате двумерни и триизмерни графики на геометрични обекти. Въпреки това, по отношение на своите възможности, MuPAD е значително по-нисък от своите уважавани конкуренти и е по-скоро система от начално ниво, предназначена за обучение.

Заключение

Въпреки факта, че в областта на компютърната математика няма такова разнообразие като, да речем, в средата на компютърната графика, зад видимото ограничение на пазара на математически програми, техните възможности са наистина неограничени! Като правило CAE системите покриват почти всички области на математиката и инженерните изчисления.

Някога системите на символната математика бяха фокусирани изключително върху тесен кръг от професионалисти и работеха на големи компютри (мейнфреймове). Но с появата на компютъра тези системи бяха преработени за тях и доведени до нивото на масовите серийни софтуерни системи. Днес на пазара съжителстват символни математически системи от различни калибри – от системата MathCad, предназначена за широк кръг потребители до компютърните чудовища Mathematica, MatLab и Maple, които имат хиляди вградени и библиотечни функции, широки възможности за графична визуализация на изчисления и усъвършенствани инструменти за изготвяне на документация.

Трябва да се отбележи, че почти всички тези системи работят не само на персонални компютри, оборудвани с популярни операционни системи Windows, но и на операционни системи Linux, UNIX, Mac OS, както и на PDA устройства. Те отдавна са познати на потребителите и са широко разпространени на всички платформи - от преносими устройства до суперкомпютри.

Инструкция

Дори човек, който е напълно невеж в програмирането, може да напише проста програма. Разбира се, за това ще трябва да овладеете някои умения и знания. Основното предимство на самостоятелното написване на програма е, че можете да създадете точно софтуера, от който се нуждаете.

За да напишете програма, ви е необходима среда за разработка. Изберете 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.

Полезен съвет

Първата версия на програмата обикновено се нарича "алфа". Най-често съдържа много грешки - има смисъл да го тествате с помощта на приятелите си

Източници:

  • Сайтът на Александър Бишкиров, IT и бизнес, компютри и софтуер, снимки, програмиране и просто мисли...
  • как се създават програми

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

Ще имаш нужда

  • Инсталиран пакет Turbo Pascal.

Инструкция

Да осъзнаеш програмапърво трябва да решите неговото име и набора от променливи, използвани в него. Например има задача за изпълнение на събирането на две числа. В този случай ще трябва да създадете 3 променливи - съответно A, B и C.

След това е необходимо да се извършат изчислителни операции. Като цяло програмата ще изглежда така: "Добавяне на програма; var A, B, C: Integer; beginA:= B + C; край."

Сега, когато програмата е написана, тя трябва да бъде запазена, компилирана и стартирана. Записването се извършва чрез избор на съответния елемент от менюто (клавиш F10 - Файл - Запиши). След това ще се отвори диалогов прозорец, в който ще трябва да изберете име и място за запис на файла. програмабез да стартирате, трябва да задържите клавиша Alt и F9. Ако приложението не съдържа грешки, тогава Pascal ще покаже съобщението "Компиляцията е успешна: Натиснете произволен клавиш". Ctrl и F9 се използват за стартиране на програмата. Ако написаната програма стартира без съобщение за , значи е правилно.

Забележка

Не можете да използвате руски букви, препинателни знаци и специални знаци в имената на променливите.

Полезен съвет

За да овладеете добре този език, трябва да практикувате колкото е възможно повече, т.к. теоретичната част не играе основна роля в него.

Източници:

  • напишете програма на паскал

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

Ще имаш нужда

  • Алгоритъм 2.5

Инструкция

За да започнете, изтеглете програмата Algorithm 2.5. С него можете да създадете своя собствена проста компютърна програма.

Създайте папка на вашия работен плот. Дайте й име. Например пароли. Отворете го и създайте празен текстов документ. Разширението на файла трябва да е .txt. Дайте му име. Сега отворете програмата Algorithm 2.5 и запазете. За да направите това, отворете "Файл", след това "запиши като..." и изберете новата папка, създадена на вашия работен плот.

Добавете . За да направите това, в списъка вляво щракнете върху елемента „таблица. Трябва да съдържа 4 колони: вход, парола, сайт. Оставете първия без заглавие. Задайте цвета на бяло. След това трябва да създадете меню. В същия списък изберете елемента "меню". В полето "текст" вместо "Menu1 Item1" напишете "File".

Сега щракнете с десния бутон върху "файл" и изберете "добавяне на елемент". Така добавете две точки. Не забравяйте да замените надписа отстрани в полето „текст“ вместо „menu1 item1“. За първия елемент напишете "отворен", за втория - "запазване".

След това трябва да създадете събития. Това е необходимо, така че когато щракнете върху бутона за отваряне, той се отваря, а когато щракнете върху запазване, той запазва. Щракнете върху бутона "файл" и изберете "отвори". След това можете да създадете събитие. Изберете събитието за щракване. Посочете следната последователност в действията: прозорец - прозорец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 променливи към кода, който ще съхранява въведените от потребителя числа и ще определи режима. Например:

вар
a, b, c: реални; //числа, въведени от потребителя
d: цяло число // действие на калкулатора

Можете да направите създадените променливи както защитени, така и частни. Сега обработвайте събитието OnClick за всеки цифров бутон. За всички цифри кодът ще бъде идентичен:

процедура TForm1.Button1Click(Sender: TObject);
започнете
Panel1.Caption:=Panel1.Caption+"номер"
край;

Заменете "число" с името на бутона (ако е числото 0, тогава Panel1.Caption+"0").

Променливата d има формат цяло число и ще съдържа съответната числова стойност на някакво действие. Ако ще се извърши умножение, тогава можете да зададете действието на 1, ако деление - на 2, ако събиране - на 3 и т.н. За действието за умножение кодът ще изглежда така:

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

Има голям брой безплатни и комерсиални програми за математически изчисления. Те могат да бъдат разделени на две големи групи:

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 е собствена (търговска) програма. Предназначен е за символни изчисления, въпреки че разполага с редица инструменти за числено решаване на диференциални уравнения и намиране на интеграли. Има усъвършенствана графика. Има собствен език за програмиране, напомнящ Pascal;
  • Mathematica е собствена (комерсиална) програма. Съдържа много функции както за аналитични трансформации, така и за числени изчисления. Освен това програмата поддържа работа с графика и звук, включително изграждане на дву- и триизмерни графики на функции, рисуване на произволни геометрични форми, импортиране и експортиране на изображения и звук.
Програми за числени изчислениясе използват за числено инженерство и научни изчисления. С тяхна помощ можете да извършите следните операции:
  • числено извършване на операции с матрична алгебра (събиране/изваждане, умножение, решаване на системи от линейни уравнения, намиране на собствени стойности и вектори);
  • работа с разредени матрици (сглобяване, факторизация);
  • разработват алгоритми и програми за прилагане на числени методи;
  • извършва визуализация на данни: проста двуизмерна и сложна триизмерна (включително обемна визуализация.
Популярни пакети за числени изчисления.

Безплатни (безплатни) пакети:

  • Scilab - пакет от приложни математически програми, който осигурява мощна отворена среда за инженерни (технически) и научни изчисления;
  • GNU OctaveGNU Octave е безплатна числова изчислителна среда, използваща MATLAB-съвместим език от високо ниво. Octave предоставя интерактивен команден интерфейс за решаване на линейни и нелинейни математически проблеми и други числени експерименти. Освен това Octave може да се използва за пакетна обработка. Езикът Octave оперира с аритметика на реални и сложни скалари и матрици, има разширения за решаване на линейни алгебрични задачи, намиране на корените на системи от нелинейни алгебрични уравнения, работа с полиноми, решаване на различни диференциални уравнения, интегриране на системи от диференциал и диференциал от първи ред -алгебрични уравнения, интегриращи функции на крайни и безкрайни интервали. Този списък може лесно да бъде разширен с помощта на езика Octave (или с помощта на динамично заредени модули, създадени в C, C++, Fortran и т.н.).
Собствени (търговски) пакети:
  • MATLAB е пакет от приложни програми за решаване на задачи от технически изчисления. MATLAB се използва от повече от 1 000 000 инженери и учени и работи на повечето съвременни операционни системи, включително GNU/Linux, Mac OS, Solaris и Microsoft Windows.;
  • Mathcad - програма за извършване и документиране на инженерни и научни изчисления;
  • Origin е софтуерният пакет на компанията за числен анализ на данни и научни графики, работещ на компютър с операционна система Microsoft Windows.

С помощта на програми и мога!

НОВО. Настройка на OSA_Beta1.1 OSA калкулатор. Числени методи.
Програмата е предназначена за извършване на различни математически изчисления с помощта на числени методи.
В програмата са реализирани следните функции: матрични операции (събиране, изваждане, умножение на матрици; умножение на матрица по число; транспониране); решаване на системи от линейни алгебрични уравнения (SLAE) по методите на Крамер, Гаус, Гаус-Зайдел; решение на нелинейни уравнения (методи за разделяне на отсечка наполовина, хорди и допирателни); локална интерполация на функции: линейни и квадратни; глобална интерполация: полиноми на Нютон и Лагранж; числено интегриране: методи на средни правоъгълници, трапеци, Симпсън; числено диференциране с помощта на формулата за симетрична разлика за приблизителното изчисление на производната.
Размер на архива!.6 Mb. (exe файл + описание). Безплатно.
Авторът, изпратил програмата, много помоли тези, които ще използват програмата, да дадат обратна връзка и коментари за нея. Адресът на съобщението в програмата.

Изтегли

17 . Gshaper 0.9.2. Калкулатор на периметри, площи, обеми и други характеристики (странични повърхности, височини, ексцентриситети) на различни геометрични форми в равнината и в пространството. Фигурите са снабдени с обяснителни илюстрации и са разделени на категории - цилиндрични, призматични, конични, сферични, полиедрични...
Система: Windows XP, Me, 9x, 2003, 2000, NT, 3.1/3.11
Лиценз: Безплатен софтуер
Език на интерфейса: руски
Разработчик: Антон Лях
Уебсайт на програмата: http://gshaper.ifastnet.com
Инсталация: има инсталиране и деинсталиране
Размер 860 Kb. Актуализирано: 3 ноември 2006 г. (01:00)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Изтегли

16 . SimpleCalc. Прост и лесен за използване, но в същото време доста мощен калкулатор на изрази или както понякога ги наричат ​​калкулатор на формули. За разлика от конвенционалните калкулатори, SimpleCalc ви позволява да видите едновременно изчисления израз и резултата. Което е много удобно, тъй като веднага можете да видите какви данни са въведени и дали има грешки в тях. И при всяка промяна в израза, той се преизчислява, без да се налага да се въвежда всичко отново.
Основни функции:
- всички аритметични операции с числа и степенуване;
- поддържа операции със скоби;
- 21 вградени функции;
- можете да зададете свои собствени персонализирани функции и константи;
- поддържа шестнадесетична, десетична, осмична и двоична бройни системи;
- запомня въведените изрази;
- работи с клипборд;
- ви позволява да регулирате размера на шрифта;
- бързо извикване на калкулатора с помощта на горещи клавиши;
- може да се сгъва в тава (където е часовникът).
Ново във версия 0.51:
Добавен е нов изходен формат за инженерни резултати с възможност за избор на експонента на кратно на 3 Добавена е възможност за потвърждаване на затварянето на програмата
Система: Windows XP, Me, 9x, 2003, 2000, NT. Лиценз: Рекламен софтуер. Език на интерфейса: руски. Размер на файла: 0,418 MB Разработчик: Вячеслав Плиско. Уебсайт на програмата: http://plsoft.narod.ru Инсталация: работи без инсталация. Размер 420 Kb.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Изтегли .

15 . Calcum Pro 0.1 Многофункционален калкулатор, който може да работи с огромни числа, с поддръжка за кожи (различен дизайн на програмата)
Има компоненти:
конструктор на графики, сложни изчисления (изчисление по формула), обработка на много числа (с няколко възможности),
решаване на уравнения,
изчисляване на дроби, изчисляване на стойности в геометрията и физиката,
редактор на таблица, тарифен калкулатор (например за изчисляване на колко пари се харчат в интернет),
генератор на числа (с няколко възможности), тригонометричен калкулатор,
фрактален конструктор (обекти в сложната равнина),
А също така програмата може да бъде минимизирана в системната област (където се намира часовникът), също и при изчисляване - при изчисляване на много големи числа и да се изчислява, без да ви безпокои.
Програмата има лента с инструменти за достъп до най-необходимите функции.
Персонализиране на лентата с бутони.
В така наречения програмен компонент - списък с числа - съхраняване за дълго време (към файл).
Може да работи както с обикновени, така и с екстремни числа (десетични и двоични)
- макар и малко по-бавно изчисление в този случай.
Пакетът включва няколко скина.
Програмата има собствен език за програмиране.
Разпространява се с най-необходимите библиотеки, които определено нямате.
Програмата има почти 100 функции:
Тригонометричен, Хиперболичен, Статистически и др.
Размер 2.72 MB.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Изтегли

14 . math4students . Математика за ученици. 1,6 MB.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Изтегли

13 . математика . Решаване на уравнения, събиране на дроби, решаване на системи от уравнения. 1,2 MB.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Изтегли

12 . School Boy 5.0.3.0 . Програма за решаване на уравнения и изобразяване на произволни математически функции. Позволява с дадена грешка да се намери коренът на почти всяко уравнение в рамките на неговата функционалност (т.е. работа с функции, достъпни за потребителя). С други думи, ако коренът съществува и се намира в диапазона от валидни стойности (конфигурируеми), програмата ще го намери. Работи и като обикновен низов калкулатор с поддръжка за голям брой функции. 353 Kb.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Изтегли

11 . snum . Програмата показва списък с делители на число, намира прости числа до желаната стойност. За да се определи най-големият общ делител, прозорецът на програмата може да бъде дублиран. Полезно за ученици от 6 клас. 8Kb.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Изтегли

10 . Главна функция v.1.0 . Програмата Master Function 1.0 е предназначена за гимназисти и студенти. Лесен е за научаване, неизискващ към компютърните ресурси и работи сравнително бързо. Основните функции на програмата:
- Изчисляване на изрази с всякаква сложност с помощта на основни математически функции. Всяка степен на влагане на скоби.
- Изчисляване на последователности, числови и степенни редове поради специални променливи: n - естествено нарастващо число, a - стойност на резултата от последното изчисление.
- Построяване на графики на функции от вида y = f(x). Максимална точност на конструкцията: 0,00001 на пиксел на екрана. Функциите могат да бъдат посочени като нормална зависимост f(x) и като последователност или серия. Например, функцията y = exp(x) може да бъде представена чрез степенен ред y = a+x^n/fact(n).
- Последваща работа с графики: преместване, увеличаване и намаляване, възможност за увеличаване на избраната област на графиката, показване в центъра и др. Както и функцията за запис на графиката в bmp файл.
- Анализ на функциите: изчисляване на стойността на функция и нейната производна в дадена точка, намиране на определен интеграл.
- Израз или функция могат да бъдат запазени за по-късна работа.
331 Kb. Безплатно.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Изтегли

9 . Microsoft Student Graphing Calculator 2006 (бета 3) . Калкулатор за ученици с възможност за начертаване на графики и решаване на уравнения. Размер 4.8 Mb

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Изтегли

8 . Разширена графика 2.2 Можете да използвате Advanced Grapher за некомерсиални цели безплатно, ако изберете руски език на интерфейса по време на инсталацията. По време на инсталацията трябва да има отметка в полето „Разрешаване на безплатна некомерсиална употреба“. Описание на разработчика: "Мощен и лесен за използване софтуер за диаграми и анализ. Поддържа функции за начертаване от формата Y(x), X(y), в полярни координати, дадени от параметрични уравнения, таблици за диаграми, неявни функции (уравнения) и неравенства "До 30 графики в един прозорец. Има изчислителни възможности, голям брой параметри на графики и координатна равнина, поддържа се руски интерфейс. Потребителите от Русия могат да използват програмата за некомерсиални цели безплатно." 1,41 MB.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Изтегли

7 . OriginLab OriginPro 8.0 SR2009 Origin Pro е универсален инструмент за обработка на математически и статистически функции, изобразяване на тези функции, както и инструмент за разработване на високоспециализирани математически програми и инструменти за визуализация на графични данни. Счита се за де факто стандарт в много научни лаборатории.
Само ще добавя полезен инструмент за обработка на данни и представянето им под формата на графики за лабораторна работа по физическа практика. Милиметърът е вече миналия век.
Архивът има инструкции за инсталиране, 172,9 Mb.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Изтегли

1 . mcal харесвам. Матричният калкулатор предоставя следния набор от функции: събиране и изваждане на матрици, умножение на матрици, намиране на обратната матрица и изчисляване на детерминанта, възможност за решаване на SLAE с несингулярна матрица от коефициенти. Благоприятни разлики от други подобни програми: няма ограничения за размера на входната матрица, въвеждането на матрици е значително опростено с помощта на авторската разработка на MatrixStream, помощта предоставя информация за всеки прозорец. След регистрацията стават достъпни функциите за намиране на обратната матрица и работа с матрици на поръчки по-големи от 2. Регистрацията е безплатна и отнема не повече от 30 секунди. В новата версия интерфейсът е подобрен, механизмът за извеждане на матрица е фиксиран. Библиотеките на Visual Basic Runtime са необходими за изпълнение. Можете да обсъдите програмата с автора във форума http://www.lonewolf.od.ua/new/misc.asp?go=forum. 210 Kb.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Изтегли

2 . Математика+ от AV v.1.2 . Програмата ви позволява да създавате, изследвате и отпечатвате двуизмерни и триизмерни графики с едно щракване, както и да извършвате изчисления във всяка числова система с помощта на вградения калкулатор с два панела със запазване на историята на изчисленията. Програмата има много интуитивен удобен за потребителя интерфейс и подробна помощ. Новата версия добавя нови функции за начертаване - да речем, изчертаване на няколко графики едновременно, както и коригира грешки, наблюдавани в предишната версия и увеличава броя на поддържаните математически функции - повече за новите функции на началната страница (вижте помощта ). 925 Kb.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Изтегли

3 . Произход 4.00 . Проста, но много мощна и удобна програма за създаване на графики, диаграми, таблици и др. Математическа обработка на графики: изчисляване на параметри на зависимости y=f(x) от различен тип (линейни, експоненциални, логаритмични и др.). Горещо го препоръчвам на студенти по химия, физици, математици и т.н. Можете да направите всички рисунки за диплома, дисертация в Произход.
Интерфейс - английски. Кредит: Microcal Software, Inc. Безплатно. Размер 1.9 Mb.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Изтегли

4. Mathcad 12. Mathcad 12 значително повишава производителността на разработването на нови продукти и инженерните изследвания. Новата версия на пакета разширява списъка с налични математически функции и го прави по-удобен за достъп до документи, споделяне на резултатите от работата и улесняване на публикуването и представянето на резултатите от изследванията. Възможността за работа с метаданни и за първи път възможността за проследяване на извършените изчисления значително подобряват контрола върху използването на изчислителните документи на Mathcad. Сега потребителят може да маркира целия документ и отделни фрагменти с метаданни, което ви позволява бързо да намерите важни изчисления в изходния документ. Инструкции за инсталиране в архива. Операционна система: Windows All. Размер 77.8 Mb. RAR архив.

5. Клен 10.
Програма за математически изчисления (разлика от другите - можете да извършвате символични изчисления). Има книги, описващи как се работи с програмата в раздела "PC" (компютърни програми), но 5 и 8 версии. RAR архив с всичко необходимо. Обем 129.0 Mb.

Разработване на програма за извършване на изчисления върху матрици

Въведение

матричен език за програмиране

Днес математическото програмиране е важен компонент от всяко програмиране. Големите и сложни изчисления стават лесни благодарение на простите програми.

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

За среда за програмиране бяха избрани езикът за програмиране MSVisualStudio 2008 и C++.

.
вектор

Матрица, която има само една колона или ред, се нарича вектор. Размерността на вектора е броят на неговите елементи.

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


Тогава сумата от вектори ще се нарече следния вектор:

1.2 Разлика на два вектора

Нека векторите в линейното пространство са представени, както следва:


Тогава следният вектор ще бъде наречен разликата на векторите:

1.3 Умножение на вектор по число

Ако има някакво число x и вектор .

Тогава произведението на вектор с число x ще се нарече следния вектор

1.4 Точково произведение на два вектора

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

2.
Класове

Класът е тип структура, която ви позволява да включите в описанието на типа не само елементи от данни, но и функции (функции или методи на членове).

Следните спецификатори на достъп се използват за ограничаване на достъпа до членовете на класа:

публичен - без ограничения за достъп;

protected - достъпно само в производни класове;

· частни - налични само в техния клас.

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

Нека добавим функцията Vector(int sz) към класа

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

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

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

Освен това конструкторът за копиране се използва при инициализиране на формалния параметър на функция в случай на предаване на обект към нея по стойност и при връщане на обект от функцията чрез израза return. При предаване на препратки и указатели конструкторът за копиране не се използва.

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

2 Операции по претоварване

Повечето оператори на езика C++ за нови типове данни могат да бъдат претоварени. За да претоварите операция, трябва да създадете функция с име, състоящо се от ключовата дума на оператора и знака на претоварената операция. Броят на параметрите на тази функция се определя от това дали единичен или двоен оператор е претоварен и от наличието на неявни елементи в методите на класа.

Претоварването на оператора включва въвеждането на две взаимосвързани функции в езика: възможността да се декларират няколко процедури или функции с едно и също име в същия обхват и възможността да се описват собствени реализации на операции.

Например, за да претоварите оператора за добавяне, трябва да дефинирате функция с име operator+.

Операторните функции на претоварените оператори, с изключение на new и delete, трябва да се подчиняват на следните правила:

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

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

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

операторната функция не може да има параметри по подразбиране и т.н.

3 Приятелски функции

Съгласно концепцията за капсулиране на данни на C++, функция, която не е член на клас, не може да има достъп до неговите частни членове. Езикът C++ реализира възможността за заобикаляне на това ограничение с помощта на приятели. C++ ви позволява да декларирате 2 вида приятели на класа: приятелска функция или приятелски клас. Приятелските функции не са членове на класа, но все пак имат достъп до неговите частни членове. Освен това една такава функция има достъп до частните членове на няколко класа. За да се декларира функция като приятел на клас, дефиницията на класа включва нейния прототип, предшестван от ключовата дума приятел. поток и оператор<<(ostream& os, const Vector& A)

Функцията приятел не е член на класа, в който е декларирана. Следователно, когато извиквате функция за приятел, не е необходимо да указвате името на обекта или указател към обекта и операцията за достъп до член на класа (точка или стрелка). Частните членове на клас могат да бъдат достъпни само от функция-приятел чрез обекта на класа, който следователно трябва или да бъде деклариран в рамките на функцията, или да й бъде предаден като аргумент.

Една функция може да бъде приятелска за няколко класа наведнъж.

4 Неявен този указател

Всеки метод на клас съдържа следния указател, предаван като параметър при извикване на метода:

име на типа *това;

Този указател е адресът на конкретния обект, на който е извикан методът.

Възможно е да използвате този указател за достъп до членовете на класа, но едва ли е препоръчително, тъй като това вече е по подразбиране. Изричното използване на това е необходимо само в случаите, когато трябва да работите директно с адресите на обекти, например при организиране на динамични структури от данни.

Програмен код

#include"stdafx.h"

#включи

#include"conio.h"

#include"time.h"namespace std;

// КЛАС VectorVector

(:*V;sz; // брой редове:

// конструктор по подразбиране();

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

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

// запълване на вектора със произволни числа SetVector();

// претоварване на оператора за добавянеoperator+(Vector &);

// изваждане оператор за претоварване (Vector &);

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

// оператор претоварване вектор-вектор multiplicationoperator*(Vector &);

// претоварване на изходния оператор в потока ostream&operator<<(ostream& os, const Vector& A);

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

// Конструктор по подразбиране::Vector()

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

(= _sz;= ново двойно ;(int i = 0; i< sz; i++)[i] = 0;

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

(= A.sz;= ново двойно ;(int i = 0; i< sz; i++)[i] = A.V[i];

// Запълване на вектора с произволни числаVector::SetVector()

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

([i]=(двоен)((rand()%200)-100.0);

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

)= ново двойно ;= 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;

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

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

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

// изходна операция&оператор<<(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");((неподписан)време(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";>> вцепенен;<< endl;(numb == 0)0;

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