You are on page 1of 10

Bilgisayar Bilimi Ders Notları-1

1. ÜNİTE ETİK, GÜVENLİK VE TOPLUM  Bilgiyi aktaran İnternet sitesinin adresi kontrol
Etik Değerler edilmelidir. Alan adı uzantıları birçok İnternet sitesi için
Bireylerin ahlaklı ve erdemli bir hayat yaşayabilmesi için fikir verebilir.
hangi davranışlarının doğru, hangilerinin yanlış olduğunu
araştıran bir felsefe dalıdır. Alan Adı Uzantıları

Bir konuya ya da belirli bir meslek dalına özgü etik .com ya da .net alan adı uzantısına sahip İnternet siteleri
davranışların tamamı etik değerler olarak tanımlanabilir. ticari amaçlı sitelerdir.
.gov: Devlet kurumlarının resmî sitelerinin uzantısıdır.
Bilişim teknolojilerinin ve İnternet’in kullanımı sırasında .org: Ticari amacı olmayan vakıf, dernek ve organizasyonların
uyulması gereken kuralları tanımlayan ilkelere bilişim etiği kullandığı uzantıdır.
denir. .edu: Üniversite ve akademik kuruluşların siteleri için
kullanılır.
Bilişim Teknolojileri ve İnternet Kullanımında Dikkat .k12: Okul öncesi, ilkokul, ortaokul ve lise gibi eğitim
Edilmesi Gereken Etik İlkeler kurumlarına ait uzantıdır.

Bir yazın, bilim ya da sanat yapıtını yaratan kişinin, bu yapıtla


ilgili haklarının tümüne telif hakkı denir.

a-)Fikri Mülkiyet

Creative Common
Telif hakları konusunda esneklik sağlamayı Bilgi Güvenliği Nedir?
amaçlayan, eser sahibinin haklarını koruyarak, eserlerin Kişisel ya da kurumsal düzeyde bizim için büyük önem teşkil
paylaşımını kolaylaştırıcı modeller sunan, kâr amacı eden her tür bilgiye izin alınmadan ya da yetki verilmeden
gütmeyen bir organizasyondur. erişilmesi, bilginin ifşa edilmesi, kullanımı, değiştirilmesi, yok
edilmesi gibi tehditlere karşı alınan tüm tedbirlere bilgi
güvenliği denir.

Bir bilişim teknolojisi sistemine sızmak, sistemi zafiyete


uğratmak, sistemlerin işleyişini bozmak ve durdurmak gibi
kötü niyetli davranışlar; siber saldırı veya atak olarak
adlandırılmaktadır.

Siber ya da siber uzay; temeli bilişim teknolojilerine dayanan,


tüm cihaz ve sistemleri kapsayan yapıya verilen genel addır.

Siber Savunma: Siber ortamda yaşanabilecek suç, saldırı,


terörizm, savaş gibi tüm kötü niyetli hareketlere karşı
alınacak tedbirler bütünüdür.
b-)Erişim
Siber Suç: Bilişim teknolojileri kullanılarak gerçekleştirilen
c-)Gizlilik her tür yasa dışı işlemdir.
d-)Doğruluk
Siber Saldırı: Hedef seçilen şahıs, şirket, kurum, örgüt gibi
Yazılım Çeşitleri yapıların bilgi sistemlerine veya iletişim altyapılarına yapılan
planlı ve koordineli saldırıdır.
Özgür yazılım dünyasına ait
Yazılım
GPL’ye (General Public Licence Siber Savaş: Farklı bir ülkenin bilgi sistemlerine veya iletişim
- Genel Kamu Lisansı) sahip altyapılarına yapılan planlı ve koordineli saldırılardır.
yazılımlar ücretsiz olarak
Özgür Ticari
Yazılımlar Yazılımlar kullanılabilirken ticari faaliyet Siber Zorbalık: Bilgi ve iletişim teknolojilerini kullanarak bir
gösteren firmaların ürettiği birey ya da gruba, özel ya da tüzel bir kişiliğe karşı yapılan
yazılımların lisanslarıysa çoğunlukla yüksek bedeller teknik ya da ilişkisel tarzda zarar verme davranışlarının
karşılığında alınabilmektedir. tümüdür.

Bilgiyi Doğrulama Kuralları Parola ve Şifre


 Kullanıcıya bilgi aktaran kanal (İnternet sitesi, sosyal “Parola” bir hizmete erişebilmek için gerekli olan, kullanıcıya
medya hesabı), kaynak belirtmelidir. Kaynağı özel karakter dizisidir.
belirtilmemiş bilgiye şüpheyle yaklaşılmalıdır. “Şifre” sanal ortamdaki verilerin gizliliğini sağlamak için veriyi
 Elde edilen bilgiler üç farklı kaynaktan teyit edilmelidir. belirli bir algoritma kullanarak dönüştüren yapıdır.
1
Bilgisayar Bilimi Ders Notları-1
Şifre normal olarak okunduğunda bir anlam ifade etmeyen, tutulmaları sağlanmalıdır.
kişiden kişiye farklı gösteren metinlerin çeşitli algoritmalar ile • Tanınmayan/güvenilmeyen e-postalar ve ekleri kesinlikle
oluşturulup geri dönüştürülebilir veya geri açılmamalıdır.
dönüştürülemez hallerde kullanıldığı metinlerdir. Örneğin • Ekinde şüpheli bir dosya olan e-postalar açılmamalıdır.
sha-1, md5, base64, md4, rsa, idea gibi algoritmalar Örneğin resim.jpg.exe isimli dosya bir resim dosyası gibi
şifrelemede sıklıkla kullanılan çeşitlerdir.
görünse de uzantısı exe olduğu için uygulama dosyasıdır.
Parola okunduğunda anlam ifade eden, kişinin kendinin de
• Zararlı içerik barındıran ya da tanınmayan web sitelerinden
bildiği, kendinin seçip kullandığı kelimelerdir. Örneğin:
123456, password, qwerty, asi_jojuk gibi kelimeler buna uzak durulmalıdır.
örnek verilebilir. • Lisanssız ya da kırılmış programlar kullanılmamalıdır.
• Güvenilmeyen İnternet kaynaklarından dosya
Güçlü bir parolanın belirlenmesi için aşağıdaki kurallar indirilmemelidir.
uygulanmalıdır:
• Parola, büyük/küçük harfler ile noktalama işaretleri ve özel
karakterler içermelidir.
• Parola, -aksi belirtilmedikçe- en az sekiz karakter
uzunluğunda olmalıdır.
• Parola, başkaları tarafından tahmin edilebilecek ardışık
harfler ya da sayılar içermemelidir.
• Her parola için bir kullanım ömrü belirleyerek belirli
aralıklar ile yeni parola oluşturulması gerekir.

Zararlı Yazılımlar
Bilişim sistemlerinin çalışmasını bozan veya sistem içinden
bilgi çalmayı amaçlayan Virüs, Solucan, Truva Atı ya da Casus
yazılım gibi kötü niyetlerle hazırlanmış yazılım veya kod
parçaları zararlı programlar olarak adlandırılır. Bu zararlı
programlar:
 İşletim sisteminin ya da diğer programların çalışmasına
engel olabilir.
 Sistemdeki dosyaları silebilir, değiştirebilir ya da yeni
dosyalar ekleyebilir.
 Bilişim sisteminde bulunan verilerin ele geçirilmesine
neden olabilir.
 Güvenlik açıkları oluşturabilir.
 Başka bilişim sistemlerine saldırı amacıyla kullanılabilir.
 Bilişim sisteminin, sahibinin izni dışında kullanımına
neden olabilir.
 Sistem kaynaklarının izinsiz kullanımına neden olabilir.
Virüsler, bulaştıkları bilgisayar sisteminde çalışarak sisteme
ya da programlara zarar vermek amacıyla oluşturur.
Bilgisayar Solucanları; kendi kendine çoğalan ve çalışabilen,
bulaşmak için ağ bağlantılarını kullanan kötü niyetli
programlardır.
Truva Atları, kötü niyetli programların çalışması için
kullanıcının izin vermesi ya da kendi isteği ile kurması
gerektiği için bunlara Truva Atı denmektedir. Truva Atları
saldırganların bilişim sistemi üzerinde tam yetki ile
istediklerini yapmalarına izin verir.
Casus Yazılımlar, İnternet’ten indirilerek bilgisayara bulaşan
ve gerçekte başka bir amaç ile kullanılsa bile arka planda
kullanıcıya ait bilgileri de elde etmeye çalışan programlardır.
Bunlar, sürekli reklam amaçlı pencerelerin açılması ya da
İnternet tarayıcıya yeni araçların eklenmesine neden olabilir.

Zararlı Programlara Karşı Alınacak Tedbirler


• Bilgisayara anti virüs ve İnternet güvenlik programları
kurularak bu programların sürekli güncel
2
Bilgisayar Bilimi Ders Notları-1
2. ÜNİTE PROBLEM ÇÖZME VE ALGORİTMALAR Hata Ayıklama

Problemleri formüle edebilme, farklı ve yaratıcı Programlama, karmaşık bir süreçtir ve programcılar
çözüm yolları önerebilme, çözümü kesin ve doğru biçimde programlamada hata (bug) yapabilirler.
ifade edebilme becerisidir.
Programlama hatalarını bulma ve düzeltme işlemine hata
Problem nedir ayıklama (debugging) denilir.
Tanım 1: Teoremler veya kurallar yardımıyla
çözülmesi istenen soru, mesele (Matematik,TDK) Bir programda üç tür hata oluşabilir:
Tanım 2:Araştırılıp öğrenilmesi, düşünülüp
a.Söz dizimsel hatalar
çözümlenmesi, bir sonuca bağlanması gereken durum,
mesele,(Sorun, TDK) b.Çalışma zamanı hataları

Problem Çözme nedir c.Anlam bilimsel hatalar.


Bireyin veya bir grubun var olan bir sorunu ortan
kaldırmak için sahip olduğu bilgileri kullanarak bir çıkış yolu
bulma sürecidir.

Bilgi işlemsel düşünme


Bilgisayar biliminin kavramlarından yararlanarak
problem çözme, sistem tasarlama ve insan davranışlarını
anlama olarak tanımlanabilir.

Algoritma
Tanım 1: Orta Çağda ondalık sayı sistemine göre, son
zamanlarda ise iyi tanımlanmış kuralların ve işlemlerin adım
adım uygulanmasıyla bir sorunun giderilmesi veya sonuca en
hızlı biçimde ulaşılması işlemi, Harezmi yolu(TDK)
Tanım 2:Bir problem durumunu çözmek için ilgili
adımların mantıksal sıralanması(Kitap)

Programlama

Bilgisayarın donanıma nasıl davranacağını anlatan,


bilgisayara yön veren komutlar ve işlemler bütünüdür.Bir
bilgisayar bilimcisi için en önemli beceri problem çözme
becerisidir. Programlama, hem problem çözme becerisi hem
de bilgi işlemsel düşünme becerisine sahip olmayı gerektirir.

Program

Yapılacak bir işlemi ya da hesaplamayı


gerçekleştirmek için birbirini izleyen komut ya da
yönergelerden oluşan yapıdır.

Girdi: Klavyeden, dosyadan veya başka bir aygıttan veri


almadır.

Çıktı: Ekranda veriyi görüntüleme veya veriyi dosyaya veya


başka bir aygıta göndermedir.

Matematik:Toplama, çarpma gibi bazı işlemleri


gerçekleştirmedir.

Koşullu yürütme: Belirli durumları sınamak ve komutları


uygun bir sıraya göre çalıştırmaktır.

Tekrarlama: Bazı eylemleri genellikle ufak tefek değişikliklerle


yineleme işlemidir.

3
Bilgisayar Bilimi Ders Notları-1
3. ÜNİTE PROBLEM ÇÖZME SÜRECİ
oluşan yapıya “algoritma” denir. En lezzetli ekmeği seçmek ya
Problem Çözme Teknikleri
da işleri büyütmek için yatırım yapmak gibi problemlerin ise
İncelediğimiz problemleri çözerken çözüm sürecine destek
açık ve net ifade edilen yanıtları yoktur. Bu çözümler bilgi ve
olan bazı yaklaşımları kullandığımızıfark etmişsinizdir.
Programlama sürecinde de problemin çözümüne yönelik yol deneyim gerektirir, bir dizi deneme ve yanılma sürecinden
ve yaklaşımları belirlemek gerekir ama öncelikle genel kural
ve teknikleri bilmek yararlıdır. Bazı genel kurallar neredeyse oluşur. Doğrudan işlem adımları ile ulaşılamayan sonuçlara
tümproblemler için kullanılabilir. Bu nedenle, bu kuralları “keşfe dayalı çözümler” denir.
içselleştirir ve düşünme sürecinizin bir parçasıhâline
getirebilirseniz herhangi bir problemi çözmeye çalışırken VERİ TÜRLERİ
mutlaka bir fikriniz olur. 1) Sayısal veriler
 Tüm sayı tiplerini içerir. Sayısal veri, hesaplama
a-)Her zaman bir planınız olsun işlemlerinde kullanılabilen tek veri türüdür.
 Pozitif ya da negatif tam sayılar ve reel sayılar
b-)Problemi tekrar ifade edin
kullanılabilir.
c-)Problemi küçük parçalara ayırın  Banka hesap numarası ya da posta kodu gibi sayısal ama
hesaplama için kullanılmayan veriler de vardır. Bu tür
d-)Önce bildiklerinizden yola çıkın veriler sayısal olarak tanımlanmaz.
e-)Problemi basitleştirin

f-)Benzerlikleri arayın

g-)Deneme yapın

h-)Asla vazgeçmeyin
2) Alfa numerik/Karakter Veri
Problem Çözme Adımları  Karakter veri seti; tüm tek haneli sayılar (“0”.. “9”),
Problem çözme sürecinde en iyi kararı verebilmek için harfler (“a”..“z”, “A”..“Z”) ve özel karakterleri (“#”, “&”,
izlenmesi gereken 6 adım vardır. Problem çözme sürecinde “*”, ..) kapsar. Bu veri setinden oluşturulan değer, tırnak
bu 6 adım tam olarak uygulanmaz ise sonuç beklendiği gibi içinde belirtilir.
olmayabilir.

3) Mantıksal veri,
 Veri setinde yalnızca iki kelime barındırır: doğru ve
yanlış. Bu veri evet ya da hayır şeklindeki karar verme
süreçlerinde kullanılır
 Örneğin elde edilen değer, beklenen değer mi, evli mi,
arabası var mı, öğrenci lise mezunu mu gibi sonucu kesin
doğru ya da yanlış olan durumlarda mantıksal veri
tanımlaması yapılır.
Problem Çözme

Problemlerin her zaman sıradan çözümleri olmaz. Kek

yapmak ya da araba kullanmak gibi problemleri çözmek için

bir dizi eylem gerekir. Adım adım yönergelere dayalı olan bu

çözümlere “algoritmik çözümler” denir. En iyi yolu seçtikten

sonra sonuca, ilgili adımları izleyerek ulaşılır. Bu adımlardan

4
Bilgisayar Bilimi Ders Notları-1

Fonksiyonlar
 Fonksiyonlar, belirli işlemleri yürüten ve sonuçları
döndüren bir işlem kümesidir.
 Bilgisayar programlama dillerinde bir veya birden çok
eylemi gerçekleştirmek için yazılan ve ana programa
parametre ve fonksiyon dönüş değeri ile bağlı olan alt
programdır. Fonksiyonlar programla dillerinin olmazsa
olmazlarındandır. Sayfalarca kod yazacağınıza
fonksiyonları kullanarak program satırlarınızı çok daha az
BİLGİSAYAR VERİYİ NASIL SAKLAR? satırlı hale getirebilirsiniz. Bu hem derleme zamanında
 Bilgisayar veriyi hafızada saklar. Her bir değişken için bilgisayar donanımlarına yüklenmeyi azaltır, hem de sizin
hafızada belirli bir alan ayrılır ve bu alan her seferinde için birçok kolaylık sağlar.
tek bir değer saklayabilir. Kullanıcı, var olan değer yerine  Her programlama dili, içerisinde kendine özgü
yeni bir değer atadığında eski değer silinir. Hafızada bu fonksiyonlar barındırır. Bu fonksiyonlar kütüphanesi,
konumlar geçicidir. Programın çalışması bittiğinde ya da programlama dili bilgisayara göre değişiklik gösterir.
bilgisayar kapatıldığında bu veriler silinir.
 Verilerin daha sonra tekrar kullanılması gerekiyorsa sabit
disk gibi kalıcı bir konuma kaydedilmeleri gerekir. Bu
şekilde kaydedilen verilere “dosya” adı verilir. Temel
anlamda program dosyaları ve veri dosyaları olmak üzere
iki dosya türü vardır.

Sabitler
 “Sabit” olarak tanımlanan veriler problemin çözüm
süreci boyunca asla değişmeyen değerlerdir. Sabit
değerler sayısal, karakter ya da özel semboller olabilir.
 Program çalıştığı sürece bu değer kendisine verilen isim
ile çağrılır ve değeri asla değiştirilemez. Örneğin, pi
değeri değişmeyen bir değer olacağı için sabit olarak
tanımlanmalıdır.

Değişkenler

 Her programlama dilinde program içerisinde üretilen


değerleri geçici olarak saklamak amacı ile değişkenler
kullanılır.
 “Değişken” olarak tanımlanan verilerin değeri, program
çalıştığı sürece değişebilir.
 Programcılar çözüm sürecinde ihtiyaç duyulan her bir **Pythonda sayısal değere çevirmede Value() yerine int()
değişkene ayrı bir isim vermelidir. kullanılır.
 Değişken, farklı veri türlerinde olabilir ancak ismi,
**Pythonda dizi(karakter) değere çevirmede String() yerine
içerdiği değer ile tutarlı olmalıdır.
 Örneğin fiyat isimli bir değişenin içerisinde 50 değeri str() kullanılır.
atanmış olabilir, program çalıştığı süre içerisinde bu
değer değişebilir ancak değişkenin ismi hiçbir zaman Operatörler
değişmez.  Programlama dillerinde tek başlarına herhangi bir
anlamı olmayan ancak programın işleyişine katkıda
Değişkenlere isim verirken ve bunları kullanırken dikkat bulunan karakter ya da karakter topluluklarına operatör
edilmesi gereken kurallar şunlardır: denir. Operatörlerin etki ettikleri sabit ya da değişkenlere
"operand" denir.
1. Değişkene içerdiği değer ile tutarlı isimler veriniz.  Bilgisayara, verileri nasıl işleyeceğini belirtmek gerekir.
2. Değişkenlere isim verirken boşluk kullanmayınız. “Operatörler” verileri, ifade ve eşitlikler ile birleştirir.
3. Değişkenlere isim verirken bir karakter ile başlayınız.
4. Matematiksel semboller kullanmamaya dikkat ediniz.

5
Bilgisayar Bilimi Ders Notları-1
İfade ve Eşitlikler

**Pyhton dilinde eşit değildir için “!=”i kullanılır.


**Pyhton dilinde mod almak için “%” işareti kullanılır.

İşlem Önceliği
 Matematiksel, mantıksal ve ilişkisel operatörlerin bir
hiyerarşisi yani öncelikleri vardır.
 En içteki ayraçtan en dıştakine doğru işlem yapılmalı,
ayraç içerisinde ise işlem önceliklerine dikkat edilmelidir.

6
Bilgisayar Bilimi Ders Notları-1
4. ÜNİTE PROBLEM ÇÖZME YAKLAŞIMLARI oluşturur. Akış şeması, program geliştirmeye başlamadan
Söz Dizimi önceki son adımdır. Akış şemasında hatalar rahatlıkla görülüp
Bilgisayarın işletim sistemi, dili ve uygulamalarına ilişkin düzeltilebilir. Akış şemalarını oluşturmak için kullanılan
kurallara “söz dizimi” denir. Bir hata oluşursa buna “yazılım evrensel simgeler ve bu her bir simgenin anlamı vardır.
hatası”; hatayı bulup düzenleme işlemine ise “hata
ayıklama” denir.
Problem çözme sürecini destekleyen düzenleme araçları:
1. Problem Analiz Çizelgesi

2. Etkileşim Çizelgesi
Dahili ve Harici Dokümantasyon

İyi programcılar, kodları başkaları tarafından rahatça


anlaşılabilsin diye satırlar arasına açıklamalar yazarlar.
Bu açıklamalar, diğer programcılar açısından büyük
önem taşır çünkü kod üzerinde değişiklik yapılabilmesi
için her bir satırın ya da fonksiyonun işlevinin
3. GSÇ (Girdi Süreç Çıktı) Çizelgesi anlaşılması gerekir. Bu şekilde, yazılıma ait “dâhilî
dokümantasyon” oluşturulmuş olunur. Kod satırları
haricinde yazılımın kullanımına ve teknik
gereksinimlere ait bilgilerden oluşan “haricî
dokümantasyon” hazırlanır. Bu bilgiler, diğer kullanıcılar
tarafından ortaya çıkan problemleri çözmek için
kullanılır.

Örnek:

4. Algoritmalar
Bu çizelgeleri geliştirdikten sonraki adım, yapılacak işlemleri
bilgisayarın anladığı dilde yazabilmektir. Bu yönergeler
“algoritma” olarak adlandırılır. “Sözde kod” algoritmaya çok
benzer bir dildir ve bazen algoritma yerine kullanılabilir.
Algoritmayı oluşturmak, bilgisayarda problem çözme
sürecinin en zor bölümüdür. Modüller etkileşim çizelgesinden
ve süreç GSÇ çizelgesinden alınır. Algoritmadaki işlem sayısı,
programcının problemi çözme yoluna bağlıdır.
5. Akış Şemaları
Problem çözme surecimiz, bilgisayarın iletişim kurma
yöntemi ile şekillenir. Algoritma, bilgisayara hangi işlemi
hangi sırada yapması gerektiğini söyleyen yönergeler
bütünüdür. Akış şeması ise algoritmanın görsel gösterimidir.
Programcı, oluşturulan algoritmadan grafiksel gösterimler
7
Bilgisayar Bilimi Ders Notları-1
5. ÜNİTE PROGRAMLAMA YAPISI

Bu bölümden itibaren çözümleri bilgisayarın c) Döngüsel yapı, bir dizi işlemi tekrarlamak için
daha iyi anlayıp işleyebilmesi için kullanılan teknikler kullanılır.
anlatılacaktır. Diğer bir ifade ile bu teknikler, algoritmayı
oluşturan yönergeleri farklı biçimlerde yazmanıza
olanak sağlayacaktır.

Göstergeler

Bilgisayarlar; problemleri çözmek, işlerimizi


kolaylaştırmak, daha hızlı ve etkili çözümler üretmek
için kullanılır. Gerçekten yeterli çözümler üretebilmek
için aşağıdaki göstergeleri önemsemek gerekir.

1. Bütünü, her biri anlamlı işlemler içeren parçalara


bölünüz, modülleri kullanınız.

2. Farklı satırlar arasında bağlantı kurmak yerine


mantıksal yapıları kullanınız.

a) Doğrusal yapı, işlemleri sıra ile çalıştırır.

b) Karar yapısı, iki olasılıktan birini seçmek ve ona göre


devam etmek için kullanılır.

8
Bilgisayar Bilimi Ders Notları-1
ç) Durumsal yapı ise belirli bir duruma göre farklı zamandan kazanç sağlar. Modülleri oluştururken
işlemlerin yapılmasına olanak sağlar. aşağıdaki noktalara dikkat edilmesi önerilir.

1.Her bir modül başlar, işlemleri yapar ve biter. Süreç


içerisinde modüller arasında dallanma olmaz.

2.Her bir modülün tek bir işlevi vardır: yazdırma,


karekök bulma, büyük harfe çevirme vb.

3.Her modül rahat anlaşılabilecek ve kolayca


güncellenebilecek kadar kısa olmalıdır.

4.Modülün uzunluğu işlevine ve yönerge sayısına göre


değişebilir.

5.Modüller süreç akışlarını kontrol etmek için


oluşturulur.

Çok sık kullanılan modül türleri şu şekilde sıralanabilir:

• Kontrol modülü programın genel akışını gösterir.

• Başlama modülü program ilk başladığında yalnız bir


kez yapılması gereken işlemleri gerçekleştirir (ilk
değerlerin atanması).

• Süreç modülleri bir ya da birden fazla belirli bir işlemi


yapmak için kullanılır (hesaplama, veri okuma,
yazdırma vb.).

• Bitiş modülü ise program bitmeden önce yapılacak


son işlemleri içerir.

3. Tekrarlayan işlemlerin tekrar tekrar yazılmasını Farklı modüller bir problemin çözümü için bir
önlemek için modüler yapı kullanınız. araya gelebilir. Program yönetimini kolaylaştırmak için
bir modül birden fazla modülden de oluşabilir.
4. Okunabilirliği ve anlaşılırlığı artırmak için anlamlı
değişken isimleri seçiniz ve çok iyi dokümantasyon Bağımlılık ve Birleşim
hazırlayınız.
Problem çözme sürecindeki en zor adım, çözümü
Modüller ve İşlevleri parçalara ayırmaktır. Her bir modülün hangi
işlemlerden oluşması gerektiği önemli bir karardır.
Bir yazarın, kitabını yazmaya başlamadan önce
Modüller hem farklı işlemleri yürütecek kadar
konuyu ve bölümleri düşünmesi, bir aşçının menüyü
birbirinden bağımsız olmalı hem de aynı veriler ile
hazırlamaya başlamadan önce yemek türlerini,
çalışacak kadar birleşik olmalıdır. Birbirine zıt bu iki
malzemeleri ve miktarları düşünmesi gibi bir
kavram bağlılık ve birleşim olarak adlandırılır. “Bağlılık”
programcıda programı yazmaya başlamadan önce
bir modülün diğer modüllerden bağımsız çalışabilme
detaylı bir biçimde problemi irdelemeli ve işlemleri
yeteneğidir. Her bir modül, bağımsız olarak tanımlanmış
gruplandırmalıdır. Ne zaman modüller etkileşim
işlem setini çalıştırır ve sonucu gönderir. Ancak
çizelgesinde doğru sıralanmış ise programcı her bir
modüller çalışırken verileri almaları ve sonucu
modül için kodu yazmaya başlayabilir. İyi bir programcı
göndermeleri sürecinde bilgi paylaşır. Bu veri paylaşımı
algoritmayı her bir modül için test eder, sorunlar varsa
sürecinde “birleşim” yaşanır. Birleşim, modüller arası
hemen çözüm üretir. Büyük bir program yerine küçük
iletişim oluşmasını sağlar.
parçaları kontrol etmek daha kolaydır ve bu,

9
Bilgisayar Bilimi Ders Notları-1
Yerel ve Global Değişkenler modülde bu değer için hafızada ayrılmış farklı bir yer
vardır. Böylece değeri ile çağırılan değişken için hafızada
Bir modül içinde tanımlanmış değişkenler iki farklı yer ayrılmıştır ve bunlar, farklı modüller
“yerel”; modüller dışında program genelinde tarafından değiştirilebilir.
kullanılmak üzere tanımlanmış değişkenler ise “global”
değişkenler olarak adlandırılır. Aralarındaki en önemli
fark, kapsamlarıdır. Bu kapsam, değişkenin ne zaman
nerede kullanılabileceğini belirler.Yerel değişkenler,
yalnızca tanımlandıkları modül içerisinde kullanılabilir.
Diğer modüllerin bu değişkenlere ilişkin hiçbir bilgisi
bulunmaz.Global olarak tanımlanan değişkenler ise
bütün modüller tarafından tanınır. Program çalıştığı
sürece hafızada tutulan ve işlem yapılabilen
değişkenlerdir.

Dönen Değerler

Modüller arasında yapışkanlık yaratmanın üç yolu


vardır.

1. Yerel değişkenler

2. Parametreler

3. Dönen değerler

Bir fonksiyonu çağırıp belirli işlemleri


gerçekleştirdiğimiz zaman fonksiyon bize bir ya da daha
fazla işlem sonucunu döndürür. Dönen değer, fonksiyon
Parametreler sonucudur. Bu işlem, fonksiyonu adı ile çağırarak
gerçekleşir. İşlem sonucundaki değer, geçici olarak ilgili
Programlama sürecinde anlaşılması zor ama çok
değişkene atanır. Fonksiyon, çalışmasını bitirdiğinde
önemli konulardan biri parametrelerdir. Parametrelerin
artık o isme atanmış bir değer bulunmaz çünkü bu
kullanımı benzer değişken isimlerinin çakışmasını
değer, çağıran modüle geri dönmüştür. Aşağıdaki
önleyerek sürecin daha hızlı ilerlemesini sağlar.
şekilde bu akış görülmektedir.
Modüller ayrı ayrı çalışır ve veriler parametreler
aracılığı ile iletilir. “Parametreler” bir modülden
diğerine geçen yerel değişkenlerdir. Modüller
arasındaki iletişimi sağlar. Modül adından sonra ayraç
içerisinde belirtilerek kullanılırlar: Oku (a, b, c) gibi.
Eylemsel parametreler listesi, kontrol modülü
tarafından çağırılan parametrelerin listesidir. Biçimsel
parametre listesi ise ilgili modülü takip eden parametre
listesidir.Parametreleri kullanarak bir modülden
diğerine veri göndermenin iki yolu vardır: Parametreleri
değeri ya da adresi ile çağırabiliriz. Önünde “*” simgesi
olmayan parametreler, değeri ile çağrılan
parametrelerdir. Parametre değeri ile ilgili modüle
iletildiğinde, o modül o değerle ilk kez karşılaştığı için
hafızada yeni bir yer oluşturur. Bu durumda ilgili değer Kaynakça:MEB Ortaöğretim Bilgisayar Bilimi Ders
değiştiğinde programın geneli etkilenmez; yalnızca Kitabı-Kur 1
modül aktif olduğu sürece geçerli olur çünkü çağırılan
10

You might also like