Циклические процессы и процедуры в программах - 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. {к.п.}

Объяснение кода листинга программы

  1. Объявлены переменные: x1p, x2p, x3p, z, i, j, k, y, ix1, ix2, x3, x1n, x2n, x1k, x2k, h1, h2.
  2. Очищен экран с помощью функции clrscr.
  3. Заданы начальные значения переменных: x1n, x2n, x1k, x2k, h1, h2.
  4. Заданы начальные значения массива x3.
  5. Вычислены значения ix1 и ix2, которые определяют количество итераций внутренних циклов.
  6. Задано начальное значение переменной y.
  7. Задано начальное значение переменной x1p.
  8. Внутренний цикл for i:=1 to ix1 выполняется ix1 раз.
  9. Внутри внутреннего цикла for j:=1 to ix2 выполняется ix2 раз.
  10. Внутри вложенного внутреннего цикла for k:=1 to 4 выполняется 4 раза.
  11. Вычисляется значение переменной z на каждой итерации внутреннего цикла.
  12. Значение переменной y увеличивается на единицу на каждой итерации внутреннего цикла.
  13. На каждой итерации внутреннего цикла выводится на экран значение переменных x1p, x2p, x3[k] и z.
  14. После завершения внутреннего цикла for j:=1 to ix2 выполняется переход к следующей итерации внешнего цикла for i:=1 to ix1.
  15. После завершения внешнего цикла for i:=1 to ix1 выполняется переход к следующей итерации внешнего цикла for i:=1 to ix1.
  16. Задано конечное значение переменной x1p.
  17. В конце программы запрашивается ввод данных с помощью функции readln.
  18. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.5 из 5
Похожие ответы