Курсовая

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

Работа добавлена на сайт bukvasha.net: 2015-10-25

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 21.9.2024





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

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

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
КАМСКАЯ ГОСУДАРСТВЕННАЯ ИНЖЕНЕРНО - ЭКОНОМИЧЕСКАЯ

АКАДЕМИЯ
Кафедра А и ИТ
Курсовая работа

по дисциплине «Программирование и основы алгоритмизации»
Вариант № 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 – это max aij£ 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 ] можно отбросить, сузив тем самым первоначальный интервал неопределенности.

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

Задание 2


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

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

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

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

2.  Матрицы. Системы управления часто описывают в виде систем дифференциальных уравнений, для решения которых применяют представление данных в виде систем матриц.

3.  Тензоры. Для графических данных на экране дисплея помимо двухмерного массива, отображающего место символа или элемента, существует еще и третья координата - цветовая гамма.
Листинг программ



Текст программы 1:
Dim a As Double, b As Double    'отрезок

Dim m 'масштаб

Dim i 'счетчик

Dim X 'координата х

Dim Y 'значение f(x)

Dim u 'смещение по Оу

Dim w 'смещение по оси Ох

Private Sub Command1_Click()

Cls 'очистка экрана
a = -5

b = 5

Call draw 'вызов функции, которая рисует график

End Sub
Public Sub draw() 'функция, рисующая график

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

    For i = 0 To b + 1

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

       Print i;

    Next i

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

    For i = 0 To a - 1 Step -1

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

       Print i;

    Next i

   

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

    For i = 1 To 20

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

       Print i

    Next i

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

    For i = 1 To 4

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

       Print "-"; i

    Next i

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

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

End Sub

'вычисление минимума методом сечения

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 Abs(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

Call draw 'вызов функции, которая рисует график
End Sub
Текст программы 2:


 

 Private Sub Command1_Click()

   Cls ' очистка экрана

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

    ReDim a(n, n) As Double 'переопределение размера массива

    ReDim b(n) As Double

'ввод элементов матрицы

    For i = 1 To n

        b(i) = a(i, 1)

        For j = 1 To n

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

            If a(i, j) > b(i) Then b(i) = a(i, j)

        Next j

        Print b(i)

    Next i

   

 

End Sub
Private Sub zad_Click()

MsgBox ("Дана целочисленная матрица a[ij] i, j=1, ..., n. Получить b[1], ..., b[n], где b[i] - это max a[ij]= 1<= j<= n.")

End Sub
Скриншоты программ


Блок-схемы алгоритмов решения
Метод золотого сечения (1 задание)































2 задание

Проверка графика в
MathCAD





Вывод: Я научился пользоваться средствами программирования Visual Basic для нахождения экстремума функции методом золотого сечения и для получения матрицы из нулей и единиц по исходной матрице и по заданному условию

Список использованной литературы
1.  Волченков Н. Г. Программирование на Visual Basic 6: Учебное пособие Ч.1 - Ч.3 - М.: ИНФРА-М, 2000.

2.  Visual Basic 6.0: Пер. с англ. - СПб.: БХВ-Петербург, 2004. - 992 с.: ил. ISBN 5-8206-0019-3

3.  Иванов М.Н., Суворов С.В. Информатика Часть 2. Программирование. Учебно-методическое пособие - М.; МГИУ, 2004

4.  Слепцова Л.Д. Программирование на языке VBA. Самоучитель,: -М.: Издательский дом «Вильямс», 2004

5.  Браун С. Visual Basic 5 c самого начала - СПб : Питер, 1998


1. Реферат на тему Связь нравственного и физического воспитания персонала
2. Реферат Характеристика основных отраслей правовой статистики. Ее значение в практической работе правоохранительных
3. Лекция Классификация и виды документов
4. Реферат на тему Utilitariansim Essay Research Paper John Stuart Mill
5. Реферат Ответы на билеты по биологии
6. Реферат Информация. Информационные процессы. Информационные технологии
7. Курсовая на тему Расчет госпошлины с предприятия
8. Реферат Административное право 5
9. Реферат на тему Biblical Symbolism In Old Man Essay Research
10. Курсовая на тему Человек выбирает профессию