Kılavuzlar
Dili baştan öğrenmek istiyorsanız belgeler yerine Öğren sayfasından başlamanızı öneririz.
Hızlı başvuru
Aşağıdaki program dilin en sık kullanılan yapılarını bir arada gösterir: sabit, kayıt tipi, tipli liste ve sözlük, fonksiyon, döngüler, koşul ve hata yakalama. Program olduğu gibi çalışır.
program HızlıBaşvuru
sabit
SINIR: tamsayı = 5
tip
Nokta = kayıt
x, y: ondalık
bitir
değişken
toplam: tamsayı
adlar: metin listesi
yaşlar: tamsayı sözlüğü
n: Nokta
fonksiyon Küp(k: tamsayı): tamsayı
başla
dön k * k * k
bitir
başla
toplam := 0
1'den SINIR'a kadar her i için
toplam := toplam + Küp(i)
yaz('Toplam: ' + toplam, 1)
adlar := ['Ada', 'Can', 'Ece']
adlar içindeki her ad için
eğer Uzunluk(ad) > 2 ise
yaz(ad, 1)
yaşlar := ['Ada': 12, 'Can': 14]
yaşlar içindeki her ad, yaş için
yaz(ad + ': ' + yaş, 1)
toplam := 3
toplam > 0 iken
toplam := toplam - 1
n.x := 3.0
n.y := 4.0
yaz(Kök(n.x * n.x + n.y * n.y), 1)
dene
yaz(10 böl 0, 1)
yakala (h)
yaz('Yakalandı: ' + h.mesaj, 1)
bitir
bitir.
Gövde kuralı: Döngü ve koşulların gövdesi tek bir komuttur. Birden çok komut için gövdeyi başla … bitir arasına almanız gerekir. Açıklamalar { süslü ayraç } içine ya da // işaretinden sonra yazılır.
Döngüler
Sayan döngünün dört yazımı vardır. Adımı yazmadığınızda sayaç birer birer ilerler; adımı kendiniz belirlemek istediğinizde adımda sözcüğünü, ardından da yönü gösteren artan ya da azalan sözcüğünü kullanabilirsiniz.
| Yazım | Sayaç |
|---|---|
1'den 10'a kadar her i için … | 1, 2, 3, … 10 |
10'dan 0'a kadar her j için … | 10, 9, 8, … 0 |
a'dan b'ye adımda c artan her d için … | a, a+c, a+2c, … (b'yi geçmeden) |
z'den y'ye adımda v azalan her u için … | z, z−v, z−2v, … (y'nin altına inmeden) |
program Döngüler
değişken
n, adım: tamsayı
başla
{ birer birer artar }
1'den 5'e kadar her i için yaz(i + ' ')
yaz('', 1)
{ iki sınır da sayı olarak yazıldığında ve ilki büyükse birer birer azalır }
5'ten 1'e kadar her j için yaz(j + ' ')
yaz('', 1)
{ adımı siz belirlersiniz: artan }
n := 10
adım := 2
0'dan n'ye adımda adım artan her k için yaz(k + ' ')
yaz('', 1)
{ adımı siz belirlersiniz: azalan }
n'den 0'a adımda 3 azalan her u için yaz(u + ' ')
yaz('', 1)
bitir.
Yön kuralı: kadar ile yazılan döngü, iki sınır da doğrudan sayı olarak yazıldığında ve ilk sayı daha büyük olduğunda kendiliğinden geriye sayar (10'dan 0'a kadar). Sınırlardan biri değişken ya da hesaplanan bir değerse kadar yalnızca ileriye sayar; başlangıç bitişten büyükse döngü hiç çalışmaz. Değişkenlerle geriye saymak için yönü açıkça yazabilirsiniz: n'den 1'e adımda 1 azalan her i için. Adım her zaman pozitif bir tamsayıdır.
Tipler
| Tip | Örnek değer | Not |
|---|---|---|
tamsayı | 42, -7 | Masaüstünde büyüklük sınırı yoktur; ESP32'de 64 bittir |
ondalık | 3.14 | Çift duyarlıklı kayan nokta |
metin | 'Merhaba' | Karakterler 1'den numaralanır |
mantıksal | doğru, yanlış | |
tamsayı listesi | [1, 2, 3] | Elemanlar 0'dan numaralanır; tipsiz biçimi liste |
metin sözlüğü | ['a': 'x', 'b': 'y'] | Boş sözlük [:]; tipsiz biçimi sözlük |
L.Uzunluk(12, 1) | Listeyi 12 elemanlı, numaraları 1'den başlayan sabit boyutlu listeye çevirir | |
herhangi | Tipi çalışma anında belli olan değer |
Dosyanın başına {$katı} yazdığınızda derleyici tipleri program çalışmadan önce denetler ve bütün tip hatalarını bir arada listeler.
Liste ve sabit boyut
Sıralı elemanlar listede tutulur. Liste başlangıçta serbesttir: boyutu program çalışırken değişebilir ve elemanlar 0'dan numaralanır. Eleman sayısı baştan belliyse L.Uzunluk(n, ilk) ile boyutu sabitleyebilir ve numaralamayı istediğiniz sayıdan başlatabilirsiniz; L.Uzunluk(n) numaraları 0'dan başlatır. Yeni elemanlar tipin başlangıç değeriyle dolar, var olanlar korunur.
| Serbest liste | Boyutu sabit liste | |
|---|---|---|
| Tanım | notlar: tamsayı listesi | aylar: tamsayı listesi, ardından aylar.Uzunluk(12, 1) |
| Numaralama | 0'dan başlar | Sizin verdiğiniz sayıdan başlar (ör. 1..12); sınırlar L.Alt ve L.Üst |
| Boyut | Değişebilir | Sabittir |
| Sona ekleme | Ekle(L, x) | Yapılamaz |
| Araya yerleştirme | Ekle(L, x, konum) | Yapılamaz |
| Silme | L.Sil(konum), L(konum).Sil | Yapılamaz |
| Okuma ve değiştirme | L[0], L[0] := 5 | L[1], L[1] := 5 |
| Eleman sayısı | Uzunluk(L) | Uzunluk(L) |
program ListeVeDizi
değişken
notlar: tamsayı listesi
aylar: tamsayı listesi
başla
{ liste: elemanlar 0'dan numaralanır, boyut değişebilir }
notlar := [70, 85, 90, 60]
Ekle(notlar, 100) { sona ekler }
Ekle(notlar, 75, 1) { 75'i 1 numaralı konuma yerleştirir }
notlar listesindeki 2. elemanı Sil
yaz(notlar, 1)
{ Uzunluk(3, 1): 3 elemanlı, numaraları 1'den başlayan sabit boyutlu liste }
aylar.Uzunluk(3, 1)
aylar[1] := 31
aylar[2] := 28
aylar[3] := 31
yaz(aylar, 1)
{ boyutu sabit listeden eleman çıkarmak gerektiğinde serbest bir kopya alınır }
notlar := liste(aylar)
Sil(notlar, 1)
yaz(notlar, 1)
bitir.
Ekle iki biçimde kullanılır: Ekle(L, x) elemanı sona ekler, Ekle(L, x, konum) ise verilen konuma yerleştirir ve sonraki elemanları birer sıra kaydırır. Nokta ile de yazabilirsiniz: L.Ekle(x), L.Ekle(x, konum).
Bir elemanı silmenin üç yazımı vardır; üçü de aynı anlama gelir ve 2 numaralı elemanı (L[2]) siler:
L.Sil(2)
L(2).Sil
L listesindeki 2. elemanı Sil
Listede elemanlar 0'dan numaralandığı için 2 numaralı eleman baştan üçüncü sıradadır. Sil çıkardığı elemanı döndürür; eksi konum sondan sayar (L.Sil(-1) son elemanı siler). Cümle biçiminde hesaplanan konum ayraç içine yazılır: L listesindeki (i + 1). elemanı Sil.
Sabit boyut: Boyutu Uzunluk ile sabitlenmiş listeye Ekle ya da Sil uygulandığında program açık bir hata iletisiyle durur; sınır dışındaki bir numaraya erişmek de hata verir. Boyutu değiştirmek için Uzunluk çağrısını yeni değerlerle yineleyebilir, serbest bir kopya gerekiyorsa liste(L) yazabilirsiniz. Tip adlarında tamsayı dizisi ile tamsayı listesi aynı anlama gelir; köşeli ayraçla sınır yazımı (dizisi[1..12]) kaldırılmıştır.
Komutlar
| Komut | Ne yapar |
|---|---|
yontem program.y | Programı derleyip çalıştırır |
yontem yeni ad | Yeni proje klasörü oluşturur |
yontem test | Programları çalıştırıp çıktılarını .beklenen dosyalarıyla karşılaştırır |
yontem bicimle dosya.y | Girintiyi ve boşlukları düzenler |
yontem denetle --kati | Programı çalıştırmadan sözdizimi ve tip hatalarını listeler |
yontem ayikla program.y | Hata ayıklayıcı: kesme noktaları, adım adım çalıştırma, değişkenler |
yontem paket ekle kaynak | Başkalarının birimlerini projenize kurar |
yontem paketle program.y | Arayüzlü programı web uygulamasına çevirir |
yontem gomulu program.y | ESP32 için C++ projesi üretir |
yontem derle program.y | Yalnızca JavaScript çıktısı üretir |
Komutların ayrıntılarını Birimler ve Araçlar Kılavuzu'nun "Araçlar" bölümünde bulabilirsiniz.
Birimler
Birimler kullan ile programa eklenir. Aşağıdakilerin hepsi Yöntem ile birlikte gelir.
| Alan | Birimler |
|---|---|
| Temel | Matematik, Sistem, Veri, Takvim, Desen |
| Yapay zekâ | YZ, Meşale, Sinir, MakineÖğrenmesi, Arama, Uzman, Dil, İstatistik |
| Uygulama | Pencere, Mobil, Ağ, Veritabanı, Sunucu, Güvenlik |
| Donanım ve kuantum | Donanım, Kuantum, KuantumAlgoritmaları |