ПРОГРАММА НА АЛГОРИТМИЧЕСКОМ ЯЗЫКЕ QBASIC

DECLARE SUB zolot (a!, b!, E!, xmax!)

DECLARE SUB dih (a!, b!, E!, xmax!)

DECLARE FUNCTION f! (x!)

CLS

INPUT "введите значения отрезка a="; a

INPUT "введите значения отрезка b="; b

INPUT "введите погрешность вычисления Eps="; E

REM метод дихотомии или половинного деления

CALL dih(a, b, E, xmax)

PRINT "Значения max по методу дихотомии"

PRINT "при X="; xmax

PRINT "значение функции Y(xmax)="; f(xmax)

a = 0

b = 1

PRINT "Значение max по методу золотого сечения"

CALL zolot(a, b, E, xmax)

PRINT "при X="; xmax

PRINT "значение функции Y(xmax)="; f(xmax)

END

SUB dih (a, b, E, xmax)

DO UNTIL ABS(b - a) < 2 * E

x1 = (a + b - E) / 2

x2 = (a + b + E) / 2

IF f(x1) > f(x2) THEN

b = x2

ELSE

a = x1

END IF

LOOP

xmax = (a + b) / 2

END SUB

FUNCTION f (x)

f = -2 * x ^ 2 + 3 * x + 50

END FUNCTION

SUB zolot (a, b, E, xmax)

k = (SQR(5) - 1) / 2

x1 = a + (1 - k) * (b - a)

x2 = a + k * (b - a)

DO UNTIL ABS(x2 - x1) < E

IF f(x1) < f(x2) THEN

a = x1

x1 = x2

ELSE

b = x2

x2 = x1

END IF

x1 = a + (1 - k) * (b - a)

x2 = a + k * (b - a)

LOOP

xmax = (x1 + x2) / 2

END SUB

РЕЗУЛЬТАТ в Qbasic

Значение max по методу дихотомии

при X= .7563525

значение функции Y(xmax)= 51.12492

Значение max по методу золотого сечения

при X= .748997

значение функции Y(xmax)= 51.125

Решение задачи с использованием ППП Eureka

 

$ max(F)

y(x)=-2*x^2+3*x+50

F=y(x)

 

Решение:

Переменные Значения

F = 51.125000

x = .75000000

Все ограничения удовлетв. = 98,6%

График функции имеет вид:

Y(x) = -2x^2 + 3*x + 50

Рисунок 10. График в Эврике.

 

Задания

для выполнения лабораторной работы
«Оптимизация технологического процесса»

В соответствии с содержательной постановкой задачи (описанной ранее) студенты определяют диапазон нахождения оптимального значения функции
y = ax2 + bx + c. Коэффициенты квадратичной модели студенты выбирают самостоятельно.

По указанию преподавателя студенты составляют блок-схемы алгоритмов решения задачи, программы на алгоритмическом языке для решения задачи предлагаемыми методами.

Отладив программу на ЭВМ, получив решение задачи, студенты анализируют полученные решения и сравнивают их с решением, полученным с помощью ППП Eureka и Excel.

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

1. Какой экстремум называется глобальным?

2. Что такое унимодальная функция?

3. В чем состоит задача оптимизации?

4. Каким образом можно сузить интервал исследования?

5. перечислите этапы алгоритма решения задачи нахождения максимума функции?

6. Что происходит с уменьшением шага изменения аргумента?

7. Перечислите методы оптимизации функции?

8. На чем основан метод равномерного поиска?

9. Каким алгоритмом реализуется метод дихотомии?

10. Для каких функций пригоден метод половинного деления?

11. Какого основное достоинство метода половинного деления?

12. В чем заключается метод Фибоначчи?

13. На чем основан метод «золотого сечения»?

14. Приведите алгоритм метода «золотого сечения»?

15. Какой из рассмотренных в лабораторной работе методов приводит к более «быстрому» решению?

16. Какие подпрограммы Вы использовали в лабораторной работе?

17. Каким оператором осуществляется вызов процедуры?

18. Где используются формальные и фактические параметры?

 

ЛАБОРАТОРНАЯ РАБОТА № 7
Работа с файлами последовательного доступа

Цель работы

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

Работа с файлами

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

Алгоритм, набранный в Бейсике, может быть сохранен на диске в виде файла.

Файл — это поименованная область на магнитном или лазерном диске. В файлах могут содержаться тексты, графические и видеоизображения, звуки и музыка, таблицы и базы, данные программы, дан­ные для этих программ.

Требования к имени файла

· имя не должно быть больше чем 8 символов;

· имя может состоять из букв латинского алфавита, цифр и символов, например, _, -, (,), $ и некоторых других.

· в имени файла запрещены символы <Пробел>, *, точка, за­пятая, кавычки, двоеточие.

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

Расширение файла

Файл имеет расширение.

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

Расширение файла Описание формата файла
*.aif, *.aifc, *.aiff Файлы аудиоданных
*.asm Исходный текст программы на Ассемблере.
*.avi Основной формат видеоизображений
*.bas Текст программы на языке алгоритмическом языке Basic и различных его вариантах (GWBasic, TurboBasic, QuickBasic)
*.bmp Формат графических файлов (растровая графика).
*.com Исполняемый файл в двоичном коде
*.cpp Текст программы на языке C++
*.doc Файл с документами или продукт работы текстового процессора Microsoft Word for Windows
*.dot Шаблон документа текстового процессора MS Word
*.exe Это всегда исполняемый бинарный файл
*.gif (Graphics Interchange Format). Растровый графический формат фирмы CompuServe
*.htm, *.html Специальный файл текстового типа, написанный на Hyper Text Markup Language
*.mdb Файл баз данных Microsoft Access
*.mov - Формат хранения видео и аудио
*.pas - Текст программы на языке Pascal
*.ppt Файл с презентацией Microsoft PowerPoint
*.sys - Системные файлы ядра DOS IO.sys и MSDOS.sys.
*.txt Текстовой файл, созданный в блокноте
*.xls Файл работы табличного процессора Microsoft Excel
*.zip - Файл архива сжатого архиваторами

 

В файлах вы можете хранить как исходные данные для обработ­ки, так и результаты работы программы.

Для работы в Бейсике необходимы файлы, хранящие одно­родные по типу или структуре сведения, о каких-либо объектах. Набор данных о каком-либо одном объекте называется записью.

Файл может быть пустым, т. е. содержать 0 байт информации, но имя файла и символ конца файла будут присутствовать. (Байт - единица измерения количества информации, объема памяти и емкости запоминающего устройства. По умолчанию байт считается равным 8 битам).

Записи могут содержать данные разных типов, но должны быть обязательно одинаковы по структуре, например:

"Запорожец", "4067 ЛДЕ", "1972", "100$"

"ГАЗ-34", "6666 ЛАА", 1989, "3500$"