91 lines
2.4 KiB
Markdown
91 lines
2.4 KiB
Markdown
# Ders dosyası biçimi
|
|||
|
|
|
||
|
|
Online IDE'nin **Dersler** bölümü bu dizindeki `NN-ad.md` dosyalarından üretilir
|
||
|
|
(dosya adı sırası = ders sırası). Her ders tek dosyadır.
|
||
|
|
|
||
|
|
⚠️ Yayına almadan önce `hazirla.py` her çalıştırılabilir kod bloğunu ve her
|
||
|
|
alıştırmanın çözümünü **gerçekten derleyip çalıştırır** ve çıktıyı dosyada
|
||
|
|
yazanla karşılaştırır. Tutmayan ders listeye girmez.
|
||
|
|
|
||
|
|
## Başlık bilgisi
|
||
|
|
|
||
|
|
```
|
||
|
|
---
|
||
|
|
baslik: Değişkenler
|
||
|
|
bolum: Temeller
|
||
|
|
ozet: Değerlere ad vermek, türler ve atama
|
||
|
|
---
|
||
|
|
```
|
||
|
|
|
||
|
|
`bolum` aynı olan dersler yan çubukta aynı başlık altında toplanır.
|
||
|
|
|
||
|
|
## Metin
|
||
|
|
|
||
|
|
Düz paragraf, `## Alt başlık`, `### Küçük başlık`, **kalın**, *eğik*,
|
||
|
|
`satır içi kod`, [bağlantı](https://…), `-` ya da `1.` ile listeler,
|
||
|
|
`| a | b |` tabloları (ikinci satır `|---|---|`).
|
||
|
|
|
||
|
|
Not kutusu: `>` ile başlayan satırlar. İlk sözcük türü belirler:
|
||
|
|
|
||
|
|
```
|
||
|
|
> **İpucu:** … (bilgi)
|
||
|
|
> **Dikkat:** … (uyarı)
|
||
|
|
> **Not:** … (nötr)
|
||
|
|
```
|
||
|
|
|
||
|
|
## Kod örneği
|
||
|
|
|
||
|
|
Kod bloğu `kbl` dilinde yazılır. Hemen ardından gelen `cikti` bloğu beklenen
|
||
|
|
çıktıdır; ikisi birlikte doğrulanır ve sayfada "Dene" düğmesiyle gösterilir.
|
||
|
|
|
||
|
|
```kbl
|
||
|
|
yazdir("Merhaba")
|
||
|
|
```
|
||
|
|
```cikti
|
||
|
|
Merhaba
|
||
|
|
```
|
||
|
|
|
||
|
|
Program girdi okuyorsa `girdi` bloğu `cikti`dan önce gelir; satırlar sırayla
|
||
|
|
standart girdiye verilir:
|
||
|
|
|
||
|
|
```kbl
|
||
|
|
kullan kaba.sistem
|
||
|
|
konsol.yaz("Adın: ")
|
||
|
|
ad = konsol.satir_oku().deger_veya("misafir").kirp()
|
||
|
|
yazdir(f"Merhaba {ad}")
|
||
|
|
```
|
||
|
|
```girdi
|
||
|
|
Ayşe
|
||
|
|
```
|
||
|
|
```cikti
|
||
|
|
Adın: Ayşe
|
||
|
|
Merhaba Ayşe
|
||
|
|
```
|
||
|
|
|
||
|
|
(Program uçbirimde çalışır; verilen girdi, kullanıcı yazmış gibi ekranda da görünür.)
|
||
|
|
|
||
|
|
Doğrulanmayacak blok (ör. bilerek hatalı kod, yalnız gösterim):
|
||
|
|
`kbl goster`. Bu blokta "Dene" düğmesi yine vardır.
|
||
|
|
|
||
|
|
## Alıştırma
|
||
|
|
|
||
|
|
Dersin sonunda bir ya da birkaç alıştırma. Bölümler `%%%` satırıyla ayrılır:
|
||
|
|
soru (markdown) · başlangıç kodu · çözüm · beklenen çıktı. Çözüm çalıştırılıp
|
||
|
|
beklenen çıktıyla karşılaştırılır; öğrencinin kodu da aynı çıktıyı verince
|
||
|
|
alıştırma tamamlanmış sayılır.
|
||
|
|
|
||
|
|
```alistirma
|
||
|
|
`sayi` değişkeninin karesini ekrana yazdır.
|
||
|
|
%%%
|
||
|
|
sayi = 7
|
||
|
|
# buraya yaz
|
||
|
|
%%%
|
||
|
|
sayi = 7
|
||
|
|
yazdir(sayi * sayi)
|
||
|
|
%%%
|
||
|
|
49
|
||
|
|
```
|
||
|
|
|
||
|
|
Karşılaştırmada satır sonlarındaki boşluklar ve en sondaki boş satırlar yok
|
||
|
|
sayılır.
|