Top.Mail.Ru
Ответы
Аватар пользователя
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Помогите пожалуйста по информатике паскаль циклы

Циклические вычислительные процессы. Решение задач, содержащих вычисление конечных сумм и произведений
Составить циклический код на языке паскаль

Z = x*(sin x3 + cos2*y),
y=0,5;
0,3<x<1,8 ∆x=0,15

По дате
По рейтингу
Аватар пользователя
Новичок

Эту задачу можно решать по разному. Вот, например, есть такой экономичный вариант:

12345678910
 uses crt; 
const y = 0.5; 
var x: real; u: real = cos(2 * y); 
 
procedure s(); 
begin writeln('——————————————————————————') end; 
 
begin clrscr; s; writeln('  x             z'); s; x := 0.3; 
repeat writeln(x: 5: 2, x * (sin(x * x * x) + u): 20: 15); 
x := x + 0.15 until x > 1.8; s; end 

А экономичнее такой вариант тем, что не нужно на каждом шаге цикла вычислять значение выражения cos(2y), которое можно вычислить в самом начале всего один раз!
И вообще, смотрите что у Вас написано:
Z = x*(sin x3 + cos2*y) - это что за функция?
У меня и у Сеппенена это такая функция:
z(x,y) = x·[sin(x³)+cos(2y)]
У Кузнецова это x·[sin(x³)+cos(y²)]
А у Штейна это х·[sin(x³)+cos²(y)]
А Вам какую надо?

Аватар пользователя
Мудрец

Ну допустим

12345678910111213141516171819202122
 program CalculateZ; 
 
uses 
  Math; 
 
var 
  x, y, Z: Real; 
  step: Real; 
begin 
  y := 0.5; 
  step := 0.15; 
  x := 0.3; 
   
  writeln(' x       |        Z'); 
  writeln('------------------------'); 
  while x <= 1.8 do 
  begin 
    Z := x * (sin(Power(x, 3)) + sqr(cos(y))); 
    writeln(x:7:2, '  |  ', Z:10:5); 
    x := x + step; 
  end; 
end. 
Аватар пользователя
Мастер

омогите пожалуйста по информатике паскаль циклы
Циклические вычислительные процессы. Решение задач, содержащих вычисление конечных сумм и произведений
Составить циклический код на языке паскаль

Z = x*(sin x3 + cos2*y),
y=0,5;
0,3<x<1,8 ∆x=0,15

program CyclicProcess;
var
x, z, y: real;
begin
x := 0.3;
while x <= 1.8 do
begin
y := 0.5;
z := x * (sin(x * x * x) + cos(2 * y));
writeln('x = ', x:5:2, ' z = ', z:10:5);
x := x + 0.15;
end;
end.

Аватар пользователя
Профи

В данном циклическом коде на языке Паскаль решается задача вычисления значения переменной Z по заданной формуле. Значение переменной y равно 0.5, а переменная x изменяется в диапазоне от 0.3 до 1.8 с шагом 0.15. В каждой итерации цикла вычисляется значение Z и выводится на экран.