c++ büyük küçük harf duyarlılığı / C++ Tutorial # Sabitler – C'leyruz

C++ Büyük Küçük Harf Duyarlılığı

c++ büyük küçük harf duyarlılığı

Sabitler (Constants)

Integer Numerals

Bunlar, tam sayı değerlerini tanımlayan sayısal sabitlerdir. Bunların tırnak işaretleri veya başka herhangi bir özel karaktere eklenmediğine dikkat edin; ondalık tabanda tam bir rakamı temsil eden basamakların basit bir ardıllığıdır; Örneğin, her zaman bin yedi yüz yetmiş altı değerini temsil eder.

Ondalık sayılara ek olarak (çoğumuz her gün kullandıklarımız), C ++, sekizlik sayıların (taban 8) ve on altılık sayıların (tabanı 16) literal sabitler olarak kullanılmasına izin verir. Oktal sayılar için basamaklardan önce 0 (sıfır) karakter kullanılır. Ve onaltılık olarak, karakterlerin önünde 0x (sıfır, x) bulunur. Örneğin, aşağıdaki değişmez sabitlerin tümü birbirine eşdeğerdir:

Bunların hepsi aynı numarayı temsil eder: sırasıyla 75 (yetmiş beş) tabanda 10 sayı, sekizlik rakam ve onaltılık sayı olarak ifade edilir.

Bu değişmez sabitlerin tıpkı değişkenleri gibi bir türü vardır. Varsayılan olarak, tamsayı harfler int tipindedir. Bununla birlikte, farklı bir tamsayı türü belirtmek için bir tamsayı harfine bazı son ekler eklenebilir:

Sonek (Suffix)Tür değiştirici (Type modifier)
or
or
or

Unsigned herhangi bir sırada diğer ikisinden herhangi biriyle birleştirilebilir  or .

Örnek:

Yukarıdaki tüm durumlarda, sonek küçük veya büyük harf kullanılarak belirtilebilir.

 

Yüzen Nokta Rakamları
Gerçek değerleri, basamaklar ve / veya üslerle ifade eder. Bir ondalık virgül, bir e karakteri (&#;e kadar X değeri&#; yazar, burada X, e karakterini takip eden bir tamsayıdır) ya da ondalık ve e karakterlerini içerebilirler:

Bunlar C++ ile ifade edilen ondalıklı dört geçerli sayıdır. İlk sayı PI, ikincisi Avogadro sayısı, üçüncü ünite bir elektronun elektrik yüküdür (çok az sayıdadır) ve bunların sonuncusu üçüncüsü, sayısal sayısal nokta.

Kayan nokta bilgiselleri için varsayılan tür double&#;dir. Float veya long double türünde kayan nokta noktalı virgüller, aşağıdaki soneklerden birini ekleyerek belirtilebilir:

SuffixType
or
or

Örnek:

Bir kayan noktalı sayısal sabitin (e, f, l) bir parçası olabilecek harflerin herhangi biri, anlam bakımından herhangi bir fark olmadan küçük veya büyük harfler kullanılarak yazılabilir.

Karakter ve dize değişmezleri
Karakter ve dize değişmezleri tırnak içine alınmıştır:

Ilk iki ifade tek karakterli literalleri temsil eder ve aşağıdaki iki karakter birden fazla karakterden oluşan dize literallerini temsil eder. Tek bir karakteri temsil etmek için tek tırnak işareti (&#;) arasına eklediğimizi ve bir dizgeyi (genellikle birden fazla karakterden oluşan) ifade etmek için dikkat çektiğimizde çift tırnak işaretleri (&#;) arasındaki karakterleri içine alıyoruz.

Tek karakterli ve dize tümcesi, olası değişken tanımlayıcılarından veya ayrılmış anahtar kelimelerden ayırt etmek için onları çevreleyen tırnak işaretleri gerektirir. Bu iki ifade arasındaki farka dikkat edin:


Burada, x tek başına bir değişkenin adı veya bileşik tür gibi bir tanımlayıcıya atıfta bulunurken &#;x&#; (tek tırnak işaretleri içine alınır) karakteri &#;x&#; karakterini (küçük harfli bir e-postayı temsil eden karakteri ).

Karakter ve dize değişmezleri, bir programın kaynak kodunda, aksi takdirde satırsonu karakteri (\ n) veya sekme (\ t) gibi ifade etmek zor veya imkansız olan özel karakterleri de temsil edebilir. Bu özel karakterlerin hepsi ters eğik çizgi karakteri (\) ile başlar.

Burada tek karakter kaçış kodlarının bir listesi var:

Escape codeDescription
yeni satır
satırbaşı
tab
vertical tab
sola doğru bir basamak sil (backspace)
form feed (page feed)
alarm (biip)
tek tırnak ()
çift tırnak ()
soru işareti()
backslash ()

Örnek:


Dahili olarak bilgisayarlar karakterleri sayısal kodlar olarak temsil eder: en genelde ASCII karakteri kodlama sisteminin bir uzantısını kullanır (daha fazla bilgi için ASCII koduna bakın). Karakterler ayrıca, ters eğik çizgi karakteri (\) yazan ve ardından sekizlik (taban-8) veya onaltılı (taban) sayı olarak ifade edilen kod yazarak sayısal kodunu kullanarak literallerde temsil edilebilir. Sekizlik bir değer için, ters eğik çizgi doğrudan doğruca rakamlarla izlenir; onaltılık olarak ise, ters eğik çizgi ile onaltılık basamaklar arasında kendilerine bir x karakteri eklenir (örneğin: \ x20 veya \ x4A).

Birden fazla dize değişmezleri sekmeleri, yeni satırları ve diğer geçerli boş karakterleri içeren bir veya daha fazla boşluk bırakarak tek bir dize sabiti oluşturmak üzere birleştirilebilir. Örneğin:

Yukarıdakiler için eşdeğer bir dize eşdeğerdir:

Tırnaklar içindeki boşlukların harflerin bir parçası olup, dışındaki olanlar boşlukların nasıl olduğunu unutmayın.

Bazı programcılar, ayrıca, uzun dize değişmezlerini birden çok satıra dahil etmek için bir hile kullanır: C ++&#;da satırın sonundaki bir ters eğik çizgi (\), bu satırı ve sonraki satırı tek bir satıra birleştiren bir satır devam karakteri olarak kabul edilir. Bu nedenle aşağıdaki kod:

eşdeğerdir:

Yukarıda açıklanan tüm karakter karakterleri ve karakter dizgeleri char karakterlerinden oluşur. Aşağıdaki öneklerden birini kullanarak farklı bir karakter türü belirtilebilir:

PrefixCharacter type

Tam sayı tamsayıları için tür soneklerinin aksine, bu öneklerin büyük / küçük harf duyarlı olduğunu unutmayın: char16_t için küçük, char32_t ve wchar_t için büyük.

Dize sabitleri için yukarıdaki u, U ve L haricinde iki ek önek bulunur:

PrefixDescription
The string literal is encoded in the executable using UTF-8
The string literal is a raw string

Ham dizelerde, ters eğik çizgi ve tek ve çift tırnak tüm geçerli karakterlerdir; dizenin içeriği, başlangıç R &#;dizisi (ve bir son) dizisi&#; ile sınırlandırılır; burada dizilim herhangi bir karakter dizisi (boş bir dizi de dahil olmak üzere) olur. Dizgenin içeriği, dizme dizisinin kendisini yoksayarak parantez içinde yatan şeydir. Örneğin:

Yukarıdaki her iki dize, &#;\\ ters eğik çizgiyle dizge&#; ye eşdeğerdir. R öneki, u, L veya u8 gibi başka öneklerle birleştirilebilir.

 

Diğer literatürler
C ++&#;da üç anahtar kelime değişmezi var: true, false ve nullptr:
true ve false, bool türündeki değişkenler için olası iki değerdir.
nullptr null işaretçi değeridir.

 

Yazılan sabit ifadeler
Bazen bir adın sabit bir değere getirilmesi uygundur:

Ardından, tanımlandıkları literallerin yerine bu isimleri kullanabiliriz:

 

Önişlemci tanımları (#define)
Sabit değerlerin adlandırılması için bir başka mekanizma, önişlemci tanımlarının kullanılmasıdır. Bunların biçimleri şu şekildedir:#define tanımlayıcı değiştirmeBu yönergeden sonra, kodda herhangi bir belirteç bulunması, değiştirme olarak yorumlanır; burada, değiştirme herhangi bir karakter dizisi (satır sonuna kadar) olur. Bu değiştirme, önişlemci tarafından gerçekleştirilir ve program derlenmeden önce gerçekleşir, böylece bir tür kör değiştirme neden olur: ilgili türlerin veya sözdiziminin geçerliliği herhangi bir şekilde kontrol edilmez.

Örneğin:

Not: #define satırları önişlemci yönergeleridir ve tek hatlı yönergelerdir &#; C ++ ifadelerinden farklı olarak &#; sonunda noktalı virgül (;) gerektirmez; direktif hattın sonuna kadar otomatik olarak uzanır. Satırda bir noktalı virgül bulunuyorsa, bu değiştirme sırasının parçasıdır ve değiştirilen tüm tekrarların içinde bulunur.

Sözdizimi

Bir dilin sözdizimi, çalıştırılabilir kod yazarken izlenmesi gereken kurallar kümesini tanımlar.

Büyük/küçük harf duyarlılığı

ActionScript , büyük/küçük harf duyarlı bir dildir. Yalnızca büyük/küçük harf durumu farklı olan tanımlayıcılar, farklı tanımlayıcılar olarak değerlendirilir. Örneğin, aşağıdaki kod iki farklı değişken oluşturur:

var num1:int; var Num1:int;

Nokta sözdizimi

Nokta operatörü ( ), bir nesnenin özelliklerine ve yöntemlerine erişme yolu sağlar. Nokta sözdizimini kullanıp sırayla örnek adı, nokta operatörü ve özellik veya yöntem adını kullanarak bir sınıf özelliğini ya da yöntemini ifade edebilirsiniz. Örneğin, şu sınıf tanımını göz önünde bulundurun:

class DotExample { public var prop1:String; public function method1():void {} }

Nokta sözdizimini kullanıp aşağıdaki kodda oluşturulan örnek adını kullanarak özelliğine ve yöntemine erişebilirsiniz:

var myDotEx:DotExample = new DotExample(); funduszeue.info1 = "hello"; funduszeue.info1();

Paketleri tanımlarken nokta sözdizimini kullanabilirsiniz. Yuvalanmış paketleri ifade etmek için nokta operatörünü kullanırsınız. Örneğin, EventDispatcher sınıfı, flash adındaki paket içinde yuvalanmış events adındaki bir pakette bulunur. Aşağıdaki ifadeyi kullanarak events paketini ifade edebilirsiniz:

funduszeue.info

Bu ifadeyi kullanarak da EventDispatcher sınıfını ifade edebilirsiniz:

funduszeue.infoispatcher

Eğik çizgi sözdizimi

Eğik çizgi sözdizimi ActionScript 'da desteklenmez. Eğik çizgi sözdizimi, bir film klibinin veya değişkenin yolunu belirtmek için önceki ActionScript sürümlerinde kullanılırdı.

Değişmez değerler

Değişmez değer , doğrudan kodunuzda görüntülenen bir değerdir. Aşağıdaki örneklerin tümü değişmezdir:

17 "hello" -3 null undefined true false

Değişmez değerler, bileşik değişmez değerler oluşturmak için de gruplandırılabilir. Dizi değişmezleri, köşeli ayraç karakterleri ( ) içine alınır ve dizi öğelerini ayırmak için virgül kullanır.

Dizi değişmezi, bir diziyi başlatmak için kullanılabilir. Aşağıdaki örnekler, dizi değişmezleri kullanılarak başlatılan iki diziyi gösterir. deyimini kullanabilir ve bileşik değişmezini parametre olarak Array sınıfı yapıcısına iletebilirsiniz, ancak ayrıca, değişmez değerlerini şu ActionScript çekirdek sınıflarının örneklerini başlatırken doğrudan da atayabilirsiniz: Object, Array, String, Number, int, uint, XML, XMLList ve Boolean.

// Use new statement. var myStrings:Array = new Array(["alpha", "beta", "gamma"]); var myNums:Array = new Array([1,2,3,5,8]); // Assign literal directly. var myStrings:Array = ["alpha", "beta", "gamma"]; var myNums:Array = [1,2,3,5,8];

Değişmez değerler, genel bir nesneyi başlatmak için de kullanılabilir. Genel bir nesne, Object sınıfının bir örneğidir. Nesne değişmezleri küme parantezi ( ) içine alınır ve nesne özelliklerini ayırmak için virgül kullanır. Her özellik, özellik adını özelliğin değerinden ayıran iki nokta karakteri ( ) ile bildirilir.

deyimini kullanarak genel bir nesne oluşturabilir ve nesne değişmezini parametre olarak Object sınıfı yapıcısına iletebilir veya nesne değişmezini, bildirdiğiniz örneğe doğrudan atayabilirsiniz. Aşağıdaki örnek, yeni bir genel nesne oluşturup her biri sırayla 1, 2 ve 3 değerlerine ayarlanmış üç özellikle ( , ve ) nesneyi başlatmanın iki alternatif yolunu gösterir:

// Use new statement and add properties. var myObject:Object = new Object(); funduszeue.info = 1; funduszeue.info = 2; funduszeue.info = 3; // Assign literal directly. var myObject:Object = {propA:1, propB:2, propC:3};

Noktalı virgüller

Bir deyimi sonlandırmak için noktalı virgül karakterini ( ) kullanabilirsiniz. Alternatif olarak, noktalı virgül karakterini çıkarırsanız, derleyici, her kod satırının tek bir deyimi temsil ettiğini varsayar. Programcıların çoğu deyim sonunu belirtmek için noktalı virgül kullanmaya alışkın olduğundan, deyimlerinizi sonlandırmak için sürekli olarak noktalı virgül kullanırsanız, kodunuzun okunması daha kolay olabilir.

Bir deyimi sonlandırmak için noktalı virgül kullanmanız, tek bir satıra birden çok deyim yerleştirmenize olanak sağlar ancak bu, kodunuzun okunmasını güçleştirebilir.

Parantezler

ActionScript 'da parantezleri ( ) üç şekilde kullanabilirsiniz. İlk olarak, bir ifadedeki işlemlerin sırasını değiştirmek için parantezleri kullanabilirsiniz. Parantezler içinde gruplandırılan işlemler her zaman önce çalıştırılır. Örneğin, aşağıdaki kodda işlemlerin sırasını değiştirmek için parantezler kullanılmıştır:

trace(2 + 3 * 4); // 14 trace((2 + 3) * 4); // 20

İkinci olarak, aşağıdaki örnekte olduğu gibi, bir ifadeler dizisini değerlendirmek ve son ifadenin sonucunu döndürmek için virgül operatörüyle ( ) birlikte parantezleri kullanabilirsiniz:

var a:int = 2; var b:int = 3; trace((a++, b++, a+b)); // 7

Üçüncü olarak, aşağıdaki örnekte gösterildiği gibi, işlevlere veya yöntemlere bir ya da daha fazla parametre iletmek için parantezleri kullanabilirsiniz, böylece işlevine bir String değeri iletilir:

trace("hello"); // hello

Yorumlar

ActionScript kodu, iki tür yorumu destekler: tek satırlı yorumlar ve çok satırlı yorumlar. Bu yorumlama mekanizması, C++ ve Java uygulamalarındaki yorumlama mekanizmalarına benzer. Derleyici, yorum olarak işaretlenen metni yoksayar.

Tek satırlı yorumlar, iki eğik çizgi karakteriyle ( ) başlar ve satırın sonuna kadar devam eder. Örneğin, aşağıdaki kodda tek satırlı bir yorum bulunmaktadır:

var someNumber:Number = 3; // a single line comment

Çok satırlı yorumlar, bir eğik çizgi ve yıldız işareti ( ) ile başlar ve bir yıldız işareti ve eğik çizgi ( ) ile sona erer.

/* This is multiline comment that can span more than one line of code. */

Anahtar sözcükler ve ayrılmış sözcükler

Ayrılmış sözcükler , ActionScript tarafından kullanılmak üzere ayrılmış olduğundan, kodunuzda tanımlayıcılar olarak kullanamadığınız sözcüklerdir. Ayrılmış sözcükler arasında, derleyici tarafından programdan kaldırılmayan sözlü anahtar sözcükler yer alır. Tanımlayıcı olarak sözlü bir anahtar sözcük kullanırsanız, derleyici bir hata bildirir. Aşağıdaki tabloda, ActionScript sözlü anahtar sözcükleri listelenmektedir.

as

break

case

catch

class

const

continue

default

delete

do

else

extends

false

finally

for

function

if

implements

import

in

instanceof

interface

internal

is

native

new

null

package

private

protected

public

return

super

switch

this

throw

to

true

try

typeof

use

var

void

while

with

Sözdizimi anahtar sözcükleri adı verilen, tanımlayıcı olarak kullanılabilen ancak belirli bağlamlarda özel anlamı olan küçük bir anahtar sözcükleri kümesi vardır. Aşağıdaki tabloda, ActionScript sözdizimi anahtar sözcükleri listelenmektedir.

each

get

set

namespace

include

dynamic

final

native

override

static

Ayrıca bazen gelecekteki ayrılmış sözcükler olarak ifade edilen birkaç tanımlayıcı da vardır. Bu tanımlayıcılardan bazıları, ActionScript içeren yazılımlar tarafından anahtar sözcük olarak değerlendirilebilse de, bunlar ActionScript tarafından ayrılmamıştır. Bu tanımlayıcıların çoğunu kodunuzda kullanabilirsiniz ancak bunlar sonraki dil sürümlerinde anahtar sözcük olarak görünebileceğinden, Adobe, bunları kullanmamanızı önerir.

abstract

boolean

byte

cast

char

debugger

double

enum

export

float

goto

intrinsic

long

prototype

short

synchronized

throws

to

transient

type

virtual

volatile

Sabitler

ActionScript , sabitler oluşturmak için kullanabildiğiniz deyimini destekler. Sabitler, değiştirilemeyen sabit bir değere sahip özelliklerdir. Bir sabite yalnızca bir defa değer atayabilirsiniz ve atamanın, sabitin bildirimine yakın bir yerde gerçekleşmesi gerekir. Örneğin, bir sabit bir sınıfın üyesi olarak bildirilirse, bu sabite yalnızca bildirimin parçası olarak veya sınıf yapıcısının içinde bir değer atayabilirsiniz.

Aşağıdaki kod iki sabit bildirir. Birinci sabit olan , bildirim deyiminin parçası olarak atanmış bir değere sahiptir. İkinci sabit olan , yapıcıda atanmış bir değere sahiptir. Katı mod bir sabitin değerinin yalnızca başlatma zamanında atanmasına olanak sağladığından, bu örneğin yalnızca standart modda derleme yaptığını unutmayın.

class A { public const MINIMUM:int = 0; public const MAXIMUM:int; public function A() { MAXIMUM = 10; } } var a:A = new A(); trace(funduszeue.infoM); // 0 trace(funduszeue.infoM); // 10

Bir sabite başka bir şekilde bir başlangıç değeri atamayı denerseniz bir hata oluşur. Örneğin, sınıfın dışında başlangıç değerini ayarlamaya çalışırsanız, bir çalışma zamanı hatası oluşur.

class A { public const MINIMUM:int = 0; public const MAXIMUM:int; } var a:A = new A(); a["MAXIMUM"] = 10; // run-time error

ActionScript , kullanmanız için çok çeşitli sabitleri tanımlar. Kural gereği, ActionScript'teki sabitlerin tümü, alt çizgi karakteri ( ) ile ayrılmış sözcüklerde büyük harf kullanır. Örneğin, MouseEvent sınıfı tanımı, her biri fare girdisiyle ilgili bir olayı temsil eden sabitleri için bu adlandırma kuralını kullanır:

package funduszeue.info { public class MouseEvent extends Event { public static const CLICK:String = "click"; public static const DOUBLE_CLICK:String = "doubleClick"; public static const MOUSE_DOWN:String = "mouseDown"; public static const MOUSE_MOVE:String = "mouseMove"; } }

C++ bilindiği gibi programlama dünyasında en çok ilgi gören C dilinden türemiştir. C++&#;ı klasik C dilinden farklı yapan yanı; Nesne Yönelimli Programlamayı da ( Object Oriented Programming) C&#;nin sözdizimi kurallarıyla birlikte desteklemesidir. Normalde C ile sadece yapısal programlama yaparken C++ dili ile hem yapısal hem de nesne yönelimli programlar yazabilirisiniz. C++ diline başlarken önce dilin C&#;den gelen ve temel olan özelliklerini öğrenmek gerekir. Örneğin, değişken tanımlama, atama ve diğer basit aritmektik işlemler, kontrol yapıları ve döngüler gibi.
Teknolojinin ulaştığı son noktadaki programlama dillerinden olan C ve C++, bir çok yeni ve güçlü özellikleri içerir. Derslerimiz devam ettikçe bunların teker teker içine gireceğiz. C dilinin özelliklerinin %80 i C++&#;da da mevcuttur (bu karşılaştırma şahsi görüşümdür). Zaten C++, C&#;nin üst gurubudur. Bunu şöyle sıralayabiliriz. C, C++ ve C# dır. 
C dilinin avantajları, az komut kümesinden oluşması ve bu komutların diğer yüksek seviyeli dillere nazaran daha hızlı çalışmasıdır. Ayrıca C deki kütüphaneler sayesinde fonksiyon tanımlamanıza gerek kalmadan işlemlerinizi yapmak mümkün olacaktır. Bu konuda çok detaya inmeden, programlamaya geçmek istiyorum. Çünkü, programlamaya başladığımızda her örnekten sonra o an kullandığımız programın içinde geçen fonksiyon, hata, değişken, belirleyiciler, kısıtlamalar, notasyonlar v.s gibi bilgilerden ara ara bahsedeceğim. Yalnız çok önemli olan bir konuya burada değinmek istiyorum. C nin avantajlarını programlamayla birlikte görmek güzel ama C nin dezavantajlarını programlamadan önce bilmeliyiz ki bunlardan sakınalım. Öncelikle Tanımlayıcılardan bahsetmek istiyorum. Her derleyici ve assmbley için değişkenleri, sabitleri, etiketleri ve fonksiyon adlarını tanımlama kuralları vardır. Bu notasyonlara, tanımlayıcı denir. C++ da tüm tanımlayıcılar a, . . . , z &#; A, . . . , Z harfleri ile ya da alt çizgi &#;_&#; ile başlar. Bundan sonra rakam, harf, ya da alt çizgi kullanılabilir. ANCI C uyumlu derleyiciler 31 karaktere kadar tanımlayıcı kabul ederler fakat tanımlayıcının ilk sekiz karakterini kullanmayı kendimize alışkanlık etmeliyiz. Dikkat etmemiz gereken özelliklerden biri de kullandığımız ifadelerdeki büyük küçük harflerdir. C ve C++ büyük ve küçük harf duyarlılığına sahiptir. Kullandığımız ifadeleri birbirinden farklı ve aynı ifade olarak kullanıyorsak programımız hata verecektir. Bunu bir örnekle anlatayım:
Program
PROGRAM
progRAM
ProgRam Bu şekilde tanımlarsak hepsi birbirinden farklı ifadeler olarak C++ da okunacaktır. Biz Şunu alışkanlık edinmeliyiz; tanımlayıcılarımızın baş harfi büyük olacak. Büyük ve küçük harf kombinasyonlarının kullanılması ile önceden yapılan tanımlamalar bazen işi zorlaştırabilir. Eğer bu değişkenlerden birini kullanmak isterseniz, bu zamana kadar nasıl tanımladığınızı bilmeniz gerekir. Örneğin printf()`in PRINTF() olarak çağrılması durumunda &#; bilinmeyen tanımlayıcı &#; (Unknown identifier) hata mesajı vererek sizi uyarır. Buna benzer olarak %f ve %F kullanımı hata verdirecektir. Programlamayı yaparken bunlara dikkat etmemiz gerekecek. Çünkü bir değişkeni veya tanımlayıcıyı başta nasıl kullandıysanız üç, dört sayfa kod yazdıktan sonrada aynı şekliyle kullanmak zorundasınızdır. İşte burada en büyük handikap yaşanacaktır. Çünkü C/C++ derleyicileri her zaman hatanın nerde olduğunu göstermez. Bunu programcı kendisi satır satır takip ederek bulacaktır. Bundan dolayı bu söylediklerime baştan dikkat etmemiz gerekiyor.
Tavsiyeler:

İyi bir programlama yapabilmek için benim size olan tavsiyelerim; daha az kod kullanarak daha çok işlem yapabilme. Gerçi bunu yapsak zaten profesyonel oluruz . Zaten C++ `ın paradigması da buradan geliyor. Aslında C++ da yapabileceğimiz tüm programları C de yapma olanağımız var ama bu bize hem fazla kod yazmayı gerektirecek hem de zaman kaybetmemize sebep olacak. Zaten bunlardan kaçındığımız için C++ diyoruz. Elimizde nesneye yönelik bir dil varken ve kullanacağımız fonksiyonlar içinde hazır olarak mevcutsa, tabi bize de bunun keyfini sürmek kalıyor. Tavsiyelerimden biride derslerde verdiğimiz örneklerin dışında aynı algoritmaya benzer farklı örnekler yapın. Öğrenmenin en iyi yolu yanlış yapmaktır. Bunu şöyle izah edeyim: eğer yanlış yapıyorsanız ve de o yanlışın kaynağını bulup düzeltebiliyorsanız, o an onu öğrenmişsiniz demektir. Tabi örnekler sizin için alıştırma olacaktır ve hafızanızda kalıcı bir yer tutacaktır. Bunca kodu başka türlü hafızada tutamayız. İlk başlarda sık sık not alınız, mümkün olduğunca da bol örnek yapınız. Örneklerinizi de kendiniz düşünüp kendi hayal gücünüzle oluşturursanız eminim bu işi başaracaksınızdır. Başta çok zor gelebilir ama başarı ter dökülmeden olmaz. Bu kısmı fazla uzatıp sizi daha başlamadan C/C++ dan uzaklaştırmak istemiyorum.

&#;lerin başında Bjarne Stroustroup tarafından geliştirilen C&#;yi kapsayan ve nesne yönelimli programlamaya olanak sağlayan sınıf tanımlarıyla ilerleten yaygın olarak kullanılan programlama dili. C++ (si-plas-plas okunur) genel amaçlı bir programlama dilidir. Çoklu paradigma, nesne yönelimlidir. İlk olarak C With Classes olarak adlandırılmış, daha sonra C&#;deki herhangi bir sayısal değişkenin değerini bir arttırmaya yarayan ve özellikle döngü yapılarında çok sık kullanılan &#;i++&#; ifadesine benzer biçimde C++ olarak adlandırılmıştır.

Genel olarak her C programı aynı zamanda bir C++ programıdır, ancak her C++ programı bir C programı değildir. Bu durumun bazı istisnaları mevcuttur.

C++&#;ı C&#;den ayıran ve C++&#;ın nesne yönelimli bir dil olmasına da olanak sağlayan en temel özellik, class&#;lardır. Sınıflar sayesinde yeni veri türleri yaratılabilir veya varolan türlerden yenileri türetilebilir. Ayrıca polimorfizm sayesinde bir sınıf tanımıyla yazılmış kod, o sınıf türünden türetilmiş yeni sınıflarla da çalışabilir.

C++ pek çok programlama dili kavramını kapsadığı için başlangıçta alışması zor bir dil gibi gelebilir. Tüm özelliklerini ve inceliklerini kavramak ve uzmanlaşmak ise çok uzun bir süreci gerektirir. Zorluğu görebilmek için aşağıdaki, C++ FAQ Lite&#;a bakabilirsiniz.

C++, operator overloading, default parameters, function overloading, single inheritance, polymorphism, multiple inheritance özelliklerine sahiptir.

Genel Özellikleri

Sınıflar

class yapısı sayesinde yeni türler tanımlanabilir. Class genel olarak struct&#;a çok benzer. C++&#;ta tek farkı, ön tanımlı olarak erişim tipinin private olmasıdır

Merhaba Dünya Programı:

#include <iostream>

int main()
{
std::cout << &#;Merhaba Dünya!&#; << std::endl;
}

En temel değişken türleri:

int : integer tam sayı tipi

double : virgüllü sayı tipi

float : bu da bi çeşit virgüllü sayı

char : character yani tek bir harf,sayi&#;

Veri Tipleri

Int Tip
Integer = Tamsayı
Tamsayıları içerir. Bellekte 2 Byte tutar.
5 , , gibi
Minimum    : 
Maksimum :   

Gerçel Tipler 
Gerçel sayıları içerirler.
float :
• Bellekte 4 Byte yer tutar. 
• Hassasiyet basamaktır. 
• E ile E+38 aralıgında deger alır.
double :
• Bellekte 8 Byte ter tutar. 
• Hassasiyet basamaktır. 
• E ile E aralıgında deger alır

Char Tipi
Alfanumerik karakterleri içerir.
•&#;5&#; , &#;*&#; , &#;K&#;

Değişkenlerin programın farklı bölümlerinde içerdikleri değer değişir.

Örnek olarak aşağıda farklı tiplerde tanımlanmış değişkenler görmektesiniz.

Örneğin bir a adında değişken tanımlamak istiyor olalım ve türü de tam sayi olsun. Bunu C dilinde aşağıdaki gibi gösteririz.

Sabitler ise bir kere tanimlayip da çok yerde kullanmak istediğimiz ve değerini 
değiştirmediğimiz değişkenlerimizdir.

Sabitlerimizi tanimladıktan sonra degerini değiştirmiyoruz.

NOT: Değişken ve sabitler kullanılmadan önce tanımlanmalıdır. Genelde programımızın başında tanımlarız ve varsa başlangıç değerini veririz. Hemen hemen tüm derleyiciler tanımlanmayan yada yanlış yerde tanımlanan değişken ve sabitleri hata olarak bize bildirirler.

Örnek program:

 Yukarıdaki programda yarıçapı girilen dairenin alanı hesaplanmaktadır.

Programada 2 değişken ve 1 sabit tanımladık.

ilk olarak scanf fonksiyonu ile klavyeden daire yarıçapı değerini aldık.

&#;alan&#; olarakı tanımladığımız değişkene dairenin alanını hesaplayan atamayı yaptık.

son olarak da alan değişkenimizi( dairenin alanını) ekrana yazdırdık.

5 değerini klavyeden biz girdik. Siz istediğiniz bir sayı girebilirsiniz. Böylece farklı sonuçlar elde edersiniz.

Daha önce C programla dilinde değişken ve sabitlerden bahsetmiştik.

Ek olarak da c dilinde string kullanımını gördük.

Bu dersimizde ise C programla dilinde dizi tanımlamalarını öğreneceğiz.

İleride kompleks programlar yazarken aynı tipte birden fazla değişken tanımlamak zorunda kalacağız.

Örneğin, programımızda, tane öğrencinin öğrenci numarasını tutmak zorunda kalabiliriz.

Bunu dizi kullanmadan ancak

şeklinde, tane int tipinde değişken tanımlayarak yapabiliriz. Bu da gördüğünüz gibi tane değişkeni ayrı ayrı tanımlayarak olmaktadır. Değişkenlerin çok sayıda olması işleri zorlaştırmaktadır. Örneğin tane öğrencisi olan bir okul olduğunu düşünürsek bu okula yazılacak program için tam tane değişken tanımlamamız gerekir.

Ama biz ayni tanımlamaya özdeş işi dizi kullanarak

şeklinde tek bir dizi değişken ile tek bir seferde de tanımlayabiliriz.

Öğrenmemiz gereken şey, ilk tanımlamada 3&#;üncü öğrencinin öğrenci no&#;suna &#;ogrenciNo3&#;  isimli değişken ile ulaşabiliyorduk. Peki, dizi şeklinde tek bir değişkenimiz olduğuna göre bu tek bir dizi değişken nasıl oluyor da tane ayrı ayrı değişkeni ifade edebiliyor.

 Bunun cevabı programlama dillerinin dizi tanımlamalarında index kullanmasıdır. Bunun anlama dizi değişkeninin adı bellekteki tane ardışık int tamsayının başlangıç adresini belirttiğidir. Değişken adından hemen sonra köşeli parantezler arasına index numarası girerek istenen index&#;teki değişkene erişilir. Örneğin;

Şeklinde erişimler gerçekleştirilir. Dizi kullanımında en çok karıştırılan ve en çok dikka etmemiz gereken c programlama dilinde dizi indeksinin 0&#;dan başlamasıdır. Yani

ataması ile birinci öğrencinin öğrenci numarası 1 olarak değiştirilmiştir. Bu bilgiyi (index&#;in 0&#; dan başlaması) kesinlikle unutmamalıyız. Çünkü böyle bir hata programımızın yanlış çalışmasına hatta bazı durumlarda programımızın çökmesine sebep olur. Mesela elemanlı bir dizi tanımladığımız halde

şeklinde bir atama yapmak istersek hata ile karşılaşırız.

Bu tarz ayrıntıları konuştuktan sonra karakteri, kayan noktalı sayı, çift duyarlı kayan noktalı sayı tiplerinde dizi değişken tanımlamayı görelim. Yapı ve kullanım olarak örneğimizdeki tamsayı tipindeki dizi değişken tanımlamasından hiçbir farkı bulunmamaktır. ÖR:

Yukarıda C programlama dilinde elemanlı bir karakter dizisi (STRING), elamanlı bir kayan noktalı sayı dizisi ve 10 elemanlı çift duyarlı kayan noktalı sayı dizisi tanımlaması yapılmıştır. Bu tanımlama diğer birçok programlama dilinde C&#;dekine benzer şekildedir.

C programalama dili kullanıcı ile interaktif olarak bilgi girişi ve çıkışına izin veren orta seviyeli bir dildir.

Bunun anlamı çalışma anında bazı değerleri ekrana veya yazıcıya yazdırabilir veya klavye gibi bir giriş aygıtından veri girerek bunu programımızda kullanabiliriz.

Bu işlemler bazı temel G/Ç fonksiyonları ile yapılır. Bu dersimizde bahsedeceğimiz fonksiyonlar

funduszeue.info  &#;  ekrana formatlı yazdırma fonksiyonu

funduszeue.info &#; ekrandan formatlı veri okuma fonksiyonu

printf

Bu fonksiyonun amacı ekrana yazı yazdırmaktır. Bunu

şeklinde formatsız olarak direk kod içerisinde string şeklinde veya

şeklinde formatlı olarak yazdırabiliriz. Formatlı yöntem sadece el ile girdiğimiz yazıları değil aynı zamanda tamsayı, karakter, float,double tipindeki değişkenlerimizin de ekrana yazdırılmasını sağlarlar.

 Printf fonksiyonunu daha iyi anlayabilmek için örnek program kodları yazalım ve çıktılarını inceleyelim.

Yukarıda 6 ve 7. satırlarda formatsız olarak printf fonksiyonu kullanılmış ve istenen yazılar ekrana yazdırılmıştır.

9 ve satırlarda formatlı yazılar yazdırılmıştır. Dikkat ederseniz printf fonksiyonu içerisindeki çift tırnaklar arasında yazdırılacak olan format %d, %f  şeklinde belirtilmiştir. Bunlara tip karakteri denir. Çalışma anında bu tip karakterleri çift tırnaklardan sonraki virgülden sonraki değişkenlerin değerlerini alarak ekrana yazdırılır. Böylece dinamik olarak ekrana birşeyler yazdırılır.

Satır 11 ise formatlı yazdırmaya bir örnek daha görüyoruz. Burada önemli olan tip karakterleri ile değişkenlerin yazımlarının sıralı olmasıdır.

Yararlı olması açısından aşağıdaki tabloyu inceleyiniz.

Tip KarakteriAnlamıTip
işaretli ondalık tamsayı formatı
Gerçel sayı (kayan noktalı) formatı
uzun işaretli ondalık tamsayı formatı
işaretsiz ondalık tamsayı formatı
karakter dizisi (string) formatı
işaretsiz uzun tamsayı formatı
tek bir tane karakter formatı

scanf

 Klavyeden formatlı veri girmemizi sağlar.

scanf fonksiyonu 2 kısımdan oluşur.

ilk kısmı çift tırnaklar arasına okunacak değerlerin formatlarının belirtirldiği kısımdır. Buraya tip karakterleri printf fonksiyonunda olduğu gibi yazılır. İkinci kısım ise okunan değerlerin hangi değişkenlere atanacağının belirtildiği kısımdır.

Aşağıdaki örnekte kullanımını inceleyelim.

Örneğimizde 6. ve 9. satırlardaki scanf fonksiyonları ile tamsayı tipinde değerler klavyeden giriliyor, sayi1 ve sayi2 değişkenlerine bu değerler atanıyor. En son da printf fonksiyonunda bu iki sayının toplama dinamik olarak gösteriliyor. Yani biz klavyeden farklı sayılar girersek toplamın sonucu da farklı olacaktır. Bu program klavyeden girilen 2 sayının toplam ını ekrana yazdıran program olmuş oldu.

Dikkat etmemiz gereken çok önemli ve çoğu zaman unutulan nokta değişken isimlerinden önce &#;&&#; (ampersand,adres) işaretini kullanmamız. Bunun anlamı klavyeden okunan değer değişkenin adresine atanacaktır. &#;&&#; işaretini unutursak scanf fonksiyonu doğru çalışmayacaktır.

Bu dersimde sizlere C programlama dilinin temeli olan fonksiyonları göstereceğim. Temeli dememin sebebi bir C programı ana fonksiyon olan &#;main&#; fonksiyonu ile başlar. &#;main&#; ana fonksiyonumuz içerisinden diğer fonksiyonları çalıştırarak istediğimiz işlemleri fonksiyonlara yaptırırız. Şunu unutmayınız ki en basitinden &#;printf&#; ile ekrana yazı yazdırmamızı sağlayan bu kod parçası bir fonksiyondur.

Fonksiyon kullanmanın asıl amacı programları daha anlaşılır küçük parçalara bölmektir. Bölünen bu parçalar ana fonksiyon içerisinde uygun yerlerde çağrılır. Daha sonra parçalar birleştirilerek tam program elde edilir. Böylece programımız daha basit ve düzenlenmesi oldukça kolay olur. Ana fonksiyon içerisinden fonksiyonlar çağırırsak, sadece kısacık ana programa bakarak fonksiyon isimlerinden programımızın neyi yerine getirdiğini anlayabiliriz.

Fonksiyon kullanmanın bir diğer güzel yanı ise bir çok yerde aynı kodu çalıştırmak istediğimizde kodları tekrar tekrar yazmak yerine tek bir fonksiyon şeklinde tanımlayıp gerekli yerlerde bu fonksiyonu çağırabilmemizdir.

Bir fonksiyon şu kalıpta oluşturulur.

Dönüş_Tipi FonksiyonAdi ( tip girişParametreleri )
{
&#;
//fonksiyon kodları
&#;
}

Bir fonksiyon iki yerde tanımlanabilir. Main fonksiyonundan önce yada main fonksiyonundan sonra. İkisi arasında tek fark main fonksiyonundan sonra yapılacak tanımlama için main fonksiyonundan önce fonksiyon bildirimi yapılmalıdır.

Bir fonksiyon bildirimi şu şekilde yapılır.

Dönüş_Tipi FonksiyonAdi ( tip girişParametreleri );

Şimdi bir örnek ile fonksiyonları daha iyi anlayalım. Örnek olarak 1&#;den n&#;e kadar olan tamsayıların toplamını bulan bir fonksiyon yazalım. Ana fonksiyonumuzdan n değerini klavyeden biz girelim. Kod:

Ekran Çıktısı:

Görüldüğü gibi 1&#;den n&#;e kadar olan sayiların toplamını bir fonksiyon olarak oluşturduk ve ana fonksiyonumuzda

nToplam(n);                         şeklinde çağırdık. (9. satıra bakın)

Bundan sonra aynı işlemi yapmak için sadece &#;nToplam(n);&#; şeklinde fonksiyonu çağırmak yetecektir. Biz her çağırdığımızda otomatik olarak 12 ile satırlar arasındaki fonksiyon kodları çalıştırılacaktır.

C programlama dilinde &#;while&#;, &#;do while&#; ve &#;for&#; olmak üzere 3 çeşit döngü vardır.

Döngü: belirli bir kod parçasının belirli bir koşul sağlandıkça veya belirli bir sayı kadar yinelenmesidir.

Örneğin 1&#;den 10&#;a kadar olan sayıları ekrana yazdırmak isteyelim.

Bu işlem için 10 kere printf fonksiyonunu ayrı ayrı çağırmak yerine while döngüsü içerisinde şu şekilde tanımlayabiliriz.

Önceki derslerimizde öğrendiğimiz gibi ilk başta int tipinde sayısal değer saklayacağımız bir değişken tanımlıyoruz.

while döngüsü örnek

Ekran Çıktısı:

While döngüsünün özelliği daha döngüye girilmeden while kelimesinden sonraki koşulun kontrol edimesidir. Eğer koşul doğru ise sürekli while döngüsünün içerisindeki (süslü parantezler {  }  arasındaki) kodlar çalıştırılacaktır.

Eğer koşul sağlanmazsa while döngüsünden çıkılır.

While döngüsü kullanacaksak döngüyü sonlandıracak olan şartı, bir şekilde while döngüsü içerisinde sağlatmalıyız. Aksi takdirde sonsuza kadar aynı kodlar çalıştırılır.

Örneğin yukarıdaki örneğimizde sonsuz döngüyü &#;sayi++;&#; komutu ile önledik.

for döngüsü örnek

For döngüsü de while döngüsü gibi, döngüye girilmeden koşulun kontrol edildiği diğer bir döngü türüdür. &#;for&#; döngüsü içerisine 3 parametre alarak çalıştırılır. Bunlar

  1. döngü sayacı için başlangıç değeri atama,
  2. koşul
  3. sayaç arttırım miktarı

Bu parametreler &#;for&#; kelimesinden sonra parantezler arasında noktalı virgül ( ; ; )&#;ler ile yazılır.

Bir for döngüsünün temel yapısı şöyledir.

for( başlangıç ; koşul ; artım ) { döngüdeki deyimler; }

Daha iyi anlamak için 1&#;den 10&#;a kadar olan sayıları for döngüsü ile yazdıralım. Kodumuz:

Ekran Çıktısı:

Çıktının while döngüsüyle oluşturduğumuz çıktının birebir aynısı olduğuna dikkat ediniz.

for döngüsünde sayaç&#;a ilk değeri verilir, ardından koşul kontrol edilir, koşul doğru ise kod çalıştırılır. Kod bitince sayaç attırılır ve tekrar koşul kontrol edilir. Yine doğruysa kod çalıştırılır.  Bu şekilde koşul sağlanmayana kadar devam edilir.

do while döngüsü

Bu döngünün diğer 2 döngü türünden farkı  koşula bakılmaksızın kodun bir kere çalıştırılmasıdır. Koşulumuz ne olursa olsun &#;do-while&#; döngü boyunca yapacağı işlemleri dönüye girmeden 1 kere yapar ve bundan sonra koşula bakarak devam eder. Kullanımı aşağıdaki gibidir. Yine 1&#;den 10&#;a kadar olan sayıları yazdıralım fakat bu sefer &#;do-while&#; döngüsü ile yapalım.

Ekran Çıktısı:

Çıktı yine for ve while döngüsünde olduğu gibi aynıdır. Sadece kullanımın farklı olduğuna dikkat ediniz.

İlk değer olan &#;1&#; direk ekrana yazılmış diğer değerşer {2,3,4&#;,9,10} ise 10&#;dan küçük yada eşit mi diye kontrol edilerek yazdırılmıştır

Özet olarak, fonksiyonların programımızı daha anlaşılır küçük parçalara bölünmesi ve tekrar kullanacağımız kodları bir kere tanımlayıp daha sonra istediğimiz her yerde çağırmamızı sağlayan yapıdır.

Eğer C programlama dilini öğrenmek ve C dilinde ilerlemek istiyorsanız, buradaki örneklerle yetinmeyip kendi fonksiyonlarınızı yazmaya çalışmalısınız. Örneğin siz de parametre olarak gelen 2 sayinin çarpımının 4 fazlasını geri döndüren bir fonksiyon yazın. Şimdiden iyi çalışmalar.

Kod yazarken programımızın mantığına göre yeri geldiğinde karşılaştırmalar yapmamız gerekir. Yani &#;eğer şu şöyle ise şunu yap&#; şeklinde bir koşul ile işlem yapmak isteriz.

Örneğin &#;yaşı 18&#;den küçük olan üyelerin kaydının silinmesi&#; gibi bir işlem için koşul deyimlerini kullanırız.

C programlama dilinin temel koşul cümleciklerinden bir tanesi &#;if-else&#; yapısıdır.

if-else yapısı programımızda tek bir koşulu denetlemek için kullanılır.

if kelimesinden sonra parantezler arasında koşulumuzu yazarız.

Kullanımı aşağıdaki gibidir.

Ekran Çıktısı:

Derleyici İf cümleciğine geldiğinde içindeki koşula bakar. Eğer koşul sağlanıyorsa yani doğruysa if den sonraki kodlar işletilir ve else kısmındaki kod yoksayılır.

Eğer koşul sağlanmıyorsa if&#;in içindeki kodlar atlanır ve else&#;in içindeki kodlar işletilir.

Bilinmesi gereken ya if&#;in içidenki yada else&#;in içindeki kodların çalıştırılacağıdır.

Ayrıca if&#;den sonra else kullanmak zorunlu değildir. Sadece

şeklinde sadece if cümleciği de kullanılabilinir.

if-else yapısının bir gelişmiş hali olan if-elseif-else yapısı da aşağıdaki gibidir.

Ekran Çıktısı:

switch koşul cümleciği

&#;if-else if-else&#; koşul cümlecikleri ile aynı işi yapar. Sadece kullanımı biraz farklıdır. Örnek

Örnekte de görüldüğü gibi switch koşul cümleciği if cümlesine benzer. Fakat if cümleciğinde  büyükse, küçükse, eşitse gibi koşulları kontrol edebiliyorken, switch cümleciğinde sadece case&#;lerdeki değerlere eşitse şeklinde koşullar denetleniyor.

Dikkat ederseniz herbir case&#;den sonra break; komutunu yazdım. Bunun anlamı case&#;in içindeki kodlar icra edildikten sonra switch cümleciğinden çıkılmak istenmesidir. Eğer break; komutu kullanılmazsa diğer case&#;ler de kontrol edilmeye devam edilir.

Ayrıca hiçbir koşul sağlanmazsa default: kısmındaki kodlar çalıştırılır. Bunu &#;if-else if-else&#; cümleciğindeki else olarak da düşünebilirsiniz.

nt, float, char, double tipindeki değişkenleri veri değerlerimizi tutmak için kullandığımızı biliyoruz.

Değişken tanımlama bizleri &#;bellek adresleri ile uğraşmaktan kurtarır&#; demiştim.

Fakat karmaşık programlar yazarken bazen bellek adreslerine de erişmek isteyebiliriz.

Standart değişkenlerimiz ile sadece değişkenlerin değerlerine erişebiliriz.

C programlama dilinde değişkenleri bellek adreslerine erişim pointers (işaretçiler) ile olur.

C dilinin değişken tanımlaması aşağıdaki gibidir.

Yukarıda kayan noktalı sayı tipinde ve sayi1 isminde bir pointer tanımlaması yaptıfunduszeue.info tanımlama ile değişkenimizin hem değerine hem de adresine ulaşabiliriz.

Tanımlama yapılırken kullanılan yıldız &#;*&#; işareti bu değişkenin bir pointer (işaretçi) olduğunu ve aynı zamanda bir bellek adresini de işaret ettiğini gösterir.

Bir pointer&#;ın adresine erişim pointer&#;in değişken ismi ile yapılır. (sadece değişken ismiyie, önündeki * işaretisiz). Örnegin;

Ekran Çıktısı:

Yukarıda iki işaretçi tanımladık ve bu işaretçilere başlangıç değerlerini verdik.

ilk değerlerini ekrana yazdırdık.

Daha sonra sayi1&#;nin adresini sayi2&#;ye atadık. Bu sayi sayi2&#;nin artık sayi1&#;in bellek adresini işaret ettiği anlamına gelir. Bir işaretçinin değeri işaret ettiği bellekteki değerdir. Bu durumda sayi2 artık sayi1&#;in değerini alır. Çünkü aynı bellek adresini işaret eden 2 değişken de, o adresteki değere sahiptir. Adres atamasından sonra değerlerinin aynı olduğunu görüyoruz.

Daha sonra sayi1&#;in değerini artırdık ve tekrar değerlerini ekrana yazdırdık.

sayi1 ile sayi2 nin değerlerinin aynı olduğuna dikkat ediniz. Çünkü iki pointer hala aynı bellek adresini işaret etmektedir.

Bunu beğen:

BeğenYükleniyor

İlgili

1 C# Dili Kuralları 1-C# büyük-küçük harf duyarlı bir dildir. Komutlar yazılırken büyük-küçük harf yazımına dikkat edilmelidir. Örnek: funduszeue.infoine( Merhaba Dünya ); 2-C# ta bloklar ile başlar ile biter. Bu parantezler sınırları belirtir. static void Main(string[] args) //burada başlıyor funduszeue.infoine("Merhaba Dünya"); //burada bitiyor 3-C# ta metinler (çift tırnak) arasında belirtilir. Sayılar ise çift tırnak kullanılmadan yazılır. 4-C# bazı komutlar ; ile biter. Bazı komutlar ise blokları ile birlikte kullanılır. Satır sonları bu ikisinden biri ile bitmelidir. GİRİŞ KOMUTU KLAVYEDEN GİRİLEN DEĞERLERİ ALMAK İÇİN KULLANILIR. ÖRNEK String a; a=funduszeue.infone(); Program bu komutun olduğu satıra geldiğinde durur ve klavyeden bir değer girilip enter tuşuna basılmasını funduszeue.info String a; kısmı giriş komutuna dahil değildir. DEĞİŞKENLER

2 Klavyeden girilen değerleri hafızada tutmak için kullanılır.şimdilik 4 çeşit değişken kullanacağız. String Metin türündeki veriler için kullanılır. int tam sayı türündeki veriler için kullanılır char tek karakteri hafızada tutmak için kullanılır Double Kesirli sayıları hafızada tutmak için kullanılıfunduszeue.info tamsayı bir kesirli sayıdır Değişkenlerin Tanımlanması-Kullanımı String a; int b; char c; Double d; Değişkenleri genel olarak aşağıdaki şekilde tanımlarız Değişken_Türü değişken_adı; Değişkene isim verirken aşağıdaki kurallara uyarak istediğiniz ismi verebilirsiniz 1-sayı ile başlayamaz(a1 olabilir,1a olamaz) 2-Türkçe karakter kullanılmaz(ç,ğ,ü,i,ı,ö,ş gibi) 3-alt çizgi dışında özel karakter kullanılamaz (sayi_1 olur, sayi?1 olamaz) Programlama Esnasında Matematiksel İşlemlerin Yapılması *Temel matematiksel işlemler(+,-,*,/) ilgili operatörler ile yapılır. Ek bir komuta ihtiyaç yoktur. *Matematiksel ifadeler daha önce anlatıldığı gibi aşağıdaki şekilde yazılmalıdır.

3 x + y y = 1 + x 3 Y=(x+y)/(1+x*x*x) *funduszeue.infone( ) ile kullanıcıdan sayısal değer alınırken, kullanılacak değişkenin türüne göre dönüşüm işlemi uygulanmalıdır. İnt değerler için int a; a=funduszeue.info32(funduszeue.infone()); a=a+3; funduszeue.infoine(a); Double değerler için Double a; a=funduszeue.info32(funduszeue.infone()); a=a+; funduszeue.infoine(a); Örnek: Kullanıcıdan alınan iki sayıyı toplayıp sonucu ekrana yazın. int sayi1, sayi2, s; funduszeue.infoine("1. sayıyı giriniz:"); sayi1 = funduszeue.info32(funduszeue.infone()); funduszeue.infoine("2. sayıyı giriniz:"); sayi2 = funduszeue.info32(funduszeue.infone()); s = sayi1 + sayi2; funduszeue.infoine("Sonuç="+s); Örnek: Kullanıcıdan alınan bir sayının karesini ve küpünü ekrana yazın. int x, k, kup; x = funduszeue.info32(funduszeue.infone()); k = x * x; kup = x * x * x;

4 funduszeue.infoine("kare=" + k); funduszeue.infoine("kup=" + kup); Örnek: Kullanıcıdan alınacak değerlere göre aşağıdaki formülü hesaplayıp sonucu ekrana yazacak programı yazınız. sonuc = x + y 2a Örnek: Kullanıcıdan alınacak değerlere göre aşağıdaki formülü hesaplayıp sonucu ekrana yazacak programı yazınız. 1 + x3 x = 2a x y x 2 Double x, y, a; x = funduszeue.infole(funduszeue.infone()); y = funduszeue.infole(funduszeue.infone()); a = funduszeue.infole(funduszeue.infone()); x = ((1 + x * x * x) / (2 * a)) * (y / (x * x)); funduszeue.infoine("sonuc="+x); Örnek:Kullanıcıdan alınan sayının 17 ile bölümünden kalanı ekrana yazın. int a, b; a = funduszeue.info32(funduszeue.infone()); b = a % 17; funduszeue.infoine("sonuç=" + b); Örnek: Kullanıcıdan 3 adet kelime alın ve bu kelimeleri tam tersi sırada ekrana yazdırın. String a, b, c;

5 a = funduszeue.infone(); b = funduszeue.infone(); c = funduszeue.infone(); funduszeue.infoine(c); funduszeue.infoine(b); funduszeue.infoine(a); C# KOŞUL İFADELERİ Veriler arasında eşitlik, küçük ve büyüklük sorgulamaları için koşul ifadeleri gereklidir. C# ta iki farklı koşul ifadesi bulunur. if else switch - case if(a= =b) switch(secenek) Koşul sağlanıyorsa çalışacak komutlar case 1: else secenek=1 ise burası çalışır break; Koşul sağlanmıyorsa çalışacak komutlar case 2: secenek=2 ise burası çalışır break; default: secenek 1 veya 2 değilse burası çalışır Örnek: kullanıcıdan bir sayı alın. Bu sayı çift ise ekrana çift sayı, bu sayı tek sayı ise ekrana tek sayı yazın. int sayi; funduszeue.infoine("Bir sayı giriniz:");

6 sayi = funduszeue.info32(funduszeue.infone()); if(sayi%2==0) funduszeue.infoine("Bu sayı çift"); else funduszeue.infoine("Bu sayı tek"); Örnek; Kullanıcıdan alınan parola bilgisi doğruysa giriş başarılı değilse giriş başarısız yazan programı yazın. String str; funduszeue.infoine("Parolayı Giriniz"); str = funduszeue.infone(); if(str=="omer") funduszeue.infoine("Giriş Başarılı"); else funduszeue.infoine("Giriş Başarısız"); Koşul İfadelerinde Bağlaçlar İki ya da daha çok koşulun aynı anda kullanılması için bağlaçlar ile bağlanması gerekir. İki tane bağlaç vardır. Ve(&&) Bağlacı İki koşulun aynı anda sağlanması gerektiği durumlarda ve bağlacı kullanılır. Veya( ) Bağlacı İki koşuldan birinin sağlanmasının yeterli olduğu durumda kullanılır.

7 Örnek: Kullanıcıdan kullanıcı adı ve parola bilgisi alınsın. Eğer bilgiler doğruysa ekrana giriş başarılı, değilse giriş başarısız yazılsın. String kadi, parola; funduszeue.infoine("Kullanıcı Adı:"); kadi = funduszeue.infone(); funduszeue.infoine("Parola:"); parola = funduszeue.infone(); if(kadi=="kedi"&&parola=="") funduszeue.infoine("Giriş Başarılı"); else funduszeue.infoine("Giriş Başarısız"); Örnek:Kullanıcıdan vize ve final notları alınsın. Bu vize ve final notlarının ortalaması hesaplansin. Eğer bu ortalama>=60 ise ekrana geçti değilse kaldı yazsın. Double vize, final, ortalama; funduszeue.infoine("Vize:"); vize = funduszeue.infole(funduszeue.infone()); funduszeue.infoine("Final:"); final = funduszeue.infole(funduszeue.infone()); ortalama = vize * final * ; if(ortalama>=60) funduszeue.infoine("Geçti"); else funduszeue.infoine("Kaldı");

8 İç İçe Koşullar Bir problemde birden fazla koşul varsa ve bu koşullar birbirine bağlıysa iç içe koşullar kullanılır. Örnek: Kullanıcıdan vize ve final notları alınsın. Bu vize ve final notlarının ortalaması hesaplansin. Eğer bu ortalama>=60 ise bu öğrencinin harf notu belirlensin ve ekrana harf notu yazılsın. Not CC,70 CB,75 BB,85 BA,90 AA Double vize, final, ortalama; funduszeue.infoine("Vize:"); vize = funduszeue.infole(funduszeue.infone()); funduszeue.infoine("Final:"); final = funduszeue.infole(funduszeue.infone()); ortalama = vize * final * ; funduszeue.infoine("Ortalama:" + ortalama); if (ortalama >= 60) if(ortalama>=60&&ortalama<70) funduszeue.infoine("CC"); if (ortalama >= 70 && ortalama < 75) funduszeue.infoine("CB"); if (ortalama >= 75 && ortalama < 85) funduszeue.infoine("BB"); if (ortalama >= 85 && ortalama < 90)

9 funduszeue.infoine("BA"); if (ortalama >= 90) funduszeue.infoine("AA"); //if(ortalama>=60) SWITCH-CASE İf-else den farkı büyüklük-küçüklük karşılaştırması yapamaz. Sadece eşitlik karşılaştırmalarında kullanılır. Örnek: seçime bağlı olarak toplama,çıkarma,çarpma ve bölme işlemlerini yapabileceğimiz bir hesap makinesi yazalım. int secim; Double sayi1, sayi2, sonuc=0; funduszeue.infoine("Sayı1:"); sayi1 = funduszeue.infole(funduszeue.infone()); funduszeue.infoine("Sayı2:"); sayi2 = funduszeue.infole(funduszeue.infone()); funduszeue.infoine("1. Toplama"); funduszeue.infoine("2. Çıkarma"); funduszeue.infoine("3. Çarpma"); funduszeue.infoine("4. Bölme"); secim = funduszeue.info32(funduszeue.infone()); switch(secim) case 1: sonuc = sayi1 + sayi2; break; case 2: sonuc = sayi1 - sayi2; break; case 3:

10 sonuc = sayi1 * sayi2; break; case 4: sonuc = sayi1 / sayi2; break; default: funduszeue.infoine("Yanlış seçim yaptınız"); break; funduszeue.infoine("Sonuç:" + sonuc); Örnek Sorular 1)Program içerisinde farklı değerler alabilen ifadelere ne ad verilir? a) Sabit b) Değişken c) Program d) Hiçbiri 2)Program içerisinde açıklama yapmak için hangi karakterler kullanılır? a) /* */ b) c) ( ) d) 3)Program içerisinde 1 satırlık açıklama için satır başına konulması gereken karakterler aşağıdakilerden hangisidir? a) ; b) // c) d) 4)c=a+b; kod satırının işlevi hangi satırda doğru verilmiştir? a) a ve b değişkenlerine ait değerlerin toplam sonucunu c değişkenine aktarır b) c değişkeninin değerini a ve b değişkenlerine aktarır c) a değişkeninin değerini c değişkenine aktarır ve b değişkeninin değeriyle toplar d) a ve b değişkenlerine ait değerlerin toplam sonucunu Label nesnesinde gösterir 5)m++; kod satırının işlevi hangi satırda doğru verilmiştir?

11 a) m değişkeninin değerini 1 artırır b) m değişkeninin değerini 2 artırır c) m değişkeninin değerini 1 azaltır d) Hata oluşur 11)Karşılaştırma işlemlerinde kullanılan eşittir operatörü aşağıdakilerden hangisidir? a) = b) <> c) = = d)!= 12)A=B; komut satırının anlamı nedir? a) A değişkeninin değerini B değişkenine aktarır. b) B değişkeninin değerini A değişkenine aktarır. c) A değişkeninin değeri B değişkeninin değerine eşit ise ekrana mesaj yazar d) Hata verir. 13)Karşılaştırma işlemlerinde kullanılan eşit değildir operatörü aşağıdakilerden hangisidir? a) = b) <> c) = = d)!= 15)b --; komut satırının anlamı nedir? a) b değişkeninin değerini 1 azaltır. b) b değişkeninin değerini 1 artırır. c) b değişkeninin değerini 2 azaltır. d) Hata verir c=c + 5; komut satırının anlamı nedir? a) c değişkenine 5 atar. b) c değişkenine 10 atar. c) c değişkeninin değerini 5 artırır d) c değişkeninin değerini 5 azaltır

12 Ve(AND) mantık operatörü için aşağıdakilerden hangisi kullanılır? a) & b) c)! d) # Veya(OR) mantık operatörü için aşağıdakilerden hangisi kullanılır? a) & b) c)! d) # Değil(NOT) mantık operatörü için aşağıdakilerden hangisi kullanılır? a) & b) c)! d) # 20)int a; komut satırı ne anlama gelir? a) a değişkenine sayısını atar b) a değişkenini integer tipinde tanımlar c) a değişkenini hafızadan siler d) Hata verir 21)Mod alma işlemi için kullanılan operatör aşağıdakilerden hangisidir? a) + b) # c) % d) * 22) int a=15; if(a<=10) a++; else a--; a nın son değeri ne olur? a)14 a)13 c)11 d)12 23) Double a=4,b=8,s; s=(2*a+3*b)/2; s nin son değeri ne olur? a)8 b)16 c)24 d)32 24) int a1,a2; a1=16; a2=8;

13 if(a1%a2==7) A1=0; A2=-1; else A1=a1/a2; A2=-3; A1 ve a2 nin son değeri ne olur? a) b) c)16 8 d) 25) String s1,s2,s3; S1= aaaaa ; S2= ; S3=s s2; S3 ün son değeri ne olur? a)33 b) aaaaa c) s s2 d)aaaaa ) Kullanıcıdan alınan x ve y sayısı ile aşağıdaki formülü işletip sonucu ekrana yazacak programı yazınız. F=2x 2 +4xy+5 int x, y, f; x = funduszeue.info32(funduszeue.infone()); y = funduszeue.info32(funduszeue.infone()); f = 2 * x * x + 4 * x * y + 5; funduszeue.infoine(f); 27)Kullanıcıdan s1 ve s2 olmak üzere 2 adet string alınsın. Eğer s1 in değeri Cengiz ise ve s2 nin değeri c ise ekrana, Giriş Başarılı değilse, Giriş Başarısız yazacak programı yazınız. String s1, s2;

14 s1 = funduszeue.infone(); s2 = funduszeue.infone(); if(s1=="cengiz"&&s2=="c") funduszeue.infoine("Giriş Başarılı"); else funduszeue.infoine("Giriş Başarısız"); 28) Aşağıdaki program arası çift sayıları teker teker ekrana yazmaktadır. Eksik olan kısımları doldurunuz. İnt i; funduszeue.infoine( 0 ); funduszeue.infoine( 2 ); funduszeue.infoine( 4 ); funduszeue.infoine( 6 ); funduszeue.infoine( 8 ); funduszeue.infoine( 10 ); 29) 1-) int a, b, c;

15 2-) a = funduszeue.info32(funduszeue.infone()); 3-) b = funduszeue.info32(funduszeue.infone()); 4-) c = funduszeue.info32(funduszeue.infone()); 5-) if(a>b) 6-) if(a>c) 7-) funduszeue.infoine("En büyük a"); 8-) else 9-) funduszeue.infoine("En büyük c"); ) else ) if(b>c) ) funduszeue.infoine("En büyük b"); ) else ) funduszeue.infoine("En büyük c"); 1-)Bu program ne iş yapıyor? Cevap: a b ve c den en büyük olanı ekrana yazıyor. 2-)1 numaralı satırda int yerine double yazılırsa ne değişir? Cevap: bişey değişmez. 3-)5. Satırda > yerine < kullanılırsa programda ne değişir? Cevap: en büyük sayıyı bulmaz. 4-)7. Satır şu şekilde değiştirilirse programda nasıl bir değişiklik meydana gelir? Değişiklik-> funduszeue.infoine( En büyük a +a);

16 ) C# tanımlanan int türündeki bir değişken hafızada 4 byte yer kaplar. Aşağıdaki programda int türündeki değişkenler hafızada kaç byte yer kaplar? İnt a,b; A=4; B=90; İf(b%a==0) İnt c; else İnt x,y; Cevap:a ve b değişkenleri her durumda tanımlı olacağından 8 byte yer kaplar. Koşula bağlı olarak b nin a ile bölümünden kalan yani 90 ın 4 ile bölümünden kalan 0 olmayacağından else kısmı işletilecektir. Else kısmında x ve y değişkenleri tanımlanacağından 8 byte da oradan gelir. Toplamda 16 byte yer kaplanır. DÖNGÜLER Aynı işin tekrar tekrar yapılacağı durumlarda kullanılır. 1-)For Döngüsü

17 Genel yapısı for(başlangıç değeri;döngüyü sonlandıracak koşul;artım miktarı) Tekrar tekrar işletilecek olan kodlar Örnek:Adınızı defa ekrana yazacak kodu yazınız. for(int i=0;i<;i++) funduszeue.infoine( Ahmet ); Örnek: Ekrana arasındaki çift sayıları yazınız. For(int i=0;i<;i=i+2) funduszeue.infoine(i); Örnek arasındaki sayıları hassasiyetle ekrana yazınız. for(double i=0;i<1;i=i+) funduszeue.infoine(i); Örnek: den 0 a kadar geriye doğru birer birer sayıları yazınız. for(int i=;i>=0;i--) funduszeue.infoine(i); Örnek den başlayıp 0 a kadar 3 e bölünerek işleyen bir döngü kurunuz. Döngü değişkenini ekrana yazınız. for(int i=;i>0;i=i/3)

18 funduszeue.infoine(i); Örnek: Döngü parametrelerinde hata yapılırsa ne olur? Aşağıdaki örnekte i değişkeni artması beklenirken azalmıştır. Bu durumda koşul hiçbir zaman sağlanmayacağı için döngü sonsuza kadar dönecektir. for(int i=0;i<;i--) funduszeue.infoine(i); Örnek: Sonsuz döngü;for döngüsüne hiç parametre yazılmadığı zaman sonsuz döngü oluşur. for(;;) ConsoleWriteLine( sonsuza kadar ); Örnek: Aşağıdaki matematiksel ifadeyi arasındaki her x değeri(birer birer) için hesaplayıp sonuçları ekrana yazacak programı yazınız. f= sayı) Double f,x; for(x=0;x<=;x++) Not: Karekök almak için funduszeue.info(karekökü alınacak fonksiyonunu kullanabilirsiniz

19 f=((-x)+funduszeue.info(x*x-4*x))/2*x; funduszeue.infoine(f); WHILE DÖNGÜSÜ Genel yapısı aşağıdaki gibidir While(koşul) Yapılacak olan işler. Örnek: çıkış kelimesi girilmediği sürece kullanıcıdan string türünde değer almaya devam eden programı yazınız. String s= ; While(s!= çıkış ) funduszeue.infoine( Bir kelime giriniz: ); s=funduszeue.infone( ); funduszeue.infoine( Programdan Çıkıldı ); Örnek arası sayıları ekrana yazacak programı yazınız. int i = 0; while(i<) funduszeue.infoine(i); i++; DO-WHILE DÖNGÜSÜ

20 Genel yapısı aşağıdaki gibidir do yapılacak olan işler while(koşul); Örnek: int secim,sayi1,sayi2; char c; do funduszeue.infoine( 1. Toplama ); funduszeue.infoine( 2. Çıkarma ); Secim=funduszeue.info32(funduszeue.infone()); Switch(secim) Case 1: funduszeue.infoine( 1. Sayıyı giriniz ); Sayi1=funduszeue.info32(funduszeue.infone()); funduszeue.infoine( 2. Sayıyı giriniz ); Sayi2=funduszeue.info32(funduszeue.infone()); funduszeue.infoine(sayi1+sayi2); Break; Case 2: funduszeue.infoine( 1. Sayıyı giriniz ); Sayi1=funduszeue.info32(funduszeue.infone()); funduszeue.infoine( 2. Sayıyı giriniz ); Sayi2=funduszeue.info32(funduszeue.infone()); funduszeue.infoine(sayi1-sayi2); Break; funduszeue.infoine( Çıkmak istiyor musunuz e/h? ); c=funduszeue.info(funduszeue.infone()); while(c!= e ); funduszeue.infoine( Programdan Çıkıldı );

21 Örnek: Rastgele belirlenmiş bir sayıyı tahmit etmemizi isteyen bir oyun tasarlayınız. Yapılan tahmin, sayıdan küçükse ARTTIR, sayıdan büyükse AZALT kelimeleri ile bizi yönlendirsin. Oyun, sayı tahmin edilinceye kadar sürsün. Sayı doğru tahmin edilince programdan çıkılsın. int tahmin, sayi; Random r = new Random(); sayi = funduszeue.info();// arası rastgele bir sayı üret funduszeue.infoine("Oyun Başladı Tahmin Etmeye Başlayabilirsiniz"); do funduszeue.infoine("Tahmin:"); tahmin = funduszeue.info32(funduszeue.infone()); if(tahmin<sayi) funduszeue.infoine("Arttır"); if (tahmin > sayi) funduszeue.infoine("Azalt"); while (tahmin!= sayi); funduszeue.infoine("Tebrikler Bildiniz"); Örnek: Bizim belirleyeceğimiz uzunlukta rastgele sayısal parola üretecek programı yazınız. int sayi; String parola = ""; funduszeue.infoine("Parola Uzunluğunu Giriniz"); sayi = funduszeue.info32(funduszeue.infone()); Random r = new Random(); for(int i=0;i< sayi;i++) parola = parola + funduszeue.info(10); funduszeue.infoine(parola); Fonksiyonlar Sık kullanılan kod parçalarının bir isim altında toplanarak komut gibi kullanılmasıdır. İki türü bulunur. Hazır fonksiyonlar Bu fonksiyonlar, programlama dili içerisinde daha önceden yazılmış kullanıma hazır fonksiyonlardır. Bizim yazdığımız fonksiyonlar Bu fonksiyonlar, ihtiyaç duyulduğunda programcı tarafından yazılıp kullanılan fonksiyonlardır.

22 Örnek: Kullanıcının girdiği kelimenin harflerini büyük harfe çevirip tekrar ekrana yazınız. String str; funduszeue.infoine("Bir metin giriniz"); str = funduszeue.infone(); str = funduszeue.infor();//toupper fonksiyonu stringin tamamını büyük harfe çevirir funduszeue.infoine(str); Not: String fonksiyonları, stringlerin sonuna. konularak listelenir ve oradan seçilip kullanılır. Örnek:Kullanıcıdan alınan bir metnin ilk 3 karakterini alıp ekrana yazınız. String str; funduszeue.infoine("Bir metin giriniz"); str = funduszeue.infone(); str = funduszeue.infoing(0, 3);//0. karakterden başla 3 adet karakter al funduszeue.infoine(str); Örnek:Kullanıcıdan alınan bir metnin son 3 karakterini alıp ekrana yazınız. String str; funduszeue.infoine("Bir metin giriniz"); str = funduszeue.infone(); str = funduszeue.infoing(funduszeue.info-3, 3);//sondan 3 öncesinden başla, 3 adet karakter al funduszeue.infoine(str); //Not: funduszeue.info stringin karakter sayısını verir Örnek:Kullanıcıdan alınan sayının karekökünü alıp sonucu ekrana yazınız. Double x,s; funduszeue.infoine("Bir sayı giriniz"); x =funduszeue.infole( funduszeue.infone()); s = funduszeue.info(x);//x değişkenindeki sayının karekökünü al s ye aktar funduszeue.infoine(s); //Matematiksel fonksiyonların hepsi Math kütüphanesi içerisindedir. Örnek:Kullanıcıdan alınan 2 sayıdan biri taban, biri üs olsun. Üs alma işlemini hesaplayıp sonucu ekrana yazınız. Double taban,us,sonuc; funduszeue.infoine("Taban"); taban =funduszeue.infole( funduszeue.infone()); funduszeue.infoine("Üs"); us = funduszeue.infole(funduszeue.infone()); sonuc = funduszeue.info(taban, us);//taban üzeri us işlemini yapıp sonucu sonuc değişkenine aktarır. funduszeue.infoine(sonuc); //Matematiksel fonksiyonların hepsi Math kütüphanesi içerisindedir.

23 Örnek:Kullanıcıdan alınan bir karakter sayısal ise ekrana sayı, alfabetik karakter ise alfabetik, her ikisi de değilse ekrana diğer yazınız. Char a; funduszeue.infoine("Karakter Giriniz"); a = funduszeue.info(funduszeue.infone()); if(funduszeue.infoer(a)==true)// a değişkenindeki karakter bir sayı mı? funduszeue.infoine("Bu bir sayıdır"); else if (funduszeue.infoer(a) == true)// a değişkenindeki karakter bir alfabetik karakter mi? funduszeue.infoine("Bu bir alfabetik karakterdir"); else funduszeue.infoine("diğer");//noktalama işareti alt çizgi eşittir vb. //Not: karakterler ile ilgili fonksiyonlar char kütüphanesi içindedir. Örnek: Kullanıcıdan alınan stringin ilk 3 karakteri ile son 3 karakterini birleştirip geri gönderen fonksiyonu yazınız. Ayrıca bu fonksiyonu kullanınız. static String ilk3son3(string gelen)//ilk3son3 isimli fonksiyon. gelen değişkeni ile dışarıdan parametre alıyor String ilk3, son3,birlesik; ilk3 = funduszeue.infoing(0, 5);//ilk 3 karakteri al son3 = funduszeue.infoing(funduszeue.info - 3, 3);//son 3 karakteri al birlesik = ilk3 + son3;//ilk3 ve son3 değişkenlerini birleştir return birlesik;//birlesik değişkenini fonksiyonu çağırana geri gönder. static void Main(string[] args) String str,sonuc; funduszeue.infoine("Bir Metin Giriniz"); str = funduszeue.infone(); sonuc = ilk3son3(str);//ilk3son3 fonksiyonuna str değişkenini gönder. Sonucu al. funduszeue.infoine(sonuc); Örnek:Kullanıcıdan alınan 2 sayı ile aşağıdaki işlemi yapıp sonucu geri gönderen fonksiyonu yazınız. F= static Double hesapla(double a,double b) Double sonuc; sonuc = (-a + funduszeue.info(a * a - 4 * a)) / (2 * b); return sonuc; static void Main(string[] args)

24 Double a, b,sonuc; funduszeue.infoine("Birinci Sayı"); a = funduszeue.infole(funduszeue.infone()); funduszeue.infoine("İkinci Sayı"); b = funduszeue.infole(funduszeue.infone()); sonuc = hesapla(a, b); funduszeue.infoine(sonuc);

nest...

çamaşır makinesi ses çıkarması topuz modelleri kapalı huawei hoparlör cızırtı hususi otomobil fiat doblo kurbağalıdere parkı ecele sitem melih gokcek jelibon 9 sınıf 2 dönem 2 yazılı almanca 150 rakı fiyatı 2020 parkour 2d en iyi uçlu kalem markası hangisi doğduğun gün ayın görüntüsü hey ram vasundhara das istanbul anadolu 20 icra dairesi iletişim silifke anamur otobüs grinin 50 tonu türkçe altyazılı bir peri masalı 6. bölüm izle sarayönü imsakiye hamile birinin ruyada bebek emzirdigini gormek eşkiya dünyaya hükümdar olmaz 29 bölüm atv emirgan sahili bordo bereli vs sat akbulut inşaat pendik satılık daire atlas park avm mağazalar bursa erenler hava durumu galleria avm kuaför bandırma edirne arası kaç km prof dr ali akyüz kimdir venom zehirli öfke türkçe dublaj izle 2018 indir a101 cafex kahve beyazlatıcı rize 3 asliye hukuk mahkemesi münazara hakkında bilgi 120 milyon doz diyanet mahrem açıklaması honda cr v modifiye aksesuarları ören örtur evleri iyi akşamlar elle abiye ayakkabı ekmek paparası nasıl yapılır tekirdağ çerkezköy 3 zırhlı tugay dört elle sarılmak anlamı sarayhan çiftehan otel bolu ocakbaşı iletişim kumaş ne ile yapışır başak kar maydonoz destesiyem mp3 indir eklips 3 in 1 fırça seti prof cüneyt özek istanbul kütahya yol güzergahı aski memnu soundtrack selçuk psikoloji taban puanları senfonilerle ilahiler adana mut otobüs gülben ergen hürrem rüyada sakız görmek diyanet pupui petek dinçöz mat ruj tenvin harfleri istanbul kocaeli haritası kolay starbucks kurabiyesi 10 sınıf polinom test pdf arçelik tezgah üstü su arıtma cihazı fiyatları şafi mezhebi cuma namazı nasıl kılınır ruhsal bozukluk için dua pvc iç kapı fiyatları işcep kartsız para çekme vga scart çevirici duyarsızlık sözleri samsung whatsapp konuşarak yazma palio şanzıman arızası