Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


При составлении алгоритма и программы будем считать, что точность




получена, если на очередном шаге вычислений значение аn < e.

Входные данные: х и e (еps - обозначение в программе).

 

Схема алгоритма с использованием цикла While... Do

       
 
   
 

 

 


нет

       
 
 
   

 


да

продолжение цикла

 

Текст программы {Лабораторная работа 4}

{Вычисление суммы членов ряда с использованием оператора WHILE}

{Студенты гр...... Фамилии…}

Uses crt; {Подключение стандартного модуля TP}

Var x,a,eps,S: real; n:integer;

BEGIN Clrscr; { Очистка экрана}

Writeln(' Введите x,eps'); read(x,eps);

{ Задание начальных значений переменных}

a:=x; n:=1; S:=a;

While а>=eps Do

Begin n:=n+1;

{Вычисление очередного члена ряда по формуле (2)}

a:=a*x*(2*n+1)/((2*n-1)*(n+1));

s:=s+a;

end;

Writeln(' Cумма членов ряда S = ',S:10:4,' Число итераций n = ',n:5);

END.

Рекомендация: При составлении программы не забывайте анализировать знаменатель (он не должен равняться нулю) и типы данных участвующих в выражениях.

 

Варианты самостоятельных заданий

1. an = (2n-1)*x / 2n; 11. an = x/n2;

2. an = x /((3n-2)(3n+1)); 12. an = 2nx / (n+1)!;

3. an = 10n / xn!; 13. an = 3nx * 3n / n!;

4. an = xn! /(2n)!; 14. an = x(n+1) / (n+2)!;

5. an = x* 2n / n!; 15. an = nx / 2(n+1);

6. an = x (3n * n!) / (3n)!; 16. an = 2xn! / (2n)!;

7. an = 3nx / (n+2)!; 17. an = xn! / (3n)!;

8. an = (2n-1) * x / 2n; 18. an = x * 5n / (n+5)!;

9. an = nx / 3(n+1)/2; 19. an = x * 2n /(2n+1)!;

10. an = (x+1) * 5n / n!; 20. an = x(2n+1)(2n-1)/(2n+1)!;

 

Массивы и их описание

Массивы относятся к структурированным типам данных в ТР. Массив состоит из фиксированного числа элементов (компонент) одного типа и характеризуется общим именем. Доступ к отдельным элементам массива осуществляется с помощью общего имени и порядкового номера (индекса или адреса) необходимого элемента.

Имя массива - это любое допустимое в ТР имя, отличное от служебных слов, имен функций и процедур. Массив может быть описан в подразделе Var или в подразделах Var и Type, одновременно.

Первая форма описания - в подразделе Var:

Var Имя_массива: Array[T1] OF [T2];

где Array (Массив) и Of (Из) - служебные слова.

T1 - список типов индексов) в качестве индексов чаще всего используются переменные типа - диапазон, но возможно использование перечислимого типа); Т2 - тип элементов массива (любой тип ТР как простой, так и структурированный).

Например:

1) Var Mas: Array[1..10] of integer; - описание массива, состоящего из 10 целых чисел и имеющего имя Mas;

2) Var S: array[1..20] of real; - описание массива, состоящего из 20 вещественных чисел и имеющего имя S;

3) Var Matr:array[1..20,1..20] of byte; - описание массива (матрицы размером 20 на 20), содержащего 400 элементов типа byte.

Если массив объявлен, то к любому его элементу можно обратиться с помощью его имени и индексов. Например:

1) Mas[5]:=21; - пятому элементу массива Mas присвоено значение, равное 21.

2) For i:=1 to 20 do S[i]:=0.0; - присвоение всем 20 элементам массива S значения, равного 0.0 (обнуление массива).

3) For i:=1 to 20 do For j:=1 to 20 do Matr[i,j]:=random(100); - заполнение массива (матрицы) на 400 чисел случайными числами из диапазона от 0 до 100.

Вторая форма описания - в подразделах Var и Type:

Type Имя_типа_массива= Array[T1] OF [T2];

Var Имя_массива: Имя_типа_массива;

Например:

1) Type Tm=array[1..100] of byte; - описание нового типа для массива, состоящего из 100 чисел типа byte

Var Mas:Tm; - описание массива с именем Mas.

2) Type Typ_Mas = array[1..100] of char;

Var M:Typ_Mas; - описание массива содержащего 100 символов.

3) Type Tmatr = Array[1..25,1..10] of real;

Var Matr1,Matr2:Tmatr; - описание матриц с именами Matr1 и Matr2.

Массив с одним индексом называют одномерным, с двумя - двумерным, с тремя - трехмерным и т.д. Число индексов у массива в ТР не ограничивается, но необходимо помнить, что размер массива не должен превышать 64 Кбайт.

Любой двумерный массив представляет собой матрицу: первому индексу можно поставить в соответствие строки, а второму - столбцы матрицы. Кроме того, двумерный массив можно интерпретировать как одномерный, элементами которого является другой одномерный массив.

Описание такого массива имеет вид:

Type tstr=array[1..25] of real;

Var masssiv:array[1..10] of tstr; - это описание равносильно описанию в примере 3, приведенному выше для массивов с именами Matr1 и Matr2.

Оперативная память под элементы массива выделяется на этапе трансляции. В памяти компьютера элементы массива следуют друг за другом.

Если массив двумерный, то память под него выделяется так, что быстрее меняется самый правый индекс. В качестве примера рассмотрим порядок выделения оперативной памяти под массив, описанный следующим образом: Var M:array[1..2,1..4] of byte;

Этот массив будет располагаться в памяти в следующем порядке:

M[1,1]; M[1,2]; M[1,3]; M[1,4]; M[2,1]; M[2,2]; M[2,3]; M[2,4].

В ТР можно одним оператором присваивания передать все элементы одного массива другому массиву того же типа. Например:

Var m1,m2:array[1..10] of word;

...

Begin...

m1:=m2; { перезапись из одного массива в другой}

...

End.

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

 

Типизированные константы - массивы

 

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

Примеры:

1) Const Mas:array[1..10] of byte=(1,1,1,1,1,1,1,1,1,1); - заполнение массива из 10 целых чисел значением, равным единице.

2) Const massim: array[0..5] of char = ('a','b','c','d','e','f'); - заполнение

массива из 6 элементов символами - буквами латинского алфавита.

3) Const Matr: array[1..5,1..2]of byte = ((0,0),(0,0),(0,0),(0,0),(0,0)); -

обнуление матрицы из 10 целых чисел.

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

 

Лабораторная работа №5

 





Поделиться с друзьями:


Дата добавления: 2016-11-18; Мы поможем в написании ваших работ!; просмотров: 467 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Неосмысленная жизнь не стоит того, чтобы жить. © Сократ
==> читать все изречения...

2335 - | 2044 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.