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

Podobne dokumenty
Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

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

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Pętla for. Wynik działania programu:

PL/SQL. Część 1 Bloki PL/SQL. Piotr Medoń

Bloki anonimowe w PL/SQL

Algorytmika i Programowanie VBA 1 - podstawy

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Kiedy i czy konieczne?

Podstawy Programowania C++

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Wykład 2 Składnia języka C# (cz. 1)

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel

Wprowadzenie do Scilab: podstawy języka Scilab

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ć

Podstawy programowania skrót z wykładów:

System operacyjny Linux

Bufor programu a roll area

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

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

Podstawowe części projektu w Javie

Systemy operacyjne 11

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

Programowanie w języku C++ Grażyna Koba

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

Automatyzacja pracy w AutoCAD

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

Programowanie w SQL. definicja bloku instrukcji BEGIN...END, warunkowe wykonanie instrukcji IF...ELSE, wyrażenie CASE,

1 Podstawy c++ w pigułce.

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];

Operacje logiczne i struktury sterujące.

LibreOffice Calc VBA

Bash - instrukcje warunkowe, pętle i funkcje

Instrukcje cykliczne (pętle) WHILE...END WHILE

Instrukcje sterujące. Programowanie Proceduralne 1

Podstawy Programowania Podstawowa składnia języka C++

PODSTAWY INFORMATYKI

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Podstawowe zapytania SELECT (na jednej tabeli)

Plan wykładu PL/SQL. PL/SQL - historia TWORZENIE APLIKACJI BAZODANOWYCH

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

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

1. ELEMENTY JĘZYKA PL/SQL

1 Podstawy c++ w pigułce.

Wprowadzenie do programowania w języku C

Autor: dr inż. Katarzyna Rudnik

2. Łańcuchy tekstowe w PHP

1 Wielokrotne powtarzanie tych samych operacji

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

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

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

Pętle. Dodał Administrator niedziela, 14 marzec :27

Pętle instrukcje powtórzeo

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

12. Skrypty w Linux - funkcje, instrukcje sterujące i obliczenia arytmetyczne

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

Wstęp do programowania

Informatyka 1. Przetwarzanie tekstów

Programowanie obiektowe

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

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

ForPascal Interpreter języka Pascal

Przykład 1 -->s="hello World!" s = Hello World! -->disp(s) Hello World!

41. Zmienne lokalne muszą mieć nazwę, którą poprzedza (maksymalnie 128 znaków) oraz typ (każdy z wyjątkiem: text, ntext oraz image)

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

Podstawy bioinformatyki 2017/18

Skrypty BASH a. Systemy Operacyjne 2. Mateusz Hołenko. 4 października 2012

PODSTAWY BAZ DANYCH 13. PL/SQL

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

Programowanie robota mobilnego E-puck w języku Python

Liczby losowe i pętla while w języku Python

Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2

Instrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53:

Język SQL. Rozdział 2. Proste zapytania

Plan wykładu BAZY DANYCH II WYKŁAD 3. Zasięg zmiennych. Zasięg zmiennych

Cw.12 JAVAScript w dokumentach HTML

Programowanie strukturalne i obiektowe

Narzędzia informatyczne w językoznawstwie

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Pętle. Programowanie komputerowe

W 5_2 Typy języków programowania sterowników PLC (zdefiniowane w IEC-61131) - języki graficzne (LD, FBD); języki tekstowe (ST, IL).

Podstawy programowania w języku C i C++

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.

while (test) instrukcja; int i=0; while (i<10) i++; dopóki test prawdziwy wykonuj instrukcję Wykonano: 35% / \ fałsz test prawda instrukcja

Podstawowe typy zmiennych

Struktury sterowania PL/SQL

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Instrukcje sterujące. Programowanie komputerowe

Analiza leksykalna 1. Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki

Serwer WWW Apache. Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, , zakończony projekt

Laboratorium Komputerowego Wspomagania Analizy i Projektowania

Pascal - wprowadzenie

Programowanie skryptów powłoki

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

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

Odczyt danych z klawiatury Operatory w Javie

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Transkrypt:

ABAP/4

Instrukcja IF Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. [ELSEIF warunek. ] [ELSE. ] ENDIF. gdzie: warunek dowolne wyrażenie logiczne o wartości TRUE lub FALSE - dowolny fragment kodu

Instrukcja IF właściwości IF musi być zakończone przez ENDIF. ELSE oraz ELSEIF są opcjonalne Można stosować złożone warunki, w których o kolejności wartościowania decydują nawiasy Klauzula IS INITIAL pozwala sprawdzić czy wartość zmiennej jest znakiem pustym (typ C) lub zerem (pozostałe typy) np. z1 IS INITIAL Klauzula IS NULL pozwala sprawdzić czy zmiennej nie przypisano żadnej wartości NOT musi poprzedzać warunek ELSEIF stosowana w celu uniknięcia zagnieżdżeń instrukcji IF

Operatory porównania Operatory: = lub EQ <> lub NE lub >< > lub GT < lub LT >= lub GE lub => <= lub LE lub =< z BETWEEN x AND y NOT z BETWEEN z AND y Operandy: zmienne literały łańcuchy pól traktowane jak zmienna typu C

Konwersja danych przy porównaniach Przy niezgodności typów przeprowadzana jest automatyczna konwersja według następującego algorytmu: 1. Jeśli jedno pole jest typu F, to pozostałe są konwertowane do typu F 2. Jeśli jedno pole jest typu P, to pozostałe są konwertowane do typu P 3. Jeśli jedno pole jest typu I, to pozostałe są konwertowane do typu I 4. Jeśli jedno pole jest typu D, to pozostałe są konwertowane do typu D, o ile nie są typu C lub N 5. Jeśli jedno pole jest typu T, to pozostałe są konwertowane do typu T, on ile nie są typu C lub N 6. Jeśli jedno jest typu N, to wszystkie pola są konwertowane do typu P 7. Jeśli jedno jest typu C, to pozostałe pola typu X są konwertowane do typu C Konwersje literałów: do typu I liczby do 9 cyfr do typu P liczby dłuższe niż 9 cyfr do typu C pozostałe literały Wyświetlanie miejsc występowania konwersji: z poziomu Edytora ABAP opcja Utilities Program Analysis

Operatory porównania łańcuchów znakowych Operator Opis Prawda gdy Wielkość liter Końcowe spacje z1 CO z2 contains only z1 składa się tylko ze znaków zawartych w z2 z1 CN z2 NOT z1 CO z2 z1 składa się ze znaków innych niż zawarte w z2 z1 CA z2 contains any z1 zawiera dowolny znak z z2 z1 NA z2 NOT z1 CA z2 z1 nie zawiera żadnego znaku z z2 ma znaczenie ma znaczenie ma znaczenie ma znaczenie ważne ważne ważne ważne z1 CS z2 contains string z1 zawiera podciąg z2 bez znaczenia pomijane z1 NS z2 NOT z1 CS z2 z1 nie zawiera podciągu z2 bez znaczenia pomijane z1 CP z2 contains pattern z1 zawiera podciąg pasujący do wzorca z2 z1 NP z2 NOT z1 CP z2 z1 nie zawiera podciągu pasującego do wzorca z2 bez znaczenia bez znaczenia Symbole wzorca: * dowolny ciąg znaków + dowolny znak # następny znak jest interpretowany jest dosłownie (dla znaków *, +, #, wielkości liter itp.) pomijane pomijane

Zmienna SY-FDPOS Zmienna ustawiana w wyniku zastosowania operatorów porównania łańcuchów znakowych Porównanie Wartość SY-FDPOS dla wyniku TRUE Wartość SY-FDPOS dla wyniku FALSE z1 CO z2 długość z1 offset pierwszego znaku należącego do z1, który nie występuje w z2 z1 CN z2 z1 CA z2 offset pierwszego znaku należącego do z1, który występuje w z2 offset pierwszego znaku należącego do z1, który występuje w z2 długość z1 długość z1 z1 NA z2 długość z1 offset pierwszego znaku należącego do z1 i występującego w z2 z1 CS z2 offset pierwszego znaku w z2, który występuje w z1 długość z1 z1 NS z2 długość z1 offset pierwszego znaku należącego do z1 i występującego w z2 z1 CP z2 offset pierwszego znaku w z2, który występuje w z1 długość z1

Instrukcja CASE Instrukcja wyboru Składnia: CASE z1. WHEN z2 [OR zn ]. WHEN z3 [OR zn ]. [ WHEN OTHERS. ] ENDCASE. gdzie: z1, z2, z3, zn zmienna, literał, stała, łańcuch pól - dowolny ciąg instrukcji (również pusta)

Instrukcja CASE właściwości Wykonywana jest tylko pierwsza instrukcja WHEN, dla której spełniony jest warunek WHEN OTHERS oznacza warunek, który będzie spełniony jeśli nie będzie spełniony żaden z warunków WHEN Jeśli nie wyspecyfikowano WHEN OTHERS a żaden z warunków WHEN nie jest spełniony, to sterowanie jest przekazywane do pierwszej instrukcji po ENDCASE Niedopuszczalne są wyrażenia wymagające wartościowania Łańcuchy pól traktowane są jak zmienna typu C Porównuje się pojedyncze wartości w relacji równości

Instrukcja EXIT Opis: przerwanie wykonywania bloku instrukcji i przekazanie sterowania poza ten blok Składnia: EXIT. Działanie: wewnątrz pętli powoduje przerwanie wykonywania tej pętli w podprogramie powoduje wyjście z podprogramu w programie głównym powoduje przerwanie wykonywania tego programu

Instrukcja DO Opis: pętla Składnia: DO [z1 TIMES] [VARYING f1 FROM s-c1 NEXT s-c2 [VARYING f2 FROM s2-c1 NEXT s2-c2 ] ]. [EXIT.] ENDDO. gdzie: z1 zmienna, literał lub stała s, s2 łańcuch pól o składowych c1 i c2 f1 zmienna (składowe łańcucha s muszą być konwertowalne do typu i rozmiaru f1)

Instrukcja DO właściwości Pętla DO może być wielokrotnie zagnieżdżona EXIT powoduje natychmiastowe wyjście z pętli DO bez warunku oznacza pętlę nieskończoną Zmiana wartości v1 wewnątrz pętli nie ma wpływu na wykonywanie pętli Zmienna SY-INDEX wewnątrz pętli zawiera numer bieżącej iteracji, po ENDDO ma wartość taką, jaką miała przed wejściem do pętli, w pętlach zagnieżdżonych zawiera numer iteracji bieżącej pętli Zmiana wartości SY-INDEX wewnątrz pętli nie ma wpływu na jej wykonanie, przed następną iteracją zostanie przywrócona poprzednia wartość numeru iteracji

Klauzula VARYING Opis: stosowana w celu dostępu do pól łańcucha w pewnym ciągu NEXT określa odległość w bajtach do następnej składowej Przykład: REPORT zpba007. DATA: f1, BEGIN OF s, c1 VALUE 'A', c2 VALUE 'B', c3 VALUE 'C', c4 VALUE 'D', c5 VALUE 'E', c6 VALUE 'F', END OF s. WRITE / ''. DO 6 TIMES VARYING f1 FROM s-c1 NEXT s-c2. WRITE f1. ENDDO. WRITE / ''. DO 3 TIMES VARYING f1 FROM s-c1 NEXT s-c3. WRITE f1. ENDDO. Wynik: A B C D E F A C E

Klauzula VARYING - właściwości NEXT określa odległość w bajtach pomiędzy kolejnymi odczytami Rozmiar f1 określa ile bajtów odczytać Wszystkie składowe s odczytywane w ten sposób w pętli DO muszą być oddalone od siebie o taką samą liczbę bajtów Nie przeprowadza się konwersji podczas przypisania do f1 Aby uniknąć odczytów danych spoza struktury s należy zapewnić wyjście z pętli DO w odpowiednim momencie (EXIT lub TIMES) Wartość f1 jest ponownie zapisywana w strukturze s po osiągnięciu instrukcji ENDDO, bez względu na to, czy została ona wcześniej zmodyfikowana, czy też nie Opuszczenie pętli instrukcją EXIT nie zabezpiecza przed działaniem powyższego mechanizmu Aby uniknąć nadpisania składowej struktury wartością f1 można zastosować instrukcję STOP lub instrukcję wywołującą komunikat o błędzie.

Instrukcja WHILE Opis: pętla wykonywana warunkowo Składnia: WHILE warunek [VARY f1 FROM s-c1 NEXT s-c2 [VARY f2 FROM s-c1 NEXT s-c2 ] [EXIT.] ENDWHILE. gdzie: warunek jest warunkiem logicznym o wartości TRUE lub FALSE s łańcuch pól ze składowymi c1 i c2 f1 zmienna (składowe ci muszą mieć typ i rozmiar umożliwiający konwersję do f1)

Instrukcja WHILE właściwości Może być zagnieżdżana wielokrotnie, także w innych typach pętli Instrukcja EXIT powoduje natychmiastowe przerwanie pętli i przekazanie sterowania poza ENDWHILE Zmienna SY-INDEX: wewnątrz pętli oznacza numer bieżącej iteracji po ENDWHILE przyjmuje wartość, jaką miała przed wejściem do pętli w pętlach zagnieżdżonych zawiera numer iteracji w bieżącej pętli ENDWHILE powoduje zapisanie wartości f1 z powrotem do odpowiedniej składowej łańcucha s Jeżeli instrukcja WHILE zawiera klauzulę VARY, to najpierw sprawdzany jest warunek, a dopiero potem obliczane są wartości z klauzuli VARY

Instrukcja CONTINUE Opis: stosowana w pętli służy do bezwarunkowego przekazania sterowania na koniec pętli Składnia: DO WHILE SELECT LOOP CONTINUE. ENDDO ENDWHILE ENDSELECT ENDLOOP Właściwości: może być użyta tylko w pętli nie ma żadnych klauzul

Instrukcja CHECK Opis: instrukcja używana wewnątrz pętli powodująca warunkowe przerwanie bieżącej iteracji (gdy warunek nie jest spełniony) Składnia: DO WHILE SELECT LOOP CHECK warunek. ENDDO ENDWHILE ENDSELECT ENDLOOP gdzie: warunek oznacza warunek logiczny o wartości TRUE lub FALSE

EXIT, CONTINUE, CHECK - podsumowanie EXIT opuszczenie pętli CONTINUE bezwarunkowy skok na koniec pętli CHECK warunek warunkowy skok na koniec pętli o ile warunek nie jest spełniony Nie zaleca się stosowania instrukcji CONTINUE i CHECK w pętli SELECT ze względów wydajnościowych w takim przypadku zaleca się odpowiednio zmodyfikować warunek w klauzuli WHERE

Określanie pozycji wydruku Instrukcja: WRITE [/][P][(L)] z1. gdzie: / - oznacza przejście do nowej linii P oznacza pozycję w linii L oznacza liczbę bajtów (długość) przeznaczoną na odpowiedni wpis. pomiędzy /, P oraz (L) nie powinno być spacji.