Sayfalar

6 Ağustos 2013 Salı

Objective-C İle Asal Sayı Uygulaması

Belirlediğimiz bir aralıktaki asal sayıları bulan bir uygulama yapacağız.
Öncelikle XCode'u açıp yeni bir proje oluşturuyoruz.
Uygulamayı açtıktan sonra XCode'un görüntüsü aşağıdaki gibidir.

Sol kısımda gördünüz bölüm kodlama yapacağımız kısımlar.Bu uygulamada AppDelegate.h ve AppDelegate.m kısımlarında değişiklik yapmayacağız.
MainStoryboard.storyboard projenin görünümünü içerir.Görüntü kısmına sağ köşede gördüğünüz objeleri sürükleyip bırakarak kullanabilirsiniz.Biz bu uygulamada kullanmıcağız çünkü kod içerisinde UILabel oluşturacağız.
ViewController.h ve ViewController.m kısımlarında kodlama yapacağız.ViewController.h uygulamanın interface kısmıdır.Metodları,değişkenleri interface kısmında kodladıktan sonra ViewController.m'de bunları kullanabiliriz.
ViewController.m
//
//  ViewController.m
//  AsalSayı
//
//  Created by mac on 7/16/13.
//  Copyright (c) 2013 mac. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

@synthesize sonuc;
  

- (void)viewDidLoad
{
    [super viewDidLoad];
           
    [self asalSayiBul:nil];      //asalsayiBul metodunu çağırdım.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
-(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{
    return (interfaceOrientation!=UIInterfaceOrientationPortraitUpsideDown);
}

-(IBAction)asalSayiBul:(id)sender{
    NSMutableArray * hilalinArrayi = [[NSMutableArray alloc] init];            //array tanımlaması

    int sinir = 1000;
    int i;
    for (i = 2; i <= sinir; ++i) {       //asal sayıları bulup arraye atıyoruz.
        int j = 0;
       
        for (j = 2; j < i; ++j) {
            if (i % j == 0) {
                break;
            }
        }
       
        if (j == i) {
            [hilalinArrayi addObject:[NSNumber numberWithInt:i ]];
        }
    }
    NSLog(@"%@",hilalinArrayi);          //Consola yazı yazmamızı sağlıyo.
   
    for (int a = 0; a<hilalinArrayi.count; a++) {       //Döngü içerisine UILabel oluşturup asal sayıları tek tek ekrana basıyoruz.
        int rowCount=15;            //ekrandaki satır sayısı
        float height=30;            //yazının yüksekliği
        float width=30;            //yazının genişliği
        float y=a%15*30;        //formüller önemli
        float x=a/rowCount * width;//(rowCount);
      
        NSNumber * sayi = [hilalinArrayi objectAtIndex:a];      //Array içindeki asal sayıları alıyoruz.
       
        CGRect frame = CGRectMake(x, y, width, height);   //framein hangi noktalarda olacağını ve boyutlarını belirliyoruz.
        UILabel * hilalinTexti = [[UILabel alloc] initWithFrame:frame];    //UILabel oluşturdum.
        hilalinTexti.text= [NSString stringWithFormat:@"%d",[sayi intValue] ];  //string formatına çevirme işlemi
        hilalinTexti.textAlignment = NSTextAlignmentCenter;
        hilalinTexti.font = [UIFont systemFontOfSize:10];         //textin büyüklüğünü belirliyoruz.
        [self.view addSubview:hilalinTexti];          //ekrana basma işlemini yapıyoruz.
          
    }
}

@end

 ViewController.h 

//
//  ViewController.h
//  AsalSayı
//
//  Created by mac on 7/16/13.
//  Copyright (c) 2013 mac. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController{

IBOutlet UITextField *sonuc;
}

@property (retain,nonatomic) UITextField *sonuc;

-(IBAction)asalSayiBul:(id)sender;


@end


Kodlar üzerinde yorum satırlarında işlevlerini açıklamaya çalıştım.Umarım faydalı olur.
Uygulamanın ekran görüntüsü aşağıdaki gibidir.



Hiç yorum yok:

Yorum Gönder