Ders Notu-4
Transkript
Ders Notu-4
PROGRAMLAMAYA GĐRĐŞ I Algoritma: Bir problemin çözümü için izlenecek yol anlamına gelmektedir. Problemi çözebilmek için geliştirilmiş açık, yürütülebilir, sıralı, basit tekrar edebilen adımlardan oluşan yöntem algoritma olarak tanımlanmaktadır. Algoritmanın Özellikleri; Basitlik Yürütülebilirlik Sıralı olma Bilgisayar ortamında problem çözümü için kullanılan adımlar şunlardır: 1- Problemi (sorunu) anlaşılması: Çözülecek soru tam olarak ortaya konulmalıdır. Sorunun tam olarak anlaşılması çözümün doğru olmasını sağlayacaktır. 2- Çözümü basamaklara ayırma (Algoritma oluşturma): Sorunun tanımını bitirildikten sonra, çözüm için kullanılacak yollar belirlenir. Bu aşamada sorunun çözümü birden fazla yol ile sağlanabileceği unutulmamalıdır. Çözüm yollarından basit ve kolay olan seçilmelidir. Sorun karmaşık ise çözüm sırasında alt çözüm yolları kullanılmamlıdır. Burada dikkat edilmesi gereken nokta alt çözüm yollarının ana çözüm yolu ile bağlantısı daima takip edilmelidir. 3- Akış şemasını çizme: Problemin çözümünü içeren algoritma geliştirildikten sonra, anlaşılabilirliğini ve programlama dillerine kolay aktarımı için akış şeması (flow chart) çizilir. Böylece çözüm basamaklarının birbirleri ile ilişkileri ve bilgi akışı görülecektir. 4- Program kodunu yazma. Akış şeması çizildikten sonra, çözüme uygun bir programlama dili kullanılarak kod yazımı yapılmalıdır. 5- Çalıştırma (Uygulama). Programın kodlaması tamamlandıktan sonra, sonuçları bilinen veriler girilerek programın çalıştırılır. 6- Test etme ve hataları düzeltme: Program çalıştırıldıktan sonra varsa yazım yada mantık hataları giderilip test edilir. Program; Problemin çözümünü adım adım gerçekleştirecek kod yazımına program denilmektedir. Başka bir deyişle belirli bir komut takımı ile kullanılarak çözümün elde edilmesidir. Komut takımını kullanma ve yazımına ilişkin koşulları belirleyen kurallara kısaca programlama dili denilmektedir. BASIC(Beginner’s All purpose Symbolic Instruction Code) : 1964' te New Hampshire' deki (USA) Dartmouth kolejinde John G. Kemeney (1926-93) ile Thomas E. Kurtz (1928-) tarafından geliştirilen bir programlama dilidir. C :Dennis Richie tarafından 1972 yılında Bell Laboratuarında geliştirilmiş ve ilk olarak UNIX işletim sisteminde kullanılmıştır. PASCAL:1970 Yılında Wirth tarafından öğrencilerine programlama öğretmek maamcıyla geliştirilmiş bir programlama dilidir. Bu dilin kullanım alanı ve özellikleri dolayısıyla ünlü Fransız Matematikçi Blaise Pascal anısına PASCAL adı verilmiştir. FORTRAN(Formula Translater): 1954-1957 yılında IBM tarafından matematiksel ve bilimsel alanlarda kullanılmak üzere tasarlanmış bir programlama dilidir. COBOL(Comman Business Oriented Language):1959 yılında ticari amaçlar ile geliştirilmiştir bir programlama dildir. Derleyici (Compiler) Yorumlayıcı (Interpreter) Derleyici (Compiler): Programlama dili kullanılarak yazılmış bir programı makine dili ile yazılmış amaç programa çevirirler. Đnput A,B Topla= A- B Print Topla Yazım Hataları Mantık Hataları Yorumlayıcı (Interpreter) : Programlama dili ile oluşturulan program kodlarının (kaynak kodlar) ilk satırından son satırına kadar satır satır belirtilmiş komut ve işlemleri inceleyerek kaynak programın hatalarının düzeltilmesine imkan veren ve çalıştıran programlardır. Kaynak (Source) Program : Bir programlama dili ile yazılmış programlar. Amaç (Object) Program elde edilen program. : Bir programlama dilinde yazılmış kaynak programın derlenmesi ile Derleyici ile Yorumlayıcının farkı: Derleyici programın tamamını kontrol eder bir satırında hata varsa program satırları bittikten sonra hatayı gösterir. Yorumlayıcı ise programın bir yerinde hata varsa çalışırken hatalı satıra geldiğinde durur ve hata mesajı verir. TEMEL KAVRAMLAR KOMUT (Command): Bilgisayarın herhangi bir işlemin nasıl yapılacağını belirten emirlerdir. Her programlama dilinin kendine ait bir komut takımı bulunduğundan programcılar kullandıklara dile ait komutların belli başlıcalarını bilmek zorundadır. Programlama bir işin nasıl yapılacağının adım adım tarif edilmesidir. Komutlar basit ve anlaşılır kısa kelimelerden oluşmaktadır. Örneğin; Yaz “Bilgisayar” gibi bir ifade düşünülecek olursa, Basic/Visul Basic C Pascal Print “Bilgisayar” Printf “Bilgisayar” Write ‘Bilgisayar’ olarak ifade edilmektedir. DEĞĐŞKENLER (Variables): Bellekte bilginin saklandığı, ismini ve tipini belirlediğimiz alanlardır. Böylece bellek adresleriyle uğraşmak yerine programlama sırasında simgesel isimler verilmektedir. Verilen değerler bellekte verilen sembolik ad ve tiplerde saklanırken, nerede saklayacağını (adres bilgisi) ise sistem tarafından belirlenir. Diğer önemli kavram ise sabitler ve operatörlerdir. Sabitler (constant), programda değeri değiştirilmeyen simgesel isimlerdir. 2 Operatörler ise aritmetik işlemlerde ve kontrol deyimlerinde kullanılan, işlem değeri olan karakterlerdir. Genel olarak değişkenleri ikiye ayırabiliriz; 1) Đçerisinde sayısal değerleri sakladığımız değişkenlere sayısal veya nümerik değişken denlmektedir. 2) Sayısal değerler dışında (ad, yer, adres, vb.) saklanan değişkenlere de alfa sayısal veya string değişkenler denilmektedir. Programlama dillerinde değişkenlerin tanımlanması birbirine benzemekle birlikte her dilin kendine özgü farklılıkları bulunacağı unutulmamalıdır. Genel olarak değişken tanımlama kuralları için şunlar söylenebilir: 1) Bir değişkenin ilk karakteri mutlaka harf olmalıdır. 2) Değişken isimlerinin içerisinde _ karakteri hariç, boşluk veya özel karakterler bulunmamalıdır (.,@ ? * : ; ! -) 3) Değişken isimlerinde Türkçe karakter kullanmamaya özen gösterilmelidir. 4) Değişken isimleri kullanılan programlama diline ait komutları içermemelidir. 5) Değişken isimleri için anlamlı ifadeler kullanılmalıdır. HATALI TANIMLAMALAR 14BOLU adi Soyadi sa:at DOĞRU TANIMLAMALAR Girne15 Al23 DOGUM_YERI Değişkenlere değer Aktarma( = ) : Bir aritmetik yada string ifadeyi değişkene aktarmak için “ = “ parametresi kullanılır. { a = 5 , b = “ABC” gibi…} Burada eşitliğin sağ tarafındaki ifadenin sonucu sol taraftaki değişkene aktarılır. Örnek 1 : Aşağıdaki program akışı sırasındaki değişken değerleri A=3 B=3*A A=B+5 B=B+1 A 3 14 14 B 9 9 10 Visual Basic ‘de Değişkenlerin Tanımlanması: Bir değişken kullanılmadan önce tanımlanmalıdır. Bu tanımlama genellikle Dim (Boyut Aç) komutu ile program kodunun başında yapılmaktadır: Yapısı : Dim Değişken_adı As tip Tip ; Değişken in alabileceği veri türünü ,double,single,long,string,boolean,currency gibi ] 3 tanımlar. [Bunlar; integer, byte, long Eğer değişken tanımlanmaz veya tanımlanırken tip belirtilmezse, VB bu değişkeni Variant veri tipinde algılar. Variant bir değişken herhangi bir tip veriyi içerebilir. Variant tipli değişken kullanmanın dezavantaları şunlardır: • • Daha fazla bellek kullanımı Variant veri tipi bazı veri işlem fonksiyonları için geçersiz olabilir. Veri Tipleri : Bildiri Deyimi String Integer Long Single Double Currency Byte Boolean Date Variant Veri Tipi Bellek Alanı Karaktersel 1 karakter 1 bayt Tamsayı 2 bayt uzun tamsayı 4 bayt tek duyarlı sayısal 4 bayt çift duyarlı sayısal 8 bayt para-çok büyük Sayı 8 bayt tamsayı 1 bayt doğru/yanlış 2 bayt tarih 8 bayt 16 bayt + her karakter için 1 byte Değer Aralığı 65.535 -32.768 to 32.767 2.147.483.647 3.4x10^38 1,7x10^308 922.337.203.685.447 0 to 255 True / False 1/1/100 to 12/31/9999 String değişkenler; aralarına “+” veya “&” sembolü konarak birbirlerine eklenebilirler. SABĐTLER (Constant): Program içerisinde değeri değişmeyen ifadelere sabit denir. Tırnak “ “ işaretleri arasında yazılan her türlü bilgi string sabittir. Özellikle bilinen değerlerin kullanımını sağlar. Kodlamayı ve kodun okunabilirliğini kolaylaştırır. VB de sabit ifadeler program kodunun başında Const deyimi ile tanımlanırlar. Const pi=3.14 OPERATÖRLER: Đşlem yapmamızı sağlayan işaretlerdir (+,-,*,/,=,% gibi ). Programlama dillerinde değişik operatörler kullanılmaktadır. ĐŞLEMLER Aritmetik Operatör Matematiksel Notasyon VB ve QB Notasyonları Toplama Çıkartma Çarpma Bölme + * / X+Y X-Y (YB)(Y.B) (Y*B) V/A ve V X+Y X-Y Y*B V/A A Bölme(tamsayı) Üs alma Mod alma String birleştirme Negatif \ ^ Mod & QP Q mod P Çanak kale -Y 4 V\A Q^P Q mod P “Çanak”&”kale” -Y Đşlem öncelik sırası Sıra Tanım Matematik Bilgisayar 1 Parantezler (( )) (( )) 2 Üs Almak an a^n 3 Çarpma ve Bölme ab a/b 4 Toplama ve Çıkarma a+b a-b a*b a/b a+b a-b Operatörlerin işlem sırası: Parantez kullanılarak işlem öncelik sıraları değiştirilir. Đç içe kullanılan parantezlerde öncelik en içtekindedir. Aynı işlem önceliğine sahip elemanlarda işlem soldan sağa doğrudur. Örnek 2: y=prq+w/x-z y=p*r^q+w/x-y Matematiksel: Visual Basic : 6 y = 2.42 + 6 / 2 – 9 y y y y y 2 1 4 3 5 = 2*16+ 6 / 2 - 9 = 32 + 6/2 – 9 = 32 + 3 – 9 = 35 – 9 = 24 KARŞILAŞTIRMA OPERATÖRLERĐ Verilerin birbiriyle karşılaştırılmasında kullanılır. Sonuç doğru ise 1 , yanlış ise 0 değerini alır. OPERATÖR ĐŞLEM Küçüktür Büyüktür Küçük eşit Büyük eşit Eşittir Eşit değil < > <= >= = <> KARŞILAŞTIRMA VBasic NOTASYONU NOTASYONU A<B A<B A>B A>B A≤B A <= B A≥B A >= B A=B A=B A≠B A<>B MANTIKSAL OPERATÖRLER Mantıksal operatörlerin temelini, verilerin birbirleriyle kıyaslanması oluşturur. Koşulun sonucuna bağlı olarak da hangi işlerin yapılacağına karar verilir. ĐŞLEM Ve Veya Değil Özel veya OPERATÖR AND OR NOT XOR KARŞILAŞTIRMA NOTASYONU A VE B A VEYA B A DEĞĐL B Şartlardan biri doğru ise –1 sonucunu değilse 0 sonucu verir 5 VBasic NOTASYONU A AND B A OR B A NOT B A XOR B ÖRNEK 3: A=5 B=4 Y= ( A < 5 ) OR ( B >= A ) AND ( A=5 ) Đfadesinin tersi nasıl olur? Cevap: Y= False OR False AND True = 0 OR 0 AND 1 = 0 OR 0 = 0 = FALSE Bu ifadenin tersi ; Y = ( A>=5 ) AND ( B < A ) OR ( A< >5 ) = True AND True OR False Y = 1 AND 1 OR 0 = 1 OR 0 = 1 = TRUE sonucu elde edilir. AKIŞ ŞEMALARI(FLOW CHARTS) Algoritmanın,görsel olarak simge ya da sembollerle ifade edilmesine "akış şeması" veya FLOWCHART adı verilir. Akış şemalarının algoritmadan farkı, adımların simgeler şeklinde ve adımlar arasındaki ilişkiler ve yönleri oklar ile gösterilmesidir. Akış şemaları kullanımındaki en temel avantaj problem çözüm adımlarının kolayca takip edilebilmesidir. Amerikan Ulusal Standartları Enstitüsünün (ANSI) belirlediği akış diyagramlarında kullanılan semboller ve kullanım amaçları BAŞLA /DUR Genel giriş/çıkış ĐŞLEM Ekrandan okuma ve yazma Sayfa içi Bağlantı KARAR Sayfa dışı bağlantı DÖNGÜ ÇIKTI 6 Akış yönü belirleme Örnek 1: Girilen iki sayının ortalamasını alan programın algoritması ve akış seması. 1.Başla 2.Đki sayı gir (A,B) 3.Ortalamayı hesapla (ortalama=(A+B)/2) 4.Ortalamayı yaz 5.Dur BAŞLA A,B Ortalama=(a+b)/2 ortalama DUR Örnek 2:Klavyeden girilen 10 adet sayının toplamını bulup ekrana yazdıran programın algoritması ve akış şeması. Örnek 3: Rasgele girilen iki sayıdan küçük olanı önce yazan program. Örnek 4: Ekrana 5 defa “ BĐLGĐSAYAR” yazan programın algoritma ve akış şemasını yazın? 1. BASLA 2. sayac=0 3. YAZ “BĐLGĐSAYAR” 4. sayac=sayac+1 5. Eğer sayac<5 GĐT 3. adıma 6. DUR Örnek 5: 1,1,2,3,4,5,8,13,21,34,55,……….. çıktısını veren programın akış diyagramı ve program kodunu yazınız?. ( Bu şekildeki seri Fibonacci dizisi olarak isimlendirilmektedir) Örnek 6: Klavyeden girilen X değerine göre fonksiyonu gerçekleştiren program. F(x)= 3X2 + 4X + 2 X+1 4X3 + 2X2 + 4 , X > 0 ise , X =0 ise , X<0 ise Algoritma : Akış Şeması : 1.Başla 2.X değerini gir. 3. Eğer X>0 ise Fx=3*X*X + 4*X + 2 4. Eğer X=0 ise Fx=X+1 5. Eğer X<0 ise Fx=4*X*X*X +2*X*X+4 6. Fx’i yaz 7. Dur. 7 Örnek 7: Aşağıdaki akış diyagramına göre N değeri 6 girilirse M ve I’nın ekrandaki çıktısı nasıl olur? BAŞLA I N M=1 I=2 M N 6 6 6 6 6 6 M=M*I I=I+1 H I>N E I,M DUR Örnek 8: Klavyeden girilen 3 sayıdan en büyük olan sayıyı bulan programın akış şeması Örnek 9: Faktöriyel alan program. 8 KONTROL YAPILARI Yapısal programlama dillerinde programın işleyişi ilk satırdan son satıra doğru ilerler bu işleyiş sırası, şartlı veya şartsız olarak değiştirilebilir. Programın işleyiş yönünün şartlı veya şartsız olarak değiştirilmesi işlemine “dallanma” denir. A. DALLANMA 1. GOTO KOMUTU ĐLE ŞARTSIZ DALLANMA Programın işleyiş yönünü şartsız olarak değiştirmede GOTO ( Git) deyimi kullanılır. Kullanım Şekli ; goto <etiket> 2. IF /THEN KOMUTU ĐLE ŞARTA BAĞLI DALLANMA Bu kullanımda eğer IF’den sonra verilen şart sağlanırsa Komut1 şart sağlanmazsa ELSE’den sonraki Komut2 gerçekleştirilir. Eğer IF < koşul > ise yap değilse yapma = <> > < >= <= THEN Komut1.. ELSE Komut2.. 3.KOŞUL SÜRDÜKÇE DEVAM EDEN ĐŞLEMLER Koşul kontrolü yapıldığı yere göre ikiye ayırılabilir. Birincisi program başında koşul kontrolü yapmak, diğeri ise bir defa işlem yapıldıktan sonra koşulun doğru yada yanlış olmasına göre işlem tekrarı yapılmasıdır. a) Do While – Loop b) Do – Loop While H işlemler Koşul E H Koşul işlemler E 9 DÖNGÜ YAPILARI Problemlerin çözümlerinde tekrar edilen işlemleri göstermenin kolay ve anlaşılır bir yolu, bu yola döngü yada yineleme yapıları denir. Döngü değişkeni→ilk değer,son değer, artış miktarı Döngü girişi A=1,10,1 Yinelenen işlemler Döngü sonu Döngü değişkeni: Döngü yapısının tekrarının denetlenmesi amacı ile kullanılan değişkendir. Đlk değer: Döngü değişkeninin alacağı ilk değerdir. Son değer: Döngü değişkeninin alacağı son değerdir. Artış miktarı: Döngü Değişkeninin ilk değerden son değere kadar alacağı değerlerdeki artış miktarıdır. Artış miktarı belirtilmez ise bu değer bir (1) kabul edilir. Döngüler iki çeşittir; Artan Döngüler:Başlangıç değeri, bitiş değerinden küçüktür. Azalan Döngüler: Başlangıç değeri, bitiş değerinden büyüktür. Döngü değişkeni döngü dışına en son aldığı değeri bir artırarak çıkar. ÖRNEK: IF sayi<0 THEN PRINT “Sayı Negatif” ELSE PRINT “Sayı Sıfır ya da Pozitif” ÖRNEK: Girilen yaş değerine göre kişinin durumunu bulan programı yazınız. 0–5 BEBEK 6 – 14 ÇOCUK GENÇ 15 – 28 29 – 39 ORTA YAŞLI 40 ve ÜSTÜ ĐHTĐYAR Algoritma..; 1.Başla 2.Yaş Değerini gir 3.Eğer 0<=yas <= 5 ise Bebek 4.Eğer 5<=yas <= 14 ise Çocuk 5.Eğer 15<=yas <=28 ise Genç 6.Eğer 29<=yas <=39 ise Orta Yaşlı 7.Eğer 40>=yas ise Đhtiyar 8.Dur Program Kodu … ; Private Sub Command1_Click() Dim yas As Integer yas = Val(InputBox("Yaşı giriniz")) If yas <= 5 Then Print "Bebek" If yas > 5 And yas <= 14 Then Print "Çocuk" If yas > 15 And yas <= 30 Then Print "Genç" If yas > 30 And yas <= 45 Then Print "Orta Yaşlı" If yas >= 46 Then Print "Đhtiyar" End Sub 10 2. Kullanım: IF <Şart> THEN <Yapılacak Đşlemler> ELSE <Yapılacak Đşlemler> END IF Private Sub Command1_Click() Dim not1 As Integer not1 = Val(InputBox("Notu giriniz")) If not1 >= 50 Then Print "Geçti" End If If not1 < 50 Then Print "Kaldı" End If End Sub if Then yapısı tek satıra sığmıyorsa End If komutu ile sonlandırılmalıdır. IF FONKSĐYONU : Yapısı: IIF(Koşul,birinci ifade,ikinci ifade) Bir bakıma , IF deyiminin kısıtlı bir şeklidir. Yalnızca iki olasılığın söz konusu olduğu durumlarda IF deyimi yerine IIF fonksiyonu kullanılabilir. Private Sub Command1_Click() Dim ortalama as integer Sonuc as string ortalama=val(inputbox(“not ortalamasını giriniz”)) sonuc = IIf(ortalama >= 50, "Geçti", "Kaldı") Print sonuc End Sub SELECT CASE YAPISI Yapısı …….: Select Case ... End Select Değişkenin belirli değerlerine göre yapılacak farklı işlemlerin seçiminde kullanılır. Select Case değişken Case d1 ‘ Değişkenin d1 değeri aldığı durumlarda yapılacak işlemler Case d2 ‘ Değişkenin d2 değeri aldığı durumlarda yapılacak işlemler case d3 to d9 ‘ d3 ve d9 aralığındaki tüm değerler için yapılacak işlemler case is > d10 ‘ Değişkenin d10 dan daha büyük değerler aldığında yapılacak işlemler Case Else ‘ Değişkenin farklı değerler aldığı durumlarda yapılacak işlemler End Select Koşul sayısının 5 den fazla olduğu durumlarda bu yapıyı tercih etmek daha iyi olur. ÖRNEK: Girilen yaş değerine göre kişinin durumunu bulan programı Select Case yapısını kullanarak yazınız. Private Sub Command2_Click() yas = Val(InputBox("YAŞ DEĞERĐNĐ GĐRĐNĐZ=")) 11 Select Case yas Case 0 To 5: Print "BEBEK" Case 6 To 14: Print "ÇOCUK" Case 15 To 29: Print "GENÇ" Case 30 To 45: Print "ORTA YAŞLI" Case Else Print "ĐHTĐYAR" End Select End Sub 1’den 10 a kadar olan sayıların toplamını ve girilen 10 adet sayının toplamını bulan program akış şemaları BAŞLA BAŞLA Toplam= 0 I=1,10,1 Toplam =0 I=1,10,1 I.sayıyı gir: Toplam=Toplam+I Toplam=Toplam+Sayı I I Topla m Topla m DUR DUR Döngü yapılarını kullanırken dikkat edilmesi gereken kurallar: 1)Artan döngülerde döngü değişkeninin ilk değeri son değerinden küçük olmalı. Artan döngülerde ise tam tersi yapılmalıdır. 2)Artış miktarı pozitif veya negatif olabilir fakat negatif olması durumunda dikkat edilmelidir. 3)Artış miktarı belirtilmez ise bu değer 1 olarak kabul edilir. 4)Döngü yapısı belli kurallara bağlı kalınarak terk edilebilir. 5)Döngü değişkeninin değeri mecbur kalınmadıkça döngü yapısı içinde değiştirilmemelidir. 6)Đç içe döngülerde dikkat edilmelidir. ÖRNEKLER 1) 0’dan 100 e kadar olan tek sayıların toplamını bulan program. CLS TOP=0 FOR I=1 TO 100 STEP 2 TOP=TOP+1 NEXT I PRINT “TOPLAM=”; TOP END 12 2) Klavyeden girilen iki pozitif tamsayının çarpımını çarpma operatörü kullanılmadan bulan program. CLS CARP=0 S1= INPUTBOX( “1.SAYIYI GĐRĐNĐZ:”) S2= INPUTBOX( “2.SAYIYI GĐRĐNĐZ:”) FOR I= 1 TO S1 CARP=CARP+S1 NEXT I PRINT S1; ”*” ; S2 ; ”=” , CARP END KONTROL YAPILARI ÖZET Yapısal programlama dillerinde üç tür kontrol yapısı vardır. 1.Sıralı yapılar 2.Karar (Seçim) yapıları 3.Döngü (Tekrarlama) yapıları 1-Sıralı yapılar Örnek: Đki sayının toplamı 1. Topla=0 2. Input “iki sayı gir”,A,B 3. Topla= A+B 4. Prınt Topla 5. End 2-Karar yapıları 1. Tek seçim 2. Çift seçim 3. Çoklu seçim 2.1. Tek seçim(IF / THEN yapısı) Örnek: Sayı sıfırdan büyük ise girilen sayının karesini al INPUT sayı IF sayı >0 THEN kare=sayı^2 PRINT kare END 2.2. Çift seçim (IF / THEN....... ELSE yapısı) Örnek: Sayı sıfırdan küçükse sayının karesini al büyükse girilen sayının karekökünü al. INPUT sayı IF sayı >0 THEN kare=sayı^2 ELSE kare=sayı^(1/2) PRINT kare END 2.3. Çoklu seçim Selece Case kullanılır veya iç içe IF yapıları kullanılır. 13 IF / THEN YAPISI IF / THEN / ELSE H E Koşul E B=Y Đşlemler H A B SELECT CASE YAPISI (ÇOKLU SEÇĐM) E Koşul Đşlemler H E Koşul Đşlemler H E Koşul Đşlemler H DÖNGÜLER 1.Tekrar sayısı belli döngüler For Next Döngüsü CLS FOR i = 1 TO 10 PRINT “ EGEMYO ” NEXT i END işlemler Koşul E Örnek: Ekrana 10 defa “EGEMYO” yazan program işlemler H 14 2.Tekrar sayısı koşula bağlı olan döngüler sürece (koşul) devam et 2.1 While / Wend döngüsü yada Do While Loop : While /Wend döngüsü yerine daha hızlı çalışan Do While Loop döngüsü tercih edilir. Koşul işlemler 3- Örnek: CLS SAYI = val(inputbox (“bir sayı giriniz”)) Do While SAYI < > 0 KARE =SAYI^2 Loop PRINT KARE END DO - LOOP DÖNGÜSÜ 3.1-Do while(koşul) (Đşlemler) Loop 3.2-Do (Đşlemler) Loop while (Koşul) 3.3-Do until(Koşul) (Đşlemler) Loop 3.4-Do (Đşlemler) Loop until (Koşul) Do / Loop Until Do Until / Loop ĐŞLEMLER H KOŞUL H E KOŞUL E 15 ĐŞLEMLER Do While / Loop Do / Loop While E KOŞUL ĐŞLEMLER ĐŞLEMLER H E KOŞUL Cls T=0,S=0 Do While s < 101 S=s+1 T=t+s Exit do Ekran Çıktısı Loop 5050 Print t H A=5 Do A=a+1 Loop while a<3 Print a Đç içe for döngüleri Ekran Çıktısı 6 Örnek: Çarpım Tablosu For (döngü 1) (işlemler) For (döngü 2) (işlemler) For (döngü 3) (işlemler) next (döngü 3) next (döngü 2) next (döngü 1) For i=1 to10 For j=1 to 10 Sonuc=i*j Print i;”*”;j;”=”;sonuc Next j Sleep 2 ‘programı yavaşlatmak için Next i 16 DĐZĐLER Bir veya birden fazla verinin tek bir ad ile adlandırıldığı yapılara dizinli değişken (Dizi) adı verilir. Bir dizinin dizin olabilmesi için; 1- Aynı tür elemanlardan oluşmalıdır. 2- Bellekte yer kaplaması gerekir. Değişken adı ĐNDĐS (eleman sayısı) Đndislere isim verirken dikkat edilmesi gereken hususlar: 1-Đndisler negatif olamaz. 2-Đndisler tamsayı olmalıdır. 3-Đndis en az 1 olmalı. Boyut aç boy (100) as integer Eleman sayısı - indis Dim ( QBasıc/Visual Basıc ) Dizi tanımlama şekilleri : Dim boy(10) → 11 elemanlı Dim boy (1 to 10) → 10 elemanlı Dim boy(3 to 10) →8 elemanlı Option Base 1 Dim boy(10) 10 elemanlı Bu tür dizilere tek boyutlu dizi denir. Matematiksel olarak da vektör adı verilir. ÖRNEK-1: Günün haftanın kaçıncı günü olduğunu hesaplayan program. Private Sub Command2_Click() Dim gün(1 To 7) As String gün(1) = "Pazartesi" gün(2) = "Salı" gün(3) = "Çarşamba" gün(4) = "Perşembe" gün(5) = "Cuma" gün(6) = "Cumartesi" gün(7) = "Pazar" . . . . End Sub 17