07.06.2009, 15:02 | #1 (permalink) |
Новичок
Регистрация: 07.06.2009
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите с заданиями!
На языке delphi 10. Пусть задана таблица значений функции, т.е. набор значений аргумента и функции (10..20 значений, хранить их можно в массиве). С помощью линейной интерполяции вывести значения функции для середины каждого интервала. Вычисление искомых значений оформить в виде подпрограммы – процедуры. 11. Пусть задана таблица значений функции, т.е. набор значений аргумента и функции (10..20 значений, хранить их можно в массиве). С помощью линейной интерполяции вывести значения функции для произвольно заданного значения аргумента, которое вводится с клавиатуры. Вычисление искомых значений оформить в виде подпрограммы – процедуры. 12. Составить программу решения уравнения F(x)=0 методом дихотомии. Вычисления прекратить при |F(x)| < t , где t - заданное число. Алгоритм вычислений оформить как подпрограмму- процедуру, вычисление значений F(x) проводить с помощью подпрограммы- функции, имя которой передается через заголовок процедуры в переменной процедурного типа. |
07.06.2009, 15:28 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Первые два задания могу изобразить на Паскале, тем более, что организацию консольного ввода в Делфи я в свое время так и не освоил (тут надо либо самому окно программировать, либо искать по библиотекам). С третьим заданием сложнее: во-первых, я всегда пользовался не половинным, а десятичным делением (по-моему, куда как удобнее), а во-вторых, с такой структурой, как передача функции в заголовок процедуры не встречался.
|
07.06.2009, 15:44 | #3 (permalink) |
Новичок
Регистрация: 07.06.2009
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
ответ
необходимо с выводом графиков на форме.
не получается передать данные из масива в сам график, график остается стандартным. если можно хотя бы примерно в Паскале. |
07.06.2009, 16:10 | #4 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
AR=ARRAY[1..N] of REAL; , т.е. CONST N=10; TYPE AR=ARRAY[1..N] of REAL; VAR X,Y,X1,Y1:AR; PROCEDURE Media_Values(Xm,Ym:AR; VAR X1m:AR; VAR Y1m:AR); VAR i:INTEGER; BEGIN FOR i:=1 TO N-1 DO BEGIN X1m[i]:=(Xm[i]+Xm[i+1])/2; Y1m[i]:=(Ym[i]+Ym[i+1])/2; END; END; BEGIN { Enter values of X and Y Arrays } Media_Values(X,Y,X1,Y1); END. |
|
07.06.2009, 16:30 | #5 (permalink) |
Новичок
Регистрация: 07.06.2009
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
а в случае использования только отрицательных значений переменных останется эта же PROCEDURE Media_Values, или она строит график независимо от заданных переменных.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
07.06.2009, 16:44 | #6 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
N=10; TYPE AR=ARRAY[1..N] of REAL; VAR X,Y:AR; x1,y1:REAL; PROCEDURE New_Value(Xn,Yn:AR; x1n:REAL; VAR y1n:REAL); VAR i:INTEGER; BEGIN IF (x1n<Xn[1]) OR (x1n>Xn[N]) THEN Writeln('Value out of range!') ELSE BEGIN i:=0; REPEAT INC(i); UNTIL Xn[i]>x1n; y1n:=(Yn[i]-Yn[i-1])/(Xn[i]-Xn[i-1])*x1n + (Yn[i-1]*Xn[i]-Yn[i]*Xn[i-1])/(Xn[i]-Xn[i-1]); END; END; BEGIN { Enter values of X and Y Arrays } Write('x = '); Readln(x1); New_Value(X,Y,x1,y1); Writeln('y = ', y1); Readln; END. |
|
07.06.2009, 18:15 | #7 (permalink) |
Новичок
Регистрация: 07.06.2009
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Огромное спасибо!!!!!!!!!!!!!!!!!!
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|