Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Лабораторная работа №3: Циклические конструкции
- Вариант 9: y = ln(x) - x + 1.8, диапазон [a, b];
- Задание 1:
- Условие:
- Написать программу табулирования функции y = f(x), вычисляющие значение y при a <= x <= b, шаг h;
- Используется цикл for;
- a = 2; b = 3; h = 0.05;
- Код:
- #include <stdio.h>
- #include <math.h>
- double fun(double x) // Функция поиска y = f(x)
- {
- double result = log(x) - x + 1.8;
- return result;
- }
- int main()
- {
- double a = 2; // Левая граница
- double b = 3; // Правая граница
- double h = 0.05; // Шаг табулирования
- printf(" X | Y \n"
- "-------------+-------------\n");
- for (double i = a; i <= b; i += h)
- {
- double res = fun(i); // Вызов функции для вычисления y = f(x)
- printf("%12f | %12f\n", i, res); // Вывод в табулированном виде
- }
- return 0;
- }
- Задание 2:
- Написать программу табулирования функции y = f(x), вычисляющие значение y при a <= x <= b, шаг табулирования h;
- Цикл с предусловием -> while()
- a, b, h вводятся с клавиатуры
- Код:
- #include <stdio.h>
- #include <math.h>
- double fun(double x) // Функция поиска y = f(x)
- {
- double result = log(x) - x + 1.8;
- return result;
- }
- int main()
- {
- double a, b, h;
- printf("Введите с клавиатуры значения:\na = ");
- scanf("%lf", &a); // ввод левой границы
- printf("b = ");
- scanf("%lf", &b); // ввод левой границы
- printf("h = ");
- scanf("%lf", &h); // ввод шага табулирования
- printf(" X | Y \n"
- "-------------+-------------\n");
- while (a <= b)
- {
- double res = fun(a); // Вызов функции для вычисления y = f(x)
- printf("%12f | %12f\n", a, res); // Вывод в табулированном виде
- a += h;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement