B=45 F=0,12
E=2,5
A=36 F=0,12
M=-1,83
A=3№ФункцияКоэффи-циенты7 A=5
C=-0,18
B=2,55
Е=38 D=0,3
C=2,6
A=49 A=3
B=3,4510 E=2,23
A=5№ФункцияКоэффи-циенты11 P=0,85
Q=2,15
A=612 B=1,57
A=413 B=4,24
A=414 A=6
P=-0,67
E=1,1№ФункцияКоэффи-циенты15 A=3
B=-9,7716 A=5
K=2
M=1517 A=3
C=7,33
R=-0,218 A=4
E=0,5
F=0,8№ФункцияКоэффи-циенты19 A=12
B=1,320 A=5
C=-3,1
D=1
B=2021 A=6
M=1,23
N=3,4122 A=4№ФункцияКоэффи-циенты23 A=6
F=1,57
E=-2.224 A=5
P=0,52
E=1,3225 A=4
M=3
T=0,1526 A=4
K=5
M=1,5№ФункцияКоэффи-циенты27 A=3
K=1,228 A=4
K=2,2329 A=330 C=-0,12
D=12,3
B=0,145
A=10
Работа№3.Арифметическиециклыспростойпеременной
Арифметическимназывается цикл, в котором число повторений заранее известно или его можно предварительно вычислить. Название цикла связано с тем, что его параметр обычно изменяется по закону арифметической прогрессии. Если при этом параметр цикла Xявляется простой переменной, например аргументом некоторой вычисляемой в цикле функции Y=F(X),то цикл называется арифметическимцикломспростойпеременной.
Задание.Разработать блок-схемы и составить программы вычисления нижеследующих функций.
1.
где Хизменяется от XH=5 до ХK=100 с шагом H=1.
Пояснение.Количество повторений в подобных циклах можно определить по формуле
N= (ХK–ХH)/Н+1
с округлением (в случае дробного результата) до ближайшего целого в меньшую сторону. В нашем примере N=96.
Один из возможных вариантов блок-схемы арифметического цикла для решения данной задачи представлен на рис. 7.
Блок №3, в котором переменная Хпринимает свое начальное значение, называют блокомподготовкицикла. Блоки №4,5 вычисления функции Yи вывода результатов составляют рабочую часть, или телоцикла. Блок №6 является блокомизмененияпараметрацикла, а блок №7 – блокомпроверкиокончанияцикла.
На многих алгоритмических языках для организации циклических программ применяются специальные операторы цикла, позволяющие упростить написание таких программ. Оператор цикла обычно объединяет в себе функции трех блоков: задания начального значения параметра цикла, его изменения и проверки окончания (блоки №3,6,7). В связи с этим может быть упрощено и начертание блок-схем, как это сделано, например, на рис. 8 для нашего примера. Но для каждого алгоритмического языка такое упрощение может быть сделано по-разному, в зависимости от особенностей оператора цикла. Далее будут использоваться два вида блок-схем циклических программ:
а) универсальная блок-схема рис. 7, приемлемая для любого языка программирования. Отметим, что здесь возможен вариант и с расположением условия выхода из цикла (блок №7) перед телом цикла. В первом случае говорят, что это циклспостусловием,а во втором – спредусловием;
б) упрощенная блок-схема рис. 8, которая будет использоваться в более сложных циклических программах с той целью, чтобы не загромождать общую схему решения задачи излишним количеством блоков.
В последнем случае указывается только начало и конец цикла, но не указывается способ его организации. По желанию программиста эта блок-схема всегда может быть развернута до нужной в соответствии с особенностями используемого языка программирования.
Переход от одного вида блок-схемы к другому можно легко осуществить, уяснив функции соответствующих блоков из сопоставления рис. 7 и рис. 8.
Стрелка от блока №6 к блоку №3 в упрощенной блок-схеме показана пунктирной линией, так как функции возврата на повторение при использовании оператора цикла реализуются в языках программирования автоматически без явной записи оператора перехода.
2.
где Хизменяется от ХН= 0 до XK= 10 с шагом Н= 0,5.
Из отрицательных значений функции Yсформировать массив.
Пояснение.Блок-схема решения задачи приведена на риc. 9, где идентификатором YОобозначен массив формируемых результатов, а идентификатором j– текущий индекс элементов этого массива.
В соответствии с правилами реализации типовых операций (см. приложение) до начала цикла, пока не получено ни одного результата Y, значение индекса jравно нулю (блок №3). В процессе расчетов в теле цикла, по мере нахождения очередного отрицательного значения Y(блок №7), происходит запоминание его в массив Y0(блок №8), которое заключается в увеличении значения индекса jи присваивании элементу массива Y0jочередного значения Y. После окончания цикла величина jбудет представлять количество элементов массива Y0, которым были присвоены отрицательные значения функции Y.
3.
где X изменяется от ХHдо ХKс шагом Н.
Вычислить количество Kнулевых, сумму Sположительных и произведение Pотрицательных значений функции Y. Вывод Sи Pпроизвести, если они вычислялись в цикле хотя бы один раз.
Пояснение.Блок-схема решения задачи приведена на рис. 10. В соответствии с правилами реализации типовых операций (см. приложение) до начала цикла задаются начальные значения К,S,Р,а непосредственно вычисление количества, суммы и произведения осуществляется в теле цикла в зависимости от значения Y. В качестве признаков необходимости вывода Sи Pиспользованы переменные KSи KP,изменяющие свои значения с нуля на единицу.
4.
где Хизменяется от ХHдо ХKс шагом Н, найти и вывести максимальное значение функции MAXи ее аргументХМ.
Пояснение.Блок-схема решения задачи приведена на рис. 11. В соответствии с правилами реализации типовых операций (см. приложение) поиск максимального значения функции осуществляется в цикле путем поочередного сравнения каждого нового значения Yс наибольшим из всех предыдущих: если Yбольше МАХ(блок №6), то значение МАХпринимается равным Yи запоминается значение аргумента ХМ=Х(блок №7). В качестве первого МАХдо начала цикла принимается очень малое число (блок №3), так чтобы при первом же прохождении цикла условие блока №6 было выполнено и МАХполучил значение первого результата Y.
5.
где Х изменяется от 0 до 100 с шагом H, причем
Найти минимальный результат и его порядковый номер.
6.
где Х изменяется от -4 до 5 с шагом 0,2. Сформировать массив всех результатов. Найти произведения положительных и отрицательных значений функции Y.
7.
где tизменяется от 0 до 0,1 с шагом 0,002.
Значения функции U, большие величины С,запомнить, меньшие Спросуммировать и перемножить. Найти количество значений функции U,равных C.
8.
где Хизменяется от Хначдо Xконс шагом H= (Хнач- Xкон)/50.
Все результаты запоминать в массив, каждый третий результат вывести на экран. Найти суммы положительных и отрицательных результатов, а на экран вывести только сумму с наибольшим числом слагаемых.
9.
где
Все результаты запоминать в массив. Найти максимальное значение функции Uи его порядковый номер, минимальное значение Uи соответствующее ему значение аргумента.
Контрольноезадание№3. Составить циклическую программу вычисления функций Fm=F(X),гдеm=110,если аргумент Хизменяется от ХНдо ХКс шагом Н. Вариант задания берется из табл. 3а в соответствии с номером, указанным преподавателем. Вычисляемая функция Fmвместе с вспомогательными функциямиприведена в табл. 3б. Обозначения в графе “Задание на выполнение” табл. 3а следует расшифровать в соответствии с нижеследующими списками “Обозначения искомых переменных” и “Обозначения формируемых массивов”.
№
FmXHXKHU1U2W1W2Задание на выполнение1F1-2,57,60,79,1546S0,S1,P3,K3,R22F2-3,13,10,41,35-0,51,0K0,S1,P1,S2,R53F30,88,950,6-1063,5-25P0,S2,P1,K1,R24F4-0,22,850,3-1,20,4K0,S3,P2,P3,R05F50,8511,30,80-0,20,3S0,S3,P4,K4,R56F6-0,72,350,20,12-0,2P0,S3,K2,K3,R47F7-1,22,230,20,020,01S0,P3,K2,K3,R38F80,19,150,82,05-0,71,2P0,S2,S3,K3,R59F9-0,55,60,62,75-1,54S0,P2,P3,K3,R610F10470,20,010,02-0.2K0,S4,S1,P1,R111F1-1,35,60,5-3115P0,S4,P4,K2,R212F218,00,5-2,50,750,5P0,S1,K1,K4,R613F3-0,92,850,33,6-1,2S0,S1,P2,K2,R314F4-4,6-0,80,41,050-0,3К0,S1,P4,К1,R115F50,16,280,5-0,10,02S0,P1,K2,K3,R416F62,510,30,80,90,5P0,S3,K3,K1,R617F7-35,233,55,10,80,5-0,3К0,S2,Р2,К1,R118F8-9,100,71,5S0,S2,K2,K4,R319F91,5 I12,71,1-1,52S0,P0,P2,K4,R520F10150,30,31S0,P4,S2,K2,R621F1-0,40,450,19,62-8,3P0,S3,P3,K2,R422F2-1000,73,25-2,0K0,S1,P3,K1,R,23F3-550,81,75-0,84,2S0,S4,P3,K3,R124F40,0511,00,93,14P0,S4,P4,K2,R425F50,0512,31,1-0,3S0,K2.P4,K4,R326F62,1515,01,1-0,40,320,5K0,S3,P3,K4,R627F7-3,36,660,6-0,010,150,2S0,Р2,К2,К3,R528F8-10,370,1-1,50,5-0,2P0,S3,S4,K4,R129F9-500,40-1,5-2,3K0,P3,P2,S2,R230F100,759,540,70,3-1P0,P2,K2.K4,R1Таблица 3б
Вычисляемая функция FmВспомогательная функция Обозначенияискомыхпеременных:
Кn,Sn,Рn,Аt,Gt– соответственно количество, сумма, произведение, среднее арифметическое, среднее геометрическое вычисляемых значений Fm,где индексы nи tуказывают, для каких конкретных значений Fmпроизводятся расчеты перечисленных переменных:
n=0 – для всех результатов Fm;
1 – для результатов Fm, меньших U1;
2 – для результатов Fm, меньших U2;
3 – для результатов Fm, больших U1;
4 – для результатов Fm, не меньших U2.
t= 0 – для всех результатов Fm;
1 – для результатов Fm, меньших V1;
2 – для результатов Fm, меньших V2;
3 – для результатов Fm, больших V1;
4 – для результатов Fm, не меньших V2.
MIN– минимальный результат,
МАХ– максимальный результат,
МIN1– минимальный по абсолютной величине результат,
MAX1– максимальный по абсолютной величине результат.
|