Задача табулирования функции предполагает получение таблицы значений функции при изменении аргумента с фиксированным шагом. В качестве исходной информации должны быть заданы: Х0, Хn – начало и конец промежутка табулирования, при этом (Х0< Хn); n – число шагов разбиения промежутка [Х0, Xn]; F(X) – описание табулируемой функции.
При составлении алгоритма предполагается, что X – текущее значение аргумента; h – шаг изменения аргумента (иногда его называют шагом табуляции функции); i – текущий номер точки, в которой вычисляются функция (i = 0 .. n).
Количество интервалов n, шаг табуляции h и величины Х0, Хn связаны между собой формулой:
Интерпретация переменных (т. е. их обозначение в математической постановке задачи, смысл и тип, обозначения в блок-схеме и программе) приведена в таблице имен.
Математическая величина | Обозначение в программе | Содержательный смысл | Тип переменной |
n | N | Число интервалов разбиения [X0; Xn] | integer |
X0 | X0 | Начало промежутка | real |
Xn | XN | Конец промежутка | real |
X | X | Текущее значение аргумента | real |
F(X) | Y | Текущее значение функции | real |
h | H | Шаг табулирования | real |
Язык C++ с нуля | #28 Табулирование функции в c++
Пример 1. Табулировать функцию F(X) в N равностоящих точках, заданную на промежутке [X0; Xn], где
Алгоритм решения задачи в виде блок-схемы выглядит следующим образом:
Программа на языке программирования Pascal:
PROGRAM PR7;
VAR
I, N: INTEGER;
X, Y: REAL;
H, X0, XN: REAL;
BEGIN
WRITELN(‘ВВЕДИТЕ X0, XN, N’);
READLN(X0, XN, N);
H := (XN — X0)/N;
FOR I:=0 TO N
DO BEGIN
Y:= SIN(X+1)*EXP(2-X*X);
X := X0 + I * H;
WRITELN (X:4:1,’ ’,Y:9:6)
END
END.
В результате выполнения программы при Х0=1, Хn=10 и N=5 получаем:
ВВЕДИТЕ X0, XN, N
Пришаге изменения аргумента, равном 1, программа имеет следующий вид:
Пример 2. Напишите программу, которая выводит значения функции y=kx+b на интервале [2,8] с шагом 1.
Решение:
program for2; var x,a,n:integer; k,b:real; begin write(‘Введите значение k = ‘);readln(k); write(‘Введите значение b = ‘);readln(b); write(‘Введите значение начала интервала = ‘);readln(a); write(‘Введите значение конца интервала = ‘);readln(n); for x:=a to n do writeln(‘x=’,x,’y=’,k*x+b); end.
В результате выполнения программы получим следующий вывод на экране
Источник: helpiks.su
Табулирование функции и построение графика в Excel
Индивидуальные задания. З а д а н и е 1. Составить алгоритм и программу табулирования функции с использованием операторов For – Next
З а д а н и е 1. Составить алгоритм и программу табулирования функции
с использованием операторов For – Next, While – Wend в соответствии с индивидуальным заданием (табл. 5.1). Вывод значений аргумента и функции выполнить в ячейки рабочего листа Excel и построить график функции.
Таблица 5.1
Функции для табулирования
Вариант | Функция | Исходные данные | Диапазон и шаг изменения аргумента |
– | 0 ≤ z ≤ 5 ∆z = 0,5 | ||
y = 0,03 | 1 ≤ x ≤ 4 ∆x = 0,5 | ||
b = 0,13 | 0 ≤ x ≤ 2 ∆x = 0,25 | ||
b = 0,03 | 0 ≤ x ≤ 1 ∆x = 0,1 | ||
a = 1,1 b = 0,02 | 0 ≤ x ≤ 1 ∆x = 0,1 | ||
a = 0,17 b = 1,15 | 2 ≤ x ≤ 4 ∆x = 0,25 | ||
a = 2,25 b = –7,8 | 0 ≤ t ≤ 2 9∆t = 0,1 | ||
b = 3,7 m = –0,5 | 0,1 ≤ t ≤ 0,9 ∆t = 0,15 | ||
a = 1,5 b = –7,1 | 0,3 ≤ x ≤ 1 ∆x = 0,1 | ||
a = 0,25 | 1 ≤ x ≤ 2 ∆x = 0,1 | ||
a =1,79 | 1 ≤ x ≤ 2 ∆x = 0,05 | ||
m = 1,5 | 1,5 ≤ x ≤ 4 ∆x = 0,25 |
Окончание табл. 5.1
a = – 0,15 | ∆x = |
m = 0,75 | ≤ x ≤3 ∆x = |
m = 4,4 c = 1,27 | –2 ≤ t ≤ 2 ∆t = 0,25 |
З а д а н и е 2. Составить алгоритм и программу вывода данных в соответствии с индивидуальным заданием (табл. 5.2) с использованием оператора For – Next. Записать значения аргумента и функции в ячейки рабочего листа Excel в виде таблицы с пояснениями.
Исходные данные для составления таблицы
Вариант | Задание |
Составить программу вывода в ячейки рабочего листа Excel всех четных чисел от 0 до 20 | |
Составить программу вывода в ячейки рабочего листа Excel всех четных чисел от 0 до 20 в порядке убывания | |
Составить программу вывода в ячейки рабочего листа Excel всех нечетных чисел от 1 до 15 | |
Составить программу вывода на печать всех нечетных чисел от 5 до 15 в порядке убывания | |
В компьютер последовательно ввести данные (двадцать значений) в дюймах. Преобразовать эти данные в метры (1 дюйм = 0,0254 м) и вывести их на лист Excel в виде таблицы | |
В компьютер последовательно ввести 15 чисел. Эти данные представленные в градусах, перевести в радианы и вывести их на лист Excel в виде таблицы |
Окончание табл. 5.2
В компьютер последовательно ввести 10 произвольных чисел х. Составить программу, которая печатала бы в четыре столбца следующие результаты: х, FIX(x), INT(x), CINT(x) |
В компьютер ввести последовательно 12 произвольных чисел х, составить программу, которая печатала бы в три столбца следующие результаты: х, arcsinx, аrcosx, и вывести их на лист Excel в виде таблицы |
Написать программу, которая выводит на лист Excel квадраты и кубы целых чисел аот 1 до 10 в виде таблицы. Столбцы таблицы должны иметь обозначения, например: а, а 2 , а 3 |
Составить программу перевода значений температуры по шкале Цельсия от 0 до 100 градусов с шагом в пять градусов в их эквиваленты по шкале Фаренгейта. Для перевода использовать формулу: tF = 9tС/5 + 32. Результат перевода вывести на лист Excel в виде таблицы |
Составить программу перевода 1, 2, …, 20 долларов США в рубли по текущему курсу (курс вводится через окно InputBox). Результат перевода вывести на лист Excel в виде таблицы |
Составить программу распечатки стоимости 50, 100, 150,…, 1000г. сыра. Стоимость 1 кг сыра ввести в окне InputBox, вывести результат на лист Excel в виде таблицы |
Составить таблицу соответствия между весом в фунтах и весом в килограммах для значений 1, 2, …, 10 фунтов (1 фунт = 453 г). Вывести данные на лист Excel в виде таблицы |
Рассчитать значения у для значений х, равных 4, 5, …, 28, если у задается формулой: y = 2t 2 +5,5t –2, где t = x + 2 |
Вывести данные на лист Excel в виде таблицы значения sin 0,1; sin 0,2;. ; sin1,1 |
З а д а н и е 3. Составить алгоритм и программу вложенных циклов с использованием операторов For – Next, While – Wend (первую переменную считать переменной внешнего цикла) в соответствии с индивидуальным заданием (табл. 5.3). Значения аргумента, функции ввести в таблицу рабочего листа Excel и построить график (точечную диаграмму).
Функции для построения семейства кривых
Вариант | Функция | Диапазон изменения аргументов | Шаг изменения аргументов |
–π/2 ≤ x ≤ π/2 2 ≤ a ≤ 10 | ∆x = π/10 ∆a = 1 | ||
0 ≤ x ≤ π | ∆x = π/10 | ||
0 ≤ x ≤ π 1 ≤ a ≤ 4 | ∆x = π/10 ∆a = 0,5 | ||
–π ≤ x ≤ π 1,5 ≤ a ≤ 2 | ∆x = π/10 ∆a = 0,1 | ||
0 ≤ x ≤ π 3 ≤ a ≤ 3,5 | ∆x = π/10 ∆a = 0,1 | ||
0 ≤ x ≤ π 2 ≤ b ≤ 3 | ∆x = π/10 ∆b = 0,1 | ||
–1 ≤ x ≤ 1 1 ≤ a ≤ 2 | ∆x = 0,2 ∆a = 0,2 | ||
–1 ≤ x ≤ 1 10 ≤ c ≤ 20 | ∆x = 0,3 ∆c = 5 | ||
–1 ≤ x ≤ 1 2 ≤ c ≤ 3 | ∆x = 0,25 ∆c = 0,25 | ||
–1 ≤ x ≤ 2 1 ≤ a ≤ 5 | ∆x = 0,2 ∆a = 0,6 | ||
–π ≤ x ≤ π/2 2 ≤ a ≤ 4 | ∆x = π/20 ∆a = 0,5 | ||
2 ≤ x ≤ 3 1 ≤ a ≤ 2 | ∆x = 0,1 ∆a = 0,2 | ||
–π ≤ x ≤ π 2 ≤ a ≤ 4 | ∆x = π/10 ∆a = 0,1 |
–π/2 ≤ x ≤ π/2 2 ≤ b ≤ 3 | ∆x = π/10 ∆b = 0,1 |
0 ≤ x ≤ π 2 ≤ a ≤ 3 | ∆x = π/10 ∆a = 0,5 |
Лабораторная работа 6
АЛГОРИТМЫ ЦИКЛИЧЕСКОЙ СТРУКТУРЫ С ВЕТВЛЕНИЕМ
Цель работы: изучение особенностей решения задач циклической структуры с ветвлением, реализации цикла со счетчиком.
Источник: studopedia.org
Табулирование функции на конечном отрезке.
Затабулируем значения функции на отрезке
в
в точках.
Разобьем отрезок на N равных частей точками
, где
, при этом
,
,
.
Для табулирования значений функции необходимо организовать цикл перебора точек отрезка
, где i изменяется от 0 до N с шагом 1, и в каждой точке надо вычислить и вывести значение функции
.
Заполним таблицу имен объектов.
Имя объекта в задаче | Имя объекта в блок-схеме | Тип объекта | Примечания |
i | I | Целая переменная | счетчик цикла |
a | A | Вещественная переменная | начало отрезка |
b | B | Вещественная переменная | конец отрезка |
N | N | Целая переменная | число отрезков дел. |
h | H | Вещественная переменная | длина отрезков дел. |
xi | XI | Вещественная переменная | точки деления |
yi | YI | Вещественная переменная | значения функции |
Схема алгоритма по шагам запишется следующим образом:
Ш2. H присвоить (B-A)/N.
Ш3. I присвоить 0.
Ш6. XI присвоить A+H*I.
Ш7. YI присвоить SIN(XI)*XI.
Ш9. I присвоить I+1.
Ш10.Перейти на Ш4.
Блок-схема этого алгоритма приведена на рис.2.8.
![]() |
Рис.2.8 Блок-схема алгоритма табуляции функции
Поясним работу алгоритма таблицей трассировки для N=3, A=0, B=3.
№ действия | №оператора |
Ввод ![]() ![]() ![]() |
|
![]() |
|
![]() |
|
0 £ 3, Да | |
![]() |
|
![]() |
|
Вывод ![]() ![]() |
|
![]() |
|
переход на 4 | |
1 £ 3, да | |
![]() |
|
![]() |
|
Вывод ![]() ![]() |
|
![]() |
|
переход на 4 | |
2 £ 3, да | |
![]() |
|
![]() |
|
Вывод ![]() ![]() |
|
![]() |
|
переход на 4 | |
3 £ 3, да | |
![]() |
|
![]() |
|
Вывод ![]() ![]() |
|
![]() |
|
переход на 4 | |
4 £ 3, нет | |
Конец |
В результате программирования должна получиться следующая программа:
VAR I, N: INTEGER;
WRITELN(‘ВВЕДИ ЗНАЧЕНИЕ A,B,N’);
Для всех заданий этого раздела следует разработать алгоритм и программу.
1. По введенным с клавиатуры значениям X, m вычислить S:
2. По введенным с клавиатуры значениям X и m вычислить P:
3. По введенным с клавиатуры значениям A, B, N, M и X вычислить S:
4. По введенным с клавиатуры значениям A, B, n и X вычислить S:
5. По введенным с клавиатуры значениям A, B, N, M и X вычислить S:
6. Вычислить сумму S значений функции Y = f(x):
.
7. Вычислить сумму S значений функции Y = f(x):
8. По введенным с клавиатуры значениям X вычислить произведение S:
9. Для заданного с клавиатуры значения N найти (2·N)!!
10. Для заданного с клавиатуры значения N найти (2·N+1)!!
11. Найти сумму всех целых чисел, кратных 5, из отрезка [A, B].
12. Найти произведение всех целых чисел, кратных 7, из отрезка [A, B].
13. Найти сумму всех целых чисел, дающих при делении на 5 в остатке 3, из отрезка [A, B].
14. Найти произведение всех целых чисел, дающих при делении на 7 в остатке 4, из отрезка [A, B].
15. Найти сумму квадратов всех целых чисел, дающих при делении на 5 в остатке 2, из отрезка [A, B].
16. Найти сумму кубов всех целых чисел, дающих при делении на 7 в остатке 5, из отрезка [A, B].
17. Найти сумму логарифмов всех целых чисел кратных 6 из отрезка [A, B].
18. Найти сумму логарифмов всех целых чисел, дающих при делении на 3 в остатке 1 из отрезка [A, B].
19. Дан отрезок [A, B]. Вычислить количество чисел этого отрезка, являющихся квадратами целых чисел.
20. Найти наименьшее общее кратное трех заданных с клавиатуры натуральных чисел K, L, M. Если таковых нет, вывести на экран сообщение «NO SOLUTION».
21. Даны натуральные числа M и N. Определить их наименьшее общее кратное.
22. Вычислить сумму всех нечетных чисел от А до В.
23. Дан отрезок [A, B]. Найти сумму всех отрицательных чисел из этого отрезка.
24. Вычислить сумму и произведение 10 членов арифметической прогрессии, где начальный член равен 2, а приращение равно 3.
25. Найти среднее арифметическое квадратов всех целых чисел из отрезка [A, B].
26. Найти сумму кубов всех целых чисел, кратных 8, из отрезка [A,B].
27. Найти среднее арифметическое всех целых чисел из отрезка [A,B].
28. Даны натуральные числа M и N. Определить их наибольший общий делитель.
29. Найти сумму всех целых чисел из отрезка [A,B], которые кратны 5 и 3 одновременно.
30. Найти произведение всех целых чисел из отрезка [A,B], которые кратны 6 и 9 одновременно.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Источник: studopedia.ru