Страница 1 из 2
Описание функции в FPC
Добавлено:
06.12.2008 16:28:42
badgunn
Люди!! помогите бестолковому.
програмировал тока в школе в 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
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 писал(а):Михаил Крамер
А теперь Вы отбили у него всякую охоту к самостоятельному мышлению.
Не дождётесь, тёзка!
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
Нашёл... Всем спасибо
Re: Описание функции в FPC
Добавлено:
10.12.2008 16:22:55
badgunn
Эт снова я. Обнаружив окно сообщений компилятора я ужаснулся своей глупости и ушёл в творческий отпуск. Но вернувшись к работе обнаружил, что в этом окне по прежнему ничего нет(ни тебе ошибки ни её координат) хотя Compile failed!! Мож всё таки чё не так с компилятором (для справки FPC 2.2.0)?