MathCAD — это просто! Часть 24. Программирование в MathCAD: введение
Казалось бы, разговаривая о MathCAD'е, мы с вами уже успели перебрать все мыслимые и немыслимые темы, которые только могли. Мы поговорили о решении систем линейных и нелинейных алгебраических уравнений, о неравенствах и графиках, о матрицах и векторах, о производных и интегралах и, наконец, о дифференциальных уравнениях. Казалось бы, чем еще можно заниматься в MathCAD'е, если со всем перечисленным выше мы уже разобрались? Оказывается, есть еще очень даже много всего интересного. И самое полезное и, опять-таки, интересное из всего оставшегося пока что за кадром — это, конечно же, возможности среды MathCAD в области программирования. Думаю, после прочтения всех предыдущих статей нашей с вами серии вы уже вполне готовы к тому, чтобы о нем поговорить.
Программирование — это просто!
Не знаю, кому это нужно, но многих программированием просто запугивают, буквально с детства внушая, что это очень сложное и для большинства людей совершенно непосильное занятие. С этим глубоким убеждением некоторые и живут всю жизнь, завидуя программистам (и их зарплате). На самом деле ничего особенно сложного в программировании нет. То есть, конечно, нельзя вот так вот просто однажды утром проснуться и сразу, почувствовав в себе силы, стать безо всякой предварительной подготовки хорошим программистом. Но, к счастью, этого ведь никто от вас и не требует. Для того, чтобы успешно программировать в рамках решаемых вами самостоятельно задач, вовсе не обязательно становиться программистом и получать специальное образование. Вполне достаточно тех навыков программирования, которые каждому ученику дает современная школьная система образования. Решая разнообразные прикладные задачи в MathCAD'е, вы, используя встроенные в эту мощнейшую математическую среду возможности программирования, сможете решить даже те не слишком многочисленные задачи, для которых создатели MathCAD не предусмотрели специальных функций и операторов. Открою вам небольшой секрет: дело в том, что сложность программирования заключается в его некоторой абстракции. Тем не менее, если человек использует MathCAD, это означает, что он разбирается в математике и довольно силен в абстракциях. Потому, встретившись с абстракциями программирования, математик, физик, химик, инженер или кто-либо еще вполне сможет овладеть встроенным в MathCAD языком программирования без каких бы то ни было особенных сложностей. Так что самое главное — приступая к программированию в среде MathCAD, не бойтесь его, и тогда оно само вам с удовольствием покорится.
Хорошо забытое старое
Как говорится, все новое — это хорошо забытое старое. Думаю, что, хотя программированию и учат в школе, большая часть наших читателей успела уже основательно подзабыть все, чему их на эту тему учили. Значит, совсем не лишним будет напомнить азы программирования, чтобы потом не приходилось отрываться от статьи и срочно лезть на Википедию, чтобы вспомнить смысл того или иного не вполне знакомого слова. Под программой обычно понимают какую-либо последовательность действий, записанных на специальном языке, понятном компьютерному интерпретатору. В этой последовательности главную роль играют переменные, функции и операторы. По большому счету, в программировании все эти термины означают то же самое, что и во всех остальных разделах математики. Переменные могут принимать какие-либо значения, присваиваемые им в результате действия на них операторов, а функции могут принимать значения переменных или возвращать какие-либо значения. Отличие от обычной математики здесь состоит в том, что функции могут быть записаны не просто в виде какой-либо формулы — они содержат в себе тоже некоторые последовательности команд, которые, вообще говоря, не обязаны возвращать какой бы то ни было результат.
Программирование, каким бы простым оно ни было, практически никогда не обходится без отладки — процесса доведения готовой программы до такого состояния, в котором она будет устраивать, в нашем случае, своего создателя. Методов отладки существует множество, но в целом ее суть заключается в выполнении программы пошагово, с контролем значений различных переменных в ней с целью выявления тех мест, где они начинают принимать ошибочные значения и тем самым, что называется, портят всю картину. MathCAD в полной мере поддерживает отладку программ, которые в нем пишутся, и, если эти программы будут более-менее серьезными, то вполне возможно, что и вам придется прибегнуть к функциям встроенного в эту мощную математическую среду отладчика (именно так традиционно называют инструмент, используемый для выполнения программ в пошаговом режиме и контроля значений переменных при этом). Почти в любой программе, помимо функций, операторов и переменных, встречаются управляющие ее ходом конструкции. Эти управляющие конструкции бывают разными, но самые важные из них — это условный переход и различные виды циклов. Условный переход требуется тогда, когда в программе нужно выполнить какую-то последовательность действий, но только в том случае, если выполняется какое-то условие. Например, если число четное, то мы можем вывести на экран сообщение о его четности, в противном случае — о нечетности. Что касается циклов, то они используются для короткой записи различных повторяющихся более одного раза конструкций в программе. За примерами тоже далеко ходить не надо: например, суммирование элементов вектора гораздо удобнее реализовать с помощью цикла, обращающегося к элементам этого вектора по их индексам, нежели вручную записывать сумму в виде a1 + a2 + a3 + a4. Циклы бывают тоже разными: в одних мы можем заранее указать, сколько раз выполнять записанные внутри такого цикла конструкции, в других же для прекращения повторения действий следует указать какое-либо условие. Программа в MathCAD'е — как, впрочем, и везде — записывается в виде строк, содержащих функции, операторы и управляющие конструкции. Эти строки называются программным кодом, и потому, если я буду где-то упоминать просто "код", не пугайтесь. Это означает лишь, что я имею в виду текст программы, написанной вами в среде MathCAD.
MathCAD и программирование
Традиционно программы пишутся в специальных текстовых редакторах, выделяющих цветом разные типы слов (они называются лексемами) в тексте программы. Так, например, слова, указывающие на управляющие конструкции, обычно выделяются полужирным шрифтом, а цифры записываются другим цветом, нежели буквы (если, конечно, эти цифры не входят в названия переменных и функций). Однако MathCAD — это все-таки среда не для программирования, а для решения различных математических задач, а потому написание программ в ней происходит не совсем так, как в привычных программистам средах разработки приложений. Как именно? Вот сейчас я вам об этом и постараюсь как можно доходчивее рассказать. Как и всегда в MathCAD'е, для написания программ предусмотрена специальная панель инструментов, которая так и называется — Programming (так слово "программирование" записывается по-английски). На этой панели совсем немного кнопок, но, поверьте мне, если вам придется прибегнуть к программированию при решении каких-либо задач в MathCAD'е, то каждая из них вам понадобится неоднократно. Поэтому, полагаю, лучше с самого начала рассказать, какая из них для чего предназначена.
Первая из всех кнопок по порядку — Add Line. С ее помощью добавляется новая строка в программный код, которые вы пишете в MathCAD'е, а также создается новая программ. Программный код отличается по своему внешнему виду от обычных математических операторов в MathCAD'е — вы сами можете убедиться в этом, нажав данную кнопку. Отличие состоит в присутствии жирной вертикальной полосы слева от кода. Если у вас под рукой нет запущенного MathCAD'а, то можете взглянуть на иллюстрацию, показывающую пример пустого (практически пустого, если быть несколько более точным) программного кода в MathCAD'е.
Самый важный оператор при программировании — это присваивание значения переменной. Он в MathCAD'е изображается стрелкой, направленной справа налево, и находится также в верхнем ряду кнопок на панели инструментов Programming (имеется в виду вертикальная компоновка кнопок на панели — такая, как показанная на соответствующей иллюстрации). Кнопки if и otherwise нужны для записи оператора условного перехода, а кнопки for, while, break и continue — для создания циклов и управления ими. А кнопки return и on error пригодятся при записи функций. Хотя, конечно, последняя из них пригодится не только при этом. Обо всем этом — циклах, условных переходах, функциях и прочих полезных и важных вещах — мы с вами поговорим уже в следующий раз, поскольку, чтобы подробно в них разобраться, лучше делать это на свежую голову, а информации на вас я сейчас и так вывалил уже порядочно.
Что ж, давайте пока что подведем итоги всему вышесказанному. Их будет, конечно, не много, потому что никакой практикой в плане программирования в MathCAD'е мы пока не успели позаниматься, но волноваться по этому поводу ни в коем случае не следует — как говорится в русской поговорке, всякому овощу свое время. Программировать в MathCAD можно и нужно — вот та самая мысль, которую вы должны были вынести, прочитав данную статью. Ну, а насколько это в действительности и просто, и увлекательно, я, чтобы не быть голословным, покажу вам в следующий раз.
SF, spaceflyer@tut.by
Программирование — это просто!
Не знаю, кому это нужно, но многих программированием просто запугивают, буквально с детства внушая, что это очень сложное и для большинства людей совершенно непосильное занятие. С этим глубоким убеждением некоторые и живут всю жизнь, завидуя программистам (и их зарплате). На самом деле ничего особенно сложного в программировании нет. То есть, конечно, нельзя вот так вот просто однажды утром проснуться и сразу, почувствовав в себе силы, стать безо всякой предварительной подготовки хорошим программистом. Но, к счастью, этого ведь никто от вас и не требует. Для того, чтобы успешно программировать в рамках решаемых вами самостоятельно задач, вовсе не обязательно становиться программистом и получать специальное образование. Вполне достаточно тех навыков программирования, которые каждому ученику дает современная школьная система образования. Решая разнообразные прикладные задачи в MathCAD'е, вы, используя встроенные в эту мощнейшую математическую среду возможности программирования, сможете решить даже те не слишком многочисленные задачи, для которых создатели MathCAD не предусмотрели специальных функций и операторов. Открою вам небольшой секрет: дело в том, что сложность программирования заключается в его некоторой абстракции. Тем не менее, если человек использует MathCAD, это означает, что он разбирается в математике и довольно силен в абстракциях. Потому, встретившись с абстракциями программирования, математик, физик, химик, инженер или кто-либо еще вполне сможет овладеть встроенным в MathCAD языком программирования без каких бы то ни было особенных сложностей. Так что самое главное — приступая к программированию в среде MathCAD, не бойтесь его, и тогда оно само вам с удовольствием покорится.
Хорошо забытое старое
Как говорится, все новое — это хорошо забытое старое. Думаю, что, хотя программированию и учат в школе, большая часть наших читателей успела уже основательно подзабыть все, чему их на эту тему учили. Значит, совсем не лишним будет напомнить азы программирования, чтобы потом не приходилось отрываться от статьи и срочно лезть на Википедию, чтобы вспомнить смысл того или иного не вполне знакомого слова. Под программой обычно понимают какую-либо последовательность действий, записанных на специальном языке, понятном компьютерному интерпретатору. В этой последовательности главную роль играют переменные, функции и операторы. По большому счету, в программировании все эти термины означают то же самое, что и во всех остальных разделах математики. Переменные могут принимать какие-либо значения, присваиваемые им в результате действия на них операторов, а функции могут принимать значения переменных или возвращать какие-либо значения. Отличие от обычной математики здесь состоит в том, что функции могут быть записаны не просто в виде какой-либо формулы — они содержат в себе тоже некоторые последовательности команд, которые, вообще говоря, не обязаны возвращать какой бы то ни было результат.
Программирование, каким бы простым оно ни было, практически никогда не обходится без отладки — процесса доведения готовой программы до такого состояния, в котором она будет устраивать, в нашем случае, своего создателя. Методов отладки существует множество, но в целом ее суть заключается в выполнении программы пошагово, с контролем значений различных переменных в ней с целью выявления тех мест, где они начинают принимать ошибочные значения и тем самым, что называется, портят всю картину. MathCAD в полной мере поддерживает отладку программ, которые в нем пишутся, и, если эти программы будут более-менее серьезными, то вполне возможно, что и вам придется прибегнуть к функциям встроенного в эту мощную математическую среду отладчика (именно так традиционно называют инструмент, используемый для выполнения программ в пошаговом режиме и контроля значений переменных при этом). Почти в любой программе, помимо функций, операторов и переменных, встречаются управляющие ее ходом конструкции. Эти управляющие конструкции бывают разными, но самые важные из них — это условный переход и различные виды циклов. Условный переход требуется тогда, когда в программе нужно выполнить какую-то последовательность действий, но только в том случае, если выполняется какое-то условие. Например, если число четное, то мы можем вывести на экран сообщение о его четности, в противном случае — о нечетности. Что касается циклов, то они используются для короткой записи различных повторяющихся более одного раза конструкций в программе. За примерами тоже далеко ходить не надо: например, суммирование элементов вектора гораздо удобнее реализовать с помощью цикла, обращающегося к элементам этого вектора по их индексам, нежели вручную записывать сумму в виде a1 + a2 + a3 + a4. Циклы бывают тоже разными: в одних мы можем заранее указать, сколько раз выполнять записанные внутри такого цикла конструкции, в других же для прекращения повторения действий следует указать какое-либо условие. Программа в MathCAD'е — как, впрочем, и везде — записывается в виде строк, содержащих функции, операторы и управляющие конструкции. Эти строки называются программным кодом, и потому, если я буду где-то упоминать просто "код", не пугайтесь. Это означает лишь, что я имею в виду текст программы, написанной вами в среде MathCAD.
MathCAD и программирование
Традиционно программы пишутся в специальных текстовых редакторах, выделяющих цветом разные типы слов (они называются лексемами) в тексте программы. Так, например, слова, указывающие на управляющие конструкции, обычно выделяются полужирным шрифтом, а цифры записываются другим цветом, нежели буквы (если, конечно, эти цифры не входят в названия переменных и функций). Однако MathCAD — это все-таки среда не для программирования, а для решения различных математических задач, а потому написание программ в ней происходит не совсем так, как в привычных программистам средах разработки приложений. Как именно? Вот сейчас я вам об этом и постараюсь как можно доходчивее рассказать. Как и всегда в MathCAD'е, для написания программ предусмотрена специальная панель инструментов, которая так и называется — Programming (так слово "программирование" записывается по-английски). На этой панели совсем немного кнопок, но, поверьте мне, если вам придется прибегнуть к программированию при решении каких-либо задач в MathCAD'е, то каждая из них вам понадобится неоднократно. Поэтому, полагаю, лучше с самого начала рассказать, какая из них для чего предназначена.
Первая из всех кнопок по порядку — Add Line. С ее помощью добавляется новая строка в программный код, которые вы пишете в MathCAD'е, а также создается новая программ. Программный код отличается по своему внешнему виду от обычных математических операторов в MathCAD'е — вы сами можете убедиться в этом, нажав данную кнопку. Отличие состоит в присутствии жирной вертикальной полосы слева от кода. Если у вас под рукой нет запущенного MathCAD'а, то можете взглянуть на иллюстрацию, показывающую пример пустого (практически пустого, если быть несколько более точным) программного кода в MathCAD'е.
Самый важный оператор при программировании — это присваивание значения переменной. Он в MathCAD'е изображается стрелкой, направленной справа налево, и находится также в верхнем ряду кнопок на панели инструментов Programming (имеется в виду вертикальная компоновка кнопок на панели — такая, как показанная на соответствующей иллюстрации). Кнопки if и otherwise нужны для записи оператора условного перехода, а кнопки for, while, break и continue — для создания циклов и управления ими. А кнопки return и on error пригодятся при записи функций. Хотя, конечно, последняя из них пригодится не только при этом. Обо всем этом — циклах, условных переходах, функциях и прочих полезных и важных вещах — мы с вами поговорим уже в следующий раз, поскольку, чтобы подробно в них разобраться, лучше делать это на свежую голову, а информации на вас я сейчас и так вывалил уже порядочно.
Что ж, давайте пока что подведем итоги всему вышесказанному. Их будет, конечно, не много, потому что никакой практикой в плане программирования в MathCAD'е мы пока не успели позаниматься, но волноваться по этому поводу ни в коем случае не следует — как говорится в русской поговорке, всякому овощу свое время. Программировать в MathCAD можно и нужно — вот та самая мысль, которую вы должны были вынести, прочитав данную статью. Ну, а насколько это в действительности и просто, и увлекательно, я, чтобы не быть голословным, покажу вам в следующий раз.
SF, spaceflyer@tut.by
Компьютерная газета. Статья была опубликована в номере 38 за 2008 год в рубрике soft