metod_15.03.04_atppp_oaip_mu_2016 (1016597), страница 2
Текст из файла (страница 2)
Отчет.1. Постановка задачи и цели лабораторной работы.2. Алгоритм решения задачи.3. Программа на языке Паскаль.4. Решение задач для одного из вариантов, указанного преподавателем.V. Контрольные вопросы.1. Суть метода итераций для решения нелинейного уравнения.Записать рабочую форму.2. В чем заключается условие сходимости метода итераций?3. В чем заключается метод трапеций для вычисления определенного интеграла?Запишите рабочую формулу этого метода?74. В чем заключается метод Эйлера для решения дифференциального уравнения?5.
Как оформляется подпрограмма-функция?6. Что такое оператор присваивания?7. Как организуется цикл на языке Паскаль?8Лабораторная работа № 3Решение задач с использованиеммассивовI. Цель работы: закрепление практических навыков работы на компьютере, разработка алгоритмов циклической структуры, составление циклических программобработки одномерных и многомерных массивов данных, исправление и подготовка к выполнению программ на языке Паскаль.II.
Краткие сведения из теории.Массивы удобно использовать, когда обработке подлежат не отдельные значения, а целые совокупности однотипных данных, например, строчка текста можетбыть представлена в виде массива символов, вектор представляет собой массиввещественных чисел. Массив можно представить в виде совокупности ячеек,каждая из которых может хранить одно значение. Все ячейки одинаковы и поэтому могут хранить данные только одного типа.
Все ячейки одинаково доступны, для того, чтобы занести значение или извлечь его, следует указать соответствующую ячейку. Если ячейки расположены в один ряд (массив является одномерным), для указания ячейки достаточно назвать ее порядковый номер в ряду.Ячейки также могут быть расставлены в виде прямоугольной таблицы (массивявляется двумерным), тогда для указания ячейки необходимо указать номер строки и столбца, в которых расположена ячейка, и т. д. Количество чисел, котороенеобходимо задать для указания одной ячейки – элемента массива, равно числуизмерений массива. Числовые выражения, значения которых идентифицируютэлемент массива, называют индексами этого элемента. Индексы записываютсяпосле имени массива в квадратных скобках через запятую, например, А [3], MAS[5,6], AB [I,J], B [I + J].
Массивы в языке Паскаль могут быть не только одномерными или двумерными, но и трехмерными, четырехмерными и т. д. Число измерений массива и число элементов по каждому измерению ограничено объемомсвободной памяти. Массивы относятся к сложным (структурным, или структурированным) типам данных.Массивы широко и эффективно используются в математике, экономике, информатике для описания упорядоченных наборов данных: векторов, матриц, таблиц, очередей, списков.
Особенно широкое распространение получили двумерные массивы, иначе называемые матрицами. Матрица – система mхn чисел, расположенных в прямоугольной таблице из m строк и n столбцов.Операции над матрицами определяются с помощью операций над их элементами. Произведение матрицы A [a i j] размерности m х n на матрицу B [b j k]размерности n х r есть матрица C [c i k] размерности m х r.C AB [a ][b] [c ] ,гдеijjkikcikna bijjkj 1Таким образом, элемент C i k матрицы С есть сумма произведений элементов iой строки матрицы А на соответствующие элементы k-го столбца матрицы В.
В9каждом произведении матриц А х В число n столбцов матрицы А должно равняться числу строк матрицы В (форма матриц А и В должна быть согласованной).Из существования произведения А х В вовсе не следует существование произведения В х А.При выполнении лабораторной работы следует обратить внимание на применение в качестве индексов компонент (элементов) массива скалярных констант ипеременных.III. Постановка задач и алгоритмы решения.Задача 1.
Задан одномерный массив. В этом массиве необходимо найти минимальный элемент и указать его индекс.Задача 2. Даны две матрицы: матрица А размерности m х n и матрица В размерности n х r. Необходимо вычислить матрицу С = А х В и вывести на экранэлементы этой матрицы.Постарайтесь самостоятельно составить блок-схемы алгоритмов к данным задачам.IV. Порядок выполнения работы.1.
Подготовить компьютер к работе.2. На внешнем носителе создать файлы скорректированных (измененных) программ.3. Подготовить к выполнению программы (первоначально убедиться, что все необходимые системные программы имеются на диске).4. Выполнить готовые загрузочные программы (варианты исходных данныхнеобходимо взять у преподавателя).5. Провести анализ полученных результатов, убедиться в их правильности.V. Контрольные вопросы.1.
Что такое массив? Каким образом можно представить массив?2. Что такое индекс элемента массива?3. Что называется матрицей?4. Каков общий вид формы описания массива в разделе переменных Var?5. Как происходит обращение к компонентам массива?6. Допустимо ли использование двумерных массивов в языке Паскаль?7. Каким образом реализуются операции ввода-вывода элементов массива в языкеПаскаль?10Лабораторная работа № 4Поиск экстремумов функцииI.
Цель работы.Целью работы является закрепление практических навыков работы на компьютере, ввода программ и данных в компьютер, выполнения и исправления программна языке ПАСКАЛЬ в режиме диалога, разработка активной стратегии поискаэкстремальных точек, ознакомление с методом поиска экстремума скалярнойфункции - методом дихотомии (половинного деления), программирование алгоритмов сложной структуры.II. Краткие сведения из теории.Многие задачи прикладной математики и кибернетики, возникающие в системном анализе исследовании операций, организации управления, являются по сутизадачами поиска экстремума. При заданной функции z = f (x) (рассматриваетсяскалярный случай) ставится задача отыскания экстремума - максимума, либо минимума.В рамках одной и той же задачи можно применять различные стратегии поиска x*,z* (z* - значение функции z = f(x) в экстремальной точке x*) и естественно попытаться найти ту стратегию, которая является наилучшей в смысле уменьшенияобъема вычислений.
Поэтому наряду с главным требованием – найти точку экстремума z – возникает дополнительное требование выбора стратегии поиска, обладающей нужными свойствами.Часто на практике возникают такие ситуации, когда вид зависимости z = f (x)известен, но аналитические методы решения по каким-либо причинам не удаетсяприменить. В этом случае исследователь вынужден прибегать к численным методам поиска экстремума.Будем считать, что мы ищем максимум функции z = f (x) в некотором интервале a x b. Предположим, что функция z обладает такими особенностями:*имеет только один максимум на интервале определения (свойство унимодальности);*может не удовлетворять требованиям непрерывности, существования производной во всех точках и т.
п.Пусть x1 и x2 – значения x в двух экспериментах, дающих соответственно z1 иz2 , x* – значение x, при котором функция z достигает максимума: max z = z *. Подэкспериментом будем понимать проведение каких-либо измерений или вычислений. Значения функции z при тех или иных значениях x получаются путем проведения экспериментов. Полагаем, что x1 x2. Тогда, функция z = f (x) являетсяунимодальной, если из условия x1 x* следует z1 z2, а из условия x2 x* – z1 z2.Аналогичное определение унимодальной функции можно дать в случае рассмотрения min z.Введенное определение унимодальности позволяет прийти к важному выводу:результат любой пары экспериментов должен указать такой интервал значений x,11который по своей величине меньше исходного интервала [a, b] и обязательно содержит x*.
Этот факт позволяет организовать пошаговый процесс последовательного сужения указанных подинтервалов, с тем чтобы, в конце концов, приблизиться к x*.Будем считать, что в распоряжении исследователя находиться N эксперимен-тов.Стратегии поиска, в которых выбор очередных значений x зависит от резуль-татовпредшествующих экспериментов, называются активными, в отличие от пассивныхстратегий, в которых еще до начала эксперимента назначены все x1, x2,...
xNДалее познакомимся с методом дихотомии, который необходим для проведения лабораторной работы.Метод дихотомии (половинного деления).Данный метод является самым простым методом поиска.Содержание метода: из N экспериментов, находящихся в распоряжении исследователя, выбираются два (x1, x2) и размещаются на исходном интервале [a, b]симметрично относительно середины S отрезка на расстоянии /2 от нее.
Результатом сравнения величин z1 и z2 (значения функции z = f(x) в точках x 1 и x 2 , соответственно) является указание интервала L1 b a / 2 (считаем, что он смещен влево).Интервал, на который должно приходиться значение x *, назовем интерваломнеопределенности, – своего рода чувствительность метода.Получив L1,можно повторить применительно к нему описанную выше процедуру, используя для этого следующую пару (x3, x4); это даст новый интервал неопределенностиL2 L1 / 2 14 b a 3Затем наступает очередь следующей пары (x5 , x6 ), размещаемой в окрестности середины отрезка L2 и позволяющей получить1L3 = (b+)/2 = (b-a+7).8Процесс продолжается до тех пор, пока не будут проведены два последнихэксперимента в xN-1 и xN.
Длина оставшегося интервала неопределенности характеризует эффективность метода и представляется какLN = (d-f+(2N/2-1))/2N/2Особенностью рассматриваемой схемы является то, что эффективность использования очередной пары экспериментов снижается по сравнению с эффективностью предыдущей пары. Практически не имеет смысла использовать более 7 - 8пар. Эффективность метода дихотомии снижается с увеличением .III.
Постановка задачи и алгоритм решения.Задача. Использовать метод дихотомии (половинного деления) для поиска максимума функцииz a1 x5 b1 x 4 c1 x 3 d1 x 2 e1 x f 1 g1 exв интервале [a, b].12Для каждого варианта будут заданы конкретные числовые значения коэффициентов a1, b1, c1, ... q1. Алгоритм решения поставленной задачи сформулируйте самостоятельно.IV. Порядок выполнения работы.1. Подготовить компьютер к работе.2. Написать программу.3. На внешнем носителе создать файл скорректированной программы.4. Подготовить к выполнению программу.5. Провести анализ полученных результатов.6. Варианты задания на выполнение работы необходимо получить у преподавателя.V.
Контрольные вопросы.1. Дайте определение унимодальной функции.2. Что называется интервалом неопределенности?3. Каким образом выполняются оператор цикла с постусловием (REPEAT - UNTIL), оператор цикла с параметром (FOR – TO - DO), оператор цикла с предусловием (WHILE - DO)?4. Каково назначение оператора безусловного перехода (GOTO)?5. С какой целью используются подпрограммы в языке Паскаль?6. Как активизируется подпрограмма в программе на Паскаль?13.