În conformitate cu metodele de programare structurală, construcția programelor se realizează prin metoda detalierii treptate a algoritmilor. Unele părți ale algoritmului pot fi alocate sub formă de algoritmi auxiliari. rezolvarea submăsurilor auxiliare.
Subrutinele sau procedurile sunt folosite pentru a implementa algoritmi auxiliari. Subrutina este un fragment independent al programului, conceput într-o formă care permite accesul multiplu la acesta din diferite puncte din program. Apelați la subrutina - trecerea la execuția subrutinei cu informațiile necesare pentru ao efectua și a reveni.
Există două tipuri de subrutine: proceduri și funcții. Diferența dintre ele este că funcția prin numele său returnează o valoare de un anumit tip și poate fi folosită în expresii împreună cu funcțiile încorporate.
Procedura este după cum urmează:
Procedura este apelată din programul principal de către operatorul de apel de procedură: <имя процедуры>(<список значеиий>).
Parametrii pot fi transmise procedurii, adică unele variabile care pot fi utilizate în cadrul procedurii. Când apelați o procedură folosind o instrucțiune de apel, aceste variabile sunt atribuite valorilor specificate în această instrucțiune. Parametrii descriși în antetul procedurii sunt numiți valori formale. care sunt atribuite acestor parametri în timpul apelului - parametrii actuali.
Parametrii din procedură pot fi trecuți prin valoare sau prin referință. Dacă parametrul este trecut prin valoare, valoarea parametrului actual va fi transferată la procedură. Modificarea parametrului formal în cadrul procedurii nu va afecta valoarea parametrului real. Atunci când treceți un parametru prin referință, parametrul formal este o referință la parametrul actual și modificarea sa în cadrul procedurii va modifica valoarea parametrului real. A doua metodă este de obicei folosită pentru a returna rezultatele funcției în programul principal.
Pentru a trece parametrul prin referință, în Pascal, în descrierea parametrilor formali din corpul procedurii, cuvântul cheie var este utilizat:
procedura SubTest (a, b: integer; var c: real, var d: integer);
Aici parametrii a și b sunt trecuți prin valoare, iar parametrii c și d sunt trecuți prin referință.
Funcțiile sunt în mod similar similare procedurilor, dar returnează o valoare prin numele lor.
Pentru a returna o valoare dintr-o funcție, este necesar să se atribuie valoarea necesară în interiorul corpului funcției unei variabile al cărei nume coincide cu numele funcției. Această variabilă nu trebuie să fie declarată în zona de descriere.
Funcția este numită în expresii și operatori, cum ar fi funcțiile de limbă standard:
<Переменная> : = <Функция> (<Параметры>)
Implementarea algoritmilor folosind subrutine - proceduri și funcții - se numește programare procedurală. În ultimii ani, metodele de programare a obiectelor și evenimentelor au devenit din ce în ce mai populare.