pechinin
?>

Нужно выполнить в паскале используя оператор цикла с параметром (for даны действительные a, b и натуральное n. вывести таблицу значений функции f(x). таблица имеет две колонки, в i-ю строку таблицы заносятся значения xi и yi, где xi=a+ih, h=(b-a)/n, yi=f(xi)(i=0, ). f(x)=(x2+1)cos(x) вычислить f(a)+f(a+h)++f(a+nh) делал сам, но вышло криво: var a, b, h, x, f, xi, yi: real; n, i: integer; begin write('a='); read(a); write('b='); read(b); write('n='); read(n); for var i : = 1 to 10 do writeln(i); h: =(b-a)/n; writeln('h=', h); f: =(sqr(x)+1)*cos(x); xi: =a+i*h; writeln('xi=', xi); yi: =xi; writeln('yi=', yi); writeln('f=', f); end.

Информатика

Ответы

fiorire731
Возможно я не понял условие. Посмотри такое:

//Pascal
var
a, b, h, f, xi, yi: real;
n, i: integer;
begin
  write('a = '); readln(a);
  write('b = '); readln(b);
  write('n = '); readln(n);
  writeln;
  writeln('  xi          yi');
  f := (a * 2 + 1 * cos(a));
  h := (b - a) / n;
  for i := 0 to n do
  begin
    xi := a + i * h;
    yi := xi * 2 + 1 * cos(xi);
    f := f + (((a+h) * 2 + 1 * cos(a+h)));
    writeln(xi:4, '    ', yi:4);
  end;
  writeln;
  writeln('f = ', f);
end.

Нужно выполнить в паскале используя оператор цикла с параметром (for). даны действительные a, b и на
Kulikov1065
1) 40 * 60 1500 = 3600000 всего символов в книге
В стандартной кодировке 1 символ - 1 байт, значит
3600000 * 1 байт = 3600000 байт / 1024 = 3515,625 Кбайт / 1024 = 3,4 Мбайт
2) 1,25 Кбайт = 1280 байт = 10240 бит
10240 бит / 2048 символов = 5 бит -  глубина кодирования 1 символа
N = 2^i
N = 2^5 = 32 символа в алфавите
3) Использован двоичный код, значит 1 символ несет 1 бит информации
4) В русском алфавите 33 буквы - N
N = 2^i
33 = 2^i
i = 6 бит - несет 1 буква информации в русском алфавите
В слове математика 10 букв
10 * 6 бит = 60 бит информации несет слово МАТЕМАТИКА
5) N = 2^i
16 = 2^i
i = 4 бит несет 1 буква информации в 16-символьном алфавите
512 символов * 4 бит = 2048 бит / 8 = 256 байт = 0,25 Килобайт составляет это сообщение
6) 3 * 25 * 60 = 4500 всего символов
1125 байт *  8 = 9000 бит все сообщение
9000 / 4500 = 2 бита - 1 символ
N = 2^i = 2^2 = 4 символа в этом алфавите
7) N = 2^i
32 = 2^i
i = 5 бит - 1 символ
256 * 5 = 1280 бит информационный объем всего сообщения
1280 бит / 8 = 160 байт / 1024 = 0,15625 Килобайт
8) 0,5 Кбайт = 4096 бита - информационный вес сообщения
4096 / 2 = 2048 бит - на одной странице
2048 / 256 = 8 бит используется для кодирования 1 символа
N = 2^i = 2^8 = 256 симовлов в алфавите
9) N = 2^i
256 = 2^i
i = 8 бит  = 1 байт глубина кодирования 1 символа
30 * 70 * 5 = 10500 символов всего
10500 символов *  1 байт = 10500 байт все сообщение
10500 байт / 1024 = 10,25 Килобайт - все сообщение
10) N = 2^i
256 = 2^i
i = 8 бит  = 1 байт глубина кодирования 1 символа
1/32 Мбайт = 32 Кб = 32768 байт
32768 байт / 1 байт = 32768 символов в тексте
proea
' QBASIC
CONST n = 10
DIM a(1 TO n) AS DOUBLE, b(1 TO n) AS DOUBLE, x(1 TO n) AS DOUBLE
RANDOMIZE TIMER
CLS
FOR i = 1 TO n
   a(i) = 50 * RND - 25
   b(i) = 50 * RND - 25
   IF a(i) <> 0 THEN
      x(i) = b(i) / a(i)
   ELSE
      x(i) = 0
   END IF
   PRINT USING "###."; a(i);
   PRINT " * ";
   PRINT USING "###."; x(i);
   PRINT " = ";
   PRINT USING "###."; b(i)
NEXT i

Тестовое решение:
-14.65854 *   0.53867 =  -7.89606
-14.19729 *   1.08311 = -15.37722
-17.21156 *  -0.07488 =   1.28888
 16.17024 *  -1.09750 = -17.74690
-13.80126 *  -1.06180 =  14.65417
 17.78583 *   0.83055 =  14.77207
-10.95534 *  -1.58899 =  17.40791
-11.84992 *   1.66222 = -19.69714
-24.91831 *  -0.95948 =  23.90864
-12.68757 *   0.84160 = -10.67785

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Нужно выполнить в паскале используя оператор цикла с параметром (for даны действительные a, b и натуральное n. вывести таблицу значений функции f(x). таблица имеет две колонки, в i-ю строку таблицы заносятся значения xi и yi, где xi=a+ih, h=(b-a)/n, yi=f(xi)(i=0, ). f(x)=(x2+1)cos(x) вычислить f(a)+f(a+h)++f(a+nh) делал сам, но вышло криво: var a, b, h, x, f, xi, yi: real; n, i: integer; begin write('a='); read(a); write('b='); read(b); write('n='); read(n); for var i : = 1 to 10 do writeln(i); h: =(b-a)/n; writeln('h=', h); f: =(sqr(x)+1)*cos(x); xi: =a+i*h; writeln('xi=', xi); yi: =xi; writeln('yi=', yi); writeln('f=', f); end.
Ваше имя (никнейм)*
Email*
Комментарий*