C# – Ajanda Yazılımı – Personel Girişi ve FileStream Dosya İşlemleri

NYP ilkeleri ile geliştirilecek personel bilgilerini tutan bir Ajanda yazılımı tasarlamanız istenmektedir. Bu amaçla kullanılmak üzere aşağıda verilen Form tasarımlarını yapmalıdır. Ayrıca personel bilgilerine erişmek ve sorgulama işlemlerinde kullanmak üzere Personel.cs ve Ajanda.csisminde iki sınıf tasarlanacaktır. Girilen kayıtlar dosyaya kaydedilecek ve program kapatıldığında bilgi kaybı olmayacaktır. Program yeniden çalıştırıldığında veriler dosyadan okunacak ve çalışmaya devam edecektir. Veri tabanı kullanılması istenmemektedir.

Program çalıştırıldığında ilk olarak Login Penceresi gelecek ve Kullanıcı Adı – Şifre eşleşmelerini “users.txt” dosyasından kontrol edilecek. Yetkili bilinen bir kullanıcı ise Login formu gizlenecek; Ana Form açılacak.

Ana Formun Menustrip kontrolünde Görünüm sekmesinden yeni veri kaydı yapılacak olan Personel Kayıt Ekranına ve Arama Ekranlarına erişim sağlanacaktır.

Tasarlanacak Personel sınıfı için;

a)Personel bilgilerinin ( Ad, Soyad, Doğum Tarihi, Meslek, Cinsiyet, Medeni durum ve maaş ) ve sorgulama metotlarının kodlanacağı bir sınıf tasarlayın. Tüm alanlar için uygun veri türlerini belirleyin.

b)Sınıftaki tüm değişkenler için property tanımlamalarını yapın.

c)Personel adını ve soyadını parametre olarak alan bir kurucu metot tanımlayın.

d)Yaş adında bir sadece get bloğu olan bir property tanımlayın. Bu property için doğum_tarihi değişkenine bağlı olarak personelin yaşını geri dönderecek şekilde kodlamasını yapın.

e)Cinsiyet ve Medeni Durum alanları için enum tanımları yapın.

f)ZamYap, KalanGünSayısı, DosyadanOku, DosyayaYaz isimlerinde 4 metot tasarlamanız gerekmektedir:

ZamYap Metodu: Parametre olarak verilen miktar kadar personelin maaş değişkeninin değerini günceller.

KalanGünSayısı Metodu: 57 yaş baz alınarak personelin emekliliğine kalan gün sayısını hesaplar ve geri dönüş değeri olarak verir.

DosyadanOku Metodu: Belirli bir konumda tutulan “data.txt” isimli dosyadan kayıtların tamamını okur ve her biri için Personel nesnesi oluşturur. Bunları Personel tipinde bir diziye yerleştirip ve bu diziyi geri dönüş değeri olarak verir. Amacı program başlangıcında kayıtların okunmasıdır.

i.Birinci yöntem olarak; burada henüz bilmediğiniz (!) Generic List yapılarını araştırıp kullanabilirsiniz.

Örnek: List<Personel> liste = new List<Personel>();

ii.İkinci bir yöntem olarak; dosyanın ilk satırında toplam kayıt sayısını tutarak kaç elemanlı bir dizi oluşturacağınızı bilebilirsiniz.

Örnek:Personel[] kayıt= new Personel[1000];

iii.Bu biçimlendirmeyi okumak için String sınıfının Split metodundan faydalanabilirsiniz.

DosyayaYaz Metodu: Personel kayıt listesini parametre olarak alır ve “data.txt”isimli dosyaya aşağıdaki biçimlendirmeye uygun şekilde herbir satıra bir kayıt olacak biçimde dosyayı oluşturur.

Örnek Kayıt Biçimlendirmesi şu şekilde olmalıdır:

ad | soyad | dogum_tarihi | meslek | cinsiyet | medeni_durum | maas | email | adres | telefonlar

Burada telefonlar ajanda nesnesinden alınacağı için birden fazla olabilir:

telefonlar : telAdı1,telNo1 + telAdı2,telNo2 + telAdı3,telNo3

Bu biçimlendirmeyi oluşturmak için String sınıfının Join metodundan faydalanabilirsiniz.

Bir personelin birden fazla telefon bilgisi (ev, iş, GSM, GSM2, vb.) olabilir. Bu nedenle telefonları tutmak amacıyla Ajanda.cs isminde bir sınıf tasarlamanız istenmektedir. Ajanda sınıfında telefonAdı ve telefonNo isimli uygun türlerde iki değişken tanımlamasını ve bu değişkenlerin property tanımlamalarını yapınız. Ayrıca uygun bir kurucu metot tanımlayınız.

Örnek:telefonAdı = ev , telefonNo = 332 223 33 36

Daha sonra Personel sınıfı içinde bir Ajanda dizisi oluşturun ve o personele ait telefonları bu diziye ekleyin. (Not:Ajanda dizisini generic list olarak veya 10 elemanlı bir dizi olarak oluşturabilirsiniz. )

DİKKAT EDİLMESİ GEREKENLER

1.Ana Form MdiParent olarak, diğerleri child formlar olarak çalışacaktır.

2.Sınıflar için yukarıda tanımlayacağınız metot ve değişkenlerin tamamı form arayüzünde kullanılmayacak olabilir. Önemli olan sizden istenilenlerin eksiksiz yapılmasıdır.

3.Personel Kayıt işlemi aşağıda tasarımı görülen form üzerinden yapılacaktır. Bu esnada tasarlanacak olan Personel ve Ajanda sınıflarının kullanılması zorunludur. Sınıflar kullanılmadan yapılan ödevler bütünüyle geçersiz sayılacaktır.

4.Personel Kayıt Arama Ekranında personel adına göre arama işlemi yapılacak; ilk bulunan kayıt bilgileri yeni bir FormKayıt Penceresi içinde gösterilecektir.

5.30.05.2019 Perşembe günü ders saatinde şahsen yapılacaktır. Kontrole gelmeyenlerin ödevleri geçersiz sayılacaktır.

6.Dosya adı: öğrenci_numarası.rar şeklinde olmalıdır.

Kodlar : https://github.com/eraykisabacak/Ajanda-Yaz-l-m-

Bir Ömür Nasıl Yaşanır – Hayatta Doğru Seçimler İçin Öneriler – Kitap Yorumlarım

Kitap Adı: Bir Ömür Nasıl Yaşanır – Hayatta Doğru Seçimler İçin Öneriler

Yazar : İlber Ortaylı – Yenal Bilgici

Sayfa Sayısı : 288

Kitap Türü : Kişisel Gelişim, Söyleşi Röportaj

Yayıncı : Kronik Kitap

Kitabımız Yenal Bilgici tarafından yazılmıştır. Kitap soru cevap şeklinde İlber hocamıza sorular sorarak yazılmıştır.

Kitabı okurken İlber hocayla sohbet ediyormuş gibi hissedeceksiniz. Kitabımız toplam sekiz bölümden oluşuyor. Bir ömür nasıl yaşanır, Kimden ne öğrenilir, insan kendini nasıl yetiştirir, nasıl çalışmak gerekir, nasıl seyahat edilir nereleri görmek gerekir, eğitimde hangi tercihleri yapmak gerekir, ne izlemeli dinlemeli ve okumalıyız, insan yaşadığı şehirden nasıl yararlanır gibi toplam 8 bölümden oluşuyor.

İlk bölüm Bir Ömür Nasıl Yaşanır’da ömrümüzü bölümlere ayırarak hangi bölümlerde ne gibi şeyler yapmalısınız neler yapmamalısınız gibi tavsiyeleri oluyor. 12-25, 25-40, 40-55 , 55 yaş ve üzeri olarak ömrümüzü 4 bölüme ayırıyor. Kendisi bu yaşlarda olsaydı neler yapacağından bahsediyor.

Aynı zamanda bazı bölümlerin sonlarında bir liste şeklinde görülmesi gereken yerleri, dinlenmesi gereken müzik ve tavsiye ettiği kitapları görebilirsiniz.

Kitap gayet açık ve akıcı bir şekilde yalın bir dille yazılmış başarılı bir eser. Bence herkesin okuması gereken ve İlber hocanın tavsiyelerini dinlemeliyiz. Okumalıyız, gezmeliyiz.

Kitaptan bazı yerler:

Farklı insanlar arayıp bulun, dünyanız değişsin. – Sayfa 33

Ne yaşadıysanız yüzünüze yansır.İnsanın yüzü bir kitap gibi okunabilir.İfadeniz bomboşsa da hiç bir şey yaşamadığınız fark edilir.Bundan kurtulmak mümkündür;yaşayın monotonluktan uzaklaşın,gezin,görün, keşfedin başkalarıyla ilgilenin, okuyun ,sevin.Bunları dolu dolu yapın ki izleri yüzünüze yansısın.Yüzünüz ifadesiz kalmasın. – Sayfa 49

Yürüyeceksiniz. Gençseniz ve bir şehirde gönlünüzce yürümüyorsanız orayı gezdiğinizi söyleyemezsiniz.

555 Timer Kullanarak 0-99 Sayıcı Devresi Mantık Devreleri Dersi Proje Yapımı

1.GİRİŞ

Mantık devreleri dersinde görmüş olduğumuz 4033 entegresi, kapasitörler 7 segment ve clock palsi vermek için 555 timer konularından bir projeyi hayata, çalışır duruma getirmemiz gerekli.

Bu projeyi yaparken breadboard’un nasıl kullanıldığını, 555 Timer nasıl kullanıldığını nasıl breadboard’a bağlanacağını nasıl çalıştırılacağını gibi şeyler bana kattı. Bu entegreleri kullanırken bana 9 voltluk pil ile çalışmadığını öğrendim ve hemen adaptör alarak bu sorunun üstesinden geldim. Daha sonra internetten araşmalar yaparak entegrelerin ve butonların breadboard’a nasıl takılması gerektiğini videolar ve makaleler yardımıyla öğrenmeye çalıştım. Aynı zaman da projeye başlamadan önce bir simulasyon yapabilmek için de Proteus programını kullanarak nasıl yapılacağını öğrenmeye çalıştım. Bazen hatalarım oldu nasıl yapılacağını nasıl devrenin yapılacağını anlayamadım ama araştırmalar yaparak projeyi başarılı bir şekilde çalıştırdım ve yaptım.  

2.MATERYEL VE YÖNTEM

Projenin yapımında kullanılan materyaller şunlardır:

  • 150R Direnç
  • 555 Entegre
  • 4033 Entegre
  • 10 uF Kapasitör
  • 7 Segment Display
  • Kırmızı Led
  • Erkek Erkek Jumper Kablo
  • Bread Board
  • 5 Volt Çıkış veren Adaptör

Projeyi yapmak için Fatih BAŞÇİFTÇİ hocamızın sayfasındaki konu anlatımlarından faydalandım ve konuları internet üzerinden aramalarımla bilgi edindim.

3.PROJE YAPIM AŞAMASI

 Projemiz 2 tane seven segmentten oluşacak.1 tane 555 timer entegresi kullanılacak. 555 timer bize clock palsleri üretecek. 555 entegresinden çıkan clocklar daha sonra 4033 entegresinin clock girişine bağlanacak. Daha sonra bu clocklar tek tek A’ya clock verecek daha sonraki clock palsinde B’ye verecek tek tek A’dan G çıkışına kadar vererek ilerleyecek. En son G’ye geldiğinde bir sonrakinde tekrardan başa dönecek.Bu A B’ler daha sonra seven segmentin a b c’ye direk olarak bağlacak. 2 tane 4033 kullandığımız için birinci 4033’ün 1 tekrarı CO çıkışından yani fazlalık olduğundan bunu ikinci 4033’ün clock palsine verecek. Düzgün bir şekilde VCC ve GND bağladığımızda çalışacaktır.

Projemizin Proteus’daki simulasyonunu aşağıda görebilirsiniz.

Şekil 3.1 Devrenin Proteus ile çizimi

 

4.PROJE’DE KULLANDIĞIM ELEMANLAR

4.1. Direnç

Direncin kelime anlamı, “bir şeye karşı gösterilen zorluktur” olarak tanımlanır. Devre elemanı olan dirençte devrede akıma karşı bir zorluk göstererek akım sınırlaması yapar. Elektrik enerjisi direnç üzerinde ısıya dönüşerek harcanır. Direncin birimi ”Ohm” ‘dur. Ohm ‘un ast katları; pikoohm, nanoohm, mikroohm, miliohm, üst katları ise; kiloohm, megaohm ve gigaohm ‘dur.Direnç “R” veya “r” harfi ile gösterilir.

Şekil 4.1.1 Direnç

Dirençler devrelerde ne için kullanılır;

  • Devreden geçen akımı sınırlayarak belli bir değer tutmak,
  • Devrenin besleme gerilimini bölüp küçülterek diğer elemanların çalışmasını sağlamak
  • Hassas devre elemanlarının yüksek akımdan zarar görmesini engellemek
  • Yük (alıcı) görevi yapmak ve ısı enerjisi elde etmek gibi amaçlarla kullanılır.

4.1.1. Dirençler Çeşitleri;

Karbon karışımlı dirençler: Bu tip dirençler toz halindeki karbonun dolgu maddesi ve reçineli tutkal ile karışımından üretilir. Karbon dirençler tolerans oranları yüksek olan ve değerleri direnç eskidikçe değişebilen dirençlerdir. Karbon dirençler büyük değerli dirençlerin yapılmasına uygundur. Karbon dirençler küçük akımlı devrelerde kullanılır ve güçleri 1/10 W ile 5 W arasında değişmektedir. Karbon dirençlerin değerleri renk koduyla kodlanmıştır.

Film dirençler (ince tabakalı direnç): Film dirençler elektrik akımına karşı direnç gösteren bir maddenin, seramik bir çubuğun etrafına kaplanmasıyla elde edilen dirençlerdir. Film dirençlerin; karbon film dirençler, metal film dirençler, metal oksit film dirençler, metal cam karışımı film dirençler ve cermet (seramik-metal) film dirençler gibi çeşitleri bulunmaktadır. Film dirençlerin tolerans (hata) oranları %1-2 gibi çok küçük değerlerdir. Düşük tolerans değerleri ve yük altındaki yüksek kararlılıkları nedeniyle film dirençler hassas yapılı elektronik devrelerde sıklıkla tercih edilir.

Tel sarımlı (taş) dirençler: Taş dirençler; krom-nikel, nikel-gümüş, konstantan, tungsten, manganin vb. Maddelerden üretilmiş tellerin porselen, bakalit, amyant gibi ısıya dayanıklı olan bir madde üzerine sarılması ile üretilen dirençlerdir. Taş dirençler büyük güçlüdürler, bu nedenle de yüksek akım çeken devrelerde kullanılmaları uygundur. Aynı sebepten dolayı taş dirençlerin yaydıkları ısı da yüksek olacağından devre üzerinde bu tip dirençlerin yakınına elektrolitik kondansatör, diyot, transistör, entegre vb. ısıdan çabuk etkilenen elemanlar monte edilmemelidir. Taş dirençler küçük değerli dirençlerin yapılması için uygundur. Taş dirençlerin değerleri gövdeklerinde yazılıdır ve güçleri 2 W ile 225 W arasındadır.

4.1.2. Dirençler Bağlantı Türleri;

Paralel bağlantı: Paralel bağlantıda formül 1 /RToplam = ( 1 /R1 ) + ( 1 /R2 ) + ( 1 /R3 ) + ( 1 /R4 ) şeklindedir. İşlemler yapılmadan önce tüm değerler aynı yani ohm, Kohm veya Mohm cinsine dönüştürülmelidir.

Şekil 4.1.2.1 Diren paralel bağlantı

Seri bağlantı: Yan taraftaki resimde dört adet direncin birbirine seri bağlanmıs durumu görülmektedir. A ve B uçlarındaki toplam direnç değerinin hesaplama formülü, RToplam = R1 + R2 + R3 + R4 şeklindedir.

Şekil 4.1.2.2 Seri bağlantı

4.2 Kapasitör

Kondansatörler(sığaçlar) ya da diğer ismiyle kapasitörler, elektrik enerjisini elektrik alan olarak depolayan iki uçlu bir devre elemanlarıdır. Temelde iki adet iletken plakanın arasına yalıtkan bir madde koyulması ile elde edilir. Devrede ve denklemlerde C harfi ile gösterilir ve birimi Farad (F)‘dır.

Şekil 4.2.1 Kapasitörün Mantığı

Kondansatörler doğru akımı (DC) iletmeyip, alternatif akımı (AC) iletme özelliğine sahiptir. Bu özellikleri sayesinde çoğu devrede farklı amaçlar ile kullanılırlar. Güç kaynağı devrelerinde filtrelemede, rezonans devrelerinde istenilen frekansı üretmede ve güç aktarım hatlarında gerilim düzenlenmesi ve güç akışının kontrolünde kullanılırlar.Kondansatör’ün 6 tane çeşidi bulunur. Seramik Kapasitör, Elektrolit Kapasitör, Tantal Kapasitör, Mika Kapasitör, Trimer Kapasitör, Süper Kapasitör.

Seramik Kapasitör, mercimek kapasitör de deniliyor. Ses ve RF devrelerde tercih edilir. Ucuz ve güvenilirdir.

Elektrolit Kapasitör, Polarize tipte kutuplu bir yapısı vardır. Yüksek kapasite değerlerini sağlayabilirler. Silindiriktir. Düşük frekans işlerinde kullanılır.

Tantal kapasitör, Elektrolit kondansatör gibi tantal kapasitörde kutuplu yapısı vardır. Boyutlarına oranla yüksek kapasite değerleri sunabilirler.  Ters gerilme toleransları çok düşüktür.

Mika kapasitör, RF devrelerinde kullanılır. Günümüzde çok kullanılmayan kapasitör çeşididir.

Trimer kapasitör, kapasite değeri tornavida aracılığı ile değiştirilebilir tiptedir.En düşük 0.5 – 10 pf ve en yüksek 1-120 pf arasında değişir.

Süper kapasitör, ultra kapasitör de deniliyor. 12 Kf (12.000 Farad) gibi çok yüksek kapasite değerlerine sahiptir.Depoladığı enerjinin yaklaşık 10 ile 100 katı kadarını depolar.

4.3. Bread Board (Devre Tahtası)

Proje yaparken en büyük yardımcılarınızdan birisi ana temeli oluşturan devre elemanı olan Bread Board’dır. Devre tahtası ile projelerimizi lehim yapmadan kolayca kurabiliriz. Genel olarak içerisinde birbirine bağlı hatları barındıran devre tahtası üzerine elektronik bileşenleri yerleştirerek projelerimizi çalışır hale getirebiliriz. Devre tahtası üzerinde birbirne bağlantılı paralel hatlar bulundurur.

Şekil 4.3.1 Breadboard

Kırmızı hatta +, mavi hatta ise toprak hattını bağlayıp daha sonra devrenizin diğer bölümlerinde bu hatlar üzerinden gerilimlere ulaşabilirsiniz. Orta bölümde bulunan 5’li delik gruplarının her biri kendi içerisinde bağlantılıdır. Yani kırmızı çizgi boyunca uzanan her bir delik kısadevre durumundadır. Dolayısıyla aynı sıradaki deliklere oturttuğunuz komponentler birbirine bağlanmış olur. Deliklerin her biri A,B,C,D,E,F harfleriyle belirtilmiştir. Ayrıca sol taraftaki numaralar da delik gruplarını ifade etmektedir.

Breadboard’ın iç yapısına bakacak olursak bu şekilde görünecektir.

Şekil 4.3.2 Breadboard içi

4.4 5 Volt Adaptör

5 volt adaptörü breadboardumuza bağlamamız şarttır çünkü entegreler 5 volt güç ile çalışmaktadır. Eğer entegrelere daha fazla güç verirsek entegreler çalışma veya entegreleri yakma ihtimalimiz olabilir.

Şekil 4.4.1 5 Volt Adaptör

 

4.5 4033 Entegre

4033 Entegresi 7 segment için gereklidir. Birinci pin yerinden clock girişi alır. Her aldığında tek tek sayar. 0’dan başlayarak 9’a kadar gidecektir.

4033 Entegresinin içeriğinde D flip flop’u bulunur. Mantık şemasını alt tarafta bulabilirsiniz.

4033 Pinlerindeki A,B,C,D,E,F çıkışlarını 7 Segment Displaydeki A,B,C,D,E,F girişlerine bağlamalıyız. Böylelikle her clock palsi geldiğinde tek tek gezecektir.

16. Giriş pininde VCC. Sekizinci girişe GND’yi bağlıyoruz. Üçüncü girişe de VCC bağlıyoruz. İlk clock palsi verdiğimiz 4033 entegresinden 9’a kadar gideceği için bir sonraki clock palsinde fazlalık döndürecek. Bu fazlalık clock palsi yerine geçecek ve bunu da 5 pinli girişten 2. 4033 entegresinin birinci girişine bağlayarak 4033 entegrelerini devremize bağlamış oluyoruz.

Şekil 4.5.1 4033 Entegresinin Mantığı İç Tasarımı

Şekil 4.5.2 4033 Entegresinin Girişler

4.6 555 Timer Entegre

555 Entegresi bize clock palsleri verecektir. Birinci pinimiz GND bağlayacağız.Birinci giriş pinimizi GND’ye bağlayacağız. Sekizinci girişimiz VCC bağlayacağız. İkinci pin ile altıncı pinilerin birbirine bağlıyoruz. Sekizinci pinden bir kablo ile yedinci pine bağlıyoruz. Daha sonra yediden de altıncı pine direnç bağlıyoruz. Altıncı pine de kapasitör bağlıyoruz ve eksi tarafını GND’ye bağlıyoruz.Dörtüncü pine VCC bağlıyoruz daha sonra dörtden geleni sekizinci pine bağlıyoruz. Daha sonra tek tek kontrol ediyoruz herhangi bir yanlışlık olmaması için düzgün bağladığımızda üçüncü pinden clock palslerini alabiliriz. Öncelikle led ile kontrol etmekte fayda var.

Şekil 4.6.1 555 Timerın Girişleri

4.7 Seven Segment Display

Günlük hayatta birçok alanda karşımıza çıkan ve 7 Segment Display diye adlandırılan sayısal göstergeler oldukça yaygın şekilde kullanılan elektronik devre elemanlarıdır. 7 Segment Display’ler LED tabanlı göstergelerdir. İçerisinde bulunan 7 adet LED ile aydınlatılan 7 ayrı bölmeden oluşan bir sistem bütünüdür. 7 Segment Display’lerde LED’lerin kullanılmasının en önemli nedeni LED’lerin çok küçük hacimlerde olan türlerinin olmasıdır. Bu küçük LED’ler belirli bir kalıp içerisine yerleştirilerek 7 Segment Display’ler oluşturulmaktadır.

Şekil 4.7.1 Seven Segment

Sayıların ve yazıların oluşması için A,B,C,D,E,F olarak adlandırılmıştır. Eğer A harfini basmak istiyorsak A,B,C,E,F,G pinlerine elektrik göndermemiz ile A harfi oluşacaktır. Ama bizim böyle tek tek yapmamıza gerek yoktur çünkü 4033 entegresi her clock palsinde bize tek tek 0,1,2 …. 9 kadar değerler verecektir.

Seven segmentin 2 çeşidi bulunur. Birisi katot’dur diğeri anottur.Katot da COM pin yerine GND vererek seven segmentimize güç vermiş oluyoruz. Anotta ise COM pin yerine VCC vererek seven segmentimizi çalıştırmış oluyoruz.

Şekil 4.7.2 Seven Segment Girişleri

Projenin Youtube Videosu : https://www.youtube.com/watch?v=HzCiIdXODWI&ab_channel=ErayK%C4%B1sabacak

5.KAYNAKLAR

Prof. Dr. Fatih BAŞÇİFTÇİ, 2018,  Boolean Cebiri,

http://www.fatihbasciftci.com/dersler/mantik_devreleri/bolum_4/index.php

Prof. Dr. Fatih BAŞÇİFTÇİ, 2018,  Lojik Kapılar ve Lojik Devreler,

http://www.fatihbasciftci.com/dersler/mantik_devreleri/bolum_5/index.php

Prof. Dr. Fatih BAŞÇİFTÇİ, 2018,  Karnaugh Haritaları,

http://www.fatihbasciftci.com/dersler/mantik_devreleri/bolum_6/index.php

Robot Sistem, 2018,  Direnç,

http://www.robotiksistem.com/direnc_nedir_direnc_cesitleri.html

Robotistan, 2016,  Direnç,

Coşkun Taşdemir, 2012,  Breadboard,

http://arduinoturkiye.com/devre-tahtasi-breadboard-kullanimi/

Devre Okulu, 2018,  Karnaugh Haritaları,

http://devreokulu.com/74HC08.html

Hızır İlyas Seçen, 2018,  Karnaugh Lojik Devreler,

https://www.elektrikport.com/makale-detay/lojik-devreler-(kapilar)-elektrikport-akademi/11519

Emir Buğra KÖKSALAN, 2017,  Karnaugh Haritaları,

Muhammed Ahmet ALKAN, 2016,  7 Segment Display Nedir?,

https://www.elektrikport.com/teknik-kutuphane/7-segment-display-nedir/18475

Kerem İzgöl, 2017,  Kapasitör Nedir?,

Java’da Methodlar Yardımı ile Hesap Makinesi Yapımı Kodları

Bu makalemizde methodlar yardımı ile hesap makinesi yapacağız.

Öncelikle 2 tane sayı alalım bu int değişkeninde olsun ve bunların isimleri sayi1 ve sayi2 olsun. Daha sonra kullanıcıdan sayılarımızı almamız için scanner sınıfını ekleyelim.

Daha sonra ise kullanıcıya bir metin yazalım. Burada 1 Toplama 2 Çıkartma 3 Çarpma 4 Bölme diye bir metin yazdıralım.Daha sonra kullanıcıdan bir tane işlem isteyelim. Daha sonra ise girdiği işlemi kontrol etmek için bir if else yazalım. Burada her işlem için öncelikle sayilar metoduna gidecek ve orada 2 tane sayı isteyecektir. Daha sonra ise her if else de hangi işleme gidecekse oraya gönderecektir ve sonucu ekrana yazdıracaktır.

Kodları alt tarafta bulabilirsiniz.

Kodlar:
https://github.com/eraykisabacak/java-hesap-makinesi

C# ile 5’e Bölünen 7’ye Bölünemeyen Sayıları Bulan Program

Merhaba arkadaşlar bugün sizlere C#’da 5’e bölünen 7’ye bölünemeyen sayıları bulmaya çalışacağız.

Öncelikle 2 tane textbox koyalım. Daha sonra sayıları eklemek için listbox ekleyelim.

Daha sonra ise kod tarafına geçelim. Burada öncelikle textboxtaki sayıları değişkene ekleyelim.

Sonra bir döngü ile bütün sayıları alalım ve if yardımı ile 5 ile bölünenleri bulalım içerisinede 7’ye bölünemeyenleri bulalım. Listbox’a ekleyelim. Daha detaylı bakmak için kodları alt tarafta bulabilirsiniz.

Kodlar:
https://github.com/eraykisabacak/csharp/tree/master/5e%20Bolunen%207ye%20Bolunmeyen%20Sayilar

C# ile Basit Hesap Makinesi Yapımı

Merhabalar bu yazımız da basit düzey de nasıl yapacağımızı göstereceğim.

İlk öncelikle 2 tane textbox koyalım ve 1 tanede button koyalım. Sonuçlarını yazdırmak içinde 1 tane label koyalım ve 4 tane radiobuttonu koyalım.

Daha sonra kod tarafına geçelim ve öncelikle 2 tane double sayı1 sayi2 tanımlayalım. Buradaki önemli nokta double olması çünkü 2 sayıya bölündüğünde virgülden sonraki görebilmemiz içindir.

Bu sayıları alırken textbox’daki text alalım ve convert ile double’a dönüştürelim. Daha sonra ise radiobuttonlarının hangisinin işaretlendiğini anlamak için checked ile kontrolümüzü yapalım.

Daha sonra ise if’lerin içine toplama çıkartma çarpma bölme olarak yapalım.

Böylelikle basit bir hesap makinesi yapmış oluyoruz. Kodları alt taraftaki github linkinden bulabilirsiniz.

Kodlar :
https://github.com/eraykisabacak/csharp/tree/master/HesapMakinesi

C# ile Form Ekran Tasarımı

Merhaba arkadaşlar bugün sizlerle beraber örnek bir tane form tasarımını sizlerle paylaşacağım.

Kodlar:
https://github.com/eraykisabacak/csharp/tree/master/UygulamaDesign1

Steven Jobs Olsa Ne Yapardı? Kitap Yorumlarım

Kitap Adı: Steven Jobs Olsa Ne Yapardı ?

Yazar : Cevher Ceylan

Sayfa Sayısı : 116

Kitap Türü : Girişimcilik, Biyografi, İş Adamı, Ekonomi

Yayıncı : Karakarga Yayıncılık

Merhabalar bugün ki okumuş olduğum bir kitaptan bahsetmek istiyorum. Kitabımızın ismi Steven Jobs Olsa Ne Yapardı ? Kitabımız’da sadece Steven Jobs’dan bahsedilmiyor.

Birçok ünlü iş adamı ve girişimci bulunuyor. Bunlardan bazılarını söylemek gerekirse Facebook’un kurucusu Mark Zuckerberg, Apple’ın kurucusu Steven Jobs, Microsoft’un kurucusu Bill Gates, Dell’in kurucusu Michael Dell ve Türkiye’den bir isim Webtures’in ve Seo Hocasının kurucusu Kaan Gülten‘de bulunuyor. Kitabın içeriğinden bahsetmek gerekirse öncelikle Hata Yapmak, Risk Almak ve Rekabete Girmek hakkında bir bölümü oluşuyor. Daha sonra ki bölümler de ise bölüm bölüm iş adamlarını ve girişimcileri ayırarak bölümler oluşturulmuş. Önce kişi hakkında kısa bir özgeçmişi var ve hangi yollardan geçtiğini bize aktarıyor. Daha sonra ise kişi hakkındaki bazı tavsiyelerini parça parça olarak bize aktarıyor.

Ben kitabın kısa ve öz olmasını beğendim. Eğer girişimcilik ve biyografi alanında bir kitap okumak istiyorsanız öneririm.

Kitaptan bazı alıntılar…

Kaan Gülten‘den Tavsiyeler:

  • 1 yıl planladığınız bir hedefi 12 aya bölüp aylık hedefler çıkartın. Hatta onları da 30’a bölüp günlük hedefleri çıkartın. Her günkü hedefi gerçekleştirdikçe her gün projeyi başarmış gibi mutlu olabileceksiniz. Küçük parçalara böldükçe başarılmayacak hedef yoktur.

Michael Dell’den Tavsiyeler:

  • Zengin olabilmek için, uyurken bile para kazanabilmen gerekir. Bunun yolunu bulmalısın.

Mark Zuckerberg‘den Tavsiyeler:

Zeki insanların görüşlerine önem verin. Zira zeki bir insan inatla değil, mantıkla hareket eder. Mantık, bir ürün sunmaya çalışan şirketin sahip olması gerek temel özelliklerden biridir.

C# ile Formu Hareket Ettirme Sağ Sol Yukarı Aşağı

Merhabalar bu yazımda C# ile form ekranını yukarı aşağı sağ sol olmak üzere 4 tarafa buttonlar ile nasıl hareket ettirileceğinin kodunu sizlerle paylaşacağım.

Öncelikle programıma 4 adet buton ekliyoruz. Daha sonra butonların üzerine çift tıklayarak tıklandığında ne olması gerektiğini içerisine yazıyoruz.

Burada öncelikle isterseniz butonları isimlerini değiştirebilirsiniz. Ben değiştirdim. Sonra 2. form ekliyoruz. Daha sonra 1. form açıldığında load yerine yani yüklendiğinde 2.formun açılmasını istiyoruz. En üstte ise bunu tanımlıyoruz nesne olarak. Daha sonra yukarı butonu için form2 yani fr2’ye top -25 ekleyerek yukarı gitmesini sağlıyoruz. Daha sonra sol için left -25 sağ için left +25 ve aşağı için top +25 eklemesi yaparak her tıklandığında bunu arttırıyoruz.

Kodların Tamamı :
https://github.com/eraykisabacak/csharp/tree/master/Sag_Sol_Yukari_Asagi/Sag_Sol_Yukari_Asagi

C# ile Bir Formdan Diğer Forma Bilgi Aktarma

Bu yazımızda C# ile Form1’den Form2’ye nasıl bilgileri değerleri aktarabileceğimizi göstereceğim.

Öncelikle 1 tane textbox koyuyoruz. Daha sonra 1 tane de buton koyuyoruz.

Daha sonra butona çift tıklayarak butona tıklandığında neler olması istediğimizi buraya yazıyoruz.

Burada öncelikle form2’yi projenin Solution Explorer kısmından Add diyerek 1 tane Windows Form oluşturuyoruz. Sonra bu oluşturduğumuz yeni forma 1 tane label ekliyoruz. Daha sonra geri gelerek butona bastığımızda ne olacak olan button1_click geliyoruz. Buraya öncelikle form2 nesnesini oluşturuyoruz. Daha sonra textbox’dan almış olduğumuz değeri form2 nesnesinin label’ına eşitliyoruz ve form2’yi show ediyoruz. Yani form2’yi ekrana getirmiş oluyoruz.

Kodları Aşağıda bulabilirsiniz.

Github : https://github.com/eraykisabacak/csharp/tree/master/Diger_Forma_Bilgi_Aktarma