Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
10.Методичка ИНФРМАТИКА_2010_11шрифт.doc
Скачиваний:
4
Добавлен:
11.11.2019
Размер:
962.56 Кб
Скачать
    1. Подпрограммы.

Часто при решении задач приходится выполнять однотипные

действия с различными массивами. В этом случае следует использовать подпрограммы.

Пример. Задать и распечатать значения элементов в матрицах F(5,3), G(6,7) и E(4,4) .

DIM A(6,7)

PRINT “ MASSIV F(5,3)”

N=5: M=3

GOSUB 100

PRINT “ MASSIV G(6,7)”

N=6: M=7

GOSUB 100

PRINT “ MASSIV E(4,4)”

N=4: M=4

GOSUB 100

END

100: REM Подпрограмма

FOR I=1 TO N

FOR J=1 TO M

А(I,J)=INT(RND*200)-50

PRINT USING”#####”;A(I,J);

NEXT J: PRINT: NEXT I

RETURN

MASSIV F(5,3)

91 56 65

7 10 104

-48 102 112

91 -41 32

122 108 24

MASSIV G(6,7)

142 124 -39 139 22 54 103

-40 68 43 9 74 79 2

5 115 114 67 147 132 -5

89 146 -2 56 -29 149 85

-47 65 -30 -30 109 6 -41

9 26 10 139 145 30 5

MASSIV E(4,4)

7 10 104 -54

-48 102 112 132

91 -41 32 5

122 108 24 67

4. Решение уравнений.

4.1. Метод итераций.

Метод итераций это метод последовательного уточнения первоначального грубого значения корня уравнения.

Если при каждой последующей итерации получаются значения корней, которые все больше приближаются к истинному значению

корня, то метод итерации сходится. Нужно определить условия, при которых процесс сходится. Условием схождения являются:

или , но .

Графически сходимость метода выглядит так:

В противном случае метод итераций использовать нельзя. Кроме того, следует обратить внимание на то, что при использовании метода итерации на заданном отрезке должен быть только один корень. Если на заданном интервале имеется два и больше корней, то интервал нужно разделить на несколько более мелких интервалов с единственным корнем. И искать каждый корень уравнений отдельно на каждом новом интервале.

При использовании метода итерации необходимо привести решаемое уравнение к виду

.

Это можно сделать разными способами.

Пример. Уравнение можно преобразовать несколькими способами:

  1. можно прибавить к левой и правой частям уравнения :

.

  1. можно разделить обе части уравнения на :

  2. можно использовать другие способы преобразования.

Примем начальное значение корня уравнения .

Затем следует несколько итераций:

Следующее значение .

Следующее приближение и т.д.

В общем виде этот процесс можно выразить формулой:

.

Если , где - заданная точность вычисления, то корень уравнения найден.

Пример. Вычислить корни уравнения на отрезке

[ -1,5; 3 ] с точностью =0,001.

Сначала надо определить корни уравнения в Excel:

Как видно из графиков, представленное уравнение имеет два корня на заданном отрезке. Методом итерации можно решать уравнения с одним

корнем на заданном отрезке. Приблизительные границы двух интервалов, в которых находятся корни – [-1,5; 0] и [0,5;3].

Проверим сходимость кривых в пределах данных интервалов.

Производная функции будет .

В интервале [-1,5; 0] производная получается -3, что < -1. Процесс не сходится, следовательно, найти корень уравнения на этом отрезке методом итераций нельзя. Графически видно, что процесс не сходится; вернее, сходится, но ко второму корню.

В интервале [0,5;3] вели-

чина производной при

(в начале выделенного отрезка)

составит 1. И из графика вид-

но, что процесс сходится.

Следовательно, этот корень уравнения можно найти методом итерации.

Программа решения этой же задачи на QBasic на отрезке [0,5;3]:

CLS

PRINT : PRINT : PRINT

E = .001: K = 0: X0 = .5

10: X1 = X0 ^ 2 - 2

A = ABS(X1 - X0)

IF A <= E THEN K = K + 1: PRINT " Koren "; X0

IF K >= 2 THEN GOTO 20

X0 = X1

GOTO 1 0

20: END

Koren 1.999967

Koren 1.999866

4.2.. Метод половинного деления.

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

Решим этим методом предыдущую задачу.

Пример. Вычислить корни уравнения на отрезке [ -1,5; 3 ] с точностью =0,001.

Первый корень на отрезке [-1,5; 0]:

CLS

PRINT : PRINT : PRINT

E = .001: A = -1.5: B = 0

C = (A + B) / 2

10: FA = A ^ 2 - A - 2

FC = C ^ 2 - C - 2

IF FA * FC < 0 THEN B = C ELSE A = C

C = (A + B) / 2

IF ABS(B - A) > E THEN GOTO 10

PRINT " Koren "; (A + B) / 2

Koren -1.000122

Второй корень на отрезке [0,5;3]:

CLS

PRINT : PRINT: PRINT

E = .001: A = .5: B = 3

C = (A + B) / 2

10: FA = A ^ 2 - A - 2

FC = C ^ 2 - C - 2

IF FA * FC < 0 THEN B = C ELSE A = C

C = (A + B) / 2

IF ABS(B - A) > E THEN GOTO 10

PRINT " Koren "; (A + B) / 2

Koren 1.999939

4.3.. Решение систем уравнений.

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

Пример. Вычислить корни уравнений

на отрезке [ 0; 1 ] с точностью

Для определения корней уравнений можно использовать метод итераций. Для этого необходимо преобразование уравнения в форму X= f (X):

X0 = 0: E = .1: K = 0

10: X = 1 - 2 / (3 + SIN(3 - X0))

IF ABS(X - X0) <= E THEN GOTO 20

X0 = X: K = K + 1

IF K > 6 THEN GOTO 20

GOTO 10

20: PRINT USING" X= #.##"; X

Полученный ответ: X=0.43

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

1) при его изменении от 0 до 1;

2) ;

3) .

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

Информацию ( данные ), которая была получена и записана в файл в среде QBasic, можно обрабатывать другими программами. Система электронных таблиц Excel позволяет достаточно просто и быстро строить, редактировать и печатать графики и диаграммы различных типов.

Файлы с результатами выполнения программ имеют расширение Dat или Tst. Обработка файлов с данными сводится к выполнению четырех операций:

  1. открытие файла;

  2. чтение данных из файла;

  3. запись данных в файл;

  4. закрытие файла.

Открытие файла осуществляется с помощью оператора

OPEN_”спецификация файла”_ FOR_тип обработки_ AS#номер файла

Знак «_» здесь и далее означает пробел.

Спецификация файла определяет имя файла и устройство, на котором он расположен.

Номер файла задается целочисленным выражением, которое может принимать значения от 1 до 15. Заданный номер должен использоваться при всех последующих обращениях к файлу в операторах ввода – вывода.

Тип обработки определяет организацию данных и указывает направление передачи данных (ввод или вывод). Он может принимать следующие значения: INPUT - последовательный файл для ввода данных; OUTPUT - последовательный файл для вывода данных. Если тип обработки не указан, то предполагается файл с произвольным доступом.

Для записи данных в файл используются операторы PRINT и PRINT USING. В этом случае они будут иметь формат:

PRINT_#номер файла, [выражение];

PRINT_#номер файла, _USING_шаблон; выражение;

После завершения работы с файлом его необходимо закрыть оператором

CLOSE_#номер файла

Например:

OPEN_”C : \ REZ . Dat ” _ FOR_ OUTPUT _ AS # 2

Эта запись говорит о том, что открыт файл с именем REZ и расширением dat на диске С для ввода данных.

PRINT_# 2, A(I)

Этот оператор записывает в файл 2 элемент массива А под номером I.

Пример: Программа с необходимыми для работы с файлами операторами:

CLS

OPEN "D:\ ZADACHA.DAT" FOR OUTPUT AS #3

PRINT : PRINT

REM MASSIV A(6,6) PO FORMULE A(I,J)=I/(J-2)

PRINT " MASSIV A(6,6)": PRINT : PRINT " ";

FOR I = 1 TO 6

FOR J = 1 TO 6

IF J = 2 THEN A(I, J) = 10: GOTO 10

A(I, J) = I / (J - 2)

10 : PRINT USING "####.##"; A(I, J);

PRINT #3, USING "####.##"; A(I, J);

NEXT J

PRINT : PRINT " ";: PRINT #3,

NEXT I

CLOSE #3

Для того, чтобы обработать в Excel файл, созданный с помощью программы на QBasic, необходимо:

  1. загрузить Excel;

  2. в меню выбрать команду «Файл», а в ней – команду «Открыть»;

  3. в появившемся окне открыть папку, где сохранены данные (в примере – диск D), и в окошке «Тип файлов» выбрать команду «Все файлы»; открыть нужный файл;

  4. в появившемся окне «Мастер текстов» выбрать команду «С разделителем» и нажать кнопку «Далее»;

  5. в появившемся окне выбрать «Пробел» в качестве символа-разделителя и нажать кнопку «Далее»;

  6. в появившемся окне выбрать «Общий формат» и нажать кнопку ОК;

  1. когда файл откроется, выбрать из меню команду «Правка». В ней команду «Заменить» и заменить десятичные точки запятыми, т.к.

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

Далее полученный файл можно сохранить в Excel и выполнить построение необходимых графиков, диаграмм или гистограмм.