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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2010, 23:38   #1
hen
Пользователь
 
Регистрация: 31.03.2009
Сообщений: 96
По умолчанию простенькое создание модуля..

Даны действительные числа s, t. Составить программу вычисления выражения: f(t, -2s, 1.17) + f(22, t, s-t), где f(a, b, c) = (2a – b - sin(c)) / (5 + |c|). Подпрограмму оформить в виде отдельного модуля на языке Паскаль.

вот мой код:
POISK. BAK
Код:
unit poisk;
interface
  nopoisk(a,b,c:real):real;
implementation
  function nopoisk(a,b,c:real):real;
  begin
    nopoisk:=(2*a-b-sin(c)) / (5 + abs(c));
  end;
  begin
  end.

NOPOISK.PAS
Код:
uses poisk;
var a,b,c,d:integer;
begin
readln (s,t);
writeln((nopoisk(t,-2*s,1.17)+nopoisk(22,t,s-t));
end.
выкидывает ошибку..

"Implementetion expected"
hen вне форума Ответить с цитированием
Старый 07.06.2010, 00:44   #2
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

Код:
nopoisk(a,b,c:real):real;
Код:
function nopoisk(a,b,c:real):real;
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Старый 08.06.2010, 00:27   #3
hen
Пользователь
 
Регистрация: 31.03.2009
Сообщений: 96
По умолчанию

Цитата:
Сообщение от ROMA2PVT Посмотреть сообщение
Код:
nopoisk(a,b,c:real):real;
Код:
function nopoisk(a,b,c:real):real;
Спасибо..

И вот еще один вопросик..
"Напишите программу, определяющую число слов в строке. Одно слово от другого отделяется 1 пробелом. Подпрограмму, подсчитывающую количество слов оформить в виде отдельного модуля на языке Паскаль."

PODSHET.BAK
Код:
unit podshet;
interface
 function nopoisk(s:string):string;
implementation
 function nopoisk(s:string):string;
  p,i:integer;
  begin
   for i:=1 to length(s) do
    begin
     if (s[i]=' ') then p:=p+1;
    end
   nopoisk:=p+1;
  end;
begin
end.
NOPOISK.PAS
Код:
unit podshet;
var s:string;
begin
writeln('Vvedite stroku:');
readln(s);
writeln('Kol-vo slov v stroke:');
writeln(nopoisk(s));
end.
правильно ли здесь..??
и в каком месте нужно объявлять переменные в модуле..
пока что ошибка указывает на то место..
hen вне форума Ответить с цитированием
Старый 08.06.2010, 11:56   #4
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

interface
{здесь описываются внешние переменные}
implementation
{здесь внутренние переменные модуля}
в в модуле не инициализировали переменную p:=1 для подсчета кол-ва слов.ну и наконец самой программе(nopoisk.pas) написали unit а не uses. итог:взять книгу по паскалю и прочесть её.
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Старый 08.06.2010, 12:25   #5
hen
Пользователь
 
Регистрация: 31.03.2009
Сообщений: 96
По умолчанию

Цитата:
Сообщение от ROMA2PVT Посмотреть сообщение
interface
{здесь описываются внешние переменные}
implementation
{здесь внутренние переменные модуля}
в в модуле не инициализировали переменную p:=1 для подсчета кол-ва слов.ну и наконец самой программе(nopoisk.pas) написали unit а не uses. итог:взять книгу по паскалю и прочесть её.
переменную не инициализировал.. ниже к конечному результату прибавляется 1.. unit\uses ошибся.. прост очень тороплюсь..

а объявлять переменные пробовал и в interface и в implementation..
все равно ошибка и они не объявляются..
hen вне форума Ответить с цитированием
Старый 08.06.2010, 12:31   #6
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

в implementation VAR перед function nopoisk
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Старый 08.06.2010, 13:07   #7
hen
Пользователь
 
Регистрация: 31.03.2009
Сообщений: 96
По умолчанию

Спасибо..

Теперь у меня получается во так..
NOPOISK.PAS
Код:
uses podshet;
var s:string;
begin
writeln('Vvedite stroku:');
readln(s);
writeln('Kol-vo slov v stroke:');
writeln(p);
end.
PODSHET.BAK
Код:
unit podshet;
interface
 function nopoisk(s:string):string;
 var
 p:integer;
implementation
 var
 i:integer;
 function nopoisk(s:string):string;
  begin
   for i:=1 to length(s) do
    begin
     if (s[i]=' ') then p:=p+1;
    end;
   p:=p+1;
  end;
begin
end.
у меня была еще одна ошибка функция nopisk не могла вернуть значение с кол-вом слов в строке так.. nopoisk и переменная p разных типов..
происходит несоответствие типов..
попробовал объявить переменную p в разделе interface..
но теперь понял что она не видна в самой программе..
вопрос: может тогда нужно функцию объявлять..

function nopoisk(s:string, p:integer)

но какой же тогда будет общий тип функции..??
hen вне форума Ответить с цитированием
Старый 08.06.2010, 17:50   #8
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

Хм..Странно я думал я русским языком написал:
Код:
unit podshet;
interface
 function nopoisk(s:string;Var rez:integer):string;
implementation
 var
 p,i:integer;
 function nopoisk(s:string;Var rez:integer):string;
  begin
p:=1;
   for i:=1 to length(s) do
    begin
     if (s[i]=' ') then 
   inc(p);
    end;
   rez:=p;
    end;
end.
Код:
uses podshet;
var k:string;
begin
writeln('Vvedite stroku:');
readln(k);
nopoisk(k,rez);
writeln(rez);
end.
にんじゃ
ROMA2PVT вне форума Ответить с цитированием
Старый 17.03.2011, 17:10   #9
iSkulll
Пользователь
 
Регистрация: 09.02.2011
Сообщений: 19
По умолчанию

Спасибо большое)

Последний раз редактировалось iSkulll; 17.03.2011 в 17:17.
iSkulll вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание модуля Delphi стек Graff Valdemar Помощь студентам 5 23.05.2010 14:46
Создание модуля данных внутри объекта Шурин БД в Delphi 2 19.03.2009 10:38
Создание модуля Deight Общие вопросы Delphi 20 31.12.2008 15:34
Создание модуля в Си JET_FLASH Общие вопросы C/C++ 16 11.01.2008 17:12
Создание модуля голосования AlekFirst PHP 1 18.10.2007 11:54