<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>EvrenCe.Com &#187; QuickBasiC</title>
	<atom:link href="http://www.evrence.com/konu/programlama/qbasic/feed" rel="self" type="application/rss+xml" />
	<link>http://www.evrence.com</link>
	<description>Dünyaya bizim yanımızdan bakın ;)</description>
	<lastBuildDate>Wed, 21 Dec 2011 16:34:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Quick Basic &#8211; Bölüm 12</title>
		<link>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-12.html</link>
		<comments>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-12.html#comments</comments>
		<pubDate>Fri, 21 Mar 2008 01:23:59 +0000</pubDate>
		<dc:creator>Evren Bayraktar</dc:creator>
				<category><![CDATA[QuickBasiC]]></category>
		<category><![CDATA[Qb]]></category>
		<category><![CDATA[QBasic dersi]]></category>
		<category><![CDATA[Quick Basic]]></category>

		<guid isPermaLink="false">http://www.evrence.com/?p=23</guid>
		<description><![CDATA[Quick-Basic Kursu Bölüm 12: Dosya işlemleri-3 Yalnız metin içermeyen dosyalar vardır. Örneğin;<h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-9.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 9"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 9" />Quick Basic &#8211; Bölüm 9</a></strong>
Quick-Basic Kursu Bölüm 9: Rakamlarla ilgili işlemler ABS Verilen sayının mutlak(ABSolute) değerini
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-8.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 8"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 8" />Quick Basic &#8211; Bölüm 8</a></strong>
Quick-Basic Kursu Bölüm 8: Karakterlerle ilgili işlemler Kursun bu bölümünde karakterle ilgili
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-10.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 10"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 10" />Quick Basic &#8211; Bölüm 10</a></strong>
Quick-Basic Kursu Bölüm 10: Dosya İşlemleri-1 Bilgileri değişkenlere aktararak bellekte tutabiliyoruz ve
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-11.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 11"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 11" />Quick Basic &#8211; Bölüm 11</a></strong>
Quick-Basic Kursu Bölüm 11: Dosya İşlemleri-2 Bu bölümde Random dosya oluşturma, dosyaya
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-3.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 3"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 3" />Quick Basic &#8211; Bölüm 3</a></strong>
Quick-Basic Kursu Bölüm 3: CLS , INPUT ve PRINT Bu bölümde ekranı
</div>

	

]]></description>
			<content:encoded><![CDATA[<h3>Quick-Basic Kursu<br />
Bölüm 12: Dosya işlemleri-3</h3>
<p>Yalnız metin içermeyen dosyalar vardır. Örneğin; resim(BMP,JPG,GIF  		...) ses(WAV,MP3 ...), video(AVI, MOV, MPG ...) gibi dosyalar. Bu tür  		dosyalar içinde metin aranmaz ve metinle ilgili işlemler de yapılmaz.  		Ama örneğin bir gif dosya yapısını öğrendiniz ve dosya içindeki resmi  		ekrana basmak istiyorsunuz. Bunun için dosyayı binary olarak açıp  		içindeki kodları resim kodlarına dönüştürmelisiniz. Çalışma sistemi  		RANDOM dosya gibidir ancak önceden bir kayıt yapısı belirleme  		gerekliliği yoktur. GET ve PUT ile dosyanın istenilen kısmını  		okuyabilir, değişiklik yapabilirsiniz.</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" alt="" width="15" height="15" /> Binary(ikili)  		Dosya Oluşturma ve Yazma</h4>
<pre>OPEN "c:\ornek\ikili.bin" FOR <span style="color: #ff0000;">BINARY</span> AS #1</pre>
<p>Random dosyada olduğu gibi dosya yoksa oluşturulur. Varsa sorun  		çıkmaz. Üstteki kodu denerseniz, yok ise boş bir dosya oluşur.</p>
<pre>A$ = "Mesut"
PUT #1, , A$</pre>
<p><span id="more-23"></span>A$ değişkeni içeriğini PUT ile dosyaya yazdırdık. Kayıt numarası  		belirtmedik. Herhangi bir okuma veya yazma yapılmadığı için ilk 5 byte  		yazdırılır.</p>
<pre>A$ = CHR$(13) + CHR$(10) + "Akcan"
PUT #1, , A$</pre>
<p>İkinci satır oluşturuluyor. Sıralı erişimli dosyada satır atlamak  		için ikinci bir PRINT komutu kullanılıyordu ama burada byte byte işlem  		yapıldığı için satır atlama kodlarını da bizim girmemiz gerekir.  		CHR$(13) + CHR$(10) dan oluşan iki karakter sonraki satıra atlamayı  		sağlar. ENTER tuşunun yaptığını yapar</p>
<p>Üstteki kodları deneyip dosya içeriğini inceleyin sonra aşağıdaki  		kodları deneyin. Burada kayıt yeri olarak 2 yazılı. Değişken içeriği  		dosyanın 2. baytından başlayarak doldurulur. Tabii ki o kısımdaki eski  		bilgiler değişmiş olur.</p>
<pre>PUT #1, 2, A$
CLOSE</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" alt="" width="15" height="15" /> Binary Dosya  		Okuma</h4>
<p>Dosyadan byte byte bilgi okumak için GET komutu kullanılır.<br />
GET # dosyano, bytekonum, değişken<br />
şeklinde kullanılır. Konum belirtilmezse PUT da olduğu gibidir.</p>
<p>Binary dosyalarda çalışırken byte olarak okuduğumuz verilerden bir  		kısmı sayı içeriyor olabilir. Örneğin bir resim dosyasında ilk 3 bayt  		resim türünü,sonraki 2 byte renk derinliğini, sonraki 15 byte tanımlama  		vs.. olabilir. Bunları tek tek GET komutuyla diskten okutmak yerine  		gerekli bilgi bir seferde bir STRING değişkene atanır. MID$ ile gerekli  		bytelar değişkenden alınır. Fakat sayısal değerler byte'a dönüştüğünde  		farklı string değerlere sahip olur. Bir önceki derste dosyayı HexViewer  		ile incelediğimizde görmüştük. Bu tür bilgileri dönüştürmek için QBASIC  		içindeki hazır fonksiyonlar kullanılır.</p>
<p><span style="text-decoration: underline;">STRING'İ SAYIYA</span><br />
<strong>CVI </strong>: 2 byte'lık String'i Integer sayı değerine dönüştürür.  		Örneğin<br />
PRINT CVI("[x") --&gt; Sonuç : 30811</p>
<p><strong>CVS</strong> : 4 byte'lık String'i Single sayı değerine dönüştürür.<br />
<strong>CVL</strong> : 4 byte'lık String'i Long sayı değerine dönüştürür.<br />
<strong>CVD</strong> : 8 byte'lık String'i Double sayı değerine dönüştürür.</p>
<p>SAYIYI STRING'E<br />
<strong>MKI$</strong> : Integer sayı değerini String'e dönüştürür. Örneğin<br />
PRINT MKI$(30811) --&gt; Sonuç : [x</p>
<p><strong>MKS$</strong> : Single sayı değerini String'e dönüştürür.<br />
<strong>MKL$</strong> : Long sayı değerini String'e dönüştürür.<br />
<strong>MKD$</strong> : Double sayı değerini String'e dönüştürür.</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" alt="" width="15" height="15" /> Okuma ya da  		yazma konumu</h4>
<p>LOC fonksiyonu ile yazılacak ya da okunacak kayıt numarası öğrenilir.  		Binary dosyada byte olarak konumu, random dosyada ise kayıt numarasını  		verir.</p>
<pre>OPEN "c:\ornek\test.txt" FOR BINARY AS #1
a$ = MKI$(5214)
PUT #1, 8, a$
PRINT LOC(1)
CLOSE</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" alt="" width="15" height="15" /> UYGULAMA</h4>
<p>BMP formatında bir resim bulun ve <strong>c:\ornek</strong> klasörüne  		kopyalayın. Dosyanın adını <strong>resim.bmp</strong> olarak değiştirin. Aşağıdaki  		kodları yazıp çalıştırın. Bu uygulama resim dosyanız hakkında bazı  		bilgileri ekrana yazacaktır.</p>
<table id="table2" border="0">
<tbody>
<tr>
<td>
<pre>CLS : dosya$ = "c:\ornek\resim.bmp"
OPEN dosya$ FOR BINARY AS #1
<span style="color: #008040;">'PRINT "Dosya boyutu : "; LOF(1)</span>
baslik$ = SPACE$(14): boyut$ = SPACE$(4)
GET #1, 1, baslik$: GET #1, 15, boyut$
bmptur = <span style="color: #ff0000;">CVI</span>(boyut$)
IF bmptur = 40 THEN ' 12 ise OS/2 BMP
	baslikbilgi$ = SPACE$(40)
	GET #1, 15, baslikbilgi$
	renkd = CVI(MID$(baslikbilgi$, 15, 4))
ELSE
	PRINT "Windows BMP resim dosyası değil": END
END IF
dosyag = <span style="color: #ff0000;">CVL</span>(MID$(baslik$, 3, 4))
PRINT "Dosya Genişliği:"; dosyag; "byte"
PRINT "Renk derinliği :"; renkd; "bit"
baslgen&amp; = <span style="color: #ff0000;">CVL</span>(MID$(baslikbilgi$, 1, 4))
resGenislik = <span style="color: #ff0000;">CVL</span>(MID$(baslikbilgi$, 5, 4))
PRINT "Genişlik: "; resGenislik
resYukseklik = <span style="color: #ff0000;">CVL</span>(MID$(baslikbilgi$, 9, 4))
PRINT "Yükseklik: "; resYukseklik
PRINT
IF bmptur = 40 THEN
	PRINT "Sıkıştırma: ";
	skstrma = <span style="color: #ff0000;">CVL</span>(MID$(baslikbilgi$, 17, 4))
	IF skstrma = 0 THEN PRINT "Yok"
	IF skstrma = 1 THEN PRINT "Run Length - 8 Bits"
	IF skstrma = 2 THEN PRINT "Run Length - 4 Bits"
	kullRenk = <span style="color: #ff0000;">CVL</span>(MID$(baslikbilgi$, 33, 4))
	PRINT "Kullanılan renk sayısı:"; kullRenk
END IF
CLOSE</pre>
</td>
</tr>
</tbody>
</table>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" alt="" width="15" height="15" /> Dosyayı Silme</h4>
<p>Dos komut satırında bir dosyayı silmek için DEL komutu kullanılır.  		Ama Qbasic içinden dosyası silmek istersek ne olacak?<br />
Qbasic içinde de dosya silmek için bir komut var ama DEL değil KILL  		(öldürmek) Kullanımı:</p>
<p>KILL "sürücü:\dosyayolu\dosyaadı"</p>
<pre>KILL "c:\ornek\resim.bmp"</pre>
<p><span style="color: #ff0000;"><strong>Dikkat !</strong></span> Bu şekilde sildiğiniz  		dosyaya özel programlar kullanmadan ulaşmanız mümkün değildir.</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" alt="" width="15" height="15" /> Dosya adını  		değiştirme</h4>
<p>NAME komutu ile dosya adı değiştirilebilir.</p>
<pre>NAME "test.txt" AS "veri.dat"</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" alt="" width="15" height="15" /> Konum değiştirme</h4>
<p>Dos komut satırında CD ile bulunduğunuz klasörü öğrenebilirsiniz. Bu  		klasörden başka klasöre geçiş yapmak için Qbasicde CHDIR komutu  		kullanılır. Sürücü ve yol belirtilir</p>
<pre>CHDIR "D:\PROGRAMLAR"</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" alt="" width="15" height="15" /> Klasördeki  		Dosyaların Listesi</h4>
<p>Dos'da belirtilen klasördeki dosyaların listesini DIR ile alırız.  		Qbasicde ise FILES komutu kullanılır.</p>
<p>FILES dosya türü tanımı</p>
<pre>FILES <span style="color: #008040;">' bulunduğun klasörde tüm dosyalar</span>
FILES "*.bmp" <span style="color: #008040;">' BMP resim dosyaları</span>
FILES "c:\ornek\*.txt" <span style="color: #008040;">' belirtilen klasörde txt dosyalar</span>
FILES "?.B*" <span style="color: #008040;">' Dosya adı tek harfli, uzantısı B ile başlayan dosyalar.</span></pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" alt="" width="15" height="15" /> Yeni Klasör  		Oluşturma</h4>
<p>Dos'da MKDIR ya da MD komutu ile klasör oluşturulur. Qbasicde ise  		MKDIR ile</p>
<pre>MKDIR "C:\ORNEK"</pre>
<p>Eğer klasör yoksa yeni bir tane oluşur. Klasör varsa 		<span style="color: #ff0000;">Path/File access error</span> hatası belirir.</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" alt="" width="15" height="15" /> Klasörü Silme</h4>
<p>Dos'da RMDIR ya da RD ile klasör silinir. Qbasicde ise RMDIR ile</p>
<pre>RMDIR "C:\ORNEK"</pre>
<p>Klasör içeriği boş değilse <span style="color: #ff0000;">Path/File access  		error</span> hatası belirir. Klasörü silmek için önce içindekileri  		silmek gerekir.</p>
<pre>KILL "C:\ORNEK\*.*"
RMDIR "C:\ORNEK"</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" alt="" width="15" height="15" /> Dosya Kopyalama</h4>
<p>Qbasicde dosya kopyalamak için bir komut yoktur. Kısayoldan SHELL  		komutu ile tüm dos komutlarını kullanabiliriz ama Shell komutu  		kullanmadan dosyayı nasıl kopyalarız? Örnek kodlar aşağıda. Çok büyük  		dosyalarda bu kodlar sorun çıkarır. Büyük dosyalar için ek kodlar  		gerekir. Bu sorunu çözmek de size ödev olsun <img src='http://www.evrence.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<pre>OPEN "c:\ornek\ikili.bin" FOR BINARY AS #1
g&amp; = LOF(1) : a$ = SPACE$(g&amp;)
GET #1, , a$
CLOSE

OPEN "c:\ornek\kopya.bin" FOR BINARY AS #1
PUT #1, , a$
CLOSE
PRINT "Dosya kopyalandı"</pre>
<img src="http://www.evrence.com/?ak_action=api_record_view&id=23&type=feed" alt="" /><h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-9.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 9"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 9" />Quick Basic &#8211; Bölüm 9</a></strong><p>Quick-Basic Kursu Bölüm 9: Rakamlarla ilgili işlemler ABS Verilen sayının mutlak(ABSolute) değerini</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-8.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 8"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 8" />Quick Basic &#8211; Bölüm 8</a></strong><p>Quick-Basic Kursu Bölüm 8: Karakterlerle ilgili işlemler Kursun bu bölümünde karakterle ilgili</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-10.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 10"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 10" />Quick Basic &#8211; Bölüm 10</a></strong><p>Quick-Basic Kursu Bölüm 10: Dosya İşlemleri-1 Bilgileri değişkenlere aktararak bellekte tutabiliyoruz ve</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-11.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 11"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 11" />Quick Basic &#8211; Bölüm 11</a></strong><p>Quick-Basic Kursu Bölüm 11: Dosya İşlemleri-2 Bu bölümde Random dosya oluşturma, dosyaya</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-3.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 3"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 3" />Quick Basic &#8211; Bölüm 3</a></strong><p>Quick-Basic Kursu Bölüm 3: CLS , INPUT ve PRINT Bu bölümde ekranı</p>
</div>

	

]]></content:encoded>
			<wfw:commentRss>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-12.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Basic &#8211; Bölüm 11</title>
		<link>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-11.html</link>
		<comments>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-11.html#comments</comments>
		<pubDate>Fri, 21 Mar 2008 01:23:21 +0000</pubDate>
		<dc:creator>Evren Bayraktar</dc:creator>
				<category><![CDATA[QuickBasiC]]></category>
		<category><![CDATA[Qb]]></category>
		<category><![CDATA[QBasic dersi]]></category>
		<category><![CDATA[Quick Basic]]></category>

		<guid isPermaLink="false">http://www.evrence.com/?p=22</guid>
		<description><![CDATA[Quick-Basic Kursu Bölüm 11: Dosya İşlemleri-2 Bu bölümde Random dosya oluşturma, dosyaya<h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-10.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 10"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 10" />Quick Basic &#8211; Bölüm 10</a></strong>
Quick-Basic Kursu Bölüm 10: Dosya İşlemleri-1 Bilgileri değişkenlere aktararak bellekte tutabiliyoruz ve
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-12.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 12"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 12" />Quick Basic &#8211; Bölüm 12</a></strong>
Quick-Basic Kursu Bölüm 12: Dosya işlemleri-3 Yalnız metin içermeyen dosyalar vardır. Örneğin;
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-9.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 9"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 9" />Quick Basic &#8211; Bölüm 9</a></strong>
Quick-Basic Kursu Bölüm 9: Rakamlarla ilgili işlemler ABS Verilen sayının mutlak(ABSolute) değerini
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-6.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 6"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 6" />Quick Basic &#8211; Bölüm 6</a></strong>
Quick-Basic Kursu Bölüm 6: Diziler Dizilere neden ihtiyaç duyulur? Çünkü binlerce değişkeni
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-8.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 8"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 8" />Quick Basic &#8211; Bölüm 8</a></strong>
Quick-Basic Kursu Bölüm 8: Karakterlerle ilgili işlemler Kursun bu bölümünde karakterle ilgili
</div>

	

]]></description>
			<content:encoded><![CDATA[<h3 align="center">Quick-Basic Kursu<br />
Bölüm 11: Dosya İşlemleri-2</h3>
<p>Bu bölümde Random dosya oluşturma, dosyaya yazma ve okumayı  		öğreneceğiz.</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> Rasgele  		Erişimli(RANDOM) Dosya Oluşturma</h4>
<p>Belli bir kayıt yapısı olan dosya türleri için uygundur. Dosyadaki  		tüm kaydı birden okuma yada yazma gibi bir problem olmadığından dolayı  		bellek için de uygundur. Çok sayıda kayıt işlemi yapılabilir. Sınır,  		bilgisayarınızın boş harddisk alanı kadardır. İstenilen kayıt numarası  		verilerek sadece o kayıt okunabilir veya yazılabilir. Böylece hızlı bir  		şekilde verilere ulaşılabilir.</p>
<p>Random dosyada kayıtlar için bir kayıt yapısı oluşturulmalıdır. Type  		..... End Type ile kayıt yapısı belirlenir<span id="more-22"></span></p>
<pre>TYPE kayit
	no AS INTEGER
	adi AS STRING * 10
	soyadi AS STRING * 10
END TYPE</pre>
<p>Her bir kayıt için kullanılacak değişkenler belirtildi. Gördüğünüz  		gibi STRING * 10 diye yazarak string değişkenin bellekte kaç karakter  		kaplayacağını da belirtiyoruz. String harici değişken türlerinin  		standart genişlikleri olduğu için belirtilmez</p>
<table bordercolorlight="#808080" id="table2" border="1" cellpadding="0" cellspacing="1">
<tr>
<td colspan="2">Byte cinsinden genişlikler</td>
</tr>
<tr>
<td>STRING * n</td>
<td>n</td>
</tr>
<tr>
<td>INTEGER</td>
<td>2</td>
</tr>
<tr>
<td>LONG</td>
<td>4</td>
</tr>
<tr>
<td>SINGLE</td>
<td>4</td>
</tr>
<tr>
<td>DOUBLE</td>
<td>8</td>
</tr>
</table>
<p>Tanımladığımız kayıt tipine uygun bir değişken için bellekte yer  		açalım. Sonraki satır random dosya açmak için</p>
<pre>DIM ogr AS kayit
OPEN "c:\ornek\ogrenci.txt" FOR <font color="#ff0000">RANDOM</font> AS #1 <font color="#ff0000">LEN</font> = LEN(ogr)</pre>
<p>Rasgele erişimli dosya oluşturmak için RANDOM eki kullanılır. Dosya  		yoksa yeniden oluşturulur. Varsa herhangi bir problem oluşmaz, dosya  		silinip yeniden oluşmaz. Açık dosyayı kapatmaya gerek olmadan YAZMA ve  		OKUMA amaçlı olarak kullanılabilir. Farklı olarak LEN komutu  		kullanılıyor. Burada her bir kaydın sabit diskte ne kadarlık yer  		kaplayacağını belirliyoruz. LEN = LEN(ogr) ile ogr değişkeninin bellekte  		ne kadar yer kapladığını hesaplayıp ona eşitlemesini sağlıyoruz.  		İstersek buraya LEN=22 de yazabilirdik. Çünkü no 2, adi 10, soyadi 10  		bytelık yer kapladığı için toplam 22 olacaktı.</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> Rasgele Erişimli  		Dosyaya Yazma</h4>
<p>Üstteki kodları yazıp çalıştırdığınızda boş bir dosya oluşur. Şimdi  		açık olan dosyaya kayıt yapacağız. Önce bellekte açtığımız <strong>ogr </strong> 		değişkenini dolduralım. <strong>ogr</strong> değişkeninin tipi daha önce TYPE  		komutuyla belirlenmişti. Değişken adı yanına bir nokta koyup tipe uygun  		değişken adlarından(alt değişken) birini yazıyoruz. <strong>ogr.adi</strong> gibi.  		Tüm alt değişkenleri doldurmak şart değildir. Doldurulmazsa; sayılar 0,  		stringler boş olarak diske yazılır. Doldurulmaması, diskte kapladığı  		alnı değiştirmez.</p>
<pre>ogr.no = 5124
ogr.adi = "Ahmet"
ogr.soyadi = "Akgül"
<font color="#ff0000">PUT</font> #1, 1, ogr</pre>
<p>Sıralı erişimli dosyada YAZMAK için PRINT ya da WRITE kullanılıyordu.  		Rasgele erişimli dosyada ise yazmak için PUT komutu kullanılır.<br />
PUT # dosya numarası , kayıt no , değişken<br />
şeklinde kullanılır. Kayıt numarası belirtilmezse; herhangi bir okuma ya  		da yazma yapılmamışsa, ilk kayıt olarak yazılır. Okuma ya da yazma  		yapılmışsa bir sonraki kayda yazılır. Numara belirtilirse o kayda  		yazılır.<br />
Üstteki kodları yazıp çalıştırın. <strong>c:\ornek\ogrenci.txt</strong> dosyası  		oluşacak ve içeriğine ilk kaydı girecek. Bir hex editör ya da viewer ile  		o dosyaya bakacak olursak<br />
<img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/qbk111.gif" height="44" width="644" /><br />
yukarıdaki kodları görürüz.. Sağ bölme kodların ASCII karşılığı, sol  		bölme ise 16'lı sayı sistemine(HEX) göre her bir byte'ın değeri. İlk 2  		karakter(byte) integer değişken için ayrılan alan. Burada 04 ve 14 var.  		Sayı değerini hesaplamak için 256 * &amp;H<font color="#ff0000"><strong>14</strong></font>  		+ &amp;H<font color="#ff0000"><strong>04</strong></font> kodlarını kullanabiliriz.  		Sonuç 5124 edecektir. Yani bizim kaydettiğimiz sayı. Integer değişkenin  		alabileceği maksimum değer 32767 dir. Öğrenci numarası bu sayıdan daha  		büyük olma ihtimali varsa; no değişkenini daha büyük sayıları tutabilen  		LONG olarak tanımlanmalıdır. Sonraki 10 karakter <strong>ogr.adi</strong> için.  		Gördüğünüz gibi ad 5 karakterli olduğu halde 10 karakterlik alan  		ayrılmış. Aynı <strong>ogr.soyadi</strong> 'nda olduğu gibi. Böylece, Tanımlanan  		TYPE e göre bir seferlik kayıtta 22 byte'lık alan harcanmış olur. Her  		kayıtta bu 22'nin katları olarak artar.</p>
<pre>ogr.no = 625
ogr.adi = "Mehmet"
ogr.soyadi = "Ateş"
PUT #1, <font color="#ff0000">3</font>, ogr</pre>
<p><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/qbk112.gif" height="79" width="561" /><br />
Oluşan dosyayı incelediğimizde üstteki kodları görürüz. Burada farklı  		olarak PUT komutunu verirken kayıt numarasını da verdik. Ama 2. kaydı  		yaptığımız halde 3. kayıt alanına kayıt yaptık. Yani 2. kayıt alanını  		atlamış olduk. Atlamış olduğumuz alanlar da 0 değerleriyle dolduruldu(22  		adet).<br />
Rasgele erişimli demenin nedeni de budur. Kayıt için bir sıra takip  		etmek şart değildir. Rasgele bir numaraya bile kayıt yapılabilir. Bundan  		sonraki PUT komutunda kayıt numarası belirtilmezse 4 numaralı kayıt  		olur. Ama biz şimdi bu boş kalan 2. kayıt alanını dolduralım.</p>
<pre>ogr.no = 5
ogr.adi = "Selami"
ogr.soyadi = "Güneş"
PUT #1, <font color="#ff0000">2</font>, ogr</pre>
<p><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/qbk113.gif" height="74" width="559" /></p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> Rasgele Erişimli  		Dosyadan Okuma</h4>
<p>Dosyadan okuma için GET komutu kullanılır. Üstteki kodların devamına  		aşağıdaki kodları ekleyin. Dosyayı kapatmamız ve yeniden açmamız  		gerekmiyor.</p>
<pre><font color="#ff0000">GET #</font>1, 3, ogr
CLS : PRINT "Öğrenci,"
PRINT "NO : "; ogr.no
PRINT "ADI : "; ogr.adi
PRINT "SOYADI : "; ogr.soyadi</pre>
<p>İlkönce dosyadan GET komutuyla 3. kayıttaki bilgileri bellekte  		oluşturulan <strong>ogr</strong> değişkenine aktarıyoruz. Sonra <strong>ogr</strong>  		değişkeninin alt değişkenlerini PRINT ile yazdırıyoruz. Kayıt numarasını  		vermeseydik yine aynı sonucu alırdık. Çünkü bir önceki işlemde 2  		numaralı kayda yazdırma yapmıştık. İşlem yapıldıktan sonra bir sonraki  		kayda atlanacağından 3 numaralı kayıt çağrılır. Şimdi aşağıdaki kodları  		ekleyip çalıştırın.</p>
<pre>ku = <font color="#ff0000">LOF(1)</font> \ LEN(ogr): CLS
FOR n = 1 TO ku
	GET #1, n, ogr
	PRINT n; ". kayıttaki öğrencinin,"
	PRINT "No: "; ogr.no
	PRINT "Adı: "; ogr.adi
	PRINT "Soyadı : "; ogr.soyadi
	PRINT STRING$(30, "-")
NEXT
CLOSE : END</pre>
<p>LOF(1) ile dosyanın boyutunu byte cinsinden alıyoruz, her bir kayıt  		uzunluğuna bölüyoruz. Kayıt uzunluğu 22 olduğu için LEN(ogr) yerine 22  		de yazabilirsiniz. Burada dikkati çeken / değilde \ kullanılması. \  		kalansız bölmeler için kullanılır. Normalde kalan olmaması gerekir.<br />
Dosya uzunluğunu kayıt uzunluğuna böldüğümüzde kayıt sayısı çıkar. For  		döngüsü ile tüm kayıtlar okunur ve ekrana basılır.</p>
<p>Tüm kodlar aşağıda</p>
<pre>TYPE kayit
	no AS INTEGER
	adi AS STRING * 10
	soyadi AS STRING * 10
END TYPE

DIM ogr AS kayit

OPEN "c:\ornek\ogrenci.txt" FOR RANDOM AS #1 LEN = LEN(ogr)

ogr.no = 5124
ogr.adi = "Ahmet"
ogr.soyadi = "Akgül"
PUT #1, 1, ogr

ogr.no = 625
ogr.adi = "Mehmet"
ogr.soyadi = "Ateş"
PUT #1, 3, ogr

ogr.no = 5
ogr.adi = "Selami"
ogr.soyadi = "Güneş"
PUT #1, 2, ogr

GET #1, , ogr
CLS : PRINT "Öğrenci,"
PRINT "NO : "; ogr.no
PRINT "ADI : "; ogr.adi
PRINT "SOYADI : "; ogr.soyadi

ku = LOF(1) \ 22: CLS
FOR n = 1 TO ku
	GET #1, n, ogr
	PRINT n; ". kayıttaki öğrencinin,"
	PRINT "No: "; ogr.no
	PRINT "Adı: "; ogr.adi
	PRINT "Soyadı : "; ogr.soyadi
	PRINT STRING$(30, "-")
NEXT
CLOSE : END</pre>
<img src="http://www.evrence.com/?ak_action=api_record_view&id=22&type=feed" alt="" /><h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-10.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 10"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 10" />Quick Basic &#8211; Bölüm 10</a></strong><p>Quick-Basic Kursu Bölüm 10: Dosya İşlemleri-1 Bilgileri değişkenlere aktararak bellekte tutabiliyoruz ve</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-12.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 12"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 12" />Quick Basic &#8211; Bölüm 12</a></strong><p>Quick-Basic Kursu Bölüm 12: Dosya işlemleri-3 Yalnız metin içermeyen dosyalar vardır. Örneğin;</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-9.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 9"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 9" />Quick Basic &#8211; Bölüm 9</a></strong><p>Quick-Basic Kursu Bölüm 9: Rakamlarla ilgili işlemler ABS Verilen sayının mutlak(ABSolute) değerini</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-6.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 6"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 6" />Quick Basic &#8211; Bölüm 6</a></strong><p>Quick-Basic Kursu Bölüm 6: Diziler Dizilere neden ihtiyaç duyulur? Çünkü binlerce değişkeni</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-8.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 8"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 8" />Quick Basic &#8211; Bölüm 8</a></strong><p>Quick-Basic Kursu Bölüm 8: Karakterlerle ilgili işlemler Kursun bu bölümünde karakterle ilgili</p>
</div>

	

]]></content:encoded>
			<wfw:commentRss>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-11.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Basic &#8211; Bölüm 10</title>
		<link>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-10.html</link>
		<comments>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-10.html#comments</comments>
		<pubDate>Fri, 21 Mar 2008 01:22:30 +0000</pubDate>
		<dc:creator>Evren Bayraktar</dc:creator>
				<category><![CDATA[QuickBasiC]]></category>
		<category><![CDATA[Qb]]></category>
		<category><![CDATA[QBasic dersi]]></category>
		<category><![CDATA[Quick Basic]]></category>

		<guid isPermaLink="false">http://www.evrence.com/?p=21</guid>
		<description><![CDATA[Quick-Basic Kursu Bölüm 10: Dosya İşlemleri-1 Bilgileri değişkenlere aktararak bellekte tutabiliyoruz ve<h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-11.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 11"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 11" />Quick Basic &#8211; Bölüm 11</a></strong>
Quick-Basic Kursu Bölüm 11: Dosya İşlemleri-2 Bu bölümde Random dosya oluşturma, dosyaya
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-12.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 12"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 12" />Quick Basic &#8211; Bölüm 12</a></strong>
Quick-Basic Kursu Bölüm 12: Dosya işlemleri-3 Yalnız metin içermeyen dosyalar vardır. Örneğin;
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-4.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 4"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 4" />Quick Basic &#8211; Bölüm 4</a></strong>
Quick-Basic Kursu Bölüm 4: Kontrol blokları Programlama dillerinde döngüler ve akış kontrol
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-1.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 1"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 1" />Quick Basic &#8211; Bölüm 1</a></strong>
Quick-Basic Kursu Bölüm 1 : QuickBasic&#8217;e Giriş Bu kurs sizin bir QuickBasic
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-7.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 7"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 7" />Quick Basic &#8211; Bölüm 7</a></strong>
Quick-Basic Kursu Bölüm 7: Goto, Gosub, Sub, Function Programlarımızdaki kodlar arttıkça veya
</div>

	

]]></description>
			<content:encoded><![CDATA[<h3 align="center">Quick-Basic Kursu<br />
Bölüm 10: Dosya İşlemleri-1</h3>
<p>Bilgileri değişkenlere aktararak bellekte tutabiliyoruz ve onlarla  		ilgili işlemler yapabiliyoruz. Belleğe aktarılacak ve işlenilecek  		bilgiler çok sayıda ve belli bir düzende ve değişme ihtimali olan  		bilgileri program kodları içine yazmak mantıklı olmayacaktır. Qbasic'in  		kullanacağı bellek de sınırlıdır. Örneğin beş bin öğrencisi bulunan bir  		okulda öğrencilerin kayıtlarının tutulacağını düşünün. Bu bilgiler  		klavyeden RAM belleğe aktarılabilse bile bilgisayarı kapattığımızda  		bilgiler kaybolacaktır. Bu yüzden kalıcı bellekte kalmasını istediğimiz  		bilgiler için dosyalar kullanılır.</p>
<p>Üç türlü dosya açma yöntemi vardır. Sıralı, Rasgele erişimli ve  		Binary<span id="more-21"></span></p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> OPEN</h4>
<p>Disk üzerinde dosya oluşturmak ve değişiklik yapmak için OPEN komutu  		kullanılır.</p>
<pre><strong>OPEN</strong> dosyaadı [<strong>FOR</strong> açma tipi] [<strong>ACCESS</strong> erişim tipi] [lock] <strong>AS</strong> [#]dosyanumarası [<strong>LEN</strong>=kayıt genişliği]</pre>
<p><strong>dosyaadı</strong> : "Sürücü : \ klasör\ dosyaadı" şeklinde açacağınız  		dosyayı tanımlayan metin<br />
<strong>açma tipi</strong> : INPUT, OUTPUT, APPEND, RANDOM ya da BINARY  		tiplerinden biri<br />
<strong>erişim tipi </strong>: Ağ ortamında dosyayı başkaları da açacaksa dosyaya  		erişim tipini belirleyebilirsiniz. READ(okuma), WRITE(yazma) veya READ  		WRITE (okuma ve yazma, RANDOM ve BINARY dosyalarda geçerlidir)<br />
<strong>lock</strong> : dosya kilitleme<br />
<strong>dosya numarası</strong> : açılan her dosyaya bir numara verilmelidir.<br />
<strong>kayıt genişliği</strong> : Rasgele erişimli dosyalarda kayıt genişliğini  		belirtmek içindir.</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> Sıralı Erişimli  		Dosya Oluşturma ve Yazma</h4>
<p>Çoğunlukla az sayıda veya belirli bir kayıt formatı olmayan metin  		içerikli dosya işlemleri için kullanılır. Örneğin DOSdaki EDIT programı  		bu tür dosyaları oluşturur veya açar. Sıralı erişimli dosya açmak  		istediğimizde bunu yalnızca OKUMA veya yalnızca YAZMA amaçlı olabilir.  		Dosya ne amaçla açılmışsa o amaçla kullanılır. Okumak için açtığımız  		dosyaya yazma yapamayız. Ancak dosya kapatıldıktan sonra yazma amaçlı  		olarak açıp yazdırabiliriz.</p>
<pre>OPEN "c:\ORNEK\dosya.txt" FOR <font color="#ff0000">OUTPUT</font> AS # 1</pre>
<p>Bu satırı açıklayalım. <strong>C:</strong> sürücüsü içinde <strong>ORNEK</strong> klasörü  		içine <strong>dosya.txt</strong> adında yeni bir dosya oluşur. <strong>OUTPUT</strong>  		(YAZMA amaçlı) olarak dosya oluşur, yani okuma amaçlı olarak  		kullanılamaz.</p>
<p>Eğer <strong>C:</strong> sürücünüzde <strong>ORNEK</strong> klasörünüz yoksa "<font color="#ff0000">Path  		Not Found(Yol bulunamadı)</font>" hatası oluşacaktır. Dos komut satırına  		çıkarak <strong>MD C:\ORNEK</strong> yazarak bu klasörü oluşturup tekrar  		çalıştırmayı deneyin.</p>
<p>AS # 1 ise açtığımız dosyanın dosya numarasının 1 olduğunu  		belirtiyoruz. Bu numara dosya yazma ve okuma için kullanılacaktır. Başka  		dosya açacağımızda, eğer dosya kapatılmadıysa aynı numarayı  		kullanamayız.</p>
<p>Evet bu satırı çalıştırdığımızda klasörümüz varsa içinde <strong>dosya.txt</strong>  		oluşacaktır.</p>
<p><font color="#ff0000">Dikkat ! </font>: Eğer dosya daha önceden varsa  		yeniden oluşacağı için önceki dosyanın varolan içeriği silinecektir</p>
<p>2. satırı ekleyelim</p>
<pre>PRINT #1 , "Edep öğrenilmeden ilim öğrenilmez."</pre>
<p>PRINT komutunu biliyorsunuz. Ekrana yazı yazmak için kullanılıyordu.  		Varsayılan yazma yeri ekran olduğu için yazma yeri yazılmadığında ekrana  		yazar. Bu satırda ekrana değilde #1 numara ile açılan dosyaya  		yazdırılacağını söylüyoruz. Gördüğünüz gibi burada dosya adını filan  		yazmamıza gerek yok, açık olan dosyanın numarası yeterli.</p>
<p>Şimdi kaydettiğiniz klasöre ulaşın. Windowsdaysanız dosya üzerinde  		çift tıklayarak, DOS da iseniz<br />
<strong>EDIT C:\ORNEK\dosya.txt</strong><br />
yazarak dosya içeriğini görebilirsiniz. Windowsda dosya içeriğine  		bakarsanız Türkçe karakterlerin yerine farklı karakterler olduğunu  		göreceksiniz. Bu normaldir.</p>
<p>3. satırı ekleyelim.</p>
<pre>PRINT "Dosya uzunluğu : " ; <font color="#ff0000">LOF(1)</font></pre>
<p><strong>LOF</strong> : Dosya numarasıyla belirtilen dosyanın uzunluğunu byte  		cinsinden verir</p>
<p>4. ve 5. satırı ekleyelim.</p>
<pre>PRINT #1, "bir" , "iki" ;"yedi" ; TAB(30) ; "on"
<font color="#ff0000">WRITE</font> #1, "bir" , "iki" , "yedi", "on"</pre>
<p>WRITE komutu; verileri, arasına virgül koyarak dosyaya(yazma amaçlı  		açılan) yazar. PRINT komutunun ekrandaki etkisi ne ise aynen o şekilde  		dosyaya yazar. PRINT #de veriler arasına virgül , noktalı virgül , TAB  		SPC USING komutları da eklenebilir.</p>
<p>6. satır</p>
<pre>CLOSE #1</pre>
<p>Numarası belirtilen dosyayı kapatır. Bu satırı yazmasak da program  		çalışır ve hata vermez. Çünkü program sonlandığında programın açtığı tüm  		açık dosyalar kapatılır. Ama siz yine de alışkanlık olarak dosya ile  		ilgili işlem bittiğinde kapatma komutunu yazmayı unutmayın. Numara  		belirtilmezse tüm dosyalar kapatılır. Açık olan birden fazla dosyayı  		kapatmak için CLOSE #1,#3,#6 gibi bir komut kullanılabilir. Kapatılan  		dosya üzerinde işlem yapılamaz.</p>
<p><font color="#ff0000">Dikkat ! </font>: Dosyalar açıkken elektrik  		kesintisi veya kilitlenme durumunda açık olan dosyalarınıza zarar  		gelebilir.</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> Sıralı Erişimli  		Dosyadan Okuma</h4>
<p>Aşağıdaki programı yazıp çalıştırın. Bu kodlar bir dosya oluşturacak</p>
<pre>OPEN "c:\ORNEK\veriler.txt" FOR OUTPUT AS #1
WRITE #1, "Mesut", "Akcan", 1968, "Adana"
CLOSE #1</pre>
<p>Üstteki programın oluşturduğu dosya üzerinde okuma işlemi yapacağız</p>
<pre>OPEN "c:\ORNEK\veriler.txt" FOR <font color="#ff0000">INPUT</font> AS #1</pre>
<p>Dosyayı okuma amaçlı açacağımızı INPUT ekiyle belirtiyoruz. Eğer  		dosya yoksa <font color="#ff0000">File Not Found</font>(Dosya  		bulunamadı) hatası oluşur</p>
<pre>INPUT #1, A$, S$, DT%, DY$</pre>
<p>INPUT komutunu hatırlarsanız daha önceden klavyeden veri girmek  		amacıyla kullanılmıştı. Şimdi ise dosyada kayıtlı olan veriler okunup  		belirtilen değişkenlere aktarılıyor.</p>
<pre>CLS : PRINT A$, S$, DT%, DY$</pre>
<p>Değişkenlere aktarılan değerler ekrana yazdırılıyor.</p>
<pre>CLOSE</pre>
<p>Dosya(lar) kapanıyor.</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> Satır Satır  		okuma</h4>
<p>Daha çok düz metin içerikli dosyaları okumak için kullanılan bir  		yöntemdir. Dosya okuma amaçlı olarak açılır.<br />
Kullanımı:<br />
LINE INPUT # dosya numarası , String Değişken adı<br />
Komut yürütüldüğünde dosyadaki ilk satırı komple okuyarak belirtilen  		değişkene aktarır. Aşağıdaki örneği inceleyiniz.</p>
<pre>CLS : dosya$ = "c:\bootlog.txt"
OPEN dosya$ FOR <font color="#ff0000">INPUT</font> AS #1
PRINT dosya$; " dosyası içeriği:"
PRINT "--------------"
DO WHILE NOT EOF(1)
	a = a + 1
	IF a &gt; 21 THEN a = 0: SHELL "pause"
<font color="#ff0000">	LINE INPUT </font>#1, K$
	PRINT K$
LOOP</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> Dosyaya Ekleme  		Yapma</h4>
<pre>OPEN "c:\ORNEK\veriler.txt" FOR <font color="#ff0000">APPEND</font> AS #1</pre>
<p>Daha önceden kayıtlı dosyaya yeni bilgiler eklemek gerekirse APPEND  		kullanılır. OUTPUT kullanılırsa eski bilgiler silinir.</p>
<pre>WRITE # 1 , "Ahmet" , "Akgül" , 1972 , "Ankara"
CLOSE</pre>
<p>Şimdi dosyadaki bilgileri okuyup ekrana yazalım</p>
<pre>DEFINT A-Z
NO = <font color="#ff0000">FREEFILE</font>: CLS
OPEN "c:\ORNEK\veriler.txt" FOR INPUT AS #NO
DO UNTIL <font color="#ff0000">EOF</font>(NO)
INPUT #NO, A$, S$, DT, DY$
PRINT A$, S$, DT, DY$
LOOP
<font color="#ff0000">SEEK</font> #NO, 1
'baştan tekrar okunuyor
PRINT "-------------"
INPUT #NO, A$, S$, DT, DY$
PRINT A$, S$, DT, DY$
CLOSE #NO</pre>
<p><strong>FREEFILE</strong> dosya numarası olarak kullanılmayan bir numara verir.  		Özellikle çok sayıda dosya açtığınızda hangi numaraların kullanıldığını  		bulmak zor olabilir. Bu durumlarda işe yarar bir komut.</p>
<p><strong>EOF</strong> : Dosya sonu demektir(<strong>E</strong>nd <strong>O</strong>f <strong>F</strong>ile)  		Dosyadaki kayıtların bitip bitmediği bu komutla anlaşılır.</p>
<p><strong>SEEK</strong> : Okumaya başlanacak konumu(byte) belirtir. Başlangıçta 1  		dir. Bu komutu kullanmasaydık okuma konumu dosya sonuna geldiği için 		<font color="#ff0000">Input past end of file</font>(Okuma dosya sonuna  		taştı) hatası çıkardı.</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> UYGULAMA</h4>
<p>5 Personeli olan bir kurumda personel kayıtları bir dosyaya  		aktarılacak. Aktarılacak bilgiler: Personelin; adı, soyadı, doğum yeri,  		yaşı, maaşı. Bilgiler klavyeden aktarılacak</p>
<pre>DEFINT A-Z: DEFSTR P: DIM m AS LONG
OPEN "c:\ornek\personel.txt" FOR OUTPUT AS #1
FOR n = 1 TO 10
CLS : PRINT STRING$(40, "-")
PRINT n; ". personelin bilgilerini giriniz"
PRINT STRING$(40, "-")
INPUT "Adı"; pa
INPUT "Soyadı"; ps
INPUT "Doğum yeri"; pd
INPUT "Yaşı"; y
INPUT "Maaşı"; m
WRITE #1, pa, ps, pd, y, m
NEXT
CLOSE
PRINT STRING$(40, "-")
PRINT "... işlem tamam ..."</pre>
<p><font color="#ff0000"><strong>PROBLEM</strong></font> : Bilgisayarınızdaki C:  		kök klasöründeki AUTOEXEC.BAT ve CONFIG.SYS dosya içeriğini ekrana yazan  		program yazınız. <font color="#ff0000"><strong>Dikkat</strong></font> : Bu  		dosyaların yedeğini almadan bunu denemeyin.</p>
<img src="http://www.evrence.com/?ak_action=api_record_view&id=21&type=feed" alt="" /><h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-11.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 11"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 11" />Quick Basic &#8211; Bölüm 11</a></strong><p>Quick-Basic Kursu Bölüm 11: Dosya İşlemleri-2 Bu bölümde Random dosya oluşturma, dosyaya</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-12.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 12"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 12" />Quick Basic &#8211; Bölüm 12</a></strong><p>Quick-Basic Kursu Bölüm 12: Dosya işlemleri-3 Yalnız metin içermeyen dosyalar vardır. Örneğin;</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-4.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 4"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 4" />Quick Basic &#8211; Bölüm 4</a></strong><p>Quick-Basic Kursu Bölüm 4: Kontrol blokları Programlama dillerinde döngüler ve akış kontrol</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-1.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 1"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 1" />Quick Basic &#8211; Bölüm 1</a></strong><p>Quick-Basic Kursu Bölüm 1 : QuickBasic&#8217;e Giriş Bu kurs sizin bir QuickBasic</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-7.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 7"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 7" />Quick Basic &#8211; Bölüm 7</a></strong><p>Quick-Basic Kursu Bölüm 7: Goto, Gosub, Sub, Function Programlarımızdaki kodlar arttıkça veya</p>
</div>

	

]]></content:encoded>
			<wfw:commentRss>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-10.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Basic &#8211; Bölüm 9</title>
		<link>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-9.html</link>
		<comments>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-9.html#comments</comments>
		<pubDate>Fri, 21 Mar 2008 01:21:36 +0000</pubDate>
		<dc:creator>Evren Bayraktar</dc:creator>
				<category><![CDATA[QuickBasiC]]></category>
		<category><![CDATA[Qb]]></category>
		<category><![CDATA[QBasic dersi]]></category>
		<category><![CDATA[Quick Basic]]></category>

		<guid isPermaLink="false">http://www.evrence.com/?p=20</guid>
		<description><![CDATA[Quick-Basic Kursu Bölüm 9: Rakamlarla ilgili işlemler ABS Verilen sayının mutlak(ABSolute) değerini<h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-8.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 8"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 8" />Quick Basic &#8211; Bölüm 8</a></strong>
Quick-Basic Kursu Bölüm 8: Karakterlerle ilgili işlemler Kursun bu bölümünde karakterle ilgili
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-6.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 6"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 6" />Quick Basic &#8211; Bölüm 6</a></strong>
Quick-Basic Kursu Bölüm 6: Diziler Dizilere neden ihtiyaç duyulur? Çünkü binlerce değişkeni
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-3.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 3"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 3" />Quick Basic &#8211; Bölüm 3</a></strong>
Quick-Basic Kursu Bölüm 3: CLS , INPUT ve PRINT Bu bölümde ekranı
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-12.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 12"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 12" />Quick Basic &#8211; Bölüm 12</a></strong>
Quick-Basic Kursu Bölüm 12: Dosya işlemleri-3 Yalnız metin içermeyen dosyalar vardır. Örneğin;
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-4.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 4"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 4" />Quick Basic &#8211; Bölüm 4</a></strong>
Quick-Basic Kursu Bölüm 4: Kontrol blokları Programlama dillerinde döngüler ve akış kontrol
</div>

	

]]></description>
			<content:encoded><![CDATA[<h3 align="center">Quick-Basic Kursu<br />
Bölüm 9: Rakamlarla ilgili işlemler</h3>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> ABS</h4>
<p>Verilen sayının mutlak(<strong>ABS</strong>olute) değerini verir. Sayı negatif  		ya da pozitif olsa da sonuç pozitif olur.</p>
<pre>PRINT ABS(-127)
PRINT ABS(254)</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> INT</h4>
<p>Sayının tam kısmını verir. Sayı negatif ise bir küçük sayıyı verir.<span id="more-20"></span></p>
<pre>A = 12.86: B = - 12.86
PRINT INT(A) , INT(B)</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> FIX</h4>
<p>Sayının sıfıra yakın olan tam kısmını verir.</p>
<pre>A = 45.9: B = -45.1: C = -45.8
PRINT FIX(A), FIX(B), FIX(C)</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> RANDOMIZE</h4>
<p>Rasgele sayı üreticisini hazırlar.</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> RND</h4>
<p>0 ile 1 arasında rasgele bir sayı üretir. RND komutu program her  		çalıştırılışında aynı sayıları üretir. Bundan kurtulmak için aşağıda  		verilen örnekte olduğu gibi RND den önce RANDOMIZE TIMER çalıştırılır.  		TIMER o anki saate göre saniye cinsinden bir sayı üretir</p>
<pre>DEFINT A-Z
RANDOMIZE TIMER: CLS
rs = RND * 10 + 1
PRINT "1 - 10 arası bir sayı girin ";
10 INPUT s
a = a + 1
IF s &lt; 1 OR s &gt; 10 THEN PRINT "!! hatalı sayı !!": GOTO 10
IF s &lt;&gt; rs THEN PRINT "Bilemediniz, tekrar deneyin...": GOTO 10
PRINT a; "denemede bildiniz..."</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> DÖNÜŞTÜRME  		FONKSİYONLARI</h4>
<p>Bellekte değişken değeri olarak tutulan sayıyı farklı formatlara  		dönüştürmek için bazı fonksiyonlar kullanılır.<br />
<strong>CDDBL </strong>: Sayıyı DOUBLE formata dönüştürür.</p>
<pre>A% = 15454 <font color="#008040">' Bellekte 2 baytlık yer tutuyor</font>
B# = CDBL(A%) <font color="#008040">' Şimdi 8 baytlık Double formata dönüştü ve B değişkenine aktarıldı</font>
PRINT LEN(A%), LEN(B#)</pre>
<p><strong>CINT</strong> : Sayıyı INTEGER formata dönüştürür. Sayı küsurlu ise;  		küsur .4 den büyükse yukarı değilse aşağı yuvarlanır ve küsur atılır.</p>
<pre>A = 1245.85 : PRINT CINT(A)</pre>
<p><strong>CLNG </strong>: Sayıyı LONG formata dönüştürür. Sayı küsurlu ise CINT  		gibi.</p>
<p><strong>CSNG </strong>: Sayıyı SINGLE formata dönüştürür</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> MATEMATİKSEL  		FONKSİYONLAR</h4>
<p><strong>TAN </strong>: Radyan olarak verilen açının <strong>TAN</strong>jantını verir.</p>
<p><strong>ATN </strong>: Radyan olarak verilen açının <strong>A</strong>rk<strong>T</strong>a<strong>N</strong>jantını  		verir.</p>
<pre>PI = 4 * ATN(1)
PRINT PI</pre>
<p><strong>COS </strong>: Radyan olarak verilen açının <strong>kos</strong>inüsünü verir.  		Radyanı dereceye dönüştürmek için pi / 180 ile çarpın.</p>
<pre>PI = 3.141593 : D = 30 <font color="#008040">' derece</font>
R = D * (PI / 180)
PRINT COS(R)</pre>
<p><strong>SIN </strong>: Radyan olarak verilen açının <strong>sin</strong>üsünü verir.</p>
<p><strong>EXP</strong> : e sabitinin (~ = 2.718282) üstünü alır</p>
<p><strong>LOG </strong>: Sayını doğal <strong>LOG</strong>aritmasını hesaplar.</p>
<p><strong>MOD</strong> : İki sayının bölümü sonucunda kalanı verir. A = 45682 :  		PRINT A MOD 4 ' A nın 4 e bölümünde kalan sayı.</p>
<p><strong>SGN</strong> : Sayının işaretini belirtir. Sayı; 0 ise 0, pozitif ise  		1, negatif ise -1 değerini verir. ? SGN(-28)</p>
<p><strong>SQR</strong> : Sayını karekökünü verir. ? SQR(81)</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> LEN , ASC, VAL</h4>
<p>Önceki bölümde bunları görmüştük</p>
<img src="http://www.evrence.com/?ak_action=api_record_view&id=20&type=feed" alt="" /><h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-8.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 8"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 8" />Quick Basic &#8211; Bölüm 8</a></strong><p>Quick-Basic Kursu Bölüm 8: Karakterlerle ilgili işlemler Kursun bu bölümünde karakterle ilgili</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-6.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 6"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 6" />Quick Basic &#8211; Bölüm 6</a></strong><p>Quick-Basic Kursu Bölüm 6: Diziler Dizilere neden ihtiyaç duyulur? Çünkü binlerce değişkeni</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-3.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 3"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 3" />Quick Basic &#8211; Bölüm 3</a></strong><p>Quick-Basic Kursu Bölüm 3: CLS , INPUT ve PRINT Bu bölümde ekranı</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-12.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 12"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 12" />Quick Basic &#8211; Bölüm 12</a></strong><p>Quick-Basic Kursu Bölüm 12: Dosya işlemleri-3 Yalnız metin içermeyen dosyalar vardır. Örneğin;</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-4.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 4"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 4" />Quick Basic &#8211; Bölüm 4</a></strong><p>Quick-Basic Kursu Bölüm 4: Kontrol blokları Programlama dillerinde döngüler ve akış kontrol</p>
</div>

	

]]></content:encoded>
			<wfw:commentRss>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-9.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Basic &#8211; Bölüm 8</title>
		<link>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-8.html</link>
		<comments>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-8.html#comments</comments>
		<pubDate>Fri, 21 Mar 2008 01:19:58 +0000</pubDate>
		<dc:creator>Evren Bayraktar</dc:creator>
				<category><![CDATA[QuickBasiC]]></category>
		<category><![CDATA[Qb]]></category>
		<category><![CDATA[QBasic dersi]]></category>
		<category><![CDATA[Quick Basic]]></category>

		<guid isPermaLink="false">http://www.evrence.com/?p=19</guid>
		<description><![CDATA[Quick-Basic Kursu Bölüm 8: Karakterlerle ilgili işlemler Kursun bu bölümünde karakterle ilgili<h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-9.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 9"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 9" />Quick Basic &#8211; Bölüm 9</a></strong>
Quick-Basic Kursu Bölüm 9: Rakamlarla ilgili işlemler ABS Verilen sayının mutlak(ABSolute) değerini
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-12.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 12"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 12" />Quick Basic &#8211; Bölüm 12</a></strong>
Quick-Basic Kursu Bölüm 12: Dosya işlemleri-3 Yalnız metin içermeyen dosyalar vardır. Örneğin;
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-6.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 6"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 6" />Quick Basic &#8211; Bölüm 6</a></strong>
Quick-Basic Kursu Bölüm 6: Diziler Dizilere neden ihtiyaç duyulur? Çünkü binlerce değişkeni
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-4.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 4"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 4" />Quick Basic &#8211; Bölüm 4</a></strong>
Quick-Basic Kursu Bölüm 4: Kontrol blokları Programlama dillerinde döngüler ve akış kontrol
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-3.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 3"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 3" />Quick Basic &#8211; Bölüm 3</a></strong>
Quick-Basic Kursu Bölüm 3: CLS , INPUT ve PRINT Bu bölümde ekranı
</div>

	

]]></description>
			<content:encoded><![CDATA[<h3 align="center">Quick-Basic Kursu<br />
Bölüm 8: Karakterlerle ilgili işlemler</h3>
<p>Kursun bu bölümünde karakterle ilgili komutları inceleyeceğiz.</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> PRINT</h4>
<p>Verileri ekrana yazdırmak için kullanıyoruz.<br />
PRINT ifade yada değişken , ;<br />
ifade olarak bir fonksiyon ya da matematiksel işlem olabilir. Virgül  		verileri belli atlama noktalarına dizerek yazar, Noktalı virgül ise  		verileri boşluk bırakmadan yazdırır.<span id="more-19"></span></p>
<pre>A$ = "Quick" : B$ = "Basic" : C$ = "v4.5"
PRINT A$ , B$ , C$
PRINT A$ ; B$ ; C$
PRINT A$ + B$ + C$ <font color="#008000">' üstteki satırla aynı işi görür</font>
PRINT A$ ; " " ; B$ ; " " ; C$
PRINT LEN(A$)
PRINT (4545 - 256) * 24 / 2 ^ 3 + 20</pre>
<p>Matematiksel işlem uygulandığında işlem öncelik sırası: parantez içi  		, ^ , * ve / , + ve -<br />
PRINT 10 - 3 * 2 işleminin sonucu 14 değil 4 dür. Çünkü * öncelikli  		olduğundan 3 * 2 işlemi önce yapılır. 10 dan 3 ü çıkarıp 2 ile çarpmak  		isterseniz<br />
PRINT (10 - 3) * 2 olarak yazmalısınız.</p>
<p><strong>TAB</strong> komutu ile sonraki yazacağımız metnin başlangıç kolonunu  		belirtiriz<br />
PRINT "1 - " ; TAB(5) ; "Qb 4.5"; TAB(20); "DOS"<br />
PRINT "2 - " ; TAB(5) ; "Visual basic " ;TAB(20); "WIN"</p>
<p><strong>SPC</strong> komutu ile de arada bırakılacak boşluk belirtilir.<br />
PRINT "1 - " ; SPC(3) ; "Qbasic"; SPC(4); "DOS"<br />
PRINT "2 - " ; SPC(5) ; "Visual basic" ; SPC(4) ;"WIN"</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> PRINT USING</h4>
<p>Metin ya da rakamları belirtilen biçimde yazar. Biçimleme için özel  		karakterler kullanılır.</p>
<table bordercolordark="#ffffff" bordercolorlight="#000000" id="table2" bgcolor="#eaeaea" border="1" cellspacing="0">
<tr>
<td bgcolor="#c0c0c0"><font size="3"><strong>Sayısal değerler için</strong></font></td>
</tr>
<tr>
<td><strong>#</strong> : sayının konumunu</td>
</tr>
<tr>
<td><strong>. (nokta)</strong> : küsuratı</td>
</tr>
<tr>
<td><strong>, (virgül)</strong> : binler ayıracı</td>
</tr>
<tr>
<td><strong>+ (artı)</strong> : sayının negatif veya pozitif işaretinin  				konumu</td>
</tr>
<tr>
<td><strong>- (eksi) </strong>: negatif sayılarda, sayıdan sonra - konur</td>
</tr>
<tr>
<td><strong>$$</strong> : Dolar işareti ekler. PRINT USING "$$###.##" ;  				458.62</td>
</tr>
<tr>
<td><strong>**</strong> : Rakamların başına * koyarak her rakamın aynı  				genişlikte olmasını sağlar</td>
</tr>
<tr>
<td><strong>**$ </strong>: ** ve $ bileşik</td>
</tr>
<tr>
<td><strong>^^^^</strong> : Sayıları üssü olarak gösterir. PRINT USING  				"##.##^^^^"; 234.56</td>
</tr>
<tr>
<td bgcolor="#c0c0c0"><font size="3"><strong>Sözel değerler için</strong></font></td>
</tr>
<tr>
<td><strong>&amp; </strong>: Değişkenlerin yerleştirileceği yeri belirler<br />
PRINT USING "Gülen &amp; ile ağlayan &amp;"; "ayva"; "nar"</td>
</tr>
<tr>
<td><strong>! (ünlem)</strong> : Metnin ilk karakterini verir<br />
PRINT USING "!!"; "Mesut"; "Akcan"</td>
</tr>
<tr>
<td><strong>_ (alt eksi)</strong> : Bu tablodaki özel karakterlerden  				birini yazdırmak istersek önüne _ konur<br />
PRINT USING "! 1500_!"; "qbasic"</td>
</tr>
<tr>
<td>Herhangi bir karakter : (Bu tabloda verilen karakterlerin  				dışında karakter) Olduğu gibi aynı konumda yazılır</td>
</tr>
</table>
<pre>DIM AY AS DOUBLE
CLS
AY(0) = 454121.3654 : AY(1) = -6845.587 : AY(2) = 982.6
FOR N% = 0 TO 2
        PRINT USING "###,###.##+"; AY(N%)
NEXT</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> STR$</h4>
<p>Bellekte sayı olarak tutulan bir değeri metne(<strong>STR</strong>ing)  		dönüştürür.<br />
STR$(sayısal değer ya da değişken)<br />
Örnek:</p>
<pre>CLS
A% = 1986 : B% = 15
PRINT "Bu yıl ";
PRINT A% + B%;
PRINT " yılındayız"
PRINT "Bu yıl ";
PRINT STR$(A%) + STR$(B%);
PRINT " yılındayız"</pre>
<p>Yukarıdaki kodları denediğinizde A% ile B% yi toplayabilirken bunu <strong> 		STR</strong>ing e yani metne dönüştürdüğünde toplamak yerine birleştirdi.  		Çünkü daha önce PRINT komutunda da görmüştük string verilerde sayısal  		işlem yapılamaz.</p>
<pre>PRINT 1 + 1 <font color="#008000">' sonuç: 2</font>
PRINT "1" + "1" <font color="#008000">'sonuç: 11 , ama sayısal 11 değil</font></pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> VAL</h4>
<p>Bellekte metin olarak tutulan rakamı, sayısal işlemlerde de  		kullanılabilecek halde sayı değerine(<strong>VAL</strong>ue) dönüştürür<br />
VAL(sözel değer ya da değişken)<br />
Örnek:</p>
<pre>INPUT "Doğum yılınız"; T$
PRINT "Yaşınız "; 2001 - VAL(T$)</pre>
<p>Örnekte metin olarak girdiğimiz T$ sayısal işleme sokulamaz VAL ile  		dönüşüm sağlanarak sayısal işlem yapılmıştır.</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> STRING$</h4>
<p>Aynı karakterden çok sayıda kullanmanız gerekiyorsa kullanılır.<br />
STRING$(sayı,karakter)</p>
<pre>PRINT STRING$(2000,"*")<font color="#008000"> ' ekranı * ile doldurur</font>
PRINT STRING$(80,"=") <font color="#008000">' Bir satırı = ile doldurur</font></pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> SPACE$</h4>
<p>Değişkene istenilen sayı kadar boşluk karakteri aktarır</p>
<pre>FOR I=1 TO 5
 X$=SPACE$(I)
 PRINT X$;"MESUT"
NEXT</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> ASC</h4>
<p>Bir karakterin <strong>ASC</strong>II kod karşılığını verir<br />
ASC(karakter)</p>
<pre>PRINT ASC("A")
PRINT ASC("MESUT") <font color="#008000">'bu satırda sadece ilk harf olan M harfi dikkate alınır</font></pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> CHR$</h4>
<p>ASCII koduna denk gelen karakteri(<strong>CH</strong>a<strong>R</strong>acter) verir.<br />
CHR$(ascii kod)</p>
<pre>PRINT CHR$(65) 'ekrana A çıkar
FOR N% = 32 TO 255 <font color="#008000">' 32 den 255 e kadar olan </font>
 PRINT CHR$(N%) <font color="#008000">'ascii karakterleri yaz</font>
NEXT</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> HEX$ , OCT$</h4>
<p>HEX$: Verilen sayıyı 16'lık sayı sistemine(<strong>HEX</strong>adecimal)  		dönüştürür<br />
HEX$(sayı)</p>
<p>OCT$: Verilen sayıyı 8'lik sayı sistemine(<strong>OCT</strong>al) dönüştürür<br />
OCT$(sayı)</p>
<pre>PRINT HEX$(2001) <font color="#008000">' 7D1
</font>PRINT OCT$(2001) <font color="#008000">' 3721</font></pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> INKEY$</h4>
<p>Klavyeden girilen karakteri okur. ESC tuşunun ASCII kodu 27 dir.</p>
<pre>DO
 A$ = INKEY$
 LOCATE 5, 5: PRINT A$
LOOP UNTIL A$ = CHR$(27) <font color="#008000">'Çıkmak için ESC tuşuna basın</font></pre>
<p>2. örnek: Çok basit bir editör</p>
<pre>DO
 A$ = INKEY$
 PRINT A$;
LOOP UNTIL A$ = CHR$(27)</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> LCASE$ , UCASE$</h4>
<p>LCASE$: Verilen metni küçük harflere(<strong>L</strong>ower <strong>CASE</strong>)  		dönüştürür.<br />
UCASE$: Verilen metni büyük harflere(<strong>U</strong>pper <strong>CASE</strong>)  		dönüştürür. Her iki komutta da yalnızca İngilizce harfler dikkate  		alınır.</p>
<pre>PRINT LCASE$("MERHABA Dunya")
PRINT LCASE$("Merhaba Dunya")</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> LEFT$ , RIGHT$ ,  		MID$</h4>
<p>LEFT : Metnin belli sayıda sol(<strong>LEFT</strong>)undaki karakterleri alır<br />
RIGHT: Metnin belli sayıda sağ(<strong>RIGHT</strong>)ındaki karakterleri alır<br />
MID: Metnin belli sayıda orta(<strong>MID</strong>DLE)sındaki karakterleri alır</p>
<pre>PRINT LEFT$("QuickBasicV4.5",5)
PRINT LEFT$("QuickBasicV4.5",4)
PRINT MID$("QuickBasicV4.5",6,5) '6. karakterden itibaren 5 karakter</pre>
<p>MID$ ın farklı kullanımı: Burada verilen metin içinde değişiklik  		yapar</p>
<pre>A$ = "O adam 25 yaşında"
MID$(A$,3)="kadın"
PRINT A$</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> LEN</h4>
<p>Verilen metnin kaç karakterden oluştuğunu verir</p>
<pre>A$ = "MESUT AKCAN"
G% = LEN(A$)
PRINT G% <font color="#008000">'11 , çünkü boşluklar da sayılır</font>
FOR N%=1 TO G%
 PRINT LEFT$(A$,N%)
NEXT</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" height="15" width="15" /> LTRIM$ , RTRIM$</h4>
<p>LTRIM$: Metnin solundaki boşlukları siler<br />
RTRIM$: Metnin sağındaki boşlukları siler</p>
<pre>PRINT LTRIM$(RTRIM$("         MESUT AKCAN     "))</pre>
<img src="http://www.evrence.com/?ak_action=api_record_view&id=19&type=feed" alt="" /><h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-9.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 9"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 9" />Quick Basic &#8211; Bölüm 9</a></strong><p>Quick-Basic Kursu Bölüm 9: Rakamlarla ilgili işlemler ABS Verilen sayının mutlak(ABSolute) değerini</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-12.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 12"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 12" />Quick Basic &#8211; Bölüm 12</a></strong><p>Quick-Basic Kursu Bölüm 12: Dosya işlemleri-3 Yalnız metin içermeyen dosyalar vardır. Örneğin;</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-6.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 6"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 6" />Quick Basic &#8211; Bölüm 6</a></strong><p>Quick-Basic Kursu Bölüm 6: Diziler Dizilere neden ihtiyaç duyulur? Çünkü binlerce değişkeni</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-4.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 4"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 4" />Quick Basic &#8211; Bölüm 4</a></strong><p>Quick-Basic Kursu Bölüm 4: Kontrol blokları Programlama dillerinde döngüler ve akış kontrol</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-3.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 3"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 3" />Quick Basic &#8211; Bölüm 3</a></strong><p>Quick-Basic Kursu Bölüm 3: CLS , INPUT ve PRINT Bu bölümde ekranı</p>
</div>

	

]]></content:encoded>
			<wfw:commentRss>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-8.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Basic &#8211; Bölüm 7</title>
		<link>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-7.html</link>
		<comments>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-7.html#comments</comments>
		<pubDate>Fri, 21 Mar 2008 01:19:08 +0000</pubDate>
		<dc:creator>Evren Bayraktar</dc:creator>
				<category><![CDATA[QuickBasiC]]></category>
		<category><![CDATA[Qb]]></category>
		<category><![CDATA[QBasic dersi]]></category>
		<category><![CDATA[Quick Basic]]></category>

		<guid isPermaLink="false">http://www.evrence.com/?p=18</guid>
		<description><![CDATA[Quick-Basic Kursu Bölüm 7: Goto, Gosub, Sub, Function Programlarımızdaki kodlar arttıkça veya<h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-9.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 9"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 9" />Quick Basic &#8211; Bölüm 9</a></strong>
Quick-Basic Kursu Bölüm 9: Rakamlarla ilgili işlemler ABS Verilen sayının mutlak(ABSolute) değerini
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-3.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 3"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 3" />Quick Basic &#8211; Bölüm 3</a></strong>
Quick-Basic Kursu Bölüm 3: CLS , INPUT ve PRINT Bu bölümde ekranı
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-1.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 1"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 1" />Quick Basic &#8211; Bölüm 1</a></strong>
Quick-Basic Kursu Bölüm 1 : QuickBasic&#8217;e Giriş Bu kurs sizin bir QuickBasic
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-5.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 5"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 5" />Quick Basic &#8211; Bölüm 5</a></strong>
Quick-Basic Kursu Bölüm 5: Döngüler Tekrar edilen işlemler için döngüler kullanılır. Böylece
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-4.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 4"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 4" />Quick Basic &#8211; Bölüm 4</a></strong>
Quick-Basic Kursu Bölüm 4: Kontrol blokları Programlama dillerinde döngüler ve akış kontrol
</div>

	

]]></description>
			<content:encoded><![CDATA[<h3 align="center">Quick-Basic Kursu<br />
Bölüm 7: Goto, Gosub, Sub, Function</h3>
<p>Programlarımızdaki kodlar arttıkça veya programın işlevleri arttıkça  		bazı tekrar eden işlemler gerekli olabilir. Ya da içinde birkaç şey  		değiştirerek aynı işlemler yapmak gerekir. Bunun için alt programlar  		kullanılır. Ayrıca Fonksiyonlar ve Alt programlar kullanmak  		programınızın okunurluğunu kolaylaştıracaktır.</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" /> GOTO</h4>
<p><span id="more-18"></span>Goto komutunu daha önce döngü oluştururken de görmüştük. Aslında Goto  		ve gosub komutlarına çok az ihtiyaç duyacaksınız. Sadece diğer basic  		dillerine uyumlu olsun diye konulmuş. Program kodunun herhangi bir  		yerinde işleyişini bırakıp başka bir noktadan çalışması için kullanılır.  		Goto ve ardında bir etiket yada satır numarası yazılmalıdır.</p>
<pre>PRINT "MERHABA DÜNYA"
GOTO 10
PRINT "BU SATIRI GÖREBİLECEK MİSİNİZ?"
10 PRINT "PROGRAM SONA ERDİ"
END</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" /> GOSUB</h4>
<p>Gosub ile alt programlar oluşturabiliriz. Gosub 'u da kullanmanıza  		gerek yoktur. Onun yerine SUB kullanmak daha iyi olacaktır. Gosub da  		goto gibi programın işleyişi bırakıp başka bir noktadan başlaması  		sağlanır. Fakat farklı olarak RETURN komutunu görünce kaldığı yere geri  		dönerek çalışmasına devam eder. Alt programa, istediğimiz yerden  		istediğimiz kadar atlayabiliriz. GOSUB ve ardından bir etiket ya da  		satır numarası yazılmalı. Gosub ile atladığımız yerde RETURN bulunmazsa  		geri dönüş olmaz.</p>
<pre>CLS
GOSUB CIZGICIZ
PRINT "MERHABA DÜNYA"
GOSUB CIZGICIZ
PRINT "QUICK BASIC"
GOSUB CIZGICIZ
PRINT "PROGRAMLAMA DİLİ"
GOSUB CIZGICIZ
END ' programı burada sonlandırmazsak
    ' alt program da çalışır ve hata oluşur

CIZGICIZ:
PRINT "----------------"
RETURN</pre>
<pre>'2. program
CLS
PRINT "çift sayılar(1-100)"
DO
        A = A + 1
        IF (A MOD 2) = 0 THEN GOSUB CIFTSAYI
LOOP UNTIL A = 100
END

CIFTSAYI:
PRINT A;
RETURN</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" /> SUB</h4>
<p>GwBasic gibi diğer dillerde Sub veya Function özellikleri yoktur. O  		yüzden program kodları büyüdükçe okumak ve kontrol etmek epey zor  		olacaktır. İlk başta Sub ve Functionların faydalarını anlamak zor  		olabilir. Alıştığınızda bir defa yapacağınız işlemler için bile bunları  		kullanacaksınız belki de.</p>
<p>Sub yapısı: [ ile ] arası şart değil gerekirse kullanılır</p>
<pre>SUB altprogram_ismi (varsa parametreleri) [STATIC]
..
..
[EXIT SUB] ' alt programdan çıkılmak istenirse
..
..
END SUB ' alt program sonu</pre>
<p>Bir sub veya function eklemek için EDIT menüsündeki New Sub... ya da  		New Function dan faydalanabilirsiniz ya da direkt yazabilirsiniz. Alt  		programı eklediğinizde bunlar ayrı bir sayfa olarak görünür. Sub veya  		Function listesini görmek ve istediğinizi incelemek için F2 tuşuna  		basın.</p>
<p><font color="#ff0000"><strong><u>Uygulama:</u></strong></font></p>
<p>Menüden<strong> File / New Program</strong> ile yeni bir projeye başlayın. 		<font color="#ff0000"><strong>SUB yaziyaz</strong></font> yazıp ENTER' e  		bastığımızda hemen iki alt satıra <font color="#ff0000"><strong>END SUB</strong></font>  		yazıldığını göreceksiniz. Kodlarımızı SUB ile END sub satırları arasında  		olmalı. Arasına şunları ekleyin</p>
<pre>PRINT "================="
PRINT "==   MERHABA   =="
PRINT "================="</pre>
<p>F2 tuşuna basın Altprogramları listeleyen ekran gelecek 		<font color="#ff0000">Untitled</font> kaydedilmemiş basic dosyamız  		oluyor ve alt programların anası oluyor kaydettiğimizde bu isim değişir. 		<font color="#ff0000">yaziyaz</font> ise alt program ismi. Alt tarafta  		seçili olan ile ilgili işlemler var.<br />
Edit in Active: Düzenlemek için aç<br />
Edit in Split: Düzenleme ekranına ayrı bir bölme olarak aç<br />
Delete : Modülü yani alt programı sil<br />
Move : Modülü açık olan başka bir basic dosyaya taşı. Qbasic de aynı  		anda çok sayıda dosya açılabilir.</p>
<p>Siyah şerit Untitled üzerindeyken ENTER'e basın.<br />
Şimdi oluşturduğumuz altprogramı çağıracağız. Çağırmak için yalnızca<br />
yaziyaz<br />
yazabiliriz. Ama programın okunurluğu açısından<br />
CALL yaziyaz<br />
ile çağırmak en doğrusu olacaktır. F5 ile programımızı çalıştırdığımızda  		çalıştığını göreceksiniz.<br />
Kodları şu hale getirip çalıştırın. Buradaki kodlama kolaylığını  		öğrenmeye çalışın</p>
<pre>CLS
yaziyaz
yaziyaz</pre>
<p><u>Parametre kullanımı:</u></p>
<p>Alt programımız çalışırken ona bazı değerler gönderip farklı  		şekillerde çalışmasını sağlayabiliriz. Az önceki SUB da parametre yoktu.  		Parametre veri değişken tipinin ne olacağını belirtmekte fayda var.  		Belirtilmezse SINGLE olarak kabul edilir. Bazı örnekler:</p>
<p>SUB ekranayaz (satir AS INTEGER, sutun AS INTEGER)<br />
aynı satırı şöyle de yazabiliriz<br />
SUB ekranayaz (satir%, sutun%)</p>
<pre>'Örnek program:
CLS
cizgi$ = STRING$(60, "-")
yaziortala 1, cizgi$
yaziortala 2, "Merhaba"
yaziortala 3, "Bugün Qbasic de Goto, GoSub, Sub ve Function'u öğrendim"
'farklı bir kullanım: CALL ile alt programı çağırma
CALL yaziortala(5, "Qbasic Öğrenmek çok zevkli")
yaziortala 6, cizgi$

SUB yaziortala (satir AS INTEGER, yazi AS STRING)
        uzunluk% = LEN(yazi)
        LOCATE satir, (80 - uzunluk%) / 2
        PRINT yazi
END SUB</pre>
<p><font color="#ff0000"><strong>PROBLEM:</strong></font></p>
<ol>
<li>Yukarıdaki programı alt program kullanmadan yapmaya çalışın.</li>
<li>Alt program kullanarak sağa yaslı yazı yardırmayı deneyin<br />
yazisagayasla 4 , "Merhaba"<br />
gibi</li>
</ol>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" />  		FUNCTION</h4>
<p>Functionların yapısı SUB lar gibidir. Yukarda açıklananlar bunda da  		geçerli. Function'un farkı verilen değerler üzerinde işlem yapıp bir  		sonuç ile geri döndürmesi. Qbasic in kendi yapısındaki birçok komutun  		Function özelliği vardır. Örneğin : X = SQRT(81) yazdığımızda verilen 81  		sayısı SQRT(karekök alma) fonksiyonu tarafından işlenir ve sonuç olarak  		9 döner. Bu sonuç X değişkenine atanır.</p>
<p>Şimdi biz kendimiz bir fonksiyon oluşturalım</p>
<pre>X = karesi(15)
PRINT X
PRINT "20 nin karesi = "; karesi(20)
PRINT "1.4 ün karesi = "; karesi(1.4)</pre>
<pre>FUNCTION karesi (sayi AS DOUBLE)
        DIM sonuc AS DOUBLE
        sonuc = sayi * sayi
        karesi = sonuc
END FUNCTION</pre>
<p>Function da tek satır ile sonucu alabilirdik. Anlaşılır olması  		bakımından uzun yazıldı. Kısa olarak:</p>
<pre>FUNCTION karesi (sayi AS DOUBLE)
 karesi = sayi * sayi
END FUNCTION</pre>
<pre>'2. örnek:</pre>
<pre>CLS
PRINT enbuyuksayi(15, 25)</pre>
<pre>FUNCTION enbuyuksayi (sayi1, sayi2)
         IF sayi1 &gt; sayi2 THEN
                enbuyuksayi = sayi1
         ELSE
                enbuyuksayi = sayi2
         END IF
END FUNCTION</pre>
<pre>'3. örnek</pre>
<pre>DIM sayi(5)
CLS
sayi(0) = 20
sayi(1) = 30
sayi(2) = 66
sayi(3) = 88
sayi(4) = 36
sayi(5) = 23
x = ortalama(sayi())
PRINT x</pre>
<pre>FUNCTION ortalama (sayilar())
        FOR n = LBOUND(sayilar) TO UBOUND(sayilar)
                t = t + sayilar(n)
        NEXT
        ortalama = t / n
END FUNCTION</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" />  		STATIC, SHARED, COMMON</h4>
<p><u>STATIC:<br />
</u>Bazen tanımladığımız değişkenin değerini kaybetmeden SUB ve FUNCTION  		içinde de kullanmak gerekli olabilir. Alt program içinde değişkeni  		STATIC ile tanımlarsak değişken değerini kaybetmez aklında tutar. Yoksa  		her fonksiyon ve sub başlangıcında tanımlanan değişkenlerin değerleri  		sıfırlanır. Örnek:</p>
<pre>CLS
yaziortala "merhaba"
yaziortala "Qbasicde Function ve Sub Kullanmak kodlamayı kolaylaştırıyor"
yaziortala "Öğrenmem gereken daha çok şey var sanırım."</pre>
<pre>SUB yaziortala (yazi AS STRING)
        STATIC satir AS INTEGER
        satir = satir + 1
        LOCATE satir, (80 - LEN(yazi)) / 2
        PRINT yazi
END SUB</pre>
<p>Burada dikkat ederseniz SUB a satır numarasını göndermedik 0 dan  		başladı her SUB başlamasında 1 arttı ve yazılar alt alta ortalı olarak  		yazıldı. STATIC i DIM ile değiştirin farkı göreceksiniz.</p>
<p><u>SHARED:<br />
</u>Bazen de bir değişkenin değerini kaybetmeden tüm SUB ve FUNCTION  		içinde geçerli olması istenebilir. Buna değişkeni global (genel, her  		yerde geçerli) tanımlama diyoruz. Alt program içinde yapılan değişken  		tanımlamaları Local tanımlama(yerel, sadece alt program içinde  		geçerli)diyoruz. Global tanımlamayı Ana program içinde yapmalıyız</p>
<pre>DIM SHARED satir AS INTEGER
CLS
satir = 2
LOCATE satir: PRINT "Merhaba"
yaziortala "Qbasic öğreniyorum"
satir = satir + 1
LOCATE satir: PRINT "Çalışan başarır"
yaziortala "İstiyorsan başarırsın"</pre>
<pre>SUB yaziortala (yazi AS STRING)
        satir = satir + 1
        LOCATE satir, (80 - LEN(yazi)) / 2
        PRINT yazi
END SUB</pre>
<pre>'basit bir örnek daha
DIM SHARED a
CLS
a = 5
PRINT a
CALL karesi
PRINT a
PRINT ussu(3)
PRINT a
PRINT ussu(4)</pre>
<pre>SUB karesi
        a = a * a
END SUB</pre>
<pre>FUNCTION ussu (kuvvet%)
        a = a ^ kuvvet%
        ussu = a
END FUNCTION</pre>
<p><u>COMMON:</u></p>
<p>Common, shared gibidir ama daha genel bir tanımlama yapılır. Qbasic  		ile CHAIN komutuyla başka bir bas dosyaya bağlantı kurabiliriz. Değişken  		Common ile tanımlama yapılırsa değeri bağlantı kurulan bas dosyada da  		geçerli olur. Zaten başlangıçta tek bas dosya üzerinde çalışacağınızdan  		bu gerekli olmayacak.</p>
<img src="http://www.evrence.com/?ak_action=api_record_view&id=18&type=feed" alt="" /><h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-9.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 9"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 9" />Quick Basic &#8211; Bölüm 9</a></strong><p>Quick-Basic Kursu Bölüm 9: Rakamlarla ilgili işlemler ABS Verilen sayının mutlak(ABSolute) değerini</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-3.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 3"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 3" />Quick Basic &#8211; Bölüm 3</a></strong><p>Quick-Basic Kursu Bölüm 3: CLS , INPUT ve PRINT Bu bölümde ekranı</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-1.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 1"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 1" />Quick Basic &#8211; Bölüm 1</a></strong><p>Quick-Basic Kursu Bölüm 1 : QuickBasic&#8217;e Giriş Bu kurs sizin bir QuickBasic</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-5.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 5"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 5" />Quick Basic &#8211; Bölüm 5</a></strong><p>Quick-Basic Kursu Bölüm 5: Döngüler Tekrar edilen işlemler için döngüler kullanılır. Böylece</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-4.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 4"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 4" />Quick Basic &#8211; Bölüm 4</a></strong><p>Quick-Basic Kursu Bölüm 4: Kontrol blokları Programlama dillerinde döngüler ve akış kontrol</p>
</div>

	

]]></content:encoded>
			<wfw:commentRss>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-7.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Basic &#8211; Bölüm 6</title>
		<link>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-6.html</link>
		<comments>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-6.html#comments</comments>
		<pubDate>Fri, 21 Mar 2008 01:18:19 +0000</pubDate>
		<dc:creator>Evren Bayraktar</dc:creator>
				<category><![CDATA[QuickBasiC]]></category>
		<category><![CDATA[Qb]]></category>
		<category><![CDATA[QBasic dersi]]></category>
		<category><![CDATA[Quick Basic]]></category>

		<guid isPermaLink="false">http://www.evrence.com/?p=17</guid>
		<description><![CDATA[Quick-Basic Kursu Bölüm 6: Diziler Dizilere neden ihtiyaç duyulur? Çünkü binlerce değişkeni<h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-11.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 11"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 11" />Quick Basic &#8211; Bölüm 11</a></strong>
Quick-Basic Kursu Bölüm 11: Dosya İşlemleri-2 Bu bölümde Random dosya oluşturma, dosyaya
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-8.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 8"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 8" />Quick Basic &#8211; Bölüm 8</a></strong>
Quick-Basic Kursu Bölüm 8: Karakterlerle ilgili işlemler Kursun bu bölümünde karakterle ilgili
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-9.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 9"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 9" />Quick Basic &#8211; Bölüm 9</a></strong>
Quick-Basic Kursu Bölüm 9: Rakamlarla ilgili işlemler ABS Verilen sayının mutlak(ABSolute) değerini
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-2.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 2"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 2" />Quick Basic &#8211; Bölüm 2</a></strong>
Quick-Basic Kursu Bölüm 2: Qbasicde Veri Tipleri Qbasicde INTEGER, SINGLE, DOUBLE gibi
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-3.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 3"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 3" />Quick Basic &#8211; Bölüm 3</a></strong>
Quick-Basic Kursu Bölüm 3: CLS , INPUT ve PRINT Bu bölümde ekranı
</div>

	

]]></description>
			<content:encoded><![CDATA[<h3 align="center">Quick-Basic Kursu<br />
<strong>Bölüm 6: Diziler</strong></h3>
<p>Dizilere neden ihtiyaç duyulur? Çünkü binlerce değişkeni tanımlamak  		uzun sürer ve kullanışlı olmaz. Örneğin 12 ay için ayrı ayrı değişken  		tanımlamak yerine yalnız bir boyutlu değişken tanımlamak yeterlidir.<br />
DIM AY(12) gibi.</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" /> Dizi  		tanımlama. (Hafızada yer açma)</h4>
<pre>DIM AY1 AS STRING
DIM AY2 AS STRING
DIM AY3 AS STRING
..
..</pre>
<p>Gördüğünüz gibi bu uzayıp gidecek. Bunun yerine</p>
<pre><span id="more-17"></span>DIM AYLAR(12) AS STRING</pre>
<p>yeterli olacaktır. Bu tanımladığımız dizinin kullanımı</p>
<pre>AYLAR(1) = "OCAK"   : AYLAR(2)  = "ŞUBAT"
AYLAR(3) = "MART"   : AYLAR(4)  = "NİSAN"
AYLAR(5) = "MAYIS"  : AYLAR(6)  = "HAZİRAN"
AYLAR(7) = "TEMMUZ" : AYLAR(8)  = "AĞUSTOS"
AYLAR(9) = "EYLÜL"  : AYLAR(10) = "EKİM"
AYLAR(11) = "KASIM" : AYLAR(12) = "ARALIK"
buay% = VAL(LEFT$(DATE$, 2))
PRINT AYLAR(buay%)</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" />  		OPTION BASE, LBOUND, UBOUND</h4>
<p>Normalde, yani belirtmezseniz, boyutlu değişken tanımladığınızda; ilk  		boyut no 0 (Sıfır) olur. DIM A(10) dediğimizde 10 değil 11 adet değişken  		tanımlamış oluruz. Ama istersek ilk boyut numarasını kendimiz  		belirleyebiliriz.(Tabii 1 yada 0 olarak)<br />
OPTION BASE 1<br />
yazdığımızda bundan sonra tanımlanacak boyutlu değişkenler yani  		dizilerin ilk boyut numarası 1 olur.<br />
DIM A(10) yazarsak 10 değişken tanımlamış oluruz.</p>
<p>Tanımlanmış bir dizinin ilk boyut numarasını öğrenmek için LBOUND,  		son boyutunu öğrenmek için UBOUND kullanılır.</p>
<pre>OPTION BASE 1
DIM A(10) AS INTEGER
PRINT "İlk boyut no: " ; LBOUND(A)
PRINT "Son boyut no: " ; UBOUND(A)</pre>
<p>Örnek:</p>
<pre>CLS
DIM A(10) AS INTEGER
FOR N = 0 TO 10
	A(N) = N * 10
NEXT

FOR N=LBOUND(A) TO UBOUND(A)
	PRINT A(N) ,
NEXT</pre>
<p>Bir başka özellikte boyut numaralarını kendimiz belirleyebilmemiz.</p>
<p>DIM A(10 TO 20) yazdığımızda A nın ilk boyut numarası 10 son numarası  		20 olacaktır. Bundan sonra A(5) = 40 ya da A(22) = 65 yazacak olursanız  		hata oluşacaktır. Çünkü değişken dizi sınırları dışında. (Subscript out  		of range)</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" /> <strong> 		Çok boyutlu değişken tanımlama</strong></h4>
<p>Şimdiye kadar tek boyutlu değişkenler tanımladık.<br />
DIM A(5, 6, 10)<br />
yazarak üç boyutlu bir dizi oluşturabiliriz. Buna göre bellekte ( 5 x 6  		x 10 ) + 3 adet değişken için yer açıldı. +3 adet 0. değişkenler için.  		Yine bir başka kullanım olarak<br />
DIM A(5, 3 TO 12, 5 TO 15) gibi bir tanımlama da yapabiliriz.</p>
<pre>OPTION BASE 1
CLS
DIM SAYI(10,10) AS INTEGER
FOR N = 1 TO 10
	FOR M = 1 TO 10
		SAYI(N,M)=N * M
	NEXT
NEXT
'Çarpım tablosu bellekte oluştu
INPUT "1. sayıyı girin " ; A
INPUT "2. sayıyı girin " ; B
'Çarpım tablosundan sonucu alıyoruz
'Dikkat edin verilen sayıları çarpmıyoruz
PRINT SAYI(A,B)</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" /> <strong> 		REDIM, ERASE</strong></h4>
<p>Diziler için bellekte ayırdığımız alanı genişletmek için kullanırız.</p>
<pre>CLS
REM $DYNAMIC
' üst satır, değişkenlerin dinamik olacağını belirtir.
DIM A(15)
PRINT UBOUND(A)
REDIM A(30) ' Yeniden boyutlandı
PRINT UBOUND(A)
ERASE A ' Bellekte kapladığı alanı boşalt, sil
PRINT UBOUND(A) ' <font color="#ff0000">HATA.</font> Çünkü dizi bellekten atıldı</pre>
<img src="http://www.evrence.com/?ak_action=api_record_view&id=17&type=feed" alt="" /><h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-11.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 11"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 11" />Quick Basic &#8211; Bölüm 11</a></strong><p>Quick-Basic Kursu Bölüm 11: Dosya İşlemleri-2 Bu bölümde Random dosya oluşturma, dosyaya</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-8.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 8"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 8" />Quick Basic &#8211; Bölüm 8</a></strong><p>Quick-Basic Kursu Bölüm 8: Karakterlerle ilgili işlemler Kursun bu bölümünde karakterle ilgili</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-9.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 9"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 9" />Quick Basic &#8211; Bölüm 9</a></strong><p>Quick-Basic Kursu Bölüm 9: Rakamlarla ilgili işlemler ABS Verilen sayının mutlak(ABSolute) değerini</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-2.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 2"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 2" />Quick Basic &#8211; Bölüm 2</a></strong><p>Quick-Basic Kursu Bölüm 2: Qbasicde Veri Tipleri Qbasicde INTEGER, SINGLE, DOUBLE gibi</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-3.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 3"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 3" />Quick Basic &#8211; Bölüm 3</a></strong><p>Quick-Basic Kursu Bölüm 3: CLS , INPUT ve PRINT Bu bölümde ekranı</p>
</div>

	

]]></content:encoded>
			<wfw:commentRss>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-6.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Basic &#8211; Bölüm 5</title>
		<link>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-5.html</link>
		<comments>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-5.html#comments</comments>
		<pubDate>Fri, 21 Mar 2008 01:16:43 +0000</pubDate>
		<dc:creator>Evren Bayraktar</dc:creator>
				<category><![CDATA[QuickBasiC]]></category>
		<category><![CDATA[Qb]]></category>
		<category><![CDATA[QBasic dersi]]></category>
		<category><![CDATA[Quick Basic]]></category>

		<guid isPermaLink="false">http://www.evrence.com/?p=16</guid>
		<description><![CDATA[Quick-Basic Kursu Bölüm 5: Döngüler Tekrar edilen işlemler için döngüler kullanılır. Böylece<h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-7.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 7"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 7" />Quick Basic &#8211; Bölüm 7</a></strong>
Quick-Basic Kursu Bölüm 7: Goto, Gosub, Sub, Function Programlarımızdaki kodlar arttıkça veya
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-3.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 3"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 3" />Quick Basic &#8211; Bölüm 3</a></strong>
Quick-Basic Kursu Bölüm 3: CLS , INPUT ve PRINT Bu bölümde ekranı
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-4.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 4"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 4" />Quick Basic &#8211; Bölüm 4</a></strong>
Quick-Basic Kursu Bölüm 4: Kontrol blokları Programlama dillerinde döngüler ve akış kontrol
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-8.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 8"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 8" />Quick Basic &#8211; Bölüm 8</a></strong>
Quick-Basic Kursu Bölüm 8: Karakterlerle ilgili işlemler Kursun bu bölümünde karakterle ilgili
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-11.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 11"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 11" />Quick Basic &#8211; Bölüm 11</a></strong>
Quick-Basic Kursu Bölüm 11: Dosya İşlemleri-2 Bu bölümde Random dosya oluşturma, dosyaya
</div>

	

]]></description>
			<content:encoded><![CDATA[<h3 align="center">Quick-Basic Kursu<br />
Bölüm 5: Döngüler</h3>
<p>Tekrar edilen işlemler için döngüler kullanılır. Böylece bilgisayarın  		sürekli yapacağı işlemler için aynı komutları bir daha yazmak zorunda  		kalmayız.</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" /> GOTO  		döngüsü</h4>
<p>En basit döngü GOTO ile yapılan döngüdür.</p>
<pre>basla:
A = A + 1
PRINT A
GOTO basla</pre>
<p><span id="more-16"></span>Yukarıdaki program bir sonsuz döngü oluşturur. Durdurmak için  		CTRL-PAUSE tuşlarına basınız. Aşağıdaki şekilde değişiklik yaparsak  		döngüyü kontrol altına almış oluruz.</p>
<pre>basla:
A = A + 1
IF A&gt;20 THEN END
PRINT A
GOTO basla</pre>
<p><font color="#ff0000"><strong>PROBLEM 1 :</strong></font> 1 den 30 a kadar olan  		çift sayıların karelerini ekrana yazan bir program yazın.</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" /> FOR  		... NEXT döngüsü</h4>
<p>Belirli sayılarda işlemlerin tekrar etmesi için kullanılır.</p>
<pre>FOR N = 1 TO 25
	PRINT N
NEXT N</pre>
<p>1 den 25 e kadar olan sayıları yazacaktır. Her döngüde N değişkeninin  		değeri 1 artacaktır. Eğer ilk satırı</p>
<pre>FOR N = 1 TO 25 STEP 4</pre>
<p>yapacak olursak. N nin ilk değeri 1 olacak sonra her seferinde  		üzerine 4 eklenerek devam edecektir.</p>
<pre>FOR N = 25 TO 1 STEP -1</pre>
<p>yazılacak olursa 25 den 1 e doğru N nin değeri her seferinde 1  		azaltılır.<br />
NEXT in arkasına değişkeni yazmak şart değildir ama okunurluğu  		kolaylaştırmak için yazmakta fayda vardır.<br />
FOR ları içi içe koyarak da kullanılabilir. İçerdeki FOR un NEXT i  		dışarıdakinin NEXT inden sonra gelmemesine dikkat etmelisiniz.</p>
<pre>FOR N = 1 TO 10
        FOR M = 1 TO 4
                PRINT N * M ,
        NEXT M
        PRINT
NEXT N</pre>
<p>FOR döngüsünden çıkma gereği olursa EXIT FOR ile çıkılabilir.</p>
<p><font color="#ff0000"><strong>PROBLEM 2 :</strong></font> Problem 1 i FOR..NEXT  		döngüsüyle yapın</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" /> DO  		... LOOP döngüsü</h4>
<pre>DO
	PRINT A
	A = A +1
LOOP</pre>
<p>Bu da sonsuz döngü oluşturacaktır. Döngüyü kırmak, kontrol altına  		almak için çeşitli yollar var</p>
<p><u>EXIT DO ile döngüden çıkmak:</u></p>
<pre>DO
	IF A &gt; 40 THEN EXIT DO
	PRINT A
	A = A +1
LOOP</pre>
<p><u>WHILE kullanarak döngüyü kontrol altına almak:</u></p>
<pre>'1 . program
CLS
DO WHILE A &lt; 40 ' A, 40 dan küçükİKEN döngüye devam
	PRINT A
	A = A + 1
LOOP</pre>
<pre>'2 . program
CLS
DO
	PRINT A
	A = A + 1
LOOP WHILE A &lt; 40 ' A, 40 dan küçükİKEN döngüye devam</pre>
<p>Yukarıdaki iki programı denediğinizde hiçbir fark göremeyeceksiniz.  		Şimdi ilk satırlarına A = 45 komutunu ekleyip deneyin ve farkı anlamaya  		çalışın. Eğer WHILE ı LOOP un yanına koyarsak döngüde şart aranmaksızın  		en az 1 kere döner. DO nun yanına konulursa döngü başlamadan şart  		kontrol edilir, şart uygun değilse döngü gerçekleşmez..</p>
<p><u>UNTIL kullanarak döngüyü kontrol altına almak:</u></p>
<pre>CLS
DO UNTIL A &gt; 40 ' şart DOĞRU olanA KADAR dön. A , 40 dan büyük olana kadar devam
	PRINT A
	A = A +1
LOOP</pre>
<p>WHILE için verdiğim açıklamalar bunda da geçerli UNTIL i DO nun  		yanına yada LOOP un yanına koyabiliriz.</p>
<p>Kısaca WHILE, şartın DOĞRU olmasında; UNTIL, şartın YANLIŞ olmasında  		döngüye devam eder.</p>
<p><font color="#ff0000"><strong>PROBLEM 3:</strong></font> Problem 1 i DO..LOOP  		döngüsüyle yapın</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" /> WHILE  		... WEND döngüsü</h4>
<pre>CLS
WHILE A &lt; 40 ' A , dan küçük İKEN devam
	A = A + 2
	PRINT A
WEND</pre>
<p>WHILE...WEND, DO...LOOP un bir alternatifidir. Ama DO LOOP kadar  		kullanışlı değildir. Çünkü DO LOOP da karşılaştırma şartını başta veya  		sonda verebiliyoruz.</p>
<p><font color="#ff0000"><strong>PROBLEM 4:</strong></font> Problem 1 i  		WHILE..WEND döngüsüyle yapın</p>
<img src="http://www.evrence.com/?ak_action=api_record_view&id=16&type=feed" alt="" /><h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-7.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 7"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 7" />Quick Basic &#8211; Bölüm 7</a></strong><p>Quick-Basic Kursu Bölüm 7: Goto, Gosub, Sub, Function Programlarımızdaki kodlar arttıkça veya</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-3.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 3"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 3" />Quick Basic &#8211; Bölüm 3</a></strong><p>Quick-Basic Kursu Bölüm 3: CLS , INPUT ve PRINT Bu bölümde ekranı</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-4.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 4"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 4" />Quick Basic &#8211; Bölüm 4</a></strong><p>Quick-Basic Kursu Bölüm 4: Kontrol blokları Programlama dillerinde döngüler ve akış kontrol</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-8.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 8"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 8" />Quick Basic &#8211; Bölüm 8</a></strong><p>Quick-Basic Kursu Bölüm 8: Karakterlerle ilgili işlemler Kursun bu bölümünde karakterle ilgili</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-11.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 11"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 11" />Quick Basic &#8211; Bölüm 11</a></strong><p>Quick-Basic Kursu Bölüm 11: Dosya İşlemleri-2 Bu bölümde Random dosya oluşturma, dosyaya</p>
</div>

	

]]></content:encoded>
			<wfw:commentRss>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-5.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Basic &#8211; Bölüm 4</title>
		<link>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-4.html</link>
		<comments>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-4.html#comments</comments>
		<pubDate>Fri, 21 Mar 2008 01:15:53 +0000</pubDate>
		<dc:creator>Evren Bayraktar</dc:creator>
				<category><![CDATA[QuickBasiC]]></category>
		<category><![CDATA[Qb]]></category>
		<category><![CDATA[QBasic dersi]]></category>
		<category><![CDATA[Quick Basic]]></category>

		<guid isPermaLink="false">http://www.evrence.com/?p=15</guid>
		<description><![CDATA[Quick-Basic Kursu Bölüm 4: Kontrol blokları Programlama dillerinde döngüler ve akış kontrol<h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-9.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 9"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 9" />Quick Basic &#8211; Bölüm 9</a></strong>
Quick-Basic Kursu Bölüm 9: Rakamlarla ilgili işlemler ABS Verilen sayının mutlak(ABSolute) değerini
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-8.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 8"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 8" />Quick Basic &#8211; Bölüm 8</a></strong>
Quick-Basic Kursu Bölüm 8: Karakterlerle ilgili işlemler Kursun bu bölümünde karakterle ilgili
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-3.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 3"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 3" />Quick Basic &#8211; Bölüm 3</a></strong>
Quick-Basic Kursu Bölüm 3: CLS , INPUT ve PRINT Bu bölümde ekranı
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-6.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 6"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 6" />Quick Basic &#8211; Bölüm 6</a></strong>
Quick-Basic Kursu Bölüm 6: Diziler Dizilere neden ihtiyaç duyulur? Çünkü binlerce değişkeni
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-5.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 5"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 5" />Quick Basic &#8211; Bölüm 5</a></strong>
Quick-Basic Kursu Bölüm 5: Döngüler Tekrar edilen işlemler için döngüler kullanılır. Böylece
</div>

	

]]></description>
			<content:encoded><![CDATA[<h3>Quick-Basic Kursu<br />
Bölüm 4: Kontrol blokları</h3>
<p>Programlama dillerinde döngüler ve akış kontrol komutları çok sık  		kullanılır. Programları program yapan esas kısımlar bu komutlarla  		sağlanır. Qbasicde diğer programlama dillerindekine benzer yapıda  		döngüler ve mantıksal karşılaştırmalar yapılabilir.</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" alt="" width="15" height="15" /> IF  		... THEN ... ELSE<span id="more-15"></span></h4>
<p>Mantıksal karşılaştırma için kullanılır. Karşılaştırma işlemin  		sonucunda bir değer döner bu değer ya mantıksal DOĞRU dur ya da  		mantıksal YANLIŞ. Lise 1 deyken matematik dersinde 1 ve 0 lar ile, doğru  		ve yanlışlar ile işlemler yapardık. Birçok kişide ne işe yarıyor bunlar  		diye söylenip dururlardı. Demek ki bir gerekliliği varmış. İşte onlar  		burada gerekecek, isterseniz MANTIK ile ilgili kısımları bir daha gözden  		geçirin. <img src='http://www.evrence.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Mantıksal karşılaştırma için basit bir örnek:</p>
<pre>IF A = 40 THEN B = 40</pre>
<p>Burada A değişkenin değeri 40 ise B nin değeri de 40 olacaktır. Eğer  		A nın değeri 40 dan farklı ise bu satırın hiçbir etkisi olmayacaktır.</p>
<p>Bir başka kullanımı:</p>
<pre>A = 25
IF A &gt; 40 THEN M$ ="Sayı 40 dan  büyük" ELSE M$= "Sayı 40 dan küçük"
PRINT M$</pre>
<p>Üstte A değişkeninin değerinin 40 dan büyük olup olmadığı kontrol  		ediliyor. Mantıksal karşılaştırmanın sonucunda ancak iki değer  		dönebilir. DOĞRU veya YANLIŞ. Doğru olması durumunda THEN den sonraki  		işlem yapılır, YANLIŞ olması durumunda ise ELSE den sonraki işlem. A ya  		25 aktardığımız için A&gt;40 mantıksal karşılaştırmanın sonucu YANLIŞ  		olacaktır. Çünkü 25, 40dan büyük değil. Bu durumda M$ a "Sayı 40 dan  		küçük" değeri aktarılır.</p>
<p><span style="color: #ff0000;"><strong>DÜŞÜN:</strong></span> Üstteki programı  		denedikten sonra A = 40 olsaydı sonuç ne olurdu? diye düşünüp cevabı  		bulmaya çalışın. Sonra Qbasicde deneyerek düşündüğünüzü kontrol edin.</p>
<pre>IF A = 40 ....  ' A , 40 a eşit mi?
IF A &gt; 40 ....  ' A , 40 dan büyük mü?
IF A &lt; 40 ....  ' A , 40 dan küçük mü?
IF A &lt;&gt; 40 .... ' A , 40 a eşit değilse
IF A &lt;= 40 .... ' A , 40 a eşit ya da 40 dan küçük mü?
IF A &gt;= 40 .... ' A , 40 a eşit ya da 40 dan büyük mü?
IF A	  ' A nın değeri 0 dan farklı mı?
IF NOT A  ' A nın değili DOĞRU mu?</pre>
<p>IF ile karşılaştırma yaptığımızda dönen değerlere göre çok sayıda  		komut yürüteceksek aşağıdaki yapıyı kullanırız. Bu şekilde kullanımda  		karşılaştırma bloğunu bitiren END IF kullanmak zorundayız.</p>
<pre>IF A &gt; 40 THEN
	'doğruysa yapılacaklar
	....
	....
ELSE
	'Yanlışsa yapılacaklar
	....
	....
END IF</pre>
<p>Örnek :</p>
<pre>INPUT "ADINIZ " ; AD$
IF AD$ = "MESUT" THEN
	PRINT "SİZİN ADINIZ MESUT"
ELSE
	PRINT "SİZİN ADINIZ MESUT DEĞİL"
END IF</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" alt="" width="15" height="15" /> İç  		içe IF.</h4>
<pre>INPUT A
IF A &gt; 40 THEN
        IF A &lt; 60 THEN
                PRINT "SAYI 40 ile 60 arasında"
        ELSE
                PRINT "SAYI 60 yada 60dan büyük"
        END IF
ELSE
        IF A = 40 THEN
                PRINT "SAYI 40a eşit"
        ELSE
                PRINT "SAYI 40dan küçük"
        END IF
END IF</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" alt="" width="15" height="15" /> Mantıksal karşılaştırmalar</h4>
<p>Şimdiye kadar bir satırda bir değişkeni karşılaştırdık. Bazen birkaç  		değişkenin karşılaştırılıp sonucunun alınması gerekebilir.</p>
<pre>INPUT A
IF A&gt;10 AND A&lt;20 THEN PRINT "SAYI 10 ile 20 arasında"
INPUT A
IF A&lt;10 OR A&gt;50 THEN PRINT "SAYI 10 ile 50 arasında değil"
' yani sayı 10 dan küçük ya da 50 den büyük</pre>
<p>Mantıksal karşılaştırmalarda kullanılacak terimler: AND , OR , XOR ,  		EQV, IMP, NOT</p>
<table id="table2" border="1" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td colspan="2" align="center">Değer</td>
<td colspan="6" align="center">Mantıksal karşılaştırma ve sonucu</td>
</tr>
<tr>
<td align="center" bgcolor="#c0c0c0"><strong>X</strong></td>
<td align="center" bgcolor="#c0c0c0"><strong>Y</strong></td>
<td align="center" bgcolor="#c0c0c0"><strong>NOT<br />
X</strong></td>
<td align="center" bgcolor="#c0c0c0"><strong>X<br />
AND<br />
Y</strong></td>
<td align="center" bgcolor="#c0c0c0"><strong>X<br />
OR<br />
Y</strong></td>
<td align="center" bgcolor="#c0c0c0"><strong>X<br />
XOR<br />
Y</strong></td>
<td align="center" bgcolor="#c0c0c0"><strong>X<br />
EQV<br />
Y</strong></td>
<td align="center" bgcolor="#c0c0c0"><strong>X<br />
IMP<br />
Y</strong></td>
</tr>
<tr>
<td align="center" bgcolor="#c0c0c0"><strong>1</strong></td>
<td align="center" bgcolor="#c0c0c0"><strong>1</strong></td>
<td align="center">0</td>
<td align="center">1</td>
<td align="center">1</td>
<td align="center">0</td>
<td align="center">1</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center" bgcolor="#c0c0c0"><strong>1</strong></td>
<td align="center" bgcolor="#c0c0c0"><strong>0</strong></td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">1</td>
<td align="center">1</td>
<td align="center">0</td>
<td align="center">0</td>
</tr>
<tr>
<td align="center" bgcolor="#c0c0c0"><strong>0</strong></td>
<td align="center" bgcolor="#c0c0c0"><strong>1</strong></td>
<td align="center">1</td>
<td align="center">0</td>
<td align="center">1</td>
<td align="center">1</td>
<td align="center">0</td>
<td align="center">1</td>
</tr>
<tr>
<td align="center" bgcolor="#c0c0c0"><strong>0</strong></td>
<td align="center" bgcolor="#c0c0c0"><strong>0</strong></td>
<td align="center">1</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">1</td>
<td align="center">1</td>
</tr>
</tbody>
</table>
<p>1 -&gt; Mantıksal Doğru<br />
0 -&gt; Mantıksal Yanlış<br />
Bu terimlerden faydalanarak bitsel karşılaştırma da yapılabilir.<br />
PRINT (155 AND 160)<br />
yazdığımızda 128 sonucunu alırız. Çünkü 155 in 2 li sayı düzenindeki  		karşılığı 10011011, 160 ınki ise 10100000. İkisini alt alta yazıp  		bitlerini AND ile karşılaştırdığımızda</p>
<pre>10011011
10100000
--------
10000000</pre>
<p>çıkar. O da 128 e eşittir. Desimal sayıları 2 li sayıya çevirmek için  		Hesap makinasını Bilimsel görünüme getirerek kullanabilirsiniz.. Dec =  		Decimal(10 lu sayı), Bin = Binary (2 li sayı), Hex = Hexadecimal (16 lı  		sayı)</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" alt="" width="15" height="15" /> ELSEIF, SELECT CASE</h4>
<p>IF in bir başka kullanımı</p>
<pre>INPUT "1 ile 3 arasında sayı girin " ; A
IF A = 1 THEN
	PRINT "SAYI = 1"
ELSEIF A = 2 THEN
	PRINT "SAYI = 2"
ELSEIF A = 3 THEN
	PRINT "SAYI = 3"
ELSE
	PRINT "HATALI SAYI"
END IF</pre>
<p>Bunun yerine buna benzer yapıya sahip anlaşılırlığı ve kodlaması  		kolay olan SELECT CASE yapısı kullanılır.</p>
<pre>INPUT "1 ile 3 arasında sayı girin " ; A
SELECT CASE A
	CASE 1
		PRINT "SAYI = 1"
	CASE 2
		PRINT "SAYI = 2"
	CASE 3
		PRINT "SAYI = 3"
	CASE ELSE
		PRINT "HATALI SAYI"
END SELECT</pre>
<img src="http://www.evrence.com/?ak_action=api_record_view&id=15&type=feed" alt="" /><h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-9.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 9"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 9" />Quick Basic &#8211; Bölüm 9</a></strong><p>Quick-Basic Kursu Bölüm 9: Rakamlarla ilgili işlemler ABS Verilen sayının mutlak(ABSolute) değerini</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-8.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 8"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 8" />Quick Basic &#8211; Bölüm 8</a></strong><p>Quick-Basic Kursu Bölüm 8: Karakterlerle ilgili işlemler Kursun bu bölümünde karakterle ilgili</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-3.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 3"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 3" />Quick Basic &#8211; Bölüm 3</a></strong><p>Quick-Basic Kursu Bölüm 3: CLS , INPUT ve PRINT Bu bölümde ekranı</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-6.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 6"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 6" />Quick Basic &#8211; Bölüm 6</a></strong><p>Quick-Basic Kursu Bölüm 6: Diziler Dizilere neden ihtiyaç duyulur? Çünkü binlerce değişkeni</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-5.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 5"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 5" />Quick Basic &#8211; Bölüm 5</a></strong><p>Quick-Basic Kursu Bölüm 5: Döngüler Tekrar edilen işlemler için döngüler kullanılır. Böylece</p>
</div>

	

]]></content:encoded>
			<wfw:commentRss>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-4.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Quick Basic &#8211; Bölüm 3</title>
		<link>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-3.html</link>
		<comments>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-3.html#comments</comments>
		<pubDate>Fri, 21 Mar 2008 01:15:05 +0000</pubDate>
		<dc:creator>Evren Bayraktar</dc:creator>
				<category><![CDATA[QuickBasiC]]></category>
		<category><![CDATA[Qb]]></category>
		<category><![CDATA[QBasic dersi]]></category>
		<category><![CDATA[Quick Basic]]></category>

		<guid isPermaLink="false">http://www.evrence.com/?p=14</guid>
		<description><![CDATA[Quick-Basic Kursu Bölüm 3: CLS , INPUT ve PRINT Bu bölümde ekranı<h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-9.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 9"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 9" />Quick Basic &#8211; Bölüm 9</a></strong>
Quick-Basic Kursu Bölüm 9: Rakamlarla ilgili işlemler ABS Verilen sayının mutlak(ABSolute) değerini
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-4.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 4"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 4" />Quick Basic &#8211; Bölüm 4</a></strong>
Quick-Basic Kursu Bölüm 4: Kontrol blokları Programlama dillerinde döngüler ve akış kontrol
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-8.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 8"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 8" />Quick Basic &#8211; Bölüm 8</a></strong>
Quick-Basic Kursu Bölüm 8: Karakterlerle ilgili işlemler Kursun bu bölümünde karakterle ilgili
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-10.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 10"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 10" />Quick Basic &#8211; Bölüm 10</a></strong>
Quick-Basic Kursu Bölüm 10: Dosya İşlemleri-1 Bilgileri değişkenlere aktararak bellekte tutabiliyoruz ve
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-6.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 6"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 6" />Quick Basic &#8211; Bölüm 6</a></strong>
Quick-Basic Kursu Bölüm 6: Diziler Dizilere neden ihtiyaç duyulur? Çünkü binlerce değişkeni
</div>

	

]]></description>
			<content:encoded><![CDATA[<h3 align="center">Quick-Basic Kursu<br />
Bölüm 3: CLS , INPUT ve PRINT</h3>
<p>Bu bölümde ekranı silme, program çalışırken değişkenlere veri aktarma  		ve bu verileri yazdırmayı öğreneceğiz.</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" /> CLS  		komutu</h4>
<p>Bu komut çalıştırıldığında daha önceden ekrana yazılmış olan yazılar  		silinir. Genelde programlar, ilk olarak ekranı temizleyerek, sonraki  		yazılacaklara temiz bir ekran hazırlar.<br />
Burada dikkat edilecek şey CLS den bir önceki zemin rengi ne ise ekran o  		renk ile doldurulur. CLS den önce bir renk ayarı yapılmamışsa ekran  		siyah renk ile doldurularak temizlenir.</p>
<pre>COLOR , 4
CLS
PRINT "Merhaba"<span id="more-14"></span></pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" />  		Değişkenlere Veri aktarmak</h4>
<p>Veri tiplerini açıklarken değişkenlerden bahsetmiştik. Değişkenler,  		bilgisayarın aklında tutması gereken şeyleri aktarırız. Değişkenler bir  		harf ile başlayıp 40 karaktere kadar bir isim alabilir. İçinde İngilizce  		harf ve rakamların dışında semboller olursa kabul edilmez.</p>
<pre>4KAT
MÜŞTERİ
PERSONEL NO
MEDENI_DURUMU</pre>
<p>Yukarıdaki değişken için kullanılan isimler hata oluşturacaktır.</p>
<pre>PI = 3.14
PRINT PI</pre>
<p>1. satırda PI değişkenine 3.14 rakamını aktardık. Sonraki aşamalarda  		PI sayısına bir sayı aktarmazsak program sonlana kadar o değeri aklında  		tutar. Ve biz bunu gerekli olduğunda kullanırız. Örneğin 2. satırda  		olduğu gibi.<br />
Yukarda olduğu gibi değişkenlere veriyi direkt aktardığımız gibi bir  		fonksiyonun ya da işlemin sonucunu da aktarabiliriz.</p>
<pre>SAYI = 125
KARE = SAYI * SAYI
PRINT KARE</pre>
<p>1. satır artık yabancı gelmiyor size. SAYI değişkenine aklında 125  		rakamını tut dedik. KARE değişkenine de SAYI değişkenin tuttuğu rakamı  		kendisiyle çarp ve sonucunu aklında tut dedik. Bu arada SAYI  		değişkeninin değerinde hiçbir değişiklik olmaz. Değişiklik olabilmesi  		için aktarma işlemi olması gerekir. = işaretinin sağındaki değer veya  		işlem solundaki değişkene aktarılır. Yukarda olduğu gibi = in sağ  		tarafında SAYI nın kendisiyle çarpımından SAYI değişkeni  		etkilenmemektedir.</p>
<p>Değişkenlere değerler aktarılırken tanımlanan tipine uygun değerler  		aktarılmalıdır. Sınırını aşan veya uygun olmayan veri aktarımlar kabul  		edilmeyecektir. Aşağıdaki satırlar hata oluşturacaktır.</p>
<p>A% = 33652 'Sınırı aşmıştır<br />
A&amp; = 2154.43 ' Bu tür değişkenler küsurlu sayıları aklında tutamaz o  		yüzden sayıyı yuvarlayarak 2154 yapar. Bu satırda bilgisayar bir uyarı  		vermez.<br />
A$ = 65000 ' String değişkenlere değerler " (çift tırnak) lar ile  		aktarılır<br />
A# = "Merhaba" ' Bu tür değişkene string veri aktarılamaz</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" /> INPUT  		Komutu</h4>
<p>Değişkenlere A = 45 gibi bir satır yazarak bir değer aktarabiliyoruz.  		Bazen program çalışırken değişkenlere programı kullanan kişinin veri  		aktarması istenebilir. INPUT komutu ile istediğimiz değişkenlere program  		çalışırken değer aktarılabilir.<br />
INPUT kullanılırken; INPUT un ardından verilecek mesaj tırnaklar  		arasında yazılır sonra (,) veya (;) konulur ve klavyeden yazdıklarımızı  		aktaracağımız değişken ismi yazılır.</p>
<pre>CLS
INPUT "ADINIZ " ; AD$
INPUT "YAŞINIZ " , YAS%
PRINT "Sayın " ; AD$ ; YAS% ; " yaşındasınız."</pre>
<p>Yaşımızı sorduğunda rakam dışında bir şey yazarsak, bir uyarı ile  		aynı soruyu tekrar sorulur.</p>
<p><font color="#ff0000"><strong>DÜŞÜN:</strong></font> Burada virgül ile noktalı  		virgülün farkı ne?</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" /> PRINT  		Komutu</h4>
<p>Ekrana bir mesaj veya bir değişkenin değerini yada bir fonksiyon yada  		işlemin sonucunu yazdırmak için kullanılır. PRINT yazmak yerine yalnızca  		? yazın.</p>
<pre>CLS
PRINT 3 * 8 + 12 ' Sonuç 36 olarak ekranda görünecek
YASI = 32
PRINT "Yaşı = " ; YASI ; " dir"
A% = 15
B! = 3.14
ADI$ = "Mesut"
PRINT A% , B! , ADI$
SA$ = "Akcan"
PRINT ADI$ ; SA$</pre>
<p><font color="#ff0000"><strong>DÜŞÜN:</strong></font> PRINT de kullanılan virgül  		ve noktalı virgülün farkı ne?<br />
PRINT komutunda bir işlemin sonucunu da yazdıracağımızı söylemiştim.</p>
<pre>PRINT 12+33 <font color="#008000">' Ekrana toplamı(45) verir</font>
PRINT 125+48*10 <font color="#008000">' 605 yazar. Öncelik sırası: Parantez içi, * / + - dir</font>
PRINT 12-(80/4-23)+54/9 <font color="#008000">' sonuç: 21  ??</font>
PRINT 1 + 1 <font color="#008000">' Toplam olan 2 çıkar</font>
PRINT "1" + "1"
<font color="#008000">  ' 11 çıkar. Çift tırnak içindeki sayılar sayı olarak görülmez.
  ' Burada sayı olmadığı için toplama işlemi değil
  ' tırnaklar içindekileri birleştirme işlemi uygulanır
</font>PRINT "QUICK" + "basic" <font color="#008000">' QUICKbasic</font>
PRINT 8 + "elma" ' <font color="#ff0000">!!! Hata !!!</font>
PRINT "8" + "elma" <font color="#008000">' 8elma</font>
PRINT 8 ; "elma" <font color="#008000">' 8 elma</font>
PRINT 8/2 ; "elma"  <font color="#008000">' 4 elma</font></pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" />  		Uygulama</h4>
<pre>CLS
PRINT "Çıkmak için 0 yaz"
basla:
INPUT "Bir sayı yaz "; SAYI
IF SAYI = 0 THEN END
CLS
PRINT "Verdiğiniz sayı "; SAYI
PRINT SAYI; " 'nın karesı "; SAYI ^ 2; " dır."
PRINT SAYI; " 'nın küpü "; SAYI ^ 3; " dır."
GOTO basla</pre>
<p><font color="#ff0000"><strong>PROBLEM:<br />
</strong></font>Dairenin çevresini hesaplayıp ekrana yazan bir program yazın.  		Dairenin çevresi = Daire çapı * Pi sayısı</p>
<img src="http://www.evrence.com/?ak_action=api_record_view&id=14&type=feed" alt="" /><h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-9.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 9"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 9" />Quick Basic &#8211; Bölüm 9</a></strong><p>Quick-Basic Kursu Bölüm 9: Rakamlarla ilgili işlemler ABS Verilen sayının mutlak(ABSolute) değerini</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-4.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 4"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 4" />Quick Basic &#8211; Bölüm 4</a></strong><p>Quick-Basic Kursu Bölüm 4: Kontrol blokları Programlama dillerinde döngüler ve akış kontrol</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-8.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 8"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 8" />Quick Basic &#8211; Bölüm 8</a></strong><p>Quick-Basic Kursu Bölüm 8: Karakterlerle ilgili işlemler Kursun bu bölümünde karakterle ilgili</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-10.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 10"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 10" />Quick Basic &#8211; Bölüm 10</a></strong><p>Quick-Basic Kursu Bölüm 10: Dosya İşlemleri-1 Bilgileri değişkenlere aktararak bellekte tutabiliyoruz ve</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-6.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 6"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 6" />Quick Basic &#8211; Bölüm 6</a></strong><p>Quick-Basic Kursu Bölüm 6: Diziler Dizilere neden ihtiyaç duyulur? Çünkü binlerce değişkeni</p>
</div>

	

]]></content:encoded>
			<wfw:commentRss>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-3.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Basic &#8211; Bölüm 2</title>
		<link>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-2.html</link>
		<comments>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-2.html#comments</comments>
		<pubDate>Fri, 21 Mar 2008 01:13:43 +0000</pubDate>
		<dc:creator>Evren Bayraktar</dc:creator>
				<category><![CDATA[QuickBasiC]]></category>
		<category><![CDATA[Qb]]></category>
		<category><![CDATA[QBasic dersi]]></category>
		<category><![CDATA[Quick Basic]]></category>

		<guid isPermaLink="false">http://www.evrence.com/?p=13</guid>
		<description><![CDATA[Quick-Basic Kursu Bölüm 2: Qbasicde Veri Tipleri Qbasicde INTEGER, SINGLE, DOUBLE gibi<h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-6.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 6"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 6" />Quick Basic &#8211; Bölüm 6</a></strong>
Quick-Basic Kursu Bölüm 6: Diziler Dizilere neden ihtiyaç duyulur? Çünkü binlerce değişkeni
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-11.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 11"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 11" />Quick Basic &#8211; Bölüm 11</a></strong>
Quick-Basic Kursu Bölüm 11: Dosya İşlemleri-2 Bu bölümde Random dosya oluşturma, dosyaya
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-9.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 9"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 9" />Quick Basic &#8211; Bölüm 9</a></strong>
Quick-Basic Kursu Bölüm 9: Rakamlarla ilgili işlemler ABS Verilen sayının mutlak(ABSolute) değerini
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-3.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 3"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 3" />Quick Basic &#8211; Bölüm 3</a></strong>
Quick-Basic Kursu Bölüm 3: CLS , INPUT ve PRINT Bu bölümde ekranı
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-7.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 7"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 7" />Quick Basic &#8211; Bölüm 7</a></strong>
Quick-Basic Kursu Bölüm 7: Goto, Gosub, Sub, Function Programlarımızdaki kodlar arttıkça veya
</div>

	

]]></description>
			<content:encoded><![CDATA[<h3 align="center">Quick-Basic Kursu<br />
Bölüm 2: Qbasicde Veri Tipleri</h3>
<p>Qbasicde INTEGER, SINGLE, DOUBLE gibi veri tipleri vardır. Veriler  		belleğe saklanmadan önce bellekte ne kadar yer kaplayacağını belirtmek  		için kullanılır. Değişkenin içeriği ancak bu şekilde bellekte düzenli  		bir şekilde yerleşir. Örnek</p>
<p>A% = 126</p>
<p>A değişkenin yanındaki % işareti değişkenin bir INTEGER veri tipine  		sahip olduğunu gösteriri. Ona aktarılan bilgi bellekte 2 karakterlik yer  		kaplar.</p>
<p>Değişkenlerin veri tipini tanımlamak şart değildir. O zaman  		tanımlanmamış değişkenler basic tarafından SINGLE olarak kabul edilir.<span id="more-13"></span></p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" />  		Qbasicde Veri Tipleri</h4>
<p>Qbasic diğer dillerdeki gibi tüm veri tiplerini kullanmanıza imkan  		vermez, fakat genellikle diğerlerine ihtiyaç duymayacaksınız. Qbasic ile  		kullanabileceğiniz veri tipleri INTEGER, LONG, SINGLE, DOUBLE ve STRING  		dir. Daha detaylı bilgi almak için menüden <strong><em>HELP/Contents</em></strong>  		'i ve çıkan ekranda <strong><em>Data Types</em></strong> i tıklayın.</p>
<h4>Veri tipleri nasıl kullanılır?</h4>
<pre>A% = 253
Y! = 3.141
Z&amp; = 254144</pre>
<p>A nın INTEGER olduğunu öğrenmiştik ama Y! ve Z&amp;<br />
! işareti SINGLE verilere sahip değişkenleri tanımlamak için, &amp; işareti  		LONG verilere sahip değişkenler içindir.</p>
<p><font color="#ff0000"><strong>ARAŞTIR:</strong></font> Şimdi siz DOUBLE ve  		STRING değişkenler için hangi işaretler kullanılması gerektiğini HELP  		den bulmaya çalışın.</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" /> Data  		tipi kullanımının bir başka yolu</h4>
<p>Değişkenlerin data tiplerini tanımlamak için birkaç alternatif yöntem  		vardır. Bunlar:</p>
<pre>DIM A AS INTEGER
DIM B AS SINGLE
DIM C AS LONG</pre>
<p>Bu stil en güzel görüneni ve iyi programcıların kullandığı stildir.  		Tanımları düzgün yaptıktan sonra programın ileriki aşamalarında yalnızca  		değişken adını kullanmanız yeterlidir.</p>
<pre>DEFINT A
DEFSNG B,K,N
DEFLNG C-D</pre>
<p>Bu da başka bir stil Değişkenin baş harfine göre tanımlanmamış olan  		tüm değişkenler DEF in yanındaki değişken türünde olur. İyi bir stil  		sayılmaz.</p>
<pre>A% = 253
Y! = 3.141
Z&amp; = 254144</pre>
<p>Bu şekilde tanımlama yaptığınızda aynı değişkeni hep aynı şekilde  		yazmak zorundasınız. Yani A% nin değerini değiştirmek için A = 100  		kullanmak sakıncalıdır.</p>
<p><font color="#ff0000"><strong>DİKKAT:</strong></font></p>
<pre>A! = 22.125
A&amp; = 46500
A% = 255
PRINT A!, A&amp;, A%
PRINT A</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" />  		Kullanıcı tanımlı Veri Tipleri</h4>
<p>Kendi veri tipinizi belirleyebilirsiniz Bu size bellekte kaplayacak  		olan verilerinizi kullanmanızı kolaylaştıracaktır. Örneğin kişilerin  		adres bilgileri üzerinde işlem yapmak istiyorsanız, kişi için kendinizin  		belirlediği bir veri yapısı oluşturabilirsiniz.</p>
<pre>TYPE Adrestipi
 	Adresi AS STRING * 50
 	PostaKodu AS STRING * 7
 	Adi AS STRING * 30
 	Telefonu AS STRING * 18
 END TYPE</pre>
<p>Bu açıklamalar sanırım yetersiz olacaktır başlangıç için. Daha  		detaylı bilgi almak için TYPE yazısı üzerinde iken F1 e basarak yardım  		alabilirsiniz.</p>
<p>Tanımlamış olduğumuz ADRESTIPI veri tipini kullanmak için bellekte  		yer açmalıyız. Bunun için</p>
<pre>DIM Personel AS Addrestipi</pre>
<p>komutunu kullanırız. Şimdi bu değişkenin(PERSONEL) elemanlarına değer  		aktaralım</p>
<pre>Personel.Adresi = "Ankara Caddesi"
Personel.PostaKodu = "33522"
Personel.Adi = "Murat Velioğlu"
Personel.Telefonu = "0866-945 44 21"</pre>
<p>Bu tip değişken kullanımı QBasic de yeni iseniz ve ya diğer BASIC  		dillere alışkanlığınız varsa garip gelecektir. Ama bu tip değişkenler  		diğer dillerde de kullanılmaktadır. Şu an için telaşlanmanıza gerek  		yoktur. Zamanla bu yapıya alışıp gerekli yerlerde rahatlıkla  		kullanacaksınız.</p>
<p>Veri Tipleri Özet Tablosu</p>
<table id="table2" border="1" bordercolor="#808080" cellspacing="0">
<tr>
<td valign="bottom"><font color="#0000ff"><strong>VERİ TİPİ</strong></font></td>
<td valign="bottom"><font color="#0000ff"><strong>TANIMLAMA<br />
ŞEKİLLERİ</strong></font></td>
<td valign="bottom"><font color="#0000ff"><strong>BELLEKTE KAPLADIĞI  				ALAN<br />
(Byte)</strong></font></td>
<td valign="bottom"><font color="#0000ff"><strong>AÇIKLAMA</strong></font></td>
</tr>
<tr>
<td>INTEGER</td>
<td>DIM A AS INTEGER<br />
DIM A%<br />
DEFINT A</td>
<td>
<p align="center">2 (16 bit)</p>
</td>
<td>-32768 ile 32767 sayıları arasındaki <font color="#ff0000"> 				<strong>TAM</strong></font> sayıları tutabilir(2^15). Daha büyük sayılar  				yazmaya çalıştığınızda Owerflow(Taşma) hatası verir. Küsurlu  				rakamlar vermeye çalıştığınızda yakın olan sayıya tamamlar.<br />
A% = 45.12 '--&gt; 45<br />
A% = 51.72 '--&gt; 52</td>
</tr>
<tr>
<td>LONG</td>
<td>DIM A AS LONG<br />
DIM A&amp;<br />
DEFLNG A</td>
<td>
<p align="center">4 (32 bit)</p>
</td>
<td>-2147483648 ile 2147483647 sayıları arasındaki 				<font color="#ff0000"><strong>TAM</strong></font> sayıları  				tutabilir(2^31). Küsurlar INTEGERdeki gibidir.</td>
</tr>
<tr>
<td>SINGLE</td>
<td>DIM A AS SINGLE<br />
DIM A!<br />
DEFSNG A</td>
<td>
<p align="center">4 (32 bit)</p>
</td>
<td>7 rakamdan oluşan küsurlu veya tam rakamları tutar.<br />
A! = 3.141145<br />
Daha fazla rakam girildiğinde bilimsel kullanım şekline  				dönüştürür.<br />
A! = 12345678 ' -&gt; 1.234568E+07<br />
E+07 demek .(nokta) yı 7 rakam sağa kaydırılacak demektir<br />
E-07 olsaydı sola kaydırma olacaktı.<br />
A! = 50000000000 ' -&gt; 5E+10<br />
A! = 1 / 25000000 ' -&gt; 4E-08</td>
</tr>
<tr>
<td>DOUBLE</td>
<td>DIM A AS DOUBLE<br />
DIM A#<br />
DEFDBL A</td>
<td>
<p align="center">8 (64 bit)</p>
</td>
<td>15 rakamdan oluşan küsurlu veya tam rakamları tutar. Diğer  				özellikler SINGLEdaki gibidir.</td>
</tr>
<tr>
<td>STRING</td>
<td>DIM A AS STRING<br />
DIM A$<br />
DEFSTR A</td>
<td colspan="2">Her bir karakter için 1 byte</td>
</tr>
<tr>
<td>Kullanıcı<br />
Tanımlı</td>
<td>&nbsp;</td>
<td colspan="2">Tanımlanan genişliğe göre değişir</td>
</tr>
</table>
<p align="left"><font color="#ff0000"><strong>PÜF NOKTASI:</strong></font><br />
DIM BORCU AS LONG<br />
şeklinde değişken tanımlandıktan sonra programın ilerleyen satırlarında<br />
BORCU = 1250000<br />
şeklinde kullanabiliriz. Ama karmaşık programlar yazdığınızda bu  		kullanım hangi değişkenin hangi veri tipinde olduğunu anlamanızda zorluk  		çıkarır. <strong>Kolayı:</strong> İmleç değişken üzerinde iken F1 tuşuna basarak  		değişkenin hangi modülde hangi veri tipinde kullanıldığını gösteren  		ekranı görebilirsiniz.</p>
<img src="http://www.evrence.com/?ak_action=api_record_view&id=13&type=feed" alt="" /><h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-6.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 6"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 6" />Quick Basic &#8211; Bölüm 6</a></strong><p>Quick-Basic Kursu Bölüm 6: Diziler Dizilere neden ihtiyaç duyulur? Çünkü binlerce değişkeni</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-11.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 11"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 11" />Quick Basic &#8211; Bölüm 11</a></strong><p>Quick-Basic Kursu Bölüm 11: Dosya İşlemleri-2 Bu bölümde Random dosya oluşturma, dosyaya</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-9.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 9"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 9" />Quick Basic &#8211; Bölüm 9</a></strong><p>Quick-Basic Kursu Bölüm 9: Rakamlarla ilgili işlemler ABS Verilen sayının mutlak(ABSolute) değerini</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-3.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 3"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 3" />Quick Basic &#8211; Bölüm 3</a></strong><p>Quick-Basic Kursu Bölüm 3: CLS , INPUT ve PRINT Bu bölümde ekranı</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-7.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 7"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 7" />Quick Basic &#8211; Bölüm 7</a></strong><p>Quick-Basic Kursu Bölüm 7: Goto, Gosub, Sub, Function Programlarımızdaki kodlar arttıkça veya</p>
</div>

	

]]></content:encoded>
			<wfw:commentRss>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-2.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Basic &#8211; Bölüm 1</title>
		<link>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-1.html</link>
		<comments>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-1.html#comments</comments>
		<pubDate>Fri, 21 Mar 2008 01:10:04 +0000</pubDate>
		<dc:creator>Evren Bayraktar</dc:creator>
				<category><![CDATA[QuickBasiC]]></category>
		<category><![CDATA[Qb]]></category>
		<category><![CDATA[QBasic dersi]]></category>
		<category><![CDATA[Quick Basic]]></category>

		<guid isPermaLink="false">http://www.evrence.com/?p=12</guid>
		<description><![CDATA[Quick-Basic Kursu Bölüm 1 : QuickBasic'e Giriş Bu kurs sizin bir QuickBasic<h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-3.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 3"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 3" />Quick Basic &#8211; Bölüm 3</a></strong>
Quick-Basic Kursu Bölüm 3: CLS , INPUT ve PRINT Bu bölümde ekranı
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-7.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 7"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 7" />Quick Basic &#8211; Bölüm 7</a></strong>
Quick-Basic Kursu Bölüm 7: Goto, Gosub, Sub, Function Programlarımızdaki kodlar arttıkça veya
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-9.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 9"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 9" />Quick Basic &#8211; Bölüm 9</a></strong>
Quick-Basic Kursu Bölüm 9: Rakamlarla ilgili işlemler ABS Verilen sayının mutlak(ABSolute) değerini
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-5.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 5"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 5" />Quick Basic &#8211; Bölüm 5</a></strong>
Quick-Basic Kursu Bölüm 5: Döngüler Tekrar edilen işlemler için döngüler kullanılır. Böylece
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-8.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 8"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 8" />Quick Basic &#8211; Bölüm 8</a></strong>
Quick-Basic Kursu Bölüm 8: Karakterlerle ilgili işlemler Kursun bu bölümünde karakterle ilgili
</div>

	

]]></description>
			<content:encoded><![CDATA[<h3 align="center">Quick-Basic Kursu<br />
Bölüm 1 : QuickBasic'e Giriş</h3>
<p>Bu kurs sizin bir QuickBasic derleyicisine ve editörüne sahip  		olduğunuzu varsaymıştır. Burada anlatılacak olanlar QuickBasic v4.5 'a  		göredir. QuickBasic'in daha kısılmış bir sürümü olan QBASIC v1.1 MS-DOS  		un son sürümlerinde beraber kurulmaktaydı. Sisteminizde DOS yüklü  		değilse QBASIC.EXE olmayabilir.<br />
Windows 95 CD nizdeki <font color="#ff0000">\OTHER\OLDMSDOS\</font>  		klasörünüze açıp QBASIC.EXE yi <font color="#ff0000">C:\WINDOWS\COMMAND\</font>  		klasörünüze kopyalayın. Qbasic'in, QuickBasic den kısılmış olan en  		önemli özelliği dosyayı derleyip EXE haline getirememesidir.<br />
Win95 CD niz yoksa <a href="http://ftpsearch.lycos.com/"> 		ftpsearch.lycos.com</a> , <a href="http://www.yahoo.com/">www.yahoo.com</a>  		, <a href="http://www.altavista.com/">www.altavista.com</a> , 		<a href="http://www.google.com/">www.google.com</a> gibi arama sitelerine  		bağlanıp <font color="#ff0000">qbasic.exe</font> yi aratıp bulun ve  		sisteminize kopyalayın.</p>
<p>Ben hazırı seven arkadaşlar için buraya <a href="http://www.evrenweb.net/dosya/qb71.zip" target="_blank">QuickBasic 7.1</a> versiyonunu koydum.</p>
<p>NOT: Bu kursta QuickBasic kelimesi yerine kısaca Qbasic kullanılacaktır.  		Ayrıca, QuickBasic' i nerde bulacağınız hakkında bana soru sormayın. Dikkatli okuyun..</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" /> BASIC  		nedir?<span id="more-12"></span></h4>
<p>BASIC kelimesi <font color="#ff0000"><strong>B</strong></font>eginners 		<font color="#ff0000"><strong>A</strong></font>ll-Purpose <font color="#ff0000"> 		<strong>S</strong></font>ymbolic <font color="#ff0000"><strong>I</strong></font>nstruction 		<font color="#ff0000"><strong>C</strong></font>ode kelimelerinin baş harflerinden  		oluşmuş bir kelimedir. Genel amaçlı yeni başlayanlar için bir  		programlama dilidir. Öğrenmesi kolay, yüksek seviyeli bir dildir. Basic  		kodları bir derleyici ile çalıştırılabilir(.EXE) ye dönüştürülebilir.</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" />  		QuickBasic editörünün kullanımı</h4>
<p>QuickBasic paketini bilgisayarınıza kurduğunuzda ; dos komut  		satırında</p>
<pre>QB</pre>
<p>yazıp ENTER'e bastığınızda karşınıza basic programınızı yazmanız için  		bir editör programı yükler. Dos un EDIT ine benzer özelliklere sahiptir.  		Basic programınız yazdıktan sonra F5 tuşu ile çalıştırabilirsiniz.  		Programın çalışması bitince herhangi bir tuşa basarak, program hala  		çalışıyorsa CTRL-PAUSE tuşlarına basarak programın çalışmasını durdurup  		editöre dönebilirsiniz.<br />
Not: QBASIC kullananlar komut satırında QBASIC yazarak çalıştıracaklar.</p>
<p><font color="#ff0000"><strong><u>UYGULAMA:</u></strong></font><br />
dos komut satırında qb yazıp enter tuşuna basarak qbasic editörünü  		çalıştırın. Aşağıdaki resimde olduğu gibi editöre yazın.<br />
<img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/qb01.gif" height="91" width="213" /></p>
<p>Klavyeden F5 tuşuna basarak yazdığımız basic kodunun çalışmasını  		sağlayın. Bir problemle karşılaşmazsanız ekranındaki yazılar  		temizlenecek ve ekranın ilk satırında<br />
<img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/qb02.gif" height="94" width="176" /> yazacak. Editör  		ekranına dönmek için herhangi bir tuşa basın.<br />
Not: ' (ayırma) işaretinden sonra yazılanlar açıklama içindir, yazılmasa  		da olur.</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" />  		Qbasicde satır numaraları</h4>
<p>Satır numaraları gereksizdir. Ama kullanabilirsiniz de.  		Kullanırsanız; numaraların birbirini takip etmesi şart değildir.  		QBasicde satır numaraları yerine okunurluğu kolaylaştırması için ETİKET  		kullanılır. Etiketi de sadece GOTO veya GOSUB ile gidilecek satırlara  		koymak yeterlidir.</p>
<pre>10 A = A + 1
20 IF A &gt; 20 THEN GOTO 50
30 PRINT A
40 GOTO 10
50 END</pre>
<p>Yukarıdaki program kodları yerine; aynı işi yapan, satır numarası  		vermeden, etiket kullanarak yazılmış hali aşağıda.</p>
<pre>basla:
A = A + 1
IF A &gt; 20 THEN GOTO bitis
PRINT A
GOTO basla
bitis:
END</pre>
<p>Bir satırda birden fazla komut da kullanılabilir. İki komutu ayırmak  		için : (2 nokta üst üste) kullanılır</p>
<pre>CLS
PRINT "QBASIC"
PRINT "MERHABA DÜNYA !"</pre>
<p>Üstteki ile alttaki kodlar aynı işi yapar. Farkı yoktur.</p>
<pre>CLS : PRINT "QBASIC" : PRINT "MERHABA DÜNYA !"</pre>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" /> PRINT  		yerine ? (soru işareti)</h4>
<pre>? "Merhaba Dünya !"
PRINT "Merhaba Dünya !"</pre>
<p>Yukarıdaki iki satır aynı işi yapar. Yazarken ? işareti PRINT  		komutuna dönüşür. Bundan sonra eminim ki ? işaretini PRINT e tercih  		edeceksiniz.</p>
<h4><img src="http://tef.selcuk.edu.tr/%7Eisaritas/dersnotlari/qbasic/images/tarih.gif" border="0" height="15" width="15" />  		Qbasicde yardım almak</h4>
<p>QBasic in menülerinde HELP var. Fareyle tıkladığınızda bir yardım  		ekranı karşınıza gelecek. Ayrıca komutları yazdığımız bölümdeki  		kelimelerden faydalanarak da yardım alabiliriz. Örneğin OPEN yazın  		imleç(yanıp sönen gösterge) kelime üzerindeyken klavyeden F1 tuşuna  		bastığınızda OPEN komutu hakkında yardım ekranı gelir karşınıza. Burada  		Kısa açıklama, Detaylı açıklama, Örnek programı görebilirsiniz. Tabii  		burada yardım bilgileri Türkçe değil, İngilizce.</p>
<img src="http://www.evrence.com/?ak_action=api_record_view&id=12&type=feed" alt="" /><h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-3.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 3"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 3" />Quick Basic &#8211; Bölüm 3</a></strong><p>Quick-Basic Kursu Bölüm 3: CLS , INPUT ve PRINT Bu bölümde ekranı</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-7.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 7"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 7" />Quick Basic &#8211; Bölüm 7</a></strong><p>Quick-Basic Kursu Bölüm 7: Goto, Gosub, Sub, Function Programlarımızdaki kodlar arttıkça veya</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-9.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 9"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 9" />Quick Basic &#8211; Bölüm 9</a></strong><p>Quick-Basic Kursu Bölüm 9: Rakamlarla ilgili işlemler ABS Verilen sayının mutlak(ABSolute) değerini</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-5.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 5"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 5" />Quick Basic &#8211; Bölüm 5</a></strong><p>Quick-Basic Kursu Bölüm 5: Döngüler Tekrar edilen işlemler için döngüler kullanılır. Böylece</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-8.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 8"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 8" />Quick Basic &#8211; Bölüm 8</a></strong><p>Quick-Basic Kursu Bölüm 8: Karakterlerle ilgili işlemler Kursun bu bölümünde karakterle ilgili</p>
</div>

	

]]></content:encoded>
			<wfw:commentRss>http://www.evrence.com/programlama/qbasic/quick-basic-bolum-1.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Basic &#8211; Giriş</title>
		<link>http://www.evrence.com/programlama/qbasic/quick-basic-giris.html</link>
		<comments>http://www.evrence.com/programlama/qbasic/quick-basic-giris.html#comments</comments>
		<pubDate>Fri, 21 Mar 2008 01:00:58 +0000</pubDate>
		<dc:creator>Evren Bayraktar</dc:creator>
				<category><![CDATA[QuickBasiC]]></category>
		<category><![CDATA[Qb]]></category>
		<category><![CDATA[QBasic dersi]]></category>
		<category><![CDATA[Quick Basic]]></category>

		<guid isPermaLink="false">http://www.evrence.com/?p=11</guid>
		<description><![CDATA[Quick-Basic Kursu İçindekiler Bölüm 1 : Quick Basic'e giriş Bölüm 2 :<h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-12.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 12"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 12" />Quick Basic &#8211; Bölüm 12</a></strong>
Quick-Basic Kursu Bölüm 12: Dosya işlemleri-3 Yalnız metin içermeyen dosyalar vardır. Örneğin;
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-9.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 9"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 9" />Quick Basic &#8211; Bölüm 9</a></strong>
Quick-Basic Kursu Bölüm 9: Rakamlarla ilgili işlemler ABS Verilen sayının mutlak(ABSolute) değerini
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-1.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 1"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 1" />Quick Basic &#8211; Bölüm 1</a></strong>
Quick-Basic Kursu Bölüm 1 : QuickBasic&#8217;e Giriş Bu kurs sizin bir QuickBasic
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-7.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 7"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 7" />Quick Basic &#8211; Bölüm 7</a></strong>
Quick-Basic Kursu Bölüm 7: Goto, Gosub, Sub, Function Programlarımızdaki kodlar arttıkça veya
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-10.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 10"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 10" />Quick Basic &#8211; Bölüm 10</a></strong>
Quick-Basic Kursu Bölüm 10: Dosya İşlemleri-1 Bilgileri değişkenlere aktararak bellekte tutabiliyoruz ve
</div>

	

]]></description>
			<content:encoded><![CDATA[<table border="0" cellpadding="3" cellspacing="3">
<tr>
<td colspan="2" bgcolor="#FF0000">
<div align="center"><strong><font color="#FFFFFF" size="+3">Quick-Basic Kursu</font></strong></div>
</td>
</tr>
<tr>
<td colspan="2" bgcolor="#000066">
<div align="center"><strong><font color="#FFFFFF" size="+1">İçindekiler</font></strong></div>
</td>
</tr>
<tr bgcolor="d7d7d7">
<td><strong><a href="http://www.evrence.com/?p=12">Bölüm 1 :</a></strong></td>
<td><strong>Quick Basic'e giriş</strong></td>
</tr>
<tr bgcolor="d7d7d7">
<td><strong><a href="http://www.evrence.com/?p=13">Bölüm 2 :</a></strong></td>
<td><strong>Quick Basicde Veri Tipleri</strong></td>
</tr>
<tr bgcolor="d7d7d7">
<td><strong><a href="http://www.evrence.com/?p=14">Bölüm 3 :</a></strong></td>
<td><strong>CLS, INPUT ve PRINT komutları</strong></td>
</tr>
<tr bgcolor="d7d7d7">
<td><strong><a href="http://www.evrence.com/?p=15">Bölüm 4 </a>:</strong></td>
<td><strong>Kontrol Blokları</strong></td>
</tr>
<tr bgcolor="d7d7d7">
<td><strong><a href="http://www.evrence.com/?p=16">Bölüm 5 :</a></strong></td>
<td><strong>Döngüler</strong></td>
</tr>
<tr bgcolor="d7d7d7">
<td><strong><a href="http://www.evrence.com/?p=17">Bölüm 6 :</a></strong></td>
<td><strong>Diziler</strong></td>
</tr>
<tr bgcolor="d7d7d7">
<td><strong><a href="http://www.evrence.com/?p=18">Bölüm 7 :</a></strong></td>
<td><strong>Goto, Gosub, Sub, Function</strong></td>
</tr>
<tr bgcolor="d7d7d7">
<td><strong><a href="http://www.evrence.com/?p=19">Bölüm 8 :</a></strong></td>
<td><strong>Karakterlerle ilgili işlemler</strong></td>
</tr>
<tr bgcolor="d7d7d7">
<td><strong><a href="http://www.evrence.com/?p=20">Bölüm 9 :</a></strong></td>
<td><strong>Rakamlarla ilgili işlemler</strong></td>
</tr>
<tr bgcolor="d7d7d7">
<td><strong><a href="http://www.evrence.com/?p=21">Bölüm 10 :</a></strong></td>
<td><strong>Dosya işlemleri - 1</strong></td>
</tr>
<tr bgcolor="d7d7d7">
<td><strong><a href="http://www.evrence.com/?p=22">Bölüm 11 :</a></strong></td>
<td><strong>Dosya işlemleri - 2</strong></td>
</tr>
<tr bgcolor="d7d7d7">
<td><strong><a href="http://www.evrence.com/?p=23">Bölüm 12 :</a></strong></td>
<td><strong>Dosya işlemleri - 3</strong></td>
</tr>
<tr bgcolor="d7d7d7">
<td><strong><a href="http://www.evrence.com/?p=24">Bölüm 13 :</a></strong></td>
<td><strong>Püfler</strong></td>
</tr>
<tr bgcolor="d7d7d7">
<td><strong><a href="http://www.evrence.com/?p=25">Bölüm 14 :</a></strong></td>
<td><strong>Genel Püfler</strong></td>
</tr>
</table>
<p>Ben qbasic bilgilerimi bu kaynak sayesinde geliştiriyorum. 15 bölümlük gerçekten güzel, sade ve anlaşılır bir kaynak. Sizlerinde faydalı olabileceğini düşündüğüm için burada paylaşmak istedim.</p>
<p>Bir sorunuz sıkıntınız olur ise hafta içi hergün akşamları <a href="http://www.kku.edu.tr" target="_blank">Kırıkkale Üniversitesi</a> fen fakültesi koridorlarında beni bulabilirsiniz <img src='http://www.evrence.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Yok ben seni kampüste aramaktan üşenirim derseniz de iletişim formunu sizin için hazırladım.</p>
<p><em>Bu bilgiler <a href="http://www.selcuk.edu.tr" target="_blank">Selçuk Üniversitesi</a> kaynaklıdır.</em></p>
<img src="http://www.evrence.com/?ak_action=api_record_view&id=11&type=feed" alt="" /><h3>Benzer Yazılar:</h3>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-12.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 12"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 12" />Quick Basic &#8211; Bölüm 12</a></strong><p>Quick-Basic Kursu Bölüm 12: Dosya işlemleri-3 Yalnız metin içermeyen dosyalar vardır. Örneğin;</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-9.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 9"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 9" />Quick Basic &#8211; Bölüm 9</a></strong><p>Quick-Basic Kursu Bölüm 9: Rakamlarla ilgili işlemler ABS Verilen sayının mutlak(ABSolute) değerini</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-1.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 1"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 1" />Quick Basic &#8211; Bölüm 1</a></strong><p>Quick-Basic Kursu Bölüm 1 : QuickBasic&#8217;e Giriş Bu kurs sizin bir QuickBasic</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-7.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 7"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 7" />Quick Basic &#8211; Bölüm 7</a></strong><p>Quick-Basic Kursu Bölüm 7: Goto, Gosub, Sub, Function Programlarımızdaki kodlar arttıkça veya</p>
</div>

	    
    		

		<div class="benzer-yazi"><strong><a href="http://www.evrence.com/programlama/qbasic/quick-basic-bolum-10.html" rel="bookmark" title="Quick Basic &#8211; Bölüm 10"><img src="http://www.evrence.com/wp-content/themes/evrenCe/images/benzer-yazi.png" width="70" height="50" alt="Quick Basic &#8211; Bölüm 10" />Quick Basic &#8211; Bölüm 10</a></strong><p>Quick-Basic Kursu Bölüm 10: Dosya İşlemleri-1 Bilgileri değişkenlere aktararak bellekte tutabiliyoruz ve</p>
</div>

	

]]></content:encoded>
			<wfw:commentRss>http://www.evrence.com/programlama/qbasic/quick-basic-giris.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

