11/04/2005 B LG SAYAR PROGRAMLAMA DERS I. ARASINAVI
Ad Soyad: No:
S1.
Klavyeden veri giri i için a a daki pencereyi ekrana getirecek kodu yaz n z. (3 puan) Cevap:a=inputbox(“Ö*renci Ad ve Soyad/n/ Giriniz”, “Ö3RENC VER TABANI”)
S2.
A a daki programlar n Do ru veya Yanl olduklar n belirleyiniz. Yanl olanlar için sebep belirtiniz. (16 puan)Option Explicit Sub Form_Load ( ) Show
Dim a As Integer a=200
b=3.2 Print a*b^2 End Sub
Sub Form_Load( ) n=20
Dim x(n) As Double For i=1 To 20
x(i)= 2 * i + 5 Next i
End Sub
Sub Command1_Click ( ) x=Val(Text1.Text)
If x > 20 Then Print “S3cak”
Else
Print “So5uk”
Yanl . Option Explicit deyimi ile program içerisinde kullan lacak tüm de i kenler tan ml olmak zorundad r. Fakat programda kullan lan b isimli de i ken tan mlanmam t r.
Program çal t r ld nda “Variable not defined” hatas belirir.
Yanl . x isimli dizi n elemanl olacak ekilde aç lm t r.
Fakat x isimli dizinin eleman say s n isimli de i ken ile belirlendi i için tan mlama ReDim x(n) olarak yap lmal d r.
Do ru.
S3.
Visual Basic program arayüzünde nesneler Araç Kutusu (Toolbox) dan al narak forma eklenir. Nesnelerin özellikleri Özellikler (Properties) penceresinden de i tirilebilir. Menü tasar m için Menü Düzenleyicisi (Menü Editor) kullan l r. (3 puan)S4.
Visual Basic’de a a daki sabitleri atayabilece imiz en uygun de i ken tiplerini kar lar na yaz n z. (5 puan)S5.
A a daki ekli olu turacak program tamamlay n z. 4ekli verilen numara s ras na göre olu turunuz. Çizgi kal nl klar 4 olarak ayarlanacakt r. (15 puan)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
Visual Basic Program3 String
220 Integer
128598 Long
225.876 Single
11/04/2005 Date
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
Ayn3 sonucu elde edebilece5imiz farkl3 ifadeler de do5ru kabul edilecektir.
Yanl . “deney.txt” isimli dosya döngü içerisinde aç lm t r. Dosyalar döngü içerisinde aç lamazlar. “program çal t nda “File already opened”
hatas belirir.
S6.
A a daki i lemleri Visual Basic gösterimi ile yaz n z. (6 puan)a)
f *cos(g) ed c a b 1
X +
+
= + X=((1/a)+Sqr(b))/(c/(d+e))+Sqr(f)*Cos(g)
b)
e*d c b a
* 3
Q= + Q=Sqr(3*Sqr(a+b)-c*d/e)
c)
W= e 4*t *cos(3*t 1.2) W=Abs(Exp(-4*t)*Cos(3*t-1.2))S7.
A a daki i lemlerin sonuçlar n (A, B, C’yi) bulunuz (6 puan)a)
A = INT(5/4*(8-3))/2 3b)
B = (5 Mod 2) * CInt(8 / 3 + 12) 15c)
C = Abs(Cos(3.14)) * Sqr(16) 4S8.
A a da verilen program n ç kt s n yaz n z. (6 puan) Sub Command1_Click()For i = 8 to 1 Step -3 For j = 1 to 8 Step 3 Print i * j,
Next j
Next i
End Sub
S9.
Bilgisayarda “c:\saha\kayit.txt” yolu ile kay tl dosyada Bilgisayar Programlama Dersine ait 50 adet ö rencinin numara, ad soyad ve 1. vize not bilgileri bulunmaktad r. (15 puan)a)
Ö renci numara, ad soyad ve vize notu bilgilerini dizilere aktararak, bilgisayar programlama dersine ait 1. Vize not ortalamas n bulan program yaz n z.b)
1. Vize notu > (ortalama – 10) ko ulunu sa layan ö rencilerin say s n ekrana yazd ran program yaz n z.Open “C:\saha\kayit.txt” For Input As 1 Dim no(50), ad(50) As String
Dim vnot(50) As Integer Toplam=0
For i=1 To 50
Input #1, no(i), ad(i), vnot(i) Toplam=Toplam+vnot(i) Next i
ort=Toplam/50 sayac=0
Ekran Ç kt s
8 32 56
5 20 35
2 8 14
For i=1 To 50
If vnot(i) > (ort-10) Then sayac=sayac+1
End If Next i Print sayac
Not: Ayn/ iHlemi yapacak farkl/ programlarda do*ru kabul edilecektir.
S10.
A a da verilen program n ç kt s n yaz n z. (5 puan) Private Sub Form_Load()Dim a, c As String Show
a = "makina"
For i = 1 To Len(a) Step 2 c = Mid(a, i, 1) + c
Print c Next i End Sub
S11.
C diskinin, saha isimli klasörünün, “dosya11.txt” isimli dosyas nda geli igüzel s ralanm 100 adet tamsay bulunmaktad r. Bu tamsay lar n tek olanlar ndan yeni bir dizi olu turup, bu diziyi, ayn disk ve klasör içindeki, “dosya12.txt” isimli bir dosyaya yazd ran bir program olu turunuz. Ayr ca program içerisine, tek say lar n adetleri toplam n form üzerine yazd ran bir kod da ilave ediniz. (10 puan)Open “C:\saha\dosya11.txt” For Input As 1 Open “C:\saha\dosya12.txt” For Output As 2 Dim tek(100) as Long
sayac=0
For i=1 To 100 Input #1, sayi
If sayi Mod 2 >0 Then tek(sayac)=sayi sayac=sayac+1 End If
Next i
For i=1 To sayac Print #2, tek(i) Next i
Close 1,2
Print “Tek say lar n adedi=”;sayac
Ekran Ç kt s m
km nkm
S12.
y(x) = x2 + a*x fonksiyonunun 1 x 10 aral nda, a = 2 de eri için 20 adet örne ini hesaplayan bir program yaz n z. (10 puan)dx=(10-1)/19 ‘ 20 örnek için aral k 19’a bölünmelidir.
For x=1 To 10 Step dx yx= x^2+2*x
Next x
Not: Ayn/ iHlemi yapacak farkl/ programlarda do*ru kabul edilecektir.