Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Внизpascal.Напомните, пожалуйста, как там возвращать значение функции Найти похожие ветки
← →
12 © (2010-06-03 11:32) [0]Function GoodP(aValue:integer):boolean;
// Функция проверки корректности ввода пользователя
Begin
// Введенное значение должно быть между 1 и N включительно.
Result := (P < N+1) and (P > 0); // в этом месте показывает ошибку
End;
← →
@!!ex © (2010-06-03 11:33) [1]Какую ошибку?
Если мы говорим о старом паскале(не дельфи), то там возврат идет через имя функции а не Result.
То есть:
GoodP:=
← →
Медвежонок Пятачок © (2010-06-03 11:36) [2]что такое P,N и зачем у этой функции аргумент aValue
← →
Ega23 © (2010-06-03 11:38) [3]Не уверен, но я бы N+1 в скобочки взял.
← →
XXL (2010-06-03 11:40) [4]
> Ega23 © (03.06.10 11:38) [3]
> Не уверен, но я бы N+1 в скобочки взял.
Скобочки не нужны. Преимущества строгой типизации.
← →
Ega23 © (2010-06-03 11:44) [5]
> Скобочки не нужны.
Я бы не стал настолько категорично утверждать.
← →
Думкин © (2010-06-03 11:46) [6]
> Ega23 © (03.06.10 11:44) [5]
Ты же в риоднли? Кто это за тебя пишет такое, что мол не уверен в таком?
← →
12 © (2010-06-03 12:27) [7]извините - разрывают
Result := (P < N+1) and (P > 0); // в этом месте показывает ошибку
неизвестный идентификатор
по словам моего младшего брата
я ему на Delphi, консолью, написал так
посоветовал пока
GoodP:=
ща посмотрим чего отпишется
← →
12 © (2010-06-03 12:30) [8]
> что такое P,N и зачем у этой функции аргумент aValue
P,N : integer; глобальные некие
aValue - так, рудимент, удалить надо, забыл
> Не уверен, но я бы N+1 в скобочки взял.
если не пойдет - еще так посоветую
← →
Petr V. Abramov © (2010-06-03 12:36) [9]скобочки точно не нужны
← →
12 © (2010-06-03 12:49) [10]ага, только
GoodP:=
дальше откомпилировалось
спасибо
← →
Anatoly Podgoretsky © (2010-06-03 12:56) [11]> 12 (03.06.2010 11:32:00) [0]
Особо не изменилось с 70 годов. Это или присвоение встроеной переменно й
Result или присвоение имени функции. И так уже 40 лет подряд.
← →
Anatoly Podgoretsky © (2010-06-03 12:58) [12]
> XXL (03.06.10 11:40) [4]
Типизация тоже не причем. Может ты слышал про приоритеты что либо.
← →
Anatoly Podgoretsky © (2010-06-03 12:59) [13]> Думкин (03.06.2010 11:46:06) [6]
Наверно срок пришел?
← →
Anatoly Podgoretsky © (2010-06-03 12:59) [14]> 12 (03.06.2010 12:27:07) [7]
Ну так тут всего три идентификатора, можно по пальцам пересчитать.
← →
Anatoly Podgoretsky © (2010-06-03 13:00) [15]> 12 (03.06.2010 12:30:08) [8]
Не надо удалять, наоборот надо добавлять, нужно в функцию передать два
параметра - P, N
← →
12 © (2010-06-03 13:04) [16]
> Anatoly Podgoretsky © (03.06.10 13:00) [15]
Не надо :)
если слишком все хорошо - не поверят, что он сам писал :)
← →
Anatoly Podgoretsky © (2010-06-03 14:37) [17]Чуть младшего брата не подставил :-)
← →
Германн © (2010-06-03 16:58) [18]
> Anatoly Podgoretsky © (03.06.10 12:56) [11]
>
> > 12 (03.06.2010 11:32:00) [0]
>
> Особо не изменилось с 70 годов. Это или присвоение встроеной
> переменно й
> Result
Если мне не изменяет мой склероз, то @Result.
← →
Anatoly Podgoretsky © (2010-06-03 17:00) [19]> Германн (03.06.2010 16:58:18) [18]
Переменной результат долго не было, пока пользователи не достали Борланд.
← →
Германн © (2010-06-03 17:12) [20]
> Anatoly Podgoretsky © (03.06.10 17:00) [19]
@Result для встроенного ассемблера была давно. Иначе как на асме писать функции возвращающие строки.
← →
@!!ex © (2010-06-03 17:29) [21]> [20] Германн © (03.06.10 17:12)
и в чем сложность возврата строки БЕЗ @Result?
← →
12 © (2010-06-03 17:30) [22]
> Иначе как на асме писать функции возвращающие строки.
указатель на начало
← →
Германн © (2010-06-03 17:36) [23]
> и в чем сложность возврата строки БЕЗ @Result?
А где ты возьмешь адрес строки, которую создал компилятор для результата функции?
← →
Германн © (2010-06-03 17:38) [24]Вот кстати пример из Turbo Pascal runtime library:
function StrPas(Str: PChar): String; assembler;
asm
PUSH DS
CLD
LES DI,Str
MOV CX,0FFFFH
XOR AL,AL
REPNE SCASB
NOT CX
DEC CX
LDS SI,Str
LES DI,@Result
MOV AL,CL
STOSB
REP MOVSB
POP DS
end;
← →
Anatoly Podgoretsky © (2010-06-03 20:13) [25]> Германн (03.06.2010 17:12:20) [20]
Причем тут ассемблер.
В Паскаль функциях такой переменной не было и пользователи сами создавали ее
как локальную переменную и затем в последней строке присваивали значение
функции. Вот так и мучались.
← →
Германн © (2010-06-04 02:49) [26]
> Anatoly Podgoretsky © (03.06.10 20:13) [25]
>
> > Германн (03.06.2010 17:12:20) [20]
>
> Причем тут ассемблер.
> В Паскаль функциях такой переменной не было
Какой такой?
> Anatoly Podgoretsky © (03.06.10 12:56) [11]
>
> > 12 (03.06.2010 11:32:00) [0]
>
> Особо не изменилось с 70 годов. Это или присвоение встроеной
> переменной Result
Как понимать тебя, Саид?
Какая встроеная переменная Result в "старом паскале"?
Встроено было только во "встроенный ассемблер".
← →
Германн © (2010-06-04 03:01) [27]
> Германн © (04.06.10 02:49) [26]
P.S.Толь, не хочу с тобой спорить. Некогда. :)
Работы много.
← →
Anatoly Podgoretsky © (2010-06-04 08:54) [28]> Германн (04.06.2010 02:49:26) [26]
А ты русский в школе учил? Подумай что означает слово ИЛИ
← →
Anatoly Podgoretsky © (2010-06-04 08:55) [29]> Германн (04.06.2010 02:49:26) [26]
Да и заодно скажи в какой версии появился Result, лучше выпиской иэ what"s
new
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.063 c