Pętla (informatyka)

Diagram pętli for typu C

Pętla – jedna z trzech podstawowych konstrukcji programowania strukturalnego (obok instrukcji warunkowej i instrukcji wyboru). Umożliwia cykliczne wykonywanie ciągu instrukcji określoną liczbę razy, do momentu zajścia pewnych warunków, dla każdego elementu kolekcji lub w nieskończoność.

Pętle licznikowe

 Osobny artykuł: Pętla iteracyjna.

Zawartość pętli licznikowych bądź iteracyjnych wykonuje się ustaloną liczbę razy. W najprostszym przypadku na początku pętli specjalna zmienna sterująca (licznikowa) jest ustawiana na wartość początkową, następnie przy każdym obiegu pętli jej wartość jest zwiększana o jeden, aż do osiągnięcia górnego limitu. Często pętla taka może odliczać w dół lub zmienna może być modyfikowana o wartość inną niż 1. Przykładami są tutaj pętle for z takich języków jak Pascal[1][2], Ada[3] (ale nie C[4][5] i C-podobne[6]).

Pętle warunkowe

 Osobny artykuł: Pętla repetycyjna.

Ogólniejszą konstrukcją jest pętla warunkowa, nazywana również repetycyjną, która jest wykonywana, aż do odpowiedniej zmiany warunków. Przeważnie wyrażenie testujące sprawdzane jest na początku lub na końcu pętli. W niektórych językach (C-podobne) pętla jest wykonywana dopóki warunek jest spełniony[4][5][6], w innych, np. w Pascalu pętla repeat...until, dopóki warunek nie jest spełniony[1][2]. Przykładami są instrukcje while, do...while, repeat...until[1][2][4][5][6].

Istnieją języki w których warunek (lub warunki) zakończenia mogą być umieszczone wewnątrz pętli na przykład w Adzie pętla loop z konstrukcją exit when[3].

Pętla ogólna

 Osobny artykuł: Pętla ogólna.

To pętla stosowana w językach rodziny C[4][5] i C-podobnych, jak np. C++[6]. Umożliwia definiowanie zarówno pętli repetycyjnej (ze sprawdzeniem warunku na początku pętli), jak i pętli iteracyjnej, jednak w porównaniu do niej pętla ta definiowana jest na niższym poziomie abstrakcji, co oznacza, że programista musi sam definiować warunek jej zakończenia i operację zmiany wartości zmiennej sterującej przy kolejnym przebiegu pętli.

Pętle „po kolekcji”

 Osobny artykuł: Pętla foreach.

Często pożądane jest, aby instrukcje pętli zostały wykonane dla każdego elementu tablicy, kolekcji itp. Można to zrobić za pomocą powyższych pętli, ale często szybszym i bardziej przejrzystym sposobem jest użycie pętli typu foreach, która zwalnia programistę z obowiązku ręcznego iterowania po kolekcji.

Pętla o określonej liczbie powtórzeń

W pewnych językach programowania zdefiniowano w ich składni konstrukcję pętli, w której programista podaje ilość powtórzeń iteracji. Nie specyfikuje się przy tym ani zmiennej sterującej, ani wartości początkowej i końcowej licznika, co stanowi zasadniczą różnicę w stosunku do pętli iteracyjnej (licznikowej).

Pętle o określonej liczbie powtórzeń w językach programowania
Cobol[7][8] Jean[9][10] Logo[11]

PERFORM PROC N TIMES.

1.1 instrukcja, N TIMES

repeat N instrukcja

Pętla nieskończona

 Osobny artykuł: Pętla nieskończona.

W niektórych zastosowaniach, np. systemy operacyjne, serwery, środowiska sterowane zdarzeniami pożądane jest, aby główna pętla wykonywała się praktycznie w nieskończoność. Można to uzyskać wstawiając do pętli warunkowej odpowiedni niezmienny warunek, ale niektóre języki dostarczają środków, którymi można wyrazić to bezpośrednio np. w języku Ada[3], Forth[12][13], Icon[14].

Inne konstrukcje

Istnieją także języki programowania zawierające w swojej składni instrukcje pętli zrywające z podanym wyżej podziałem. Przykładem takiego języka jest PL/1 i zdefiniowana w nim instrukcja DO. Instrukcja ta może (ale nie musi) zostać użyta z odpowiednimi frazami, definiującymi szczegółowo sposób iteracji, przy czym poszczególne frazy mogą być ze sobą zestawiane łącznie, co umożliwia bardziej złożone sterowanie w programie. I tak[15][16]:

DO;
  ...
END;
  • pętla iteracyjna
DO I=''w_p'' TO ''w_k'' BY ''step'', ''w_p1'' TO ''w_p2'' BY ''step2'', ...;
  ...
END;

przy czym frazy TO oraz BY są opcjonalne, można więc podać listę wartości, którą ma przyjmować zmienna sterująca, a przecinek umożliwia definicję kontynuacji iteracji dla kolejnego zestawu wartości.

  • pętla repetycyjna
DO WHILE ''warunek'';
  ...
END;
DO UNTIL ''warunek'';
  ...
END;
DO REPEAT ''wyrażenie'';
  ...
END;
  • pętla złożona – możliwość składania poszczególnych fraz iteracyjnych i repetycyjnych, np.
DO WHILE C>A, I=1 TO 20 BY 3 UNTIL A<B, 31, 32, 36, 39 TO 41, REPEAT A/2 WHILE A>3;
  ...
END;

Modyfikowanie przebiegu pętli

Z pętlami w językach programowania związane są konstrukcje programistyczne umożliwiające modyfikowanie standardowego przebiegu realizacji pętli. Modyfikacja ta dotyczy takich elementów jak zmiana wartości zmiennej sterującej, wyjście z pętli, przejście do kolejnej iteracji itp. Do modyfikowania przebiegu realizacji pętli służą:

  • albo istniejące danym języku konstrukcje, tj. instrukcje, które są stosowane także poza pętlą, np.:
  • albo specjalne konstrukcje dedykowane tylko do modyfikacji działania pętli, tj. takie które mogą być stosowane tylko w obrębie pętli, np.

Instrukcje modyfikujące działanie pętli wymienione w drugiej grupie, zostały opracowane i uwzględnione w definicjach języków programowania, jako substytut instrukcji skoku, której użycie jest krytykowane w literaturze przedmiotu. Każda z operacji realizowanych przez tę grupę instrukcji może bowiem zostać zrealizowana za pomocą instrukcji skoku i etykiety umieszczonej w określonym miejscu. Instrukcja skoku pozwala w przeciwieństwie do tych instrukcji na przejście do dowolnego miejsca, natomiast instrukcje modyfikujące pętle z góry narzucają miejsce, do którego nastąpi przekazanie sterowania, co w pewnym stopniu zwiększa czytelność programu (kodu źródłowego) w porównaniu do instrukcji skoku[17].

Przykład – pętla iteracyjna

Poniżej przykład pętli w języku Pascal:

var licznik : integer;

begin
  for licznik := 1 to 10 do
    WriteLn('Wiersz numer ', licznik);
end.

Przykład w C++ jako wariant pętli ogólnej:

for (int i = 0; i < 10; ++i)
  std::cout << i << "-ta iteracja." << std::endl;

Przykład w C jako wariant pętli ogólnej:

int i;

for (i = 0; i < 10; ++i)
  printf("%d-ta iteracja.\n", i);

Przykład w PHP:

for ($i = 0; $i < 10; ++$i)
  echo $i . "-ta iteracja.<br />\n";

Przykład w JavaScripcie:

var i;

for (i = 0; i < 10; ++i)
  document.write(i + "-ta iteracja.<br />");

Przykład w VB6 z Textboxem

Dim i As Integer
Text1.Text = ""

For i = 0 To 10
  Text1.Text = Text1.Text & i
Next i

Przykład w VB6 z Debugwindow

Dim i As Integer

For i = 0 To 10
  Debug.Print i
Next i

Przykład w Pythonie:

for i in range(1, 10):
  print(i, '. iteracja', sep = '')

Pętle w językach programowania

Pętle w językach programowania
język programowania pętla specjalne konstrukcje modyfikujące pętle
iteracyjna repetycyjna ogólna po kolekcji powtórzeniowa złożona nieskończona opuszczenia kontynuacji powtórzenia pomijania
ABAP[18]
Ada[3][19]
ALGOL 60[7][20][21]
ALGOL 68[7][22]
APL[a][23]
AWK[24]
B[25]
Basic[26][27][28][29] N | T[b]
BCPL[30] N | T[c]
Boo[31]
C[4][5][6][32] [d]
C++[6] [d]
C--[a][33]
C#[34][35]
Clipper[36]
Cobol[8][37]
Comal[26]
D[38][39][40]
dBase[41][42], FoxBase[41]
Eiffel[43][44][45]
Forth[e][12][13][26][46][47] N | T[c]
Fortran IV, 66[7][20]
Fortran 77[48]
Fortran 90/95[49][50][51]
Icon[14]
Java[52][53][54]
JavaScript[55][56]
Jean[9][10]
Logo[26][11]
MCPL[57] N | T[c]
Modula-2[58]
Oberon[59]
Pascal[26][1][2]
Perl[60][61][62]
PHP[63][64][65]
PL/I[7][15][16]
PL/M[66][67]
Prolog[f][26][68]
Python[69][70][71][72]
REXX[73][74] N | T
Ruby[75][76][77][78]
Simula 67[79]
Snobol[f][80]
Turbo Pascal[2]
Visual Basic[81][82], VBA[83]

Uwagi

  1. a b W językach niskiego poziomu oraz asemblerowych językach wysokiego poziomu, oraz innych nielicznych językach, przy braku odpowiednich konstrukcji specjalnych (np. braku instrukcji pętli), programowanie odpowiedniego sterowania realizuje się w kodzie źródłowym za pomocą innych konstrukcji sterujących, np. instrukcji warunkowych i skoku; jest to także możliwe w pozostałych językach programowania (także w tych, w których dostępne są odrębne konstrukcje, takie jak instrukcje pętli), lecz przez literaturę przedmiotu zdecydowanie niezalecane.
  2. Od momentu opracowania języka Basic powstało wiele jego implementacji i wersji różniących się między sobą. Duża część tych implementacji, szczególnie wczesnych, nie zawierała w swoim repertuarze konstrukcji pętli repetycyjnej. Dopiero kolejne wersje języka zawierały pętle warunkowe np. while warunek ... wend, która jako zaszłość w Visual Basic-u została zastąpiona konstrukcją do ... loop.
  3. a b c Dana konstrukcja modyfikująca działanie pętli w określonym języku jest dostępna wyłącznie dla wybranego rodzaju pętli, a nie dostępna dla pozostałych rodzajów.
  4. a b W językach C, C++ i pochodnych, istnieje pętla for(;;), za pomocą której można realizować pętle iteracyjne w zbliżony sposób jak w pętli iteracyjnej, lecz jest to pętla bardziej ogólna, na niższym poziomie abstrakcji, w którym implementacja działań wymaganych dla pętli iteracyjnej należy do programisty, jawnie w kodzie źródłowym, w związku z czym literatura przedmiotu nie zalicza tego rodzaju pętli do tej kategorii konstrukcji programistycznych jakim są pętle iteracyjne.
  5. Jedną z podstawowych idei języka FORTH jest jego rozszerzalność. W języku tym można więc definiować (za pomocą instrukcji niskopoziomowych skoków warunkowych i bezwarunkowych, o adresacji bezwzględnej i względnej) nowe instrukcje sterujące, w tym instrukcje pętli oraz instrukcje modyfikujące działanie pętli. Zdefiniowane instrukcje poddawane są natychmiastowej kompilacji, umieszczane we wskazanym słowniku i dostępne tak samo jak standardowe instrukcje sterujące. Można więc stworzyć nowe instrukcje obejmujące pozostałe przypadki pętli i instrukcji modyfikujących.
  6. a b W językach takich jak Snobol czy Prolog realizacja wielokrotnych operacji wykonywana jest automatycznie przez odpowiedni mechanizm: w Snobolu jest to mechanizm uzgadniania z wzorcem oraz skoki warunkowe i bezwarunkowe, w Prologu jest to aparat wnioskowania, którego działanie może być modyfikowane przez specjalne predykaty, ich działanie jest analogiczne do odpowiednich instrukcji dostępnych w imperatywnych językach programowania, a tym samym mają (np. w Turbo Prolog) analogiczne nazwy (identyfikatory).

Przypisy

  1. a b c d Michał Iglewski, Jan Madey, Stanisław Matwin, Pascal. Język wzorcowy – Pascal 360, wyd. trzecie – zmienione, Warszawa: Wydawnictwa Naukowo-Techniczne, 1984 (Biblioteka Inżynierii Oprogramowania), ISBN 83-85060-53-7, ISSN 0867-6011 (pol.).
  2. a b c d e Andrzej Marciniak, Borland Pascal 7.0, Poznań: Nakom, 1994 (Biblioteka Użytkownika Mikrokomputerów), ISBN 83-85060-53-7, ISSN 0867-6011 (pol.).
  3. a b c d A. Nico Habermann, Dewayne E. Perry: Ada dla zaawansowanych. Warszawa: Wydawnictwa Naukowo-Techniczne, 1989, seria: Biblioteka Inżynierii Oprogramowania. ISBN 83-204-1058-4. (pol.).
  4. a b c d e Brian W. Kernighan, Dennis M. Ritche: Język C. Warszawa: Wydawnictwa Naukowo-Techniczne, 1988, seria: Biblioteka Inżynierii Oprogramowania. ISBN 83-204-1067-3. (pol.).
  5. a b c d e Jan Bielecki: Turbo C z grafiką na IBM PC. Warszawa: Wydawnictwa Naukowo-Techniczne, 1990, seria: Mikrokomputery. ISBN 83-204-1101-7. (pol.).
  6. a b c d e f Jan Bielecki: Od C do C++, programowanie obiektowe w języku C. Warszawa: Wydawnictwa Naukowo-Techniczne, 1990. ISBN 83-204-1332-X. (pol.).
  7. a b c d e John E. Nicholls: Struktura języków programowania. Warszawa: Wydawnictwa Naukowo-Techniczne, 1980, seria: Informatyka. ISBN 83-204-0246-8. (pol.).
  8. a b Eugeniusz Kurzydrem, Andrzej Macieliński, Urszula Szmidt, Eugeniusz Więcek: COBOL. Język programowania. Wyd. drugie. Warszawa: Państwowe Wydawnictwo Ekonomiczne, 1978. (pol.).
  9. a b Jerzy Bettek, Bronisław Rudak, Barbara Rudakowa: Język konwersacyjny JEAN. Wrocław: Wydawnictwo Politechniki Wrocławskiej, 1975, seria: Skrypt wydany w serii Biblioteka WASC. (pol.).
  10. a b Kazimierz Orlicz: Język konwersacyjny JEAN z elementami programowania w Fortranie. Wrocław: Wydawnictwo Politechniki Wrocławskiej, 1977, seria: Skrypt wydany w serii Biblioteka WASC. (pol.).
  11. a b Stanisław Waligórski: LOGO na Sinclair Spectrum. Instytut Wydawniczy Związków Zawodowych, seria: Seria 12+12=102. (pol.).
  12. a b Jan Bielecki: Język FORTH. Warszawa: Wydawnictwa Naukowo-Techniczne, 1988, seria: Mikrokomputery. ISBN 83-204-0930-6. (pol.).
  13. a b Jan Ruszczyc: Poznajemy FORTH. Warszawa: SOETO, 1987, seria: Informatyka mikrokomputerowa. (pol.).
  14. a b Ralph E. Griswold, Madge T. Griswold: Icon. Warszawa: Wydawnictwa Naukowo-Techniczne, 1987, seria: Biblioteka Inżynierii Oprogramowania. ISBN 83-204-0871-7. (pol.).
  15. a b Jan Bielecki: Rozszerzony PL/I i JCL w systemie OS/RIAD. Warszawa: Państwowe Wydawnictwo Naukowe, 1986, seria: Biblioteka Informatyki. ISBN 83-01-06146-4. (pol.).
  16. a b M. I. Auguston i inni: Programowanie w języku PL/1 OS JS. Warszawa: Państwowe Wydawnictwo Naukowe, 1988. ISBN 83-01-07463-9. (pol.).
  17. Michael Marcotty, Henry Ledgord, tłumaczenie: Krystyna Jerzykiewicz: W kręgu języków programowania. Warszawa: Wydawnictwa Naukowo-Techniczne, 1980, seria: Biblioteka Inżynierii Oprogramowania. ISBN 83-204-1342-7. (pol.).
  18. Loops. [w:] ABAP Programming (BC-ABA) [on-line]. help.sap.com – SAP Library. [dostęp 2011-08-03]. (ang.).
  19. Michał Morawski, Antoni M. Zajączkowski: Wstep do programowania w języku Ada’95. Wyd. drugie. Łódź: 2004. [dostęp 2011-01-29]. (pol.).
  20. a b Joanna Jonkisz, Jan Makuch, Stanisław Starzak: Programowanie w językach Algol 60 i Fortran 1900. Łódź: Wydawnictwo Politechniki Łódzkiej, Politechnika Łódzka, Ośrodek Elektronicznej Techniki Obliczeniowej, 1982, seria: Skrypty dla szkół wyższych. (pol.).
  21. PN-75/T-42110, Język programowania Algol 60, Wydawnictwa Normalizacyjne (Polski Komitet Normalizacyjny), Warszawa 1976, opracowanie Polskiej Normy: Jowita Koncewicz, Maria Łącka, Instytut Maszyn Matematycznych w Warszawie.
  22. Jan Małuszyński, Krzysztof Pisecki, A. van Wijngaarden, B.J. Mailloux, J.E.L. Peck, C.H.A. Koster, M. Sintzoff,.H. Lindsey, L.G.L.T. Meertens, R.G. Fisker, w tłumaczeniu Jana Małuszyńskiego i Krzysztofa Piseckiego: Algol 68. Wprowadzenie do języka Algol 68. Zmieniony raport o języku algorytmicznym Algol 68. Warszawa: Wydawnictwa Naukowo-Techniczne, 1980, seria: Informatyka. ISBN 83-204-0161-5. (pol.).
  23. Andrzej Jerzy Krzysztof Plewic: Język programowania APL/360. Warszawa: Wydawnictwa Naukowo-Techniczne, 1977, seria: Biblioteka informatyki. (pol.).
  24. Tomasz Przechlewski: Opis języka AWK. pinkaccordions.homelinux.org, 2001–2007. [dostęp 2011-08-03]. (pol.).
  25. B. W. Kernighan: A TUTORIAL INTRODUCTION TO THE LANGUAGE B. cm.bell-labs.com – Bell Laboratories, Murray Hill, New Jersey. [dostęp 2011-08-03]. [zarchiwizowane z tego adresu (2008-05-15)]. (ang.).
  26. a b c d e f Mike Ducka, tłumaczenie: Marcin Turski: Języki mikrokomputerów. Przewodnik dla początkujących. Basic, Pascal, Logo, Prolog, Comal, Forth. Warszawa: Wydawnictwa Naukowo-Techniczne, 1988. ISBN 83-204-0966-7. (pol.).
  27. Zbigniew Czech, Krzysztof Nałęcki, Stanisław Wołek: Programowanie w języku BASIC. Wyd. drugie uzupełnione. Warszawa: Wydawnictwa Naukowo-Techniczne, 1985. ISBN 83-204-0776-1. (pol.).
  28. Wacław Iszkowski: Nauka programowania w języku BASIC dla początkujących. Warszawa: Wydawnictwa Naukowo-Techniczne, 1987, seria: Mikrokomputery. ISBN 83-204-0834-2. (pol.).
  29. Małgorzata Kalinowska-Iszkowska, Wacław Iszkowski: Klucze do Basicu, Amstrad – Schneider, Apple II, IBM PC, ZX Spectrum (Plus). Warszawa: Wydawnictwa Naukowo-Techniczne, 1987, seria: Mikrokomputery. ISBN 83-204-0809-1. (pol.).
  30. Martin Richards: The BCPL Cintsys and Cintpos User Guide. Cambridge: Computer Laboratory University of Cambridge, January 28, 2011. [dostęp 2011-01-31]. (ang.).
  31. Loops. [w:] BOO – Language Guide [on-line]. boo.codehaus.org. [dostęp 2011-08-03]. (ang.).
  32. C Reference Card (ANSI). www.digilife.be. s. 2. [dostęp 2011-08-08]. [zarchiwizowane z tego adresu (2011-08-07)]. (ang.).
  33. Norman Ramsey, Simon Peyton Jones, Christian Lindig: The C-- Language Specification, Version 2.0 (CVS Revision 1.128). www.cminusminus.org, 23 lutego 2005. s. 65. [dostęp 2011-08-03]. (ang.).
  34. Podręcznik języka C# na Wikibooks.
  35. C# Language Specification ECMA-334. www.ecma-international.org – ECMA International, 4th Edition / June 2006. s. 553. [dostęp 2011-08-03]. (ang.).
  36. Wojciech Rogowski, Arkadiusz Serodziński: Clipper 5.0. Warszawa: Wydawnictwo PLJ, 1991. ISBN 83-85190-20-1. (pol.).
  37. Gary Cutler: OpenCOBOL 1.1 [06FEB2009 Version Programmer’s Guide]. /opencobol.add1tocobol.com, 2010-09-17. s. 259. [dostęp 2011-08-08]. (ang.).
  38. Podręcznik języka D na Wikibooks.
  39. Table of Contents – D Programming Language. www.digitalmars.com – DIGITAL MARS. [dostęp 2011-08-04]. (ang.).
  40. Statements. [w:] Language Reference – D Programming Language [on-line]. www.d-programming-language.org. [dostęp 2011-08-04]. (ang.).
  41. a b Tadeusz Mykowiecki: dBase, FoxBase, bazy danych. Warszawa: Wydawnictwa Naukowo-Techniczne, 1992. ISBN 83-204-1345-1. (pol.).
  42. Piotr J. Jasiński, Zbigniew Królikowski, Jacek Szulczyński, Mikrokomputerowe bazy danych z programowaniem w dBase IV, Warszawa, Poznań 1992 (Biblioteka Użytkownika Mikrokomputerów; tom 7), ISBN 83-85060-44-8, ISSN 0867-6011 (pol.).
  43. Bertrand Meyer: CEiffel*: A Language and Environment for Software Engineering. citeseerx.ist.psu.edu – Interactive Software Engineering Inc., Goleta, California. s. 48. [dostęp 2011-08-03]. (ang.).
  44. Loop: the only construct for iterative computation. [w:] Syntax diagrams SmartEiffel [on-line]. smarteiffel.loria.fr. [dostęp 2011-08-03]. (ang.).
  45. Bertrand Meyer: Eiffel: Analysis, Design and Programming Language; Standard ECMA-367. www.ecma-international.org – ECMA International, 2nd Edition / June 2006. s. 194. [dostęp 2011-08-03]. (ang.).
  46. FORTH Standards Team: FORTH – 79. mywebspace.wisc.edu; FORTH Interest Group, 1980. s. 50. [dostęp 2011-08-05]. [zarchiwizowane z tego adresu (2011-07-13)]. (ang.).
  47. 12. REQUIRED WORD SET. [w:] FORTH-83 STANDARD [on-line]. forth.sourceforge.net, 1983. [dostęp 2011-08-05]. (ang.).
  48. Ryszard K. Kott, Krzysztof Walczak: Programowanie w języku Fortran 77. Warszawa: Wydawnictwa Naukowo-Techniczne, 1991. ISBN 83-204-1362-1. (pol.).
  49. Podręcznik języka Fortran na Wikibooks.
  50. Michael Goerz: Fortran 90 Reference Card. michaelgoerz.net, 2008. s. 2. [dostęp 2011-08-04]. (ang.).
  51. WORKING DRAFT J3/97-007R2. j3-fortran.org, 21 października 1997. s. 376. [dostęp 2011-08-04]. [zarchiwizowane z tego adresu (2011-08-18)]. (ang.).
  52. Artur Tyloch: Kurs Java. Opis języka, składni. Polski podręcznik.. www.webdeveloper.pl. [dostęp 2011-08-04]. (pol.).
  53. Language Basics. [w:] The Java Tutorials [on-line]. download.oracle.com – ORACLE. [dostęp 2011-08-04]. (ang.).
  54. Jialong He: JAVA Quick Reference. www.digilife.be. s. 3. [dostęp 2011-08-08]. (ang.).
  55. Wojciech Romowicz: HTML i JavaScript. HELION, 1998. ISBN 83-7197-046-3. (pol.).
  56. Kurs języka JavaScript. Poradnik Webmastera. [dostęp 2011-02-09]. [zarchiwizowane z tego adresu (2011-09-27)]. (pol.).
  57. Martin Richards: The MCPL Programming Manual and User Guide. Cambridge: Computer Laboratory University of Cambridge, May 23, 2007. [dostęp 2011-01-31]. (ang.).
  58. Niklaus Wirth, Modula 2, Warszawa: Wydawnictwa Naukowo-Techniczne, 1987 (Biblioteka Inżynierii Oprogramowania), ISBN 83-204-0828-8, ISSN 0867-6011 (pol.).
  59. H. Mössenböck, N. Wirth: 9. Statements. [w:] The Programming Language Oberon-2 [on-line]. www-vs.informatik.uni-ulm.de:81 – Institut für Computersysteme, ETH Zürich, October 1993. [dostęp 2011-08-02]. (ang.).
  60. Podręcznik języka Perl na Wikibooks.
  61. Loop Control. [w:] Perl 5 version 14.1 documentation – Language reference [on-line]. perldoc.perl.org. [dostęp 2011-08-03]. (ang.).
  62. Michael Goerz: Perl Reference Card. michaelgoerz.net, 2008. s. 2. [dostęp 2011-08-04]. (ang.).
  63. Podręcznik języka PHP na Wikibooks.
  64. Podręcznik PHP. www.php.net. [dostęp 2011-08-03]. (ang.).
  65. Steven R. Gould: PHP 4 Reference Card. www.digilife.be. s. 2. [dostęp 2011-08-08]. (ang.).
  66. Jan Bielecki: PL/M język programowania mikroprocesorów. Wyd. drugie uzupełnione. Warszawa: Wydawnictwa Komunikacji i Łączności, 1987, seria: Elektronizacja. zeszyt 25. (pol.).
  67. Jan Bielecki: System operacyjny ISIS-II. Warszawa: Wydawnictwa Naukowo-Techniczne, 1987, seria: Mikrokomputery. ISBN 83-204-0893-8. (pol.).
  68. Janusz Szajna, Marian Adamski, Tomasz Kozłowski: Turbo Prolog. Programowanie w języku logiki. Warszawa: Wydawnictwa Naukowo-Techniczne, 1991, seria: Mikrokomputery. ISBN 83-204-1395-8. (pol.).
  69. Podręcznik języka Phyton na Wikibooks.
  70. Michael Goerz: Phyton 2.5 Reference Card. michaelgoerz.net, 2009. s. 2. [dostęp 2011-08-04]. (ang.).
  71. The Python Language Reference 2.7. docs.python.org, 4 sierpnia 2011. [dostęp 2011-08-04]. (ang.).
  72. Laurent Pointal: Python 2.4 Quick Reference Card. www.digilife.be. s. 18. [dostęp 2011-08-08]. (ang.).
  73. The REXX language. killbox.pl. [dostęp 2011-08-02]. [zarchiwizowane z tego adresu (2016-03-04)]. (ang.).
  74. Open Object Rexx™: Reference. www.oorexx.org. [dostęp 2011-08-02]. [zarchiwizowane z tego adresu (2015-08-29)]. (ang.).
  75. Podręcznik języka Ruby na Wikibooks.
  76. Iterators. [w:] Ruby User’s Guide [on-line]. www.rubyist.net. [dostęp 2011-08-04]. (ang.).
  77. Containers, Blocks, and Iterators. [w:] Programming Ruby. The Pragmatic Programmer’s Guide [on-line]. www.ruby-doc.org – Documenting the Ruby Language. [dostęp 2011-08-04]. (ang.).
  78. Ruby Language QuickRef. www.digilife.be. s. 2. [dostęp 2011-08-08]. (ang.).
  79. Hanna Oktaba, Wiesław Ratajczak: Simula 67. Warszawa: Wydawnictwa Naukowo-Techniczne, 1990, seria: Biblioteka Inżynierii Oprogramowania. ISBN 83-204-0128-3. (pol.).
  80. Paweł Gizbert-Studnicki, Jerzy Kaczmarczuk: Snobol4. Warszawa: Wydawnictwa Naukowo-Techniczne, 1984, seria: Biblioteka Inżynierii Oprogramowania. ISBN 83-204-0546-7. (pol.).
  81. Podręcznik Visual Basic na Wikibooks.
  82. VB.NET Quick Reference. www.digilife.be, 2006. s. 1. [dostęp 2011-08-08]. (ang.).
  83. John Walkenbach: Excel 2003 PL. Programowanie w VBA. HELION, 2004. ISBN 837361-504-0. (pol.).

Read other articles:

Ini adalah nama Dayak (Benuaq), nama keluarganya adalah Rampan Korrie Layun RampanLahir(1953-08-17)17 Agustus 1953Samarinda, Kalimantan TimurMeninggal19 November 2015Pekerjaanredaktur, penulis, kritikus sastra, politisiKebangsaanIndonesiaGenrepuisi, novel, cerita anak, kritik sastraAliran sastra1970-anPenghargaanSayembara Novel Dewan Kesenian Jakarta, 1976 dan 1998, dllKerabatDari Negeri Poci Korrie Layun Rampan (17 Agustus 1953 – 19 November 2015)[1] adalah seora...

 

Basilika Bunda BiaraBasilika Minor Bunda BiaraPortugis: Basilica de Nossa Senhora da Abadiacode: pt is deprecated Basilika Bunda BiaraLokasiUberabaNegara BrasilDenominasiGereja Katolik RomaArsitekturStatusBasilika minorStatus fungsionalAktif Basilika Bunda Biara (Portugis: Basilica de Nossa Senhora da Abadiacode: pt is deprecated ) adalah sebuah gereja basilika minor Katolik yang terletak di Uberaba, Brasil. Basilika ini ditetapkan statusnya pada tahun 2020 dan didedikasikan kepada Bunda...

 

artikel ini perlu dirapikan agar memenuhi standar Wikipedia. Tidak ada alasan yang diberikan. Silakan kembangkan artikel ini semampu Anda. Merapikan artikel dapat dilakukan dengan wikifikasi atau membagi artikel ke paragraf-paragraf. Jika sudah dirapikan, silakan hapus templat ini. (Pelajari cara dan kapan saatnya untuk menghapus pesan templat ini) Windows NTPerusahaan / pengembangMicrosoftModel sumberSumber tertutup / Sumber berbagiKernel typeHibridaAntarmuka bawaanAntarmuka pengguna gr...

Rancher and member of the Cochise County Cowboys, Arizona Territory (1847–1887) Ike ClantonIke Clanton, c.1881. Photo by C. S. Fly.BornJoseph Isaac Clantonc. 1847Callaway County, Missouri, United StatesDiedJune 1, 1887(1887-06-01) (aged 39–40)Springerville, Arizona Territory, United StatesCause of deathGunshot woundNationalityAmericanOccupation(s)Ranch hand, miner, outlaw, rustlerCriminal statusFelony not indictedParent(s)Newman Haynes Clanton and Mariah Sexton KelsoRelativesBro...

 

Questa voce o sezione sull'argomento televisione non cita le fonti necessarie o quelle presenti sono insufficienti. Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti. Segui i suggerimenti del progetto di riferimento. Il teletext della ZDF, televisione tedesca Il teletext o teletesto[1] è un servizio non interattivo implementato nella televisione moderna ed erogato da una emittente televisiva. In Italia viene collo...

 

5th Lieutenant Governor of Washington Charles Edward CoonCoon in 19075th Lieutenant Governor of WashingtonIn officeJanuary 11, 1905 – January 13, 1909GovernorAlbert E. MeadPreceded byHenry McBrideSucceeded byMarion E. Hay Personal detailsBorn(1842-03-15)March 15, 1842Allegany County, New York, U.S.DiedAugust 1, 1920(1920-08-01) (aged 78)Port Townsend, Washington, U.S.Political partyRepublicanSignature Charles Edward Coon (March 15, 1842 – August 1, 1920) was a Republican...

† Человек прямоходящий Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:Синапсиды�...

 

Single by Rae Sremmurd featuring Travis Scott CloseSingle by Rae Sremmurd featuring Travis Scottfrom the album SR3MM ReleasedApril 18, 2018GenreTrapLength3:13LabelEarDrummersInterscopeSongwriter(s)Khalif BrownAaquil BrownJacques WebsterMichael WilliamsSamuel GloadeProducer(s)Mike Will Made It30 RocRae Sremmurd singles chronology Chanel (2018) Close (2018) Hands On Me (2018) Travis Scott singles chronology Krippy Kush (Travis Scott Remix)(2017) Close(2018) Love Hurts(2018) Music videoC...

 

English writer, diplomat, and politician (1568–1639) Not to be confused with Henry Wotton, English translator poet. For the fictional character, see The Picture of Dorian Gray. Sir Henry WottonSir Henry Wotton, Government Art Collection, London.Chief Secretary for IrelandIn office1599–1599Preceded byPhilip WilliamsSucceeded byFrancis Mitchell Personal detailsBorn30 March 1568DiedDecember 1639 (aged 71) Sir Henry Wotton (/ˈwʊtən/; 30 March 1568 – December 1639) was an English author, ...

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Vice President of Chile – news · newspapers · books · scholar · JSTOR (May 2018) (Learn how and when to remove this message) Acting head of state and of government post in Chile's constitution Vice President of the Republic of ChileVicepresidente de la Repúbli...

 

Reservoir in Quebec, Canada This article appears to contradict the article List of reservoirs by volume. Please discuss at the talk page and do not remove this message until the contradictions are resolved. (September 2019) You can help expand this article with text translated from the corresponding article in French. (June 2014) Click [show] for important translation instructions. View a machine-translated version of the French article. Machine translation, like DeepL or Google Translat...

 

此条目序言章节没有充分总结全文内容要点。 (2019年3月21日)请考虑扩充序言,清晰概述条目所有重點。请在条目的讨论页讨论此问题。 哈萨克斯坦總統哈薩克總統旗現任Қасым-Жомарт Кемелұлы Тоқаев卡瑟姆若马尔特·托卡耶夫自2019年3月20日在任任期7年首任努尔苏丹·纳扎尔巴耶夫设立1990年4月24日(哈薩克蘇維埃社會主義共和國總統) 哈萨克斯坦 哈萨克斯坦政府...

American professional wrestler This article is about the American professional wrestler. For the South African airline, see Velvet Sky (airline). Velvet SkySky in 2010Birth nameJamie Lynn Szantyr[1]Born (1981-06-02) June 2, 1981 (age 43)[1]New Britain, Connecticut, U.S.[2]Professional wrestling careerRing name(s)Miss Talia[1]Talia[3]Talia Doll[1]Talia Madison[1]Velvet Sky[4]Billed height5 ft 6 in (1.68 m)[...

 

History of the United States Republican Party For information about the current Republican Party, including its current composition and ideology, as well as a concise history of the party, see Republican Party (United States). Republican Party ChairpersonMichael WhatleyGoverning bodyRepublican National CommitteeFoundersAlvan E. Bovay[1]Henry J. Raymond[2] ... and others Horace Greeley John C. Frémont Francis P. Blair Edwin D. Morgan Amos Tuck Salmon P. Chase FoundedMarch...

 

  لمعانٍ أخرى، طالع الغضب (توضيح). الغضب (رواية)معلومات عامةالمؤلف ستيفن كينغ اللغة الإنجليزية العنوان الأصلي Rage (بالإنجليزية) البلد  الولايات المتحدة النوع الأدبي إثارة نفسيةرواية قصيرةرواية إثارة الناشر المكتبة الأمريكية الجديدة تاريخ الإصدار 13 سبتمبر 1977 التقدي...

Elisabeth Charlotte Pauli , née le 24 septembre 1906 à Cologne, morte le 24 octobre 1984 à Francfort-sur-le-Main, est une femme peintre et ethnologue allemande. À partir de 1933, elle travaille comme dessinatrice scientifique et assistante de l'ethnologue et archéologue allemand Leo Frobenius puis, après la mort de celui-ci en 1938, une des animatrices de l'Institut Frobenius à Francfort. Origines et éducation Elisabeth Charlotte Pauli, appelée Lotte (Charlotte) par sa famille mais q...

 

Sungai BaritoSungai Dusun, Soengai Doesoen, River Banjer, Sungi Dunsun, Soengai Baritoe, Barito-rivier, Sungai Banjar, Sungai Banjarmasin, Sungai Banjar BesarJembatan BaritoLokasiNegaraIndonesiaProvinsiKalimantan Tengah, Kalimantan SelatanCiri-ciri fisikHulu sungaiPegunungan Muller - lokasiKalimantan Tengah Muara sungaiLaut Jawa - lokasiKalimantan SelatanPanjang909 km (565 mi)Lebar  - rata-rata800 m (2.600 ft) - maksimum1.000...

 

Updraft carburettor fitted to the engine of a 1923 Nash automobile An updraft carburetor is a type of carburetor in which the air flows upward within the device.[1] Other types are downdraft and sidedraft.[2] An updraft carburetor was the first type in common use.[3] In it air flows upward into the venturi to mix with the fuel.[2] An updraft carburetor may need a drip collector.[4] See also Pressure carburetor Fuel injection References ^ Collector Car R...

Processes and procedures that occur between the creation of a print layout and the final printing Prepress is the term used in the printing and publishing industries for the processes and procedures that occur between the creation of a print layout and the final printing. The prepress process includes the preparation of artwork for press, media selection, proofing, quality control checks and the production of printing plates if required. The artwork is quite often provided by the customer as ...

 

Wierre-Effroy L'église Saint-Pierre. Blason Administration Pays France Région Hauts-de-France Département Pas-de-Calais Arrondissement Boulogne-sur-Mer Intercommunalité Communauté de communes de la Terre des Deux Caps Maire Mandat Jean-Pierre Louvet 2020-2026 Code postal 62720 Code commune 62889 Démographie Gentilé Wierrois Populationmunicipale 856 hab. (2021 ) Densité 45 hab./km2 Géographie Coordonnées 50° 46′ 44″ nord, 1° 44′ 21″ ...