Dersler ve Temeller; web örnekleri PORT ortam değişkenini okur
- dersler/: 29 kısa ders (açıklama, çalıştırılabilir örnek, alıştırma). Her örneğin ve alıştırma çözümünün çıktısı Online IDE'nin hazırlık adımında gerçekten koşulup dosyadakiyle karşılaştırılır; biçim dersler/BICIM.md. - temeller/: tek konulu 12 başlangıç programı. - web/anket, web/kisalt, web/pano: port PORT ortam değişkeninden okunur (Online IDE önizlemesi 8080 verir), yoksa eski sabit port. - README: öğrenme bölümü, Online IDE bağlantısı.
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user