_Pasha 0 17 ноября, 2008 Опубликовано 17 ноября, 2008 · Жалоба ппц... но если интересно, сходите по линкам во втором посте топика. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 17 ноября, 2008 Опубликовано 17 ноября, 2008 · Жалоба Я, конечно, понимаю, что Паскакаль дебильнй язык, но про эти "функции" всегда думал, что это не функции и не процедуры, а лишь указание компилятору считать аргументы другим типом. То есть, оператор преобразования типа. Во, чувствуется знаток паскаля:) Если же это действительно реальные функции, которым что-то передается и они генерируют вызов - то какие еще могут быть разговоры о паскале? Нахрена он это все делает? Чтобы преобразовать численное значение в строку и обратно. Как atoi/itoa в Си. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
777777 0 17 ноября, 2008 Опубликовано 17 ноября, 2008 · Жалоба Во, чувствуется знаток паскаля:) Я отюдь не знаток паскаля и, к счастью, никогда на нем не писал. Чтобы преобразовать численное значение в строку и обратно. Как atoi/itoa в Си. Значит я спутал с другими "функциями" одна из них называлась кажется ord() а обратная не помню. Ну хоть они-то не функции, а операторы языка? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 17 ноября, 2008 Опубликовано 17 ноября, 2008 · Жалоба Я отюдь не знаток паскаля и, к счастью, никогда на нем не писал. Почему же тогда вы считаете, что можете судить о нём? понимаю, что Паскакаль дебильнй язык Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Ivan_ 0 17 ноября, 2008 Опубликовано 17 ноября, 2008 · Жалоба вот у меня есть функция tip в нее экспортируется 1 параметр и 1 массив... выходное значение функции - integer.... как мне в главное программе какой то переменной присвоить значение этой функции?!?!? все время в этой строке пишет ошибку напишите пример плс... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 17 ноября, 2008 Опубликовано 17 ноября, 2008 · Жалоба вот у меня есть функция tip в нее экспортируется 1 параметр и 1 массив... выходное значение функции - integer.... как мне в главное программе какой то переменной присвоить значение этой функции?!?!? все время в этой строке пишет ошибку напишите пример плс... Так, что ли ? type Tbuffer= array[1..100] of integer; var work,index:integer; buffer: Tbuffer; function tip(param1: integer; var param2: Tbuffer) begin tip := param2[lo(param1)] mod param1; (* хз чего сделали *) end; (* THE MAIN PROGRAM *) BEGIN (*Заполнили случайными числами буфер сюда можно не смотреть*) randomize; for index := 1 to 100 do buffer[index]:=random(65535); (* а сюда уже смотреть надо*) for index := 1 to 60000 do begin work := tip(index,buffer) writeln ('сделали еще ХЗ чего с индексом ',index, ' и оно равно ', work ); end; END. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 18 ноября, 2008 Опубликовано 18 ноября, 2008 · Жалоба Так, что ли ? type Tbuffer= array[1..100] of integer; var work,index:integer; buffer: Tbuffer; function tip(param1: integer; var param2: Tbuffer) begin tip := param2[lo(param1)] mod param1; (* хз чего сделали *) end; (* THE MAIN PROGRAM *) BEGIN (*Заполнили случайными числами буфер сюда можно не смотреть*) randomize; for index := 1 to 100 do buffer[index]:=random(65535); (* а сюда уже смотреть надо*) for index := 1 to 60000 do begin work := tip(index,buffer) writeln ('сделали еще ХЗ чего с индексом ',index, ' и оно равно ', work ); end; END. В последний раз на Pascal писал лет 20 назад, но все равно до сих пор помню, что тип значения, возвращаемого функцией, надо указывать: function tip(param1: integer; var param2: Tbuffer) : integer; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 18 ноября, 2008 Опубликовано 18 ноября, 2008 · Жалоба до сих пор помню, что тип значения, возвращаемого функцией, надо указывать: Эт точно. :) Очепядко. Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Ivan_ 0 21 ноября, 2008 Опубликовано 21 ноября, 2008 · Жалоба спасибо все работает а еще вопрос - может ли функция возвращать массив ну типа в главное программе написать tip...??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 21 ноября, 2008 Опубликовано 21 ноября, 2008 · Жалоба а еще вопрос - может ли функция возвращать массив Можно только два варианта: function tip(param1: integer; var param2: Tbuffer):integer; ^ через параметр по ссылке Второй вариант возможен, но он кривой. Лучше так не делать, потому что можно привыкнуть к этому и на автопилоте возвращать в функции огромные блоки данных, что заставляет машину заниматься черти-чем, и еще служит источником трудноуловимых глюков переполнения стека, т.к. значения функций возвращаются через стек. function tip2(param1: integer): Tbuffer; (**********************************) (*основная программа *) var mass1: Tbuffer; param:integer; begin mass1:=tip2(param); end. А это - бессмыслица. var param1,param2 :integer; begin param1 := tip2(param2)[1]; end; Зачем городить кучу данных, если надо что-то одно ? После вызова функции ее результат доступен ведь только один раз. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Ivan_ 0 9 декабря, 2008 Опубликовано 9 декабря, 2008 · Жалоба гы, дошел до файлов... у меня блокнот видит иероглифы если я записал прогой файл... команда записывает русскую строку в файл - такое можно? и как чтоб не было иероглифов? кодировку менял файл текстовый... и еще как записать в типизированный файл кучу чисел(массив) а потом этот же массив прочитать(конечно с виду это извращения - но препод говорит что это его правила игры... и я с ним согласен) заранее благодарен за ответы Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 11 декабря, 2008 Опубликовано 11 декабря, 2008 · Жалоба у меня блокнот видит иероглифы если я записал прогой файл... Каким паскалем пользуетесь? Старым BP7 ? Если да - то ничем не могу помочь, пользуюсь FPC. Подробностей с кракозябрами не помню. и еще как записать в типизированный файл кучу чисел(массив) const MaxElement = 9000; var f: file of integer; map: array[1..MaxElement] of integer; i: integer; begin assign(f,'temp.bin');(*назначили имя файла - он будет там же, где и файл программы, т.е. ЕХЕ-шник *) rewrite(f); (* открыли файл на вывод*) for i:= 1 to MaxElement do write(f,map[i]); (*записали все,что надо из массива*) close(f);(*закрыли файл, но в данном случае это необязательно*) reset(f);(*открыли файл для чтения, но можно и по-другому, через процедуру seek();*) (*прочитать можно таким же образом, как и записали но можно и так, если вспомнить о том, что в реальном мире размер файла может содержать другое число элементов, поэтому проверим условия конца файла и выхода за пределы массива. *) i:=1; repeat read(f,map[i]); i := i+1; until eof(f) or (i > MaxElement); close(f); end. Надеюсь, кто-нить поправит, если допустил ошибку. :) вместо того чтоб флудить в ветке "Pascal для AVR" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Ivan_ 0 11 декабря, 2008 Опубликовано 11 декабря, 2008 · Жалоба СПАСИБО ВАМ ОГРОМНОЕ!!!! СДЕЛАЛ С ВАШЕЙ ПОМОЩЬЮ ВСЕ РАБОТАЕТ!!! ЗАВТРА ПОЙДУ ПОЛУЧАТЬ ЗАЧЕТ!!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться