Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,860

Непонятен смысл не которых строк в коде - объяснить (дифференцирование функций)

03.01.2019, 20:41. Показов 1664. Ответов 2

Студворк — интернет-сервис помощи студентам
Прокомментируйте пожалуйста следующие номера строк: 9,12,18-21,25,26,39,44,45 (объясните пожалуйста их функциональный смысл...не могу понять). Я эти строки в коде обохначил {???}.

Программа разработана по заданию:
Вычислить первую и вторую производную во внутренних точках x1,х2 с помощью центральных разностей: вычислить первую и вторую производную в граничных точках x0,x3, если функция у=f(x) задана таблично.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
type
diff=array[-1..10,0..2] of real;
vector=array [0..10] of real;
raznosty=array[0..5,0..5] of real;
 
function factorial(n: word): word; 
begin
{???}
if n=0 then Factorial := 1 else Factorial:= n*Factorial(n-1); 
end;
 
procedure Q(x:real; var razn:raznosty;  var y:real; var n:byte; var x0:vector);
var i,j:byte; t,ti:real;
begin
for j:=1 to n-1 do
for i:=0 to n-j-1 do
{???}
razn[i,j]:=razn[i+1, j-1]-razn[i,j-1];
t:=(x-x0[0])/(x0[1]+x0[0]);
ti:=t;
y:=razn[0,0];
for i:=1 to n-1 do
  begin
  {???}
  y:=y+(ti*razn[0,i])/factorial(i);
  ti:=ti*(t-i);
  end;
end;
 
var n,i,j:byte; h,y0,yN:real; deltaY:raznosty; y:diff; x:vector;
begin
writeln('Введите кол-во точек в которых известно значение функции');
readln(n);
for i:=0 to n-1 do
  begin
  writeln('Введите x',i,' и f(x',i,')');
  readln(x[i], y[i,0]);
  {???}
  deltaY[i,0]:=y[i,0];
  end;
{Шаг}
h:=x[1]-x[0];
{???}
Q(x[0]-h, DeltaY, y[-1,0],n,x);
Q(x[n-1]+h, DeltaY, y[n,0],n,x);
{Первые производная для крайних разностей}
y[0,1]:=(y[1,0]+y[0,0])/h;
y[n-1,1]:=(y[n-1,0]-y[n-2,0])/h;
{Первая производная для центральной разности}
for i:=1 to n-2 do
y[i,1]:=(y[i+1,0]-y[i-1,0])/(2*h);
{Вторая производная}
for i:=0 to n-1 do
y[i,2]:=(y[i-1,0]-2*y[i,0]+y[i-1,0])/(h*h);
for j:=1 to 2 do
  begin
  writeln('Значения производных ',j,'-го порядка');
  for i:=0 to n-1 do
  writeln('Для x=',x[i],'  y=',y[i,j]:4:2); 
  end;
end.
Миниатюры
Непонятен смысл не которых строк в коде - объяснить (дифференцирование функций)  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.01.2019, 20:41
Ответы с готовыми решениями:

Непонятен смысл некоторых строк программы
Есть такой код: Sub intnag() Dim b() As Single ReDim b(1 To 20, 1 To 20) Dim R() As Single ReDim R(1 To 20, 1 To 20) For i =...

Объясните смысл строк в коде (~20 строк)
#include <stdio.h> #include <stdlib.h> #include <iostream> using namespace std; int main() { char text; FILE *f =...

Непонятен смысл 'throws'
Вот код: public class Off { public static int area(int width, int height) { if (width < 0 || height < 0) { throw new...

2
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
04.01.2019, 08:08
Лучший ответ Сообщение было отмечено xamelione25 как решение

Решение

9 строка: рекурсивное нахождение факториала.
Не экономично и очень быстро переполняемая реализация.
Гораздо проще было бы реализовать через цикл и для результата использовать действительное значение.
Pascal
6
7
8
9
10
11
12
13
function factorial(n: word): Real; 
var
  i : word; r : Real;
begin
  r := 1;
  for i := 2 to n do r := r * i;
  factorial := r;
end;
Но, если посмотреть то место, где этот самый факториал используется, то становится ясно, что без него можно было бы спокойно обойтись…
Тупо добавив с строку
Pascal
29
ti:=ti*(t-i);
деление
Pascal
29
ti:=ti*(t-i)/(i+1);
18-21 — это аппроксимация первой производной формула (4.16)

22…27 — это формула (4.12)

deltaY в основной программе = это то же самое, что razn в Q — таблица для хранения усреднённых значений
1
 Аватар для xamelione25
-4 / 5 / 2
Регистрация: 04.02.2013
Сообщений: 1,860
04.01.2019, 18:06  [ТС]
JuriiMW, Спасибо я все это понял ... то что Q - это процедура создаваемая для формирования таблицы хранящей усредненные значения. но я не пойму логики и смысла с том чтобы её применять два раза (для чего это нада?)....как 44 и 45 строках
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.01.2019, 18:06
Помогаю со студенческими работами здесь

Прокомментировать - объяснить значение строк в коде
Этот код сделан под задание: Разработать прикладной протокол для передачи текстовых сообщений с помощью транспортного протокола UDP....

Объяснить смысл задания
Как понять...имеются 2 файла строк?)это как их описывать?) например:F:file of string так что ли?) мне надо просто создать 2 файла...

Объяснить смысл программы
Помогите, препод просит объяснить суть программы, что делает и как, и порядок действий, для ее решения ...

Численное дифференцирование функций
Очень прошу о помощи. Для функции y=x*sqrt(cos(x)+2) 1.Определить оптимальный шаг разбиения h при использовании первой центральной ...

Численное дифференцирование функций
Помогите найти значения первой и второй производной функции в точке x=(a+b)/2 c помощью сплайнов. ф-я: f(x)=1+1/x; a=1; b=4; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru