Протабулировать функцию - C (СИ) (79938)
Формулировка задачи:
Здравствуйте. Помогите решить проблемную задачу. Задание звучит так: Программа должна запросить и считать с клавиатуры значения х0,х1 и dx. Затем вывести на экран таблицу (использовать псевдографику) значений функции y(x) от х0 до х1 с шагом dx (х0 и х1 входят в промежуток). Использовать циклы While и Do While.
Просмотрев множество вариантов выполнения задачи и выбрав более лучший у меня получилось вот такое:
В примерах всегда разбирались варианты с шагом не больше чем 2 (0.1 и 0.01) знака после запятой и программа работает правильно, но как оказалось, преподавателю необходим более меньший шаг.(например 0.001, 0.0001,0.0001,0.00001,0.000001), как оказалось мой алгоритм не подходит для табулирование с таким маленьким шагом. Пытаясь найти подходящее условие выхода из цикла я перебрал много условий,но не одно не подходит ко всем вариантам шага(то цикл доходит не до конца, то выполняется на шаг больше).
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"); }
Подскажите пожалуйста подходящее условие выхода из цикла или возможно более правильное решение данной задачи.
Решение задачи: «Протабулировать функцию»
textual
Листинг программы
int n; n=(x1-x)/dx+2; while(n--) { ..... }
Объяснение кода листинга программы
- Объявляется переменная
n
типа int. - Переменная
n
инициализируется выражением (x1-x)/dx+2. - Запускается цикл while, который выполняется до тех пор, пока значение переменной
n
больше или равно 0. - В теле цикла while находится произвольный код, который нужно выполнить для каждого значения переменной
n
. - После каждой итерации цикла while значение переменной
n
уменьшается на 1. - Цикл while завершается, когда значение переменной
n
становится меньше или равным 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д