Türkçe tasarlanan OPPA karmaşıklıktan uzak, kullanıcının rahatlıkla kodlama yapabileceği bir programlama dilidir. Bu dilde değişkenlere atanan değerler ve fonksiyonlar tip tanımı olmadan tanımlanır. Komut satırlarını birbirinden ayırmak için alt satıra geçmek yeterlidir. Kullanıcıdan değer almak için değişkenin başına “!!”, bir değişkenin içindeki değeri ekrana yazmak için ise değişkenin başına “$” yazılır. Yazdırma işlemi tırnak işareti ile belirtilmelidir.
Aşağıda görüldüğü gibi “Başla” ve “Bitir” kelimeleri arasında program yazılır. Fonksiyonlar ise programın başında (“Başla” komutundan önce) tanımlanır. Fonksiyon gövdesi de “Başla” ve “Dur” kelimeleri arasında yazılır. Bir değer döndürecek fonksiyonlarda “gönder” anahtar kelimesi ile değer ana programa gönderilebilir. Fonksiyon parametreli veya parametresiz olarak tanımlanabilir.
Değişken adları “toplam” gibi sadece kelimeden oluşabileceği gibi “uzunluk21” gibi sayı da içerebilir. Ancak bir değişken adı sayı ile başlayamaz. Ayrıca anahtar kelimeler değişken adı olarak kullanılamaz.
Diziler harf, kelime, rakam ve sayı tutabilir. Elemanlar birbirinden “,” ile ayrılır. Örneğin: “A(1,2,3)” dizisi gibi…
Döngüler iki türlü tanımlanabilir. Eğer döngüde başlangıç ve bitiş değeri varsa ve artış veya azalış miktarı belli ise sınırlı döngü tanımlayabiliriz. Örneğin “Dön 10 ile 0 arası -2 adım” gibi tanımlanabilir. Bu örnekte görüldüğü gibi negatif verilen adım sayısı başlangıç değerinden adım sayısı kadar azalarak bitiş değerine ulaşmayı hedefler. Diğer döngü tanımında ise verilen mantıksal ifade şartı sağlandığı sürece döngü devam eder. Örneğin ”Dön (sayı<10) ise” şeklinde tanımlanır. Döngü bitiminde “Döngü sonu” ifadesi yazılarak döngünün bittiği belirtilir.
Koşul ifadeleri parantez içinde belirtilen şartın gerçekleşmesi durumunda belirtilen komutları işletir. Koşul ifadelerinin tanımında bulunan “Değilse” ifadesi ise belirtilen şartların gerçekleşmemesi durumunda belirtilen komutları işletir. Örneğin “Eğer (not ==100) ise”… “Eğer sonu” ifadesi yazılarak koşul ifadesinin bittiği belirtilir.
OPPA Programlama Dilinin Sözdizimi Kuralları
<program> -> Başla <komutlar> Bitir
<komutlar> -> <komut> | <komut> <komutlar>
<komut> -> <değer>=<ifade> | <eğer> |
<döngüler> | yazdır “$<değer>” | oku !!<değer> |
<gönder><değer> | yazdır <fonksiyon> |
<fonksiyon>| <dizi tanımla>|yazdır “<kelime>”
<ifade> -> <değer><işleç><değer> | <değer>
| “<kelime>” | <sayı> | <fonksiyon> |
<sayı><işleç> <sayı>
| <değer><işleç><sayı>
| <sayı><işleç><değer>
<değer> -> <kelime><işaretsiz sayı> |<kelime>
<eğer> -> Eğer (<mantıksal ifade>) ise <komutlar> Eğer sonu |
Eğer (<mantıksal ifade>) ise <komutlar>
Değilse <komutlar> Eğer
sonu
<döngüler> -> <sınırlı döngü> | <döngü>
<sınırlı döngü> -> Dön <sayı> ile <sayı>
arası <sayı> adım <komutlar>
Döngü sonu
<döngü> -> Dön (<mantıksal ifade>) ise <komutlar> Döngü sonu
<dizi tanımla> -> <değer>(<sayı dizisi>) | <değer>(<kelime
dizisi>)
<sayı dizisi> -> <sayı> | <sayı>,<sayı
dizisi>
<kelime dizisi> -> “<kelime>” | “<kelime>”,<kelime
dizisi>
<fonksiyon> -> <fonksiyon başı> <fonksiyon gövdesi>
<fonksiyon başı> -> fonksiyon <değer> | fonksiyon
<değer>(<parametreler>)
<fonksiyon gövdesi> -> Başla <komutlar> Dur
<parametreler> -> <değer> | <değer>,<parametreler>
<mantıksal ifade> -> <değer><karşılaştırma
işareti><değer> | <mantıksal ifade> ve
<mantıksal ifade> | <mantıksal
ifade> veya <mantıksal ifade> |
<değer><karşılaştırma
işareti><sayı>
<kelime>-> <harf>|<harf><kelime>
<harf> -> a | b | c | ç | d | e | f | g | ğ | h | ı | i |
j | k | l | m | n | o | ö | p | r | s | ş | t | u | ü | v | y | z | A | B | C | Ç |
D | E | F | G | Ğ | H | I | İ | J | K | L | M | N | O | Ö | P | R | S | Ş | T |
U | Ü | V | Y | Z
<karşılaştırma işareti> -> == | != | < | > | <=
| >=
<işleç> -> + | - | * | / | % | ** | //
<sayı> -> +<işaretsiz sayı> | -<işaretsiz
sayı> |<işaretsiz sayı>
<işaretsiz sayı> -> <rakam> | <rakam > < işaretsiz
sayı >
<rakam> ->0 | 1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<anahtar kelimeler> -> Başla | Bitir | Dön |
ise | arası | Döngü sonu | Eğer | Değilse | Eğer sonu | ile | yazdır | oku | ve
| veya | Dur | fonksiyon | gönder
OPPA ile Hipotenüs Hesaplama Programı
Fonksiyon hipHesapla(x,y)
Başla
xKare=x**2
yKare=y**2
hipKare=xKare+yKare
hip=hipKare//2
gönder hip
Dur
Başla
Yazdır
“Üçgenin dik kenar uzunluklarını giriniz.”
oku !!sayı1
oku !!sayı2
hipotenüs=hipHesapla(sayı1,
sayı2)
yazdır
“hipotenüs=$hipotenüs”
Bitir