Задача табулирования функции предполагает получение таблицы значений функции при изменении аргумента с фиксированным шагом. В качестве исходной информации должны быть заданы: Х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














; 



; 
