Циклические процессы и процедуры в программах - Pascal
Формулировка задачи:
Помогите пожалуйста решить задачку:
Разработать алгоритм и программу вычисления функции C(x1,x2,x3,x4), зависящей от четырех переменных x1,x2,x3,x4 , которые изменяются по различным законам. Значения переменных задаются на основе формул
x1=5, 25(0.5),
x2=2, 11(0.1)
x3=9, 1 , 4 , 1.4 (массив)
x4=0, 1 ,1.8, 21 (массив)
В программе необходимо предусмотреть вычисление значений C(x1,x2,x3,x4) для всех комбинаций. Обязательно предусмотреть полный перебор x1,x2,x3,x4 . Вычислить сумму всех C(x1,x2,x3,x4 ) и вывести ее на монитор. В программе организовать вывод для которых выполняется условие
-21< C(x1,x2,x3,x4 )<21 (тут знаки "меньше либо равно")
Переменные x1 и x2 заданны с равномерными шагами 0.5 и 0.1 , а x3 и x4 массивами из четырех значений.
Внимание. Если значение функции C(x1,x2,x3,x4 ) неопределенно при какой либо комбинации , то на экран монитора вывести x1,x2,x3,x4 при которых C(x1,x2,x3,x4) не определена и вывести фразу “C-неопределенна”.
Решение задачи: «Циклические процессы и процедуры в программах»
textual
Листинг программы
program task3; uses crt; var x1p,x2p,x3p,z:real; i, j, k, y,ix1,ix2:integer; x3 : array[1..4] of real; x1n,x2n,x1k,x2k,h1,h2 : real; Begin {н.п} clrscr; {очистка экрана} x1n:=2.1;x2n:=10.1; x1k:=7.3;x2k:=15.7; h1:=0.1;h2:=0.7; x3[1]:=7.1;x3[2]:=8; x3[3]:=0; x3[4]:=9; ix1:=trunc((x1k-x1n)/h1)+1; ix2:=trunc((x2k-x2n))+1; y:=0; x1p:=x1n; for i:=1 to ix1 do begin {н.б.1} x2p:=x2n; for j:=1 to ix2 do begin {н.б.2} for k:=1 to 4 do begin {н.б.3} z:=2*x1p*x1p*x1p+cos(exp(ln(x2p)*(3/4))) +ln(abs(sin(x3[k]))); y:=y+1; writeln('i=',y,' x1=',x1p:5:2,' x2=',x2p:5:2,' x3=',x3[k]:5:2,' Z=',z:7:2); {вывод на экран результатов} end; {к.б.3} x2p:=x2p+h2; end; {к.б.2} x1p:=x1p+h1; end; {к.б.1} readln; End. {к.п.}
Объяснение кода листинга программы
- Объявлены переменные: x1p, x2p, x3p, z, i, j, k, y, ix1, ix2, x3, x1n, x2n, x1k, x2k, h1, h2.
- Очищен экран с помощью функции clrscr.
- Заданы начальные значения переменных: x1n, x2n, x1k, x2k, h1, h2.
- Заданы начальные значения массива x3.
- Вычислены значения ix1 и ix2, которые определяют количество итераций внутренних циклов.
- Задано начальное значение переменной y.
- Задано начальное значение переменной x1p.
- Внутренний цикл for i:=1 to ix1 выполняется ix1 раз.
- Внутри внутреннего цикла for j:=1 to ix2 выполняется ix2 раз.
- Внутри вложенного внутреннего цикла for k:=1 to 4 выполняется 4 раза.
- Вычисляется значение переменной z на каждой итерации внутреннего цикла.
- Значение переменной y увеличивается на единицу на каждой итерации внутреннего цикла.
- На каждой итерации внутреннего цикла выводится на экран значение переменных x1p, x2p, x3[k] и z.
- После завершения внутреннего цикла for j:=1 to ix2 выполняется переход к следующей итерации внешнего цикла for i:=1 to ix1.
- После завершения внешнего цикла for i:=1 to ix1 выполняется переход к следующей итерации внешнего цикла for i:=1 to ix1.
- Задано конечное значение переменной x1p.
- В конце программы запрашивается ввод данных с помощью функции readln.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д