Главная страница
Навигация по странице:

  • Оператор внутреннего присваивания

  • Оператор

  • Оператор on error и функция error

  • ПРИМЕНЕНИЕ

  • Задание

  • методичка. Решение математических задач в среде Mathcad методические указания к лабораторным работам


    Скачать 2.22 Mb.
    НазваниеРешение математических задач в среде Mathcad методические указания к лабораторным работам
    Анкорметодичка
    Дата17.06.2022
    Размер2.22 Mb.
    Формат файлаdocx
    Имя файлаmetodichka_mathcad_2019_11043846.docx
    ТипРешение
    #600647
    страница7 из 10
    1   2   3   4   5   6   7   8   9   10

    ЛАБОРАТОРНАЯ РАБОТА 4


    РАБОТА С ФАЙЛАМИ, ИСПОЛЬЗОВАНИЕ УСЛОВНЫХ ФУНКЦИЙ И ПРОГРАММИРОВАНИЕ В СРЕДЕ MATHCAD

    Цель лабораторной работы – ознакомиться с основными опе- раторами, обеспечивающими работу с файлами данных, организацию вычислений с условными функциями, и изучить основы программи- рования в среде MathCAD.

    Работа с файлами данных


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

    READPRN("Имя_файла"). Эта операция считывает данные в виде матрицы. Функция READPRN возвращает матрицу, значения элементов которой однозначно связаны со значениями элементов файла. Или, точнее, каждая строка или столбец возвращаемой матри- цы подобны соответствующим строкам или столбцам текстового представления файла.

    WRITEPRN("Имя_файла"). Эта операция применяется для записи матричного выражения (или матрицы) в файл с указанным именем. Структура файла подобна структуре матрицы.

    APPENDPRN("Имя_файла"). Эта операция дописывает дан- ные в уже существующий матричный файл. Следует особо отметить, что при работе с векторами и матрицами, имеющими комплексные элементы, эти операции используют расширенные векторы или мат- рицы, элементы которых действительные числа.

    Имя файла включает путь к файлу. Можно задавать как полный путь к файлу, например, С:\Мои документы, так и относительный, имея в виду, что он будет отсчитываться от папки, в которой находит- ся файл с документом MathCAD. Если вы задаете в качестве аргумен- та просто имя файла, то файл будет записан или прочитан из той пап- ки, в которой находится сам документ MathCAD.

    На рис. 20 приведены примеры использования операторов для ввода-вывода данных.


    Рис. 20

    Использование функций с условиями сравнения


    В системе MathCAD существует ряд встроенных функций, у ко- торых возвращаемый ими результат зависит от знака или значения ар- гумента. Так, при их вычислении производится сравнение аргумента с некоторыми числовыми константами, например с нулем или целыми числами. Ниже представлены такие функции с условиями сравнения:

    ceil(x) – наименьшее целое, большее или равное x; floor(x) – наибольшее целое, меньшее или равное x; mod(x,y) остаток от деления x/y со знаком x;

    angle(x,y) – положительный угол между осью x и радиус- вектором точки с координатами (x, y);

    (x) функция Хевисайда единичного скачка (дает 0 при

    x < 0 и 1 в противном случае);

    (m,n) функция, именуемая символом Кронекера, возвращаю- щая 1 при m= nи 0 в противном случае.

    Функцию Хевисайда можно использовать для задания прямо- угольного импульса с шириной

    pulse(t, ):= (t) – – ).

    Более широкие возможности дает функция if для создания условных выражений:

    if(Условие, Выражение 1, Выражение 2).

    Если в этой функции условие выполняется, то вычисляется вы- ражение 1, в противном случае выражение 2 (рис. 21).

    Использование программных модулей






    Рис. 21
    Программные операторы сосредоточены в наборной панели про- граммных элементов (рис. 22). Набор программных элементов весьма ограничен.




    Рис. 22

    Add Line создает и при необходимости расширяет жирную вертикальную линию, справа от которой в шаблонах задается запись программного блока;

    символ локального присваивания (телепрограммного мо-

    дуля);

    if оператор условного выражения;

    for оператор задания цикла с фиксированным числом продол- жений

    while оператор задания цикла типа "пока" (цикл выполняется, пока выполняется некоторое условие);

    otherwise – оператор иного выбора (обычно применяется с if); break – оператор прерывания;

    continue – оператор продолжения; return оператор-функция возврата; on error оператор обработки ошибок.

    Пример использования программных операторов приведен на следующей странице (рис. 23).



    Рис. 23
    Оператор Add Line выполняет функции расширения программ- ного блока. Расширение фиксируется удлинением вертикальной черты программных блоков или их древовидным расширением.

    Оператор внутреннего присваивания выполняет функции внутреннего локального присваивания. Например, выражение x

    присваивает переменной x значение 12. Локальный характер присваи- вания означает, что такое значение x сохраняет только в теле про- граммы. За пределами тела программы значение переменной может быть не определенным либо равно значению, которое задается опера- тором локального := и глобального присваивания.

    Оператор создания условных выражений if задается в виде

    Выражение if Условие

    Если условие выполняется, то возвращается значение выраже- ния. Совместно с этим оператором часто используются операторы прерывания break и оператор иного выбора otherwise.

    Оператор for служит для организации циклов с заданным чис- лом повторений. Он записывается в виде

    for Var Nmin..Nmax

    Эта запись означает, что если переменная Var меняется с шагом

    +1 от значения Nmin до Nmax, то выражение, помещенное в шаблон, будет выполняться. Переменную счетчика Var можно использовать в выражениях программы.

    Оператор While служит для организации циклов, действующих до тех пор, пока выполняется некоторое условие. Этот оператор запи- сывается в виде

    while Условие

    Выполняемое выражение записывается на место шаблона.

    Оператор otherwise (иначе) обычно используется совместно с оператором if. Его использование поясняет следующая программная конструкция:


    Оператор break вызывает прерывание работы программы вся- кий раз, как он встречается. Чаще всего он используется совместно с оператором условного выражения if и операторами циклов while и for, обеспечивая переход в конец тела цикла.

    Оператор continue (продолжения) используется для продолже- ния работы после прерывания программы. Он также используется обычно совместно с операторами задания циклов while и for, обеспе- чивая после прерывания возврат в начало цикла.

    Оператор-функция возврата return прерывает выполнение программы и возвращает значение своего операнда, стоящего следом за ним. Например, в приведенном ниже случае

    return 0 if x < 0 будет возвращаться значение 0 при любом x< 0.

    Оператор on error и функция error. Оператор обработки оши- бок позволяет создавать конструкции обработчиков ошибок. Этот оператор задается в виде

    Выражение_1 on error Выражение_2

    Здесь если при выполнении Выражения_1 возникает ошибка, то выполняется Выражение_2. Для обработки ошибок полезна также функция error(S), которая будучи в программном модуле возвращает окошко с надписью, хранящейся в символьной переменной Sили в символьной константе (любой фразе в кавычках).

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

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


    2

    10
    a1+a2+…+a10(рис. 24, 25).



    Рис. 24



    ПРИМЕНЕНИЕ ПРОГРАММНЫХ БЛОКОВ
    Применение условного оператора в программном блоке


    f( x)

    0 if x 2

    x 10 9.99 10



    e
    4 x2 otherwis

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

    sum( n) s 0

    prod( n) p 1

    prod( 4) 24

    for i 1 n

    for i 1 n

    s s i

    sum( 10) 55

    sum( 25) 325

    p p i




    p

    prod( 8) 4.032104


    Применение оператора цикла while и break для вычисления первого элемента массива, превосходящего заданное число (1,98) и

    выдачи индекса этого элемента.

    m 0 2500 vm 1 sin( m) Cоздание массива

    t( v thesh )

    j 0

    break

    if max( v) thesh

    Инициализация счетчика

    Отслеживание специального случая

    while vj thesh j j 1

    j vj


    t( v 1.98)

    8

    1.989

    Впервые восьмой элемент массива превосходит заданную величину
    Рис. 25



    Порядок выполнения работы


    1. Войти в систему MathCAD. Внимательно ознакомиться с опи- санием лабораторной работы. Выполнить некоторые рассмотренные примеры. После завершения изучения описания удалить с листа рас- смотренные примеры.


    1. 44
      Выполнить средствами пакета MathCAD последовательность заданий из вариантов, указанных преподавателем, формируя единый до- кумент. Каждую задачу обязательно сопровождать комментариями.

      1. Выполнить задание 1.

      2. Выполнить задание 2.

      3. Используя условную функцию if, построить график ступен- чатой функции задания 3.

      4. Используя программный модуль решить задачу из задания 4.

      5. Используя программный модуль решить задачу из задания 5.

      6. Используя подпрограммы, решить задачу из задания 6.



    Содержание отчета


    1. Титульный лист.

    2. Решение всех задач с комментариями.

    3. Выводы.



    Контрольные вопросы


    1. Перечислите основные операторы для работы с файлами данных.

    2. Напишите структуру оператора условия if.

    3. Назовите основные программные операторы MathCAD.

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

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

    6. Каким образом можно организовать вложенные циклы ?





    ЗАДАНИЯ ДЛЯ ВЫПОЛНЕНИЯ
    Задание 1. Сформировать массив чисел по выражению, задан- ному в таблице. Записать значения элементов массива в файл с ука- занным именем. Сосчитать массив из записанного файла и умножить все его элементы на указанный скаляр.


    Номер варианта

    Длина вектора

    Выражение

    Скаляр

    Имя файла


    1


    8

    i

    i 1


    2,5


    first


    2


    7

    1

    i 1


    –2,7


    second


    3


    9

    5

    i


    3,6


    third


    4


    8

    10

    i 1


    3,2


    fourth


    5


    7

    1



    2i


    -4,3


    fifth


    6


    9

    1

    2i 1


    2,8


    sixth


    7


    8

    5

    2i 1


    –1.7


    seventh


    8


    7

    3

    0, 5i 1


    3,9


    eighth


    9


    9

    1

    0, 3i 3


    –2,4


    ninth


    10


    6

    1

    0, 7i 1


    3,5


    tenth

    Задание 2. Сформировать матрицу размером и по выражениям, заданным в таблице. Записать значения элементов этой матрицы в файл. Найти максимальный элемент. Обнулить матрицу путем умножения на 0. Сосчитать значения матрицы из файла и вывести ее на экран.



    Номер варианта

    Размер матрицы

    Выражение

    Имя файла

    1

    4×4

    ai, j (i 1) ( j 1)

    prima

    2

    4×5

    ai, j i j i

    seconda

    3

    3×5

    ai, j 2 i j

    tercia

    4

    5×3

    ai, j (i j) (i j)

    quarta

    5

    3×3

    ai, j i j 2

    quinta

    6

    4×3

    ai, j i j 3 1

    sexta

    7

    3×4

    ai, j (i j) 5 2

    septima

    8

    4×4

    ai, j (i j) 4 2

    octava

    9

    5×4

    ai, j (i j) 7 2

    nonan

    10

    5×5

    ai, j (i j) 3 1

    desima

    Задание 3.




    1. y(x)





    1. y(x)


    1. y(x)



    1. y(x)


    1. y(x)



    1. y(x)




    1. y(x)




    1. y(x)


    1. y(x)



    1. y(x)

    Задание 4.


    1. Вычислить 100 1

    i


    1. Вычислить

    1 i2



    1. Вычислить 128 1

    i1 i3


    1. Вычислить 120 1

    i1 i


    1. Вычислить



    1. Вычислить


    1. Вычислить


    1. Вычислить


    1. Вычислить


    1. Вычислить

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

    модулю меньше, чем Указать количество учтенных слагаемых.




    1. Для x = 1,28 и

    = 0,000001

    2. Для x= 3,51 и

    = 0,000001

    3. Для x= 1,21 и

    = 0,000001

    4. Для x= 2,47 и

    = 0,000001


    5. Для x= 3,11 и


    = 0,000001

    6. Для x= 1,85 и

    = 0,000001


    7. Для x= 2,01 и


    = 0,000001

    8. Для x= 1,09 и

    = 0,000001

    9. Для x= 3,12 и

    = 0,000001



    .


    10. Для x= 0,89 и = 0,000001


    51
    Задание 6.



    Номер варианта

    Выражение

    Номер варианта

    Выражение


    1

    100 50 1

    i1 j1 i j2


    6

    50 10 2 3

    cos(i j)

    i1 j1


    2

    100 60 3 4

    sin(i j)

    i1 j1


    7

    100100 j i 1

    i1 j1 2i j


    3

    100100 j i 1

    i1 j1 i j


    8

    50 60 2 3

    sin(i j)

    i1 j1


    4

    100 i 1

    i1 j1 i 2 j


    9

    20 20 3 2

    5cos(i j)

    i1 j1


    5

    10 15

    i3 (i j)2

    i1 j1


    10

    30 20 2x i

    для x= 3,2

    i1 ji 0,5j





    1   2   3   4   5   6   7   8   9   10


    написать администратору сайта