Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по программированию.doc
Скачиваний:
42
Добавлен:
07.03.2015
Размер:
1.77 Mб
Скачать

Работа № 4. Арифметические циклы с индексной переменной

Арифметический цикл с индексной переменной является частным случаем предыдущего вида цикла с той лишь особенностью, что параметром цикла является индекс элементов некоторого массива.

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

1.

где аргумент X функции задан рядом значений: Х = Х1, Х2, ... , X10.

Пояснение. Блок-схема решения задачи представлена в двух вариан­тах на рис.12 и 13. Таблица исходных чисел Xi вводится в память машины в виде массива в блоке №2. Чтобы взять из таблицы какой-либо элемент, необходимо ука­зать его порядковый номер, то есть индекс. Таким образом, параметром цикла будет яв­ляться индекс i элементов массива X, изменяющийся по закону арифметической прогрессии от 1 до 10 с шагом 1, а структура блок-схемы соответствует обычной структуре арифметического цикла (сравни с рис. 7, 8).

2.Дан массив чисел Х = X1 , Х2 , ... , Xi , …, Х50.

Положительные значения Х переписать в массив ХР , отри­цательные – в массив ХО (нули исключить). Вывести количест­во положительных и отрицательных элементов.

Пояснение. Блок-схема задачи представлена на рис.14, где i, j, k – индексы элементов массивов X, ХР и ХО соответственно. Фор­мирование массивов положительных и отрицательных элементов производится по обычным правилам реализации типовых операций (см. приложение). Текущие количества положительных и отрицательных элементов в процессе выполнения программы соответствуют значениям индексов j и k формируемых массивов. После окончания цикла эти индексы представляют итоговые количества элементов, записанных в массивы.

3. ,

где X задан массивом из 50 элементов.

Найти среднее арифметическое СА положительных результатов и среднее геометрическое СГ модулей отрицательных результатов (нули исключить).

Пояснение. Блок-схема решения задачи приведена на рис. 15. В цикле рассчитываются сумма S и количество K положительных результатов, произведение P и количество N отрицательных. Собственно СА и СГ определяются после окончания цикла при условии, что итоговые K и N отличны от нуля.

4.

где аргумент X задан рядом значений: X1, X2, … , X25. Каждый третий результат запомнить в массив, исключив нули. Определить среднее геометрическое модулей ненулевых результатов.

5.

где аргумент X задан рядом значений: X=X1, X2, … , X50. Все результаты запомнить в массив. Найти максимальный результат и минимальный по модулю результат, отличный от нуля, и их порядковые номера.

6. Дан ряд вещественных чисел A, A, … , A15 , упорядоченных по возрастанию, и вещественное число B. Необходимо:

а) переменной B присвоить ближайшее, большее значение ряда;

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

7. Дан массив вещественных чисел X, X, … , X100 .Необходимо:

а) переписать массив в обратном порядке;

б) просуммировать чётные и нечётные элементы массива;

в) исключить максимальный элемент, оставшиеся члены уплотнить;

г) определить среднее значение и среднеквадратичное отклонение для первых Nэлементов массива в соответствии с формулами

д) каждый элемент массива, исключая первый и сотый, заменить следующим значением (“сглаживание” экспериментальных данных, уменьшающее влияние случайных ошибок)

е) исключить из массива члены, кратные семи, переместив остальные члены так, чтобы не было пропусков;

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

8. Имеется два вектора В, … , ВКиС, … , СК(К<50). Необходимо:

а) найти скалярное произведение векторов Р = ВС1 + … + ВК СК;

б) рассматривая элементы Вкак координаты одной точки вК-мерном пространстве, а элементыС– координаты другой точки, найти расстояниеРмежду ними по следующей формуле

Контрольное задание № 4. Составить циклическую программу вычисления функцииYm=F(Xi), гдеm=1-5, а аргументХi задан в виде массива. Вариант задания берется из табл. 4 в соответствии с номером, указанным преподавателем. Вычисляемые функции и массивы аргументов приведены после таблицы. Обозначения искомых переменных и формируемых массивов представлены в контрольном задании №3.

Таблица 4

Фун-кция

V1

V2

W1

W2

Задание на выполнение

1

Y1

0,35

-0,5

A0,A1,G2,MAX,R3,R4,

2

Y2

12,5

0,15

-0,5

G0,A3,A4,MAX1,R1,R2

3

Y3

2,5

0,35

A0,A1,G1,MIN1,R4,R5

4

Y4

1,8

2,37

G0,A2,A4,MIN1,R0,R6

5

Y5

-25,3

A0,A1,G3,MAX,R3,R4

6

Y1

-0,17

1,0

0,21

G0,A2,A3,MAX1,R2,R3

7

Y2

2,15

-3,5

1,25

A0,A1,G4,MIN,R5,R6

8

Y3

0,712

-0,86

3,2

G0,A1,A2,MIN1,R1,R2

9

Y4

4,2

4,0

3,6

A0,A2,G1,MAX,R5,R0

10

Y5

-30,7

-0,18

G0,A1,A3,MAX1,R1,R3

11

Y1

1,2

4,23

A0,A2,G2,MIN,R6,R5

12

Y2

2,56

-1,89

G0,A1,A4,MIN1,R3,R4

13

Y3

1,32

0,22

0,21

A0,A2,G3,MAX,R0,R6

14

Y4

1,85

2,75

2,75

G0,A4,G4,MAX1,R1,R6

15

Y5

-20,0

2,0

0,6

A0,G2,G3,MIN,R1,R2

16

Y1

0,75

G0,A3,G1,MIN1,R0,R3

17

Y2

1,55

-0,15

0,45

A0,G1,G4,MAX,R5,R6

18

Y3

-0,27

1,2

0,2

G0,A3,G2,MAX1,R1,R2

19

Y4

1,27

A0,A2,G4,MIN,R3,R4

20

Y5

2,1

0,5

G0,A3,G3,MIN1,R2,R3

21

Y1

0

-1

0,97

A0,G1,G2,MAX,R5,R6

22

Y2

-3,3

0,33

-1,3

G0,A3,G4,MAX1,R1,R2

23

Y3

0,17

0,5

A0,G1,G3,MIN,R0,R5

24

Y4

-6,28

G0,A4,G2,MIN1,R3,R4

25

Y5

1,5

-1,5

91,5

A0,G2,G3,MAX,R5,R6

26

Y1

0,36

1,6

-0,65

G0,A4,G1,MAX1,R1,R2

27

Y2

0,15

0,82

A0,G2,G4,MIN,R0,R6

28

Y3

-0,32

0,256

-0,7

G0,A4,G3,MIN1,R1,R2

29

Y4

-4,6

5,47

A0,А1,G4,MAX,R0,R3

30

Y5

0,7

-33,5

G0,A3,G2,MIN,R0,R4

Вычисляемые функции и массивы аргументов

где X = 4,5 , -0,3 , -1,5 , -0,9 , 0,2 , 0,1 , -1,8 , 3,37 , -4,5 , 4,5 .

где X= -2,5 , -2,1 , -0,78 , 0,45 , 0,65 , 1,8 , -0,18 , -0,7 , 4,8 .

где X= 0,44 , -1,2 , 2,5 , 12,3 , -1,65 , 0,45 , -3,3 , -0,11 , -0,45 , -7,5 .

где X= -8.3 , -10,7 , 7,25 , 4,8 , -5,1 , 0,37 , -1,5 , 1,5 , -1,5 , 2,3 , 0.4 .

где X= 0,01 , 0,02 , -0,5 , 2,31 , 0, 1,0 , 0 , -1,25 , -1,0 , -0,77 , 0 .

Рекомендации. При программировании вычисления функций Y следует анализировать возможность возникновения ошибок выполнения таких математических операций, как деление на ноль и вычисление логарифма нуля или отрицательного числа. Последняя ошибка может быть следствием неправомочного применения операции логарифмирования для вычисления целой степени произвольного числа (например, для вычисления cos2X).