Составить программу табулирования функции

Самый эффективный способ изучения любого языка программирования — практика. Поэтому начнем изучение языка Pascal с простого примера: табулирования функции, а также поиска экстремумов функции в заданном диапазоне.

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

Экстре́мум (лат. extremum — крайний) в математике — максимальное или минимальное значение функции на заданном множестве.

Для примера возьмем функцию: y=2x+3 и диапазон от -3 до 3 включительно. Шаг возьмем равным 1.

Составим таблицу табулирования функции:

Как видно из таблицы экстремумы функции в заданном диапазоне: максимум = 9, минимум = -3

Теперь составим программу. Для начала дадим нашей программе имя.

Program tabulirovanie;

Язык си с нуля | #20 Табулирование функции в си.

Далее объявляем переменные, которые будем использовать в программе. Для этого используется служебное слово VAR после которого перечисляются имена необходимых нам переменных через запятую. Потом ставим двоеточие и пишем какого типа будут эти переменные.

integer — если нам нужны целочисленные значения и real -если мы будем использовать вещественные числа. Для универсальности математических программ используют, как правило, тип real, поскольку в зависимости от вида функции значения редко бывают целочисленными.

var x, x1, x2, y, s, min, max : real;

где x1 и x2 — границы интервала, x — текущая координата по оси x, y — значение функции в точке x, max и min — экстремумы функции и s — шаг табулирования.

Читайте также:
Как почистить телефон с помощью программы тотал коммандер

Для упрощения алгоритма вычисление значения функции y в точке x вынесем в отдельную подпрограмму. Для этого используем служебное слово function далее следует значение fun , которое будет возвращать результат расчета, произведенного в подпрограмме. В скобках указываем имя аргумента, которое передаем для расчета в подпрограмму. Все значения будут типа real , т.е. вещественные числа.

function fun(a: real): real;

fun := 2 * a + 3;

Теперь приступим к самой программе. Для обозначения определенного блока команд используется пара служебных слов begin. end, которые всегда находятся в паре. У каждого begin должен быть в программе end.

write(‘Введите начало диапазона : ‘); Readln(x1);

write(‘Введите конец диапазона : ‘); Readln(x2);

write(‘Введите шаг табулирования : ‘); Readln(s);

Для вывода текста на экран используется команда write / writeln. Разница между этими командами состоит в том, что после команды write курсор остается в конце строки, а после команды writeln курсор переводится в начало следующей строки.

Команда Read / Readln предназначена для ввода данных с клавиатуры в соответствующую переменную, указанную в скобках.

Печатаем шапку нашей таблицы табулирования.

Табулирование функции и построение графика в Excel

writeln(‘ Х Y’);

Теперь нашей «рабочей» переменной x присваиваем значение начала диапазона, т.е. x1 . Значениям экстремумов присваиваем значение функции в начальной точке.

x := x1; min := fun(x1); max := min;

Для табулирования нам надо будет повторять несколько одинаковых команд до тех пор, пока наше значение x не достигнет конца диапазона. Поэтому нам нужен цикл с условием: делать до тех пор пока x меньше либо равен правой границе диапазона, т.е. x2. Для этого используем цикл while do

Вычисляем значение функции в точке x.

Сравниваем полученное значение с переменными max и min. Если значение функции y больше значения переменной max, то заменяем значение переменной max на y . Аналогично проверяем минимум.

Читайте также:
Программа в блокноте которая выключает компьютер

if y > max then max := y;

Выводим значения х и у на экран.

writeln(x:10:3, y:10:3);

Делаем шаг вправо, увеличиваем значение x на величину нашего шага s.

Команды внутри цикла закончились, поэтому не забываем написать end.

По окончании цикла выводим на экран значения экстремумов функции.

writeln(‘ Максимум функции: ‘, max:10:4);

writeln(‘ Минимум функции: ‘, min:10:4);

Вот так будет выглядеть программа табулирования и результаты ее работы.

Источник: dzen.ru

Табулирование функции: как написать программу?

Табулирование функции – классическая задача математики и программирования. Заключается она в последовательном нахождении величины f(x) при изменяющихся значениях x. Результаты вычислений чаще всего выводят в виде таблицы из двух строк. Первая соответствует x, вторая – f(x).

табулирование функции

Теория

Алгоритм определения значений функции состоит из шести шагов.

  1. Выбор начального и конечного значения аргумента, количества точек.
  2. Вычисление шага – величины, на которую будет изменяться аргумент.
  3. Аргумент принимается равным начальному значению.
  4. Расчёт функции.
  5. Увеличение аргумента на значение шага.
  6. Повторение действий 4–5 до тех пор, пока не будет подсчитано требуемое количество точек.

Величины, установленные на первом шаге, не всегда выбираются, они могут быть указаны заданием. На практике встречается ситуация, когда задаётся диапазон значений и шаг вычислений. Табулирование функции в этом случае не требует нахождения количества точек, так как условием прекращения расчёта (пункт 6 алгоритма) будет равенство аргумента заданному конечному значению.

Практический пример

Понять, как пользоваться теорией, поможет пример. Пусть дана квадратичная функция g(x) = x 2 + 9. Составим таблицу её значений в диапазоне [–2; 2], приняв количество точек равным пяти. Из исходных данных несложно прикинуть, что шаг вычислений должен быть равен 1.

В соответствии с алгоритмом, следующим действием будет вычисление g(–2), «–2» – это начальное значение функции. Последовательно увеличивая x на единицу (в программировании эта операция называется инкрементированием) и определяя функцию g, выполняется табулирование функции.

Читайте также:
Запуск программы невозможен так как отсутствует mss32 dll

Источник: fb.ru

Табулирование функции — Pascal

Составить программу табулирования функции y=x*sin(x) на отрезке [a, b] с шагом h=(b-a)/m, где m – заданное число. Где a = 0, b = 3*PI, m = 10; Рассмотрим решение задачи с помощью различных видов циклов.

Решение с помощью цикла Пока

Блок-схема: Исходный код:

program lr4_1a; var a, m, i: integer; var b, h, x, y: real; begin a := 0; b := 3 * Pi; m := 10; h := (b — a) / m; x := 0; i := 0; while x < b do begin x := (h * i); y := x * Sin(x); writeln(x / Pi, ‘Pi — значение ‘ + Round(y, 2)); i := i + 1; end; end.

Протокол работы:

Решение с помощью цикла До

Исходный код:

program lr4_1b; var a, m, i: integer; var b, h, x, y: real; begin a := 0; b := 3 * Pi; m := 10; h := (b — a) / m; x := 0; i := 0; repeat begin x := (h * i); y := x * Sin(x); writeln(x / Pi, ‘Pi — значение ‘ + Round(y, 2)); i := i + 1; end until x >= b; end.

Резльтаты работы программы эквивалентны приведенымм выше.

26.07.2021 в 11:36 #8178

Еще один вариант постановки таких задач: Составить программу вычисления N значений функции Y для X, изменяющегося от X1, с шагом dX. $$
Y = begin
begin
acos(x+1) + A, при x leq -1
\
A cdot (x+2)^frac, при x > -1
end
end
$$ Решение:
Блок-схема алгоритма: Реализация на Pascal:

var A,X,dx,Y:real; n,i:integer; begin writeln(‘Введите A’); readln(A); writeln(‘Введите n’); readln(n); X := -5*A; dx:= 2*A/5; for i:=1 to n do begin if(X<=-1) then begin Y:= A*cos(X+1)+A; writeln(X,’ ‘,Y); end else begin Y:=A*power(x+2,3/2); writeln(X,’ ‘,Y); end; X+=dx; end; end.

Просмотр 1 ветки ответов

Источник: pro-prof.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru