Module: Alt programlar: prosedürler ve işlevler - 1


Problem

8 /11


Yerel ve Küresel Değişkenler

Theory Click to read/hide

Yerel ve genel değişkenler
Yalnızca alt programda kullanılacak olan ek değişkenlerin kullanılması genellikle gereklidir. Bu tür değişkenler yerel (veya yerel) olarak adlandırılır ve yalnızca oluşturuldukları alt program içinde değiştirilebilir.
 
Yerel değişken kapsamı, içinde bildirildiği süslü parantez içindeki bloktur.
C# dilindeki ana program aynı zamanda bir alt programdır, dolayısıyla void Main() içinde bildirilen tüm değişkenler yerel değişkenlerdir. Diğer alt programlar, diğer alt programların yerel değişkenleri hakkında hiçbir şey "bilmezler".

Böylece, bir değişkenin kapsamını (kapsamını) yalnızca gerçekten ihtiyaç duyulduğu alt programla sınırlandırmak mümkündür. Programlamada bu tekniğe kapsülleme  - değişkenin dışarıdan değiştirilmesini gizleme.

Programın herhangi bir yerinde (herhangi bir alt programda) görülebilecek bir değişkeni bildirmek gerekirse, bu tür değişkenler tüm alt programların dışında bildirilir (aşağıdaki tablodan program 3'e bakın).
Bu tür değişkenlere global denir.

C#'ta program başladığında, tüm global değişkenler otomatik olarak sıfıra ayarlanır (boolean değişkenler false değerini alır).

Üç programı analiz edin:

Problem

Taç yüksekliği n olan bir Noel ağacı veren bir n parametresi içeren bir prosedür yazın. Ana program, değerinin girişini içermelidir. n değişkeni ve prosedür çağrısı.< br />  
Örnekler
1) Bu programda i değişkeni yereldir. Yerel bir değişken, bir alt program içinde bildirilir. 2) Burada ana programda i değişkeni olsa bile (değeri 7 olan), değeri 5 olan yeni bir i yerel değişkeni oluşturulacaktır. 
Bu program çalıştırıldığında ekrana 75 değeri gelecektir.
3) Bu programın global bir i değişkeni vardır. Değeri, alt program içinde ve ana program içinde değiştirilebilir.
Prosedür i global değişkeni ile çalışacak ve ona 2'ye eşit yeni bir değer atanacak. 2 değeri görüntüleniyor.
statik boşluk testi () {   int ben = 5; Console.Write("i"); } statik boşluk testi () {   int ben = 5;   Console.Write("i"); } statik boşluk Ana() { int ben = 7;   Console.Write("i");   Ölçek(); } Sistemi kullanarak; sınıf Programı { int ben; statik boşluk testi () {   ben = 2; } statik boşluk Ana() { Ölçek(); Console.Write("i"); } }
# Girdi Çıktı
1 5
    Ö
   ooo
  ooo
 oooooooooo
ooooooooo