Latex Algorytmy i Listingi

Podobne dokumenty
Komputerowy skład w L A T E X

Tekst oblewający literę. Tekst oblewający literę. Tekst oblewający. Pakiety wrapfig i listings. 1. Pakiet wrapfig. 21 marca 2015

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Podstawowe algorytmy i ich implementacje w C. Wykład 9

Programowanie. Projektowanie funkcje programu tworzenie algorytmu i struktur danych. Programowanie implementacja algorytmu kompilacja programu

Języki skryptowe w programie Plans

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Technologie cyfrowe semestr letni 2018/2019

Programowanie Proceduralne

Programowanie I. Wprowadzenie. Proces programowania

DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0

Informatyka na UG... Witold Bołt

2.8. Algorytmy, schematy, programy

INSTRUKCJA ITERACYJNA REPEAT. repeat Instrukcja_1; Instrukcja_2; {... } Instrukcja_N; until wyr ; INSTRUKCJA ITERACYJNA WHILE

Języki programowania Język programowania Język maszynowy Kod maszynowy

Wstęp do programowania

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Wstęp do programowania

INSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};

Wykład 4. Algorytmy i programy. Algorytmy + struktury danych = programy. Niklaus Wirth. Algorytm = logika + sterowanie.

Język PL/SQL Procedury i funkcje składowane

Zaawansowane metody programowania. Elementy struktury kodu - dyrektywy - biblioteki i moduły zewnętrzne - kompilacja kodu

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

Język programowania PASCAL

Wstęp do programowania. Różne różności

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Warsztaty dla nauczycieli

Podstawowe części projektu w Javie

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Programowanie obiektowe

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

Składowane procedury i funkcje

Wstęp do programowania

Instrukcje pętli przykłady. Odgadywanie hasła. 1) Program pyta o hasło i podaje adres, gdy hasło poprawne lub komunikat o błędnym haśle.

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje.

Microsoft IT Academy kurs programowania

20. Pascal i łączenie podprogramów Pascala z programem napisanym w C

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

L A T E X. Aleksander Denisiuk Uniwersytet Warmińsko-Mazurski Olsztyn, ul. Słoneczna 54 denisiuk@matman.uwm.edu.pl. 3 marca / 52

Kontrola przebiegu programu

Ćwiczenie 1. Wprowadzenie do programu Octave

Język ludzki kod maszynowy

Informatyka A. Algorytmy

GNU Octave (w skrócie Octave) to rozbudowany program do analizy numerycznej.

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors.

Bloki anonimowe w PL/SQL

Procedury i funkcje składowane

Przykładowa prezentacja

Część 4 życie programu

Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1

Języki programowania - podstawy

Programowanie RAD Delphi

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

Style programowania - krótki przeglad

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Należy ściągnąć oprogramowanie Apache na platformę

Właściwości i metody obiektu Comment Właściwości

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Ćwiczenie 1. Wprowadzenie do programu Octave

Stałe definiuje się używając funkcji define. Przykład: define( PODATEK, 22); define( INSTALACJAOS, 70); define( MS, Microsoft );

Informatyka 1. Przetwarzanie tekstów

Ściągawka z Matlaba / Octave

Wstęp do programowania

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Programowanie w języku Python. Grażyna Koba

ABC systemu L A TEX. Marcin SZPYRKA. 11 grudnia 2006

Program szkoleniowy. 24 h dydaktycznych (18 h zegarowych) NAZWA SZCZEGÓŁY CZAS

1 Podstawy c++ w pigułce.

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Wstęp do Informatyki i Programowania

Ćwiczenia 2 IBM DB2 Data Studio

Ilość cyfr liczby naturalnej

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Powtórka algorytmów. Wprowadzenie do języka Java.

I - Microsoft Visual Studio C++

Technologie Informacyjne

Pytanie 1. Pytanie 2. Pytanie 3 WOJEWÓDZKI KONKURS INFORMATYCZNY. Treść pytania

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

Algorytmy od problemu do wyniku

Wykład. Materiały bazują częściowo na slajdach Marata Dukhana

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

do MATLABa programowanie WYKŁAD Piotr Ciskowski

ECDL/ICDL Przetwarzanie tekstów Moduł B3 Sylabus - wersja 5.0

Wstęp do informatyki Paradygmaty programowania

System operacyjny Linux

Paradygmaty Programowania dr inŝ. Cezary Bolek

Przetwarzanie sygnałów

Informatyczna Wieża Babel, czyli o różnych językach programowania. Informatyczna Wieża Babel, czyli o różnych językach programowania

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

Analiza leksykalna 1. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

Transkrypt:

Latex Algorytmy i Listingi dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Komputerowy skład tekstu

Środowisko verbatim Domyślnym środowiskiem do wyświetlania kodu w L A T E X jest środowisko verbatim, które generuje wyjście za pomoca czcionki o stałej szerokości. \begin{verbatim} void SortowanieBabelkowe( int tab[], int size ) { for( int i = 0; i < size; i++ ) { for( int j = 0; j < size - 1; j++ ) { if( tab[ j ] > tab[ j + 1 ] ) swap( tab[ j ], tab[ j + 1 ] ); } } } \end{verbatim}

Środowisko verbatim void SortowanieBabelkowe( int tab[], int size ) { for( int i = 0; i < size; i++ ) { for( int j = 0; j < size - 1; j++ ) { if( tab[ j ] > tab[ j + 1 ] ) swap( tab[ j ], tab[ j + 1 ] ); } } }

Środowisko verbatim Drugim domyślnym środowiskiem do wyświetlania kodu w L A T E X jest środowisko verbatim*, które generuje wyjście za pomoca czcionki o stałej szerokości i specjalnie oznacza białe znaki. \begin{verbatim*} void SortowanieBabelkowe( int tab[], int size ) { for( int i = 0; i < size; i++ ) { for( int j = 0; j < size - 1; j++ ) { if( tab[ j ] > tab[ j + 1 ] ) swap( tab[ j ], tab[ j + 1 ] ); } } } \end{verbatim*}

Środowisko verbatim void SortowanieBabelkowe( int tab[], int size ) { for( int i = 0; i < size; i++ ) { for( int j = 0; j < size - 1; j++ ) { if( tab[ j ] > tab[ j + 1 ] ) swap( tab[ j ], tab[ j + 1 ] ); } } }

Listowanie programów Do listowania programów służy pakiet listings oraz środowisko lstlisting \begin{lstlisting}[language=python] n = int(input("podaj liczbe naturalna: ")) s = 0 for j in range(1, n + 1): print(" poziom ", j, " : ", s, "+", j, " = ") s = s + j print(s) print("suma liczb od 1 do", n, "wynosi", s) \end{lstlisting}

Listowanie programów n = i n t ( i n p u t ( " Podaj l i c z b e n a t u r a l n a : " ) ) s = 0 f o r j i n r a n g e ( 1, n + 1 ) : p r i n t ( " poziom ", j, " : ", s, "+", j, " = " ) s = s + j p r i n t ( s ) p r i n t ( "Suma l i c z b od 1 do ", n, " wynosi ", s )

Importowanie do listingu danych z pliku \lstinputlisting[language=python]{z2.py}

Importowanie do listingu danych z pliku i m p o r t math d e f main ( ) : n = i n t ( i n p u t ( " Podaj i l o s c l i c z b : " ) ) b = f l o a t ( i n p u t ( " Podaj k o l e j n a l i c z b e r z e c z y w i s t a : " ) ) f o r j i n r a n g e ( 0, n 1): a = f l o a t ( i n p u t ( " Podaj k o l e j n a l i c z b e r z e c z y w i s t a : " ) ) p r i n t ( a ) p r i n t ( b ) main ( )

Importowanie do listingu danych z pliku Wyświetlanie kodu od linii 3 do linii 9. \lstinputlisting[language=python, firstline=3, lastline=9]{z2.py}

Importowanie do listingu danych z pliku d e f main ( ) : n = i n t ( i n p u t ( " Podaj i l o s c l i c z b : " ) ) b = f l o a t ( i n p u t ( " Podaj k o l e j n a l i c z b e r z e c z y w i s t a : " ) ) f o r j i n r a n g e ( 0, n 1): a = f l o a t ( i n p u t ( " Podaj k o l e j n a l i c z b e r z e c z y w i s t a : " ) ) p r i n t ( a ) p r i n t ( b )

Importowanie do listingu danych z pliku \usepackage{color}... \definecolor{codegreen}{rgb}{0,0.6,0} \definecolor{codegray}{rgb}{0.5,0.5,0.5} \definecolor{codepurple}{rgb}{0.58,0,0.82} \definecolor{backcolour}{rgb}{0.95,0.95,0.92}...

Importowanie do listingu danych z pliku Komenda \lstdefinestyle{mystyle}{...} definiuje własny styl dla listingu. \lstdefinestyle{mystyle}{ backgroundcolor=\color{backcolour}, commentstyle=\color{codegreen}, keywordstyle=\color{magenta}, numberstyle=\tiny\color{codegray}, stringstyle=\color{codepurple}, basicstyle=\footnotesize, breakatwhitespace=false, breaklines=true, captionpos=b, keepspaces=true, numbers=left, numbersep=5pt, showspaces=false, showstringspaces=false, showtabs=false, tabsize=2 }

Importowanie do listingu danych z pliku Komenda \lstset{style=mystyle} umożliwia stosowanie zdefiniowanego przez siebie stylu do danego listingu. \lstset{style=mystyle} \lstinputlisting[language=python, firstline=3, lastline=9]{z2.py}

Importowanie do listingu danych z pliku 1 d e f main ( ) : 2 n = i n t ( i n p u t ( " Podaj i l o s c l i c z b : " ) ) 3 b = f l o a t ( i n p u t ( " Podaj k o l e j n a l i c z b e r z e c z y w i s t a : " ) ) 4 f o r j i n r a n g e ( 0, n 1) : 5 a = f l o a t ( i n p u t ( " Podaj k o l e j n a l i c z b e r z e c z y w i s t a : " ) ) 6 p r i n t ( a ) 7 p r i n t ( b )

Importowanie do listingu danych z pliku \lstset{style=mystyle} \begin{footnotesize} \lstinputlisting[language=python, firstline=3, lastline=9,caption=python example]{z2.py} \end{footnotesize}

Importowanie do listingu danych z pliku 1 d e f main ( ) : 2 n = i n t ( i n p u t ( " Podaj i l o s c l i c z b : " ) ) 3 b = f l o a t ( i n p u t ( " Podaj k o l e j n a l i c z b e r z e c z y w i s t a : " ) ) 4 f o r j i n r a n g e ( 0, n 1) : 5 a = f l o a t ( i n p u t ( " Podaj k o l e j n a l i c z b e r z e c z y w i s t a : " ) ) 6 p r i n t ( a ) 7 p r i n t ( b ) Listing 1: Python example

Lista języków wspierana przez pakiet listings Ada, Algol (60, 68), Ant, Assembler (Motorola68k, x86masm), Awk, bash, Basic, C (ANSI, Handel, Objective, Sharp), C++ (ANSI, GNU, ISO, Visual), Caml (light, Objective), CIL, Clean, Cobol (1974, 1985, ibm), Comal 80, command.com (WinXP), Comsol, csh, Delphi, Eiffel, Elan, erlang, Euphoria, Fortran (77, 90, 95), GCL, Gnuplot, Haskell, HTML, IDL (empty, CORBA), inform, Java (empty, AspectJ), JVMIS, ksh, Lingo, Lisp, Logo, make, Mathematica, Matlab, Mercury, MetaPost, Miranda, Mizar, ML, Modula-2, MuPAD, NASTRAN, Oberon-2, OCL (decorative, OMG), Octave, Oz, Pascal, Perl, PHP, PL/I, Plasm, PostScript, POV, Prolog, Promela, PSTricks, Python, R, Reduce, Rexx, RSL, Ruby, S (empty, PLUS), SAS, Scilab, sh, SHELXL, Simula (67, CII, DEC, IBM), SPARQL, SQL, tcl, TeX (AlLaTeX, common, LaTeX, plain, primitive), VBScript, Verilog, VHDL (empty, AMS), VRML, XML, XSLT.

Opcje, które można ustawić backgroundcolor - kolor tła. Wymagane pakiety: color or xcolor. commentstyle - styl dla komentarza. basicstyle - styl czcionki rozmiar/rodzina (np. basicstyle=\ttfamily\small) keywordstyle - styl dla słów kluczowych (np. keywordstyle=\color{red}) numberstyle - styl dla numerów linii numberserp - odległość numerów linii od kodu stringstyle - styl dla łańcuchów showspaces - wyróżnienie spacji w kodzie (true/false) showstringspaces - wyróżnienie spacji w łańcuchach (true/false)

Opcje, które można ustawić - cd. showtabs - wyróżnienie tabulatorów w kodzie (true/false) numbers - pozycja numerów linii (left/right/none, np. no line numbers) prebreak - wyświetlanie znaku końca linii (np. prebreak= ) captionpos - pozycja nagłówka (t/b) frame - pokazywanie ramki na zewnatrz kodu (none/leftline/topline/bottomline/lines/single/shadowbox) breakwhitespace - ustawiany, jeśli if automatyczne łamanie linii powinno wystapić tylko w miejscu białego znaku. breaklines - automatyczne łamanie linii. keepspaces - zachowuje wcięcia w kodzie tabsize - domyślny rozmiar tabulatora escapeinside - określa znak ucieczki z kodu źródłowego do L A T E X-a (np. escapeinside=%**)) rulecolor - określa kolor ramki

Pakiet algorithmic Pakiet algorithmic pozwala na formatowanie algorytmów za pomoca następujacych poleceń: \STATE <text> \IF{<warunek>}\STATE{<tekst>}\ELSE\STATE{<tekst>}\ENDIF \FOR{<warunek>}\STATE{<tekst>}\ENDFOR \FOR{<warunek>\TO<warunek>}\STATE{<tekst>}\ENDFOR \FORALL{<warunek>}\STATE{<tekst>}\ENDFOR \WHILE{<warunek>}\STATE{<tekst>}\ENDWHILE \REPEAT\STATE{<tekst>}\UNTIL{<condition>} \LOOP \STATE{<tekst>}\ENDLOOP \REQUIRE<tekst> \ENSURE<tekst> \RETURN<tekst> \PRINT<tekst>, \COMMENT{<tekst>} \AND, \OR, \XOR, \NOT, \TO, \TRUE, \FALSE

\begin{algorithmic}[1] \REQUIRE {tablica A o rozmiarze n} \COMMENT{A=[0,\ldots,n-1]} \FORALL{$i=0$ to $n-2$} \STATE $min = i$; \FORALL{$j=i+1$ to $n-1$} \IF {$A[j] < A[min]$} \STATE $min=j$; \ENDIF \STATE $j=j+1$; \ENDFOR \STATE {\bf zamiana (A, min, i)}; \STATE $i=i+1;$ \ENDFOR \end{algorithmic} Pakiet algorithmic - Sortowanie przez proste wybieranie

Pakiet algorithmic - Sortowanie przez proste wybieranie Require: tablica A o rozmiarze n {A=[0,...,n-1]} 1: for all i = 0 to n 2 do 2: min = i; 3: for all j = i + 1 to n 1 do 4: if A[j] < A[min] then 5: min = j; 6: end if 7: j = j + 1; 8: end for 9: zamiana (A, min, i); 10: i = i + 1; 11: end for

Pakiet algorithmic - Sortowanie przez wstawianie \begin{algorithmic}[1] \REQUIRE {tablica A o rozmiarze n} \COMMENT{A=[0,\ldots,n-1]} \FOR{$i=1$ to $n-1$} \STATE $key = A[i]$; \STATE $j = i-1$; \WHILE{$j\geq 0$ and $A[j] > key$} \STATE $A[j+1] = A[j]$; \STATE $j=j-1$; \ENDWHILE \STATE $A[j+1] = key$; \ENDFOR \end{algorithmic}

Pakiet algorithmic - Sortowanie przez wstawianie Require: tablica A o rozmiarze n {A=[0,...,n-1]} 1: for i = 1 to n 1 do 2: key = A[i]; 3: j = i 1; 4: while j 0 and A[j] > key do 5: A[j + 1] = A[j]; 6: j = j 1; 7: end while 8: A[j + 1] = key; 9: end for

Pakiet algorithm2e Podstawowe środowiska pakietu algorithm2e: algorithm - składa algorytmy algorithm* - składa algorytmy w trybie dwukolumnowym procedure - składa procedury procedure* - składa procedury w trybie dwukolumnowym function - składa funkcje function* - składa funkcje w trybie dwukolumnowym Podstawowa opcja pakietu to algo2e: \usepackage[algo2e]{algorithm2e} Inne opcje: noline - nie drukuje pionowej linii dla bloku. lined - drukuje pionowa linię dla bloku. vlined - pionowa zakrzywiona linia dla bloku.

Pakiet algorithm2e \KwIn{Całkowite $a \geq 0$ i $b \geq 0$} \KwOut{\textsc{NWD} z $a$ i $b$} \While{$b \neq 0$}{ $r \leftarrow a \bmod b$\; $a \leftarrow b$\; $b \leftarrow r$\; } \caption{algorytm Euklidesa}

Pakiet algorithm2e Input: Całkowite a 0 i b 0 Output: NWD z a i b while b 0 do r a mod b; a b; b r; end Algorithm 1: Algorytm Euklidesa

Pakiet algorithm2e - makra wejścia-wyjścia \KwIn{input} \KwOut{output} \KwData{input} \KwResult{output} Input: input Output: output Data: input Result: output

Pakiet algorithm2e - makra słów kluczowych \KwTo \KwRet{[value]} \Return{[value]} \Begin{block inside} to return [value] return [value] begin block inside end

Pakiet algorithm2e - makra komentarzy w stylu C \tcc{komentarz} \tcc*{right justified side comment} \tcc*[r]{komentarz wyrównany do prawej} \tcc*[l]{komentarz wyrównany do lewej} \tcc*[h]{komentarz wyrównany do lewej bez nowej linii} \tcc*[f]{komentarz wyrównany do prawej bez nowej linii}

Pakiet algorithm2e - makra komentarzy w stylu C /* komentarz */ ; /* right justified side comment */ ; /* komentarz wyrównany do prawej */ ; /* komentarz wyrównany do lewej */ /* komentarz wyrównany do lewej bez nowej linii */ /* komentarz wyrównany do prawej bez nowej linii */

Pakiet algorithm2e - makra komentarzy w stylu C++ \tcp{komentarz} \tcp*{right justified side comment} \tcp*[r]{komentarz wyrównany do prawej} \tcp*[l]{komentarz wyrównany do lewej} \tcp*[h]{komentarz wyrównany do lewej bez nowej linii} \tcp*[f]{komentarz wyrównany do prawej bez nowej linii}

Pakiet algorithm2e - makra komentarzy w stylu C++ // komentarz ; // right justified side comment ; // komentarz wyrównany do prawej ; // komentarz wyrównany do lewej // komentarz wyrównany do lewej bez nowej linii // komentarz wyrównany do prawej bez nowej linii

Pakiet algorithm2e - if \If{<warunek>} {<ciało if-a>} if <warunek> then <ciało if-a> end

Pakiet algorithm2e - if \uif{<warunek>} {<ciało if-a>} if <warunek> then <ciało if-a>

Pakiet algorithm2e - if \lif{<warunek>} {<ciało if-a>} if <warunek> then <ciało if-a>

Pakiet algorithm2e - if \Else {<ciało else>} else <ciało else> end

Pakiet algorithm2e - if \uelse {<ciało else>} else <ciało else>

Pakiet algorithm2e - if \lelse {<ciało else>} else <ciało else>

Pakiet algorithm2e - if \ElseIf{<warunek>} {<ciało else>} else if <warunek> then <ciało else> end

Pakiet algorithm2e - if \uelseif{<warunek>} {<ciało else>} else if <warunek> then <ciało else>

Pakiet algorithm2e - if \lelseif{<warunek>} {<ciało else>} else if <warunek> then <ciało else>

Pakiet algorithm2e - if \eif{<warunek>}{<blok if>}{<blok else>} if then <blok if> else <blok else> end

Pakiet algorithm2e - if \lif{<warunek>}{<blok if>}{<blok else>} if <warunek> then <blok if> <blok else>

Pakiet algorithm2e - if \uif{$a < 0$}{ \tcp{$a < 0$} } \uelseif{$a = 0$}{ \tcp{$a = 0$} } \lelse\eif{$a = 1$}{ \tcp{$a = 1$} } { \tcp{$a > 1$} } if a < 0 then // a < 0 else if a = 0 then // a = 0 else if a = 1 then // a = 1 else // a > 1 end

Pakiet algorithm2e \Switch{<warunek>} {<przypadki>} switch <warunek> do <przypadki> endsw

Pakiet algorithm2e \Case{<warunek>} {<przypadki>} \ucase{<warunek>} {<przypadki>} case <warunek> <przypadki> endsw case <warunek> <przypadki>

Pakiet algorithm2e \Case{<warunek>} {<przypadki>} \lcase{<warunek>} {<przypadki>} case <warunek> <przypadki> endsw case <warunek> <przypadki>

Pakiet algorithm2e \Other{<przypadki>} \lother{<przypadki>} otherwise <przypadki> endsw otherwise <przypadki>

Pakiet algorithm2e \For{<warunek>} {<ciało for>} \lfor{<warunek>} {<ciało for>} for <warunek> do <ciało for> end for <warunek> do <ciało for>

Pakiet algorithm2e \While{<warunek>} {<ciało while>} \lwhile{<warunek>} {<ciało while>} while <warunek> do <ciało while> end while <warunek> do <ciało while>

Pakiet algorithm2e \ForEach{<warunek>} {<ciało for>} \lforeach{<warunek>} {<ciało for>} foreach <warunek> do <ciało for> end foreach <warunek> do <ciało for>

Pakiet algorithm2e \ForAll{ <warunek> } {<ciało for>} \lforall{ <warunek> } {<ciało for>} forall the <warunek> do <ciało for> end forall the <warunek> do <ciało for>

Pakiet algorithm2e \Repeat{<warunek końcowy>} {<ciało repeat>} \lrepeat{<warunek końcowy>} {<ciało repeat>} repeat <ciało repeat> until <warunek końcowy>; repeat <ciało repeat> until <warunek końcowy>

Pakiet algorithm2e Więcej na temat pakietu algorithm2e można znaleźć na: ftp://ftp.gust.org.pl/tex/macros/latex/ contrib/algorithm2e/doc/algorithm2e.pdf