Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
15-1265202233
БарЛог
2010-02-03 16:03
2010.08.27
Нарисовать график


15-1269450731
GDI+
2010-03-24 20:12
2010.08.27
Формула рассчета расстояния между двумя точками на сфероиде


15-1264749431
Делфиец
2010-01-29 10:17
2010.08.27
Помогите разобраться что это за ерунда


2-1268723049
b/@.
2010-03-16 10:04
2010.08.27
Картинки стандартных акций


2-1267276280
lewka
2010-02-27 16:11
2010.08.27
Работа с архиватором





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский