Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 19.04.2007, 14:43   #1
mcblack
 
Регистрация: 19.04.2007
Сообщений: 5
По умолчанию Наибольшее и наименьшее значения функции

Пожалуйста помогите создать вот такую программу: "Определить и отпечатать наибольшее и наименьшее значения функции f=ax*x*x-bx*x+c при изменении аргумента от Хн до Хк с шагом hx. Создать массив f и массив f1 только из положительных чисел." Сам никак не могу понять, а на следующей недели её нужно преподу сдать.
mcblack вне форума
Старый 20.04.2007, 00:46   #2
RSLoader
_________
Пользователь
 
Аватар для RSLoader
 
Регистрация: 27.03.2007
Сообщений: 69
По умолчанию

Всё вроде понятно вплоть до
Цитата:
Создать массив f и массив f1 только из положительных чисел
А так, если без массивов, то всё просто:
Код:
var
  x,f,a,b,c,xn,xk,hx,maxf,minf:integer;
begin
  write('Vvedite a: ');
  readln(a);
  write('Vvedite b: ');
  readln(b);
  write('Vvedite c: ');
  readln(c);
  write('Vvedite Xn: ');
  readln(xn);
  write('Vvedite Xk: ');
  readln(xk);
  write('Vvedite hx: ');
  readln(hx);
  x:=xn;
  f:=a*x*x*x-b*x*x+c;
  maxf:=f;
  minf:=f;
  while x<=xk-hx do
  begin
    inc(x,hx);
    f:=a*x*x*x-b*x*x+c;
    if f>maxf then maxf:=f;
    if f<minf then minf:=f;
  end;
  writeln('Naibolshee zna4enie funkcii: ',maxf);
  writeln('Naimenshee zna4enie funkcii: ',minf);
  readln;
end.
RSLoader вне форума
Старый 25.04.2007, 16:37   #3
mcblack
 
Регистрация: 19.04.2007
Сообщений: 5
По умолчанию

А такой вариант возможен:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  x,f,a,b,c,xn,xk,hx,maxf,minf:integer;
begin
a:=edit1.text;
b:=edit2.text;
c:=edit3.text;
Xn:edit4.text;
Xk:=edit5.text;
hx:edit6.text;
  x:=xn;
  f:=a*x*x*x-b*x*x+c;
  maxf:=f;
  minf:=f;
  while x<=xk-hx do
  begin
    inc(x,hx);
    f:=a*x*x*x-b*x*x+c;
    if f>maxf then maxf:=f;
    if f<minf then minf:=f;
  end;
  memo1.Lines.add('Naibolshee zna4enie funkcii: ' + maxf);
  memo1.Lines.add('Naimenshee zna4enie funkcii: ' + minf);
end;
Если возможен, то почему на "a:=edit1.text;" выдается ошибка?
mcblack вне форума
Старый 25.04.2007, 16:47   #4
А. Долматов
Форумчанин
 
Аватар для А. Долматов
 
Регистрация: 15.02.2007
Сообщений: 183
По умолчанию

но только а,b у тебя integer стоит, а edit.text - это string
Знать все невозможно, в силу того, что жить бы стало неинтересно.
А. Долматов вне форума
Старый 25.04.2007, 18:42   #5
mcblack
 
Регистрация: 19.04.2007
Сообщений: 5
По умолчанию

А как тогда поменять значение edit, чтобы туда можно было вводить значения a,b,c и тд.?
mcblack вне форума
Старый 25.04.2007, 19:42   #6
bart77
 
Регистрация: 25.04.2007
Сообщений: 3
По умолчанию

mcblack, вот так все запускается без ошибок:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  x,f,a,b,c,xn,xk,hx,maxf,minf:integer;
begin
a:=strtoint(edit1.text);
b:=strtoint(edit2.text);
c:=strtoint(edit3.text);
Xn:=strtoint(edit4.text);
Xk:=strtoint(edit5.text);
hx:=strtoint(edit6.text);
  x:=xn;
  f:=a*x*x*x-b*x*x+c;
  maxf:=f;
  minf:=f;
  while x<=xk-hx do
  begin
    inc(x,hx);
    f:=a*x*x*x-b*x*x+c;
    if f>maxf then maxf:=f;
    if f<minf then minf:=f;
  end;
  memo1.Lines.add('max: ' + inttostr(maxf));
  memo1.Lines.add('min: ' + inttostr(minf));
end;
bart77 вне форума
Старый 25.04.2007, 20:07   #7
mcblack
 
Регистрация: 19.04.2007
Сообщений: 5
По умолчанию

Спасибо! Но как вывести массивы???
mcblack вне форума
Старый 25.04.2007, 22:14   #8
RSLoader
_________
Пользователь
 
Аватар для RSLoader
 
Регистрация: 27.03.2007
Сообщений: 69
По умолчанию

Можно так:
Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  mas:array[1..5]of Integer;
  i:Integer;
begin
  StringGrid1.ColCount:=5;
  StringGrid1.RowCount:=1;
  StringGrid1.FixedCols:=0;
  StringGrid1.FixedRows:=0;
  for i:=1 to 5 do
  begin
    mas[i]:=i;
    StringGrid1.Cells[i-1,0]:=IntToStr(mas[i]);
  end;
end;
RSLoader вне форума
Старый 25.04.2007, 22:45   #9
mcblack
 
Регистрация: 19.04.2007
Сообщений: 5
По умолчанию

RSLoader, че-то не получается, просто 1 2 3 4 5 пишется и все.
mcblack вне форума
Старый 26.04.2007, 10:53   #10
А. Долматов
Форумчанин
 
Аватар для А. Долматов
 
Регистрация: 15.02.2007
Сообщений: 183
По умолчанию

ну а как ты хотел. Человек массив забивает значениями от 1 до 5 с шагом 1. А за тем эти значения выводит. Вместо mas[i]:=i; ты пишешь mas[1]:=a;
mas[2]:=b;
......
ну и так далее, а дальше вывод как написано у RSLoader'а.
Знать все невозможно, в силу того, что жить бы стало неинтересно.
А. Долматов вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск точного значения с помощью функции БИЗВЛЕЧЬ THE_ENGINEER Microsoft Office Excel 8 23.07.2008 11:37
программа считывающая пять целых чисел и определяющая, печатающая наибольшее и наименьшее число из них Syber Общие вопросы C/C++ 3 30.06.2008 22:39
Как в функции возвратить 2 значения? Etlau Помощь студентам 4 20.06.2008 21:27
Найдите наибольшее и наименьшее значение функции xtraSHAD0W Паскаль, Turbo Pascal, PascalABC.NET 3 01.04.2008 17:20
Для вещественного массива А(20)вычислить наибольшее и наименьшее значения модуля раз-ти между сосед.эл-ми faix Помощь студентам 2 14.11.2007 13:25