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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2009, 07:56   #1
ponchikpk
Пользователь
 
Аватар для ponchikpk
 
Регистрация: 09.03.2009
Сообщений: 63
По умолчанию Модуль

подскажите в чем у мя ошибки.. пишу модуль для курсовой
Код:
unit process;

interface
uses crt;
const n=100;
type masvalue=array[1..n] of real;
procedure CalculationValues(a,b:real; x,y:masvalue);
procedure YMaxMin(ymax,ymin:real; y:masvalue);
procedure DrawMenu(k:integer);
procedure Menu;

implementation
function f(x:real):real;
BEGIN
f:=sin(x);
END;

procedure CalculationValues;
var i:integer;
BEGIN
for i:=1 to n do
  begin
  x[i]:=a+(b-a)/(n-1)*(i-1);
  y[i]:=f(x[i]);
  end;
END;

procedure YMaxMin;
var i:integer;
BEGIN
CalculationValues(a,b,x,y);         <=Вот здесь пишет unknoun indifirent
ymax:=y[1];
ymin:=y[1];
for i:=2 to n do
  begin
  if y[i]>ymax then ymax:=y[i];
  if y[i]<ymin then ymin:=y[i];
  end;
END;

procedure DrawMenu;
var i:integer;
MenuMas:array[1..4] of string;
BEGIN
MenuMas[1]:='Vvod dannih';
MenuMas[2]:='Graphik';
MenuMas[3]:='Model';
MenuMas[4]:='Vihod';
for i:=1 to 4 do
  begin
  if i=k then
    begin
    textcolor(red);
    writeln(MenuMas[i]);
    end
  else
    begin
    textcolor(white);
    writeln(MenuMas[i]);
    end;
  end;
END;

procedure Menu;
var k:integer;
key:char;
BEGIN
k:=1;
while true do
  begin
  key:=readkey;
  case key of
    #80:
      begin
      if k<4 then inc(k);
      DrawMenu(k);
      end;
    #72:
      begin
      if k>1 then dec(k);
      DrawMenu(k);
      end;
    #13:
      begin
      case k of
        1:                    
        2:                  здесь значения еще не дописаны
        3:
        4:
      end;
  end;
END;
ponchikpk вне форума Ответить с цитированием
Старый 15.05.2009, 08:32   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
CalculationValues(a,b,x,y); <=Вот здесь пишет unknoun indifirent
У тебя я не увидел обьявление x y.
Поставь где нужно var x,y:masvalue
Цитата:
здесь значения еще не дописаны
Ну это ты сам как-нибудь....
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.05.2009, 08:46   #3
ponchikpk
Пользователь
 
Аватар для ponchikpk
 
Регистрация: 09.03.2009
Сообщений: 63
По умолчанию

Цитата:
Поставь где нужно var x,y:masvalue
он на что то другое ругается почему то(( курсор на переменной "а" стоит

мне в конце самом выдает при компиляции "Unexpected end of file" (неожиданный конец файла) что там сделать надо?

Последний раз редактировалось ponchikpk; 15.05.2009 в 08:51.
ponchikpk вне форума Ответить с цитированием
Старый 15.05.2009, 09:12   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Модуль должен заканчиваться на END.
Цитата:
он на что то другое ругается почему то(( курсор на переменной "а" стоит
Аналогично. либо переменные обьявить либо вместо них поставить числа.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.05.2009, 09:33   #5
ponchikpk
Пользователь
 
Аватар для ponchikpk
 
Регистрация: 09.03.2009
Сообщений: 63
По умолчанию

Цитата:
Аналогично. либо переменные обьявить либо вместо них поставить числа.
a и b же не меняются.. поставить как внутренние переменные внутри YMaxMin?
ponchikpk вне форума Ответить с цитированием
Старый 15.05.2009, 11:11   #6
slips
Форумчанин
 
Аватар для slips
 
Регистрация: 28.10.2008
Сообщений: 350
По умолчанию

Цитата:
Сообщение от ponchikpk Посмотреть сообщение
a и b же не меняются.. поставить как внутренние переменные внутри YMaxMin?
У тебя 4 переменный которые ты должен передать либо ты их объявляешь
Код:
procedure YMaxMin(ymax,ymin:real; y:masvalue);
var x:masvalue; // вот эту переменную нужно объявить или как и y - передать в процедуру !!!
     i:integer;
BEGIN
CalculationValues(ymax,ymin,x,y);
либо объявляешь как глобальные.
либо объявляешь как константы - если они во время жизни всей программы не должны изменяться.

Последний раз редактировалось slips; 15.05.2009 в 11:22.
slips вне форума Ответить с цитированием
Старый 15.05.2009, 11:14   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
поставить как внутренние переменные внутри YMaxMin?
А откуда мы знаем что тебе надо?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Модуль Graph ShnapS Паскаль, Turbo Pascal, PascalABC.NET 6 28.05.2008 00:44
модуль crt BBagi Паскаль, Turbo Pascal, PascalABC.NET 1 27.12.2007 14:10
Модуль Graph LEX.darnica Помощь студентам 13 27.11.2007 19:15