Табулирование функции (Паскаль -> Си) - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Было дано условие: Даны действительные числа a, b (a < b), натуральное число n, функ-ция у = f(x), определенная на отрезке [а, b]. Для значений аргумента xi = a+ih (i = 0, 1, ..., n), h=(b – а)/n вычислить значения функции yi=f(xi) (i = 0, 1, ..., n). Вывести хi и уi (i = 0, 1, ..., n) в виде таблицы из двух колонок. В i-ю строку таблицы заносятся соответствующие значения хi и уi. Рассмотреть следую функцию:у =корень х(в квадрате)+2 , а = –3, b = 5, n = 40; Есть код на паскале:
var x,y,h:real;
    a,b,i:integer;
begin
a:=-3;
b:=5;
  h:=(b-a)/40;
  for i := 0 to 40 do
  begin
    x:=a+(i*h);
    y:=Sqrt(sqr(x)+2);
    Writeln(i,' x=',x:4:2,' y=',y:4:2);
  end;
readln;
end.
Помогите пожалуйста перевести его в Си, заранее спасибо

Решение задачи: «Табулирование функции (Паскаль -> Си)»

textual
Листинг программы
#include <stdio.h>
#include <math.h>
 
 
float x, y, h;
int i;
float a, b; /* Да, на pascal'e integer, но по заданию действительные=float */
 
int main()
{
a = -3;
b =  5;
h = (b-a)/40.0;
for (i=0; i<=40; i++)
    {
    x = a + (i*h);
    y = sqrt(x*x + 2);
    printf("%d x=%.2f y=%.2f\n",i, x, y);
    }
getchar();      /* Ожидание */
return 0;
}

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

  1. Подключение необходимых библиотек: и .
  2. Объявление переменных: x, y, h, i, a, b.
  3. В главном цикле программы происходит заполнение таблицы значений функции.
  4. Вычисление шага h: (b-a)/40.
  5. Задание начального значения переменной i равным 0.
  6. Вычисление значения x по формуле: x = a + (i*h).
  7. Вычисление значения y по формуле: y = sqrt(x*x + 2).
  8. Вывод на экран значения переменной i, значения переменной x и значения переменной y.
  9. Увеличение значения переменной i на 1.
  10. Повторение пунктов 6-9 до тех пор, пока значение переменной i не станет равным 41.
  11. Ожидание нажатия клавиши для завершения работы программы.
  12. Возврат 0, означающий успешный конец работы программы.

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


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

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

6   голосов , оценка 4.667 из 5