C#'ta tanımlayıcılar (değişken veya metot adları) rakamla başlayamaz; bir harf ya da alt çizgi (_) ile başlamalıdır. Bu nedenle 3topla geçersiz bir metot adıdır. Diğer tanımlar, dönüş türü ve parametre türleri farklı olan geçerli imzalardır.
Nesneye Yönelik Programlama Vize Deneme Sınavı -4
Kaynak: https://lolonolo.com/2022/08/11/nesneye-yonelik-programlama-vize-deneme-sinavi-4/
📖 Konu özeti (sınav öncesi tekrar)
Nesneye Yönelik Programlama Vize Deneme Sınavı -4
Nesneye Yönelik Programlama Vize Deneme Sınavı -4
C#'ta metot parametrelerinin her birinin türü açıkça yazılmalıdır. int topla(a, double b) tanımında a parametresinin türü belirtilmediği için bu tanım hatalıdır. Doğru yazım örneğin int topla(int a, double b) olmalıdır.
II – Yapı (struct) içinde tanımlanırlar.
III – Herhangi bir yerde tanımlanabilirler.
C# programalama dili için metot tanımları ile ilgili yukarda verilenlerden hangisi doğrudur?
C#'ta metotlar bir türün üyesi olarak sınıf (class) veya yapı (struct) içinde tanımlanır. Metotlar herhangi bir yerde, örneğin bir namespace içinde doğrudan, tek başına tanımlanamaz. Bu nedenle I ve II doğrudur.
II – Metotların dönüş türü void olabilir.
III – Metotların parametreleri mutlaka zorunlu olmalıdır.
C# programlama dilinde metot imzası ile ile ilgili yukarda verilenlerden hangisi doğrudur?
C#'ta metotlar parametre alabilir, bu yüzden I yanlıştır. III de yanlıştır, çünkü parametreler opsiyonel (varsayılan değerli) olabilir veya metot hiç parametre almayabilir. Değer döndürmeyen metotların dönüş türü void olarak yazılır, bu yüzden yalnız II doğrudur.
II – Metotlar zorunlu parametreler içerebilir.
III – Metotlar varsayılan parametreler içerebilir.
C# programlama dilinde metotlar ile ilgili verilen ifadelerden hangisi doğrudur?
Bir metot tanımlandıktan sonra istenildiği kadar çağrılabilir, bu yüzden I yanlıştır. Metotlar zorunlu parametreler içerebileceği gibi int x = 5 biçiminde varsayılan değerli (opsiyonel) parametreler de içerebilir. Bu nedenle II ve III doğrudur.
II – Opsiyonel parametreler için varsayılan değere ihtiyaç yoktur.
III – Opsiyonel parametreler, zorunlu parametrelerle birlikte kullanılamazlar.
C# programlama dilinde opsionel metot parametreleri ile ilgili verilen ifadelerden hangisi doğrudur?
C#'ta opsiyonel parametre, varsayılan değer verilerek tanımlanır (ör. void Yaz(string s, int adet = 1)). Varsayılan değer verilmeyen parametre zorunludur, bu yüzden I doğru, II yanlıştır. Opsiyonel parametreler zorunlu parametrelerle birlikte kullanılabilir, tek kural parametre listesinin sonunda yer almalarıdır; bu yüzden III de yanlıştır.
{
a+= 1;
return a;
}
….
int b = 10;
islemYap(ref b);
Yukardaki verilen fonksiyon çalıştırıldığında b değeri kaç olur?
ref anahtar kelimesi değişkeni referansla geçirir, yani metot içindeki a doğrudan b'nin kendisidir. a += 1 işlemi b'yi 10'dan 11'e çıkarır. Dönüş değeri kullanılmasa da b kalıcı olarak değişmiş olur, bu yüzden sonuç 11'dir. ref olmasaydı b 10 olarak kalırdı.
{
if (n <= 1)
return n;
return f(n-1) + f(n-2);
}
Yukardaki verilen fonksiyon çalıştırıldığında f(7) için çağrıldığında dönderdiği nihai değer kaç olur?
Bu fonksiyon Fibonacci dizisini özyinelemeli olarak hesaplar: f(0)=0 ve f(1)=1 temel durumlardır, sonraki her terim önceki iki terimin toplamıdır. Buna göre f(2)=1, f(3)=2, f(4)=3, f(5)=5, f(6)=8 ve f(7)=8+5=13 bulunur.
{
if(n ==0 || n == 1)
return 1;
return n * f(n-1);
}
Yukardaki verilen fonksiyon çalıştırıldığında f(4) için çağrıldığında dönderdiği nihai değer kaç olur?
Bu fonksiyon faktöriyeli özyinelemeli olarak hesaplar; n 0 veya 1 olduğunda 1 döndürür. Hesap şöyle ilerler: f(4) = 4·f(3) = 4·3·f(2) = 4·3·2·f(1) = 4·3·2·1 = 24.