MULTİMETRE



1.1. ÖN ÇALIŞMA

· Şekil 1.1’ deki voltmetre devresinde iç direnci 200 W ve maksimum skala akımı 500 mA olan dc aletin Vin = 5, 10, 20 V’ larda tam skala sapması için gerekli olan Rs seri dirençlerini hesaplayın,

Şekil 1. 1. Voltmetre devresi.



· Şekil 1.2’ deki ampermetre devresinde sözkonusu dc aletin 1 V giriş geriliminde Iin = 5, 10, 20 mA’ lerde tam skala sapması için gerekli Rs seri ve Rsh paralel dirençleri hesaplayın. 1.2.DENEYİN AMACI
· DC Voltmetre, DC ampermetre ve ohmmetre devrelerinde kademe dirençlerinin bulunması.

1.3. DENEYDE KULLANILAN ALET VE CİHAZLAR

· HAMEG Ayarlı DC Güç Kaynağı,

· 200 W, 500 mA dc alet,

· Direnç Kutusu (2 adet).

1.4. DENEYİN YAPILIŞI

· Şekil 1.2’ deki devreyi kurun,

· Direnç kutularını ön çalışmada hesapladığınız değerlere ayarlayın,

· Güç Kaynağını 1 V’ a ayarlayıp yine güç kaynağı üzerindeki dijital volt / ampermetre’ yi mA konumuna getirip burada 5 mA görecek şekilde Rs seri direnç kutusunun değerini değiştirin. Daha sonra Rsh paralel direncini dc alet tam skala sapacak şekilde ayarlayın. Bu esnada giriş akımında bir değişiklik gözlüyorsanız ayarları tekrar düzeltin. Bu işlemi 10 ve 20 mA’ ler için de tekrarlayın. Elde ettiğiniz değerleri kaydedin,

· Şekil 1.1’ deki devreyi kurun,

· Direnç kutusunuı ön çalışmada hesapladığınız değerlere ayarlayın,

· Güç Kaynağını üzerindeki voltmetre / ampermetre’ yi tekrar V konumuna getirip sırasıyla 5, 10 ve 20 V’ lara ayarlayarak Rs direnç kutusundan direnç değerlerini dc alet her gerilim değeri için tam skala sapacak şekilde değiştirin. Elde ettiğiniz değerleri kaydedin,

· Şekil 1.3’ teki devreyi kurun,

· Güç kaynağını 5 V’ a getirip, dc alet tam skala, yarım skala ve hiç sapmayacak (0 skala) şekilde direnç kutusunun değerini değiştirin. Elde ettiğiniz değerleri kaydedi


1.5. ÖDEV

· Ampermetre ve voltmetre devreleri için ön çalışmada bulmuş olduğunuz ve deneyde elde ettiğiniz direnç değerleri için % cinsinden hata hesaplarını yapın.

· Hesaplanan ve ölçülen değerlerin aynı çıkmama nedenlerini madde madde yazın.

· Ohmmetre devresindeki skala lineer midir, sebebini basitçe açıklayın.

1.6. RAPORDA İSTENENLER

· Deneyde kullanılan alet ve cihazların listesi,

· Kurulan devrelerin şemaları,

· Deneyde bulunan tüm değerlerin bir tablosu,

· Ödev,

· Deney kağıdı.







ELEKTRİK AKIM KAYNAKLARI

Bir iletkenden elektrik akımının geçebilmesi için iletkenin iki ucu arasında bir potansiyel farkı olmalıdır. Elektrik akımı katı iletkenlerde (-) uçtan (+) uca doğru akan elektronlar , sıvı ve gazlarda ise (+) ve (-) iyonların hareket etmesiyle sağlanır.
Elektrik akımı , elektrik yüklerinin iki nokta arasında sürekli akışıdır. Elektrik devrelerinde iki nokta arasında potansiyel farkı oluşturan ve yüklerin sürekli olarak hareketlerini sağlayan düzeneklere Elektrik Akımı Kaynakları denir. Örneği pil , akümülatörler ve elektrik santralleri gibi. Elektrik akım kaynakları ikiye ayrılır. Bunlar doğru akım kaynakları ve Alternatif akım kaynaklarıdır.

Doğru Akım Kaynakları

Kimyasal reaksiyonlar sonucu elektrik akımı elde etmek mümkündür. Elektrik enerjisi üreteçlerde elde edilir.
Doğru Akım ( DC ) : Bir elektrik devresinde elektrik yüklerinin veya akımın belli bir yönde akan , yön değiştirmeyen ve şiddeti değişmeyen akıma doğru akım denir.
Bir yönde akım sağlayan kaynaklara da doğru akım kaynakları denir. Örneğin Pil , akümülatör ve dinamo gibi.
a ) PİLLER
Piller kimyasal enerjiyi elektrik enerjisine çevirir. (+) ve (-) kutupları vardır. Dolu pilin kutupları arasında Potansiyel farkı vardır. Çeşitli piller vardır. Her pilin yapısında iki elektrot ve elektrotların içine batırıldığı bir elektrolit vardır. Potansiyel farkı Voltmetre veya elektrometre ile ölçülür. Potansiyel farkı birimi Volttur. Piller basit pil , kuru pil ve doldurulabilen piller diye üçe ayrılır.
1-Basit Bir Pil Yapma
Volta Pili : Bakır ve çinko elektrotlar H2SO4 çözeltisine batırılınca akım elde edilir. H2SO4 ile çinko (Zn) elektrot arasında kimyasal reaksiyon oluşur. Çinko (Zn) atomları ikişer elektronunu çinko elektrota bırakarak Zn+2 iyonu halinde çözeltiye karışır.
Çinko elektrot üzerinde elektronlar birikir. Çözeltideki H+ iyonları Zn+2 tarafından bakır elektrota itilir. Akım geçince dış devreden gelen elektronlar H+ iyonlarını nötrleştirir. Bakır elektrot üzerinde biriken H gazı bir süre sonra akımın kesilmesine yol açar. Volta pilinde bakır elektrotun H gazı ile kaplanarak akım veremez duruma gelmesine kutuplanma veya Polarizasyon denir. Volta pilinde çinko elektrot pilin (-) kutbunu , bakır elektrot ise (+) kutbunu oluşturur.
Danielle Pili : Bakır sülfat çözeltisi içine bakır elektrot , çinko sülfat çözeltisi içine çinko elektrot aralarına da Parşömen kağıdı konularak elde edilen pildir.
Leclanche Pili : Nişadır çözeltisi içerisine batırılmış mangandioksit ve karbondan oluşmuş bir pildir.
2- Kuru Pil
Pilin kabı çinkodan yapılmıştır. Bu kap aynı zamanda pilin (-) kutbu görevini yapar. Karbon çubuk (+) kutbunu oluşturur. Karbon çubuğun etrafında %75 mangandioksit ve %25 grafitten oluşan bir katman bulunur. Pildeki elektrolitik sıvı ise amonyum klorür çözeltisidir.
Pil akım verirken amonyum iyonları ( NH4+ ) karbon çubuktan elektron alarak H2 ve amonyak ( NH3 ) haline geçer. Çinko kaptan çözünen çinko iyonları ( Zn+2 ) ise Cl- ile birleşerek çinko klorür haline geçer. Amonyak çinko klorür ile H2 ise mangandioksit ile tepkimeye girer.
Birden fazla pil birbirine ağlanarak bataryalar elde edilir.
3- Doldurulabilen Piller

pilin doldurulması olayına Şarj denir. Pilin boşalmasına Deşarj denir. Doldurulabilen pillere Nikel kadmiyum pilleri ve kurşunlu akümülatörler örnek verilebilir.
Pilden akım alınırken Kadmiyum , kadmiyum Hidroksit haline dönüşür. Nikel Oksi Hidroksit ise Nikel Hidroksite dönüşür. Kadmiyum ve nikel oksi hidroksit tükendiğinde pil boşalır. Doldurulma olayı dışarıdan verilen elektrik enerjisi ile sağlanır.

Diğer Doğru Akım Kaynakları

Akümülatörler
Akümülatör de bir tür pil çeşididir.
Elektrik enerjisini kimyasal enerji olarak depolayan ve bunu istenildiğinde tekrar elektrik enerjisi olarak dönüştüren düzeneğe Akümülatör denir.
Elektrotlar arasına bir doğru akım kaynağı bağlanır. Bu sırada elektroliz olayı gerçekleşir. Buna akümülatörün şarjı denir. Akümülatör dolarken H+ iyonları (-) elektroda , ( SO4)-2 iyonları da (+) elektroda gider. Bu olay esnasında anotta kurşundioksit (PbO2 ) , katotta ise kurşun ( Pb ) oluşur. Çözeltinin içinde iki farklı elektrot elde edilir. Böylece şarj olmuş akümülatör elektrotlar arasında oluşturulacak devreye akım verir. Akümülatörün akım vererek her iki elektrotun kurşun haline dönüşmesine akümülatörün boşalması (Deşarj ) denir. Dolma sırasında depo edilen kimyasal enerji boşalma sırasında elektrik enerjisine dönüşür.
Ayrıca Demir- Nikel akümülatörleri de vardır. Akümülatörlerden başka doğru akım kaynakları da vardır. Örneğin Dinamo , güneş pili , termoelektrik pil , fotoelektrik pil gibi.

Pil Oluşumu İle Maddelerin Aşınması ( KOROZYON )

İki farklı elektrot bir elektrolit içine batırılınca pil oluşur. Pilden akım alınırken elektrotlar değişime uğrar. Kendiliğinden oluşan piller de vardır. Bunlara istenmeyen piller denir. Doğal ortamlarda birbirine dokunmakta olan iki farklı metal nemli ortamda bulunuyorsa istenmeyen pil oluşabilir. İstenmeyen pil oluşumu metallerin aşınmasına yol açar.
KorozyonS. AKÇAY : Metal yüzeylerinin istenmeyen pil oluşumu ile kendiliğinden aşınmasına korozyon denir.
Metallerin ısı etkisi ile aşınması , zımpara ve diğer araçlarla oluşturulan aşınmalar korozyon değildir.
Korozyon etkisi ile parlak metal yüzeyleri donuklaşır. Demir üzerinde pas oluşur. Çinko beyaz ve donuk bir tabaka ile örtülür. Bakır üzerinde yeşil bir katman oluşur. Gümüş kararır. Platin ve altın parlak kalır. Bazı metaller kolay bazıları ise zor korozyona uğrarlar. Bazı metaller daha fazla aktif bazıları ise az aktiftir. Çok aktiften az aktife doğru bazı metaller şöyle sıralanır :
Magnezyum , alüminyum , çinko , demir , kurşun , kalay , bakır , gümüş , platin, altın.
İki metal bir araya getirilince daha soy olan ( az aktif olan ) metal (+) elektrot , diğeri (-) elektrot olur. (-) elektrot olan metal korozyona uğrar , diğeri ise korunur.
Evlerde kullanılan metalden yapılmış eşyalar kendisinden daha soy olan metallere uzun süre dokundurulmamalı Örneğin çelik tencere gümüşe dokunursa korozyona uğrar. Korozyon olayı kuru ortamlarda da gerçekleşebilir. Metallerin gazlarla etkileşmesi sonucu gerçekleşen bu olaya Kuru Korozyon denir.
İstenmeyen pil oluşumlarında bir metalin korozyonunu önlemek için daha az soy olan bir metale dokundurulur. Bir metalin korozyonunu önlemek için kullanılan metale Kurban Elektrot denir.






Alternatif Akım Kaynakları

Alternatif Akım ( AC )S. AKÇAY : Yönü ve şiddeti sürekli olarak değişen akıma alternatif akım denir.
Alternatif akım elde etmeye yarayan düzeneklere Alternatör veya Alternatif Akım Jeneratörü denir.
Mekanik , ısı , kimyasal yada nükleer enerjiyi elektrik enerjisine dönüştüren sistemlere elektrik santralleri denir.

Hidroelektrik Santraller
Su gücünden yararlanarak çalıştırılan elektrik santralleridir. Barajlarda toplanan suda potansiyel enerji depo edilir. Yüksek bir yerden düşürülen yada akıtılan su Kinetik enerji kazanır. Bu su yüksekten akıtıldığında su türbinine çarparak enerjisini mekanik enerji olarak çarklara aktarır. Çarklar santralin üretecinin rotorunu döndürür. Rotor bir mıknatısın kutupları arasında döner. Rotorun bağlı olduğu jeneratörde alternatif akım üretilir. Bu santrallerin çevreye önemli bir zararları yoktur. Hidroelektrik santrallerde enerji dönüşüm sırası şöyledir :
Potansiyel Enerji—Kinetik enerji – Mekanik Enerji -- Elektrik Enerjisi

Termik Santraller
Elektrik enerjisi elde edebilmek için kömür , gaz petrol gibi yakıtların ısıya dönüştürülmesi ile çalışan santrallerdir.Burada su kaynatılarak buhar elde edilir. Yüksek basınçlı buhar , buhar türbinlerine gönderilerek türbinin döndürülmesi sağlanır. Dönen bu türbin jeneratörün elektrik enerjisi üretmesini sağlar. Bu santraller yeşil alanlara zararlıdır, ormanları yok eder.Termik santrallerde enerji dönüşüm sırası şöyledir :
Kimyasal Enerji – Isı Enerjisi—Mekanik Enerji—Elektrik Enerjisi



Jeneratörlerin Yapısı
Türbinlerde alternatif akım üreten sistemlere Jeneratör denir. Jeneratörde manyetik alan oluşturan mıknatıs ile mıknatısın kolları arasında dönen dikdörtgen tel çerçeveler vardır. Çerçeve döndükçe düzgün manyetik alan oluşturur. Negatif yüklü elektronlara bir kuvvet etki eder. Çerçeve içinde elektronlar bir akım oluşturur. Bu akım halkalar üzerindeki fırçalar yardımıyla dış devreye alternatif akım olarak verilir.
Jeneratörün yapısında stator ve rotor diye iki önemli kısım vardır. Dıştaki sabit kısım statordur. Rotor ise statorun iç kısmında bulunur ve bir eksen etrafında döner.

Jeneratörlerin Akım Vermesi

Tel çerçeveyi döndürmek yerine manyetik alanı döndürmek daha kullanışlı bir jeneratör oluşturur.
Çubuk mıknatıs bir akım makarasının içinde hareket ettirilirse , makaraya sarılı iletken telin uçlarında oluşan akıma İndüksiyon Akımı denir.

TransformatörS. AKÇAY : Alternatif gerilimin düşürülmesi veya yükseltilmesini sağlayan araçlara denir.
Transformatör Primer (Giriş) devre , Sekonder (Çıkış) devre ve demir çekirdek diye üç ana kısımdan oluşur. Gerilimin uygulandığı sargıya Primer sargı denir. Gerilimin alındığı sargıya Sekonder sargı denir.
Bir transformatörde çıkış olarak az sarımlı sargı kullanılırsa gerilim düşer. Çıkıştaki sarım sayısı giriştekinden fazla ise gerilim yükselir.

VS = NS = İP
VP Np İS

VS = Sekonder Gerilim
VP = Primer Gerilim
NS = Sekonder Sarım Sayısı
NP = Primer Sarım Sayısı
İP = Primer Akım
İS = Sekonder Akım



Güç (P) : Birim zamanda yapılan iştir. Birimi wattır.
P = V. İ
Bir transformatörün verimi şöyle bulunur. Verim = Alınan Güç / Verilen Güç

Verim = Vs.İs
Vp. İp
Örnek : Bir transformatörün primeri 100 sarımlı ,sekonderi 600 sarımlıdır. Primere uygulanan gerilim 25 Volt olursa Sekonderdeki gerilim kaç volt olur.
Çözüm :
VS / VP = NS / NP VS / 25 = 600 / 100 VS = 25. 6 = 150 Volt


Örnek : Bir transformatörün primeri 300 sarımlı ,sekonderi 6 sarımlıdır. Sekonderden 25 amperlik akım çıktığına göre primerdeki akım kaç amperdir.
Çözüm :
NS / NP = İP / İS 6 / 300 = İP / 25 İP = 150 / 300 = 0,5 Amper
Örnek : Bir transformatörün verimi %90 dır. Primer sargıya 800 Volt gerilim uygulandığında sekonder sargıdan 300 Volt gerilim elde edilmektedir. Primer devreden 5 amperlik akım geçtiğine göre sekonder devreden çıkan akımı bulun
Çözüm :
Verim = Vs.İs 0,9 = 300. İs / 800. 5 İs = 12 Amper olur.
Vp. İp

Nükleer Enerji Santralleri
Nükleer enerji santralleri de bir çeşit termik santraldir. Farkı ise kullanılan yakıtlardır.
Atom çekirdeği proton ve nötronlardan oluşmuştur. Bu parçacıklar Çekirdekte E = m. c2 enerjisi ile birbirine bağlanmıştır. Çekirdek parçalanması veya birleşmesi sırasında bir miktar kütle enerjiye dönüşür.
E = m. c2 E=enerji m=kütle c = ışık hızı = 3.108 m /s

Örnek : 0,001 gram madde tamamen enerjiye dönüşürse ne kadar enerji açığa çıkar. (c = 3.108 m/s )
Çözüm :
m= 0,001 g = 0,000001kg c =3.108 m/s E = ?
E = m. c2 = 0,000001 . (3.108 )2 = 10-6 . 9. 1016 = 9.1010 Joule
Işık Yılı = ışığın bir yılda aldığı yoldur. ve bir uzunluk birimidir.
Işık Yılı = 365. 24. 60. 60. 3. 108  9 460 800 000 000 000 metre  9,5 trilyon Km
Örnek : ışık güneşten yeryüzüne ne kadar sürede gelir. ( Güneş –yer uaklığ yaklaşık 150 milyon km )
Çözüm : t = 150000000 / 300000 = 500 saniye = yaklaşık 8,3 dakika
Nükleer Enerji : Atom çekirdeklerinin parçalanması yada birleştirilmesi ile açığa çıkan enerjiye nükleer enerji denir.
Nükleer enerji Nükleer santrallerde elektrik enerjisine çevrilir. Nükleer santrallerde enerji dönüşüm sırası şöyledir.
Nükleer Enerji—Isı Enerjisi—Mekanik Enerji—Elektrik Enerjisi

Fisyon ( Parçalanma )S. AKÇAY : Büyük yada ağır çekirdeklerin Nötronlarla bombardıman edilerek daha küçük çekirdeklere ayrılmasına Fisyon yada Çekirdek Bölünmesi denir. Örneğin Atom bombası
Füzyon (Birleşme ) : İki hafif çekirdeğin birleşerek daha ağır bir çekirdek oluşturmasına Füzyon yada Çekirdek kaynaşması denir. Örneğin Hidrojen bombası

Füzyon olayını kontrol etmek zordur. Füzyon olayının başlaması için gereken yüksek sıcaklık ve basınç atom bombası ile sağlanır. Füzyon olayının düşük sıcaklıkta ( Soğuk Füzyon ) gerçekleşmesi için çalışmalar sürüyor.
Maddelerin çok yüksek sıcaklıktaki haline Plazma denir. Güneş ve yıldızlar Plazma halindedir.
Nükleer santrallerde çekirdek tepkimelerinin gerçekleştiği kısma Reaktör denir.
Kararsız çekirdeklerin kararlı hale gelebilmek için kendiliğinden ışınlar yayması olayına Radyoaktiflik veya Radyoaktif Bozunma denir. Radyoaktif çekirdekler üç çeşit ışın yayarlar.

1-  (Alfa ) Işını : Radyoaktif çekirdek bir  (Alfa ) parçacığı yayınlayınca Kütle Numarası 4 birim Atom Numarası 2 birim azalır. Alfa parçacığı helyum çekirdeğine eşittir.Hızları 1,6.107 m/s dir. Havada birkaç cm yol alabilirler. Mide , solunum yada yaralardan vücuda girerse yüksek seviyede iyonizasyona sebep olduklarından çok tehlikelidirler.
Örneğin: 23892U 23490Th +  ( 42He )

2-  (Beta ) Işını : Radyoaktif çekirdek bir  (Beta ) parçacığı yayınlayınca Atom numarası 1 birim artar .Kütle numarası değişmez. Beta parçacığı elektronun kütlesi ve yüküne eşittir. Hızları 120000 km/s ile 299000km/s arasındadır. Havada 20 metreye kadar yol alabilirler. İyonlaşmaya sebep olurlar.
Örneğin : 23490Th  23491Po +  ( -1oe )
3- γ (Gama ) Işınları : Radyoaktif çekirdek γ (Gama ) ışını yayınlayınca Kütle Numarası ve Atom Numarası değişmez. Boşluktaki hızları ışık hızına eşittir.Havada yüzlerce metre kurşun engeller içerisinde birkaç cm yol alabilirler. Gazları iyonlaştırırlar.

Örnek : 23892U atomu 2 ve 1 ışımaları yaparsa A.N ve K.N ne olur.

Çözüm :
23892U 23088X ( 2  için )

 23089X (1  için )

23892U 23088X 23089X
Yarılanma Süresi ( T1/2) : Bir radyoaktif elementin başlangıçta mevcut olan atomlarının yarısının parçalanması için geçen süreye yarılanma süresi (yarı ömür) denir. 22688Ra izotopunun yarı ömrü 1620 yıldır.





KISA YOLDAN WORD

F5 Git iletişim penceresini açmak
Ctrl + Shift + End Belgenin sonuna kadar metin seçimi
Ctrl + Shift+ Home Blgenin başına kadar metin seçimi
Alt + Ctrl + P Köprü ekle
Ctrl +Shift + A Altını Çiz
Alt + Ctrl + Shift + ) Yazı büyüklüğünü arttırmak
Alt + Ctrl + Shift +( Yazı büyüklüğünü küçültmek
Ctrl+Home Belgenin başına gitmek
Crtl + end Belgenin sonuna gitmek
Ctrl + Backspace Bir kelime sil
Shift + F7 Eş anlamlılar sözlüğü
F11 veya Alt +F1 Seçili metnin biçimlendirmesi
Ctrl+ S Kaydet
Ctrl + P Yazdır
Ctrl + F Bul ve Değiştir
Ctrl + O Aç
Crtl +Z Geri al
Crtl +A Tümünü seç
Ctrl + N Yeni
Ctrl + K Kalın Yazma
Ctrl + T İtalik yazma
F7 Yazım Kılavuzu
,Shift + F1 Bu nedir
F1 Yardım
F4 veya Ctrl + Y Son yapılan işlemi tekrar et
Shift + F3 Büyük / Küçük Harf
HAZIRLAYAN
İskender TEKİNAYF12 Farklı Kaydet
F10 menü çubuğunu etkinleştirme

ELEKTRONİK TİCARET TERİMLER SÖZLÜĞÜ


açık anahtar (public key): Açık anahtarlı bir kriptografik yöntem (algoritma) kullanan bir kullanıcının kendisine ait olan iki anahtarından kamuya açık olanı.
açık anahtar altyapısı-AAA (public key infrastructure-PKI ): Bilgi iletişiminde açık anahtarlı kriptografinin yaygın ve güvenli olarak kullanılabilmesini sağlamaya yarayan ve birbirleriyle eşgüdüm içinde çalışan anahtar üretimi, anahtar yönetimi, onay kurumu, sayısal noterlik, zaman damgası gibi hizmetlerin tümü.
açık anahtarlı kriptografi (public key cryptography): Her kullanıcıya, sürekli kullanım için biri açık diğeri gizli iki anahtarın verildiği şifreleme/şifre çözme yöntemlerinin tümü. Asimetrik kriptografi ya da çift anahtarlı kriptografi adını da alır.
açık bilgisayar ağı (open computer network): İsteyen herhangi bir bilgisayar kullanıcısının bağlanabileceği ve diğer kişilerle bilgisayar üzerinden iletişim kurabileceği, herkese açık elektronik iletişim ortamı. Örnek: Internet.

anahtar (key): Şifreleme ve şifre çözme sırasında kullanılan sayı dizisi.

anahtar üretimi (key generation): Açık anahtarlı kriptografide, her kullanıcının açık/gizli anahtar çiftinin, kullanılan kriptografik yönteme bağlı matematiksel işlemlerle hazırlanması

anahtar yönetimi (key management): Açık anahtarlı kriptografide her kullanıcıya farklı anahtar çiftleri verilmesi, kullanıcıların açık anahtarlarının herkesin ulaşımına açık olarak saklanması ve kullanıcıların gizli anahtarlarının mutlak gizliliğinin sağlanmasından sorumlu düzen

anahtarı bulan kurum-ABK (key recovery agency-KRA): Yasal erişime yardımcı olmak amacıyla kurulan ve yargının gerektirdiği durumlarda, zan altındaki kişinin gizli anahtarının matematiksel yöntemlerle elde edilmesini sağlayan kurum. Gizli anahtarını kaybeden herhangi bir kişi de, kimliğini belgeleyerek ABK’ye başvurursa anahtarını yeniden elde edebilir

Basit bölüm: (Simple segment) Hiçbir sınıflandırmaya ihtiyacı olmayan bölüm. (Anlamı sabit ve açık olan bölüm)

Basit veri elemanı: (Simple data element) Tek bir değer taşıyan veri elemanı.

bilgi bütünlüğü (message integrity): Bilginin saklanması veya açık/kapalı iletişim ağlarından iletimi sırasında içerik açısından herhangi bir değişime uğratılmamış olması, özgün halinde korunması



bilgi güvenliği (information security): Bilginin,
i) kime ait olduğu belirlenmiş, ii) bütünlüğü korunarak, ve iii) gizliliği sağlanmış olarak iletimi ve saklanması.

Bölüm adı: (Segment name) Doğal dilde bir ya da daha çok sözcük ile veri bölümü kavramının tanımlanması.

Bölüm kodu: (Segment code) Bölüm rehberinde tanımlandığı şekilde, her bölümü tek olarak gösteren kod.

Bölüm rehberi: (Segment directory) Tanımlandırılmış, isimlendirilmiş bölümler listesi.

çift anahtarlı kriptografi (double key cryptography): Açık anahtarlı kriptografi veya asimetrik kriptografi.

Doküman: (Document) Bir verinin üzerine kayıt edildiği, insan ya da makine tarafından okunabilen, (değişmez) veri taşıyıcı.

elektronik kimlik belgesi-EKB (digital certificate): Onay kurumunun hazırladığı ve sayısal olarak imzaladığı, hangi açık anahtarın hangi kişiye ait olduğunu gösteren belge.

elektronik veri değişimi-EVD (electronic data interchange-EDI): Standart bir formda yazılmış olan bilgilerin bilgisayarlar arasında aktarımı ve otomatik olarak yorumlanıp işlenebilmesi.

Elektronik Veri Değişimi: (Electronic Data Interchange) Standart bir yapıda bilgisayardan – bilgisayara veri (ticari) transferi.

erişim (access): Herhangi bir sistemi kullanmaya başlama, örneğin bir elektronik ticaret sistemine bilgisayar üzerinden bağlanarak iletişim kurma.

EVD kurumu (EDI association): Bir ülkede EVD kullanımını düzenleyen kuruluş, örneğin, ABD’deki EDIA, Avustralya’daki EDICA, Kanada’daki EDICC veya Yeni Zelanda’daki EDIANZ

EVD servis sunucusu (EDI server): Bir EVD servisinin merkezinde olan bilgisayar sistemi.

gizli -özel,kişisel- anahtar (private key): Açık anahtarlı kriptografi kullanan bir kullanıcının, kendisine ait olan iki anahtarından gizli tutulanı.

gizlilik (privacy): İletişim kuran iki taraf arasındaki yazışmaların üçüncü kişilerden gizli tutulması, veya bir kişiye ait bilgilerin kendisi dışında herkesten gizli tutulması.

güvenilir üçüncü kuruluş, kurum veya kişi-GÜK (trusted third party-TTP): Bir çeşit onay kurumu. Onay kurumlarının yaptığı gibi kişilerin kimliğini güvenli olarak belirleyip, elektronik kimlik belgelerini hazırlamaya ve anahtar yönetimini sağlamaya ek olarak, kişilerin gizli anahtarlarını çok güvenli bir ortamda saklayan ve gerektiğinde yargı kararıyla yetkili makamlara veren kuruluş.

kanal (channel): Bilginin bir kullanıcıdan diğerine iletimi için gereken fiziksel iletişim ortamı, örneğin, bilgisayar bağlantısı, telefon kablosu, radyolink ve uydu üzerinden diğer kullanıcıya ulaşan bağlantının tümü

kapalı bilgisayar ağı (closed computer network): Kullanıcılarından biri olmak için belirli koşulların sağlanması gerektiği, herkese açık olmayan bilgisayar ağları. Örnek: Bankalar ve bankamatikler arasındaki bağlantı.

kimlik belirleme (authentication): Herhangi bir servisi almak isteyen birinin, gerçekten de kendi iddia ettiği kişi olduğunun belirlenmesi.

Kod:
(a) Bilginin kısaltılarak kayıt edildiği ya da tanımlandığı karakter dizisi
(b) Bilgisayarın tanıyacağı formda özel semboller kullanılarak bilginin gösterilmesi ya da tanımlanması.

kriptografik algoritma (cryptographic algorithm): Şifreleme / şifre çözmede kullanılan belirli bir yöntemin ayrıntılı içeriği, bu içeriğin matematiksel adımları.

kriptoloji (cryptology): Güvenli bilgi iletişimi ve/veya saklanması için sifreleme ve sifre çözme yöntemleri türeten, geliştiren, inceleyen bilim dalı.

Mesaj çizeneği: (Message diagram) Bir mesaj içindeki bölüm dizisinin grafiksel gösterimi.

Mesaj kodu: (Message code) Mesaj tipini tanımlayan ve tek olan alfabetik referans (isim).

Mesaj rehberi: (Message directory) İsimlendirilmiş, tanımlandırılmış ve tarif edilmiş mesaj tiplerinin listesi.

Mesaj tipi: (Message type) Belirlenmış işlem tipi için ihtiyaçları kapsayan, tanımlanmış ve planlanmış veri kümesi (seti).

Mesaj: (Message) Bilgiyi taşımak üzere planlanmış sıralı (düzenli) karakter serisi

onay kurumu-OK (certifying authority-CA): Kişilerin kimliğini güvenli olarak belirleyip elektronik kimlik belgelerini hazırlayan ve anahtar yönetimini sağlayan kuruluş.

sayısal imza (digital signature): Elektronik ortamdaki yazışmalara eklenen, yazıyı gönderenin kimliğini ve gönderilen yazının iletim sırasında bozulmadığını kanıtlamaya yarayan bölüm. Sayısal imza, yazının içeriğine ve imzalayanın gizli anahtarına bağlı bir kriptografik yöntemle atıldığı için, sayısal imzanın doğrulanmasında, imzayı atanın açık anahtarı kullanılır.

sayısal noter (digital notary): Bilgisayar ağlarında iletilen bilgileri tarafların isteği ile saklayıp, kendisine başvurulduğunda belgeleyebilen kuruluş.

tek anahtarlı kriptografi (single key cryptography): Şifreleme ve şifre çözme için aynı anahtarı kullanan kriptografik yöntemlerin tümü. Simetrik kriptografi veya gizli anahtarlı kriptografi adını da alır. Kullanılan gizli anahtarı mesajı gönderen ve alan kişilerin paylaşması gerektiği için, tek anahtarlı kriptografinin güvenilirliği, her kullanıcı çiftine ayrı bir anahtar verilebilmesine bağlıdır. Bu durumda, bir kullanıcı, haberleşeceği herkes için farklı bir anahtar kullanmak zorundadır; bu ise önemli bir anahtar dağıtımı problemine yolaçar. Çift anahtarlı kriptografi , bu sorunu ortadan kaldırmıştır.
UN/EDIFACT : Mesaj rehberinde belirlendiği düzende sıralı bölümler kümesi.

Veri Elemanı Adı: (Data element name) Doğal dilde bir ya da daha çok sözcük ile veri elemanı kavramının tanımlanması.

Veri elemanı Niteliği: (Data element attribute) Veri elemanının tanımlanmış özelliği

Veri elemanı rehberi: (Data element directory) Tanımlanmiş, isimlendirilmiş veri elemanı niteliklerinin, uygun veri elemanı değerinin nasıl simgeleneceğine ilişkin spesificasyonları içeren liste.

Veri elemanı: Verinin, tanımlamak, değer göstermek için özellikleri belirlenmiş bir birimi.

Veri: Bilginin, iletişim, yorum, ya da işlem için uygun olarak formülize edilmiş şekilde gösterilmesi

yasal erişim ( lawful access): Devletin, açık anahtarlı bir kriptografik algoritma kullananların gizli anahtarlarına, yasaların gerektirdiği durumlarda ve yargı kararıyla ulaşabilme yetkisi.

zaman damgası (time stamp): Bilgisayar ağlarında iletilen mesajlara eklenen ve mesajın yazıldığı zamanı güvenli olarak belgeleyen damga.

Not: Elektronik ticaret terimler sözlüğü TÜBİTAK-BİLTEN tarafından hazırlanmıştır.

WİNDOWS'UN KURULUMU VE AYARLARI



Windows'un Kurulumu ve Ayarları... Kurulumu... Kurulum WINDOWS yazılım CD’sindeki KUR veya SETUP komutlarının kullanılmasıyla başlatı­lır. Kurulumun özel bir istekle başlatılması için bu komutların sonuna isteğinizle ilgili parametrelerin getirilmesi gerekmektedir. İşte tüm WINDOWS sürümleri için geçerli olmayan parametreler aşağıdaki gibidir. /D :Sabit diskte eski Windows sürümlerini aramaz/IH : Scandisk’i ön planda çalıştırır/IX : karakter seti uyumsuzluğu kontrolünü iptal eder/IS : Sistem kontrolünü geçer/ID : Sabit disk kapasitesi kontrolünü geçer/IQ : cross-linked dosyalar ve dosya ve dizin entegrasyonu kontrolünü geçer/IN : Kurulumu ağ desteksiz başlatır/NOSTART : Sadece minimum Windows 95 kurulumu yapar/P B : Her tak-kullan arama modülünü yüklerken sorar/P I : Tak-kullan BIOS kontrolünü geçer/P J : Tak-kullan BIOS kontrolünü mutlaka yapar/IW : Son kullanıcısı lisans anlaşması ekranını görüntülemez
Boot Sektör Koruması... Eğer bilgisayarınızın BIOS’unda virüslere karşı boot sektör koruması varsa, sistemi­nize Windows kurmadan önce bu seçeneği kapatmalısınız. Boot sektör koruması sabit diskin boot sektörüne izinsiz bir şeyler yazılmasını engeller, fakat Windows kurulum aşamasında kimseden izin almadan bu alana serbestçe erişmek ister. Aynı uyarımız bellekte kalan anti-virüs yazılımları için de geçerlidir. Windows kurma­dan önce bu tür koruma yazılımlarının tamamını kapatmalısınız.
Kurulumun İsteğe Göre Gerçekleştirilmesi... Windows’u sisteminize yüklerken Custom Setup (Özel Kuru­lum) seçeneğini kullanın. Böylece kullanmayacağınız ancak sabit diskinizi dolduracak dosyaların yüklenmesini önleyebilirsiniz. Örneğin herkes duvar kağıdı (Wall paper) kullanmaz. Windows'un dekoratif öğeleri olmalarına karşın kapladıkları yere bakınca kullanmak istemeyebilirsiniz. Hızlı bir kurulum içinExpress Setup seçeneğini seçmelisiniz. Ancak bu durumda da sabit disk alanınızın neredeyse yarısını kaplayan bir takas dosyasını size sormadan yaratılabilir.
Takas Dosyası (swap file)... Windows'un RAM bellekte yeterli yer kalmadığı zaman bellek niyetine kullandığı sabit disk alanıdır. Bir programı çalıştırdığınızda RAM bellekte yeterli yer yoksa, Windows RAM bellekteki programlardan birini alıp takas dosyasının içine koyar. Ancak sabit disk RAM bellekten çok daha ağır olduğu için büyük bir takas dosyası yaratmak sisteminizin belleğini artırmak anlamına gelmez. Bu yüzden takas dosya­sının kapladığı alana ' Varsayılan bellek' adı verilir ve diskin sınırlı bir alanı takas dosyası için ayrılır. Söz konusu bu dosya windows klasörünün içinde .SWP uzantılı olarak bulunmaktadır.
Takas Dosyasının Boyutu Ne Olmalıdır... Aslında bu dosyanın boyutu Windows keyfine bırakılmalıdır. Ancak sabit diski ağzına kadar dolu olan kullanıcılar bu değerli megabaytları Windows’a kaptırmamak için takas dos­yasının boyutunu sınırlamayı tercih ediyorlar. Takas dosyasının boyutları şu yolla değiştirilir;
1. Denetim Masasını açın, Sistem üzerine çift tıklayın (Control Panel*System).
2. Ekrana gelecek olan diyalog kutusunun Başarım (Performance) bölümüne gelin.
3. Sanal Bellek (Virtual Memory) düğmesine basın.
4. "Kendi ayarlarımı kendim belirleyeyim" (Let me specify my own setting) seçeneğini aktif hale getirin.
5. Takas dosyasının boyutunu belirleyin. Bu boyut belleğinizin en az iki katı olmalıdır.
6. Tamam düğmesine basın ve Windows 95’i yeniden başlatın. Yeni takas dosyanız hayırlı uğurlu olsun.
Normalde takas dosyasının büyüklüğü RAM belleğin yaklaşık iki katı olmalıdır. Bu nedenle 4 MB'lık bir sis­temde 8, 8 MB veya daha üstü bir sistemde 16 MB'lık bir takas dosyası normal sayılabilir. Ancak RAM bellek miktarı ne olursa olsun, 20 MB'ın üzerinde bir takas dosyası pek işinize yaramayacaktır.

YILDIZ TEKNİK ÜNİVERSİTESİ




TÜM DERS NOTLARI: www.bto.yildiz.edu.tr, ders notları linkinde. Bu notlar aşağıdaki 1.no.lu kaynaktan yararlanılarak hazırlanmıştır.
DİĞER KAYNAKLAR:
1. Deitel & Deitel. (2000). C++ How To Program. Third Edition. New Jersey: Prentice Hall
2. http://www.bups.bilkent.edu.tr/ibcomp/cpp/cpp.html


KONU 1: BİLGİSAYARLAR ve C++ İLE PROGRAMLAMAYA GİRİŞ

HEDEFLER:

1- Programlama dillerinin evrimi bakımından dil sınıflarını öğrenme
2- Tipik bir C++ program geliştirme ortamını anlama
3- C++ ile basit programlar yazabilme
4- Basit G/Ç cümleleri yazabilme
5- Temel veri türlerini tanıma
6- Aritmetik operatörleri kullanabilme
7- Aritmetik operatörlerin önceliklerini anlama
8- Basit karar verme cümleleri yazabilme

İÇERİK:

Giriş:
Bilgisayar nedir?
İşletim sistemlerinin evrimi
Kişisel, Dağıtık ve İstemci/Sunucu Ortamlar
Dil çeşitleri: Makine dili, “assembly” dili ve yüksek seviyeli diller
C ve C++’nın tarihçesi
Yapısal programlama
Nesne teknolojisi: Yazılımda yeni eğilim
C++ programı yürütmenin aşamaları
C++ ile programlamaya giriş
Basit bir program: bir satır yazma
Diğer bir basit program: 2 tamsayının toplanması
Bellek kavramları
Aritmetik
Karar verme: Eşitlik operatörleri ve ilişkisel operatörler


GİRİŞ

BİLGİSAYAR NEDİR?: Bilgisayar, insanın yapabileceğinden milyonlarca hatta milyarlarca kat hızlı hesaplama yapan ve/ya mantıksal kararlar verilebilen bir alettir. Süper bilgisayarlar saniyede yüz milyarlarca toplama yapabilirler ki bu bir insanın basit bir hesap makinesiyle onlarca yılda yapabileceği işlem miktarıdır.

Bilgisayarlar, bilgisayar programı denen komut setlerinin kontrolu altında verileri işlerler. Bilgisayarda çalışan bilgisayar programlarına yazılım denir. Bunları geliştiren, yazan kişilere de bilgisayar programcısı denir.

Bilgisayar 6 mantıksal bölümden oluşur:

1- Giriş birimi
2- Çıkış birimi
3- Bellek
4- Aritmetik mantık birimi Merkezi işlem birimi
5- Kontrol birimi
6- İkincil bellek

İŞLETİM SİSTEMLERİNİN EVRİMİ

İlk bilgisayarlar bir anda bir iş yapabiliyorlardı. Delikli kartlarla yazılan programlar, kart okuyucudan bilgisayara okutularak sırayla (bir anda bir iş) çalıştırıldı. Bir anda bir işin çalıştığı bu ortamda bilgisayarın tüm kaynakları verimli biçimde kullanılmamış olmaktadır. MİB çalışırken giriş ve çıkış birimleri boş beklemektedir. Daha verimli kaynak kullanımı için giderek “çoklu programlama” ya izin veren işletim sistemleri geliştirilmiştir. Bu ortamlarda bir anda birden fazla iş çalışır, ancak hala kullanıcılar programlarını kartlara delerek bilgisayara girmektedir.

1960’larda “timesharing” işletim sistemleri geliştirilmiştir. Timesharing bir ortamda kullanıcılar bilgisayara, terminaller (bir ekran ve klavye) aracılığıyla erişirler. Böylelikle onlarca hatta yüzlerce kişi aynı anda tek bir bilgisayara erişebilmekte ve kullanmaktadır.

KİŞİSEL, DAĞITIK ve İSTEMCİ/SUNUCU İŞLEM

1977’de Apple şirketi kişisel bilgisayarları popülerleştirdi. İlk başta hobisel bir yaklaşım olan kişisel bilgisayar kullanımı 1981’de IBM’in Personal Computer’ı tanıtmasıyla sadece evlerde değil iş yaşamında da çok yoğun biçimde kullanılmaya başladı.

Fakat bu bilgisayarlar tek başına birimlerdi. Bilgisayardaki veriyi paylaşabilmek için başka bir bilgisayara taşınabilir disklerle taşımak gerekiyordu. Tek başına, bağımsız üniteler halinde bulunan bilgisayarların LAN veya büyük ağlar aracılığıyla birbirine bağlanmasıyla dağıtık işlem (“distributed processing”) başladı. Bugün artık büyük miktarlarda veri, bilgisayar ağlarında yer alan File Server denen ve ortak kullanılacak program ve verileri saklayan bilgisayarlar aracılığıyla istemci bilgisayarlar tarafından kullanılabilmektedir (istemci/sunucu ortam).

C ve C++ günümüzde, bu ortamları (bilgisayar ağları, dağıtık istemci/sunucu ortamlar, bunları destekleyen işletim sistemleri) yazmakta yaygın olarak kullanılan dillerdir.
PROGRAMLAMA DİLLERİ

Programlamanın evrimi bakımında 4 sınıftan bahsedebiliriz:

1- Makine dilleri (1.kuşak): sayılardan oluşan, sadece belirli bir makinenin anlayacağı , hata yapmaya çok açık diller
2- Assembly dilleri (2.kuşak): İngilizce benzeri komutlardan oluşan diller. Assembly dili ile yazılmış bir program, bir çevirici (translator) ile makine diline çevrilerek çalıştırılır. Oldukça anlaşılabilir gözükmesine karşın çok basit bir iş için bile çok sayıda komut yazmak gerekmektedir.
3- Yüksek seviyeli diller (3.kuşak) - “procedural” diller. “NASIL” yapılacağını ayrıntılı olarak bildirdiğimiz diller. İngilizceye benzer, aritmetik işlemlerde kullandığımız işaretleri kullanır, daha hızlı ve kolay program yazılır. C ve C++ bu gruptadır. Çok sayıda dil geliştirilmiştir. Yaygın kabul görenler:
Fortran IBM 1954 Mühendislik uygulamalarında hala yaygın olarak kullanılır.
Cobol 1959 Günümüz ticari uygulamalarının yarısı Cobol ile yazılmıştır.
Pascal Niklaus Wirth 1971 Akademik kullanım için

4- Çok yüksek seviyeli diller (4.kuşak): “NE” yapılacağını söyledğimiz diller: LISP, SNOBOL, FORTH, SQL...

C ve C++’nin TARİHÇESİ

BCPL 1967 Martin Richards
B 1970 Ken Thompson Bell Laboratuarları
C 1972 Dennis Ritchie Bell “
UNIX işletim sisteminin yazılmasında kullanıldı. Makineden bağımsız bir dil.
C++ 1980 Bjarne Stroustrup AT&T

1983 – 1989 ANSI C’nin standart tanımını yaptı, 1990’da yayımlandı: ANSI/ISO 9899:1990

C++, C’ye birtakım ek özellikler ile nesne-yönelimli programlama (“object-oriented programming”) yetenekleri getirmiştir. Nesneler tekrar tekrar kullanılabilir yazılım bileşenleridir; yazılım geliştirmede büyük kolaylık (verimlilik) sağlarlar.

Diğer nesne-yönelimli diller:

Smalltalk Xerox’s Palo Alto Araştırma Merkezi
Java Sun Microsystems-James Goslin 995 (1993 WWW popülerliği)


C++ STANDART KİTAPLIK

C++ programları sınıflar (“classes”) ve fonksiyonlardan (“functions”) oluşur. Bunlar program parçalarıdır. Bunların bir kısmını programcı yazar, bir kısmı da standart kitaplıkta hazır bulunur.



YAPISAL PROGRAMLAMA

1960’lara kadar programlama çok karmaşık, zor, maliyetli...

1960’larda yapısal programlama ortaya çıkmaya başladı. Yapısal programlama, daha açık, net, anlaşılabilir, okuması, izlemesi, sınaması kolay programlar yazmak için bir yaklaşımdır.
3 temel yapı kullanılır: sıra, tekrar yapısı ve karar verme yapısı. Goto kullanılmaz ya da mümkün olduğunca az kullanılır. Buna uygun ilk dillerden biri (ve en popüleri diyebiliriz) Pascal (Niklaus Wirth,1971). Akademik ortamlarda yapısal programlamayı öğretmek için geliştirildi. Pek çok okulda yaygın olarak kullanıldı. Ancak, ticari uygulamalarda ve her türlü iş ortamına uygun uygulamalarda gereksinilen pek çok olanağı içermemesi, üniversite dışında yaygın kabul görmemesine neden olmuştur.

Ada – 1970’ler – 1980’lerin başı - US Dept. Of Defense

ANAHTAR YAZILIM TRENDİ: NESNE TEKNOLOJİSİ

Yazılım teknolojisindeki gelişme ve ilerlemeler; yapısal programlama, yapısal tasarım, yapısal analiz ile başladı. Ancak nesne yönelimli analiz, tasarım ve programlama ile daha çok gelişme elde edildi. Nesne yönelimli ile çevremizdeki tüm nesneleri (araba, öğrenci, ders, insan, uçak, sınıf vb) modelleriz. Modellediğimiz bu yazılım parçalarını tekrar tekrar kullanabildiğimiz gibi, bu tarz yazılan yazılımlar, daha iyi organize ve anlaşılır oldukları için bakımları da çok kolay olmakta ve programcıya zaman ve maliyetten büyük tasarruf sağlamaktadır (Yazılım maliyetinin %80’i programlamanın başında ve yazımındaki emeğe değil sonradan yapılan sürekli bakıma aittir).

C++, nesne yönelimli bir dil olarak anılmasına karşın hibrid bir dildir. Yani hem yapısal hem de nesne yönelimli program yazmayı mümkün kılar
Classes and Data Abstraction konusuna kadar C++ ile “procedural” programlama kavramlarını göreceğiz: kontrol yapıları, fonksiyonlar, veri türleri, giriş/çıkış, diziler, pointer ve stringler. Bu bölümlerde C++’ın C kısmı, C++ procedural enhancements to C kapsanacaktır.


C++ PROGRAMI YÜRÜTME AŞAMALARI

Unix ortamında bir C++ programının yürütülmesi için 6 aşamadan geçilir:

1- Edit : kaynak programın bir editör program ile yazılması. Uzantısı .cpp, .cxx veya .c
2- Ön işleme (“preprocess”): derleme öncesi bazı işlemler
3- Derleme: derlemenin çıktısı: amaç program
4- Link: programımızda kullanacağımızı belirttiğimiz standart kitaplık veya özel kitaplıklarda bulunan fonksiyonların amaç programla bir araya getirilmesi (link edilmesi)
5- Yükleme (“load”) – programın ve varsa gerekli bazı modüllerin (paylaşılan kitaplıklardan) diskten alınıp belleğe yüklenmesi
6- Yürütme

Şema: s. 15 (Deitel)


TAŞINABİLİRLİK (“portability”)

Taşınabilir programlar yazmak mümkünse de değişik sistemler ve değişik derleyiciler arasında birtakım problemler çıkmaktadır. Taşınabilirlikle ilgili konular ANSI C Standart dokümanında yer almaktadır: www.ansi.org Doküman adı: Information Technology – Programming languages – C++. Doküman numarası: ISO/IEC 14882-1998.
Daha eski taslak versiyonu (ücretsiz): www.cygnus.com/misc/wp/

İYİ PROGRAM YAZMA TAVSİYELERİ:

C++ programlarınızı basit ve straightforward biçimde yazın: KIS (“Keep It Simple”).

Kullandığınız C++ sürümünün kılavuzu elinizin altında olmalı.

En iyi öğretici bilgisayarınızdır. Kitaplarda veya derslerde işlenen konuları, verilen örnekleri, bilgisayarda çalıştırarak, çıkan hata mesajlarını okuyup, tekrar deneyerek öğrenebilir ve tecrübe kazanabilirsiniz.


C++ İLE PROGRAMLAMAYA GİRİŞ

BASİT BİR PROGRAM: BİR SATIR METNİN YAZDIRILMASI

// C++ ile ilk programım
#include

int main()
{
std::cout << “Herkese Merhaba!\n”;

return 0; // program sonu
}
Herkese Merhaba!

// C++’de açıklama satırının başına konur. Bu satırlar için derleyici bir iş yapmaz; bu satırlar program dökümünde aynen yer alan; programın okunabilirliği, anlaşılabilirliği için gerekli açıklama satırlarıdır. İyi bir programcı gerekli yerlere gerekli açıklamaları koyar.

C dilinde ise açıklama /* */ arasına konur.

# ile başlayan satırlar ön derleyici (“preprocessor”) içindir. Örnek programımızda # ile başlayan satır ön derleyiciye giriş/çıkış ile ilgili iostream başlık dosyasını (“header file”) programa dahil etmesini söyler.

int main () her C++ programında olması gerekir.

Her C++ programı bir veya birkaç fonksiyondan oluşur. ()’ler main’in bir fonksiyon olduğunu; “main” sözcüğü de bunun ana fonksiyon olduğunu belirtmektedir.

int integer (tamsayı) anlamında.
int main ()’in anlamı: bu ana fonksiyonun çalıştıktan sonra verdiği değer, bir tamsayıdır.
(return 0 ile dönen sıfır )
Bir fonksiyonun gövdesi (“body”) köşeli sol parantez ile { başlar, köşeli sağ parantez ile } biter.


std::cout ekrana çıkış almak için. İlerki bölümlerde daha ayrıntılı göreceğiz.

std::cin klavyeden girileni okumak için

<< “stream insertion operator”

\n karakterlerinin çıktıda yer almadığına dikkat edin!
\ “escape” karakteri
n imlecin alt satıra konumlanmasını söyler.

\n yeni satır
\t bir “tab” ileri gitmek için
\r imleç yeni yazılan sol başına konumlanır (“carriage return”)
\a uyarı sesi

Herkese Merhaba! cümlesini başka nasıl yazdırabilirdik?


std::cout << “Herkese “;
std::cout << “Merhaba!\n”;

ŞÖYLE YAZARSAM ÇIKTI NASIL OLUR???

std::cout <<”Herkes\ne\nMerhaba!\n”;
Herkes
e
Merhaba!


BAŞKA BİR BASİT PROGRAM: iki tamsayının toplanması

// İKİ TAMSAYIYI TOPLAYAN PROGRAM
#include

int main()
{
int tamsayi1, tamsayi2, toplam; //tanımlamalar

std::cout << “Birinci tamsayıyı giriniz\n”;
std::cin >> tamsayi1; //klavyeden girilen sayıyı oku
std::cout << “İkinci tamsayıyı giriniz\n”;
std::cin >> tamsayi2; // klavyeden girilen sayıyı oku
toplam = tamsayi1 + tamsayi2;
std::cout << “Toplam = “ << toplam << std::endl;

return 0; // programın başarıyla bittiğini gösterir
}
std::endl =è endl “end line” yani satır sonu demektir. Yaptığı iş, yeni satırı yazdıktan (ekrana yolladıktan sonra) çıkış buffer’larını temizlemektir. Bilindiği gibi, çıkışa gönderilecek veriler, gönderilmeden önce çıkış buffer’larında biriktirilir. Çıkış işleminden sonra buffer’ların boşaltılması/temizlenmesi için endl kullanırız.


ÖNEMLİ NOTLAR:
C++, büyük ve küçük harfe duyarlı bir dildir.
Cümleler ; (noktalı virgül) ile biter.


İYİ PROGRAM YAZMA TAVSİYELERİ:

1- Bir fonksiyonun gövdesinin içine yazılan satırlar 3 boşluk içerden yazılır (“indentation”)
2- Tanımlamalar ile yürütülebilir cümleler arasında bir satır boşluk bırakınız.
3- Anlamlı değişken isimleri kullanınız.
4- İkili (“binary”) operatörlerin sağ ve solunda birer boşluk bırakınız.


ARİTMETİK OPERATÖRLER

C++ işlemi Aritmetik operatör Cebirsel ifade C++ ifadesi

Toplama + f+7 f + 7
Çıkarma - p-c p – c
Çarpma * bm b * m
Bölme / x/y x / y
Modulus % r mod s r % s
C++’da aritmetik işlemlerde operatörlerin öncelik sırası kuralları:

1- Parantez içleri en önce hesaplanır.
2- Daha sonra, çarpma, bölme, modulus işlemleri yapılır. Bir aritmetik ifadede birden fazla çarpma, bölme, modulus işlemi varsa, bu işlemlerdeki operatörler SOLDAN SAĞA doğru uygulanır. Çarpma, bölme, mod operatörlerinin önceliği aynıdır.
3- En son toplam ve çıkarma işlemleri yapılır. Bir ifade, birden fazla toplama ve çıkarma işlemi içeriyorsa, bunlara ait operatörler SOLDAN SAĞA uygulanır.



ÖRNEKLER: ss. 31 – 33 (Deitel)


İYİ PROGRAM YAZMA TAVSİYELERİ:

Cebirde olduğu gibi, gereksiz parantezler konmayabilir. Ancak, özellikle uzun ifadelerde alt ifadeleri parantez içlerin alarak anlaşılabilirliği artırmak iyidir.
İLİŞKİSEL OPERATÖRLER ve EŞİTLİK OPERATÖRLERİ

İlişkisel operatörler C++ karşılığı C++ örneği Anlamı

> > x > y x, y’den büyüktür
< < x < y x, y’den küçüktür
>= x >= y x, y’den büyüktür veya y’ye eşittir
<= x <= y x, y’den küçüktür veya y’ye eşittir.

Eşitlik operatörleri
= == x ==y x, y’ye eşittir
!= x != y x, y’ye eşit değildir


SIK YAPILAN HATALAR:

==, >=, <=, != operatörlerini yazarken iki karakter arasında boşluk bırakılmamalıdır veya iki karakterin yeri değiştirilmemelidir.

Eşitlik operatörü ==’ yi, atama için kullanılan = ile karıştırmayınız.


EŞİTLİK VE BAĞINTI OPERATÖRLERİNİ KULLANAN BİR PROGRAM ÖRNEĞİ
// if cümlesi ile eşitlik ve ilişki/bağıntı operatörlerini kullanan bir program
#include

using std::cout; // program cout kullanır
using std::cin; // program cin kullanır
using std::endl; // program endl kullanır.

int main ()
{
int sayi1, sayi2;

cout << “İki tamsayi giriniz.\n”
<< “Ben aralarındaki ilişkiyi söyleyeceğim: “;
cin >> sayi1 >> sayi2;

if (sayi1 == sayi2)
cout << sayi1 << sayi2 << “’ye eşittir.” << endl;
if (sayi1 != sayi2)
cout << sayi1 << sayi2 << “’ye eşit değildir.” << endl;
if (sayi1 < sayi2)
cout << sayi1 << “, “ << sayi2 << “’den küçüktür.” << endl;
if (sayi1 > sayi2)
cout << sayi1 << “, “ << sayi2 << “’den büyüktür.” << endl;
if (sayi1 <= sayi2)
cout << sayi1 << “, “ << sayi2 << “’den küçük veya eşittir.” << endl;
if (sayi1 >= sayi2)
cout << sayi1 << “, “ << sayi2 << “’den büyük veya eşittir.” << endl;
return 0;
}
İki tamsayı giriniz.
Ben size aralarındaki ilişkiyi söyleyeceğim: 3 7
3, 7’ye eşit değildir.
3, 7’den küçüktür.
3, 7’den küçük veya eşittir.

İki tamsayı giriniz.
Ben size aralarındaki ilişkiyi söyleyeceğim: 22 12
22, 12’ye eşit değildir.
22, 12’den büyüktür.
22, 12’den büyük veya eşittir.

İki tamsayı giriniz.
Ben size aralarındaki ilişkiyi söyleyeceğim: 7 7
7, 7’ye eşittir.
7, 7’den küçük veya eşittir.
7, 7’den büyük veya eşittir.


using cümleleri: cout ve cin’den önce std:: kullanımını ortadan kaldırır. Hatırlanacağı gibi ilk basit örneğimizde std::cout kullanmıştık. Çok sayıda giriş / çıkış yapılacağı zaman her cout ve cin’den önce std:: kullanmak çok pratik olmayacaktır. Bu nedenle using kullanmakta fayda vardır.


İYİ PROGRAM YAZMA TAVSİYELERİ:

1- Programın okunabilirliğini artırmak için if yapısının içinde yer alan cümleleri 3 boşluk içerden yazınız.
2- Bir satırda birden fazla cümle yer almamalı.
3- Bir cümle bir satıra sığmayıp alt satırdan devam edecekse, cümleyi anlamlı bir yerinden bölmeye özen gösteriniz.




*** Konu 1’in sonu ***









WİNDOWS'UN BAKIMI



Windows çalışmadığında veya ikide bir çöktüğünde ne yaparsınız? Elinizde aşağıdaki gibi bir bakım/onarım listesi olursa her gün karşılaştığınız DOS ve Windows problemlerinden kurtulabilirsiniz. Verdiğimiz püf noktaları basitinden karmaşık olanına doğru sıralanmıştır. Başınız Windows'la derde girdiğinde basitinden başlayarak adım adım karmaşık olanına doğru gidebilirsiniz.
1. Windows açılış aşamalarını izlemek için WIN/B'yi kullanın
Windows 3.x'i sisteminize kurduğunuzda BOOTLOG.TXT adında bir dosya oluşur. Bu ASCII dosyası Windows'un başarılı şekilde açılması için gerekli programların kaydını tutar. Windows gerektiği gibi açılmazsa - özellikle Microsoft logosu çıktıktan sonra takılırsa - sorunun nedenini bulmak için kendi BOOTLOG.TXT dosyanızı yaratabilirsiniz. Bunu yapmak için, DOS komut satırında REN BOOTLOG.TXT BOOTLOG.001 komutunu kullanarak BOOTLOG.TXT dosyasının ismini BOOTLOG.001 olarak değiştirin
Windows'unuz C:\WINDOWS'dan başka bir dizinde yer alıyorsa yukarıdaki komutlarda uygun sürücü ve dizin ismini kullanın. Sonra, WIN /B komutuyla Windows'u çalıştırın. Windows yine takılsa bile, C:\WINDOWS dizini altında yeni bir BOOTLOG.TXT dosyası yaratılır. Bu dosyanın içeriğini EDIT.COM gibi bir DOS metin editörü ile okursanız aşağıdaki gibi bir satır görebilirsiniz:
LOADFAIL=GDI.EXE FAILURE CODE IS 02
Bu satır varsa sorunun kaynağını buldunuz demektir. ' Failure Code' İngilizce'de ' Hata Kodu' anlamına gelir. Bu kodların hangi anlamlara geldiğini ve sorunun nasıl çözüleceğini bu sayfadaki listeden öğrenebilirsiniz. Bozuk bir Windows dosyasını tekrar yüklemek için Windows'un 1. Disketinde gelen EXPAND.EXE programını kullanabilir ve eskisinin üzerine yeni dosyayı kopyalayarak sorunu çözebilirsiniz. Örneğin, GDI.EXE dosyasını tekrar yüklemek için Windows disketlerindeki sıkıştırılmış GDI.EX_ dosyasını EXPAND programı ile çözüp eski yerine kopyalamak gerekir. GDI.EX_ dosyasının bulunduğu Windows disketini sürücüye yerleştirdikten sonra bu komutu aşağıdaki gibi (tek satır halinde) kullanıyoruz:
EXPAND A:\GDI.EX_ C:\WINDOWS\ SYSTEM\GDI.EXE
2. Bellek çatışmalarını önlemek için WIN /D:X komutunu kullanın
Windows açıldıktan sonra çöküyor veya sürekli hata mesajı veriyorsa, Windows ile üst bellek bloklarını (UMB) kullanan bir TSR (belleğe yerleşik) program arasında bir çatışma söz konusu olabilir. Windows'u Geliştirilmiş 386 kipinde çalıştırıyorsanız , böyle bir çatışma olup olmadığını tespit etmek için en hızlı yol Windows'u WIN /D:X komutuyla çalıştırmaktır. Burada /D parametresi Windows'u ' debug' kipinde çalıştırır, X ise Windows'u UMB'nin kullanılmasını önlemeye zorlar. Bu komut sorunu çözüyorsa, Windows büyük olasılıkla TSR programın kullandığı bir üst bellek bloğunu kullanmaya çalışıyordur. Bu üst bellek bloğuna ulaşıp sorunu gidermek için DOS ile birlikte gelen MSD (Microsoft Diagnostics) programını kullanarak çatışmanın tam yerini belirleyebilirsiniz. Bunun için DOS komut satırında MSD yazıp Enter tuşuna basarak işe başlamalısınız. (MSD'yi Windows altında DOS penceresi açıp çalıştırırsanız yanlış sonuçlar verebilir). MSD penceresi ekrana geldiğinde Microsoft'ye basarak sisteminizin bellek haritasını açın. Bu haritada her 16K'lık üst bellek bloğu görünür. İlk blok C000-C3FF heksadesimal adresinde, ikincisi ise C400-C7FF adresinde yer alır. Son blok ise FC00-FFF'dedir. Yukarıdaki simgelere bakarak bu haritada RAM, ROM ve Used UMB (Kullanılan Üst Bellek Bloğu) alanlarını belirleyin. Bu simgeler haritadaki adreslerin RAM veya ROM yongaları tarafından veya bir TSR programın kodu tarafından kullanıldığını gösterir. Bu amaçla kullanılan alanların adresleri bir kenara not edin. Daha sonra \WINDOWS dizininden EDIT gibi bir metin editörü ile SYSTEM.INI dosyasını açın. Bu dosyada [386Enh] başlıklı bölümü bulun. Bu bölümün altına RAM, ROM veya TSR tarafından kullanılan her blok için aşağıdaki gibi satırlar ekleyeceksiniz:
[386Enh]
EMMEXCLUDE=C000-C3FF
EMMEXCLUDE=C400-C7FF
EMMEXCLUDE=CC00-CFFF
SYSTEM.INI dosyasını kaydedip çıkın ve Windows'u çalıştırın. Problem ortadan kalkmışsa buraya eklediğiniz satırlardan biri satırlardan biri Windows'u bellek çakışmasına yol açan alandan uzak tutuyor demektir. SYSTEM.INI dosyasına eklediğiniz satırları birer birer kaldırarak sorunu hangi satırın çözdüğünü bulabilir, ve sadece o satırı [386Enh] kısmında bırakabilirsiniz.
3. Windows hata mesajlarını Dr. Watson ile Çözün
Windows 3.1 ile gelen yardımcı programlardan biri de DRWATSON.EXE'dir. Windows sık sık Genel Koruma Hatası (GPF) veya Uygulama Hatası (Application Error) veriyorsa, Dr. Watson yardımcı olabilir. Bu programı kullanmak için Not Defteri (Notepad) ile WIN.INI dosyasını açın ve [Dr. Watson] başlıklı bölümü bulun. Başlığın hemen altındaki satırı aşağıdaki gibi değiştirin:
SkipInfo=time
ShowInfo=disassambly errorlog
WIN.INIdosyasında [Dr. Watson] bölümü yoksa kendiniz yaratın ve altına bu satırları ekleyin. WIN.INI dosyasına bu satırları eklediğinizde, Windows'u açarken Dr. Watson tarih ve zamanı bir dosyaya yazmak yerine karşılaştığı hataları yazar. Sonradan bu dosyayı inceleyip nerede hata olduğunu bulabilirsiniz.WIN.INI dosyasını kaydettikten sonra Program Yöneticisi'nin Başlangıçta grubu içinde Dr. Watson için bir simge yaratın. Bunun için Başlangıçta grubunu açıp Dosya*Yeni komutunu çalıştırın. Program Öğesi'ni işaretleyin ve Tamam'a tıklayın. Komut Satırı bölümüne DRWATSON.EXE yazıp Tamam'a tıklayın. Program Yöneticisi Dr. Watson için Başlangıçta grubunda otomatik olarak bir simge yaratacaktır.Windows'u yeniden başlattığınızda Dr. Watson simge durumunda çalışmaya başlayacaktır. Ancak Dr. Watson simgesinin üzerine çift tıklayarak ne gibi problemlerin çıktığını göremezsiniz. Ama bir genel koruma hatası (GPF) veya uygulama hatası çıktıktan sonra WINDOWS\DRWATSON.LOG dosyasına bu hata ile ilgili bilgiler yazılır. Bu dosyayı bir metin editörü ile açabilirsiniz. Dosyanın ilk üç satırında aşağıdaki gibi bir mesaj göreceksiniz:
MYAPP had an ' Exceed Segment Bounds (Read)' fault at program 15:0bbf.
Bu mesaj hangi uygulamanın (burada MYAPP) sorun çıkardığını ve hatanın hangi talimatla ortaya çıktığını açıklıyor. Bu bilgi sorunun ortadan kalkmasını sağlamamakla birlikte, o uygulamayı baştan yükleyerek sorunu giderme şansınız var. Ama bu hata programın uyumsuzluğundan kaynaklanıyorsa, yazılımı üreten firma yeni sürümlerinde bu mesajı dikkate alarak sorunu giderecektir.
4. Çatışmaları önlemek için PIF'leri ve PIF Editörü'nü kullanın
Windows altında DOS programlarınızı çalıştırmakta güçlük çekiyorsanız, yazımızda belirtildiği gibi DOS uygulamalarının PIF ayarlarını yeniden düzenleyebilirsiniz.Ama DOS programlarınız Windows altında çöküyorsa veya hata mesajı veriyorsa aşağıdaki önlemleri alabilirisiniz:
o DOS programı için PIF Editörü'nü kullanarak bir PIF yaratın ve Ayrıcalıklı (Exclusive) seçeneğini işaretleyerek işlemcinin tüm zamanını DOS programına ayırmasını sağlayın. Böylece DOS programı çalışırken Windows askıya alınacaktır.
o İleri Düzey (Advanced) diyalog kutusunda aşağıdaki kutulara işaret koyun: Uygulama Belleğini Kilitle (Lock Application Memory), EMS Bellek Kilitli (EMS Memory Locked) ve Video Belleğini Sakla (Retain Video Memory). Böylece DOS programının herhangi bir Windows programından bellek ödünç alması engellenecektir.
o İleri Düzey diyalog kutusunda tüm Ayrılacak Kısayol Tuşları (Reserve Shortcut Keys) seçeneklerindeki işareti kaldırın. Böylece DOS programını kapatmadan Windows'a geri dönemezsiniz. Ancak Windows yolunuzun üzerine çıkmayacağı için hata ortadan kalkabilir.
5. Microsoft Destek Hattı'na başvurun
Bütün bu püf noktaları ile sorununuzu çözememişseniz numaralı telefondan Microsoft Destek Hattı'nı arayabilirsiniz