1. Заголовок или название темы должно быть информативным ! 2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code]. 3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК ! 4.НЕ используйте форум для личного общения! 5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
всем привет.)помогите плиз.объясните доходчиво пожалуйста что такое процедуры и ф-ции в паскале...читал разную литературу, но так толком и не понял(.или ссылу мож какую дайте(посмотреть, почитать про них,мож че пойму))) С уважением ко всем).спасибо!
Лао-Цзы : Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
А на каком тебе уровне надо? Ну, на самом примитивном - "процедура/функция - практически лобой составной оператор, допустимый с точки зрения синтаксиса языка Паскаль, вынесенный из основного блока программы и оформленный в виде подпрограммы"...
Процедуры/функции служат для упрощения читабельности кода, а также разбивают программу на меньшие подпрограммы, тем самым упрощая ее логику. Также выгодно использовать подпрограммы, если некоторое действие повторяется - вместо копирования кода, мы вызываем процедуру/функцию. Какая разница между ними (процедурами/функциями)? Функция через себя может возвращать результат, процедура - нет. Вот и все отличия.
function Somme(a,b:integer):integer; begin Somme:=a+b;// так мы возвращаем результат через функцию. С процедурами так нелья. end;
var temp:integer; begin writeln('Function : ',somme(3,5)); temp:=3+5; writeln('Without function : ',temp); readln; end.
Сообщение отредактировано: Bokul -
--------------------
Лао-Цзы : Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
а какие переменные надо писать в скобках Procedure <имя>(.........),а какие в главной программе.и чем они отличаются?мне не понятно какими переменными мы оперируем в этих процедурах,ф-циях...
а какие переменные надо писать в скобках Procedure <имя>(.........),а какие в главной программе.и чем они отличаются?
Переменные можешь писать какие хочешь. Тебе такой вопрос: где ты пишешь переменные в главной программе? Ведь их можно писать в разных местах.
var global:byte;{глобальная переменная. К ней ты имеешь доступ с любой точки программы и на протяжении всего ее существовании}
procedure proc(local:byte);{local существует только во время вызова процедуры, она локальна} begin global:=local; end;
var data:byte;{существует на протяжении всей работы программы, но ты не можешь обращаться к ней с подпрограмм.} begin global:=0; data:=4; proc(data); writeln(global); readln; end.
Цитата
мне не понятно какими переменными мы оперируем в этих процедурах,ф-циях.
А мне не понятно что ты спросил..
--------------------
Лао-Цзы : Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
Bokul, я бы попросил обратить внимание на название раздела и пункт 5 правил... Если у автора вопроса есть непонимание матчасти - это будет продолжаться бесконечно, пускай задает КОНКРЕТНЫЕ вопросы в разделе "Задачи"...
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
Я же не решаю конкретную задачу, а привожу примеры для лучшего понимания. Разве этого делать нельзя?
P.S. я не спорю, я спрашиваю..
--------------------
Лао-Цзы : Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
Есть проги типа Teleport, которые позволяют скачать целые сайта, в том числе и книги такого рода. Если появятся вопросы по проге, создай, пожалуйста, тему в Ос о По.
--------------------
Лао-Цзы : Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.