To jest stara wersja strony!


Opis pseudokodu

Informacje podstawowe

  • Stosujemy wcięcia zgodnie z poziomami zagnieżdżania się kodu.
  • Wszystkie zmienne typów prymitywnych piszemy małą literą.
  • Wszystkie zmienne będące strukturami złożonymi (tablice, obiekty) piszemy dużą literą.

Zmienne

  • Nie deklarujemy/definiujemy zmiennych lokalnych funkcji.
  • Jeżeli zachodzi potrzeba wprowadzenia nowej zmiennej po prostu to robimy.
  • Każda zmienna jest widzialna w zakresie całej funkcji, wyjątkiem są:
    • Zmienne globalne, które definiujemy w następujący sposób
      global j
    • Zmienne liczące w pętlach.
  • Przypisanie wartości do zmiennej wykonujemy operatorem :=:
    j := 2
    j := j+1
    a := j

Komentarze

  • Symbolem # rozpoczynamy komentarz który trwa do końca linii.
  • Brak jest komentarzy wielolinijkowych.
  • W przypadku kiedy należy wykonać instrukcje nie związane bezpośrednio z kontekstem rozważanego problemu, można je zastąpić opisem słownym (komentarzem) nie poprzedzonym znakiem komentarza:
    ...
    i := i*2
    wczytaj a z klawiatury
    i := i*a
    wypisz i na ekran
    ...

Tablice

  • Nazwy tablic piszemy dużymi literami.
  • Numerowanie elementów tablic rozpoczynamy od 1.
  • Do danego elementu tablicy odnosimy się podając jego indeks w nawiasach kwadratowych po nazwie tablicy:
    A[0]      # pierwszy element tablicy
    A[i]      # i-ty element tablicy
    A[i-1]    # i-1 element tablicy
  • Długość tablicy jest zwracana przez funkcję length:
    n := length(A)    # teraz n przechowuje długość tablicy, jest to jednocześnie indeks jej ostatniego elementu.
  • Nie alokujemy/dealokujemy pamięci dla tablic. Zakładamy że jest to robione automatycznie.
  • Wyznaczanie podtablicy jest możliwe przy pomocy trzykropka:
    Wypełnij A ciągiem kolejnych liczb pierwszych od 2 do 17
    B := A[3...length(A)-1]     # Teraz B zwiera następujące wartości: 5,7,11,13

Funkcje

  • Nazwy funkcji nie będącymi metodami piszemy dużymi literami.
  • Definiując funkcję specyfikujemy jedynie listę argumentów jakie przyjmuje. Nie specyfikujemy typu wartości jaką funkcja zwraca.
  • Koniec definicji funkcji oznaczamy przy pomocy endfunc.
  • Szkielet przykładowej definicji funkcji (o nazwie search) wygląda następująco:
    SEARCH(A, a, b)
      ...
      instrukcje wewnątrz funkcji wraz z wcięciami
      ...
    endfunc
  • Funkcja może zwrócić dowolną wartość w dowolnym momencie.
  • Zwrócenie wartości przez funkcję następuję przy pomocy słowa return po którym musi wystąpić wartość zwracana.
  • Funkcje wywołujemy pisząc jej nazwę a następnie w okrągłych nawiasach listę argumentów rozdzielonych przecinkami:
    a := SEARCH(A,i,j)

Instrukcje warunkowe

  • Będziemy stosować głównie instrukcję if-elseif-else-endif.
  • Instrukcje elseif oraz else są opcjonalne.
  • Dostępne są następujące operatory relacji: =, !=, >, >=, <, < =.
  • Przykładowe zastosowanie instrukcji warunkowej do określenia maksymalnej z pośród trzech wartości:
    MAX(a,b,c)
      if a > b
        if a > c
          return a
        else
          return c
        endif
      else
        if b > c
          return b
        else
          return c
        endif
      endif
    endfunc

Pętle

for

while

Obiekty i metody

pl/dydaktyka/asd/cwiczenia/pseudokod.1267290809.txt.gz · ostatnio zmienione: 2019/06/27 15:51 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0