• Sonuç bulunamadı

PROGRAMLAMA (KODLAMA)

N/A
N/A
Protected

Academic year: 2022

Share "PROGRAMLAMA (KODLAMA)"

Copied!
26
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

PROGRAMLAMA (KODLAMA)

(2)

Bilgisayar:

• Verilen görevi eksiksiz yerine getiren elektronik bir alettir.

Bilgisayarları programlayarak veya daha önceden hazırlanmış

programlarını kullanarak

bilgisayara görevler veririz.

(3)

Problem:

• Kurallar yardımıyla çözülmesi istenen soru ya da durumdur. Günlük hayatımızda,

matematikte veya programlama yaparken problemlerle karşılaşırız.

• Örnek bir matematik problemi; Her gün

ailenden 5 tl harçlık alıyorsun. 10 gün boyunca ailenden toplamda kaç tl harçlık almış

olursun?

(4)

• Günlük hayattan örnek bir problem; Hansel ve Gratel’in ormanda ilerlerken, geri dönüş

yolunda evi bulamamaları. Yolu nasıl bulurlar?

• Günlük hayattan başka bir örnek problem;

Okuldaki derslerde nasıl başarılı olunur?

(5)

Durum: Belirli bir zaman dilimi içerisinde, bir olayı belirleyen şartların tümüdür.

Komut: Program içerisindeki problemin çözümüne ulaşabilmek için yazılan her bir kodun en küçük anlamlı parçasıdır.

Kod: Bilgisayar komutlarının programcılıktaki karşılığı “kod”dur.

Program: Bilgisayara verdiğimiz komutlarının bütünüdür.

Programlama: Bilgisayarın nasıl

davranacağını anlattığımız, bilgisayara yön

veren komutları bir araya getirme sürecine

denir.

(6)

Kodlama: Bilgisayara verdiğimiz “kod”ları, bir bütün haline getirmeye kodlama diyoruz.

Program yazmak: Komutlarımızı (kodlarımızı) bir alana yazıp daha sonra bilgisayara bunu

aktarmalıyız. İşte buna program yazmak denir.

Programcı: Bir problem karşısında çözüm yollarını tasarlayan ve kodları kullanarak program yazan

insanlardır.

Girdi-Çıktı: Programa işlemesi için bizim

tarafımızdan verilen her türlü değere girdi denir.

İşlem sonucunda bilgisayarın bize ilettiği değere ise

çıktı denir.

(7)

Bilgisayarlar Nasıl Çalışır?

Bilgisayarların alfabesi bizim gibi 29 harften değil sadece iki karakterden oluşur. Aslında bunlar da anladığımız anlamda harfler değildir. Elektriksel

“var” ya da “yok” durumlarını ifade eden 1 ve 0 rakamlarıdır. Belirli sayıda 1 ve 0’lar yan yana gelerek, sözcükleri oluştururlar.

VAR 1 YOK 0

M 01001101 E 01000101 R 01010010 H 01001000 A 01000001 B 01000010 A 01000001

Makine Dili – Bilgisayarın anladığı Bizim

gördüğümüz

“Harf” veya

“rakamlar” özel bir aracı program tarafından bir ve sıfırlara çevrilir (tersi de yapılır), buna derleme (compiling) denir.

Böylece

bilgisayarlarla iletişime geçeriz.

(8)

PROGRAMLAMA DİLLERİ

DÜNYA GENELİNDE KONUŞULAN BAZI DİLLER

•Türkçe

•İngilizce

•Almanca

•Fransızca

•Japonca

•Çince

•Vb.

DÜNYA GENELİNDE KULLANILAN PROGRAMLAMA DİLLERİ

•Java

•C / C++

•Python

•PHP

•Basic

•Kotlin

•Vb.

(9)

ALGORİTMA

Belirli bir problemi çözmek ve belirli bir sonuca ulaşmak için çizilen yola algoritma denir. Bilim insanı Harezmi tarafından bilime kazandırılmıştır.

Algoritma, problem çözümünün adımlar halinde yazılmasıdır.

Bir Algoritmanın Temel Özellikleri:

1. Başı olmalı 2. Basit olmalı

3. Problemin çözümünü mümkün olan en az adımla, en kısa sürede gerçekleştirmeli

4. Sonu olmalı

EK BİLGİ: Algoritma ismi, bu kavramı ilk kez kullanan El Harezmi’nin adının batı dillerindeki telaffuzundan türetilmiştir. (al Gharizmi, al Khwarizmi) 780 yılında İran’ın Harezm bölgesinde doğan Harezmi aynı zamanda 0 rakamını ve x bilinmeyenini ilk kez kullanan kişidir.

(10)

Örnek Algoritmalar

1. Diş Fırçalama Başla

Macunu diş fırçasına sür Dişlerini fırçala

Musluğu aç

Ağzını su ile çalkala Bitir

2. Evden Okula Geliş Başla

Evinden çık

Okula doğru yürü Okul bahçesine gir Bitir

3. Nescafe yapılışı Başla

Kettle’a su koy Kettle’ı prize tak

Kaynayınca prizden çek Suyu bardağa koy

Bardağa nescafe ekle Karıştır

Bitir

(11)

Akış Diyagramı (Şeması):

Algoritma adımlarının şekiller ve oklar ile ifade edilmesine yarayan bir yöntemdir.

ELİPS: Başlangıç ve Bitiş sembolü

Dikdörtgen: İşlem bloğu; bir

değer atamak, işlem yapmak

vb. Matematiksel işlemler

(12)

Eşkenar Dörtgen :Karar Bloğu; algoritmamızdaki karar verme işlemlerini

gerçekleştirirken kullanırız.

Paralel kenar: Veri Girişi; Algoritmamıza dışarıdan aldığımız (örneğin klavyeden girdiğimiz) veriler için yandaki sembolü kullanırız.

Veri Çıkışı; Algoritmadaki sonuçları ekrana yazdırmak için yandaki

sembolü kullanırız.

(13)

Altıgen: Döngü;

Tekrarlanan komutlarda kullanılır.

Oklar: Algoritmamızdaki sembolleri

birbirine bağlamak için okları kullanırız.

(14)

1. Problemi Tanımla: Algoritmasını oluştur mak istediğimiz problemi belirleyelim.

2. Çözüm Yolunu Seç: Bir problemin birden fazla çözümü olabilir. Bu aşamada en kısa olan çözümü seçmeliyiz.

3. Girdi ve Çıktı İşlemlerini Belirle: Problemimizde kullanıcıya soru sorarak almak istediğimiz bilgiler olabilir veya ekrana bir şey

yazdırmak isteyebiliriz.

4. Akış Şemasını Çiz: Problemin çözüm basamaklarını uygun şekiller kullanarak akış şeması oluştururuz.

5. Kodlamasını Yap: Akış şeması bittikten sonra uygun programlama diliyle kodlanır.

6. Programı Test Et: Programımızı çalıştırarak doğru sonuca ulaşıp ulaşamadığımızı test edelim.

Program Geliştirme Basamakları

(15)

Program Geliştirme Adımlarını Uygulamaya Bir Örnek:

Problem: Öğretmenimiz matematik dersinde sizden, söyleyeceği iki sayının farkını bularak sonucu ekrana yazdıran bir program yazmanızı istiyor.

1. Problemi Belirle: Büyük sayıdan küçük sayıyı çıkarmak.

2. Çözüm Yolunu Seç: (Algoritma) Başla

1.Sayıyı gir 2. Sayıyı gir

1.Ve 2. sayıyı karşılaştırarak büyük sayıyı bul Büyük sayıdan küçük sayıyı çıkar

Sonuç değerini (fark) ekrana yaz Bitir

3. Girdiler ve Çıktılar:

Girdi  Klavyeye girilecek 1. ve 2. sayı

Çıktı  Çıkarma işlemi sonunda ekrana yazılacak sonuç

(16)

4. Akış Şeması:

Başla

1.Sayıyı gir 2.Sayıyı gir

1.Sayıyı ve 2.sayıyı karşılaştırarak büyük

sayıyı bul

Sonuç= Büyük sayı – Küçük sayı

Sonuç değerini ekrana yazdır.

Bitir

(17)

5. Kodlamasını Yap: İstediğimiz programlama dili ile bu algoritma ve akış şemasını kodlayabiliriz. Algoritmalar kullandığımız programlama dilinden bağımsızdır.

6.Programı Test Et: Hazırladığımız programı mutlaka çalıştır ve test et.

Hata varsa hata ayıklama (debugging) yaparak hataları bulmak gerekir.

Bug  Debug

Hata Hata bulma(ayıklama) Soru: Bilgisayardaki hatalara neden “bug” denir?

Cevap: İlk bilgisayar “eniac”ın kablolarına ve mekanizmasına zarar veren bir böcekten dolayı bilgisayar arızalanmıştır. Bilgisayardaki ilk

hataya bir böcek sebep olduğu için o günden beri bilgisayardaki hatalara böcek anlamına gelen “bug” denir. Olan hataları bulma ve ayıklamaya ise “debug “denir.

(18)

AKIŞ DİYAGRAMI (ŞEMASI) ÖRNEKLERİ 1:

(19)

AKIŞ DİYAGRAMI (ŞEMASI) ÖRNEKLERİ 2:

Başla

sayı1 sayı2

Toplam = sayı1 + sayı2

toplam

Bitir

GİRİLEN İKİ

SAYIYI TOPLAYIP YAZDIRAN AKIŞ DİYAGRAMI

(20)

AKIŞ DİYAGRAMI (ŞEMASI) ÖRNEKLERİ 3:

Başla

Lambanın fişi takılı

mı?

Ampül patlak mı?

Çalışıyor mu?

Bitir

Fişi tak

Ampül değiştir

Yeni masa lambası al Evet

Evet

Evet

Hayır

Hayır

Hayır

LAMBA

ÇALIŞIYOR MU?

AKIŞ DİYAGRAMI

(21)

DÖNGÜLER

Döngü, tekrarlanan işlemleri anlatmak için kullanılan bir kavramdır.

Örneğin; karakterimiz 10 adım ileri gidecek. “İleri git”

komutunu 10 kez yazmamız gerekiyor. Zaman alıcı değil mi?

Çünkü aynı satırları alt alta yazmak zorunda kaldınız.

Peki ya 100 adım ilerletseydik ? veya 1000, 10.000, 100.000 adım?

İyi bir programcı az sayıda kod satırı yazarak işini tamamlar.

Peki nasıl yapacağız?

Basit bir düzenleme ile aynı sonucu elde edebileceğimiz bir program yazabiliriz. İşte programlamada kullandığımız

döngü komutu bu işlemi bir kere tanımlandıktan sonra

defalarca yapmamızı sağlar.

(22)

DÖNGÜ TÜRLERİ

FOR DÖNGÜSÜ

Döngüleri belli bir sayı kadar tekrar ettirmek istiyorsak bu döngülere “for”

döngüsü diyoruz. Yukarıda bahsedilen örnekte döngümüzü 10 kez tekrarlatıp tamamlanmasını sağlıyoruz.

WHILE DÖNGÜSÜ

Bazen döngümüzü belli bir sayı kadar değil, bir koşul sağladığı sürece devam ettirmek isteriz. Bu döngülere de “While” döngüleri diyoruz. Bu koşul, önümüzde yol olduğu sürece ilerlemek, tabağımızdaki yemek bitene kadar yemek olabilir.

Belli bir sayıda ya da belli bir koşul sağlandığı sürece tekrarlanmasını istediğimiz bölümler var ise bu komutları döngü içerisine alırız.

(23)

İÇ – İÇE DÖNGÜLER

Bir döngü yapısının içine başka bir döngü yapısının

yerleştirilmesiyle elde edilen yapıya “iç içe döngü” adı verilir.

İç içe döngü oluştururken dikkat edilmesi gereken nokta; ilk

olarak içteki döngülerin tamamlanması gerektiğidir. Yani, en

içte olan döngü tamamlanır ve dışarı doğru diğer döngüler

tamamlanır.

(24)

KOŞUL YAPILARI (if – else) (Eğer – Değilse)

Programımızın farklı durumlara göre farklı işlemler yapmasını istiyorsak koşul yapılarını kullanırız. Koşul yapıları ile programımızın bir durum karşısında ne yapması gerektiği konusunda onu yönlendirebiliriz.

Günlük hayatımızdan birkaç örnek;

•Eğer karnın acıktıysa yemek yemelisin.

•Dışarı çıkarken pencereden bak. Eğer yağmur yağıyorsa, şemsiyeni almalısın.

Eğer (if) Yapısı :

Bazı eylemlerin oluşmasını, ancak belirli bir koşulun (şartın) sağlanması durumunda isteyebiliriz. Eğer yapısı, program içerisindeki bir koşula bağlı işlemler olduğu zaman kullanılması gereken bir yapıdır.

Eğer Değilse (if else) Yapısı :

Program, eğer(if) bloğunun bulunduğu satıra geldiğinde içerisindeki koşulu kontrol eder. Bu koşulun mutlaka doğru ya da yanlış bir koşul olması gerekir ki program bir karara varabilsin. Aksi halde program hata verir. Koşulun durumu doğru ise “eğer(if)” bloğu içerisindeki komutlar çalıştırılır. Koşulun durumu yanlış ise “değilse (else)” bloğu içerisinde komutlar çalıştırılır.

(25)

Günlük hayattan birkaç örnek;

•Elif arkadaşlarıyla dışarı çıkarken annesi Elif’e seslenir.

--- Elif, eğer hava yağmurluysa spor ayakkabılarını giy, Eğer yağmurlu değilse sandaletleri giy.

• Eğer hava sıcaksa tişört giy, kazak giy.

(26)

KAYNAKÇA

Temel Kodlama Eğitimi 1; İ.Turan, M.Akça, M.Küçükkurt; Pusula Yayıncılık.

Temel Kodlama Eğitimi 2; İ.Turan, M.Akça, M.Küçükkurt; Pusula Yayıncılık.

Çocuklar İçin Kodlama; Z. Demirkol; Pusula Yayıncılık.

5.Sınıflar Bilişim Teknolojileri ve Yazılım Dersi Öğretmen Rehberi.

Referanslar

Benzer Belgeler

Not:İkinci bellek olan harddisk, disket gibi aygıtlar hem girdi hem çıktı aygıtı olarak sınıflandırılırlar...

From these figures, we indicated that, the daily average of global solar radiation KWh/m 2 as seen from ERA5 gives an almost good approximation to the measured

 Uygulamadan başlayarak öğrencilerin bireysel ve genel, konu ile ilgili olarak değerlendirilmesi.  Konuya uygun eğitsel

 Hypertext Markup Language (HTML ) belgelerin birbirlerine nasıl bağlanacaklarını ve belge içindeki metin ve resimlerin nasıl yerleşeceklerini belirleyen ve etiket (tag )

• VAL:Bellekte metin olarak tutulan rakamı, sayısal işlemlerde de kullanılabilecek halde sayı değerine dönüştürür. • STRING$: Aynı karakterden çok sayıda

Daha sonra, AsalKontrol altyordamı i değerini alır ve i’nin bir asal sayı olup olmadığını hesaplar. Sonuç, daha sonra altyordamın

Ancak dikkat edilecek olursa a değişkeninin değeri döngü içinde 1 arttırılmaktadır. Bu nedenle değişkenin değeri 5 ten büyük hale geldiğinde artık koşul sağlanamamakta

Aş ağ ı daki sorulardan; sonunda parantez olanlar doğ ru / yanlı şsoruları dı r. Verilen ifadeye göre parantez içine doğ ru ise “D”, yanlı şise “Y” yazı nı z. Bilgisayar