close

Enter

Log in using OpenID

4. Hafta Uygulama Dokümanı

embedDownload
BM102 BİLGİSAYAR PROGRAMLAMA II
LABORATUVAR UYGULAMALARI
4. Hafta
Ön bilgi:


1.
Özyineli fonksiyon tanımlanabilmeli.
Dizilerin fonksiyon parametresi veya geri dönüş değeri olarak kullanımı bilinmeli.
Klavyeden girilen sayı n olmak üzere [1..n] aralığındaki sayıların toplamı iki farklı
fonksiyon ile hesaplanmıştır. İnceleyiniz.
static void Main()
{
Console.Write("Type a positif number: ");
int value = Convert.ToInt32(Console.ReadLine());
int sumRegular = SumRegular(value);
int sumRecursive = SumRecursive(value);
}
static int SumRecursive(int val)
{
if (val == 0)
return 0;
return val + SumRecursive(val - 1);
}
static int SumRegular(int val)
{
int sum = 0;
for (int i = 1; i <= val; i++)
{
sum += i;
}
return sum;
}
2.
Aşağıda dizilerin fonksiyona parametre olarak gönderilmesi ve fonksiyonların geri
dönüş değeri olarak atanmasına yönelik bir örnek bulunmaktadır. İnceleyiniz.
static void Main()
{
int[,] myArray = GetArrayItems(2, 3);
PrintArrayItems(myArray);
}
static int[,] GetArrayItems(int row, int column)
{
int[,] myArray = new int[row, column];
for (int i = 0; i < row; i++)
{
for (int j = 0; j < column; j++)
{
myArray[i, j] = Convert.ToInt32(Console.ReadLine());
}
}
return myArray;
}
BM102 BİLGİSAYAR PROGRAMLAMA II
LABORATUVAR UYGULAMALARI
4. Hafta
static void PrintArrayItems(int[,] arr)
{
int row = arr.GetLength(0);
int column = arr.GetLength(1);
for (int i = 0; i < row; i++)
{
for (int j = 0; j < column; j++)
{
Console.WriteLine(i.ToString() + ":" + j.ToString() + " = " +
arr[i, j].ToString());
}
}
}
3.
Klavyeden girilen  tipinde bir değeri klavyeden girilen bir karaktere göre ayrıştıran
program kodunu yazınız.  ismindeki hazır fonksiyonu kullanmayınız.
Beklenen Fonksiyonlar ve Main Fonksiyon
static string[] Split(string text, char splitter)
static void PrintArrayItems(string[] arr)
static void Main(string[] args)
{
Console.Write("Type a text: ");
string tex = Console.ReadLine();
Console.Write("\nType a character as splitter: ");
char splitter = Convert.ToChar(Console.ReadLine());
string[] words = Split(tex, splitter);
PrintArrayItems(words);
}
Beklenen ekran çıktısı (boşluk karakterine göre ayrıştırılmış metin)
4.
Fibonacci serisini özyineli fonksiyonla uygulayınız. Oluşan seriyi  bir diziye atıp ekrana
yazdırınız.
 = −1 + −2
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …
BM102 BİLGİSAYAR PROGRAMLAMA II
LABORATUVAR UYGULAMALARI
4. Hafta
5.
Klavyeden girilen x ve y değerleri için aşağıdaki f(x,y) fonksiyonu sonucunu veren program
kodunu fonksiyon overload işlemi ile yazınız. Fonksiyonlardan dönen değerler ve parametre
türlerine aşağıda yer verilmiştir.
()( +  ) → ğ     ğş 
(, , ) = {() | − | → ğ      ğş  }
()(/) → ğ     ğş 
Overload: Aynı imzaya sahip ancak aldıkları parametrelerin türleri ve/veya geri döndürdüğü
değerin tipi farklılık gösteren fonksiyonlardır. Aşağıdaki kod bloğunda  fonksiyonu üç kere
overload edilmiştir.
static int f(int x, int y)
{
}
static double f(double x, int y)
{
}
static double f(double x, double y)
{
}
6.
Koordinat düzleminde  noktası (, ) olarak ifade edilmektedir. Kullanıcı tarafından girilen n
adet noktanın orijine olan uzaklıklarını hesaplayıp orijine en yakın olan noktadan en uzak olana
sıralama yapıp, noktaları bu sıra ile ekrana yazdıran program kodunu C# programlama dili ile
yazınız.
K ve L iki nokta olmak üzere bu iki nokta arasındaki uzaklık formülü aşağıdadır.
2
|| = √( −  )2 + ( −  )2
7.
Klavyeden girilen bir tamsayının karesini hesaplayan, aynı imzaya sahip fakat parametre tipi
sırasıyla integer, double ve string olan 3 farklı fonksiyonu yazarak sonuçları ekranda gösteriniz.
8.
Klavyeden girilen bir sayı için 1'den o sayıya kadarki sayıların üstlerini alarak toplamlarını veren
konsol uygulamasını özyineli bir şekilde yazınız.
9.
Taban alanı ve yükseklik bilgisi klavyeden girilen bir silindirin hacmini, aynı imzaya sahip ancak
parametre tipi bir fonksiyon için integer diğer fonksiyon için double olan fonksiyon ile bulunuz.
Author
Document
Category
Uncategorized
Views
1
File Size
369 KB
Tags
1/--pages
Report inappropriate content