Протабулировать функцию - C (СИ) (79938)

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

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

Здравствуйте. Помогите решить проблемную задачу. Задание звучит так: Программа должна запросить и считать с клавиатуры значения х0,х1 и dx. Затем вывести на экран таблицу (использовать псевдографику) значений функции y(x) от х0 до х1 с шагом dx (х0 и х1 входят в промежуток). Использовать циклы While и Do While. Просмотрев множество вариантов выполнения задачи и выбрав более лучший у меня получилось вот такое:
main()
{
     double x,x1,dx,z;
 
     printf("Vvedite x0: ");
     scanf("%lf",&x);
     printf("Vvedite x1: ");
     scanf("%lf",&x1);     
     printf("Vvedite dx: ");
     scanf("%lf",&dx); 
 
     printf("\n  *****************************\n");
     printf("  *    x        *    y(x)     *\n");
     printf("  *****************************\n");
 
     while(x<x1+dx)
     {
          printf("  *  %9.5lf  *  %9.5lf  *\n",x,sin(x));
          x += dx;
      }
 
      printf("  *****************************\n");
}
В примерах всегда разбирались варианты с шагом не больше чем 2 (0.1 и 0.01) знака после запятой и программа работает правильно, но как оказалось, преподавателю необходим более меньший шаг.(например 0.001, 0.0001,0.0001,0.00001,0.000001), как оказалось мой алгоритм не подходит для табулирование с таким маленьким шагом. Пытаясь найти подходящее условие выхода из цикла я перебрал много условий,но не одно не подходит ко всем вариантам шага(то цикл доходит не до конца, то выполняется на шаг больше).

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

Решение задачи: «Протабулировать функцию»

textual
Листинг программы
int n;
n=(x1-x)/dx+2;
        while(n--)
          {
              .....
          }

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

  1. Объявляется переменная n типа int.
  2. Переменная n инициализируется выражением (x1-x)/dx+2.
  3. Запускается цикл while, который выполняется до тех пор, пока значение переменной n больше или равно 0.
  4. В теле цикла while находится произвольный код, который нужно выполнить для каждого значения переменной n.
  5. После каждой итерации цикла while значение переменной n уменьшается на 1.
  6. Цикл while завершается, когда значение переменной n становится меньше или равным 0.

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


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

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

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