2006-2.Vize Sorusu Klavyeden girilen N adet sayıyı List1 nesnesinde gösteren ve bu sayıların toplamını ve ortalamasını Text1 ve Text2 nesnesinde yazdıran bir program yapınız.
Private Sub Command1_Click() Dim N As Integer, sayi As Integer Dim toplam As Integer, ortalama As Single N = InputBox("Toplam sayı adedi:") For i = 1 To N sayi = InputBox(i & ".sayı:") List1.AddItem sayi toplam = toplam + sayi Next i ortalama = toplam / N Text1.Text = toplam Text2.Text = ortalama End Sub
2006-2. Vize Sorusu “C:\SAHA\NOTLISTE 2006-2.Vize Sorusu “C:\SAHA\NOTLISTE.TXT” isimli dosyada sınıfta yer alan öğrencilerin numara, adsoyad ve sınavdan aldıkları not bilgileri yer almaktadır. a. Dosyadaki kayıt sayısını (Do While/Until-Loop döngü yapısı ve EOF fonksiyonu kullanarak) bulan, b. Sınav notu 50 ve üzerinde olan öğrencilerin isimlerini Form’a yazdıran programı oluşturunuz.
Dim Numara As String, Isim As String Dim Vizenot As Integer, i As Integer Open "C:\SAHA\NOTLISTE.TXT" For Input As #1 Do While Not EOF(1) ' veya Do Until EOF(1) Input #1, Numara, Isim, Vizenot N = N + 1 Loop Close #1 For i = 1 To N If Vizenot >= 50 Then Print Isim Next i
2006-2.Vize Sorusu f(x) = 5x2 + 2x - 2 fonksiyonunun, x = 1 ile x = 5 arasında yer alan değerlerini 0.1 artış adımıyla hesaplatan ve aşağıdaki işlemleri gerçekleştiren programı oluşturunuz. a) Programın başında x’in başlangıç değeri x1, bitiş değeri x2 ve nokta sayısı n ve artış adımı dx başta olmak üzere, x ve y dizileri tanımlanacak. b) Gerekli değişken atamaları yapıdıktan sonra, x ve fonksiyon değerleri x ve y dizilerine aktarılacak. c) x ve y dizilerinin değerleri, “grafik.txt” dosyasına yazdırılacak.
Dim x1 As Single, x2 As Single, dx As Single, n As Integer Dim x() As Single, y() As Single Private Sub Command1_Click() x1 = 1: x2 = 5: dx = 0.1 n = (x2 - x1) / dx + 1 ReDim x(n), y(n) i = 1 For xs = x1 To x2 Step dx x(i) = xs y(i) = 5 * xs ^ 2 + 2 * xs - 2 i = i + 1 Next xs Open "grafik.txt" For Output As #1 For i = 1 To n Print #1, x(i), y(i) Next i Close #1 End Sub
2006-2.Vize Sorusu: Aşağıdaki programın doğruluğu hakkında yorum yapınız. Option Explicit Private Sub Command1_Click() Dim i As Integer, a As String Open "c:\saha\liste.txt" For Output As #1 For i = 1 To 40 Input #1, a Print a Next i Close #1 End Sub
YANLIŞ Program "c:\saha\liste.txt“ dosyasında yer alan 40 kayıtlık bilgiyi okuyup Form’a yazdırmak için oluşturulmuştur. Dosya başlangıçta okuma amacıyla açılması gerekirdi. ‘Output’ yerine ‘Input’ olmalı. Program bu haliyle ‘Bad file mode’ hatası verir.
2005-1.Vize Sorusu: Aşağıdaki programın doğruluğu hakkında yorum yapınız. Sub Command1_Click ( ) n=20 For i=1 to n Open “c:\saha\deney.txt” For Input As #1 Input #1, a Print Sin(a) Next i Close #1 End Sub
Yanlış “deney.txt” isimli dosya döngü içerisinde açılmıtır. Dosyalar döngü içerisinde açılamazlar. “program çalıstıgında “File already opened” hatası belirir.
Open “c:\saha\veri.txt” For Input As #1 For i=1 to 100 Input #1, a,b Print a*b Next i Close #1 DOGRU MU? NEDEN? n=Val(Inputbox(“Eleman saysn giriniz”)) b=2*n+1 ReDim x(b) For i=0 To n Step 0.5 x(i)=3*i^2 Next i DOGRU MU? NEDEN?
Picture1.Scale (0,100)-(200,-100) For tet=0 to 360 tet1=tet*3.14/180 x1=2 x2=10 ReDim z(x1,x2) For i=1 to x1 For j=1 to x2 z(j, i)=Inputbox( i & “satır, ”& j & “sutun elemanını girin”) Next j Next i Picture1.Scale (0,100)-(200,-100) For tet=0 to 360 tet1=tet*3.14/180 x=60*Cos(3*tet1) y=60*Sin(3*tet1) Picture1.Pset (x,y) Next tet
SORU Aşağıda verilen programın çıktısı nedir? 1. Private Sub Command1_Click() Picture1.Scale (-100, 50)-(100, -50) Picture1.Line (-80, 40)-(80, -40), , B For x = -70 To 70 Step 20 For y = 35 To -35 Step -20 Picture1.Circle (x, y), 5 Next y, x End Sub 2. Private Sub Form_Load() Show Form1.Scale (-200, 200)-(200, -200) r = 100 pi = 3.14 Form1.Circle (0, 0), r For tet = 0 To pi Step pi / 4 x = r * Cos(tet) y = r * Sin(tet) Form1.Line (0, 0)-(x, y) Next tet
Aşağıdaki şekli çizecek programı yapınız.
Picture1.Scale (0, 400)-(400, 0) Picture1.DrawWidth = 5 pi = 3.14 Picture1.Line ( , )-( , ) Picture1.Circle( , ),……, ,...............,………….. Picture1.Circle( , ),……………
2005-1. Vize Sorusu: Aşağıdaki şekli oluşturacak programı tamamlayınız 2005-1.Vize Sorusu: Aşağıdaki şekli oluşturacak programı tamamlayınız. Şekli verilen numara sırasına göre oluşturunuz. Çizgi kalınlıkları 4 olarak ayarlanacaktr.
Sub Form_Load ( ) Show Form1.Scale (-300,300)-(300,-300) L = 200 pi = 3.14 Form1.DrawWidth=4 Form1. Line (0,0)-(L*Cos(0), L*Sin(0)) Form1. Line (0,0)-(L*Cos(pi/4), L*Sin(pi/4)) Form1. Line (0,0)-(L*Cos(pi/2), L*Sin(pi/2)) Form1. Line (0,0)-(L*Cos(3*pi/4), L*Sin(3*pi/4)) Form1. Line (0,0)-(L*Cos(pi), L*Sin(pi)) Form1. Line (0,0)-(L*Cos(5*pi/4), L*Sin(5*pi/4)) Form1. Line (0,0)-(L*Cos(3*pi/2), L*Sin(3*pi/2)) Form1. Line (0,0)-(L*Cos(7*pi/4), L*Sin(7*pi/4)) Form1. Circle (0,0),L, , 0, pi/4 Form1. Circle (0,0),L, , pi/2,3*pi/4 Form1. Circle (0,0),L, , pi, 5*pi/4 Form1. Circle (0,0),L, , 3*pi/2,7*pi/4 End Sub