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



ЗНАЕТЕ ЛИ ВЫ?

Вычисление суммы бесконечного ряда

Поиск

S = 1 < х < 2

Точность вычисления: е = 0.01 Точное значение суммы ряда: S = ln(X)

 
 


_

       
   
 
 


       
   
 
 


_

 
 


+

 
 


Рис. 15 Блок-схема алгоритма вычисления суммы ряда

Программа вычисления суммы бесконечного ряда

CLS

DO

PRINT «ВВЕДИТЕ ЗНАЧЕНИЕ Х (1<X<2)»

INPUT X

LOOP UNTIL (X < 2 AND X>1)

CLS

E =.01

N = 1

K=0: S=0

DO

S1=((-1) ^ K * (X-1) ^ N) /N

S = S+S1

PRINT “Членов ряда “;N;

PRINT USING “, значение S = ##.####”; S

N = N + 1: K = K + 1

LOOP UNTIL ABS (S1) < E

PRINT «ПРИ Х=»; Х

PRINT USING «S =##.#####»; S

PRINT USING «Точное значение S = ##.#####»; LOG(X)

D = ABS(S- LOG(X))

PRINT USING «Погрешность D=##.##### при точности е=0.01»;

END

Лекция 9

Описание и обработка массивов

Массив – упорядоченная совокупность переменных - элементов массива.Элемент массива обозначается идентификатором с индексом. Индекс – номер элемента в массиве. Значения индексов заключаются в скобки. Например, А(3) - элемент массива (одномерного) с индексом три.

Массивы могут быть одномерными, двумерными, трехмерными, многомерными. Двумерный массив называется матрицей. Матрица-аналог таблицы. Пример: А(3,5). Первый индекс обозначает номер строки, второй - номер столбца. Размерность массива может быть не более 60. Диапазон индексов массива – не более 32 767. Размер массива (всех элементов) – не более 64 Кб.

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

Оператор описания массивов

Одномерные массивы

DIM M1(N1 TO N2), M2(K1 TO K2)

Где M1, M2 – идентификаторы описываемых массивов

N1, N2, K1, K2 - целые числа, определяющие нижнее и верхнее значение индекса массивами, следовательно, определяющие максимальное количество элементов массива. Если массив одномерный, то указывается одно число, если двумерный (матрица), то указываются два числа, определяющие максимальное число строк и столбцов соответственно.

Допускается указывать только верхнюю границу массивов

DIM M1(N2), M2(K2)

В этом случае, по умолчанию, нижняя граница индекса принимается равной 0. То есть если задан массив DIM М (17), то резервируется в памяти место не для 17, а для 18 элементов.

Статические и динамические массивы

При описании массивов можно использовать суффиксы типов данных для задания типа данных элементов массива.

DIM B $(15), C%(7,20)

Где B$ - массив, содержащий 16 символьных значений

C% - целочисленная матрица. 8 строк, 21 столбец.

Можно задавать тип данных массива также следующим образом

DIM A(N1 TO N2) AS [тип],

Тип - integer - целый;

Long - длинное целое;

Single - 32-битовая переменная одинарной точности с плавающей запятой;

Double single - 64-битовая переменная двойной точности с плавающей запятой.;

String - строковая переменная переменной длины;

String *n% - строковая переменная фиксированной (n - символов) длины;

Таким образом, оператор DIM:

- определяет имя массива

- определяет тип элементов массива

- резервирует ячейки памяти для массива

- заполняет нулевыми значениями массивы числового типа или пустыми строками текстовые массивы

Оператор DIM должен для конкретного массива задаваться один раз, до первого обращения к массиву. Обычно все DIM помещают в начало программы, чтобы облегчить процесс ее отладки.

С элементами массива можно выполнять все те же действия, что и с обычными переменными. Преимущество массивов в том, что эти действия можно сделать массовыми, распространив их на все элементы массива, оперируя индексами элементов массива.

Оператор OPTION BASE

Синтаксис:

OPTION BASE {0|1},

Где 0 или 1 - начального элемента массива.

Пример:

OPTION BASE 1

DIM M%(25)

Здесь целочисленный массив М% состоит из 25 элементов, а не из 26.

Способы ввода значений элементов массива

1. Оператором присваивания

B(1) = 3

B(2) = 5

B(3) = 7

2. Оператором цикла, с клавиатуры

FOR I=1 TO 10

INPUT B(I)

NEXT I

3. Оператором цикла, с применением операторов DATA и READ

DATA 10, 20, 30, 40, 50, 60

FOR I=1 TO 6

READ B(I)

NEXT I

 

4. При помощи датчика случайных чисел:

FOR I=1 TO 10

B(I) = RND

NEXT I

Это наиболее удобный способ задания массивов при отладке различных примеров обработки элементов массивов. Остановимся на этом способе подробнее.

Оператор RND

RND – возвращает случайное число одинарной точности, вырабатываемое датчиком случайных чисел, равномерно распределенных на интервале [0; 1].

Поясним свойства псевдослучайной последовательности.

Чтобы случайные числа не повторялись при повторном обращении к датчику надо применять в начале программы оператор

RANDOMIZE [число].

[Число] –это число, используемое для инициализации генератора случайных чисел. Если оно не указано, то RANDOMIZE его запрашивает. Рекомендуется в качестве такого числа брать показания таймера. В этом случае в программе (до применения оператора RND, обычно в начале программы ) следует записать – RANDOMIZE TIMER

Если надо, чтобы вырабатываемые числа лежали в интервале [-N; N], то можно применить выражение

2*N*RND - N

Если надо, чтобы вырабатываемые числа лежали в интервале [0; N], то надо применить выражение

N*RND

Если надо, чтобы вырабатываемые числа лежали в интервале [- N; N-1] и были целыми, то можно применить выражение INT(2*N*RND - N) и т. д.

 



Поделиться:


Последнее изменение этой страницы: 2016-04-21; просмотров: 977; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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