C# ile Dosya Okuma Yazma İşleme

Benzer belgeler
NESNEYE YÖNELİK PROGRAMLAMA

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

Algoritma ve Programlamaya Giriş

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

ÖDEV (Vize Dönemi) CEVAPLAR. 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız.

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

PROGRAMLAMA DİLLERİ I

KARAR YAPILARI. Acaba hangi yöne gitmeliyim? Oturduğun yerden kalkıp, kapıya varana kadar kaç kez karar verdiniz biliyor musunuz?

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

HSancak Nesne Tabanlı Programlama I Ders Notları

M.ilkucar MAKU MYO 1

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Olimpiyat Soruları. sonuçları tekrar fonksiyonda yerine koyup çıkan tüm sonuçları toplayan program (iterasyon sayısı girilecek)

8- PROGRAM YAPISAL KOMUTLARI ve. M.ilkucar MAKU MYO 1

YMT219 VERİ YAPILARI ÖDEV-1

NB Macro Kullanımı Hakkında Genel Bilgiler

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA MATLAB

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

BİLGİSAYAR PROGRAMLAMA DERSİ

BMT 101 Algoritma ve Programlama I 7. Hafta. Yük. Müh. Köksal Gündoğdu 1

PROGRAMLAMA TEMELLERİ DERSİ ÖZETİ

Length: metin uzunluğunu yada diğer bir deyişle dizi elaman sayısını döndürür.

BİL-142 Bilgisayar Programlama II

BİLGİSAYAR PROGRAMLAMA MATLAB

HSancak Nesne Tabanlı Programlama I Ders Notları

String ve Karakter Dizileri. Yrd. Doç. Dr. Fehim KÖYLÜ Erciyes Üniversitesi Bilgisayar Mühendisliği Bölümü

BİL-142 Bilgisayar Programlama II

SİNOP ÜNİVERSİTESİ MESLEK YÜKSEKOKULU MEKATRONİK PROGRAMI

ALGORİTMA VE PROGRAMLAMA I

HSancak Nesne Tabanlı Programlama I Ders Notları

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya

Fonksiyonlar (Altprogram)

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

İŞLETMELERDE BECERİ EĞİTİMİ DERSİ MİCROSOFT WORD 2007 ÇALIŞMALARI

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

ATATÜRK ÜNİVERSİTESİ BİLGISAYAR MÜHENDİSLİĞİ BÖLÜMÜ BM 104- NESNEYE YÖNELİK PROGRAMLAMA DERSİ BAHAR DÖNEMİ ÖDEV-3

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz.

Fen ve Mühendislik Uygulamalarında MATLAB

Java String İşlemleri

İnternet Programcılığı Dersi 2.Dönem Ders Notu

Uygulamalar 4 IsMissing Fonksiyonlar ve Alt Programlar Prosedür Parametreleri Public Function f(x,y,optional t, Optional k) End Function 1.

Örnek bir Algoritma. Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını tanımlamaktadır.

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

DOSYA İŞLEMLERİ Programlama dilleri hafta -

ALGORİTMA VE PROGRAMLAMA I

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

Görsel Programlama 1

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

KRİPTOANALİZ DERSİ FİNAL ÖDEVİ. PSO ile TRANSPOSITION CIPHER ÇÖZÜMÜ

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA ÖRNEKLERİ ve YAZILIYA HAZIRLIK SORULARI

Program Akış Kontrol Yapıları

Microsoft Office Excel 2007

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

HESAP MAKİNASI YAPIMI

İNTERNET TABANLI PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

Yrd. Doç. Dr. Caner ÖZCAN

// hataları işaret eden referans

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Nesneye Dayalı Programlama Laboratuvarı

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

BMT 101 Algoritma ve Programlama I 11. Hafta. Yük. Müh. Köksal Gündoğdu 1

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

Data Structures Lab Güz

Karabük Üniversitesi, Mühendislik Fakültesi... WEB TEKNOLOJİLERİ

1. LabVIEW ile Programlama

CJ-CP1H-CP1L PLCLERĐNDE FONKSĐYON BLOĞU OLUŞTURMA

4- ALGORİTMA (ALGORITHM)

ALGORİTMA VE PROGRAMLAMA I

Resim 7.20: Yeni bir ileti oluşturma

Yrd. Doç. Dr. Caner ÖZCAN

10 LU SAYISAL SİSTEMİ İLE 2 Lİ SAYISAL SİSTEMİ ARASINDA ÇEVİRİM UYGULAMASI

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

YZM 2105 Nesneye Yönelik Programlama

ALGORİTMA VE PROGRAMLAMA I

T.C. İSTANBUL ÜNİVERSİTESİ AKADEMİK KAYIT SİSTEMİ AKADEMİK PERSONEL SINAV İŞLEMLERİ

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

HSancak Nesne Tabanlı Programlama I Ders Notları

Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri

Programlama Temelleri. Ders notları. Öğr.Gör. Hüseyin Bilal MACİT 2017

KBÜ. TBP101 Programlama Temelleri. Öğr. Gör. Dr. Abdullah ELEN KARABÜK ÜNİVERSİTESİ.

T.C. İSTANBUL ÜNİVERSİTESİ AKADEMİK KAYIT SİSTEMİ İDARİ PERSONEL SINAV İŞLEMLERİ

Visual Studio 2010 veya 2013, Sharp Develop 3.2 programlarını kurabilirsiniz.

BPR152-Algoritma ve Programlama II Uygulama -12

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

Aynı tipten çok sayıda değişken topluluğudur. X Y Score1 Score2 (0) (1) (2)...

DÖNGÜLER BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA DENEY-4 FÖYÜ GİRİŞ LABORATUARI.

PROGRAMLAMAYA GİRİŞ DERS 2

Transkript:

C# ile Dosya Okuma Yazma İşleme Ödev Metni Bir input dosyasından kayıtlar okunacak ve kayıtlarda ki bir anahtar alana göre sıralı bir output dosyası oluşturulacaktır. input1.txt Kayıtlar sırasız bir şekilde yerleştirilmiş ve bütün kayıtların uzunluğu değişkendir. Kayıtlarda ki alanların uzunlukları da genelde değişkendir ve alanlar birbirinden karakteriyle ayrılmaktadır. Kayıtlarda ki alanlar: Ders kodu (7 characters) Ders adı (variable length >= 1) Dersin kredisi (1 character) Önşart dersi (variable length >= 0) Ders açıklaması (variable length >= 1) output.txt Output Dosyasında yapılacak işlemler: Sort Output dosyasında kayıtlar Ders koduna göre sıralı olarak yerleştirilmiş olacak. Duplicate eleme Dosyada çift kayıtlar (aynı ders koduna sahip dersler var ise bunlar istenirse silinebilecek) Insert output.txt ye sıralı yerine kayıt ekle

Projenin Raporu Projenin çalışır kodlarını indirmek için TIKLAYIN Kayıtların Dosyada Tutulma Formatı ve Kayıt Bilgilerin Ayrıştırılması Dosyada her bir satır bit kayıttır ve her bir kaydın alanları birbirinden karakteri ile ayrılmaktadır. Dosyadan her okumada bir satır dolayısı ile bir kayıt okunur. Okunan bu kayıt karakteri baz alınarak parçalanır ve her bir parçası oluşturulan bir diziye atanır. Bu dizi içerisinde her zaman; 0. Eleman: Dersin kodu 1. Eleman: Dersin adı 2. Eleman: Dersin Kredisi 3. Eleman: Dersin şart dersi (şart ders yok ise bu eleman boş kalır) 4. Elaman: Dersin açıklaması bulunur.

Ders Sınıfı Bu sınıf, her bir kaydı temsil eden dersleri barındıracak olan yapıyı sunar. Sahip olduğu metot ve özellikle aşağıdaki gibidir; public enum SiralamaOlcudu Sıralama metodunda sıralamanın hangi alana göre yapılacağını belirtmek için kullanılan parametreyi daha anlaşılır yapmak için kullanılan yapıdır. İçerdiği alan şu şekildedir; KredisineGore, KodunaGore, AdinaGore Sınıfın Sahip Olduğu Alan ve Yapıcı Metotlar private string _Kod: Dersin kodunu tutar ve yedi karakter uzunluğundadır. private string _Ad: Dersin adını tutar ve en az bir karakter uzunluğundadır. private int _Kredi: Dersin kredisini tutar ve bir karakter uzunluğundadır. private string _OnSart: Dersin varsa şart dersi onu tutar ve herhangi bir uzunluk sınırlamasına tabi değildir. private string _Aciklama: Dersin açıklamasını tutar ve en az bir karakter uzunluğundadır. Sınıf iki adet yapıcı metot içerir bunlardan biri boş parametre listesi ile çağrılabilirken diğeri nesnenin özellikleri taşıyacak şekilde çağrılır. Ders Arama Metodu public static Ders DersAra(string dosya, string DersKodu) prototipine sahiptir. Parametre olarak içinde arama yapacağı dosyanın adresini ve arayacağı dersin konu alır. Adresini aldığı dosyadan sırayla kayıtları çekerek aradığı kayıt olup olmadığını

araştırır. Elindeki kayıt aradığı kayıt ise Ders sınıfından bir nesne olarak döndürür. Bu şekilde dosyanın sonuna kadar ilerler. Dosyanın sonuna geldi ise ve kaydı bulamadı ise Ders sınıfından null değer taşıyan bir nesne döndürür. Sıralama Metodu public static List<Ders> Sirala(List<Ders> Siralanacak, bool DosyayaYazilsinMi, SiralamaOlcudu NeyeGore) prototipine sahiptir. Parametre olarak sıralayacağı kayıtların listesini, sıralama sonucunun dosyaya yazılıp yazılmayacağını ve sıralamanın neye göre yapılacağını belirten değerler alır. Sıralama işlemi için kabarcık sıralama algoritmasını kullanır. Kayıtları sırayla ikili olarak karşılaştırır. Önce gelen kayıt sonraki kayıttan büyük ise yer değiştir. Böylece her iterasyonda listenin en büyük elemanı listenin sonuna gelmiş olur. Sıralama sırasında içerisinde bulundurduğu bir switch-case yapısı ile SiralamaOlcudu parametresinin değerine göre kaydın hangi alanlarını karşılaştıracağına karar verir. Dersleri Listeleme metodu public static List<Ders> DersleriListele(string dosya) prototipine sahiptir. Parametre olarak kayıtların okunacağı dosya yolunu alır ve sonuçta Ders sınıfından bir liste döndürür. Kayıtları sırayla dosya sonuna kadar okuyup her bir kaydı Ders sınıfından bir nesneye çevirip döndüreceği listeye ekler ve dosya sonuna geldiğinde listeyi dönderir. Dosyaya Yazma Metodu public bool DosyayaYaz(string dosya) prototipine sahiptir. Parametre olarak yazma yapacağı dosya yolunu tutar. Üzerinden çağrıldığı nesneyi parametre ile belirtilen dosyaya eklemeye çalışır. Ekleme başarılı olursa true başarısız olursa false değer döndürür.

Form1 Sınıfı (Uygulama Katmanı) Kayıt İçin Girilen Değerlerin Doğruluğunu Test Eden Metot bool KayitlariKontrolEt(out string Kod,out string Ad,out int Kredi, out string onsart, out string Aciklama, out string DonecekHataMesaji) parametresine sahiptir. Parametre listesi Ders sınıfından nesnenin özellikleridir ve hatalı kayıt olması durumunda hata mesajını taşıyacak olan stringtir. Test işlemi için öncelikle ilgili metin kutularından değerleri çekip ilgili değişkenler atar daha sonra uzunluk bilgilerine bakar. Bu noktada ders kodu değişkeninin ilk dört karakterinin harf son üç karakterinin de rakam olmasını test eder. Test sırasında ilk hatalı değişkende; ilgili değişkenin hata mesajını DonecekHataMesaji na atar ve false değer döndürür. Bütün kayıtların doğru formatta olduğu görüldüğünde hatamesajı içeriğini boş bırakarak true değer döndürür. İnput.txt Dosyasına Yeni Kayıt Ekleme Bu işlem için öncelikle KayitlariKontrolEt metodu çağrılır ve true değer dönerse şu işlemleri yapar; Metin kutularına girilen değerler ile Ders sınıfı tipinden bir nesne oluşturur ve bu nesne üzerinden DosyayaYaz metodunu çağırır. Bir Dersi Koduna Göre Arama Ders arama bölümünde ki ders kodu metin kutusundan arayacağı kodu alır ve bu kodla beraber içinde arama yapacağı dosya adını DersAra statik metoduna parametre olarak atar. Sonuçta dönen değer nul değer ise kaydın bulunmadığına yönelik mesaj verir. Dönen değer dolu ise kaydın bilgilerini ilgili alanlara girer.

MICROCHIP Firmasının f serisi Denetleyicileri için Timer Interrupt Sayısı Hesaplama Programın kullanımı: 1. 2. 3. 4. 5. Kullanılacak timer tipini seç, Kullanılacak timer bölme değerini seç, Timerın kaç saniyede bir interrupta gireceğini gir, Interrupt sayılarının küsüratlı gelmemesi için Sadece tamsayılı interrups göster kutucuğunu tıkla, Hesapla butonuna tıkla. Not: Gerekli olan sürenin kaç saniye tutuğunu hesaplamak için programa dahili olan Zaman Hesaplama aracını kullanabilirsiniz. Projenin çalışır kodlarını indirmek için TIKLAYIN

Metin Şifreleme Programı Projenin çalışır kodlarını indirmek için TIKLAYIN Program C# ile yazılmış. Program açılışta ekrandaki gibi iki seçenekle başlar. Şifreleme yapılacaksa Şifrele butonuna tıklanır. Bu buton tıklandıktan sonra aşağıdaki gibi bir şifreleme penceresi açılır.

Açılan pencerede sol tarafa şifrelenecek metin yazıldıktan sonra Şifrele butonuna tıklanır. Burada dikkat edilmesi gereken nokta metin şifrelendikten sonra ortada yazan anahtar değerinin not edilmesidir zira bu anahtar değeri şifrelenmiş metinin çözümlenmesinde kullanılacak. Şifrelendikten sonra metnin şifrelenmiş halinin worde yazılması için onay penceresi açılır. Burada onay verildiği takdirde metin word dosyasına yazılır. Metni çözümlemek için de üst tarafta yer alan İşlemler menüsünden Çözümle işlemi seçilir. Çözümlenecek olan metin sol tarafa yazılıp ortada yer alan anahtar değeri alanına anahtar yazıldıktan sonra Çözümle butonuna tıklanır.

C# ile Yazılmış Mayın Tarlası Projenin çalışır kodlarını indirmek için TIKLAYIN

Bilgisayarcı Program da Kodlar Ders Programını da, İkisi de Program Değil mi :)

Program Kontrol Deyimleri Soruları 1. Klavyeden girilen bir sayının faktöriyelini bulan programı yazınız. 2. f(x) = x^3 + 5*x^2 + 4*x 3 fonksiyonunun sonucunu x = 0, 0.2, 0.4, 0.6,., 4.8, 5.0 için hesaplayıp ekrana yazan programı yazınız. x^3 : x in 3.kuvvetini gösteriyor. 3. 1,2,3,5,8,13,21,34,55 şeklinde devam eden serinin 2000 den küçük elemanlarını ekrana yazan programı yazınız. 4. abc = a^3 + b^3 + c^3 şartını sağlayan üç basamaklı abc sayılarını bulan programı yazınız. 5. [100, 300] aralığında 3 e veya 4 e tam bölünen ancak ikisine birden bölünmeyen sayıların toplamını bulan programı yazınız. ref ve out Parametreleri ref ref parametre niteleyicisi C# ın metodlara parametre gönderirken değerle çağırma yerine referansla çağırmasını sağlar yani parametrenin adresini metoda / fonksiyona gönderir. // ref parametresi ile argüman alan metodun örnek prototipi:

public void sqrt (ref int a){ // ref parametresi ile argüman alan fonsiyonu çağırma: nesne_adı.sqrt(ref a); ref olarak aktarılan bir argümana çağrıdan önce bir değer atanmalıdır. ref kullanarak bir argümana, ilk değer atamak için bir metot kullanmak mümkün değildir. out Bir metoda değer aktarmak yerine metotdan değer almak için kullanılır. out parametresi olarak kullanılan değişkene metodu çağırmadan önce ilk değer vermek gerekli / kullanışlı değildir. Bunun sebebi ilk değerin metotdan talep edilmesidir, metodun zaten vereceği değeri vermek zaman kaybı olur. Örnek olarak aldığı değerin 4 katını buyut değişkenine aktaran ve döndüren bir metodun prototipini yazalım: public void genislet ( int n, out int buyut){ buyut = n*4; } // metodun çağrılması nesne_adı.genislet(int n, out int buyut); Örnekte görüldüğü gibi ilk değeri olmayan buyut değişkenine içerde zaten atama yapılmaktadır, bundan dolayı ilk değer atanmaz.

C C++ Çalışma Soruları 2 1. Girilen bir yıla ait şubat ayının kaç gün çektiğini bulan programı yazınız. 2. Girilen üç sayıdan en büyüğünü bulup ekrana yazan programı yazınız. 3. Bir işletmede çalışan elemanlara normal ücretlerine ek olarak ürettikleri parça sayısına göre ek ücret verilmektedir. Parça başına ücret aşağıdaki şartlara göre verilmektedir: Parça sayısı (0,10] arası için parça başına 0.5 TL, Parça sayısı (10,30] arası için parça başına 0.8 TL, Parça sayısı (30, ] arası için parça başına 1.2 TL, Buna göre normal maaşı ve ürettiği parça sayısı bilgilerini alarak bir elemanın maaşını hesaplayan programı yazınız. 4. Girilen iki sayının bir birine tam bölünüp bölünmediğini veren programı yazınız. 5. Şu anda A şehrinin nüfusu 450.000, B şehrinin nüfusu 850.000, A şehrinin yıllık nüfus artış hızı %2.5 B şehrinin yıllık nüfus artış hızı %1.3 bu verilere göre A şehrinin nüfusu kaç yıl sonra B şehrinin nüfusuna eşit

olur ve o yıl ki nüfusları ne kadar olur? Hesaplayan programı yazınız. DAHA UĞRAŞTIRICI SORU: Girilen iki tarih arasında ki gün sayısını hesaplayan programı yazınız. Program geçersiz tarih girildiğinde uyarı mesajı verecektir. (31 4 2011 gibi bir tarih girildiğinde 4. ayın 31 gün çekmediğini belirtecek) Yıllara göre aynı şekilde şubat ayı özel durumu da göz önüne alınacak Her ay standart 30 gün kabul edilecek if else Kontrol Deyimi Örnekleri 1. Klavyeden girilen bir sayının pozitif mi, negatif mi, 0 mı olduğınu ekrana yazan program. 2. Kenar uzunlukları girilen üçgenin alanını hesaplayan program. 3. Öğrencinin not ortalaması vizenin %40 ını, finalin de %60 ı toplanarak. Alınan vize ve final notuna göre ortalamasını hesaplayıp; not 50 den küçük ise T yazan,

not [50,65) aralığında ise C, not [65, 85) aralığında ise B, not [85,100] aralığında ise A yazan program. C Programlama Çalışma Soruları 1 (Bazıların Cevapları) NOT: Kodlar C++ ta yazılmıştır. 1. 3.