Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[12]

Значения элементов54

5. . . 4

Если известна зависимость, по которой изменяются значения элементов массива, то присвоение значений удобно проводить в операторах цикла c параметром или с условием. Например, присвоим значения элементам массива "у" по зависимости: y=sin(x), где x= Pi * i/180, 0<= i <=180 .

For i:= 0 to 180 Do y[i]:= sin(Pi * i/180);

Присвоим случайные значения в диапазоне от -30 до +40 ста элементам массива "R": Randomize; for i:= 1 to 100 Do R[i]:= - 30 + Random(71);

Присвоим значения семи элементам массива "A" оператором Readln:

For i:= 1 to 7 Do begin Write( Введите A[ , i , ] = ); Readln( A [ i ] ) end;

При выводе массива на экран удобно размещать данные в виде таблицы - в несколько колонок. Для вывода обозначений переменных ("шапки таблицы") можно использовать операторы вывода символов в цикле, например:

For j For j For j

=1 to 66 do Write(-); Writeln;

=1 to 3 do Write( Фамилия оценка ); Writeln;

=1 to 66 do Write(-); Writeln;

- шапка для вывода в три пары колонок значений переменных "S" и "A". Шапка занимает 66 позиций (по ширине экрана в текстовом режиме размещается 79 символов и пробел). Оператор Writeln; переводит курсор на новую строчку.

Вывод значений ста элементов массивов "S" и "A" в три пары колонок, произведем операторами:

For i:= 1 to 100 do begin Write(, s[i]:11,, a[i]:8, );

if (i mod 3) = 0 Then Writeln; if (i mod 60) = 0 then readlnend;

В этом случае данные таблицы полностью не умещаются на экране и можно задержать прокрутку экрана при выводе данных, применяя оператор Readln после вывода, например, 20 строк.

В цикле удобно определять сумму элементов массива, наибольший (наименьший) элемент и создавать новые массивы, удовлетворяющие некоторому условию, например: s:= 0; for i:= 1 to 100 do s:= s + a[i]; { s - сумма элементов массива }

a max:= a[1]; for i:= 1 to 100 do{ поиск наибольшего элемента a[j] }

if a[i] > a max then begin a max:= a[i]; j:= i end;

j:= 0; k:= 0;

for i:=1 to 100 do { создание новых массивов с элементами: b[j] >=0, c[k] <0} if a[i] >= 0 then begin j:= j+1; b[j]:= a[i] end else begin k:= k+1; c[k]:= a[i] end;

j:= 0; k:= 8;


for i:= 1 to 100 do {создание массива номеров "M" для элементов: a[i] > a[k]}

if a[i] > a[k] then begin j:=M[j]:= i end;

Практическое задание N 1. 18

1.Вывести на экран таблицу с колонкой "Фамилии" и тремя колоноками "оценки" по различным предметам и заполнить ее 10 строками данных. Значения элементов массива фамилий задаются в программе оператором присваивания, значения элементов массивов оценок задаются функцией Random.

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

Практическое задание N 1. 19

1.Рассчитать наибольшее и наименьшее значения функции y= sin(x) - x2 на интервале 0 =< x <= 1, изменяя значение "х" с шагом 0. 005. Вывести на экран таблицу значений "х" и "у" в три пары колонок, а также наибольшее и наименьшее значения функции "у" и соответствующие им значения " х".

2.Рассчитать наибольшее и наименьшее значения функции y= cos(x) + x на интервале 0 =< x <= Pi/2, разбив интервал на 99 отрезков. Вывести на экран таблицу значений "х" и "у" в две пары колонок, а также наибольшее и наименьшее значения функции "у" и соответствующие им значения "х".

Практическое задание N 1. 20

1.Рассчитать момент инерции массива точек относительно осей "x" и "y" :

Jx = m1 * x12 + m2 * x22 +. . . + mN * xN2, Jy = m1 * y12 + m2 * y22 +. . . + mN * xN2.

Массив "N" точек ( N = 60 ), имеющих массы "m" ( 5 =< m <= 25 ) определен на прямоугольнике с координатами - 10 <= x <= 10 и 10 <= y <= 20. Вывести на экран таблицу значений "N", " х", " у", "m", а также моменты инерции "Jx", "Jy".

Определить и вывести на экран номера точек с экстремальными значениями координат, массы и моментов инерции точки.

2.Расcчитать координаты центра тяжести массива точек: Xc = Xm/M, Yc = Ym/M, где

Xm = m1 * x1 + m2 * x2 +. . . + mN * xN,

Ym = m1 * y1 + m2 * y2 +. . . + mN * yN,

M = m1 + m2 +. . . + mN,


Массив из "N" точек ( N = 45 ), имеющих массы "m" (3 =< m <= 35) определен на прямоугольнике с координатами -22 <= x <= 33 и 11 <= y <= 44. Вывести на экран таблицу значений "N", "х", "у", "m", а также координаты центра тяжести "Xc", "Yc" и массу точек "M". Определить и вывести на экран номера точек с экстремальными значениями координат и массы.

3. Рассчитать массив "r" - расстояние между точками с соседними номерами и массива "s" - расстояние от каждой точки до последней вдоль ломанной, например:

ri = V((xi - x2)2 + (Yi - Y2)2) - расстояние от точки "1" до точки "2", si = r1 + r2 + ... + rN - расстояние от точки "1" до последней точки "N", s2 = s1 - r1 - расстояние от точки "2" до последней вдоль ломанной.

Массив из "N" точек ( N = 30 ) определен на прямоугольнике с координатами 9<=x<=25 и 21<=y<=34. Вывести на экран таблицу значений "N", "х", "у", "s".

4. Рассчитать массив "s" - сумма расстояний от каждой точки до всех остальных, по формулам:6

r±j = V((xi-Xj)2+(Yi-Yj)2) - расстояние от i- ой

до j- ой точки,

Si = Si + rij

- суммирование производится во внутреннем цикле с параметром "j", а во внешнем цикле меняется параметр "i".

Массив из "N" точек ( N = 20 ) определен на прямоугольнике с координатами 3<=x<=15 и 8<=y<=14. Вывести на экран таблицу значений "N", "х", "у", "s".

5. К задаче п3. Определить массив "M" - номеров точек , которые придут к финишу быстрее первой, т. е. для которых выполняется условие: T[i] < T[1].

Здесь T[i] = S[i] / V[i] - время движения от i-ой точки до последней,

V[i] = 30 - i - скорость движения i-ой точки. Вывести на экран таблицу значений "N", "х", "у", "S", "V", "t" для всех точек и таблицу для " быстрых" точек.

6. К задаче п4. Определить массив номеров точек "M", которые ходят в гости к другим точкам дольше первой, т. е. для которых выполняется условие: S[i]>S[1] (точки каждый раз возвращаются в исходное положение (домой), скорость всех точек постоянна и одинакова). Вывести на экран таблицу значений "N", "х", "у", "s", для всех точек и таблицу для "медленных" точек.

Примечание к п.п. 1-6: Значения "x", "y", "m" задаются функцией Random.

Практическое задание N 1. 21



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53]