The post Son 2 Yılım ve Blogumun Geleceği first appeared on Burak İşci.
]]>Hatırlayacağınız gibi iki yıl öncesine kadar SEO ve webmaster içerikleri ağırlıklı olmak üzere internet dünyası ile alakalı birçok konuda sizlere özgün içerikler sunuyordum. Bir yandan da freelance olarak WordPress tema yapım hizmeti veriyordum. Ancak geride kalan iki yılda ne özgün içerikler üretebildim ne de eski müşterim haricindeki kişilere WordPress tema yapım hizmeti verebildim.
Artık blogum için gerekli olan vakti ayarlayabildim ve çok yazık zamanda fazlasıyla aktif bir şekilde içerik paylaşımına başlamayı düşünüyorum.
Peki ya blogumda bundan sonra nasıl paylaşım politikası izleyeceğim?
Öncelikle bilişim sektörü dışındaki ilgi alanlarım ve hobilerim ile ilgili yazılar ve yazılara ek olarak da videolar hazırlamayı düşünüyorum. Kafamda şimdilik havacılık ve uzay konuları var ancak birkaç kategori daha ekleyebilirim. Özellikle de uzay ile ilgili konulara olan ilgimden dolayı bu kategoride daha fazla içerik oluştururum diye düşünüyorum.
Diğer yandan bildiğiniz gibi bilgisayar mühendisliği öğrencisiyim, haliyle eğitimim sırasında birçok programlama dili ve algoritma öğrendim ve öğrenmeye devam ediyorum. Bunlar hakkında da bilgilendirici içerikler sunmaya çalışacağım. Hatta bu içerikten önceki birkaç yazıya bakarsanız, bir süre önce kapatıp içeriğini buraya taşıdığım bir projeme ait C programlama dili ile ilgili yazıları görebilirsiniz. Henüz tamamlanmamış olan bu yazı dizisini de kısa sürede tamamlamayı hedefliyorum, diğer yandan başka birçok programlama diline ait eğitim ve algoritmalar hakkında ki içeriklere de kısa sürede başlayacağım.
Ek olarak kişisel deneyimlerim ve aldığım/kullandığım ürünler hakkındaki tecrübelerimi daha fazla sizlere aktarmaya çalışacağım.
Son olarak da webmaster ve SEO ile alakalı konulardaki içeriklere bir süre boyunca eskisi kadar ağırlık veremeyeceğim. Bildiğiniz gibi iki yıllık süreç bu sektördeki birçok gelişmeyi yakalayamamak ve önemli yenilikleri kaçırmak anlamına geliyor. Öncelikle aradaki açığı kapatmaya çalışacağım ve daha sonrasında da bu sektörler ile ilgili içerikleri hazırlamaya başlayabilirim. İki yıllık süreç içerisinde birçok kişi şuan da kullandığım temayı dağıtmamı istediklerini söyleyen mailler attılar. Bende yakında gerekli düzenlemeleri yapıp, yeni kullanacağım temayı hazırlayıp bu temayı sizlerle paylaşacağım.
Şimdilik söyleyeceklerim bu kadar, tavsiyeleriniz varsa yorum bölümünde görmeyi çok isterim. Yakında yepyeni bir tema ile birlikte kaliteli içeriklerde görüşmek üzere, şimdilik hoşçakalın…
The post Son 2 Yılım ve Blogumun Geleceği first appeared on Burak İşci.
]]>The post İnstagram Hesap Dondurma first appeared on Burak İşci.
]]>Öncelikle instagram hesap dondurma işleminin ne olduğundan bahsetmek gerekiyor. Instagram hesap dondurma, hesabınızı geçici olarak kapatmanız ve diğer kişiler tarafından görülmesini engellemeniz olarak tanımlanabilir. Hesabınızı dondurma işleminden sonra, siz tekrar hesabınıza giriş yapana kadar hesabınız instagrama kayıtlı veya dışarıdan herhangi birine gözükmez. Bu sayede yaşadığınız geçici problemlerde, hesabınızı tamamen silmek yerine bu şekilde kendi istediğiniz süre kadar gizleyebiliyorsunuz. Eğer hesabınızı geçici olarak değilde, kalıcı olarak kapatmak istiyorsanız instagram hesap silme adlı makalemize göz atabilirsiniz.
[kutu tip=”hata”]Instagram hesap dondurma işlemi yapılan suistimaller sonucu haftada bir defa olacak şekilde sınırlandırılmıştır. Yani hesabınızı dondurduktan sonra tekrar giriş yapıp, aynı hafta içerisinde hesabınızı tekrar donduramazsınız. Hesabınızı tekrar dondurabilmek için önceki dondurma işleminin üzerinden en az bir hafta geçmelidir.[/kutu]
Unutmayın hesabınızı dondurduktan sonra profiliniz, yaptığınız beğeni ve yorumlar, eklediğiniz fotoğraf ve videolar siz hesabınıza tekrar giriş yapana kadar tamamen gizli hale gelecektir. Aşağıda hem bilgisayar hem de mobil cihazlarınız üzerinden instagram nasıl dondurulur işlemi anlatılmıştır.
Bu başlık altında dizüstü veya masaüstü bilgisayar ile instagram hesabınızı nasıl dondurabileceğiniz anlatılacaktır.


Video anlatım olarak telefondan instagram hesap dondurma;
2. Instagram üzerinde yer alan bazı hesaplar ne yazık ki sistemsel bazı nedenlerden dolayı dondurulamıyor. Bu sorun her ne kadar ufak bir kullanıcı grubunu kapsıyor olsa da, sizin hesabınız da bu grup içerisinde yer alıyor olabilir. Hesabınızda böyle bir durum var ise, ne yazık ki şimdilik çözümü bulunmamaktadır.
Instagram hesap dondurma ile ilgili anlatacaklarımız bu kadar, yaşadığınız sorunları belirtmek veya soru sormak için aşağıda ki yorum bölümünü kullanabilirsiniz.
The post İnstagram Hesap Dondurma first appeared on Burak İşci.
]]>The post İnstagram Hesap Silme ( Kapatma ) first appeared on Burak İşci.
]]>Eğer sizde herhangi bir nedenden dolayı instagram hesabınızı kapatmaya karar verdi ve instagram hesabımı nasıl kapatabilirim diyorsanız doğru yerdesiniz. Aşağıda anlattığımız yöntemi uygulayarak rahatlıkla instagram hesabınızı kalıcı olarak silebilirsiniz. Yazının devamında instagram hesaplarınızı hem telefon hem de bilgisayar üzerinden nasıl kapatabileceğinizi anlatıyor olacağız, eğer okumaktan sıkılıyor iseniz direkt olarak başlıkların sonuna giderek hazırladığımız videolar ile de hesaplarınızı nasıl kapatabileceğini görebilirsiniz.
[kutu tip=”uyari”]Instagram hesap kapatma işlemi geri alınamaz bir işlemdir. “Hesabımı kalıcı olarak sil” butonuna tıkladıktan sonra işleminizi geri alamaz veya tekrar aynı kullanıcı adı ile yeni üyelik açamazsınız. Eğer hesabınızı tamamen değilde geçici olarak kapatmak istiyorsanız linkini verdiğimiz instagram hesap dondurma başlıklı yazımızı inceleyebilirsiniz.[/kutu]
Bu bölümde masaüstü veya dizüstü bir bilgisayar üzerinden instagram hesabınızı nasıl kapatabileceğiniz anlatılmaktadır.


Video anlatım olarak bilgisayar üzerinden instagram hesap silme;
Eğer bir bilgisayara erişiminiz yok veya instagram hesap kapatma işleminizi telefonunuz üzerinden yapmak istiyorsanız aşağıda ki adımları takip etmelisiniz.

1. Telefonunuz üzerinden öncelikle instagram uygulamasını açınız.

2. Uygulamayı açtıktan sonra sağ altta ki ufak profil resminize tıklayarak, profil sayfanıza geçiş yapınız.

3. Profil sayfanız açıldıktan sonra sağ üstte yer alan alt alta üç nokta işaretine tıklayarak seçenekler menüsünü açınız.

4. Açılan seçenekler menüsünde sayfayı aşağıya kaydırarak “Destek” başlığı altında ki “Instagram Yardım Merkezi” linkine tıklayınız.

5. Yukarıda ki adımdan sonra tarayıcınız açılacak ve resimde ki gibi bir sayfa karşınıza çıkacaktır. Karşınıza çıkan bu sayfadan “Hesabınızı Yönetme” seçeneğini seçiniz.

6. Ardından açılan sayfadan “Hesabınızı Silme” seçeneğini seçiniz.

7. Ardından karşınıza iki tane şık çıkacaktır, birinci şık hesabınızı geçici olarak kapatmanızı yani dondurmanızı sağlar. Bu konu hakkında daha detaylı bilgi için instagram hesap dondurma isimli yazımıza göz atabilirsiniz. Biz ise hesabımızı kalıcı olarak kapatmak için bu sayfada ki ikinci şık olan “Hesabımı nasıl silerim?” seçeneğini seçiyoruz.

8. Sonrasında açılan sayfada “Hesabımı sil sayfasına gidin.” linkine tıklıyoruz.

9. Daha sonra işleminize devam edebilmeniz için instagram giriş sayfası karşınıza gelecektir, burada kullanıcı bilgilerinizi girerek “Giriş yap” butonuna tıklıyorsunuz.

10. Açılan sayfada size hesabınızı neden silmek istediğinizi soracaktır, kendinize uygun gelen seçeneği seçiniz.

11. Kendinize uygun olan seçeneği seçtikten sonra bu kısmın altına gelen bölüme hesap şifrenizi giriniz ve altta yer alan “Hesabımı kalıcı olarak sil” butonuna tıklayınız.

12. Son olarak da karşınıza gelen bu uyarıya “TAMAM” yanıtını veriniz.
Video anlatım olarak telefon üzerinden instagram hesap silme;
Instagram hesaplarını silen kişiler genellikle instagram silme araması altında instagram uygulaması nasıl silinir sorusunun cevabını öğrenmek istiyorlar. Aşağıda anlattığımız adımları takip ederek telefonunuzda yer alan instagram uygulamasını hem Android hem de IOS ortamlarından nasıl silebileceğinizi görebilirsiniz.
The post İnstagram Hesap Silme ( Kapatma ) first appeared on Burak İşci.
]]>The post WordPress’de RSS İçerisinde Belli Kategorileri Gizlemek first appeared on Burak İşci.
]]>Normal şartlar altında blogumuza eklediğimiz tüm içerikler RSS içerisinde yer alır ancak bazı durumlarda sizde benim gibi bazı kategorilere eklediğiniz içeriklerin RSS içerisinde yer alıp, takipçilerinize gönderilmesini istemeyebilirsiniz. Özellikle de gereksiz veya özel kategorilere eklediğiniz yazıların, takipçilerinize mail olarak gitmesini istemeyebilirsiniz. Örneğin, ben sitemde tanıtım yazılarının ve oyunlarla ilgili paylaşımlarımın RSS içerisinde yer almasını istemiyorum, nedeni ise mail yolu ile beni takip eden çoğu kişinin beni takip etme amacı daha çok; SEO, webmaster dünyası ve kişisel konularda yazdığım konulara ait içerikler olduğu için. Bende bu kategoriler haricinde ki yazılar ile takipçilerimi rahatsız etmek ve takipçi kaybetmek istemiyorum.
Bu ihtiyaç sonrasında ise RSS içerisinde belli kategorileri gizlemek (kaldırmak) amaçlı bir araştırma yaptım, yaptığım araştırma sonucu birçok eklenti buldum ancak böyle basit bir olayı eklenti yerine kodla halletmek blogumuza daha az yük oluşturacağı için bende çalışan bir kod buldum. Aslında piyasa da benzer yapıda birkaç kod var ancak WordPress’in güncel sürümü ile çalışan bir tek bu koda ulaşabildim.
function rssKategoriGizle($query) {
if ($query->is_feed) {
$query->set('cat','-1, -2, -3'); // Kategori ID'lerini değiştirmeyi unutmayın!
}
return $query;
}
add_filter('pre_get_posts','rssKategoriGizle');
Öncelikle kodu kullandığınız temanın functions.php dosyasına eklemeniz gerekiyor. Bunun için yönetim panelinizden Görünüm > Düzenleyici yolunu izleyebilir ve açılan sayfanın sağında bulunan listeden functions.php dosyasını seçebilirsiniz. Dosyayı seçtikten sonra açılan sayfada, yukarıda verdiğim kodu uygun bir yere yapıştırınız.
Daha sonra da kod içerisinde yorum satırı ile de belirttiğim gibi, kodun içerisinde ki kategori ID’lerinin yer aldığı kısmı düzenlemelisiniz. Yazacağınız kategori ID’lerinin başında ise “-” işareti olmalıdır. Kodun içerisine örnek olarak 1, 2 ve 3 ID’li kategorilerin RSS içerisinden gizlenmesini gerçekleştirdim. 1, 2, 3 yazan kısımlara tek bir kategori ID’si yazabileceğiniz gibi çok daha fazla kategori ID’si de yazabilirsiniz.
Eğer kategori ID’sini nasıl öğreneceğinizi bilmiyorsanız, burada ki yazımdan bu konu hakkında detaylı bilgi edinebilirsiniz.
The post WordPress’de RSS İçerisinde Belli Kategorileri Gizlemek first appeared on Burak İşci.
]]>The post C Programlama Dili Diziler first appeared on Burak İşci.
]]>#include <stdio.h>
int main(){
int dizi[50];
return 0;
}
Görebileceğiniz gibi dizinin tanımlanma şekli herhangi bir değişken tanımlamaya çok benziyor. Öncelikle dizinin içerisinde saklanacak veri türünü yazıyoruz (int, char, float vs…) daha sonra dizimizin adını yazıyoruz son olarak da dizinin adına bitişik olarak dizinin kaç değer saklayabilmesini istediğimizi yani uzunluğu köşeli parantezler içerisinde belirtiyoruz.
Önemli: Bir dizinin içerisinde sadece tanımlama sırasında belirttiğiniz veri türünden değerleri kullanabilirsiniz.
Önemli: Dizinin ilk elemanı her zaman dizi[0] adresinde bulunur, yani ilk elemana erişmek için dizi[1] yerine dizi[0] kullanmanız gerekecek. Dizinin 40. elemanına ulaşmak isterseniz dizi[39] adresini kullanmanız gerekecek.
Dizilerin kullanımı genellikle döngüler -özellikle for döngüleri- ile olmaktadır, eğer döngüler hakkında yeterince bilgi sahibi değilseniz C programlama dili döngüler isimli konumuzu incelemenizi tavsiye ederiz.
Bazı durumlarda başlangıç için dizinin elemanlarını bizim belirlememiz gerekebilir, örneğin bir değişken tanımlarken “int sayi=20;” şeklinde bir başlangıç değeri atayabiliyorduk, aynı işlemi şimdi dizilerde yapacağız.
Eğer bir dizinin tüm elemanlarına başlangıçta bir değer atamak istiyorsanız aşağıda ki yapıyı kullanmanız gerekiyor.
int dizi[5]={10, 20, 30, 40, 50};
Dizimizin boyutunu 5 olarak belirttik ve sırasıyla dizininin elemanlarını 10, 20, 30, 40, 50 olarak tanımladık ancak başlangıçta dizinin tüm elemanlarına değer atıyorsak boyutunu belirtmemiz gerekmez, örneğin;
int dizi[]={10, 20, 30, 40, 50};
Bu dizi de bir üstte ki dizi ile aynı çalışacaktır, başlangıç ta boyut belirtmediğimiz için dizinin boyutu otomatik olarak eklenen eleman sayısı olacaktır, bu örnek de ise otomatik olarak 5 olarak tanımlanacaktır.
Bazı durumlar da dizide ki tüm elemanların hepsini belli bir sayıya eşitlemeniz gerekebilir, örneğin sıfıra. Normal bir şekilde dizi tanımlayıp hiçbir işlem yapmadan bu diziyi ekrana direkt ekrana yazdırırsanız muhtemelen aşağıda ki gibi anlamsız değerler karşınıza çıkabilir;
1 0 4203625 0 3 0 36 0 0 0
Bunun nedeni, bir dizi kullanmak için dizi tanımladığımız da bilgisayarın hafızasında o diziye ayrılan bölümlerde daha önceden yapılmış işlemlere ait değerler kalmış olabilir, yukarıda ki örnekte görebileceğiniz 1, 4203625, 36 değerleri daha eski işlemlerden dolayı hafızanın o bölümünde kalmış değerler, bu yüzden bir dizi tanımladığımızda o dizinin tüm elemanlarını sıfıra eşitlemek bizim için daha kullanışlı ve sorunsuz olacaktır. Bunu yapmak içinse aşağıda ki yolu kullanıyoruz;
int dizi[10]={0};
Eğer bu şekilde bir diziyi süslü parantez içerisinde ki tek bir değere eşitlerseniz, süslü parantez içerisinde ki değer dizinin tüm elemanlarına atanır. Eğer sıfırdan farklı bir sayı atamak isteseydik, sıfır yerine atamak istediğimiz sayıyı yazmamız yeterli olacaktı.
Yalnızca dizinin belirli bir elemanının değerini değiştirmek isterseniz de aşağıda ki kullanımı gerçekleştirmeniz gerekmekte.
#include <stdio.h>
int main(){
int i;
int dizi[10];
dizi[8]=123;
return 0;
}
Kodda 10 elemanlı bir dizi tanımladık ve dizinin indis değeri 8 olan yani 9. elemanın değerini 123’e eşitledik.
Artık dizilerin kullanımına geçebiliriz, örneğin bir öğrencinin 5 dersin sınavlarından aldığı notları bir dizi üzerine kayıt edelim.
#include <stdio.h>
int main(){
int i;
int notlar[5];
for (i=0;i<5;i++){
printf("%d. Dersin Notunu Giriniz: ",i+1);
scanf("%d",¬lar[i]);
}
return 0;
}
Şimdi de kodda ne yaptığımızı inceleyelim. Öncelikle elimizde 5 tane derse ait sonuçlar olacağı için, “notlar” adında bir dizi tanımlayıp uzunluğunu 5 olarak ayarlıyoruz daha sonra da bir for döngüsü oluşturarak “i” değişkeninin değerini 0’dan başlayıp 5’e gidecek şekilde ayarlıyoruz. Daha sonra döngünün içerisinde printf ile i+1’inci sırada ki -i sıfırdan başladığı için printf içinde i+1 şeklinde kullandık- dersin notunu isteyip, bu notu “notlar” isimli dizimizin “notlar[i]” adresinde sakladık. Örnek çalışma şekli şu şekilde olacaktır.
1. Dersin Notunu Giriniz: 68 2. Dersin Notunu Giriniz: 54 3. Dersin Notunu Giriniz: 26 4. Dersin Notunu Giriniz: 47 5. Dersin Notunu Giriniz: 85
Diziyi ekrana yazdırırken de for döngülerinden yararlanıyoruz, örneğin elemanları daha önceden tanımlanmış 5 elemanlı diziyi ekrana yazdıralım.
#include <stdio.h>
int main(){
int i;
int dizi[5]={10, 20, 30, 40, 50};
for (i=0;i<5;i++){
printf("dizi[%d] = %d \n",i,dizi[i]);
}
return 0;
}
Programımızın kodları yukarıda ki gibidir, 5 elemanlı bir dizi tanımladık ve değerlerini sırasıyla 10, 20, 30, 40, 50 ye eşitledik ve daha sonra for döngüsü kullanarak sırasıyla hepsini ekrana yazdırdık. Programın çıktısı şu şekilde olacaktır;
dizi[0] = 10 dizi[1] = 20 dizi[2] = 30 dizi[3] = 40 dizi[4] = 50
Diziler programlama dillerinde oldukça çok kullanılan yapılardır bu yüzden mantığının anlanması oldukça önemlidir, diziler ile ilgili örneklere buradan ulaşabilirsiniz, özellikle de sıralama ve arama algoritmalarının dizilerde kullanımı oldukça önemlidir, örneklerde çeşitli sıralama ve arama algoritmaları anlatılmıştır. Önümüzde ki konuda C programlama dilinde ki matrislerden -iki boyutlu diziler- bahsedeceğiz.
The post C Programlama Dili Diziler first appeared on Burak İşci.
]]>The post C Programlama Dili İç İçe Döngüler first appeared on Burak İşci.
]]>Programlama aşamalarında genellikle tek bir döngü kullanmak özellikle de gelişmiş bir şeyler yazmaya çalışırken bize yeterli olmaz ve bu durumlarda iç içe döngüler kullanmamız gerekebilir, örneğin bir for döngüsünün içerisinde başka bir for döngüsü veya bir while döngüsünün içerisinde başka bir while döngüsü bulunabileceği gibi bir for döngüsünün içerisinde bir while döngüsü veya bir while döngüsünün içerisinde de bir for döngüsü bulunabilir, iç içe istediğiniz kadar döngü kullanabilirsiniz. İç içe döngülerde unutmamanız gereken tek şey işlemler yapılırken öncelikli olarak içte ki döngü tamamlanır daha sonra dışta ki döngüye geçilir, olayın temel mantığı budur. Bunu daha iyi anlamanız için aşağıda ki örneği inceleyelim.
#include <stdio.h>
int main(){
int i,j;
for (i=0;i<3;i++){
for (j=0;j<3;j++){
printf("i degeri = %d - j degeri = %d \n",i,j);
}
}
return 0;
}
İnceleyeceğimiz programa ait kaynak kod yukarıda ki gibidir, çıktısı ise aşağıda ki gibi olacaktır. Kodun mantığından bahsetmek gerekirse, öncelikli olarak görebileceğiniz gibi iç içe iki tane for döngüsü kullanılmış, bu durumda az önce yukarıda da bahsettiğimiz gibi içte ki for döngüsü tamamlanacak daha sonra dışta ki for döngüsü tamamlanacaktır. Kodun çalışma şekli;
i degeri = 0 - j degeri = 0 i degeri = 0 - j degeri = 1 i degeri = 0 - j degeri = 2 i degeri = 1 - j degeri = 0 i degeri = 1 - j degeri = 1 i degeri = 1 - j degeri = 2 i degeri = 2 - j degeri = 0 i degeri = 2 - j degeri = 1 i degeri = 2 - j degeri = 2
Şimdide satır ve sütun sayısı kullanıcı tarafından girilecek olan ve ekrana girilen değerlere göre c dilinde çarpım tablosu oluşturan örneğimizi inceleyelim.
#include <stdio.h>
int main(){
int i,j,satir,sutun;
printf("Satir Sayisi: ");
scanf("%d",&satir);
printf("Sutun Sayisi: ");
scanf("%d",&sutun);
for (i=1;i<=satir;i++){
for (j=1;j<=sutun;j++){
printf("%dx%d=%d ", i, j, i*j);
}
printf("\n");
}
return 0;
}
Kullanıcının gireceği satır sayısının 10, sütun sayısının 5 olduğunu kabul edersek, oluşacak olan çıktı aşağıda ki gibi gözükecektir. Sonuçlardan da görebileceğiniz gibi, öncelikle dış tarafta ki for döngüsü i=1 (çarpım tablosu oluşturduğumuz için i vej değerlerini 0 yerine 1 den başlattık.) değerini alıyor ve daha sonra da program içte ki döngüye geçerek j değerinin sırasıyla 1,2,3,4,5 almasını sağlıyor ve her değerde ilgili çarpım değeri hesaplanıp ekrana yazdırılıyor, içteki döngü tamamlandıktan sonra ise i değeri 1 arttırılıyor ve oluşan yeni i değeri için içte ki döngü tekrar çalıştırılıyor, bu sayede de aşağıda ki çıktı da görebileceğiniz bir çarpım tablosu oluşturabiliyoruz.
Satir Sayisi: 10 Sutun Sayisi: 5 1x1=1 1x2=2 1x3=3 1x4=4 1x5=5 2x1=2 2x2=4 2x3=6 2x4=8 2x5=10 3x1=3 3x2=6 3x3=9 3x4=12 3x5=15 4x1=4 4x2=8 4x3=12 4x4=16 4x5=20 5x1=5 5x2=10 5x3=15 5x4=20 5x5=25 6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 10x1=10 10x2=20 10x3=30 10x4=40 10x5=50
Şimdi de iç içe iki farklı döngü çeşidinin kullanımına göz atalım, örneğin aşağıda ki gibi bir görüntüyü iç içe döngü kullanarak elde etmeye çalışalım.
Satir Sayisi: 10 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Öncelikle görebileceğiniz gibi 10 adet satırdan oluşan bir dik ikizkenar üçken elde ediliyor, ikizkenar dik üçgeni elde etmek için takip etmemiz gereken mantık şu şekilde olacaktır;
#include <stdio.h>
int main(){
int i,j,satir;
printf("Satir Sayisi: ");
scanf("%d",&satir);
for (i=0;i<satir;i++){
j=0;
while (j<i){
printf(" * ");
j++;
}
printf("\n");
}
return 0;
}
Böylelikle bu dersimizinde sonuna geldik, iç içe döngüler daha çok iki ders sonra göreceğimiz matris yapıları ile birlikte sıkça görülmektedir, eğer konu hakkında daha fazla örneğe ihtiyaç duyarsanız c dili örnek sorular kategorisinden daha fazla örneğe ulaşabilirsiniz, bir sonra ki dersimizde dizilerden bahsedeceğiz.
The post C Programlama Dili İç İçe Döngüler first appeared on Burak İşci.
]]>The post C Programlama Dili Döngüler first appeared on Burak İşci.
]]>Programlama dillerinde aynı işlem kümelerini birden fazla defa tekrar yaptırmak istiyorsak döngüler tam bu noktada yardımımıza yetişiyor. Örneğin ekrana alt alta 100 tane “merhaba dünya” yazdırmak istiyoruz diyelim, bu güne kadar öğrendiğimiz bilgilere göre mecburen alt alta 100 satır şeklinde “merhaba dünya” yazdırarak bu işi yapardık ancak bu işi daha kısa yoldan yapabiliriz, döngüler sayesinde sadece bir kere “merhaba dünya” yazarak bizim yerimize döngünün onu 100 kere tekrar ettirmesini sağlayabiliriz.
Daha da teorik olarak ifade etmek gerekirse programın neyi, nasıl, ne zaman yapmasını belirleyebildiğimiz yapılara döngü deriz. C programlama dilinde temel olarak üç tane döngü yapısı vardır;
Döngü yapılarında temel olarak yapılması istenen işlemlerin kaç kere veya hangi şartlar altında yapılacağını belirlemek çok önemlidir, eğer uygun değerler kullanılmazsa bir döngü kullanıcının bilgisayarının kaynaklarını oldukça zorlayabilir. Bu yüzden doğru adım sayısını belirlemek oldukça kritiktir. Döngüler içerisinde bu adım sayılarını belirlerken karşılaştırma operatörlerinden de faydalanabiliyoruz, bu yüzden operatörler hakkında bilginiz yoksa öncelikle burada ki yazımızı okuyarak operatörler hakkında bilgi sahibi olabilirsiniz. Şimdi döngüleri daha detaylı olarak inceleyebiliriz.
Özellikle yapılacak işlem sayısının belli olduğu durumlarda for döngülerini kullanırız. Başlangıç değerimiz ve gideceğimiz hedef değer belli olduğu için döngünün adım sayısını da belirlemiş oluyoruz, döngünün temel yapısı şu şekildedir;
for (degisken=baslangic_degeri;degisken<=hedef_deger;degisken++){
islemler;
}
Parantez içinde ki bölüm fark ettiğiniz gibi “;” işaretleri ile üç ayrı bölüme ayrılmıştır, bu üç bölümün hepsi farklı durumları ifade ederler. İlk bölümde ismini bizim belirlediğimiz bir değişkeni başlangıç değerine eşitleriz; ikinci bölümde ise belirtilen karşılaştırmanın doğruluğu kontrol edilir, şart sağlandığı sürece döngü devam eder; son kısımda ise belirlediğimiz değişkenin değerinin döngünün her turunda bir artmasını veya azalmasını belirleriz. Bunun için ++ veya — operatörlerinden birisini kullanabilirsiniz.
Şimdi 10’a kadar olan pozitif sayıların toplamını hesaplayan bir program yazarak for döngüsünün mantığını daha iyi anlamaya çalışalım.
#include <stdio.h>
int main(){
int i,toplam;
toplam=0;
for(i=1;i<=10;i++){
toplam+=i; // Her adımda "i" değeri toplam değişkenine ekleniyor.
}
printf("Toplam = %d",toplam);
return 0;
}
Toplam = 55
Kodlamayı açıklamak gerekirse, for döngüsüne girdiğimizde “i” değişkenine 1 değerini atıyoruz ve her adımda “i++” operatörü ile birer birer artmasını sağlayarak son değer olarak belirlediğimiz 10’a kadar gitmesini sağlıyoruz, “i” değeri 11 olduğu zaman “i<=10” koşulunu sağlamayacağı için döngüye devam etmeyecektir. Döngünün içerisinde ki işlemlerde ise her “i” değerini daha önce belirlediğimiz “toplam” isminde ki değişkenine ekliyor (burada toplam+=i; yerine toplam=toplam+i; de yazılabilirdi.) ve 10’a kadar olan sayıların toplamını hesaplamış oluyor.
Şimdide 10’a kadar olan sayıların karelerini ekrana yazdıran programın koduna bir bakalım;
#include <stdio.h>
int main(){
int i,kare;
for(i=1;i<=10;i++){
kare=i*i;
printf("%d ",kare);
}
return 0;
}
1 4 9 16 25 36 49 64 81 100
Bu döngünün içerisinde de her “i” değerini kendi ile çarparak yani karesini alarak ekrana yazdırıyor, örneklerimizi bu şekilde çoğaltabiliriz…
C programlama dilinde bu yazımızda anlatacağımız üç farklı döngü yapısı içerisinde en çok kullanılan yapı for döngüleridir. Özellikle de sonra ki konularda göreceğimiz diziler ve matrislerle beraber kullanımı oldukça yaygındır.
While döngüsü ise işleyişi ve anlaşılması çok kolay bir döngü yapısıdır. Belirlediğimiz bir koşul sağlandığı sürece belirlediğimiz işlemlerin gerçekleşmesini sağlayan döngüye while döngüsü denir. Kod işleme sırasında while döngüsüne gelen programımız öncelikle döngünün şartının sağlanıp sağlanmadığını kontrol eder, daha sonra da eğer şart sağlanıyor ise döngüye girip içeride ki işlemleri yapıp döngüden çıkar, daha sonra tekrar şartı kontrol eder ve şart hala sağlanıyorsa tekrar döngüye girer, bu işlem döngüsü while döngüsünün şartı sağlanmayana kadar devam eder. While döngüsünün şartı sağlanmadığı zaman döngü tamamen terk edilir ve sonra ki kod yapılarının çalıştırılmasına geçilir. While döngülerinin temel yapısı aşağıda ki gibidir;
while(koşul){
işlemler;
}
koşul kısmında daha önce öğrendiğimiz operatörlerden yararlanacağız, bu koşul bölümünde tek bir şartı kontrol edebileceğimiz gibi birden fazla şartı da kontrol etmemiz mümkündür, bu gibi durumlarda bu şartlar “ve” ile “veya” kontrolleri ile birbirlerine bağlanırlar. Şimdi while döngüsünün kullanımını örneklerle daha iyi bir şekilde anlayalım.
Girilen bir sayıya kadar olan sayıların karelerinin toplamını ekrana yazdıran programı yazalım.
#include <stdio.h>
int main(){
int i,sayi,toplam;
printf("Sayi Giriniz: ");
scanf("%d",&sayi);
i=0;
toplam=0;
while (i<sayi){
toplam+=i*i;
i++;
}
printf("Toplam: %d",toplam);
return 0;
}
Bu kod içerisinde sırayla şu işlemleri yapıyoruz.
Do While döngüsü ise while döngüsüne alternatif bir döngü yapısıdır. Aralarında ki fark ise programımız while döngüsüne girmeden önce döngünün koşulunun sağlanıp sağlanmadığını kontrol eder, eğer şart sağlanırsa döngüye girerdi. Do While döngü yapısında ise program direk olarak döngüye girer, döngü içerisinde ki işlemleri gerçekleştirir ve en son döngüden çıkarken şartın sağlanıp sağlanmadığını kontrol eder. Bu durumda do while döngü yapılarının şartlar sağlansa da sağlanmasa da en az bir kez döngünün içerisine girecektir, ancak while döngüsünde şartlar sağlanmıyorsa döngüye hiç girilmezdi.
Genellikle kodlamalarda while döngüleri, do while döngülerine oranla daha çok tercih edilirler ancak bazı durumlar da şartlar ne olursa olsun en az bir defa döngüye girilmesini istiyorsak o zaman do while döngü yapısını tercih edebiliriz. Do While döngülerinin temel yapısı aşağıda ki gibidir;
do{
işlemler;
} while(koşul);
Şimdi yukarı da yaptığımız örneğin do while döngüsü ile yapılmış haline bir göz atalım.
#include <stdio.h>
int main(){
int i,sayi,toplam;
printf("Sayi Giriniz: ");
scanf("%d",&sayi);
i=0;
toplam=0;
do {
toplam+=i*i;
i++;
}while(i<sayi);
printf("Toplam: %d",toplam);
return 0;
}
Döngülerin temel kullanımları bu şekildedir, ancak döngüler programlama dillerinin temelini oluşturduğu için konunun iyice kavranması oldukça önemlidir. Özellikle ileride göreceğimiz diziler ve matrisler konuları ile daha karmaşık ve iç içe döngüler kullanmaya başlayacağız, önümüzde ki derste iç içe döngülerin kullanımlarından bahsedeceğiz. Eğer bu konu hakkında sorunlar yaşıyorsanız yorum bölümünden sorularınızı sorabilir veya örnek sorular bölümünden diğer örnekleri inceleyebilirsiniz.
The post C Programlama Dili Döngüler first appeared on Burak İşci.
]]>The post C Programlama Dili Switch Case Yapısı first appeared on Burak İşci.
]]>Switch Case yapısının temeli şu şekildedir; öncelikle bir tane değişken belirlenir, daha sonra da bu değişkenin değerine göre sonsuz sayıda farklı koşul gerçekleştirilebilir. Temel olarak Switch Case yapısı aşağıda ki gibidir;
switch (degisken){
case durum1:
işlemler
break;
case durum2:
işlemler
break;
.
.
.
case durumN;
işlemler
break;
default:
işlemler
}
Bu kodun yapısını biraz detaylandırmak gerekirse, öncelikle kullanıcıdan “degisken” adında ki bir değişkene değer ataması istenilir, daha sonra da bu değişkenin değerinin caseler içerisinde ki “durum1”, “durum2”, …, “durumN” değerlerine eşit olup olmadığı kontrol edilir. Eğer değişkenin değeri bu caselerden birisine eşitse o zaman bu case altında ki işlemler yapılır. İşlemlerden sonra da break; komutu kullanılarak, programın Switch Case yapısından çıkması sağlanır. Eğer değişken değeri hiçbir case ile uyuşmuyor ise o zaman da default: değeri altında istenilen uyarılar yapılabilir.
Konuyu daha iyi anlayabilmeniz için Switch Case yapısını kullanarak bir basit bir hesap makinesi yapmaya çalışalım.
/**
Switch Case İle Basit Hesap Makinesi Örneği
www.temelprogramlama.com
**/
#include <stdio.h>
int main(){
int x,y,tercih;
printf("___ MENU ___\n");
printf("[1] Toplama\n");
printf("[2] Cikarma\n");
printf("[3] Carpma\n");
printf("[4] Bolme\n");
printf("Tercih Ettiginiz Islem Numarasi: ");
scanf("%d",&tercih);
switch (tercih){
case 1:
printf("Islem Yapilacak Sayilari Giriniz: ");
scanf("%d %d",&x,&y);
printf("Sonuc: %d",x+y);
break;
case 2:
printf("Islem Yapilacak Sayilari Giriniz: ");
scanf("%d %d",&x,&y);
printf("Sonuc: %d",x-y);
break;
case 3:
printf("Islem Yapilacak Sayilari Giriniz: ");
scanf("%d %d",&x,&y);
printf("Sonuc: %d",x*y);
break;
case 4:
printf("Islem Yapilacak Sayilari Giriniz: ");
scanf("%d %d",&x,&y);
printf("Sonuc: %d",x/y);
break;
default:
printf("Gecerli Bir Numara Girmediniz!");
}
return 0;
}
Kodu analiz edecek olursak sırasıyla aşağıda ki olaylar gerçekleşir;
Şimdi de eğer bu örneği uzun yoldan yani if-else kullanarak yapmak isteseydik nasıl yapardık ona bakalım;
/**
If-Else Yapısı İle Basit Hesap Makinesi Örneği
www.temelprogramlama.com
**/
#include <stdio.h>
int main(){
int x,y,tercih;
printf("___ MENU ___\n");
printf("[1] Toplama\n");
printf("[2] Cikarma\n");
printf("[3] Carpma\n");
printf("[4] Bolme\n");
printf("Tercih Ettiginiz Islem Numarasi: ");
scanf("%d",&tercih);
if (tercih==1){
printf("Islem Yapilacak Sayilari Giriniz: ");
scanf("%d %d",&x,&y);
printf("Sonuc: %d",x+y);
} else if (tercih==2){
printf("Islem Yapilacak Sayilari Giriniz: ");
scanf("%d %d",&x,&y);
printf("Sonuc: %d",x-y);
} else if (tercih==3){
printf("Islem Yapilacak Sayilari Giriniz: ");
scanf("%d %d",&x,&y);
printf("Sonuc: %d",x*y);
} else if (tercih==4){
printf("Islem Yapilacak Sayilari Giriniz: ");
scanf("%d %d",&x,&y);
printf("Sonuc: %d",x/y);
} else {
printf("Gecerli Bir Numara Girmediniz!");
}
return 0;
}
Baktığınız zaman iki kodda aynı satır sayısında gibi gözükebilir ama Switch Case yapısının sağladığı verimlilik çok yüksektir, şöyle ki “tercih” değişkenin değerini girdikten sonra Switch Case yapısında o değere ait case altında ki işlemleri yapıyor veya o değere ait case yoksa default altında ki işlemleri yapıp, eğer işlem yapıldıysa kendinden sonra ki diğer caselerin içine girmeden yapıdan çıkıyordu ama if-else yapısı kullandığımız zaman işlemimizi yaptırsak bile tek tek tüm if kontrollerini kontrol etmesi gerekiyor ve bize oldukça büyük bir işlem yükü getiriyor. Switch Case kullanarak yapılacak kontrol sayılarını yani işlem yükün hafifleterek programımızın daha verimli çalışmasını sağlayabiliyoruz.
Eğer konu hakkında daha fazla örnek incelemek isterseniz, sitemizde ki C programlama dili örnek çözümleri sayfasına göz atmanızı tavsiye ederiz, önümüzde ki derste döngüler konusuna giriş yapacağız.
The post C Programlama Dili Switch Case Yapısı first appeared on Burak İşci.
]]>The post C Programlama Dili If ve If-Else Yapıları first appeared on Burak İşci.
]]>If yapısının kullanımı oldukça basittir ve temel mantığa dayanmaktadır, bildiğimiz gibi bilgisayarda yapılan işlemler temel mantığa dayandığını için benzeri durumu if yapılarında da görebiliyoruz. If yapılarında öncelikle elimizde iki durum/değişken olmalı ve bunları bir karşılaştırma operatörü ile karşılaştırmalıyız, daha sonra da eğer karşılaştırma doğruysa yapılacakları, yanlışsa yapılacakları belirtmeliyiz. If yapısı sadece kendi başına kullanıldığında, yalnızca karşılaştırma doğru olduğunda yapılacakları belirtebiliriz.
if (karşılaştırma){
işlemler;
}
Basit bir örnek kodla bilgilerimizi pekiştirelim;
#include <stdio.h>
int main(){
int a=10;
int b=5;
if (a>b){
printf("A Sayisi B Sayisindan Buyuktur.");
}
return 0;
}
Bu kodda yaptığımız işlem daha önce tanımlanmış olan a ve b sayıları arasında “a>b” karşılaştırmasını yapmak ve eğer karşılaştırma doğru ise ekrana “A Sayisi B Sayisindan buyuktur.” yazdırmak.
Ancak öyle durumlar oluyor ki sadece karşılaştırmanın doğru olması durumunda işlem yapmak yetmiyor, aynı zaman da karşılaştırma yanlışsa da işlem yapmamız gerekebiliyor. İşte böyle durumlarda ise if-else yapılarını kullanıyoruz. Temel olarak kullanımı aşağıda ki gibidir.
if (karşılaştırma){
işlemler; //karşılaştırma doğruysa yapılacak işlemler
} else {
işlemler; //karşılaştırma yanlışsa yapılacak işlemler
}
Şimdi de az önce yaptığımız örneği if-else yapısına uygun olarak tekrardan yazalım.
#include <stdio.h>
int main(){
int a=10;
int b=5;
if (a>b){
printf("A Sayisi B Sayisindan Buyuktur.");
} else {
printf("A Sayisi B Sayisinden Kucuktur.");
}
return 0;
}
Konuyu biraz daha pekiştirmek amacıyla yaşı girilen birinin yaşının ehliyet alıp alamaya müsait olup olmadığını belirleyen programı yazalım.
#include <stdio.h>
int main(){
int yas;
printf("Yasinizi Giriniz: ");
scanf("%d",&yas);
if (yas>=18){
printf("Yasiniz Ehliyet Almaya Musait");
} else {
printf("Yasiniz Ehliyet Almaya Musait Degil");
}
return 0;
}
If ve if-else yapılarının temeli bu kadardır, if ve if-else yapıları C programlama dilinde oldukça sık kullanılan yapılardır ve bu yüzden kesinlikle mantığını iyi öğrenmelisiniz. Konuyu pekiştirmek için sitemizde ki örnek sorular ve çözümlerine göz atmanızı tavsiye ederiz.
The post C Programlama Dili If ve If-Else Yapıları first appeared on Burak İşci.
]]>The post C Programlama Dili Operatörler ve Kullanımları first appeared on Burak İşci.
]]>C programlama dilinde herhangi bir değişkene bir değer atamak için “=” operatörü kullanılır. Bir değişkene bir sabit atayabileceğiniz gibi başka bir değişkenin değerini bir değişken üzerine atayabilirsiniz.
#include <stdio.h>
int main(){
int x,y;
x=5; // x değişkenine 5 değerini atıyor.
y=x; // y değişkenine x değişkenin değerini atıyor.
return 0;
}
Gerçek hayatta yaptığımız basit matematiksel işlemleri bilgisayara aktarmak için kullandığımız operatörlerdir. X ve Y’yi bir değişken olarak kabul edersek kullanımları ve işlevleri şu şekildedir.
|
Operatör
|
İşlev
|
Kullanım
|
|---|---|---|
| + | Toplama | x+y |
| – | Çıkarma | x-y |
| * | Çarpma | x*y |
| / | Bölme | x/y |
| % | Mod Alma | x%y |
| ++ | Sayıyı bir arttırma | x++ veya ++x |
| — | Sayıyı bir azaltma | y– veya –y |
++ veya — operatörleri genellikle gelecek konularda anlatacağımız döngüler içerisinde sayaç değerlerini her turda bir defa arttırmak için kullanılırlar. “x++” ile “++x” arasında ki temel fark şudur; “x++” ifadesi kullanıldığında x değişkeni mevcut değeriyle işleme girer ve işlem bittikten sonra x değişkeninin değeri bir arttırılır, “++x” kullanıldığında ise önce ilk değişkenin değeri bir arttırılır daha sonra işleme girilir. Benzer kullanım — operatörü içinde geçerlidir.
#include <stdio.h>
int main(){
int x,y;
x=5; // x değişkenine 5 değerini atıyor.
y=10; // y değişkenine 10 değerini atıyor.
printf("%d",x++); // Önce x değişkenini ekrana yazdırıp sonra değerini bir arttıyor.
printf("%d",++y); // Önce y değişkeninin değerini bir attırıp sonra ekrana yazdırıyor.
return 0;
}
Programın çıktısı şu şekildedir.
5 11
C programlama dilinde bulunan büyük kolaylıklardan birisi de aritmetik atama operatörlerinin sağladıkları faydalardır. Atama operatörü ile aritmetik operatörlerin işlevlerinin bir arada kullanıldığı bu operatörler kod yazarken bizlere büyük kolaylık sağlamakta.
|
Operatör
|
İşlev
|
Kullanım
|
Açılım
|
|---|---|---|---|
| += | Verilen iki sayıyı topla, sonucu soldakine ata. | x+=y | x=x+y |
| -= | Soldaki sayıdan sağdaki sayıyı çıkar, sonucu soldakine ata. | x-=y | x=x-y |
| *= | Verilen iki sayıyı çarp, sonucu soldakine ata. | x*=y | x=x*y |
| /= | Soldaki sayıyı sağdaki sayıya böl, sonucu soldakine ata. | x/=y | x=x/y |
| %= | Soldaki sayının sağdaki sayıya göre modunu, soldakine ata. | x%=y | x=x%y |
#include <stdio.h>
int main(){
int a,b,x,y,z;
a=22;
b=15;
x=5;
y=10;
z=2;
a+=b; // a ile b değişkenini toplayıp sonucu a değişkenine atıyor.
b-=x; // b değişkeninden x değişkenini çıkarıp sonucu b'ye atıyor.
x*=y; // x ve y değişkenlerini çarpıp sonucu x değişkenine atıyor.
y/=z; // y değişkenini z değişlenine bölüp sonucu y'ye atıyor.
printf("%d - %d - %d - %d",a,b,x,y);
return 0;
}
Bu işlemlerin sonucu sırasıyla aşağıdaki gibidir.
37 - 10 - 50 - 5
Bu operatörleri genellikle bir sonra ki derste göreceğimiz if yapıları veya döngüler de kullanacağınız, temel amaç verilen iki değişken veya değişken grubunu belirtilen şarta göre karşılaştırmak. Bu karşılaştırmalar ayrı türde ki değişkenler arasında olmalıdır.
|
Operatör
|
İşlev
|
Kullanım
|
|---|---|---|
| > | Büyüktür | x>y |
| >= | Büyük eşittir | x>=y |
| < | Küçüktür | x<y |
| <= | Küçük eşittir | x<=y |
| == | Eşittir | x==y |
| != | Eşit değildir | x!=y |
Yapılan karşılaştırmalar doğruysa “1” yanlışsa “0” sonucunu döndürür. Örnek kodlama aşağıdaki gibidir.
#include <stdio.h>
int main(){
int a=10,b=11,c=9,d=11,e=9;
printf("%d %d %d %d %d %d", a<b, a>b, a>c, b==d, c!=e, c<=e);
return 0;
}
Sonuçlar aşağıda ki gibi ekrana yansıyacaktır.
1 0 1 1 0 1
|
Operatör
|
İşlev
|
Kullanım
|
|---|---|---|
| && | Mantıksal ve | x&&y |
| || | Mantıksal veya | x||y |
| ! | Mantıksal değil | !x |
The post C Programlama Dili Operatörler ve Kullanımları first appeared on Burak İşci.
]]>