Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум на ЭВМ.doc
Скачиваний:
112
Добавлен:
15.02.2016
Размер:
2.73 Mб
Скачать

Лабораторная работа № 8 Вложенные циклы с разветвлениями. Использование массивов.

В языке ТР имеются три различных оператора с помощью которых можно запрограммировать повторяющиеся фрагменты программ.

Счетный оператор цикла: FOR <параметр цикла>:=<нач.знач.> TO <кон.знач.> DO <оператор>.

Оператор цикла с предпроверкой условия: WHILE <условие> DO <оператор>.

Оператор цикла с постпроверкой условия: REPEAT <тело цикла> UNTIL <условие>.

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

Массив-это набор объектов одного типа, у каждого из которых имеется индекс (номер).Элементы массива длины 20 могут иметь, например, индексы 1,2,…,20 или 0,1,…,19 и т. д. Способ индексации, тип элементов, длина массива фиксируются в описании его типа, к которому принадлежит массив.

Описание типа массива задается следующим образом: <имя типа> = ARRAY[<список индексных типов>] OF <тип>. Например, t=array[1..20] of real. Это описание типа, имя которого t. Объектами типа t будут упорядоченные наборы по 20 элементов, имеющих тип real; диапазон изменения значения индекса- от 1 до 20. Это описание типа, предваренное служебным словом type , помещается в программу перед совокупностью описаний переменных.

Требования к работе

1. Записать расчетные формулы для решения задачи.

2. Cоставить блок-схему алгоритма.

3. Составить программу для решения задачи.

4. Отладить программу.

Лабораторные задания

1. Составить программу для вычисления элементов матрицы С={cij}, являющейся разностью заданных матриц A={aij} и B={bij}. Каждый элемент матрицы С вычисляется по формуле:

cij=aij-bij, i, j=1,2,..., n.

Затем вычислить компоненты вектора z={z1,z2,..., zn}, равного произведению матрицы С={cij} на заданный вектор x={x1,x2,..., xn}. Каждая компонента вектора z вычисляется по формуле

i=1,2,... , n (n  9).

Исходные данные: n=3;

2. Составить программу для вычисления элементов матрицы С={cij}, являющейся произведением матрицы А={aij} размера m*n на матрицу В={bij} размера n*q. Каждая компонента матрицы С вычисляется по формуле

j=1,2,..., q

k=1,2, ... , m (n  6, q  8, m  10).

Исходные данные: m=3; n=4; q=3.

3. Составить программу для вычисления компонент вектора d={d1,d2,...,dn}, равного произведению матрицы A={aij} на вектор b={b1,b2,...,bm}. Каждая компонента вектора d вычисляется по формуле

i=1,2, ..., n (n8, m9).

Исходные данные: n=8; m=4;

.

4. Составить программу для вычисления элементов матрицы С={cij}, являющиеся суммой матриц A={aij} и B={bij}. Каждый элемент матрицы С вычисляется по формуле

cij=aij+bij (i,j = 1,2,..., n).

причем матрица A задана, а элементы матрицы В вычисляются по формуле:

Исходные данные: n=4;

5. Составить программу для нахождения наибольшего элемента прямоугольной матрицы z={zij}, i=1,2,..., n, j=1,2,..., m.

Каждый элемент матрицы z вычисляется по формуле

zij = xiyj, i=1,2, ...,n, j=1,2, ..., m.

Векторы x={x1, x2, ..., xn} и y={y1, y2, ...,ym} заданы (n m

Исходные данные: n=3; m=4; x={-1,1; 2,6; 1,0}; y= {3,2; 2,1; -2,0; 1,1}.

6. Составить программу для вычисления вектора x={x1,x2, ...., xm}, равного р-й строке матрицы A={aij} (xj=apj, j=1,2, ..., m) и вектора y={y1,y2, ..., yn}, равного q-му столбцу матрицы A={aij}(yi=aiq, i=1,2,... ,n) (n m Исходные данные n=3; m=4; p=2; q=2;

7. Составить программу для вычисления коэффициентов аппроксимирующего многочлена

P(x)=a1+a2x.

Коэффициенты а1 и а2 многочлена находятся из решения системы управлений

S1a1+S2a2=t1,

S2a1+S3a2=t2,

где

k=1, 2, 3,

j=1, 2.

Значения x={x1,... , xn} и y={y1, ... , yn} заданы (n

Исходные данные: n=8; x={0,58; 0,84; 1,14; 2,44; 3,16; 4; 5; 6};

y={0,8; -0,97; -0,98; 1,07; 3,66; 8; 15; 24}.

8. Составить программу для вычисления величины

где матрица A={aij}, i,j=1, 2, ... , n задана. Для решения задачи составить вектор z={z1, z2, ..., zn}, i=1, 2, ... , n, и затем найти максимальный элемент этого вектора. Это и есть N(n6).

Исходные данные: n=6;

9. Составить программу для нахождения наименьшей компоненты вектора S={s1, s2, ... , sm}, где каждая компонента sj вычисляется по формуле

Элементы матрицы A={aij}, i=1, 2, ... , n, j= 1, 2, ... , m заданы (mn

Исходные данные: n=3; m=4;

10. Составить программу для вычисления величины:

где функция z для значения аргумента tk вычисляется по формуле, линейной интерполяции:

причем xitkxi+1, i=1,2,..., n, k+1,2,...,m.

Исходные данные: n=7; m=4; x={0; 0,5; 1,0; 1,5; 2,0; 2,5; 3,0}; y={0; 0,125; 1,0; 3,375; 18; 15,625; 27,0}; a={3; -6; -5; 12}; t={0,8; 1,65; 2,1; 2,85}

11. Составить программу для вычисления значения функции z для значения аргумента t по формуле

Значения t, а1,..., аn заданы (n12).

Исходные данные: n=5; t=0,85; a={3; -4,2; 5,3; -6,1; 2,8}

12. Составить программу для вычисления коэффициентов ak (k=1,2,..., n) по формуле

Заданные значения y1,y2,...,yn соответствуют значениям аргумента х12,...,хn (n12).

Исходные данные: n=7; x={-0,9; -0,6; -0,3; 0; 0,4; 0,7; 0,9};

y={-0,729; -0,216; -0,027; 0; 0,064; 0; 0,343; 0,729}

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

для x=x1, x2, ..., xm по схеме Горнера, т.е. представляя полином в виде

Исходные данные: n=5; m=4;

a={32,0; -16,0; -32,0; 8,0; -6,0; 15,0}; x={-1; 0,5; 1; 1,5}.

14. Составить программу для вычисления математического ожидания М и дисперсии D по формулам:

n чисел a1, a2,..., an, образующих выборку, вычисляются по формуле

Исходные данные: n=23

15. Составить программу для вычисления производной функции y(x) в точках х1, х2, ..., хn по формуле численного дифференцирования:

Функция y(x) задана таблично, т.е. значениям аргумента х12,..., хn соответствуют заданные значения функции y1, y2, ... , yn (n20).

Исходные данные: n=8; x={0; 0,5; 1,0; 1,5; 2,0; 2,5; 3,0; 3,5};

y={0; 0,125; 1,0; 3,375; 8,0; 15,625; 27,0; 42,575}

16. Составить программу, вычисляющую сумму ряда:

Значения a0 и b0 заданы. Вычисление следует закончить когда будет выполнено условие a2n-b2n<q.

Исходные данные: a0=3; b0=2; q=10-6.

17. Составить программу вычисления коэффициента корреляции, выражающего меру зависимости между упорядоченными наборами чисел {x1, x2, ... , xn} и {y1, y2, ..., yn} по формуле

Исходные данные: n=7; x={0,56; 0,84; 1,14; 2,44; 3,16; 4; 5};

y={-0,8; -0,97; -0,98; 1,07; 3,66; 8; 15}

18. Составить программу для вычисления элементов матрицы A={aij}, каждый элемент которой вычисляется по формуле

Матрица B={bij} и C={cij} заданы (n m

Исходные данные: n=3; m=3;

19. Составить программу для вычисления суммы

Значения величины x1, x2, ... , xn заданы (n20).

Исходные данные: n=6; x={0,1; 0,2; 0,6; 1,2; 1,6; 2,0}.

20. Составить программу для вычисления полинома

Qp(x)=c1xp+c2xp-1+...+cpx+cp+1,

равного сумме полиномов степени n

Pn(x)=a1xn+a2xn-1+...+anx+an+1,

и степень m

Pm(x)=b1xm+b2xm-1+...+bmx+bm+1,

Результатом считать коэффициенты и степень полученного полинома Qp(x). Если n>m, то p=n

Если p=m=n, то ci=ai+bi при i=1, 2, ... , n+1. Полученный полином вычислить для заданного x( n20, m20).

Исходные данные: n=7; m=4; a={2,0; -6,0; -8,0; -9,0; 10,0; 12,0; 17,0; 30,0}; b={1,0; -2,0; 6,0; -8,5; 20,5); x=-3,3.

21. Составить программу для вычисления бинома Ньютона

Для вычисления воспользоваться рекуррентным соотношением:

( через сi обозначено ) (m10).

Исходные данные: m=8; x=0,26

22. Составить программу для вычисления матрицы S={sij} (i, j=1, 2,3). Каждый элемент sij вычисляется по формуле

Значения a1, a2, ... , an заданы (n20).

Исходные данные n=7; a={0,1; 0,28; 0,8; 1,38; 2,56; 4,10; 8}

23. Составить программу для вычисления вектора z={z1, z2, ... , zn}, каждая компонента которого определяется по формуле zk=xk+myk, где xk, yk компоненты векторов x={x1, ... , xn} и y={y1,... , yn} (n10),

Исходные данные: n=8; x={1,2; 1,0; -3,0; 2,5; 4; 3,2; 0,5; 0,4};

y={2,4; 2; -6; 5; 8; 6,4; 1; 1,2}

24. Составить программу для вычисления матрицы В={bij}, равной произведению числа  на матрицу А={aij}. Каждый элемент матрицы В вычисляется по формуле bij=aij, i, j=1, 2, ... , n, где  - наибольший элемент заданного вектора z={z1, z2, ... , zm} (n6, m10).

Исходные данные : n=3; m=5; z={11; -5; -0,01; 0,273; -3};

25. Составить программу для вычисления площади многоугольника с вершинами

P1(x1,y1), P2(x2,y2), ... , Pn(xn,yn) по формуле:

S=[(x1-x2)(y1+y2)+(x2-x3)(y2+y3)+...+(xn-xn+1)(yn+yn+1)]/2,

где xn+1=x1, yn+1=y1 (n20).

Исходные данные: n=11;x={1,2; 1; -3; 2,5; 4; 3,2; 0,5; 0,4; 0,4; -0,2; 11}; y={-0,01; 0,274; 0,031; -245; 23; 80; -22; -1; -13,5; -42; -22}

26. Составить программу для вычисления угла  между векторами a={a1, a2, ... , an} и b={b1, b2, ... , bn}, который можно определить из выражения

Исходные данные: n=12; a={1,2; 1; -3; 2,5; 4; 3,2; 0,5; 0,4; 0,4; -0,2; 11; -6};

b={-0,01; 0,274; 0,031; -245; 23; 80; -22; -1; -13,5; -42; -22; 31}

27. Составить программу для вычисления и печати выражения

где  - максимальное из чисел x, y, z, A={aij} - заданная матрица (n

Исходные данные: n=5; x=22; y=-9,1; z=0,02;

28. Cоставить программу для вычисления билинейной формы

где m - максимальный элемент вектора x={x1, x2, ... , xn}. Матрица A={aij}, i, j=1, 2, ... , n, вектор x и вектор y={y1, y2, ..., yn}, заданы (n6).

Исходные данные: n=5; x={11; -5; -0,01; 0,274; 0,031}; y={-245; 23; 80; -22; -1};

29. Составить программу для вычисления компонент вектора

z={z1, z2, ... , zn}, равного произведению заданной матрицы A={aij} на вектор x={x1, x2, ... , xn}. Каждая компонента вектора z вычисляется по формуле.

Компоненты вектора х в свою очередь вычисляется по формуле

Исходные данные: n=4;

30. Составить программу для решения следующей задач. Считая заданный вектор y={y1, y2, ... , yn} первым столбцом матрицы A={aij}, т.е. aij=yi (i=1, 2, ... , n), вычислить остальные элементы матрицы по формуле

В соответствии с приведенной формулой элементы матрицы, располо­­женные ниже диагонали, на которой находятся элементы an1, ... , a1n, будут нулевыми (n 10).

Исходные данные: n=5; y={0,0998; 0,1987; 0,2955; 0,3894; 0,4794}.