• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите с заданиями!

  • Автор темы Автор темы кир
  • Дата начала Дата начала

кир

Ученик
Регистрация
7 Июн 2009
Сообщения
4
Реакции
0
Баллы
0
Помогите с заданиями!

:confused:
На языке delphi
10. Пусть задана таблица значений функции, т.е. набор значений аргумента и функции (10..20 значений, хранить их можно в массиве). С помощью линейной интерполяции вывести значения функции для середины каждого интервала. Вычисление искомых значений оформить в виде подпрограммы – процедуры.

11. Пусть задана таблица значений функции, т.е. набор значений аргумента и функции (10..20 значений, хранить их можно в массиве). С помощью линейной интерполяции вывести значения функции для произвольно заданного значения аргумента, которое вводится с клавиатуры. Вычисление искомых значений оформить в виде подпрограммы – процедуры.

12. Составить программу решения уравнения F(x)=0 методом дихотомии. Вычисления прекратить при |F(x)| < t , где t - заданное число. Алгоритм вычислений оформить как подпрограмму- процедуру, вычисление значений F(x) проводить с помощью подпрограммы- функции, имя которой передается через заголовок процедуры в переменной процедурного типа.
 

Первые два задания могу изобразить на Паскале, тем более, что организацию консольного ввода в Делфи я в свое время так и не освоил (тут надо либо самому окно программировать, либо искать по библиотекам). С третьим заданием сложнее: во-первых, я всегда пользовался не половинным, а десятичным делением (по-моему, куда как удобнее), а во-вторых, с такой структурой, как передача функции в заголовок процедуры не встречался.
 
ответ

необходимо с выводом графиков на форме.
не получается передать данные из масива в сам график, график остается стандартным.
если можно хотя бы примерно в Паскале.
 
:confused:
На языке delphi
10. Пусть задана таблица значений функции, т.е. набор значений аргумента и функции (10..20 значений, хранить их можно в массиве). С помощью линейной интерполяции вывести значения функции для середины каждого интервала. Вычисление искомых значений оформить в виде подпрограммы – процедуры.

На Паскале как-то так. Считаем, что число значений N, массив аргументов, расположенных в порядке возрастания, - X, массив значений - Y. Введем тип
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:=(Xm+Xm[i+1])/2;
Y1m:=(Ym+Ym[i+1])/2;
END;
END;

BEGIN

{ Enter values of X and Y Arrays }

Media_Values(X,Y,X1,Y1);

END.
 
а в случае использования только отрицательных значений переменных останется эта же PROCEDURE Media_Values, или она строит график независимо от заданных переменных.
 
11. Пусть задана таблица значений функции, т.е. набор значений аргумента и функции (10..20 значений, хранить их можно в массиве). С помощью линейной интерполяции вывести значения функции для произвольно заданного значения аргумента, которое вводится с клавиатуры. Вычисление искомых значений оформить в виде подпрограммы – процедуры.

CONST
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>x1n;
y1n:=(Yn-Yn[i-1])/(Xn-Xn[i-1])*x1n + (Yn[i-1]*Xn-Yn*Xn[i-1])/(Xn-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.
 
Огромное спасибо!!!!!!!!!!!!!!!!!!
:)
:D
 
Назад
Сверху