Създаване на ваши собствени процедури, работа с Паскал статии, програмиране - програмиране в, Делфи, C #

Вие отдавна са запознати с концепцията на процедурите и функциите на Паскал език, както и разликата между двете. Въпреки това, до днес, аз не говоря за това как можете да създадете свои собствени функции и процедури. Защо те трябва? Нека си зададем този въпрос и по Кентавър







За да започнете, опитайте се да си поставили задачата. Да предположим, че искаме да се напише програма, която ще бъде определена, често повтаря последователността от действия. Например, добавянето на две числа.

Нека сега да формулира проблема, както следва: Напишете програма, която ще добави две числа. Освен това пита дали да се повтаря. Ако отговорът е положителен, то тогава се повтаря отново. Моля, обърнете внимание, за да добавите номера, ние няма да веднъж, може би два или три пъти или повече. Ето това би било много лесно да се привлече част от код, който е отговорен за добавяне и го наричат, когато имате нужда да - това е, да не го пиша през цялото време отново. Тук стигаме до процедурата за определяне на (подпрограма) Паскал.

Какво е подпрограма? Подпрограма (процедура, функция) - е модерен апарт част от програмата, към която след това може да бъде достъпен от всяка точка на основната програма (го наричат). Напиши и използване рутинна е много проста. В този случай, тя ще има следните свойства:

  • Подпрограма - това всъщност е отделна програма. Тя може да има свои собствени променливи, етикети, константи, както и под-съчетания.
  • Тя може да използвате променливите, които са общи за всички програми (глобални променливи), като се вземе предвид факта, че те са били описани в основната програма, докато подпрограмата.
  • Ако рутинна - функция, тя може да се използва в стандартните дизайни, като параметър за реда, определен за променливи и т.н. това означава, че има всички характеристики на функции.
  • Това е основното нещо, което се отнася до използването на данни в подпрограми. Сега нека видим как те са описани в програмата. Нека да започнем с процедурите.

    Създаване на вашите процедури

    Създадена е процедура в Pascal има следните елементи:

    • Официален Процедура дума;

  • Правилното името, под което ще се използва в програмата. То идва след официалната процедура дума
  • Параметрите предадени на програмата (по желание).
  • Персонализирани секции Var, на константи, етикет (по желание).
  • Собствен раздел започне - край. и в края - това е края на рутината. След като той винаги се поставя точка и запетая ";"

  • В рамките на тази структура - всички елементи на езика: контури, сравнения, допълнителни блокове започват - край.

    Например нека да напишем по-горе програма (добавянето на две числа). Ще действа по следния начин:

    1. Преди основната програма ще бъде процедура, при която параметри за качество, ще бъдат дадени две числа. При тази процедура, ще можете:
    1. Numbers предавани като параметри се добавят един към друг;
  • Получената стойност се показва на екрана;






  • Ще направим повторен цикъл - до. Във вътрешността на пътеката. действия:
    1. Заявяване първият ден;
  • Заявяване втора номер;
  • Ние наричаме нашата процедура, която преминава в като параметри две числа;
  • Цикълът се повтаря, докато отговорът е "ДА".
  • Ето една проста програма. Източник код:

    Сега нека да разгледаме как да се създаде процедура.

    На първо място, на официалния дума posmorite процедура. Това е комбинация, която в нашия случай процедурата (не забравяйте, има и други функции). След това идва името на процедурата - Добавяне. с това име ние се позоваваме на това в програмата.

    Следващата стъпка - определянето на параметрите преминали процедурата. Те са посочени в скоби до името, и в следния формат:

    В тази версия, има някои функции, които ще изброим:

    1. Списъкът с променливите, параметри могат да бъдат пропуснати, - в случай, че те не са необходими рутинни:
  • Опциите могат да бъдат неограничен брой, както и всякакъв вид. След това те се разделят на групи за отделните видове и са разделени от запетая:

    Процедура Добави (A, B: Integer; C: Word; Б: Булева; S: String);

    След като опишете името на процедурата, както и списък на нейните параметри, можете да започнете създаването на процедурата. Не забравяйте - процедурата е малко по програма, която не се различава от основните в неговите качества. В този пример, ще видите, че тя има свой раздел Var, неговото изграждане да започне - край. За да обобщим, изготвят процедури за регистрация на шаблон, който можете да използвате, докато не си спомня синтаксиса.

    procedure_name (-list: Type);

    Както можете да видите, че всичко е много просто. Сега нека видим как можете да напишете функция. За да направите това, ние се промени нашата програма и да изложат на проблема, както следва:

    Напишете функция, която връща от работата си сумата от два елемента. Всички други условия са еднакви. Нека да започнем?

    Когато пишете функция преди всичко трябва да се припомни своята цел - да се върне от работа си всякакви ценности. В нашия случай - това е сумата от двете числа се подават като параметри. По отношение на параметрите - са всички същите характеристики като тези на процедурите. Основната разлика между функциите на процедурите - това е функция дума функция. това е, дума Процедура и функция за връщане на стойностите на.

    Последното се осъществява от една проста задача на стойност към името на функцията. Ние променя програмата написано по-горе:

    Обърнете внимание на три основни точки, които да използвате функции.

    1. Функцията в описанието трябва да получат техния вид, тоест, посочете вида на връщане стойност. Това означава, че ако ни е дадена функция цяло число тип. След това той може да бъде определен само цяло число допълнение - при използване на програмата, можем да го използваме само в ситуации, които ви позволяват да се манипулира число тип.

    2. Стойността на връщане се дава една проста задача до името на функция вътре в нея.

    3. Тъй като стандартните функции на Паскал собствени могат да се използват при процедури:

    Напиши (Add (N1, N2)); - отпечатване на крайния резултат от изпълнението на функцията Add;

    И в стандартните дизайни:

    Ако Добави (N1, N2)> 100 след това да напишете ( "сума е повече от 100! ');

    Да приемем низ променлива StrNumber задава определена стойност като номер на последователност, т.е. StrNumber: = "231456"; Както е написано в променливата на граф от тип цяло число сумиране данни за резултатите от числа?

    В тази формулировка на проблема на думата "номер" да се замени с "номера", в противен случай проблемът няма смисъл, защото линията съдържа един номер, в ревизирания текст на проблема има решение:

    writeln ( "равно количество", сума);

    Проверете онлайн тук не е направено правилно.

    Въпрос 2. Има такива процедури като FindFirst и FindNext. Трябва да се организира търсене, например, всички архивирани файлове (нека да бъде ARJ, RAR и ZIP), не само в текущата директория, посочен като един от операндите, но и във всички поддиректории на зададената директория. Нещо, което не разбирам как да го направя. Ако се съди по НК, VC и далеч - те отдавна реши на предизвикателството. Кажи ми къде да намеря стандартен разтвор или един от възможните?

    Нещата не са толкова прости, тук е необходимо да се прилага rekkursivny дърво прекосява. Направете желаните промени и гледа здравето.

    Процедура FileFind (Dir, FindName PathStr.);