-
iOS Eğitimlerine Başlarken...
-
Objective-C Dilinde Kütüphaneler
-
Objective-C'de Sınıf Arayüzü (Class Interface) Nasıl Tanımlanır?
-
Objective-C Dilinde Veri Tipleri, İşlem Operatörleri ve Çeşitli İfadeler
-
Objective-C Dilinde Veri Tipleri, İşlem Operatörleri ve Çeşitli İfadeler Giriş
-
Sabitlerden Oluşan İfadeler
-
int Türü İfadeler
-
float Türündeki İfadeler
-
Gösterge İfadeleri
-
Gösterge İfadeleri ve Değerleri
-
Operatörlerin Öncelikleri ve Birleşme Sıraları
-
İkili Aritmetiksel Operatörler
-
Aritmetiksel Atama Operatörleri
-
İlişkisel Operatörler
-
Mantıksal Operatörler
-
Bit Düzeyinde İşlem Gören Operatörler
-
Öteleme Operatörleri
-
Bit Düzeyinde Mantıksal Operatörler
-
Bit Düzeyinde İşlem İçin Bir Örnek: Sınav Değerlendirme Programı
-
Bit Düzeyinde Atama Operatörleri
-
Cast Operatörü
-
sizeof Operatörü ve Bir Örnek Program
-
Tekli Operatörler
-
Koşul Operatörü
-
Bellek Operatörleri
-
Objective-C Dilinde Veri Tipleri, İşlem Operatörleri ve Çeşitli İfadeler Giriş
-
Kontrol Yapıları
-
Döngü (Loop) Oluşturma
-
Miras Alma (Inheritance), Çok Biçimlilik
-
Ön İşlemci Komutları ve Makrolar
-
Ön İşlemci Komutları ve Makrolar Giriş
-
Basit Makro Tanımları
-
Objective-C Ön İşlemcisi
-
Makrolarda Argümanlar
-
Önceden Tanımlanmış Değerlere Referans Verme
-
Gerçek Parametrelerde Bir Dizi İfadenin Kullanılması
-
Makro Tanımlamada # ve ## Operatörleri
-
Makro Tanımın İptal Edilmesi: undef Komutu
-
Dosya İçeriklerini Programa Katma: include Komutu
-
Şarta Bağlı Derleme İşlemi: #if Komutu
-
#ifdef Komutu
-
#ifndef Komutu
-
#error ve #pragma Direktifleri
-
Ön İşlemci Komutları ve Makrolar Giriş
-
Diziler ve Sözlük Nesneleri
-
Diziler ve Sözlük Nesneleri Giriş
-
Bir Dizi Nesnesi Oluşturmak
-
Dizideki Eleman Sayısını Bulmak
-
Bir Dizi Nesnesinin Elemanlarına Erişme
-
Dizi Elemanlarına Hızlı Numaralama (Fast Enumeration) Yöntemi ile Erişmek
-
Dizi Nesnesine Eleman Eklemek
-
Dizi Nesnesinde Araya Eleman Ekleme
-
Dizi Nesnesinin Bazı Elemanlarını Silme
-
Dizi Nesnelerini Sıralama
-
Diziler ve Sözlük Nesneleri Giriş
-
Fonksiyonlar
-
Fonksiyonlar Giriş
-
Objective C Dilinde Bir Fonksiyonun Yapısı
-
Fonksiyonların Tanımlanması
-
Fonksiyonlarla İlişkili Terimler
-
return Deyimi
-
Fonksiyon Çağrıları ile İlgili Örnek C Programları
-
Fonksiyon Çağırma Teknikleri
-
Fonksiyonları Değer ile Çağırma
-
Fonksiyonları Referans ile Çağırma
-
İki Boyutlu Dizinin Argüman Olarak Gönderilmesi
-
C Dilinde Özyineli (Rekürsif) Fonksiyonlar
-
Fonksiyonlar Giriş
-
Dinamik Bağlama, id Veri Tipi
-
Bellek Sınıfları
-
Dosya İşlemleri
-
Nesne Yönelimli Programlama
-
Algoritmaya Giriş
ÖRNEK 1:
C(n,r)=n!/(r! (n-r)!) kombinasyon formülünün hesaplanacağı bir C programı yazalım.
n adet veri içinden r’li gruplar oluşturulmak istersek (grup içindeki sıralamanın önemi yoksa), bu tür grupların sayısını yukarıdaki kombinasyon formülüyle bulabiliriz.
KOMBİNASYON PROGRAMININ LİSTESİ:
float fakt(int);
#import <Foundation/Foundation.h>
int main(int argc,const char *argv[])
{
NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
float cnr;
int n,r;
NSLog(@"\nn=");
scanf("%i",&n);
NSLog(@"\nr=");
scanf("%i",&r);
cnr=fakt(n)/(fakt(r)*fakt(n-r));
NSLog(@"\nC(%i,%i)=%8.0f\n\n",n,r,cnr);
}
float fakt(int n)
{
float f;
int i;
f=1;
for(i=1; i<=n; i++)
f=f*i;
return f;
}
PROGRAMIN ÇIKTISI:
ÖRNEK 2:
ax2 + bx + c = 0 şeklinde verilen ikinci derece denkleminin kökleri hakkında bilgi veren bir C fonksiyonu geliştirelim.
Yukarıdaki biçimde verilen ikinci derece denklemde bildiğimiz gibi, köklerin varlığını anlayabilmek için denklemin diskriminantına bakmamız gerekir. Diskriminant;
Δ =b2-4ac
şeklinde tanımlanmıştır.
Burada,
- Δ<0 ise denklemin gerçel (reel) kökü yoktur.
- Δ=0 ise denklemin iki kökü birbirine eşittir. Bu duruma iki kat kök, çakışık kök veya katlı kök adı verilir. Kökler;
x1=x2=-b/(2a)
şeklinde hesaplanır.
- Eğer Δ>0 ise, bu durumda iki farklı gerçel kök mevcuttur ve bunlar;
X1=(-b-√Δ )/(2a) X2=(-b+√Δ )/(2a)
şeklinde hesaplanır.
İkinci Derece Denkleminin Kökleri Hakkında Bilgi Veren C Fonksiyonu ve Çağıran Programla Kullanılışı:
void denk_iki_derece(float a,float b,float c);
#include <math.h>
#import <Foundation/Foundation.h>
int main(int argc,const char *argv[])
{
NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
float x,y,z;
NSLog(@"\na KATSAYISI...");
scanf("%f",&x);
NSLog(@"\nb KATSAYISI...");
scanf("%f",&y);
NSLog(@"\nc KATSAYISI...");
scanf("%f",&z);
denk_iki_derece(x,y,z);
}
/*İKİNCİ DERECE DENKLEMİNİ ÇÖZEN C FONKSİYONU*/
void denk_iki_derece(float a,float b,float c)
{
float delta,kok1,kok2,g;
delta=b*b-4*a*c;
if(delta<0)
{
NSLog(@"\nDENKLEMIN GERCEK KOKU YOKTUR\n");
return;
}
else if(delta==0)
{
kok1=-b/(2*a);
NSLog(@"\nKOK1=KOK2=%8.3f\n\n",kok1);
return;
}
else
{
g=exp(0.5*log(delta));
kok1=(-b+g)/(2*a);
kok2=(-b-g)/(2*a);
NSLog(@"\nKOK1=%8.3f",kok1);
NSLog(@"\nKOK2=%8.3f\n\n",kok2);
}
}
ÖRNEK ÇIKTILAR:
x2 + x + 1 = 0 denkleminin çözümü:
x2 -5x + 6 = 0 denkleminin çözümü:
x2 -2x + 1 = 0 denkleminin çözümü: