- •Федеральное агентство по образованию
- •153003 Г. Иваново, ул. Рабфаковская, 34 Введение
- •Работа № 1. Прямые программы
- •Работа № 2. Разветвляющиеся программы
- •Работа № 3. Арифметические циклы с простой переменной
- •Работа № 4. Арифметические циклы с индексной переменной
- •Работа № 5.Итерационные циклы
- •Работа № 7. Работа с двумерным массивом
- •Работа № 8. Функции и подпрограммы
- •Работа № 9. Модули и файлы
- •Работа № 10. Строковые переменные
- •Приложение. Типовые операции в циклических программах
- •Содержание
Работа № 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. Дан ряд вещественных чисел A1 , A2 , … , A15 , упорядоченных по возрастанию, и вещественное число B. Необходимо:
а) переменной B присвоить ближайшее, большее значение ряда;
б) переменной В присвоить ближайшее значение ряда, то есть округлить числоВдо ближайшего значения ряда.
7. Дан массив вещественных чисел X1 , X2 , … , X100 .Необходимо:
а) переписать массив в обратном порядке;
б) просуммировать чётные и нечётные элементы массива;
в) исключить максимальный элемент, оставшиеся члены уплотнить;
г) определить среднее значение и среднеквадратичное отклонение для первых Nэлементов массива в соответствии с формулами
д) каждый элемент массива, исключая первый и сотый, заменить следующим значением (“сглаживание” экспериментальных данных, уменьшающее влияние случайных ошибок)
е) исключить из массива члены, кратные семи, переместив остальные члены так, чтобы не было пропусков;
ж) упорядочить элементы в порядке возрастания.
8. Имеется два вектора В1 , … , ВКиС1 , … , СК(К<50). Необходимо:
а) найти скалярное произведение векторов Р = В1 С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 |
Вычисляемые функции и массивы аргументов
где
| ||||||||||||
где
| ||||||||||||
где
| ||||||||||||
где
| ||||||||||||
где
|
Рекомендации. При программировании вычисления функций Y следует анализировать возможность возникновения ошибок выполнения таких математических операций, как деление на ноль и вычисление логарифма нуля или отрицательного числа. Последняя ошибка может быть следствием неправомочного применения операции логарифмирования для вычисления целой степени произвольного числа (например, для вычисления cos2X).