Выбор методов решения и их обоснование 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Выбор методов решения и их обоснование



ЗАДАНИЕ

Вариант №12

Составить схему алгоритма и программу для построения графика временной функции, работающую как в машинном, так и реаль­ном времени. Реальное время в диапазоне (t0 - tкон) формируется таймером в виде программного модуля с метками Тк, называемыми временем квантования. При вычислении функции использовать алгоритм Горнера (схему Горнера).

   

Функция:

у = | at2 + bt + c + d |,

где t0 = 0с; tкон=10с; Тк = 0,5с;

d - корень нелинейного уравнения 0,25 х3 + х - 1,2502 = 0, которое надо решить методом Ньютона с точностью ε = 10-3, при начальном значении корня, лежащего в диапазоне [0; 2];

с - наибольший по абсолютному значению корень системы уравнений:

                    a1z + b1p = d1

                    a2z + b2p = d2,

 

при a1 = 3; b1 = 1; d1 = 2;

  а2 = 3; b2 = 3; d2 = 3.

 

Коэффициенты:

   a = 1,2;

   b = | d – a |.

 

 

СОДЕРАЖАНИЕ

 

Введение ……………………………………………………………….….......6

1. Выбор методов решения и их обоснование ………………………….…..8

1.1 Метод Ньютона для решения нелинейного уравнения...………......8

1.2 Метод Крамера для решения системы линейных уравнений ……..9

1.3 Алгоритм Горнера для вычисления значений функции …………....9

1.4 Понятие машинного и реального времени..…………………….....10

1.5 Дискретизация времени..……………………………………….........10

1.6 Реализация временных задержек в программе...………….……....10

1.7 Масштабирование...............................................................................11

2. Разработка схем алгоритмов и программ...…………………………..…13

2.1 Таблица переменных...…………………..…………………………..13

2.2 Схема алгоритма основной программы ………….......…………….13

2.2 Схемы алгоритмов подпрограмм ……………………….…………..16

2.2.1 Схема алгоритма подпрограммы решения нелинейного

    уравнения.....................................................................................16

2.2.2 Схема алгоритма подпрограммы решения системы двух

    линейных уравнений.............................................…..……..…..17

2.2.3 Схема алгоритма подпрограммы вычисления значения

    многочлена методом Горнера................................………...….17

2.2.4 Схема алгоритма подпрограммы нахождения значений

    временной функции …..…....................................................…..18

2.2.5 Схема алгоритма подпрограммы реализации временных

    задержек...…….………...................................……………....…21

2.2.6 Схема алгоритма подпрограммы вывода исходных данных..22

2.2.7 Схема алгоритма подпрограммы вывода результатов

    вычисления..................................................................................22

3. Вывод значений функции и её коэффициентов........................….……23

3.1 Значение коэффициентов.................................................…………..23

3.2 Значения временной функции …....……………..………………….23

3.3 График временной функции...………...............……………………24

Заключение...……………………………………………………………......25

Список использованных источников...………………………………........26

 

ВВЕДЕНИЕ

  Basic (Beginners All-purpose Symbolic Instruction Code) — многоцелевой язык символических инструкций для начинающих) представляет собой простой язык программирования, разработанный в 1964 году для использования новичками в программировании. Он был разработан как простейший язык для непосредственного общения человека с вычислительной машиной. Поэтому первоначально работа велась в интерактивном режиме с использованием интерпретаторов. В настоящее время для этого языка имеются также и компиляторы.

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

Создание Microsoft QuickBASIC (сокращенное обозначение – QB) в середине 80-х годов произвело настоящую революцию в мире BASIC, результатом которой было то, что впервые этот язык занял достаточно прочные позиции среди средств разработки серьезных прикладных систем.В QuickBASIC в достаточно полной мере реализованы идеи структурного и модульного программирования, возможности использования процедур и функций.

Специфика технологии программирования в среде QB определяется наличием в ней двух трансляторов – интерпретатора и компилятора. Основу интегрированной среды, в которой выполняется основной объем разработки и отладки программы, составляет Интеллектуальный редактор и интерпретатор компилирующего типа (ИКТ). ИКТ – это новый тип интерпретатора, который производит предварительные "компиляцию и компоновку" программы в специальный псевдокод, а затем уже ее выполнение. При завершении отладки программы пользователь может создать исполняемый EXE-модуль с помощью настоящего компилятора и компоновщика программ.

Дискретизация времени

 

При реализации программы в реальном времени непрерывные процессы заменяются на дискретные. При этом временной интервал t представляется как совокупность дискретных интервалов:

t = nTk,

где Tk – время квантования или период квантования (квант); n – количество шагов или квантов.

Масштабирование

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

При размещении результатов вычислений очень удобно пользоваться оператором PRINT совместно с функцией TAB. Конечно, можно использовать и оператор LOCATE. Функция TAB и оператор LOCATE рассмотрены в предыдущих разделах.

Что касается построения графиков функций, то можно использовать графические операторы PSET и LINE. Однако при построении графиков необходимо всегда решать вопрос, связанный с масштабированием графиков. Во-первых, при построении графиков на компьютере пользователь всегда имеет дело с дискретными функциями: yn = f(ndx) или yn = f(nTk), где dx – шаг изменения аргумента; Tk – период квантования, который является тоже шагом по аргументу, которым является время t = nTk.

Необходимо всегда оценивать минимальное и максимальное значение функции: y0(min) при n=0 и yn(max) при nmax.

Кроме того, необходимо выбрать начальную точку (a, b) для построения графика, определить границы окончания графика справа и сверху, а потом рассчитать масштаб по аргументу и по функции. Для пояснения на рисунке 10.3 показан произвольный график:

 

Рисунок 10.3. К выбору масштаба

 

Если исходить из разрешающей способности 640х480 пикселей (12 режим экрана монитора), то:

- количество пикселей по оси Х: 640 – а – а1;

- количество пикселей по оси У: b – b1,

где а1 и в1 – отступы соответственно с правой и верхней сторон экрана, как показано на рисунке 10.3.

Тогда масштабы по осям Х(Мх) и Y(Му) равны:

.

 

С учетом Мх и Му координаты точек для оператора PSET будут следующими:

 

.

 

В этих формулах учитывается, что по оси абсцисс количество пикселей возрастает при увеличении n, а количество пикселей по оси y убывает.

Для проверки правильности выбора а2 и в 2 надо подставить в эти формулы значения nmax и ymax вместо n и y. При этом a2 = 640 – a1, а b2 = b1, то есть, последние значения будут соответствовать значениям отступов. Таким образом, при построении графика следует использовать PSET с координатами (a2,b2):

 

.

 

Для возможности перемещения графика по экрану рекомендуется расчет масштабирования вводить в программу.

Многочлена методом Горнера

Схема алгоритма подпрограммы ПП3 вычисления значения многочлена методом Горнера приведена на рисунке 2.5. Схема алгоритма состоит из 7 блоков. Блок 1 – это начало, блок 7 – это конец. Программный модуль начинает работу с блока 2, который задает коэффициенты K(1), K(2), K(3). В блоке 3 согласно схеме Горнера присваивается начальное значение переменной f=K(1), которая впоследствии дает искомое значение функции. После этого включается блок 4, который организует цикл с перебором значений K(i), i=2, 3, и выполнением блока 5, накапливающего значение функции f = f * t + K(i). В блоке 6 в итоге получаем искомое значение f=|f|.

Рисунок 2.5. – Схема алгоритма подпрограммы вычисления значения

многочлена методом Горнера

Временной функции

Схема алгоритма подпрограммы ПП4 нахождения значений временной функции приведена на рисунке 2.6. В состав схемы алгоритма входят 13 блоков. Блок 1 – это начало, блок 13 – конец. Программный модуль начинает работу с блока 2, который задает начальное значение аргумента t = t0 и объявляет массив DIM y(0 TO 100). Затем блок 3 обращается к подпрограмме ПП3, чтобы вычислить первое значение временной функции. Это значение фиксируется блоком 4, где также задаются начальные наименьшее и наибольшее значения функции ymax, ymin, присваевается значение параметру j = 0. Далее включается блок 5, который организует цикл с перебором значений аргумента t от t0 + tk до tkon с шагом tk. В цикле периодически происходит обращение к подпрограмме ПП3 (блок 7), а блоки 6 и 8 фиксируют значения функции в элементах массива y(j), изменяя параметр j= j+1. Также в цикле с помощью блоков 9 – 12 организуется поиск наименьшего ymin и наибольшего ymax значений временной функции.

 


Временных задержек

Схема алгоритма подпрограммы ПП5 реализации временных задержек

 приведена на рисунке 2.7. В состав схемы алгоритма входят 4 блока. Блок 1 – это начало, блок 4 – конец. Программный модуль начинает работу с блока 2, который организует цикл. Блок 3 выполняет вычисления time=exp (0.5), time=0. Время задержки регулируется путём изменения параметров цикла.

Рисунок 2.7. – Схема алгоритма подпрограммы реализации временных задержек

Значение коэффициентов

 

a = 1.2;

b = 0.1998857;

c = 0.5;

d = 1.000114.

 

Значения временной функции

T Y
0 1.500114
0,5 1.900057
1,0 2.9
1,5 4.499943
2,0 6.699886
2,5 9.499829
3,0 12.89977
3,5 16.89972
4,0 21.49966
4,5 26.6996
5,0 32.49954
5,5 38.89949
6,0 45.89943
6,5 53.49937
7,0 61.69931
7,5 70.49926
8,0 79.8992
8,5 89.89915
9,0 100.4991
9,5 111.699
10 123.499

                              

График временной функции

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

Рисунок 3.1. – График временной функции

                         ЗАКЛЮЧЕНИЕ

В данной курсовой работе необходимо было разработать программу для построения графика временной функции, работающую как в машинном, так и в реальном времени. В программу также должны были входить подпрограммы для вычисления корней нелинейного уравнения методом Ньютона, нахождения корней системы двух линейных уравнений и выбора наибольшего из них по абсолютному значению. Все подпрограммы – внутренние.  Значения функции рассчитывались по схеме Горнера. При разработке использовался язык BASIC (версия: Microsoft QuickBASIC v.5).

 

Примечание: электронный вариант программы находится на приложенной к пояснительной записке дискете под именем Markevich12.bas, а электронный вариант пояснительной записки – под именем Пояснительная_записка.doc.

 

 

     Список использованных источников

1. Конспект лекций по дисциплине «Информатика».

2. Конспект лекций по дисциплине «Высшая математика».

3. Кетков. Ю.Л. GW-, Turbo- и QuickBasic для IBM PC.– М.: «Финансы и статистика», 1992.

4. Дьяконов Б. Г. Справочник по алгоритмам и подпрограммам на языке Бейсик для персональных ЭВМ. – М.: «Наука», 1987.

 

 

ЗАДАНИЕ

Вариант №12

Составить схему алгоритма и программу для построения графика временной функции, работающую как в машинном, так и реаль­ном времени. Реальное время в диапазоне (t0 - tкон) формируется таймером в виде программного модуля с метками Тк, называемыми временем квантования. При вычислении функции использовать алгоритм Горнера (схему Горнера).

   

Функция:

у = | at2 + bt + c + d |,

где t0 = 0с; tкон=10с; Тк = 0,5с;

d - корень нелинейного уравнения 0,25 х3 + х - 1,2502 = 0, которое надо решить методом Ньютона с точностью ε = 10-3, при начальном значении корня, лежащего в диапазоне [0; 2];

с - наибольший по абсолютному значению корень системы уравнений:

                    a1z + b1p = d1

                    a2z + b2p = d2,

 

при a1 = 3; b1 = 1; d1 = 2;

  а2 = 3; b2 = 3; d2 = 3.

 

Коэффициенты:

   a = 1,2;

   b = | d – a |.

 

 

СОДЕРАЖАНИЕ

 

Введение ……………………………………………………………….….......6

1. Выбор методов решения и их обоснование ………………………….…..8

1.1 Метод Ньютона для решения нелинейного уравнения...………......8

1.2 Метод Крамера для решения системы линейных уравнений ……..9

1.3 Алгоритм Горнера для вычисления значений функции …………....9

1.4 Понятие машинного и реального времени..…………………….....10

1.5 Дискретизация времени..……………………………………….........10

1.6 Реализация временных задержек в программе...………….……....10

1.7 Масштабирование...............................................................................11

2. Разработка схем алгоритмов и программ...…………………………..…13

2.1 Таблица переменных...…………………..…………………………..13

2.2 Схема алгоритма основной программы ………….......…………….13

2.2 Схемы алгоритмов подпрограмм ……………………….…………..16

2.2.1 Схема алгоритма подпрограммы решения нелинейного

    уравнения.....................................................................................16

2.2.2 Схема алгоритма подпрограммы решения системы двух

    линейных уравнений.............................................…..……..…..17

2.2.3 Схема алгоритма подпрограммы вычисления значения

    многочлена методом Горнера................................………...….17

2.2.4 Схема алгоритма подпрограммы нахождения значений

    временной функции …..…....................................................…..18

2.2.5 Схема алгоритма подпрограммы реализации временных

    задержек...…….………...................................……………....…21

2.2.6 Схема алгоритма подпрограммы вывода исходных данных..22

2.2.7 Схема алгоритма подпрограммы вывода результатов

    вычисления..................................................................................22

3. Вывод значений функции и её коэффициентов........................….……23

3.1 Значение коэффициентов.................................................…………..23

3.2 Значения временной функции …....……………..………………….23

3.3 График временной функции...………...............……………………24

Заключение...……………………………………………………………......25

Список использованных источников...………………………………........26

 

ВВЕДЕНИЕ

  Basic (Beginners All-purpose Symbolic Instruction Code) — многоцелевой язык символических инструкций для начинающих) представляет собой простой язык программирования, разработанный в 1964 году для использования новичками в программировании. Он был разработан как простейший язык для непосредственного общения человека с вычислительной машиной. Поэтому первоначально работа велась в интерактивном режиме с использованием интерпретаторов. В настоящее время для этого языка имеются также и компиляторы.

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

Создание Microsoft QuickBASIC (сокращенное обозначение – QB) в середине 80-х годов произвело настоящую революцию в мире BASIC, результатом которой было то, что впервые этот язык занял достаточно прочные позиции среди средств разработки серьезных прикладных систем.В QuickBASIC в достаточно полной мере реализованы идеи структурного и модульного программирования, возможности использования процедур и функций.

Специфика технологии программирования в среде QB определяется наличием в ней двух трансляторов – интерпретатора и компилятора. Основу интегрированной среды, в которой выполняется основной объем разработки и отладки программы, составляет Интеллектуальный редактор и интерпретатор компилирующего типа (ИКТ). ИКТ – это новый тип интерпретатора, который производит предварительные "компиляцию и компоновку" программы в специальный псевдокод, а затем уже ее выполнение. При завершении отладки программы пользователь может создать исполняемый EXE-модуль с помощью настоящего компилятора и компоновщика программ.

ВЫБОР МЕТОДОВ РЕШЕНИЯ И ИХ ОБОСНОВАНИЕ

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

а) метод Ньютона для нахождения корня нелинейного уравнения

б) метод Крамера для решения системы линейных уравнений

в) алгоритм Горнера для вычисления значений функции

 



Поделиться:


Последнее изменение этой страницы: 2021-12-07; просмотров: 30; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.223.21.5 (0.071 с.)