Programlama Temelleri Trim: metnin başındaki ve sonundaki boşlukları kaldırır. Trim( Selam ) Selam şeklinde çıkar Split: metin içinde ayırma işlemi yapar. Split( ) Metni boşluklarını diziye atar. oşluk yerine karakter de kullanılabilir. Length: metin uzunluğunu yada diğer bir deyişle dizi elaman sayısını döndürür. Örneğin Metin = Selam Metin.Length = 5 değerini döndürür. MetneCevir: Sayısal bir değeri dizi olarak okumak için yada sayısal tür bir değerde metinsel işlem yapmak için ilgili sayısı metne çevirme işlemi yapar. MetneCevir(1234) Artık bir dizi haline geldi ve dizi olarak kullanılabilir. SayiyaCevir: Metinsel bir değişken üstünde sayısal işlem yapmak için sayısal türe dönüştürme işlemi için kullanılır. SayiyaCevir ( 1234 ) Artık sayısal işlem olarak kullanılabilir. For Döngüleri için kullanılır (Sayaçlar) Mantıksal Sorgular ( if, else ) gibi asla ve itir Değişken tanımla, Değer atama ve işlem kran Çıktısı
DĞİŞKN TÜRLRİ Integer (int): Matematiksel tam sayı değişkenleri Float (float): Küsüratlı Sayılar Double (double) : Float tan daha büyük küsüratlı sayılar Int64: Integer dan daha büyük tam sayı değişkenleri Int32: Integer dan daha küçük tam sayı değişkenleri ool: True,False 1 veya 0 değeri alan doğru yanlış DateTime: Tarih ve saat değerlerini bünyesinde barındıran değişken türü. Char: Tek bir sembolden oluşan metinsel değişken türü String: irden fazla karakterden oluşan metinsel değişken türü Stringuilder: irden fazla metinsel ifadeyi birbirine ekleyerek bünyesinde tutan metinsel değişken türü Diziler: Aynı türden verileri tek bir değişken ismiyle bünyesinde barındıran değişken türü. Var: Program çalışırken (Runtime) kendisine atanan veriye göre otomatik atayan değişken türüdür. Object: Var dan farklı olarak String-Integer, Integer-String dönüşümü yapabilir ama RAM da çok fazla yer kaplar. NSNLR Public: Oluşturulan nesneye program içerisinde her yerden erişilebilir olarak tanımlar. Private: Oluşturulan nesneye sadece oluşturulduğu sınıf içerisinden erişilebilir olarak tanımlar. Protected: Oluşturulan nesneye sınıfın içinden ve kendisinden türeyen sınıflardan erişilebilir olarak tanımlar. NOT: Akış şemalarını çizerken dikkat etmeye çalışsam da sağlamasını yapma sorumluluğu size ait sonuçta ben de insanım hata yapabilirim. Lütfen bu bilgiyi göz önünde bulundurup şemalarda ki hata olma ihtimaline dikkat alın.
Girilen iki sayı birbirine bölünecek ancak bölme operatörü çalışmamaktadır. ASLA Sayi1,Sayi2,Sonuc,asla,itir Sayi1 = Kullanici Sayi2 = Kullanici Sonuc = 0 Sayi1 > Sayi2 asla=sayi1; itir=sayi2; asla=sayi2; itir=sayi1; Sayac=asla; Sayac<=itir; Sayac++ Sayac%asla = = 0 Sonuc++; Sonuc itir
Girilen 2 adet sayının üstlü işlemi yapılacaktır. Sayılardan biri taban biri üst (derece) olan algoritmanın akış şeması ASLA Taban,Ust,Sonuc,Sayac Taban = Kullanici Ust = Kullanici Sonuc = 1 Sayac=1; Sayac<=Ust; Sayac++ Sonuc*=Taban; Sonuc itir
erhangi bir sayının tersten yazıldığında da aynı sayı olmasına özel sayı denir. (Varsayıyoruz). Girilen bir sayının özel sayı olup olmadığını bulan algoritmanın akış şemasını çizini. ASLA Sayi,Tersi,Sayac,Uzunluk,Metin Sayi = Kullanici Metin = MetneCevir(Sayi) Uzunluk = Metin.Length; Sayac= Uzunluk-1; Sayac>=0; Sayac - - Tersi+= Metin[Sayac]; SayiyaCevir(Tersi)==Sayi Özel Sayı Değil Özel Sayı itir
Tek oyutlu dizilerde girilen bir sayı dizisi içindeki sayıları küçükten büyüğe doğru sıralayan algoritmanın akış şemasını çiziniz. (Değişken değiştirme yönetimini kullanıyoruz ) ASLA Sayac1,Sayac2,SayiDizisi[],Gecici,leman Sayi Dizisi[]= Kullanici leman = SayiDizisi.Length Sayac1=0; Sayac1<leman; Sayac1++ Sayac2= 0; Sayac2<leman; Sayac2++ SayiDizisi[Sayac1]<SayiDizisi[Sayac2] Gecici = SayiDizisi[Sayac2] SayiDizisi[Sayac2] = SayiDizisi[Sayac1] SayiDizisi[Sayac1] = Gecici SayiDizisi[] itir Not bu örnekte küçükten büyüğe sıralama işlemi yapıldı eğer büyükten küçüğe yapılmak istenseydi tek değiştirilmesi gereken yer if alanında ki küçüktür (<) işareti yerine (>) büyüktür işareti kullanmak. SayiDizisi[Sayac1]>SayiDizisi[Sayac2]
Tek oyutlu dizilerde girilen bir sayı dizisi içindeki sayıları büyükten küçüğe doğru sıralayan algoritmanın akış şemasını çiziniz. (Değişken değiştirme yönetimini kullanıyoruz ) ASLA Sayac1,Sayac2,SayiDizisi[],Gecici,leman Sayi Dizisi[]= Kullanici leman = SayiDizisi.Length Sayac1=0; Sayac1<leman; Sayac1++ Sayac2= 0; Sayac2<leman; Sayac2++ SayiDizisi[Sayac1]>SayiDizisi[Sayac2] Gecici = SayiDizisi[Sayac2] SayiDizisi[Sayac2] = SayiDizisi[Sayac1] SayiDizisi[Sayac1] = Gecici SayiDizisi[] itir Not bu örnekte büyükte küçüğe sıralama işlemi yapıldı eğer küçükten büyüğe yapılmak istenseydi tek değiştirilmesi gereken yer if alanında ki büyüktür (>) işareti yerine (<) küçüktür işareti kullanmak. SayiDizisi[Sayac1]<SayiDizisi[Sayac2]
Girilen 1 adet sayı çift ise kendisi kadar kuvvetini tek ise faktöriyelini alan algoritmanın akış şemasını çiziniz. ASLA Sayi,Sayac,Sonuc Sayi = Kullanici Sonuc = 1 Sayac=1; Sayac<=Sayi; Sayac++ Sayi%2==0 Sonuc*=Sayac; Sonuc*=Sayi; Sonuc itir
Girilen ir Sayının asamak Değerleri toplamını ekrana yazdıran algoritmanın akış şemasını çiziniz ASLA Sayi,Toplam,Sayac,Uzunluk,Metin Sayi = Kullanici Metin = MetneCevir(Sayi) Uzunluk = Metin.Length; Toplam = 0 Sayac= 0; Sayac<Uzunluk; Sayac++ Toplam+=SayiyaCevir( Metin[Sayac]); Toplam itir
Girilen iki sayının çarpımını ekrana yazdıran algoritmanın akış şeması. Uyarı: Çarpma operatörü çalışmıyor diğer operatörler kullanılacak ASLA Sayi1,Sayi2,Sayac,Sonuc Sayi1= Kullanici Sayi2= Kullanici Sonuc = 0 Sayac= 1; Sayac<=Sayi1; Sayac++ Sonuc+=Sayi2 Sonuc itir
1-TC kimlik numaraları 11 haneden oluşur. 2-ilk 9 hane arasında kurulan bir algoritma bize 10. aneyi 1. Ve 10. ane arasında kurulan algoritma 11. aneyi veriyor. 3-ilk hane 0 (Sıfır) olamaz. 1,3,5,7 ve 9 hanelerinin toplamının 7 katından 2,4,6,8 hanelerinin toplamı çıkartıldıktan sonra çıkan sonuç 10 a bölününce kalan değer 10. aneyi verir. 4-1. ve 10. anenin toplamının 10 a bölümünden kalan 11. aneyi verir. (Derste oca nın çözdüğü şekli) ASLA TC,Onuncu,Onbirinci,Yedikat,Tektoplam,Cifttoplam,Sayi,Metin Sayi= Kullanici Metin=MetneCevir(Sayi) Tektoplam=0 Cifttoplam=0 SayiyaCevir(Metin[0])>0 Tektoplam=( SayiyaCevir(Metin[0])+ SayiyaCevir(Metin[2] )+ SayiyaCevir(Metin[4] )+ SayiyaCevir(Metin[6] )+ SayiyaCevir(Metin[8] )) Cifttoplam=( SayiyaCevir(Metin[1])+ SayiyaCevir(Metin[3])+ SayiyaCevir(Metin[5])+ SayiyaCevir(Metin[7])) Yedikat = Tektoplam*7; Onuncu=(Yedikat-Cifttoplam) % 10 Onbirinci =(SayiyaCevir(Metin[0])+Onuncu)%10 TC = SayiyaCevir(Metin+Onuncu+Onbirinci) TC itir
1-TC kimlik numaraları 11 haneden oluşur. 2-ilk 9 hane arasında kurulan bir algoritma bize 10. aneyi 1. Ve 10. ane arasında kurulan algoritma 11. aneyi veriyor. 3-ilk hane 0 (Sıfır) olamaz. 1,3,5,7 ve 9 hanelerinin toplamının 7 katından 2,4,6,8 hanelerinin toplamı çıkartıldıktan sonra çıkan sonuç 10 a bölününce kalan değer 10. aneyi verir. 4-1. ve 10. anenin toplamının 10 a bölümünden kalan 11. aneyi verir. ( Farklı bir çözüm ) ASLA TC,Onuncu,Onbirinci,Yedikat,Tektoplam,Cifttoplam,Sayi,Metin,Sayac,Uzunluk Sayi= Kullanici Metin=MetneCevir(Sayi) Uzunluk=Metin.Length SayiyaCevir(Metin[0])>0 Sayac=0; Sayac<Uzunluk; Sayac++ Sayac%2 = = 0 Cifttoplam+=SayiyaCevir(Metin[Sayac]) Tektoplam+=SayiyaCevir(Metin[Sayac]) Yedikat = Tektoplam*7; Onuncu=(Yedikat-Cifttoplam) % 10 Onbirinci =(SayiyaCevir(Metin[0])+Onuncu)%10 TC = SayiyaCevir(Metin+Onuncu+Onbirinci) TC itir
Kullanıcı tarafından girilen bir sayının asal sayı olup olmadığını bulan algoritmanın akış şeması (bu tür bir soru sorulmadı) ASLA Sayi,Sayac,olen Sayi= Kullanici olen=0 Sayi>1 Sayac=2; Sayac<Sayi; Sayac++ Sayi%Sayac = = 0 olen++ olen = = 0 Asal Sayı Değil Asal Sayı itir