61
2013 SCRATCH EĞİTİMİ DERS NOTLARI TÜBİTAK Bilişim ve Bilgi Güvenliği İleri Teknolojiler Araştırma Merkezi Ulusal Elektronik ve Kriptoloji Araştırma Enstitüsü Matematiksel ve Hesaplamalı Bilimler Birimi | TÜBİTAK BİLGEM UEKAE 17.06.2013

Scratch Eğitimi Ders Notları

Embed Size (px)

Citation preview

2013

SCRATCH

EĞİTİMİ DERS

NOTLARI

TÜBİTAK Bilişim ve Bilgi Güvenliği İleri Teknolojiler Araştırma Merkezi

Ulusal Elektronik ve Kriptoloji Araştırma Enstitüsü Matematiksel ve Hesaplamalı Bilimler Birimi |

TÜBİTAK BİLGEM UEKAE 17.06.2013

2 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

Bu Eğitim,

Programlamanın Temellerini Sizlere Eğlenceli ve Kolay Bir Programlama Ortamında

Öğretmek Amacıyla Hazırlanmıştır.

Hazırlayanlar

Şükran Külekci

Fatma Çelik

Esna Koçyiğit

H. Gökçe Macit

AMAÇ

3 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

PROGRAMLAMA NEDİR?

Genel olarak programlama;

Kullanıcıların isteklerini karşılayacak Muhasebe, Stok, Oyun, İşletim Sistemi gibi

programları oluşturacak alt yapıyı (Kodları) hazırlamaktır.

Yani programlama, bilgisayarımıza istediklerimizi yaptırabilmemiz ve bilgisayarımız ile

aynı dili konuşabilmemiz için gereklidir.

ALGORİTMA NEDİR?

Algoritma bir uygulamanın, işin, oluşun vb. işlem basamaklarını teker teker yazarak

çözümleme ve sonuca varmada izlenecek yoldur. Algoritma programcılık açısından

önemli bir olaydır. Scratch programında da farkında olmadan algoritmalar kuracaksınız.

Algoritmaya örneği;

Problem: Elazığ’dan İstanbul’a gitmek için bir algoritma oluşturun.

Burada öyle bir algoritma oluşturacaksınız ki algoritmanın sonunda istanbul’ da

olacaksınız.

PROGRAMLAMA

1.YOL:

1.adım: Evden çıkarım.

2.adım: Otogara giderim.

3.adım: İstanbul’a bilet alırım.

4.adım: Otobüse binerim.

5.adım: 18-19 saat yolculuk yaparım.

6.adım: İstanbul’da inerim.

2.YOL:

1.adım: Evden çıkarım.

2.adım: Hava alanına giderim.

3.adım: İstanbula bilet alırım.

4.adım: Uçağa binerim.

5.adım: 2 saat yolculuk yaparım.

6.adım: İstanbul’da inerim.

4 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

SCRATCH’E GİRİŞ

versiyon 1.4

1. GİRİŞ

Scratch programı eğlenceli bir ortamda resim, ses, müzik gibi çeşitli medya

araçlarını bir araya getirebileceğimiz, kendi animasyonlarımızı, bilgisayar oyunlarımızı

tasarlayabileceğimiz ya da interaktif hikayeler anlatabileceğimiz ve paylaşabileceğimiz

bir grafik programlama dilidir.

Scratch web sayfası, Scratch’ i öğrenebilmemiz için birçok kaynak içermektedir.

Web sayfasını ziyaret etmek isterseniz ‘http://scratch.mit.edu’ linkine tıklayarak

Scratch ana sayfasına ulaşabilirsiniz.

5 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

Google Arama Motoruna: scratch download yazıyoruz mit’ nin sitesine giriyoruz.

Açılan sayfada işletim sistemi tercihi sunulmuştur. Kendi işletim sistemimize uygun olanı seçip indiriyoruz.

İndirilen ScratchInstaller1.4 dosyasını sağa tıklayıp çalıştırıyoruz. Açılan pencerede Next-Next- Install kısımlarına sırayla tıklayarak program kurulumunu tamamlamı oluyoruz.

KURULUM

6 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

KARAKTER:

Scratch projeleri karakterler olarak adlandırılan objelerden oluşur. Seçtiğimiz bir

karaktere farklı kostümler giydirebilir karakterin görünümünü değiştirebiliriz.

Karakterimizi hayvana, metine, insana, araca vs. benzetebiliriz. Yeni bir karakter

oluştururken ‘Yeni Karakter’ bölümünden Scratch programının bizlere sunduğu hazır

karakterlerden seçebilir, bilgisayarımızda yüklü olan bir öğeyi açabilir veya kendimiz yeni

bir imaj çizebilir.

Scratch programı ilk açıldığında karşımıza çıkan kedi bir karakterdir.

KOD BLOKLARI:

Kod blokları karakterimize istediğimizi yaptırabilmemiz için kolay tasarımıyla bizlere

sunulmuş araçlardır. Kod bloklarında bulunan kodları alt alta sıralayıp komut dizisi

oluşturarak karakterimizin hareket etmesini, müzik çalmasını, işlemler yapabilmesini

sağlayabiliriz.

SCRATCH

7 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

2. SCRATCH ARAYÜZÜ

Scratch’in gelişmiş ve kullanması kolay bir arayüzü vardır.

Scratch arayüzü 3 ana bölmeden oluşur.

ARAYÜZ

1. BLOK PALETİ:

Karakterimizi

programlamak için

kullanabileceğimiz

blokların bulunduğu

kısımdır.

2. KODLAMA ALANI:

Blokları sürükleyerek

komut dizileri

oluşturacağımız

alandır.

3. PROJE EKRANI:

Bizim sahnemizdir.

Projemizi

çalıştırdığımızda

tasarladığımız herşey

burada hayat bulur

8 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

Dil ayarla: Bu ikonu kullanarak kullandığımız blok dilini değiştirebilir farklı

dillerde kullanabiliriz.

Bu projeyi Kaydet: Bu ikon ile hazırladığımız projelerimizi kaydedebiliriz.

Bu Projeyi Paylaş: Bu ikonu kullanarak Projemizi Scratch’in web sayfasına

yükleyebiliriz.

DOSYA MENÜSÜ

Dosya menüsünde 8 seçenek bulunur. Bu seçenekler ile yapabileceklerimiz şunlardır;

Kaydet: Bu seçenek ile oluşturduğumuz projeyi diske kaydederiz. Kaydet seçeneğine

tıkladıktan sonra açılan pencerede projeyle ilgili bilgileri girdikten sonra Tamam’ a

tıkladığımızda projemiz kaydolmuş olur.

Yeni: Projemizi kaydettikten sonra yeni proje oluşturmak için Dosya menüsünden Yeni’

ye tıklarız.

Aç: Daha önceden hazırladığımız bir projeyi veya Scratch programını kurarken program

ile birlikte yüklenen örnek projeleri açmak, üzeri

nde çalışabilmek için Dosya menüsündeki Aç’ a tıklarız.

Farklı Kaydet: Daha önceden kaydettiğimiz bir projeyi farklı bir isimle kaydetmek

istiyorsak Farklı Kaydet’ e tıklarız.

Projeyi içe aktar: Daha önceden kaydettiğimiz bir projenin karakterlerini ve kodlarını şu

anda açık olan projeye aktarmamızı sağlar.

MENÜLER

9 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

Dışa karakter aktar: Projemizde şuanda seçili olan karakterimizi daha sonra başka

projelerde kullanabilmek için, Dışa aktar seçeneği ile kaydedebiliriz.

Proje notları: Proje ile ilgili notlar alıp daha sonra bu notlara bakabilir veya notları

düzenleyebiliriz.

Çık: Scratch programından çıkış yapmamızı sağlar.

DÜZENLE MENÜSÜ

Düzenle menüsünde 6 seçenek bulunur. Bu seçenekler işimize daha çok yarayacak 5 tanesi

ile neler yapabileceklerimize bakalım.

Silmeyi geri al: Scratch’ te çalışırken sildiğimiz bir şeyi o anda geri alabilmek için düzenle

menüsünde yer alan Silmeyi geri al’ a tıklayarak bunu sağlayabiliriz.

Adım adım çalışmayı başlat: Bu seçenek hazırlamış olduğumuz kodların her birini

çalışma anında ayrı ayrı görebilmemizi sağlar. Projenin çalışma esnasında programın

akışını görebiliriz aynı zamanda bir hata ile karşılaşıldığında bu düzen ile hatayı bulmamız

kolaylaşır.

Bir adımlık kurulum: Bu seçeneğimiz Adım adım çalışma mantığıyla aynı olup, farkının

bir sefer çalıştırmalık olup bizlere farklı çalıştırma hızı seçeneği sunmasıdır. (Yüksek hız,

Falsh blokları (hızlı) … )

Sesleri/Resimleri sıkıştır: Proje içerisinde kullandığımız sesleri/resimleri sıkıştırarak

kapladıkları yer miktarını azaltabiliriz.

MENÜLER

10 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

PAYLAŞ MENÜSÜ

Bu Projeyi İnternette Paylaş: Bu seçenek daha önceden bahsettiğimiz Projeyi Paylaş

ikonu ile aynı görevi üstlenmiştir. Hazırladığımız projemizi Scratch web sayfası üzerine

yüklememizi sağlar.

Scratch Web Sayfasına git: Bu seçeneğe tıkladığımızda web tarayıcınızda Scratch ana

sayfasına gidilir.

YARDIM MENÜSÜ

Yardım Menüsü anlayamadığımız ya da merak ettiğimiz konulara göz atabilmemizi sağlar.

MENÜLER

11 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

EKRAN

Hazırladığımız projemizin canlandığı yerdir. Oyunlarımız, animasyonlarımız,

hikayelerimiz bu ekranda hayat bulur.

Ekran 480 birim genişlikte ve 360 birim uzunluktadır. Scratch ekranı aslında bir

koordinat düzlemidir. Scratch programı açıldığında karşımıza çıkan kedi karakteri

başlangıçta (0,0) noktasındadır.

EKRAN

12 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

SİMGELER

Damga Simgesi ile var olan karakterimizi çoğaltabiliriz.

Makas Simgesi ile istediğimiz bir karakteri silebiliriz.

Bu simgeyi seçerek karakterimizin üzerine tıkladığımızda karakterimizi istediğimiz kadar büyültebiliriz.

Bu simgeyi seçerek karakterimizin üzerine tıkladığımızda karakterimizi istediğimiz kadar küçültebiliriz

1

2

1.

2.

Bu seçeneği Yazı alanımızı daha büyük Sahne alanımızı daha küçük görmek için seçebiliriz.

Bu seçeneği Sahne alanımızı daha büyük Yazı alanımızı daha küçük görmek için seçebiliriz.

Bu simgeyi seçtiğimiz andan itibaren ekranımız bilgisayar ekranını kaplar projemiz sunum durumuna geçer. Bu seçeneği projemiz tamamlandığında olayları görebilmek için seçmek daha uygun olur.

13 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

3

SİMGELER

Kırmızı daire ile projemizde çalışan her şeyi durdurarak ilk hale getirebiliriz.

Yeşil bayrak ile projemizi çalıştırabiliriz

3.

5

4.

4

Bu simge mause’umuzun x ve y konumunu gösterir.

5.

Dosyadan yeni karakter seç simgesi ile var olan örnek bir karakteri seçip projemize ekleyebiliriz.

Yeni karakter seç simgesine tıklayarak kendimiz karakter çizerek projemize yeni bir karakter ekleyebiliriz.

Sürpriz karakter getir seçeneği ile Scracth programı bize rastgele bir karakter seçerek projemize ekler.

14 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

ŞİMDİKİ KARAKTER BİLGİSİ

Bu kısımda karakterimizin adı, x-y pozisyonu ve yön bilgisi yer almaktadır.

Karakterimizin isminin yazdığı yere tıklayarak karakter adını değiştirebiliriz. Karakter

adının yanında yer alan kilide tıklanarak karakterin web üzerine taşınabilme izni açılır veya

kapatılır. Karakterin yönü, proje çalışmaya başladığında karakterin hangi yöne gideceğini

belirtir.

1. Tıklanırsa karakter kostümü 360° dönebilme özelliği kazanır.

2. Tıklanırsa karakter kostümü sağa-sola dönebilme

3. Tıklanırsa karakter kostümü hiç bir şekilde dönemez.

Karakterin üzerine çift tıklandığında x, y ve yön değerleri kabul değerlerine (x=0, y=0,

Yön= 90) döner.

YAZILAR

Scratch ile bilgisayar programı yazmak için kodların bloklar halinde üs üste ve yan yana

bir araya getirilmesi gerekir. Scratch programının Çek-Bırak özelliği sayesinde karakterin

arzu edilen şeyleri yapabilmesi için yazılar bölümünde kod blok dizileri oluşturulur.

SİMGELER

1

2

3

15 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

KOSTÜMLER

Karakterimizin başka görünümlerinin olmasını istiyorsak kamera ile çekilebilir

kendimiz çizebilir ya da içe aktarabiliriz. Var olan kostümleri ‘X’ butonuna basarak

silebiliriz, ‘Düzenle’ butonu ile kostümü düzenleyebiliriz veya ‘Kopyala’ butonu ile

kostümün aynısından bir tane daha ekleyebiliriz.

SESLER

Karakter için var olan sesleri görebilmek için bu bölüme tıklarız. Bu bölümden yeni

sesler ekleyebilir (Kayıt/İçeri Aktar), var olan sesi dinleyebilir veya silebiliriz.

SİMGELER

16 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

3. BLOK PALETİ

Blok Paletinde karakterleri programlayabilmek için kullanılan bloklar vardır. 6 ana

kategoride toplanmış blok grubu bulunmaktadır.

HAREKET:

Hareket bloğunda yer alan blokların işlevleri tablodaki gibidir.

Karakteri öne ya da arkaya doğru hareket ettirir.

Karakterin istenilen derece kadar saat yönünde dönmesini sağlar.

Karakterin istenilen derece kadar saat yönü tersine dönmesini sağlar.

Karakterin hangi yöne döneceğini belirler. (0= yukarı, 90= sağ,180= aşağı, -90= sol)

Karakteri ‘mause işaretçisi’ veya başka karakterler varsa istenilen ‘karakter’ e doğru döndürülür.

Karakteri istenilen x ve y konumuna getirir.

Karakter ‘mause işaretçisi’ veya başka karakterler varsa istenilen ‘karakter’ ile aynı konuma gönderilir.

Karakter belli bir süre içerisinde belirlenen x ve y konumuna hareket eder.

Karakterin bulunduğu konumun x değeri istenilen değer kadar arttırılır veya azaltılır.

Karakterin x konumunu istenilen değere çeker.

Karakterin bulunduğu konumun y değeri istenilen değer kadar arttırılır veya azaltılır.

Karakterin y konumunu istenilen değere çeker.

Karakter ekranın kenarına değdiği an karakteri ters yöne döndürür.

Karakterin x pozisyonu bilgisini verir. Bu seçenek işaretlendiğinde x değerini ekranda görebiliriz.

Karakterin y pozisyonu bilgisini verir. Bu seçenek işaretlendiğinde y değerini ekranda görebiliriz.

Karakterin yön bilgisini verir. Bu seçenek işaretlendiğinde yön bilgisini ekranda görebiliriz.

MENÜLER

17 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

GÖRÜNÜM:

Görünüm bloğunda yer alan blokların işlevleri tablodaki gibidir.

Karakteri istenilen kostüme geçmesini sağlar.

Karakterin o anki kostümünden bir sonraki kostümüne geçmesini sağlar.

Karakterin o anki kostüm bilgisini verir. Yan tarafındaki kutu işaretlendiğinde ekranda kostüm bilgisi görülür.

Karakter istenilen süre boyunca ‘Merhaba’ yazan kutudaki değeri ekranda konuşma balonu içerisinde gösterir.

Karakter ‘Merhaba’ yazan kutudaki değeri ekranda balon içerisinde gösterir. Kutu içerisi boş bırakılırsa konuşma balonu oluşmaz.

Karakter istenilen süre boyunca ‘Hmm…’ yazan kutudaki değeri ekranda düşünme balonu içerisinde gösterir.

Karakter ‘Hmm…’ yazan kutudaki değeri ekranda balon içerisinde gösterir.

Karakterin rengi, balıkgözü, Hızlı dön, Piksellere böl, mozaik, parlaklık, hayalet efekti sayı yazan yerdeki değer kadar değişir.

Karakterin rengi, balıkgözü, Hızlı dön, Piksellere böl, mozaik, parlaklık, hayalet efekti sayı yazan yerdeki değer olur.

Karakter üzerinde uygulanmış bütün efektleri geri alır.

Karakterin boyunu istenilen değer kadar değiştirir.

Karakterin boyu istenilen %’ ye getirilir.

Karakterin ebat değerini % olarak verir. Yan tarafındaki kutu işaretlendiğinde ebat değeri ekranda görünür.

Karakteri ekranda görünür hale getirir.

Karakteri Ekranda görünmez yapar.

Karakterin diğer bir üst katmana çıkmasını sağlar. Böylece karakter diğer karakterlerin önünde görünebilir.

Karakterin istenilen katman değeri kadar geri gitmesini sağlar. Böylece karakter diğer karakterlerin arkasında gizlenebilir.

MENÜLER

18 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

SES:

Ses bloğunda yer alan blokların işlevleri tablodaki gibidir.

Seçili olan müzik çalmaya başlar. Program müziğin bitmesini beklemeden diğer blokları çalıştırmaya devam eder.

Seçili olan müzik çalmaya başlar ve bitene kadar diğer bloğa geçilmez.

Çalmaya devam eden müzikler bu blok çalıştığında durur.

48 (davul) sesini istenilen istenen sürede bir çalar. (48 sesinin bulunduğu yer açılır menüdür ve ses buradan değiştirilebilir.)

İstenilen vuruşun bitmesini bekler.

İstenilen notayı istenilen sürede bir çalar.

Enstrümanı değiştirmeyi sağlar.

Sesi azaltır ya da arttırır.

Ses yüksekliğini belli bir % ye getirir.

O anki ses seviyesi bilgisini verir. Yan taraftaki kutu işaretlendiğinde ekranda ses bilgisi % olarak görünür.

Tempo değeri istenilen değere olarak belirlenir.

Tempo değeri saniyede istenilen vuruş değeri yapılır.

O anki tempo değeri bilgisini verir. Yan taraftaki kutu işaretlendiğinde ekranda tempo değeri görünür. (20-500)

MENÜLER

19 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

KALEM:

Kalem bloğunda yer alan blokların işlevleri tablodaki gibidir.

Ekrana kalem ile çizilenlerin hepsini siler.

Karakterin hareket ettiği doğrultuda kalem ile ekranı çizer.

Karakterin hareket ettiği yerler çizilmez.

Kalem rengi istenilen renk değerine geçer.

Kalem rengi bu blok çalıştığında istenilen değer kadar değişir.

Kalem renginin istenilen değer olması sağlanır.

Kalem gölgesi istenilen değer kadar değiştirilir. (kalem gölgesi 0’ dan 100’ e doğru açılır, 100’ den 200’e doğru koyulaşır.)

Kalem gölgesi istenen değer olur.

Kalem boyu istenen değer kadar değişir.

Kalem boyu istenen değer olur.

Karakterin o anki konumunda ekrana kendi imajını yapıştırır.

MENÜLER

20 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

KONTROL:

Kontrol bloğunda yer alan blokların işlevleri tablodaki gibidir.

Proje içerisinde yeşil bayrağa tıkladığında bu blok altında sıralanmış kod kümesini çalıştırır.

Seçilmiş olan tuşa (burada boşluk tuşu seçilmiş) basıldığında bu blok altında sıralanmış kod kümesini çalıştırır.

Karaktere tıklandığında bu blok altında sıralanmış kod kümesini çalıştırır.

Projeyi istenilen süre kadar bekletir, süre tamamlanınca sıradaki bloktan çalışmaya devam eder.

Bu blok içerisinde bulunan bloklar sırasıyla program durdurulana kadar tekrar tekrar çalıştırılır (sonsuz döngü).

Bu blok içerisinde bulunan bloklar sırasıyla istenilen değer kadar tekrar tekrar çalıştırılır.

Bu blok ile yeni duyurular yazarak komut kümelerini çalıştırmak için yeni bir blok oluşturmuş oluruz. Bu blok çalıştığında yapılan duyurunun ardından kendi icrası devam ederken bu duyuruya ait kod kümesi de icraya başlar.

Yapılan duyurunun ardından bu bloğun altında kod kümesi var ise bu duyuruya ait kod kümesinin icrasını bekler, bitiminden sonra kendi icrasına devam eder.

Yapılan duyurunun ardından bu blok altındaki kod kümesi çalışır.

Eğer’ in ardından gelen koşulun doğru olması durumunda program bu blok içerisine girer ve içerideki blokları sürekli olarak (sonsuz döngü) çalıştırır. Koşul doğru değil ise bu blok içerisine girilmez.

Eğer’ den sonra gelen koşul doğru ise program bu blok içerisine girer ve bu blokları çalıştırır, ardından bu blok içerisinden çıkarak sonraki bloktan çalışmaya devam eder.

Eğer koşul doğru ise hemen altında yer alan kod blokları icra edilir ve bu kod bloğundan çıkılarak program icraya devam eder. Eğer koşul yanlış ise ‘öyle değil ise’ kısmında yer alan bloklar icra edilir, icradan sonra bu bloktan çıkılarak program akışı kaldığı yerden devam eder.

Koşul doğru olana kadar beklenir, koşul doğru olunca aşağıdaki bloklar çalışmaya başlar.

Koşul doğru olunca blok içerisine girilerek kodlar icra edilir. Koşulun her döngüde doğru olması halinde icra devam eder. Koşul doğrulanmadığı halde altındaki kodlar çalıştırılır.

Bulunduğu blok kümesini durdurur.

Proje içerisindeki bütün kod kümelerini durdurur.

MENÜLER

21 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

ALGILAMA:

Algılama bloğunda yer alan blokların işlevleri tablodaki gibidir.

Karakterimizin karaktere/ Mause işaretçisine/ kenara değip değmediği kontrolünü yapar. (seçim için açılır menüye tıklayın.)

Karakterin seçilen renge değip değmediği kontrolünü yapar. (Rengi değiştirmek için renk üzerine tıklayıp açılan pencereden renk seçin.)

Karakterin üzerindeki seçtiğiniz rengin seçtiğiniz bir başka renge değip değmediği kontrolünü yapar.

Sormak istediğiniz soruyu ‘Adın ne?’ kısmına yazarak Karakterin konuşma balonunda bu soruyu sormasını sağlarsın. Sorunun ardından klavyeden yanıt girmen beklenir.

Sor ve bekle komutu ardından verdiğin yanıt bu ‘yanıt’ buluğunda tutulur. Blok yanındaki kutuya tıkladığında vermiş olduğun yanıt proje ekranında görünür.

Farenin x koordinatını verir.

Farenin y koordinatını verir.

‘Fare basılı’ mı kontrolü yapar.

Seçili olan tuşa basılı olma durumunu kontrol eder.

Karakterin açılır menüden seçtiğimiz başka bir karakter ya da mause işaretçisiyle arasında olan mesafe bilgisini verir.

Sayacı sıfırlar.

Program içerisinde proje açılmasından itibaren geçen süre bilgisini tutar. Yan taraftaki kutuya tıklandığında proje ekranında bu süre bilgisi görünür.

Seçili olan karakterin/sahnenin seçenekler dahilindeki (x koordinatı/ y koordinatı/ yön/ şu anda görünen kostüm/ ebat/ ses seviyesi) bilgisini kullanabilmemizi sağlar.

Ses yüksekliği bilgisini barındırır.

Bu blok Scratch tahtası ile birlikte kullanılır. Tahtada bulunan düğmeye basıldığı, A girişi/ B girişi/ C girişi/ D girişi bağlandı kontrolünü yapar.

Bu blok Scratch tahtası ile birlikte kullanılır. Öğrenmek istenilen (sürgü, ışı, ses, direnç-A, direnç-B, direnç-C, direnç-D, eğim, mesafe) sensör değerini barındırır

MENÜLER

22 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

OPERATÖRLER:

Operatörler bloğunda yer alan blokların işlevleri tablodaki gibidir.

Boş kutulara yazılan iki değeri toplar.

İlk kutudaki değerden ikinci kutudaki değeri çıkarır.

İki değeri çarpar.

İlk kutudaki değeri ikinci kutudaki değere böler.

Belirtilen iki değer arasında rastgele bir sayı üretir.

İlk kutudaki değerin ikinci kutudaki değerden küçük durumu kontrolü yapılır.

İki değerin bir biri iler eşitliği durumu kontrolü yapılır.

İlk kutudaki değerin ikinci kutudaki değerden büyük durumu kontrolü yapılır.

Belirtilen iki koşulunda doğruluk kontrolünü yapar.

Belirtilen iki koşuldan en az birinin doğru olması durumunu arar.

Koşulda verilen durumun olmaması istendiği durumlarda bu blok kullanılır.

İstenilen iki değeri metin olarak birleştirilir.

İstenilen değerin hangi sırasındaki harfi isteniyor ise bu blok ile bu bilgi elde edilir.

Değerin uzunluk bilgisini bu blok ile elde edilir.

Bu blok ilk kutuya yazılan değerin ikinci kutuya yazılan değere göre modu bulunurken elde edilen kalan bilgisini verir.

İstenilen değerin en yakın tam sayıya yuvarlanmasını sağlar.

Matematiksel terimleri bulabileceğimiz (mutlak değer, karekök, sin, cos, tan, asin, acos, atan, ln, log, e^, 10^) bu blok ile kutuya yazılan değerin karşılığını bilebilir ve bu değeri sayısal işlemlerde kullanabiliriz.

MENÜLER

23 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

DEĞİŞKENLER:

Değişkenler bloğunda yer alan blokların işlevleri tablodaki gibidir.

Bu blok ile yeni bir değişken oluştururuz.

Bu blok ile var olan istediğimiz bir değişkeni sileriz.

Oluşturulan ‘değişken’ isimli değişken verisi. (Kuru işaretlendiğinde ekrande değişken değerinin ne olduğu görünür.)

Var olan değişkenlerden istenilen seçilerek istenilen değer yapılır.

Var olan değişkenlerden istenilen değişken değeri arzu edilen rakam kadar değiştirilir.

Var olan değişkenlerden istenilen değişkeni ekranda gösterir.

Değişkene sahipsem ‘Liste oluştur’ seçeneği açılır. Bu blok ile bir lise oluşturulur.

Var olan bir listeyi buradan silebilirim.

Liste bilgisini barındırır. Kutu işaretlendiğinde liste içeriği ekranda görünür.

İstenen listeye yeni bir nesne eklemeyi sağlar.

İstenen listeden ilk/son yada bütün elemanları çıkartılır.

İstenen listenin ilk/son veya herhangi bir sırasına yeni bir nesne eklenir.(Eski bilgi silinmez, bu bilgi bir sonraki eleman olarak kaydırılır.)

İstenen listenin ilk/son veya herhangi bir sırasındaki eleman ı yerine yeni nesnemiz eklenir.

İstenen listenin ilk/son veya herhangi bir sıradaki elemanı bilgisini barındırır.

İstenen listenin eleman sayısı bilgisini barındırır.

İstenilen değerin seçilen listede olma durumunu kontrol eder.

MENÜLER

24 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

SENSOR BOARDS

Picobords ile scratch arasında bağlantı kurarak tasarladığımız scratch projelerinin gerçek dünyadaki etkilerini görme fırsatı buluruz.

Ayrıntılı bilgi için aşağıdaki linki ziyaret edebilirsiniz.

http://info.scratch.mit.edu/Sensor_Boards

MENÜLER

25 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

• Bir değişken oluşturalım.

• «Değişken oluşturun» kısmına tıklayıp sabit isimli bir değişken oluşturalım.

• Ekranın sol kısmında «sabit» değişkenimiz oluştu. Sağ taraftaki beyaz ekranın sol üst köşesinde sabitimiz yerleşti.

DEĞİŞKENLER

26 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

OPERATORLER

Operatorler:

Dört işlem yapmak için + - * /

operatorlerini kullanacağız.

Karşılaştırma yapmak için

< , = , > operatorlerini kullanacağız.

Soldaki menuden

« + - * / » işlemleri tutup yazılar

kısmına sürüklüyoruz.

Kutucukların içine sayılar

yazabiliriz.

Örnek: • 4 + 4 • 7 - 2 • 5 * 3 • 146 / 4

Kutucukların üzerine tıkladığımızda

işlem sonucunu ‘’baloncuk’’ içerisinde

görebiliriz.

OPERATÖRLER

27 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

Operatörler menüsündeki diğer işlemleri inceleyelim.

OPERATÖRLER

28 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

OPERATÖRLER

29 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

İŞLEM PROGRAMI

BiRÇOK DEĞiŞKENLE iŞLEM

İŞLEMLER

30 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

İÇİÇE OPERATÖRLER

İŞLEMLER

31 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

ÇOKLU İŞLEM OLUŞTURMA

İŞLEMLER

32 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

İŞLEMLER

33 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

Programımız:

Ekran Görüntüsü:

İŞLEMLER

34 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

.

LiSTE OLUŞTURMA

• Değişenler -> Listele kısmında bir liste oluşturacağız. Liste dediğimiz, birçok karakteri bir arada tutan karakter dizisidir.

• Listele’ye tıklayıp: harfler isimli, bir liste oluşturalım.

LiSTE DOLDURMA

• Oluşturduğumuz harfler listesine harf ekleyelim. Değişkenler kısmına gelip bir kod parçası ile listemize harf ekleyebiliriz.

• harfler listemize a,l,i harflerini ekledik sırasıyla.

LİSTE OLUŞTURMA

35 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

LiSTEDE HARF ARAMA

• Oluşturduğumuz listede herhangi bir harfi arayan program yazalım. Bir listede harf

aramak için şunu kullanırız:

• Harfler listemizde ‘i’ harfinin olup olmadığını kontrol edelim.

LİSTE UZUNLUĞU

LİSTE İŞLEMLERİ

36 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

KONTROL

Koşullu işlemlerle örnekler

KONTROL

37 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

KOŞULLU İŞLEMLER

38 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

TEKRARLI İŞLEMLER

Aynı işlemi istediğimiz sayıda yaptırmak için şu kod parçalarını kullanırız

Ekrana sürekli Merhaba yazdırmak için :

‘’Sürekli’’ kontrol yapısını kullanırsak ekranda ‘’Merhaba’’ yazısı hiç kaybolmaz.

TEKRARLI İŞLEMLER

39 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

sayı isimli bir değişken oluşturalım. sayı’ya ilk olarak 0 atayalım.

sayı’yı 15 olana kadar 1 ile toplayalım ve sayı’yı ekrana yazdıralım

Bir işlemi, koşula bağlı olarak tekrarlı yaptırmak için:

İki değişken oluşturalım. Değişken isimleri flag ve sayı olsun. flag’i 1 yapalım, sayı’yı 0 yapalım.

flag = 1 ise sürekli sayı değişkenine 1 ekleyip ekrana yazdıralım.

Ekrana baktığımızda sayı değeri sürekli değişmektedir. Kodu yazıp

deneyelim. Yeşil Bayrak’a tıklayıp ekrana bakalım.

TEKRARLI İŞLEMLER

40 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

Verilen bir sayının karesini bulan program yazalım.

Önce kullanıcıdan bir sayı girmesini isteyelim.

ÖRNEKLER

41 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

4’ ün karesini hesaplamak için; yanıt değerini kendisiyle çarparız.

Ve sonucu ekrana yazdırırız.

Kullanıcı 4 girdi ve 4’ün karesini hesaplayıp ekrana yazdırmış olduk.

ÖRNEKLER

42 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

Bir sayının faktöriyelini, 1’ den başlayarak kullanıcının girdiği sayı’ya kadar, tüm

sayıları çarparak buluruz.

Örneğin, kullanıcı 5 girdiyse, 1’den itibaren 5’e kadar

1,2,3,4,5 sayılarını çarparak buluruz.

5! = 1 * 2 * 3 * 4 * 5 = 120

ÖRNEKLER

43 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

ÖRNEKLER

44 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

Faktöriyel Programımız :

ÖRNEKLER

45 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

Fibonacci Sayılar

• Fibonacci sayılarını bulalım. • Kendisinden önce gelen iki sayının toplamı olan sayılara fibonacci sayıları diyoruz. • 1 1 2 3 5 8 13 21 34 55 … • Elimizde iki değişken olmalı. Fibonacci sayıların hesaplanmasında ilk başta iki tane 1’e ihtiyaç

var. • 1 1 1 + 1 = 2 • 1 + 2 = 3 2 + 3 = 5 • 3 + 5 = 8 5 + 8 = 13 • 8 + 13 = 21 13 + 21 = 34

ÖRNEKLER

46 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

ÖRNEKLER

47 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

Fibonacci Programımız:

ÖRNEKLER

48 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

TRIANGULAR SAYILAR

1 + 2 = 3 1 + 2 + 3 = 6 1 + 2 + 3 + 4 = 10 1 + 2 + 3 + 4 + 5 = 15

1 + 2 + 3 + 4 + 5 + 6 = 21

3 , 6 , 10 ,15, 21 … gibi sayılara Triangular Sayılar diyoruz.

1’den başlayarak ardışık sayıların

toplamının sonucunda Triangular Sayıları

elde ediyoruz.

Bir Scratch Programı yapalım. Bize birçok sayıdan oluşan bir tablo verilsin. Tablodaki Triangular sayıları bulalım. Doğru bulursak ‘’Tebrikler!Doğru bildin!’’mesajı versin, yanlış Bulursak ‘’Üzgünüm!Yanlış bildin!’’ mesajı versin.

ÖRNEKLER

49 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

Palindromic Sayılar 121 12421 56865

50605 1478741 1234321

Soldan ve sağdan bakıldığında aynı olan sayılara Palindromic sayılar deriz. Palindromic Sayıları bulmak için bir Scratch Programı yazalım.

Kullanıcı 122565221

sayısını

girince program o sayıyı

kontrol ediyor.

Palindromic Sayı olup

olmadığını söylüyor.

Palindromic Kelimeler ey edip adanada pide ye

küllük kılık neden

kabak milim niçin

Soldan ve sağdan bakıldığında aynı olan kelimelerdir.

Palindromic Kelimeleri bulmak için bir Scratch Programı yazalım.

Kullanıcı bir kelime girsin. Program da girilen kelimenin Palindromic kelime olup

olmadığını kontrol etsin.

ÖRNEKLER

50 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

Star Sayılar Bir program yazalım. Verilen beş sayıdan Hangi sayının 8’e bölünmediğini

bulalım.

Star sayısını bulmak için

yazdığımız programı

inceleyelim.

Tablodaki sayıları tutmak için bir

liste oluşturalım.

Ve listeye sayıları ekleyelim.

Ekrana sayıları düzenli

yerleştirmek için boşlukları da

listeye ekliyoruz.

Sayılar isimli bir liste oluşturuldu

ve tablodaki sayılar eklendi.

Sayı değişkeni oluşturduk ve

değerini 8 yaptık.

ÖRNEKLER

51 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

Star sayısını bulmak için yazdığımız programı inceleyelim. Tablodaki sayıları tutmak için bir liste oluşturalım. Ve listeye sayıları ekleyelim. Ekrana sayıları düzenli yerleştirmek için boşlukları da listeye ekliyoruz.

• Sayılar isimli bir liste oluşturuldu ve tablodaki sayılar eklendi. • Sayı değişkeni oluşturduk ve değerini 8 yaptık.

doğruCevap isimli bir

değişken daha oluşturduk.

Ve değerini 226 yaptık.

226 8’e bölünmez.

ÖRNEKLER

52 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

Programımız :

ÖRNEKLER

53 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

Renk Değiştiren Kedi Bir Scratch uygulaması yapalım.

Yeşil bayrağa tıklandığında sürekli rengi değişen bir kedi ve sürekli rengi

değişen bir arka planımız olsun. Bunun için kolay anlaşılır bir algoritma

yaparız. Tıkladığımızda sürekli 0.5 saniye aralıklarla rengini değiştiren bir

karakter yapmamız aşağıdaki gibi mümkündür.

Arka plan için kendi oluşturduğumuz renklerdeki sahneleri kullanarak

bu sahnelerin sürekli değişmesini aşağıdaki gibi sağlarız.

ÖRNEKLER

54 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

Yüzen Adam Karakter olarak bir dalgıç seçtik.Sualtında yüzen bir dalgıç için

acaba nasıl bir algoritma tasarlamalıyız ?

Şekildeki gibi bir kod bunun için yeterli olacaktır. Sahnemizi ise

kütüphanemizde hazır bulunan sualtı sahnesini kullanarak yaptık.

ÖRNEKLER

55 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

Dans Eden Yengeç

ÖRNEKLER

Karakter olarak seçtiğimiz yengecin dans etmesi için yeşil bayrağa tıkladığımızda yengeç verdiğimiz komutlarla hareket etmeye başlıyor.

Ek olarak programımıza ses özelliği

kattık.

56 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

Çiçek Çizimi

ÖRNEKLER

Sürekli rengi değişen bir çiçek

çizmek ister misiniz?

Kalem rengini ve açıyı sürekli

değiştirerek bu mümkündür.

57 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

Köpekbalığı ve kaçan balıklar

ÖRNEKLER

Bir denizde yüzen köpek balığı ve

ondan kaçan altı küçük balığın

macerasına hazır mısınız?

Karakterlerimizin hepsi için

alttaki kodu kullanırız.Yeşil

bayrağa tıklandığında kaçış

başlamış olur.

58 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

Beşgen Çizme

ÖRNEKLER

Her kenarı farklı renkte olan bir

beşgen çizmek istiyorsak ne

yapmalıyız ?

Bunu bir inceleyelim.

59 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

Yürüyen Çocuk

ÖRNEKLER

Bu programımızda karakterimize

adım attırmak ve ona yürüyüş

yaptırmak istiyoruz.

Karakter 0.2 saniye aralıklarla bir

adım atıp kostüm değiştirsin .

Bunu nasıl yapmalıyız?

60 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

Dans Eden Üç Arkadaş

ÖRNEKLER

Bir sahnede dans eden üç arkadaş

adlı programımızda

kütüphanemizden 3 karakter

seçeriz ve onların belirli

komutlarla dans etmelerini

sağlarız.

Müziğimizi eklemeyi

unutmayalım.

61 17-21 Haziran 2013 / UEKAE

İlköğretim Öğrencileri İçin 2013 Kriptoloji Yaz Okulu

2013

TÜBİTAK BİLGEM UEKAE 17.06.2013