Учебная работа. Курсовая работа: Программирование и основы алгоритмизации 3

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (5 оценок, среднее: 4,80 из 5)
Загрузка...
Контрольные рефераты

Учебная работа. Курсовая работа: Программирование и основы алгоритмизации 3

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

ГОСУДАРСТВЕННОЕ ОБЩЕОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

КАМСКАЯ ГОСУДАРСТВЕННАЯ ИНЖЕНЕРНО — ЭКОНОМИЧЕСКАЯ

АКАДЕМИЯ

Кафедра А и ИТ

Курсовая работа

по дисциплине «Программирование и базы алгоритмизации»

Вариант № 22

Выполнил: студент

группы № 4241-с

Валиев М.Р.

Проверил: доцент

Савицкий С.К.

Набережные Челны

2011

Задание

1. Отыскать минимум функции tg(0.55x+0.1)–x2
способом золотого сечения.

1.1 Избрать исходный отрезок, содержащий минимум функции. Для этого выстроить график функции. При построении графиков функции следует за ранее избрать размещение координатных осей и масштаб на их.

1.2 Составить блок-схему метода.

1.3 Отладить и выполнить программку на ЭВМ (Электронная вычислительная машина — комплекс технических средств, предназначенных для автоматической обработки информации в процессе решения вычислительных и информационных задач), получить с данной точностью е=10-4
максимум функции.

1.4 Для контроля подставить отысканный корень в уравнение и сопоставить итог с «е» (он должен быть меньше «е»).

1.5 Проверить приобретенное решение методом построения графиков в Excel либо MathCAD.

2. Дана целочисленная матрица a[ij] i, j=1, …, n. По­лучить b1
, …, bn
, где bi
– это maxaij
1 £ j £n.

2.1 Составить блок-схему метода.

2.2 Отладить и выполнить программку на ЭВМ (Электронная вычислительная машина — комплекс технических средств, предназначенных для автоматической обработки информации в процессе решения вычислительных и информационных задач).

Теоретическое обоснование способов решения

Задание 1

способ золотого сечения. Этот способ является одним из более действенных способов, в каком при ограниченном количестве вычислений мотивированной функции f(x) достигается лучшая точность. Сущность способа заклюю чается в построении последовательности отрезков [a0
,b0
], [a1
,b1
], … стягивающихся к точке минимума функции f(x). На любом шаге, кроме первого, вычисление значения функции f(x) делается только один раз. Эта точка, именуемая золотым сечением, выбирается так, чтоб отношение длинны огромного отрезка к длине всего отрезка приравнивалось отношению длинны наименьшего отрезка к длине огромного отрезка lб
/l=lм
/lб
. Так как непонятно в которой последовательности (lм
и lб
либо lм
и lб
) разделять интервал неопределенности, то разглядывают внутренние точки, надлежащие двум способам деления.

На первом шаге процесса оптимизации снутри отрезка [a0
,b0
] выбираются две внутренние точки х1
и х2
и рассчитываются значения мотивированной функции f(x1
) f(x2
). Так как в данном случае f(x1
) < f(x2
) , разумеется, что минимум размещен на одном из прилегающих к x1
отрезков [a1
x1
] либо [x1
x2
]. Потому отрезок [x2
b0
] можно откинуть, сузив тем начальный интервал неопределенности.

2-ой шаг проводим на отрезке [a1
,b1
], где a1
=a0
b1
=x2
. необходимо опять избрать две внутренние точки, но одна из их х1
осталась из предшествующего шага x3
=x1
, потому довольно избрать только одну точку x4
, вычислить ясно что минимум находится на отрезке [х4
,b1
]. Обозначим этот отрезок [a2
,b2
], опять выберем одну внутреннюю точку и повторим функцию сужения интервала неопределенности. процесс оптимизации повторяется до того времени, пока длинна еще одного отрезка [an
,bn
] не станет меньше данной величины е

Задание 2

Массив
— это постоянная структура данных 1-го типа, где все составляющие могут выбираться произвольно и являются идиентично доступными. Регулярность состоит в том, что все данные организованы по одной закономерности. Для обеспечения доступа к хоть какому элементу массива вводится особое число называемое индексом.

Индекс
— это целое число либо совокупа целых чисел, указывающих положение элемента в массиве.

Массивы используются в широкой области приложений, к примеру:

1. Векторы. Управляющие действия, которые изменяют состояние системы, обычно задаются в виде векторов, именуемых управляющими векторами.

2. Матрицы. системы управления нередко обрисовывают в виде систем дифференциальных уравнений, для решения которых используют пространство знака либо элемента, существует к тому же 3-я координата — цветовая палитра.

Листинг программ

текст программки 1:

Dim a As Double, b As Double ‘отрезок

Dim m ‘масштаб

Dim i ‘счетчик

DimX ‘координата х

DimY ‘

Dimu ‘смещение по Оу

Dimw ‘смещение по оси Ох

Private Sub Command1_Click()

Cls ‘чистка экрана

a = -5

b = 5

Calldraw ‘вызов функции, которая отрисовывают график

EndSub

PublicSubdraw() ‘функция, рисующая график

‘разметка по Ох (правая часть)

For i = 0 To b + 1

Line (w + i * m, u — 0.1)-(w + i * m, u + 0.1)

Printi;

Nexti

‘разметка по Ох (левая часть)

For i = 0 To a — 1 Step -1

Line (w + i * m, u — 0.1)-(w + i * m, u + 0.1)

Printi;

Nexti

‘разметка по Оу (верхняя часть)

For i = 1 To 20

Line (w — 0.1, u — i * m)-(w + 0.1, u — i * m)

Printi

Nexti

‘разметка по Оу (нижняя часть)

For i = 1 To 4

Line (w — 0.1, u + i * m)-(w + 0.1, u + i * m)

Print «-«; i

Nexti

‘рисование графика по точкам

For X = a To b Step 0.0001

Y = -(Tan(0.55 * X + 0.1) — X ^ 2)

PSet (X * m — a * m + 0 + m * a + w, Y * m + u)

Next

‘рисование осей Ох и Оу

Line (0, u)-(30, u)

Line (w, 0)-(w, 30)

End Sub

Private Sub Form_Load()

m = 1.5 ‘исходный масштаб

u = 3 ‘изначальное смещение координат относительно Оy

w = 4 ‘изначальное смещение координат относительно Оx

EndSub

‘вычисление минимума способом сечения

Private Sub Command4_Click()

Dim a, b, x1, x2, fx1, fx2

Dim c As Currency

Dim f_c As Currency

Dim a0, b0, e

a0 = Val(InputBox(«a»))

b0 = Val(InputBox(«b»))

a = a0

b = b0

x1 = ((b0 — a0) * 0.382) + a0

x2 = ((b0 — a0) * 0.618) + a0

Do Until Абс(b — a) < 0.0001

If (Tan(0.55 * x1 + 0.1) — x1 ^ 2) < (Tan(0.55 * x2 + 0.1) — x2 ^ 2) Then

b = x2

x2 = x1

x1 = ((b — a) * 0.382) + a

Else

a = x1

x1 = x2

x2 = ((b — a) * 0.618) + a

End If

Loop

c = (a + b) / 2

f_c = Tan(0.55 * c + 0.1) — c ^ 2

Text4.Text = c

Text3.Text = f_c

Calldraw ‘вызов функции, которая отрисовывают график

EndSub

текст программки 2:

Private Sub Command1_Click()

Cls ‘ чистка экрана

n = InputBox(«Введите порядок матрицы»)

ReDima(n, n) AsDouble ‘переопределение размера массива

ReDimb(n) AsDouble

‘ввод частей матрицы

For i = 1 To n

b(i) = a(i, 1)

For j = 1 To n

a(i, j) = InputBox(«Введите пожалуста элемент матрицы: (» + Str(i) +