Örnek Sorular evet hayır evet a sayısını verin b sayısını verin b

Transkript

Örnek Sorular evet hayır evet a sayısını verin b sayısını verin b
Örnek Sorular
Yandaki program çalıştırıldığında,
bilgisayarın kullanıcıya sorduğu sorulara
karşılık, kullanıcının sırasıyla
Örnek (2006 yılı vize sorusu)
Dim a,b as double
a = InputBox("Bir sayı verin")
Do
b = InputBox("Bir sayı verin")
If b = -99 Then
Exit Do
Else
Select Case b
Case is < a
a=b
End Select
End If
Loop
MsgBox a
(2, 3, 1, 4, -99, 8, 0, 7)
sayılarını bilgisayara verebileceğini
düşünerek, ekran görüntüsünün ne olacağını
bulunuz (10 puan).
Cevap: 1
Örnek (2006 yılı vize sorusu)
Yukarıdaki programın akış diyagramını çiziniz (15 puan).
a,b başlangıç
değerlerini 0 kabul et
a sayısını
verin
b sayısını
verin
evet
b=-99 ?
hayır
hayır
b< a ?
evet
a=b
a değerini
ekrana yaz
Gültekin Çağıl, Bilgisayar Programlama ders notları, Sakarya Üniv. Endüstri Mühendisliği/Hafta 9/Sayfa1
Örnek (2007 yılı vize sorusu)
Aşağıdaki program çalıştırıldığında ekran görüntüsü ne olur? (10 puan).
Dim fa as boolean
Dim c,d as byte
fa = not(false)
Do
For c = 4 To 6 step 2
MsgBox (c)
For d = 3 To 4
Exit For
MsgBox d
Next
Exit For
Next
Exit Do
MsgBox c
Loop Until fa
Cevap: 4
Örnek
Bilgisayara verilen n adet sayının en büyük değerini bulup sonucu ekrana yazan
programı yazınız.
Yardım: “Yazacağınız programa 1 adet sayı girdiğinizde en büyük sayı bu sayı olmalıdır”
mantığından hareketle bu programı yazabilirsiniz (aşağıdaki iki program bu mantık ile
yazılmıştır).
Yöntem1:
Dim enb As Double = -999999999999999
Dim n, w, sa As Double
n = InputBox("Kaç sayı gireceksiniz")
For w = 1 To n
sa = InputBox("Sayıyı verin")
If sa > enb Then
enb = sa
End If
Next
MsgBox("Verdiğiniz sayılardan en büyüğü=" & enb)
Yöntem2:
Dim enb, n, w, sa As Double
n = InputBox("Kaç sayı gireceksiniz")
enb = InputBox("Sayıyı verin")
For w = 2 To n
sa = InputBox("Sayıyı verin")
If sa > enb Then
enb = sa
End If
Next
MsgBox("Verdiğiniz sayılardan en büyüğü=" & enb)
Gültekin Çağıl, Bilgisayar Programlama ders notları, Sakarya Üniv. Endüstri Mühendisliği/Hafta 9/Sayfa2
Örnek
Bilgisayara verilen bir sayının çift olup olmadığını ekrana yazan programı yazınız.
Dim u As Double
u = InputBox("Bir sayı verin")
If u / 2 = u \ 2 Then
MsgBox("Verdiğiniz sayı çifttir")
Else
MsgBox("Verdiğiniz sayı çift değildir")
End If
Örnek
Bilgisayara verilen bir sayının, bir matris ile çarpım sonucunun (sonuç matrisinin) ekrana
yazdırılması programını yazınız.
Dim sa, su, carpan As Double
Dim i, j As Byte
sa = InputBox("Matrisin satır sayısını verin")
su = InputBox("Matrisin sütun sayısını verin")
Dim ilk_matris(sa, su), sonuc_matris(sa, su) As Double
carpan = InputBox("Matrisin çarpanını verin")
For i = 1 To sa
For j = 1 To su
ilk_matris(i, j) = InputBox("(" & i & "," & j & ")= değerini verin")
sonuc_matris(i, j) = carpan * ilk_matris(i, j)
Debug.Write(sonuc_matris(i, j) & " ")
Next
Debug.WriteLine("") 'matrisin diğer satırına geçmek için kullanıldı
Next
Farklı yöntem: Aynı program; verilerin alınması (matrisin alınması), matrisin verilen
çarpan ile işleme sokulması ve son olarak elde edilen matrisin ekrana yazdırılması
işlemlerinin ayrı ayrı yaptırılması
şeklinde düşünülebilir. Bu program, yukarıdaki
programdan daha uzun olacaktır, fakat sonuç olarak amaca uygundur.
Dim sa, su, carpan As Double
Dim i, j As Byte
sa = InputBox("Matrisin satır sayısını verin")
su = InputBox("Matrisin sütun sayısını verin")
Dim ilk_matris(sa, su), sonuc_matris(sa, su) As Double
carpan = InputBox("Matrisin çarpanını verin")
REM Verilerin alınması
For i = 1 To sa
For j = 1 To su
ilk_matris(i, j) = InputBox("(" & i & "," & j & ")= değerini verin")
Next
Next
REM Çarpma işleminin yaptırılması
For i = 1 To sa
For j = 1 To su
sonuc_matris(i, j) = carpan * ilk_matris(i, j)
Next
Next
Rem Sonuç matrisinin yazdırılması
Gültekin Çağıl, Bilgisayar Programlama ders notları, Sakarya Üniv. Endüstri Mühendisliği/Hafta 9/Sayfa3
For i = 1 To sa
For j = 1 To su
Debug.Write(sonuc_matris(i, j) & " ")
Next
Debug.WriteLine("") 'matrisin diğer satırına geçmek için kullanıldı
Next
Örnek
n adet sayının ortalamadan farklarının toplamı sıfırdır. Bu ifadeyi ispat edecek programı
yazınız.
Dim y, w, k, toplam As Double
Dim ortalama, sontop As Double
y = InputBox("Kaç sayı var")
Dim de(y) As Double
For k = 1 To y
de(k) = InputBox("Sayıyı verin")
toplam = toplam + de(k)
Next
ortalama = toplam / y
For w = 1 To y
sontop = sontop + (de(w) - ortalama)
Next
MsgBox("sonuç=" & sontop)
Örnek (2005 yılı vize sorusu)
65 öğrencisi olan bir sınıf için 30 sorunun sorulduğu bir imtihan yapılmıştır. Her
öğrenciye ait; ad, soyad ve doğru cevap sayısı bilgisayara girildiğinde, herhangi bir
öğrencinin harfli notunu aşağıdaki kriterlere göre bulup ekrana yazan programı yazın.
Not: 4 yanlış 1 doğru cevabı götürmektedir. Öğrencilerin bütün sorulara cevap
verdiklerini düşünerek programı yazın (15 puan).
Net cevap sayısı
25-30
20-24
15-19
10-14
1-9
Harfli Not
AA
BB
CC
DD
FF
Dim ad, soyad As String
Dim t, dogru_sayisi, yanlis_sayisi As Double
Dim net_sayisi As Double
For t = 1 To 1
ad = InputBox("Öğrencinin adını verin")
soyad = InputBox("Öğrencinin soyadını verin")
dogru_sayisi = InputBox("Öğrencinin doğru cevap sayısını verin")
yanlis_sayisi = 30 - dogru_sayisi
net_sayisi = dogru_sayisi - (yanlis_sayisi / 4)
MsgBox(net_sayisi)
Select Case net_sayisi
Case 25 To 30
MsgBox("Öğrencinin harfli notu: AA dır")
Case 20 To 24
Gültekin Çağıl, Bilgisayar Programlama ders notları, Sakarya Üniv. Endüstri Mühendisliği/Hafta 9/Sayfa4
MsgBox("Öğrencinin
Case 15 To 19
MsgBox("Öğrencinin
Case 10 To 14
MsgBox("Öğrencinin
Case 1 To 9
MsgBox("Öğrencinin
End Select
Next
harfli notu: BB dir")
harfli notu: CC dir")
harfli notu: DD dir")
harfli notu: FF dir")
Örnek
Tek kadranlı hesap makinesinin nesneler ile yazılması.
Aşağıda, programın amacına uygun bir form tasarımı gösterilmiştir. Tasarımda sadece üç
sayı (1,2 ve 3) ve iki işlem (toplama, çıkarma) gösterilmiştir. Eğer üç sayı ve iki işlem ile
istenen yapılabilirse, program dört işlem ve on sayıya kolayca çıkarılabilir.
İpucu1: Kadrandaki sayıların soldan sağa doğru yazılması gerektiğinden, sayıların
yazılacağı kadran’a (textbox1) bu özelliğin verilmesi gerekir. Bunun için tasarım
aşamasında textbox1 nesnesinin özelliklerinden TextAlign, Left durumundan Right
durumuna getirilmesi gerekir.
İpucu2: General Declerations bölümünde yapılan genel tanımlamalara dikkat edin, bu
tanımların diğer yordamlarda da geçerli olabilmesi için böyle yapılmıştır.
Public Class Form1
Dim arti_basildi As Boolean = False
Dim arti As Boolean = False
Dim eksi_basildi As Boolean = False
Dim eksi As Boolean = False
Dim kadran As Double
Gültekin Çağıl, Bilgisayar Programlama ders notları, Sakarya Üniv. Endüstri Mühendisliği/Hafta 9/Sayfa5
Private Sub Button1_Click()
If (arti_basildi = True) Or (eksi_basildi = True) Then
kadran = Val(TextBox1.Text)
TextBox1.Text = "1"
arti_basildi = False
eksi_basildi = False
Else
TextBox1.Text = TextBox1.Text & "1"
End If
End Sub
Private Sub Button2_Click()
If (arti_basildi = True) Or (eksi_basildi = True) Then
kadran = Val(TextBox1.Text)
TextBox1.Text = "2"
arti_basildi = False
eksi_basildi = False
Else
TextBox1.Text = TextBox1.Text & "2"
End If
End Sub
Private Sub Button3_Click()
If (arti_basildi = True) Or (eksi_basildi = True) Then
kadran = Val(TextBox1.Text)
TextBox1.Text = "3"
arti_basildi = False
eksi_basildi = False
Else
TextBox1.Text = TextBox1.Text & "3"
End If
End Sub
Private Sub Button4_Click()
arti_basildi = True
arti = True
End Sub
Private Sub Button5_Click()
eksi_basildi = True
eksi = True
End Sub
Private Sub Button6_Click()
If arti = True Then
TextBox1.Text = kadran + Val(TextBox1.Text)
arti = False
ElseIf eksi = True Then
TextBox1.Text = kadran - Val(TextBox1.Text)
eksi = False
End If
End Sub
End Class
Gültekin Çağıl, Bilgisayar Programlama ders notları, Sakarya Üniv. Endüstri Mühendisliği/Hafta 9/Sayfa6

Benzer belgeler