Страница 1 из 2

Описание функции в FPC

СообщениеДобавлено: 06.12.2008 16:28:42
badgunn
Люди!! помогите бестолковому. :oops: програмировал тока в школе в TP 7.0.
Вопрос вот в чём: как я понял написание собственных функции в Turbo Pascal и Free Pascal отличаются. Мне бы пример описания функции в программе и как её потом вызывать. Заранее пасиб

Re: Описание функции в FPC

СообщениеДобавлено: 06.12.2008 17:49:36
alexs
Ничем не отличается. Синтаксис полностью одинков.

Re: Описание функции в FPC

СообщениеДобавлено: 06.12.2008 18:58:03
badgunn
Ну например вот этот код правильный?
Код: Выделить всё
function h_i(n,a : array [1..5] of single):single;
var
  l: Byte;
  hp,s1,s2: single;

begin
  s1:=0; s2:=0;
  for l:=n downto 1 do
   begin
    s1:=s1+a[l];
    s2:=s2+a[l-1];
   end;
  hp:=power(s1,1/3)-power(s2,1/3);
  h_i:=hp;
end;

Re: Описание функции в FPC

СообщениеДобавлено: 06.12.2008 19:02:00
Vadim
badgunn
А ты попробуй... :)
"Практика - единственный критерий истины."(R) Кто-то из классиков марксизма-ленинизма... :)

Re: Описание функции в FPC

СообщениеДобавлено: 06.12.2008 19:08:35
badgunn
Да я пробовал!! Без функции всё норм, прописываю, проверяю--> Compile failed :evil:

Re: Описание функции в FPC

СообщениеДобавлено: 06.12.2008 19:12:34
Vadim
badgunn писал(а):Compile failed

На этой же строчке должно быть и описание причины. Что там написано?

Re: Описание функции в FPC

СообщениеДобавлено: 06.12.2008 19:26:43
Михаил Крамер
Эмм... А массивы нельзя в заголовке функции писать как array [1..3] of single;

Нужно так сделать:

Код: Выделить всё
type singlearray = array [1..5] of single;
.....// Какие-то ещё объявления
function h_i(n,a : singlearray):single;


Енто раз. А два - если n - это тоже массив, то как енто вы пишите
Код: Выделить всё
for l:=n downto 1 do


Так что с компилером всё в порядке... Кстати, TP7 так же вёл бы себя...

Re: Описание функции в FPC

СообщениеДобавлено: 06.12.2008 19:31:19
Vadim
Михаил Крамер
Торопитесь, дружище. :) Лучше научить человека дружить с компилятором,который выдаёт все какие нужно подсказки. А теперь Вы отбили у него всякую охоту к самостоятельному мышлению.

Re: Описание функции в FPC

СообщениеДобавлено: 06.12.2008 19:34:52
badgunn
вот сообщение компилятора[img]http://imageshost.ru/links/3f62bb9ecb642ed8438b88575c2a0777
[/img]

Добавлено спустя 33 секунды:
ссори Изображение

Добавлено спустя 10 минут 22 секунды:
Vadim писал(а):Михаил Крамер
А теперь Вы отбили у него всякую охоту к самостоятельному мышлению.

Не дождётесь, тёзка! :D

Re: Описание функции в FPC

СообщениеДобавлено: 06.12.2008 19:49:48
Vadim
badgunn
А теперь гасим окно сообщения об ошибке и смотрим внизу на зелёное окошко, где появилась надпись:
Название_программы.pas (Номер_строки, Номер_колонки) Fatal: Syntax error, и так далее

Компилятор тебе сообщает в какой строке и колонке произошла ошибка и в чём она заключается.

Re: Описание функции в FPC

СообщениеДобавлено: 06.12.2008 20:13:52
badgunn
Блин, я конечно сильно извиняюсь, но ничего не появляется. Знаю, что компилятор выдаёт сообщение о типе ошибки и её положении(в TP 7 так и было). Но в FPC я ничего подобного не увидел.
З.Ы. Vadim, вашему совету последовал, но так ничего и не увидел...Может быть в настройках че-то не так?

Re: Описание функции в FPC

СообщениеДобавлено: 06.12.2008 21:06:00
Михаил Крамер
badgunn, у меня тоже всё, что надо выдаётся. Так что компилер не молчит! Окно "Compiler Messages " зовётся..

Re: Описание функции в FPC

СообщениеДобавлено: 07.12.2008 06:55:23
Vadim
badgunn
Возможны два варианта:
1. Или окно с кодом программы закрывает окно сообщений компилятора.
2. Или окно сообщений вообще не включено.
Как исправить:
1. Взяться мышкой за правый нижний угол окна текста программы и потянуть его строк на пять вверх. Если под ним не обнаружилось зелёное окошко под названием "Compiler messages", то
2. Нажать на клавишу F12 или в меню выбрать "Compile -> Compiler messages".

Re: Описание функции в FPC

СообщениеДобавлено: 07.12.2008 11:07:29
badgunn
Нашёл... Всем спасибо :oops:

Re: Описание функции в FPC

СообщениеДобавлено: 10.12.2008 16:22:55
badgunn
Эт снова я. Обнаружив окно сообщений компилятора я ужаснулся своей глупости и ушёл в творческий отпуск. Но вернувшись к работе обнаружил, что в этом окне по прежнему ничего нет(ни тебе ошибки ни её координат) хотя Compile failed!! Мож всё таки чё не так с компилятором (для справки FPC 2.2.0)?