Bilgisayar Programlama Vize Soruları
Transkript
Bilgisayar Programlama Vize Soruları
BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ PROGRAMLAMA DİLLERİ II 1. ARA SINAVI Sınav Tarihi: A.S. İlk Harfleri: No: 23 EKİM 2013, 09.00 / İmza: SORULAR 1. Aşağıda arayüzü ve c kodu verilen program için void deneme::goster( ){ ShowMessage(IntToStr(a)+""+IntToStr(b)+""+IntToStr(c)); verilen soruları yanıtlayınız. } deneme deneme(35,55),Test(125,458,8996); void __fastcall TForm1::Button1Click(TObject *Sender) { deneme.goster( ); } void __fastcall TForm1::Button2Click(TObject *Sender) { Test.goster( ); } class deneme{ private: int a,b,c; public: deneme(int A,int B,int C); void goster( ); void girisA(int A){a=A;}; void girisB(int B){b=B;}; void girisC(int C){c=C;}; deneme operator + (deneme); //1.b sorusu friend void degistir(deneme*,deneme*); //1.d sorusu void getir(int &x,int &y, int &z); //1.e sorusu }; deneme::deneme(int A=25,int B=18,int C=34){ a=A; b=B; c=C; } void __fastcall TForm1::Edit1Exit(TObject *Sender) { Test.girisA(StrToInt(Edit1->Text)); } void __fastcall TForm1::Edit2Exit(TObject *Sender) { Test.girisB(StrToInt(Edit2->Text)); } void __fastcall TForm1::Edit3Exit(TObject *Sender) { Test.girisC(StrToInt(Edit3->Text)); } 1.a. void girisA(intA), void girisB(intB), void girisC(intC) fonksiyonları yerine tek bir fonksiyon tanımlayarak, yeni fonksiyonun/işlevin kodunu yazınız. (10p) 1.b. deneme sınıfı içerisinde deneme operator + (deneme) işlev bildirimi verilen işleç fonksiyonunu yazınız. Bu fonksiyon deneme sınıfları içerisindeki private değişkenleri toplayarak sonucu yine bir deneme sınıfına göndermektedir. (20p) /* LÜTFEN SORU VE CEVAP KÂĞIDINA ADINIZIN VE SOYADINIZIN BAŞ HARFLERİNİ YAZINIZ. SINAV SÜRESİNCE DERSLE İLGİLİ TÜM NOTLAR SERBESTTİR. */ /* Sınav Süresi : 60 dk’dır. Başarılar U.Y. */ BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ PROGRAMLAMA DİLLERİ II 1. ARA SINAVI 1.c. Aşağıdaki durumlardaki ekran çıktılarını bulunuz. (20p) 1.d. deneme sınıfı içerisinde friend void degistir(deneme*,deneme*) olarak işlev bildirimi verilen arkadaş fonksiyonunu yazınız. Bu fonksiyon deneme sınıfları içerisindeki private değişkenleri karşılıklı olarak değiştirmektedir. Fonksiyonu void__fastcall TForm1::FormClick(TObject *Sender) içerisinde kullanımını gösteriniz. (25p) 1.e. deneme sınıfı içerisinde void getir(int &x,int &y, int &z) olarak işlev bildirimi verilen fonksiyonu yazınız. Bu fonksiyon deneme sınıfları içerisindeki private değişkenleri kendisine gönderilen parametre değerlerine atamaktadır. Fonksiyonu void __fastcall TForm1::Button1Click(TObject *Sender) içerisinde kullanarak, deneme isimli deneme sınıfı içerisindeki private değişkenleri Edit kutuları içerisine kopyalayınız. (25p) /* LÜTFEN SORU VE CEVAP KÂĞIDINA ADINIZIN VE SOYADINIZIN BAŞ HARFLERİNİ YAZINIZ. SINAV SÜRESİNCE DERSLE İLGİLİ TÜM NOTLAR SERBESTTİR. */ /* Sınav Süresi : 60 dk’dır. Başarılar U.Y. */