Podprogram główny – zdefiniowany w kodzie źródłowym, wybrany podprogram, od którego rozpocznie się wykonanie gotowego programu. Wyróżnienie więc podprogramu głównego spośród innych bloków, ma na celu wskazanie programowi łączącemu tej ingresji, która ma być wejściową dla gotowej aplikacji. Różne języki programowania w zależności od swojej specyfiki posługują się różną nomenklaturą dla określenia tego pojęcia oraz we własny, specyficzny sposób definiują metodę wskazania podprogramu głównego. Można jednak wyróżnić kilka najczęściej spotykanych konstrukcji.

Sposoby specyfikacji podprogramu głównego Można wyróżnić następujące, najczęściej spotykane sposoby specyfikacji podprogramu głównego: brak, dowolny podprogram może być wywołany jako podprogram główny – dotyczy zasadniczo języków interpretowanych, np. ForthJan Bielecki, Język FORTH, Wydawnictwa Naukowo-Techniczne, Warszawa 1988, Seria: Mikrokomputery, , VBAW języku VBA podprogramem głównym może być dowolna procedura (zadeklarowana jako Sub), publiczna (zadeklarowana z modyfikatorem Public), zawarta w module; nie może to być więc podprogram funkcyjny (zadeklarowany jako Function), lub podprogram zawarty w innym module (np. module klasy)John Walkenbach, Excel 2003 PL. Programowanie w VBA., HELION 2004 r., , specjalna nazwa podprogramu, poza zastosowaniem specjalnej nazwy podprogram taki definiowany jest tak jak inne podprogramyMogą być nałożone określone ograniczenia lub specyficzne wymogi dla podprogramu stanowiącego podprogram główny., np. język CJan Bielecki, Turbo C z grafiką na IBM PC, Wydawnictwa Naukowo-Techniczne, Warszawa 1990, Seria: Mikrokomputery, Brian W. Kernighan, Dennis M. Ritche, Język C, Wydawnictwa Naukowo-Techniczne, Warszawa 1988, Seria: Biblioteka Inżynierii Oprogramowania, Jan Bielecki, Od C do C++, programowanie obiektowe w języku C, Wydawnictwa Naukowo-Techniczne, Warszawa 1990, , C++ i pokrewne, specjalna, dodatkowa fraza, dyrektywa, zawarta w deklaracji podprogramu, podprogram taki definiowany jest tak jak inne podprogramy, np. PL/1Jan Bielecki, Rozszerzony PL/I i JCL w systemie OS/RIAD, Państwowe Wydawnictwo Naukowe, Warszawa 1986, Seria: Biblioteka Informatyki, , specjalne oznaczenie bloku głównego, inne niż pozostałych podprogramów, modułów, np. PascalMichał Iglewski, Jan Madey, Stanisław Matwin, Pascal. Język wzorcowy – Pascal 360., Wydawnictwa Naukowo-Techniczne, Warszawa 1984, wydanie trzecie – zmienione, Seria: Biblioteka Inżynierii Oprogramowania, , dyrektywa kompilatora, inne.

Języki programowania C W języku C podprogram główny definiuje się jako funkcję o nazwie (identyfikatorze) main. Ten sposób stosowany jest także w językach pokrewnych jak np. C++, C--, itp. main()

Podprogram taki może przyjmować argumenty; będą to argumenty wywołania programu podane w linii poleceń konsoli: int main(int argc, char *argv[])

Liczba całkowita argc określa liczbę tych argumentów. Natomiast tablica argumentów argv (od ang. argument vector) to wskaźnik do tablicy, w której poszczególnymi elementami są adresy stringów. Te stringi, to kolejne parametry wywołania programu. Bardziej formalnie – zapis char *argv[] jest tablicą wskaźników do (ciągów) znaków

C# W języku C# stosuje się podprogram główny – podobnie jak w całej rodzinie języków wywodzącej się z języka C – oznaczony specjalnym identyfikatorem Main. Jednak obiektowe ukierunkowanie tego języka sprawia, iż podprogram ten musi być metodą wybranej klasywymagane jest aby była to metoda publiczna i statyczna; zadeklarowana z modyfikatorami: public staticC Sharp. Takie rozwiązanie stosowane jest także w innych językach zorientowanych obiektowo, takich jak Java. public class Klasa { public static void Main (string[] args)

Pascal W języku Pascal kod źródłowy stanowiący program zawarty być musi w podprogramie głównym określonym blokiem program. Dotyczy to także innych podprogramów. Stanowią więc one podprogramy wewnętrzne, bowiem w tym języku dopuszczalne jest definiowanie takich podprogramów z wielokrotnym ich zagłębieniem. Dopiero w kolejnych implementacjach, np. Turbo Pascal wprowadzono inne bloki główne – modułyAndrzej Marciniak, Borland Pascal 7.0, Wyd. Nakom, Poznań 1994 r., seria: Biblioteka Użytkownika Mikrokomputerów , .

SkładniaIdentyfikator Jakis został tu przyjęty arbitralnie – może zostać użyty dowolny, prawidłowy w danym języku, identyfikator.Identyfikator programu głównego w języku Pascal nie ma znaczenia, w późniejszych implementacjach, np. Turbo Pascal, może zostać pominięty cały nagłówek porogram: program Jakis; begin end.

PL/1 W języku PL/1 procedura, która ma stanowić podprogram główny, musi uwzględniać we frazie OPTIONS słowo MAIN. W ten sposób może zostać wyróżnionych kilka procedur. Wybierana jest wtedy pierwsza z nich.

Składnia: Main: PROC OPTIONS(MAIN); END Main;

Zobacz też podprogram ingresja

Uwagi

Przypisy

Kategoria:Konstrukcje programistyczne