AST415 Astronomide Sayısal Çözümleme - I. 8. Python'da Dosya Yönetimi Metin (String) ve Sözlük (Dictionary) Değişkenler

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "AST415 Astronomide Sayısal Çözümleme - I. 8. Python'da Dosya Yönetimi Metin (String) ve Sözlük (Dictionary) Değişkenler"

Transkript

1 AST415 Astronomide Sayısal Çözümleme - I 8. Python'da Dosya Yönetimi Metin (String) ve Sözlük (Dictionary) Değişkenler

2 Bu derste neler öğreneceksiniz? Dosyalarla İşlemlere Giriş Veri Dosyalarını Açmak Veri Dosyalarının İçeriğini Listelere Almak Veri Dosyalarının İçeriğini Satır Satır Okumak Metin ve Sayıların Birlikte Bulunduğu Dosyaları Okumak Sözlük Değişken Türü (Dictionaries) Sözlükler (Dictionaries) Örnek 1: Tam Sayı Anahtarlar ve Polinomlar Örnek 2: Sözlük ve Dosya Verisi Örnek 3: İçiçe Sözlükler ve Dosya Verisi Metin Değişken Türü (Strings) Metinler (Strings) Örnek 1: Dosyadan Koordinat Okuma Dosyaya Yazmak

3 Bir Veri Dosyasını Açmak ve Okumak İlk olarak var olan basit bir veri dosyasındaki (data1.txt) verileri okuyup, ortalamasını alan bir program yazmaya çalışalım. Ancak öncelikle veri dosyamızın içeriğine bir salt metin editörü (notepad, idle, vi, emacs ) ile bakalım Amacımız bu dosyada bir sütunda verilen sayıları teker teker okumak, bir toplam degiskenine sayı değerini ekleyerek ilerlemek ve en sonda toplam değişkeninin değerini satır sayısına bölerek ortalamayı almak olsun. >>> dosya = open('data1.txt', 'r') >>> toplam = 0 >>> satir_sayisi = 0 >>> for satir in dosya: toplam += float(satir) satir_sayisi += 1 >>> ortalama = toplam / satir_sayisi >>> print '{:d} satirdaki verilerin ortalamasi {:.2f} tir'.format(satir_sayisi,ortalama) 6 satirdaki verilerin ortalamasi tir Gördüğünüz gibi dosyayı okumak için adini verdikten sonra (eğer okuyacağınız dosya python'u çalıştırdığınız klasörün altında değilse buraya tam yerini (path) vermelisiniz), r parametresiyle okuyacağımız (read) belirttik. Daha sonra data1.txt dosyasını satır satır okumak için for satir in dosya döngüsünü çalıştırdık. Döngünün içerisinde dosyadan okuduğumuz her şey bir metindir (string), bu nedenle matematiksel bir işlem yapmak istiyorsak aldığımız her sayıyı reel sayıya (float) dönüştürmeliyiz. Bu dönüşümü yaptıktan sonraki kodun ne yaptığını daha önceki derslerden biliyor olmalısınız!

4 Bir Veri Dosyasının İçeriğini Bir Listeye Almak Her bir satırı tek tek okumak yerine tüm satırları tek bir kerede okuyup, bir listeye de alabiliriz. Bunu için readlines() fonksiyonu kullanılır. (ortalama1.py) >>> dosya = open('data1.txt', 'r') >>> satirlar = dosya.readlines() >>> print satirlar ['21.8\n', '18.1\n', '19\n', '23\n', '26\n', '17.8\n'] Bu yazımla, baştan bir liste oluşturup, dosyayı satır satır okurken her bir satırı bu listeye eklemek arasında bir fark yoktur. Bunun bir başka alternatifi de daha önce öğrendiğiniz hızlı liste özelliklerini (list comprehensions) kullanmaktır. (satirlar = [satir for satir in dosya]) >>> dosya = open('data1.txt', 'r') >>> satirlar = [] >>> for satir in dosya: satirlar.append(satir) >>> print satirlar ['21.8\n', '18.1\n', '19\n', '23\n', '26\n', '17.8\n'] Ancak bu yazımlarda gördüğünüz gibi her bir liste elemanı sonunda satır sonu karakter dizisi (\n) bulunan bir metin nesnesidir. Dolayısı ile bu nesnelerle matematiksel işlemler yapmak için mutlaka reel sayııya dönüşüme ihtiyaç duyulur. (ortalama2.py) >>> dosya = open('data1.txt', 'r') >>> sayilar = [float(satir) for satir in dosya.readlines()] >>> dosya.close() # artik dosyayla isimiz bittigine gore kapatabiliriz. >>> ortalama = sum(sayilar) / len(sayilar) # ortalama almak icin kolay bir yontem! >>> print {:d} satirdaki verilerin ortalamasi {:.2f} tir'.format(satir_sayisi,ortalama) 6 satirdaki verilerin ortalamasi tir

5 Bir Veri Dosyasının İçeriğini Satır Satır Okumak Her bir satırı tek tek okumanın bir başka yolu readline() fonksiyonunu kullanmaktır. Bu fonksiyon dosyada bulunulan satırı okur ve içeriğini bir metin değişkenine aktarır. Ortalamayı bu şekilde bütün dosya okunana kadar while döngüsünün içinde de hesaplayabiliriz. Ancak bu kez dosya bittiği vakit döngünden çıkmamaız gerekir. (ortalama3.py) dosya = open('data1.txt', 'r') ortalama = 0 n = 0 while True: satir = dosya.readline() if not satir: break ortalama += float(satir) n += 1 ortalama = ortalama/float(n) print "Dosya icindeki {:d} sayinin ortalamasi {:.2f} tir".format(n,ortalama) Bu kodda satir değişkeni değerini dosyanın ilk satırında alacağı için while döngüsünün bir koşulu olmadan her durumda çalıştığına (True!), ancak satir dosyanin sonuna geldiğinde boş bir metin değeri alacağı için not satir ifadesi True değeri alacak ve break komutu döngüden çıkılmasını sağlayacaktır. Böylece dosya sonuna kadar okunmuş olur!

6 Metin ve Sayıların Birlikte Bulunduğu Dosyaları Okumak Şu ana kadarki örneklerde kullandığınız data1.txt dosyası sadece sayı içerdiği için basit bir yapıya sahipti. Ancak çoığu kez dosyalar metin ve sayıları birlikte içerir ile 1970 yillari arasinda Roma için aylara göre ortalama yağış miktarının verildiği romayagisort.dat boyle bir dosyadir. Roma sehri icin 1782 ve 1970 yillari arasindaki ortalama yagis miktari (mm) Oca 81.2 Sub 63.2 Mar 70.3 Nis 55.7 May 53.0 Haz 36.4 Tem 17.5 Agu 27.5 Eyl 60.9 Eki Kas Ara 97.9 Yil Böyle bir dosyayı okumak ve aya göre ortalamaları grafik etmek için akla gelen ilk yol dosyayı satır satır okumak her bir satırdaki kelimeleri split() fonksiyonunu kullanarak ayırmak, ikinci kelimeyi alıp float() ile reel sayıya donüştürmek ve bir listede toplayıp, bu listedeki sayıları ay numarasına (Oca: 1, Şub: 2 ) göre çizdirmektir (yagisort.py)

7 from matplotlib import pyplot as plt def verioku(dosyaadi): dosya = open(dosyaadi, "r") dosya.readline() # ilk satiri oku ve atla sayilar = [] for satir in dosya: kelimeler = satir.split() sayi = float(kelimeler[1]) sayilar.append(sayi) dosya.close() return sayilar degerler = verioku("romayagisort.dat") ay_numaralari = range(1, 13) plt.plot(ay_numaralari, degerler[:-1], "ro") # yillik yagisi cizdirmiyoruz plt.xlabel("aylar") plt.ylabel("yagis Ortalamalari (mm)") plt.show() Dikkat edecek olursaniz dosya.readline() yaparak bizi ilgilendirmeyen ilk satırı (dosyanın içeriğinin tanıtıldığı satır) atlıyoruz. Ayrıca dosyanın son satırında yıllık ortalama yağış olduğu ve onu çizdirmek istemediğimiz için de plt.plot ifadesinde ortalama yağış miktarlarını içeren degerler listesindeki yıllık ortalama yağış miktarına gelen son değeri almıyoruz (degerler[:-1]). Ayrıca for döngüsünü hızlı liste özelliklerini kullanarak biraz daha kompakt hale getirebleceğimizi de söylemeliyiz. def verioku(dosyaadi): dosya = open(dosyaadi, "r") dosya.readline() # ilk satiri oku ve atla sayilar = [float(satir.split()[1]) satir in dosya] dosya.close() return sayilar

8 Sözlük Değişken Türü (Dictionaries) Listeler oldukça esnek ve kullanışlı bir veri türü olmasına karşın bir dezavantajları elemanlaırna ulaşmak için tam sayı indeksleri kullanmak zorunluluğudur. Bunun yerine indeksin de bir metin olabildiği bir veri türü kullanmak oldukça kullanışlı olabilir düşüncesiyle sözlük (dictionary) veri türü yaratılmıştır. Diyelim ki Oslo, Londra ve Paris için sıcaklık değerlerini içeren bir listemiz olsun (sicaklik = [13, 15.4, 17.5]). Örneğin Londra'nın sıcaklık değerine ulaşmak istiyorsak onun liste içindeki yerini bilmeliyiz (sicaklik[1]). Bunun yerine indekslerin şehirlerin isimleri olduğu bir sözlük türü değişken kullanmak daha akılcı olacaktır. >>> sicaklik = {'Oslo': 13, 'Londra': 15.4, 'Paris': 17.5} >>> sicaklik = dict(oslo=13, Londra=15.4, Paris=17.5) # alternatif yol Bir sözlük değişkenine sonradan veri eklemek oldukça kolaydır. Örneğin Madrid şehri için sıcaklığı ekleyelim. >>> sicaklik['madrid'] = 26.0 Sözlük değişkenin metin indekslerine anahtar (key) adı verilir. Değişkenin her bir anahtara karşılık bir de değ eri (value) vardır. kullanmaktır. Bir for döngüsü içinde bir sözlüğün değerlerine ulaşmanın yolu for key in d yapısını >>> for sehir in sicaklik: print '{:s} sehrindeki sicaklik {:g} derecedir.'.format(sehir,sicaklik[sehir]) Paris sehrinde sicaklik 17.5 derecedir. Oslo sehrinde sicaklik 13 derecedir. Londra sehrinde sicaklik 15.4 derecedir. Madrid sehrinde sicaklik 26 derecedir.

9 Bir sözlük değişkeninde bir anahtarın bulunup bulunmadığını sorgulamak için if key in d yazımı kullanılır. >>> if 'Berlin' in sicaklik: Print '{:s} sehrinde sicaklik {:g} derecedir'.format('berlin',sicaklik['berlin'] else: print 'Berlin icin sicaklik verisi yoktur!' Berlin icin sicaklik verisi yoktur! >>> Oslo in sicaklik True Bir sözlük değişkenin anahtar ve değerleri ayrı ayrı listelerde toplanabilir. >>> sicaklik.keys() ['Paris', 'Oslo', 'Londra', 'Madrid'] >>> sicaklik.values() [17.5, 13, 15.4, 26.0] Bir sözlük değişkenin anahtar sıralaması kolay tahmin edilemeyebilir (her seferinde farklı bir sırlamayla karşı karşıya kalabilirsiniz!). Bunu aşmanın yolu anahtara göre sözlüğü sıralamaktır (sorted). >>> for sehir in sorted(sicaklik): print sehir Londra Madrid Oslo Paris Bir sözlük değişkeninden eleman silmek (del) için anahtarını kullanmak gerekir. >>> del sicaklik['oslo'] Tıpkı nümerik dizilerde olduğu gibi sözlüklerin de kopyası oluşturulmadan yapılacak bir değişiklik aynı sözlüğe atıfta bulunan diğer sözlüğün de değişmesine neden olur. Bunu aşmanın yolu copy metodunu kullanmaktır. >>> sicaklik_kopya = sicaklik.copy() >>> del sicaklik_kopya['paris'] >>> sicaklik {'Londra': 15.4, 'Madrid': 26.0, 'Oslo': 13, 'Paris': 17.5} >>> sicaklik_kopya {'Londra': 15.4, 'Madrid': 26.0, 'Oslo': 13}

10 Örnek 1: Tam Sayı Anahtarlar ve Polinomlar Sözlük anahtarları sadece metin (string) olmak zorunda değildir. Listeler ve sözlüklerin kendisi içeriği değiştirilebilir (mutable) nesneler olduğu için anathar olamazlar, ancak onun dışındaki tüm değişken türleri (int, float, complex, str, tuple) içerikleri değiştirilemediği (immutable) için anahtar olarak kullanılabilirler. Güzel bir örnek olarak p(x) = -1 + x 2-3x 7 polinomunu düşünelim. Bu polinoma ilişkin veri kuvvet-katsayı ikilileri olarak düşünülebilir. Anahtarı kuvvetler, değerleri katsayılar olan bir sözlük değişken bir polinomu saklamak için iyi bir yoldur. Bunu bir listeyle (ya da diziyle) de yapabilirsiniz ancak bu durumda katsayısı 0 olan tüm kuvvetler için 0 katsayısını listenize (ya da dizinize) koymak zorunda kalırsınız. Ayrıca sözlük kullanarak negatif kuvvetler için de katsayı saklayabilirsiniz. >>> p = {0:-1, 2:1, 7:-3} Herhangi bir x değeri için polinomun alacağı değeri hesaplayan bir fonksiyon aşağıdaki şekilde yazılabilir. >>> def polinom(pol,x): toplam = 0.0 for kuvvet in pol: toplam += pol[kuvvet]*x**kuvvet return toplam >>> print polinom(p,2.0) Daha kompakt bir yazım için liste yöntemlerini ve toplam (sum) fonksiyonunu kullanabilirsiniz. >>> def polinom(pol,x): return sum([pol[kuvvet]*x**kuvvet for kuvvet in pol])

11 Örnek 2: Sözlük ve Dosya Verisi Aşağıda bazı maddeler için yoğunluk değerlerinin yer aldığı yogunluk.dat dosyasının içeriği verilmiştir. Bu dosyanın içeriğini okurken madde isimlerini anahtar (key), yoğunluk değerlerini ise değer (value) olarak kabul eden bir sözlük kullanmak iyi bir fikirdir. hava gaz 0.67 buz 0.9 saf su 1.0 deniz suyu insan vucudu 1.03 kirec tasi 2.6 granit 2.7 demir 7.8 gumus 10.5 civa 13.6 altin 18.9 platin 21.4 dunya_ort 5.52 dunya_cekirdek 13 ay 3.3 gunes_ort 1.4 gunes_cekirdek 160 proton 2.8E+14 Böyle bir dosyayı düzgün ve efektif bir şekilde okuyabilmek için aşağıdaki gibi bir Python kodu (yogunluk.py) kullanabilirsiniz. Madde isimlerinde kelimelerin arasındaki boşluklar özel olarak bırakılmıştır. Bu dersin ilerleyen slaytlarında bu tür yapıların nasıl yönetileceği de anlatılacaktır.

12 def yogunluk_oku(dosyaadi): dosya = open(dosyaadi, 'r') yogunluklar = {} for satir in dosya: kelimeler = satir.split() yogunluk = float(kelimeler[-1]) if len(kelimeler[:-1]) == 2: madde = kelimeler[0] + ' ' + kelimeler[1] else: madde = kelimeler[0] yogunluklar[madde] = yogunluk dosya.close() return yogunluklar yogunluklar = yogunluk_oku('yogunluk.dat') print yogunluklar {'buz': 0.9, 'insan vucudu': 1.03, 'dunya_ort': 5.52, 'gaz': 0.67, 'altin': 18.9, 'civa': 13.6, 'gunes_ort': 1.4, 'kirec tasi': 2.6, 'proton': , 'granit': 2.7, 'deniz suyu': 1.025, 'hava': , 'saf su': 1.0, 'gunes_cekirdek': 160.0, 'demir': 7.8, 'gumus': 10.5, 'ay': 3.3, 'dunya_cekirdek': 13.0, 'platin': 21.4}

13 Örnek 3: İçiçe Sözlükler ve Dosya Verisi Aşağıda son yıllarda geçiş yöntemiyle keşfedilen bazı gezegenlerin gün cinsinden yörünge dönemi (P), ölçülebilidiyse geçiş sırasındaki ışık değişiminin genliği (dm), hesaplanabilidiyse R jüp cinsinden yarıçapı (R), geçişin dakika cinsinden toplam süresi (dt) bir tablo şeklinde yer almaktadır (tablo.dat). Bazı parametreler için ölçüm ya da hesap yapılamadığını dikkat alarak, ortalama değerlerini hesaplayıp veri[parametre]['ortalama'] şeklinde saklamak istiyor olalaım. P dm R dt no no no Bu yapıda bir dosyayı okuyabilmek için içiçe sözlüklerden yararlanmak iyi bir fikir olacaktır. Bu tür sözlüklerde değerler de birer sözlük olabilmektedir (tablo2sozluk.py). $ python tablo2sozluk.py P parametresinin ortalama degeri = R parametresinin ortalama degeri = dm parametresinin ortalama degeri = dt parametresinin ortalama degeri =

14 dosya = open('tablo.dat', 'r') satirlar = dosya.readlines() dosya.close() veri = {} # veri[parametre][olcum_no] = parametre_degeri ilk_satir = satirlar[0] parametreler = ilk_satir.split() for parametre in parametreler: veri[parametre] = {} for satir in satirlar[1:]: kelimeler = satir.split() i = int(kelimeler[0]) degerler = kelimeler[1:] for o, d in zip(parametreler,degerler): if d!= 'no': veri[o][d] = float(d) # olcum no'su # parametrelerin degerleri # Ortalama hesabi for parametre in veri: degerler = veri[parametre].values() veri[parametre]['ortalama'] = sum(degerler)/len(degerler) for parametre in sorted(veri): print '%s parametresinin ortalama degeri = %g' \ % (parametre, veri[parametre]['ortalama']) print veri tablo2sozluk.py

15 Metin Değişken Türü (String) Şu ana kadar metin değişkenleri sayılara (tam ya da reel) dönüştürüp, üzerlerinde işlem yapmayı öğrendik ancak metin değişkenlerin üzerinde işlem yapmayı öğrenmedik. Bu tür değişkenleri kullanmak programcılığın önemli bir parçasıdır ve özellikle dosya işlemlerinde vazgeçilmezdir. Metin değişkenlerde indeksleme ve metin değişkenin bir bölümünü kullanma tıpkı listeler, demetler ve dizilerde tanımlandığı gibidir. >>> s = Rasathanede saat 10:00'daki sicaklik -4 derecedir >>> s[12:] saat 10:00'daki sicaklik -4 derecedir >>> s[12:-10] saat 10:00'daki sicaklik -4 Bir metnin içerisinde diğer bir metni aramak için find metodu kullanılır. Fonksiyon söz konusu metni bulursa bu metnin ilk karakterinin bulunduğu endeksi, bulamazsa -1 döndürür. Ayrıca startswith ve endswith fonksiyonları da bir metin verilen bir başka metinle sırasıyla başlıyor ya da bitiyor ise True döndürür, aksi halde False döndürür. >>> s.find('rasathane') #Rasathane metninin basladigi indeks 0 >>> s.find('derece') 40 >>> s.find('derece') #Aramalar buyuk harf duyarlidir, bu metin yok! -1 >>> Rasathane in s True >>> Derece in s False >>> s.startswith('rasathane') True >>> s.endswith('derecedir') False

16 s.replace(s1,s2) ifadesi s metin değişkeni içerisinde s1'in bulunduğu bütün yerleri s2 ile değiştirir. >>> s.replace(' ', '_') "Rasathanede_saat_10:00'daki_sicaklik_-4_derecedir >>> s.replace("rasathanede","aukr'de") AUKR'de saat 10:00'daki sicaklik -4 derecedir Bir metni bileşenlerine (kelimelerine) ayırma işlemi split metodu ile yapılır. Metodun çıktısı bir listedir. Not: Dikkat ederseniz son uyguladığımız replace fonksiyonu s'nin içeriğini değiştirmedi. Zira metinler de içeriği değiştirilemez (immutable) değişkenlerdir. Bu işlem ancak bu ifadeyi bir başka metin değişkene (aynı isimle de olabilir!) atarsak geerçekleşir. >>> s.split() ['Rasathanede', 'saat', "10:00'daki", 'sicaklik', '-4', 'derecedir'] >>> s.split(':') # split'in varsayilan ayraci bosluktur ama isterseniz degistirebilirsiniz ['Rasathanede saat 10', "00'daki sicaklik -4 derecedir"] >>> t = '1.satir\n2.satir\n3.satir' >>> print t 1.satir 2.satir 3.satir >>> t.splitlines() # cok satirli metni satirlarina ayirma, dosya okurken cok kullanisli! ['1.satir', '2.satir', '3.satir'] Tüm karakterleri büyük (upper metodu) ya da küçük (lower metodu) yazdırmak da mümkündür. >>> s.lower() rasathanede saat 10:00'daki sicaklik -4 derecedir >>> s.upper() RASATHANEDE SAAT 10:00'DAKI SICAKLIK -4 DERECEDIR Metin içeriğinin değiştirilemez (immutable) olduğunu bir örnekle görelim. >>> s[18] = '1' Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'str' object does not support item assignment

17 isdigit metodu bir metin değişkenin sadece sayılardan oluşup oluşmadığını denetler. >>> "214".isdigit() True >>> " 214 ".isdigit() False >>> "2.14".isdigit() False isspace metodu bir metin değişkenin boşluk içerip içermediğini denetler. >>> " ".isspace() # sadece bosluktan olusan bir metin True >>> " \n".isspace() # bir bosluk ve yeni satir karakterinden olusan bir metin True >>> " \t ".isspace() # bir bosluk ve TAB karakterinden olsuan bir metin True >>> "".isspace() # bos metin (bosluk icermez!) False strip metodu bir metin değişkenin başı ve sonundaki boşlukları atmak için kullanılır. Not: Yeni satır karakterinin (\n) dikkate alınmadığına dikkat ediniz! >>> s = ' basi / sonu bosluk iceren metin \n' >>> s.strip() # bas ve sondaki bosluklari atar 'basi / sonu bosluk iceren metin' >>> s.lstrip() # bastaki (soldaki) bosluklari atar 'basi / sonu bosluk iceren metin \n >>> s.rstrip() # sondaki (sagdaki) bosluklari atar ' basi / sonu bosluk iceren metin' join metodu birden fazla metin değişkeni istediğiniz bir karakteri kullanarak bilreştirebilirsiniz. >>> yildizlar = ["Vega", "Deneb", "Altair"] >>> yaz_ucgeni = ", ".join(yildizlar) >>> print yaz_ucgeni Vega,Deneb,Altair

18 Örnek 1: Dosyadan Koordinat Okuma Aşağıda x,y düzlemi üzerinde bazı noktaların koordinatları verilmiştir (koordinatlar.dat). Bu koordinatları okuyan ve bir liste içerisine demet değişken üçlüleri şeklinde (koor[i] = (x,y,z)) yerleştiren bir program yazmaya çalışıyor olalım. Bazı sayılar için = işaretinden sonra boşluk olduğuna, bazılarında olmadığına dikkat ediniz. Bu durumda boşluktan ayırma (split() metodu) bizim için bir seçenek değil. x= y= z= x= y= z= x= y= E+6 z= x= y= z= e+4 x= 1.5E+5 y= z= 1027 Çözüm 1. Dosyaya dikkatli bakınca x= ifadesinin her satırın 2., y= ifadesinin 16., z= ifadesinin 31. sütundan başladığını görüyoruz. Bu durumdan faydalanarak çözümü aşağıdaki şekilde arayabiliriz. (koordinatoku1.py) from numpy import array dosya = open("koordinatlar.dat", "r") koor = [] # (x,y,z) demet degiskenleri for satir in dosya: x_baslangic = 2 y_baslangic = 16 z_baslangic = 31 x = satir[x_baslangic+2:y_baslangic] y = satir[y_baslangic+2:z_baslangic] z = satir[z_baslangic+2:] print "koordinatlar: x='%s', y='%s', z='%s'" % (x,y,z) koor.append((float(x), float(y), float(z))) dosya.close() koor = array(koor) print koor.shape, koor

19 Çözüm 2. x=, y=, z= ifadelerinin nereden başladığını saymak yerine (ki bu iyi bir alışkanlık da değildir) bu ifadelerin hangi indekste başladığını find() metodu ile bulabiliriz. Bu durumda kodumuzda ilgili yerleri aşağıdaki şekilde düzeltmemiz yeterli olacaktır. (koordinatoku2.py) x_baslangic = satir.find( x= ) y_baslangic = satir.find( y= ) z_baslangic = satir.find( z= ) Çözüm 3. split() metodunda ayracı = yaparak satırların = işaretinden ayrılmasını sağlayabilir, ='in öncesini değişkenin adına, sonrasını değerine atayabiliriz. Bu durumda kodumuz aşağıdaki şekilde olacaktır. (koordinatoku3.py) from numpy import array dosya = open("koordinatlar.dat", "r") koor = [] # (x,y,z) demet degiskenleri for satir in dosya: kelimeler = satir.split("=") x = float(kelimeler[1][:-1]) y = float(kelimeler[2][:-1]) z = float(kelimeler[3]) koor.append((float(x), float(y), float(z))) dosya.close() koor = array(koor) print koor.shape, koor Programcılıkta bir problemi çözmenin birden fazla yolu vardır. Programcı bu yolların olabildiğince hepsini düşünüp, en optimize (yazma, okuma ve çalışma bakımından) ve hızlı olanını seçmelidir. Bu örnekler bize eğer veri dosyasını oluşturma imkanı da programcının elindeyse onu en kolay ve hızlı okunacak şekilde oluşturması gerektiğini de göstermektedir.

20 Dosyaya Yazmak Bir dosyaya yazdırmak için onu iki moddan birinde açmak gerekir: w (write: dosya oluşturup yazma modu), a (append: var olan bir dosyanın sonuna ekleme modu). >>> ciktidosyasi = open("dosyaadi","w") >>> ciktidosyasi = open("dosyaadi", "a") Bir metni dosyaya yazdırırken write() metodu kullanılır. Ancak bu metod print ifadesinden farklı olarak metnin sonuna yeni satır karakteri (\n) eklemez. Bunu sizin eklemeniz gerekir! >>> ciktidosyasi.write("metin" + "\n") Örnek 1. Dosyaya Bir Tablo Yazmak İlk örnek olarak aşağıdaki (içiçe) listeyi düzgün bir tablo şeklinde bir dosyaya yazdırmak istiyor olalım [[ 0.75, , , ], [ , , , ], [ , , , ], [-0.75, , , 0.75 ]] Bu listenin her bir elemanı olan listeleri satır kabul edip, tek tek onları almalı, her bir satıra denk gelen listenin her bir elemanını da bir sütuna yazdırarak ilerlemeliyiz. Her bir satırın sonuna yeni satır karakteri ( \n ) eklemeyi unutmamalıyız.

21 Bu durumda kodumuz aşağıdaki şekilde olacaktır. (dosyayaz1.py) veri = [[ 0.75, , , ], [ , , , ], [ , , , ], [-0.75, , , 0.75 ]] ciktidosyasi = open("tmp_tablo.dat", "w") for satir in veri: for sutun in satir: ciktidosyasi.write("{:14.8}".format(sutun)) ciktidosyasi.write("\n") ciktidosyasi.close() Kodumuza aşağıdaki satırları ekleyerek satır ve sütun sayılarını da göstermek isteyebiliriz (dosyayaz2.py). Bunun için satır sayısı ve sütun sayısını da bilmeliyiz. sutunsayisi = len(data[0]) outfile.write(" ") for i in range(1,sutunsayisi+1): outfile.write("{:10s} ".format("sutun {:d}".format(i))) outfile.write("\n") Gördüğünüz gibi write metodunda sutun + str(i) de yazdırabilirdik ancak print fonksiyonu gibi formatlamayı tercih ettik. Zira bu şekilde tüm metnin belirli sayıda karaktere sığdırılmasını otomatik olarak kontrol etmiş oluyoruz. Dosya yazarken tablo görünümünün korunması ve dosyanın kolay okunabilmesi için print fonksiyonundaki gibi (yer tutucular ({} ya da %) kullanarak) yazdırmak iyi bir çözümdür.

22 Şimdi de satır numaralarını ekleyelim ve sütun numaralarını eklediğimiz ve veriyi yazdirdigimiz kodla bunu birleştirelim. veri = [[ 0.75, , , ], [ , , , ], [ , , , ], [-0.75, , , 0.75 ]] ciktidosyasi = open("tmp_tablo.dat", "w") sutunsayisi = len(veri[0]) ciktidosyasi.write(" ") for i in range(1,sutunsayisi+1): ciktidosyasi.write("{:s} ".format("sutun {:d}".format(i)))) ciktidosyasi.write("\n") for satir in veri: ciktidosyasi.write("satir {:2d}".format(satir_sayaci)) for sutun in satir: ciktidosyasi.write("{:14.8f}".format(sutun)) ciktidosyasi.write("\n") satir_sayaci += 1 ciktidosyasi.close()

23 Ödev 8 (30 Aralık 2016, Cuma 16:00) exoplanet.eu keşfedilen tüm ötegezegenlerin parametrelerine ulaşabileceğiniz eşsiz bir katalog sunar. Bu katalogu sorgulamak üzere çok sayıda seçenekle donatılmş bir de arama motoru bulunmaktadır. Bu ödevde size verilen (Furkan Tomak: EPIC (K2), Merve Kesin: HAT-P, Ülkü Kınayer WASP) gezegen araştırmasında keşfedilen tüm gezegenlerin kütle (M), yarıçap (R), yörünge dönemi (P), yörünge yarıbüyük eksen uzunluğu (a) ve yörünge dışmerkezliliği (e) değerlerini içeren bir veri dosyası hazırlayınız. (örnek olarak bu ders notu ile birlkte XO gezegen araştırmasının ulaştığı sonuçları içeren odev8_ornekveri_xo.dat ı indirebilrsiniz) 1. Dosyayı açıp, başlık satırını atladıktan sonra dosyayı bir döngü içerisinde satır satır okuyunuz. 2. Her bir satırı split() metodunu kullanarak ayırıp birer (M, R, P, a ve e listeleri) listeye toplayınız. 3. Bu listelerden nümerik dizi içerenleri np.array() fonksiyonunu kullanarak NumPy nümerik dizilerine dönüştürünüz. 4. matplotlib.pyplot fonksiyonlarından plot fonksiyonunu kullanarak kütle-yarıçap (M-R), kütle-yörünge yarıbüyük eksen uzunluğu (M-a), yörünge dönemi-yarıçap (P-R) ve yörünge dönemi-dış merkezlilik (P-e) grafiklerini ayrı ayrı grafikler üzerinde farklı renkler ve simgeler kullanarak çizdirdiğiniz. Çizdirdiğiniz grafiklerde eksenleri ve grafiği isimlendiriniz. Gerekli gördüğünüzde logaritmik eksen kullanabilirsiniz. 5. NumPy polyfit fonksiyonunu kullanarak kütle-yarıçap ilişkisine en iyi uyabileceğini düşündüğünüz (polinomun derecesini gözle tahmin edebilirsiniz) polinomun katsayılarını bulunuz (katsayilar = numpy.polyfit(x,y, deg=n) x-y dizilerine uyumlanabilecek en iyi n. dereceden polinomun n+1 adet katsayisini hesaplar). 6. NumPy poly1d fonksiyonunu kullanarak 5. adımda bulduğunuz katsayılardan polinom fonksiyonuna ulaşınız (polinom = numpy.poly1d(katsayilar)). 7. NumPy linspace fonksiyonunu kullanarak 0 dan başlayıp araştırmanın keşfettiği en büyük gezegenin büyüklüğüne kadar değişen ve aralarında 0.01 [R jüpiter ] bulunan yaricap_grid dizisini oluşturunuz adımda bulduğunuz polinom fonksiyonunda 7. adımda oluşturduğunuz yaricap_grid nümerik dizisini yerleştiriniz (kutle_grid = polinom(yaricap_grid)) 9. matplotlib.pyplot fonksiyonlarından plot fonksiyonunu kullanarak yaricap_grid'e karşılık kutle_grid değerlerini mavi kesiksiz bir eğriyle bir öncki grafiğin üzerine çizdiriniz. 10. matplotlib.pyplot fonksiyonlarından show() fonksiyonunu kullanarak ekrana getiriniz. 11. Çizdirdğiniz tüm grafikleri png formatinda Türkçe karakter içermeyecek şekilde ad_soyad_ogrno_odev8_grafikno.png adıyla, yazdığınız programı ad_soyad_ogrno_odev8.py adıyla kaydedip, ekremmuratesmer@gmail.com adresine gönderiniz!

24 Teşekkürler

AST415 Astronomide Sayısal Çözümleme - I. 8. Python'da Dosya Yönetimi Metin (String) ve Sözlük (Dictionary) Değişkenler

AST415 Astronomide Sayısal Çözümleme - I. 8. Python'da Dosya Yönetimi Metin (String) ve Sözlük (Dictionary) Değişkenler AST415 Astronomide Sayısal Çözümleme - I 8. Python'da Dosya Yönetimi Metin (String) ve Sözlük (Dictionary) Değişkenler Bu derste neler öğreneceksiniz? Dosyalarla İşlemlere Giriş Veri Dosyalarını Açmak

Detaylı

AST415 Astronomide Sayısal Çözümleme - I. 7. Grafik Çizimi

AST415 Astronomide Sayısal Çözümleme - I. 7. Grafik Çizimi AST415 Astronomide Sayısal Çözümleme - I 7. Grafik Çizimi Bu derste neler öğreneceksiniz? Python'la şekildekine benzer grafikler çizmeyi öğreneceksiniz! MATPLOTLIB.PYPLOT Modülü Python da grafik çizmek

Detaylı

Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur

Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur Python büyük-küçük harf ayrımı yapar. Pythonda kod yazarken girintiler kullanılır Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur Klavyeden girilen bir değeri okumak ad=input("adınızı giriniz")

Detaylı

Python ile Programlamaya Giris

Python ile Programlamaya Giris Python ile Programlamaya Giris Ders 4 Veri Tipleri Arasinda Dönüsüm Asagida iki farkli veri tipi, int ve str, gösteriliyor. >>> 3 3 >>> '3' '3' >>> Ilk girilen sayi 3 bir tamsayi iken ikinci girilen sayi

Detaylı

AST415 Astronomide Sayısal Çözümleme - I. 6. Diziler ve Matrisler (NumPy Modülü)

AST415 Astronomide Sayısal Çözümleme - I. 6. Diziler ve Matrisler (NumPy Modülü) AST415 Astronomide Sayısal Çözümleme - I 6. Diziler ve Matrisler (NumPy Modülü) Bu derste neler öğreneceksiniz? Python da Nümerik Diziler (Array) Dizilere Neden İhtiyaç Var? Python ve Nümerik Diziler (NumPy

Detaylı

Python Programlama Dili

Python Programlama Dili Python Programlama Dili 3. Python da Döngüler Bu bölümde iki tane döngüden bahsedeceğiz: while ve for döngüleri. Ayrıca bu bölümde döngüler dışında break ve continue deyimleri ile range() ve len() fonksiyonlarına

Detaylı

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21 İÇİNDEKİLER VII İÇİNDEKİLER 1 PYTHON 1 Neden Python? 2 Python Sürümleri 2 Python Kurulumu 3 Windows Üzerinde Python 3 Ubuntu Üzerinde Python 6 Komut Satırında Python Çalıştırma 6 Windows komut istemi üzerinde

Detaylı

Burada a değişkeninin türü integer olarak verildi. Peki biz bu ifadeyi tırnak içerisinde yazarsak ne olur?

Burada a değişkeninin türü integer olarak verildi. Peki biz bu ifadeyi tırnak içerisinde yazarsak ne olur? STRİNG (KARAKTER) İŞLEMLERİ Python'da karakter dizilerini ifade etmek için yapmamız gereken tek şey, ifademizi tırnak ("") içinde belirtmektir. Python'da tırnak içerisinde belirtilen her şey karakter dizisi

Detaylı

Ardışık Veri Tipleri. Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları. *Kaynakça bölümünde verilen kaynaklardan derlenmiştir.

Ardışık Veri Tipleri. Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları. *Kaynakça bölümünde verilen kaynaklardan derlenmiştir. Ardışık Veri Tipleri Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları *Kaynakça bölümünde verilen kaynaklardan derlenmiştir. Ardışık Veri Tipleri Ardışık veri tipleri, Python programlarında

Detaylı

Python Programlama Dili

Python Programlama Dili Python Programlama Dili 7. Dosya İşlemleri Bu bölümde Python programlama dilini kullanarak dosyaları nasıl yöneteceğimizi, yani nasıl yeni bir dosya oluşturacağımızı, bir dosyaya nasıl bir şeyler yazabileceğimizi

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA Rastgele sayı üretme C#'ta program yazarken (özellikle oyun programlarında) rastgele değerlere ihtiyaç duyabiliriz. Rastgele sayı üretebilmemiz için öncelikle Random sınıfı

Detaylı

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8 ALGORİTMA VE PROGRAMLAMA I DERS NOTU#8 YZM 1105 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi 6. BÖLÜM 2 Çok Boyutlu Diziler Çok Boyutlu Dizi 3 Bir dizi aşağıdaki gibi bildirildiğinde

Detaylı

İnternet Programcılığı Öğr. Gör. Serkan AKSU PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler

İnternet Programcılığı Öğr. Gör. Serkan AKSU  PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler PHP de Dizi-Değişkenler, Nesneler Dizilerle ilgili örneklere geçmeden önce aşağıdaki tabloyu inceleyelim. Tabloda dizi kavramının mantığı açıklanmaktadır. Tablonun tamamını bir dizi olarak düşünün ve bu

Detaylı

Python ile Programlamaya Giris

Python ile Programlamaya Giris Python ile Programlamaya Giris Ders 6 list Veri Tipi - Diziler Su ana kadar gördügümüz veri tipleri sadece bir deger barindiran veri tipleriydi. Yani sadece bir tane tamsayi veya sadece bir tane string

Detaylı

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

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 Ekrana Metin Yazdırmak Ekranda metin yazdırmak istendiğinde print komutu kullanılır. Kullanımı aşağıda verilmiştir. Parantez içinde

Detaylı

şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2;

şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2; Dosya İşlemleri Nedir? Programlarınızı girdi (input) olarak aldığı verileri bir text dosyasında yada word dosyasında vb. saklamasıdır. Artık C programınızın yaratıp içine veriler koyacağı text dosyasını

Detaylı

Print Komutu ile Değişkenleri Yazdırmak

Print Komutu ile Değişkenleri Yazdırmak PYTHON DERS-4 Bu derste eksiklerimizi gidereceğiz. Şimdiye kadar bazı komutları kullandık ancak kullandığımız bu komutların özellikleri hakkında hiçbir şey öğrenmedik. İşte bu derste biraz onlardan bahsedeceğiz.

Detaylı

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while Değişkenler Değişkenler bir bilginin bellekteki konumunu temsil eden sembolik isimlerdir. Bilgisayarda hemen hemen tüm işlemler bellekte yapılır. Program çalıştırıldığında değişken ve bu değişkenin türüne

Detaylı

Regular Expressions Version 0.1

Regular Expressions Version 0.1 Regular Expressions Version 0.1 Hüseyin Kaya hkaya@be.itu.edu.tr 2001 Özet Bu belge Linux and Unix Shell Programming adlı kitaptan faydalalınarak yazılmıştır. Kitabın yazarı David Tansley. İngilizce bilenler

Detaylı

Yukarıdaki kod aksi belirtilmediği sürece sürekli çalışır. Yani ekrana sürekli Bilgisayar çıldırdı! yazısı gelir. Ancak;

Yukarıdaki kod aksi belirtilmediği sürece sürekli çalışır. Yani ekrana sürekli Bilgisayar çıldırdı! yazısı gelir. Ancak; break komutu: Döngüyü sonlandıran bir komuttur. Ör: while True: print("bilgisayar çıldırdı!") Çıktı: Sonsuz döngü Yukarıdaki kod aksi belirtilmediği sürece sürekli çalışır. Yani ekrana sürekli Bilgisayar

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Diziler Dizi Nedir? Dizilerin Bildirimi

Detaylı

Bolum 9. Konu Başlıkları

Bolum 9. Konu Başlıkları Bolum 9 Konu Başlıkları 1.Grafik Arayüz Tasarımı//Pencere Araçları(Widgets) Label Button Enrty Checkbutton Toplevel Listbox Menu Text Bitmap Herhangi bir pencere üzerinde bulunan düğmeler,etiketler,sağa-sola,yukarı-aşağı

Detaylı

C#(Sharp) Programlama Dili

C#(Sharp) Programlama Dili Değişkenler C#(Sharp) Programlama Dili Program yazarken her zaman sabit verilerle çalışmayız, çoğu zaman programımızda bir verinin kullanıcının davranışına göre değişmesi gerekir. Kullanıcıdan bir metin

Detaylı

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

String ve Karakter Dizileri. Yrd. Doç. Dr. Fehim KÖYLÜ Erciyes Üniversitesi Bilgisayar Mühendisliği Bölümü String ve Karakter Dizileri #include Temel giriş çıkış akımları nesnelerinin tanımlandığı kütüphanedir. cin,cout,cerr,clog, wcin,wcout,wcerr,wclog nesneleri içerir. using namespace std; //std

Detaylı

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz.

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz. C# da Diziler Diziler için aynı tipteki verilerin tutulduğu bir koleksiyon diyebiliriz. Örneğin integer verinin bir yığın şeklinde tutulması için dizileri kullanırız. C# da diziler referans tipinde değişkenlerdendir.

Detaylı

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA DERSİ BİLGİSAYAR PROGRAMLAMA DERSİ Yrd. Doç. Dr. Fatih TOSUNOĞLU Erzurum Teknik Üniversitesi Mühendislik Fakültesi İnşaat Mühendisliği Bölümü DERS NOTU 3 KONU: M-dosya yapısı ve Kontrol Yapıları M-Dosya Yapısı

Detaylı

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

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek Boyutlu Diziler Yrd. Doç. Dr. İlhan AYDIN 1 Problem 100 adet sayı okumak istediğimizi düşünelim. Bu sayıların ortalaması hesaplanacak ve sayıların kaç tanesinin

Detaylı

Girdi Çıktı İşlemleri

Girdi Çıktı İşlemleri Girdi Çıktı İşlemleri Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları *Kaynakça bölümünde verilen kaynaklardan derlenmiştir. Ekrandan Okuma ve Ekrana Yazma Python'da ekrandan okuma için

Detaylı

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA DERSİ BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları Hazırlayan: Yrd. Doç. Dr. Ahmet DUMLU 1 M-Dosya Yapısı Bir senaryo dosyası (script file) özel bir görevi yerine getirmek

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Karakter Dizileri Karakter Dizilerini Okumak ve Yazmak Karakter Dizilerinin Uzunluğunu

Detaylı

Kümeler. Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları. *Kaynakça bölümünde verilen kaynaklardan derlenmiştir.

Kümeler. Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları. *Kaynakça bölümünde verilen kaynaklardan derlenmiştir. Kümeler Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları *Kaynakça bölümünde verilen kaynaklardan derlenmiştir. Kümeler (Sets) Kümeler, listelere benzer şekilde farklı tipte (metin tipi

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

Detaylı

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA II ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Dosya İşlemleri (Rastgele Erişim)

Detaylı

1 NEDEN PROGRAMLAMA ÖĞRENMELIYIZ?

1 NEDEN PROGRAMLAMA ÖĞRENMELIYIZ? İÇİNDEKİLER VII İÇİNDEKİLER 1 NEDEN PROGRAMLAMA ÖĞRENMELIYIZ? 1 Neden Python? 3 Python Neden Bütün Hacker ların Favori Programlama Dili? 4 Hangi Editörü Kullanmalıyım? 5 Bu Kitabı Nasıl Kullanmayalıyım?

Detaylı

Hafta 12 Karakter Tutan Diziler

Hafta 12 Karakter Tutan Diziler BLM111 Programlama Dilleri I Hafta 12 Karakter Tutan Diziler Yrd. Doç. Dr. Caner ÖZCAN Katar (String) Tanımlama Dizileri ve çok boyutlu dizileri gördük. Katar dediğimiz şey de aslında bir dizidir. Değişken

Detaylı

Aşağıdaki programı inceleyip ekrana ne yazacağını söyleyebilir misiniz?

Aşağıdaki programı inceleyip ekrana ne yazacağını söyleyebilir misiniz? PYTHON DERS-8 LİSTELER-2 Geçen ders listeler oluşturmayı, listedeki her elemanın bir index numarası olduğu ve bu numaranın 0'dan başladığını, listenin tamamını veya index numarası sayesinde belirli bir

Detaylı

AST409 Astronomide Sayısal Çözümleme. II. Python da Matrisler

AST409 Astronomide Sayısal Çözümleme. II. Python da Matrisler AST409 Astronomide Sayısal Çözümleme II. Python da Matrisler Python da Yardım Alma Seçenekleri Start Programs Python 2.7.5 Python Manuals IDLE Help! (F1) www.python.org/help/ Python Kullanım Kılavuzu Erdem

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Kodlarına Yorum Satırı Eklemek Java Paket Kavramı Java Kütüphane Kavramı Konsoldan Veri Çıkışı ve JOPtionPane Kütüphanesi JOptionPane Kütüphanesi Kullanarak

Detaylı

Bilgisayar Programlama

Bilgisayar Programlama Bilgisayar Programlama M Dosya Yapısı Kontrol Yapıları Doç. Dr. İrfan KAYMAZ Matlab Ders Notları M-dosyası Genel tanıtımı : Bir senaryo dosyası (script file) özel bir görevi yerine getirmek için gerekli

Detaylı

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

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları Diziler Temel Bilgisayar Programlama Final Sınavı Çalışma Notları (Dr. Övünç ÖZTÜRK, Dr. Tahir Emre KALAYCI) (İnşaat Mühendisliği ve Gıda Mühendisliği Grupları İçin) Diziler aynı türden bilgileri saklamak

Detaylı

14 Şubat 2011 Pazartesi günü uygulamada çözdüğümüz 2. Soruyu, aynı sıra ile bu defa MATLAB kullanarak çözelim.

14 Şubat 2011 Pazartesi günü uygulamada çözdüğümüz 2. Soruyu, aynı sıra ile bu defa MATLAB kullanarak çözelim. 4 Şubat 2 Pazartesi günü uygulamada çözdüğümüz 2. Soruyu, aynı sıra ile bu defa MATLAB kullanarak çözelim. MATLAB programı sembolik çözümler yapabilmekle birlikte, problemleri numerik olarak çözmeye yarar.

Detaylı

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach() (LOOPS) while(), do-while(), for(), foreach() Döngüler (loops) while do-while for foreach while ( koşul ) işlemler; do işlemler; while (koşul ); for (başlangıç ; koşul ; arttırma) işlemler; foreach ( tip

Detaylı

Metin Dosyaları. Metin Dosyaları Dosya Açma ve Kapama Dosya Okuma ve Yazma Rastgele Erişim Standart Girdi/Çıktı Hata Kontrolü

Metin Dosyaları. Metin Dosyaları Dosya Açma ve Kapama Dosya Okuma ve Yazma Rastgele Erişim Standart Girdi/Çıktı Hata Kontrolü Metin Dosyaları Metin Dosyaları Dosya Açma ve Kapama Dosya Okuma ve Yazma Rastgele Erişim Standart Girdi/Çıktı Hata Kontrolü Metin Dosyaları Metin dosyaları, verileri bir kere hazırlayıp, ikincil saklama

Detaylı

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi 5.HAFTA Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi Sınıf Kavramı: Sınıf (class) soyut bir veri tipidir. Nesne (object) onun somutlaşan bir cismidir. Java da sınıf (class) kavramını

Detaylı

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

Length: metin uzunluğunu yada diğer bir deyişle dizi elaman sayısını döndürür. 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

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Karakter Dizileri Karakter Dizilerini

Detaylı

MATLAB a GİRİŞ. Doç. Dr. Mehmet İTİK. Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü

MATLAB a GİRİŞ. Doç. Dr. Mehmet İTİK. Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü MATLAB a GİRİŞ Doç. Dr. Mehmet İTİK Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü İçerik: MATLAB nedir? MATLAB arayüzü ve Bileşenleri (Toolbox) Değişkenler, Matris ve Vektörler Aritmetik işlemler

Detaylı

Genel Programlama II

Genel Programlama II Genel Programlama II 22.03.2011 1 Yapılar ( Structures ) Yapılar ( structures ); tam sayı, karakter vb. veri tiplerini gruplayıp, tek bir çatı altında toplar. Bu gruplandırma içinde aynı ya da farklı veri

Detaylı

HESAP MAKİNASI YAPIMI

HESAP MAKİNASI YAPIMI HESAP MAKİNASI YAPIMI 1..Aşağıdakine benzer görünüm ve butonları hazırlayın. 2. 24. Butonun içerisine aşağıdaki kodları yazın. 3. Yeni bir layer ekleyip Frame1 F9 na aşağıdaki kodları ekleyelim. 4. Butonlardan

Detaylı

Mantıksal Kontrol ve Döngü Komutları

Mantıksal Kontrol ve Döngü Komutları Mantıksal Kontrol ve Döngü Komutları Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları *Kaynakça bölümünde verilen kaynaklardan derlenmiştir. Mantıksal Karşılaştırmalar Python, koşullu

Detaylı

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO while(), do-while(), for() Döngü (loop) : Bir koşul sağlandığı (true olduğu) sürece bir veya birden çok komutun tekrarlanması işlemidir. Java Döngüler (loops) While() do-while() for ( ) while ( koşul )

Detaylı

Temel Bilgisayar Programlama

Temel Bilgisayar Programlama BÖLÜM 11: : Birçok programda, bazı verilerin disk üzerinde saklanmasına gerek duyulur. Bütün programlama dillerinde, sabit disk sürücüsü (Hard Disk Drive, HDD) üzerindeki verileri okumak veya diske veri

Detaylı

1 RUBY HAKINDA 1 Ruby nin Gelişim Hikayesi 1 Neden Ruby? 1 Neden Bu Kadar Popüler? 2

1 RUBY HAKINDA 1 Ruby nin Gelişim Hikayesi 1 Neden Ruby? 1 Neden Bu Kadar Popüler? 2 İÇİNDEKİLER VII İÇİNDEKİLER 1 RUBY HAKINDA 1 Ruby nin Gelişim Hikayesi 1 Neden Ruby? 1 Neden Bu Kadar Popüler? 2 2 RUBY KURULUMU 3 Windows İçin Ruby Kurulumu 3 Ubuntu ve Debian İçin Ruby Kurulumu 6 Mac

Detaylı

Eln 1001 Bilgisayar Programlama I

Eln 1001 Bilgisayar Programlama I Eln 1001 Bilgisayar Programlama I GiriŞ / ǹk¹Ş Fonksiyonlar¹ Ne ÖĆreneceĆiz? Temel Giriş/Çıkış Yapısı Giriş Fonksiyonları Karakterler için giriş fonksiyonları Scanf fonksiyonu Formatlı giriş Çıkış Fonksiyonları

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri

Detaylı

Strings(Karakter Dizisi)

Strings(Karakter Dizisi) Strings(Karakter Dizisi) 0 {\ /\ Suhap SAHIN Onur GÖK 1 Tanımlama ve Kullanım char ad[20]; printf("adinizi girin: "); scanf("%s", ad); printf("\nmerhaba %s\n\n", ad); 2 Tanımlama ve Kullanım char ad[20];

Detaylı

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9 BTP 207 İNTERNET PROGRAMCILIĞI I Ders 9 Dizi Değişkenler (Array) 2 Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1, eleman2,, elemann)

Detaylı

5. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr

5. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr 5. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II Öğr.Gör. Hakan YILMAZ hakanyilmaz@karabuk.edu.tr Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi 2 İçindekiler STRING FONKSİYONU... 3 SPLIT FONKSİYONU...

Detaylı

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA MATLAB 3.DERS disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA Daha önceki derslerimizde input komutu ile klavye üzerinden MATLAB programlama ortamına veri girmeyi öğrenmiştik. Bu dersimizde ise disp

Detaylı

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

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf İçindekiler 1. Giriş... 1 1.2. c++ Programı Yapısı... 2 1.3.Using Direktifi... 5 Bölüm 2. Veri türleri, değişken kavramı, sabit ve değişken bildirimleri ve c++ da kullanımı 7 2.1. Temel veri türleri...

Detaylı

BİL1001 Bilgisayar Bilimlerine Giriş 1

BİL1001 Bilgisayar Bilimlerine Giriş 1 DEÜ Bilgisayar Bilimleri Bölümü BİL1001 Bilgisayar Bilimlerine Giriş 1 Öğr. Gör. Dr. Alper VAHAPLAR 2017 Yaz Okulu Tekrarlı Yapılar Algoritmanın belirli bir kısmının, belirli kere ya da belirli durumlar

Detaylı

Sınav Dağılım & IMKB Endeks

Sınav Dağılım & IMKB Endeks Sınav Dağılım & IMKB Endeks Ege Üniversitesi Bilgisayar Mühendisliği Veri Yapıları Proje-1 Hüseyin YAŞAR 05-06-7657 Didem KAYALI 05-06-7669 Umut BENZER 05-06-7670 Özlem GÜRSES 05-07-8496 Sürüm: 0.2 Bölüm

Detaylı

Java String İşlemleri

Java String İşlemleri Java String İşlemleri Karakterler (Characters) "char" kelimesi bir karakter tanımlamak için kullanılır. Karakter tek tırnak içine alınmalıdır. Bir char'ın aralığı 0 ile 65536 arasındadır. Char türü işaretsiz

Detaylı

Mantıksal İşlemler. 7.1 true, false, nil

Mantıksal İşlemler. 7.1 true, false, nil 7 Mantıksal İşlemler 7.1 true, false, nil Doğru ya da Yanlış değer alan önermelere (ifadelere) mantıksal (logic) deyimler ya da boolean deyimler denilir ([5]). Bir çok dilde mantıksal işlemler true ve

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 17: string Sınıfı İçerik string Yapıcı Fonksiyonları string ile Girdi/Çıktı string Operatörleri ı string Nesnesine Sayı Değeri Ekleme 2 string Birden fazla karakter

Detaylı

Internet Programming II

Internet Programming II Internet Programming II Elbistan Meslek Yüksek Okulu 2016 2017 Bahar Yarıyılı Öğr.Gör. Murat KEÇECĠOĞLU 1 Fonksiyonlar Değişken Kontrol Fonksiyonları isset() Fonksiyonu Parametre olarak aldığı değişken

Detaylı

BLM 111 ALGORİTMA VE PROGRAMLAMA I

BLM 111 ALGORİTMA VE PROGRAMLAMA I 1 BLM 111 ALGORİTMA VE PROGRAMLAMA I DİZİLER (ARRAYS) Kullanıcıdan N tane tamsayı, xi, alalım ve 1. Bu sayıların ortalamasını hesaplamak isteyelim ort = 0; for (i=0; i

Detaylı

Pointer Kavramı. Veri Yapıları

Pointer Kavramı. Veri Yapıları Pointer Kavramı Veri Yapıları Pointer Kavramı- Pointer Nedir? Göstericiler, işaretçiler ya da pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi tutan değişkenlerdir. Şu ana kadar

Detaylı

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı Internet Programming II Elbistan Meslek Yüksek Okulu 2015 2016 Bahar Yarıyılı Öğr.Gör. Murat KEÇECĠOĞLU 8 Mar. 2016 PHP de Değişken Tipleri Dizi (Array) Aynı değişken içerisinde birden fazla değer tutmak

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

Programlama Dili Prensipleri. Lab Notları 8 ve 9

Programlama Dili Prensipleri. Lab Notları 8 ve 9 Programlama Dili Prensipleri Lab Notları 8 ve 9 Fonksiyonel Programlama Fonksiyonel programlamada bir fonksiyon aynı parametreler aldığı sürece aynı sonucu üretecektir. Daha çok yapay zeka için kullanılan

Detaylı

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar:

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar: Dosyalama Çoğu programda, bazı verilerin disk üzerinde saklanmasına gerek duyulur. C programlama dilinde, disk dosyasına erişme (okuma ve yazma için) iki farklı yöntemle yapılır. Bunlar üst düzey ve alt

Detaylı

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA II ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Dosya İşlemleri ASCII Tablosu ve

Detaylı

Standart Veri Tipleri

Standart Veri Tipleri Standart Veri Tipleri Sayılar int (tamsayı) float (eesirli sayı) complex (earmaşıe sayı) String (Karaeter Dizisi) Boolean (True, False) Listeler Demetler Sözlüeler Sayılar Sayı örneeleri String Python'da

Detaylı

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu https://zumrakavafoglu.github.io/

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu https://zumrakavafoglu.github.io/ MTK467 Nesneye Yönelik Programlama Hafta 4 - Döngüler Zümra Kavafoğlu https://zumrakavafoglu.github.io/ while döngüsü while(koşul){ } döngü ifadeleri Koşul boolean değerli olmalıdır. Koşulun değeri true

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 2 C# Programlama Dili Elemanları Bu bölümde;

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA Metotlar Şu ana kadar yaptığımız örneklerde hep önceden hazırlanmış ReadLine(), WriteLine() vb. gibi metotları kullandık. Artık kendi metotlarımızı yapmanın zamanı geldi. Bilmem

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMAYA GİRİŞ DERS 2 PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı

Detaylı

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı Internet Programming II Elbistan Meslek Yüksek Okulu 2015 2016 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU 21 Mar. 2016 PHP de dizi Değişkenler Buraya kadar yaptığımız uygulamalarda değişkenlerin tek değer

Detaylı

Android Ders Notları

Android Ders Notları Android Ders Notları 1. Yeni Bir Proje Başlatma Android Studio programında yeni bir proje başlatıyoruz. İlk olarak karşımıza resim 1 deki gibi bir pencere gelecek. Burada Application name kısmına proje

Detaylı

Fen ve Mühendislik Uygulamaları ile MATLAB

Fen ve Mühendislik Uygulamaları ile MATLAB Fen ve Mühendislik Uygulamaları ile MATLAB Doç. Dr. M. Akif CEVİZ Atatürk Üniversitesi Mühendislik Fakültesi Makine Mühendisliği Bölümü M-Dosyaları Kontrol İfadeleri - İlişkisel ve Mantıksal Operatörler

Detaylı

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.

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. PHP'nin Temelleri PHP Nedir? PHP, bir programlama dili olarak, değişkenler, değişkenlerin değerleriyle bir işlem yapmayı sağlayan işlemciler (operatörler), işlemcilerle oluşturulan deyimler ve nihayet

Detaylı

String. 1.1 Python da String

String. 1.1 Python da String Bölüm 1 String String, Türkçe de metin diye adlandırılan veri tipidir. Bilgisayara giriş ve çıkışlar karekter dizileri biçimindedir; yani girdi ve çıktılar birer stringdir. Dolayısıyla, programlama dillerinde

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler C# Programlama Dili İlk programımız Tür dönüşümü Yorum ekleme Operatörler 1 İlk Programımız Bu program konsol ekranına Merhaba dünya! yazıp kapanır. Programı geçen derste anlatıldığı gibi derleyin, sonra

Detaylı

Fonksiyonlar (Altprogram)

Fonksiyonlar (Altprogram) Fonksiyonlar (Altprogram) C Programlama Dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya gelmesi ile oluşur.

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Diziler ile Pointer Arası İlişki Bir dizi adı sabit bir pointer gibi düşünülebilir. Diziler ile pointer lar yakından ilişkilidir. Pointer lar değişkenleri gösterdikleri gibi,

Detaylı

Excel de Düşeyara Vlookup) Fonksiyonunun Kullanımı

Excel de Düşeyara Vlookup) Fonksiyonunun Kullanımı FARUK ÇUBUKÇU EXCEL AKADEMİ Excel de Düşeyara Vlookup) Fonksiyonunun Kullanımı Excel de arama ve veri işleme konusunda en önemli fonksiyonlardan birisi olan DÜŞEYARA (İngilizce sürümde VLOOKUP) fonksiyonu

Detaylı

Listeler. Liste Tanımlamak

Listeler. Liste Tanımlamak LİSTELER ve DEMETLER Bu bölüme gelene kadar yalnızca iki farklı veri tipi görmüştük. Bunlardan biri karakter dizileri, öteki ise sayılardı. Ancak tabii ki Python daki veri tipleri yalnızca bu ikisiyle

Detaylı

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir.

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir. MATRİS TRANSPOZU: Bir matrisin satırlarını sütun, sütunlarınıda satır yaparak elde edilen matrise transpoz matris denilir. Diğer bir değişle, eğer A matrisi aşağıdaki gibi tanımlandıysa bu matrisin transpoz

Detaylı

KISIM I: TEMEL KONULAR 1

KISIM I: TEMEL KONULAR 1 İÇİNDEKİLER VII İÇİNDEKİLER KISIM I: TEMEL KONULAR 1 1 TEMEL BİLGİLER 3 Python Hakkında 3 Python u Nereden Bulabilirim? 4 GNU/Linux 4 Microsoft Windows 5 Python Nasıl Çalıştırılır? 5 GNU/Linux ta Python

Detaylı

Al Ruby'i Vur Python'a

Al Ruby'i Vur Python'a Al Ruby'i Vur Python'a Python Tutorial'ı Üzerinde Gezintiler Erek Göktürk Onur Küçük Çalıştırma Etkileşimli: irb Argümanlar: ARGV[n] Etkileşimli: python Argümanlar: sys.argv[n] Karmaşık Sayılar Özel bir

Detaylı

AST415 Astronomide Sayısal Çözümleme - I. 0. Derse Giriş

AST415 Astronomide Sayısal Çözümleme - I. 0. Derse Giriş AST415 Astronomide Sayısal Çözümleme - I 0. Derse Giriş Dersin Amacı Bu seçmeli dersle öğrencilere modern bilgisayarların Python programlama dilinden yararlanarak bilimsel problemlerin çözümünde nasıl

Detaylı

8. Bölüm DİZİLER. tip dizi_ismi[eleman_sayısı]; Bütün diziler 0 ile baţlar.

8. Bölüm DİZİLER. tip dizi_ismi[eleman_sayısı]; Bütün diziler 0 ile baţlar. DİZİLER 8. Bölüm Dizi aynı ad altında toplanmış ve aynı tipte olan değişkenlerin sıralı bir listesidir. C de bir dizi için bildirim yapılırken kullanılan genel kural şudur. tip dizi_ismi[eleman_sayısı];

Detaylı

LABORATUVAR ÇALIŞMASI 1 - Python a Giriş

LABORATUVAR ÇALIŞMASI 1 - Python a Giriş LABORATUVAR ÇALIŞMASI 1 - Python a Giriş Bu Çalışmanın Amacı Bu çalışmadaki amacımız, kullandığımız sistem ve kullanım hedefimiz için en uygun olan Python sürümünü bilgisayarımıza yükleyerek bilgisayarımızı

Detaylı

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ

Detaylı

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu. Javascript Html sayfalarının içine yazılarak, sayfayı daha etkileşimli hale getirir. click olayları, uyarı mesajları gibi hareketlerle sayfayı daha dinamik hale getirir. Javascript olmadan yazılan html

Detaylı

PYTHON PROGRAMLAMA DİLİ

PYTHON PROGRAMLAMA DİLİ PYTHON PROGRAMLAMA DİLİ Ege Bilmuh GNU/Linux ve Özgür Yazılım Çalışma Grubu http://tinyurl.com/ozgurbilmuh Enes Ateş enes@enesates.com 03.05.2012 Önceki Hafta Python Nedir, Kimler Kullanır? Python'ı Çalıştırmak

Detaylı

How to ASP Language. Elbistan Meslek Yüksek Okulu 2011 2012 Bahar Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 29 Eki. 1 Kas. 2013

How to ASP Language. Elbistan Meslek Yüksek Okulu 2011 2012 Bahar Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 29 Eki. 1 Kas. 2013 How to ASP Language Elbistan Meslek Yüksek Okulu 2011 2012 Bahar Yarıyılı 29 Eki. 1 Kas. 2013 Öğr. Gör. Murat KEÇECĠOĞLU Fonksiyonlar, kendilerini göreve çağıran VBScript komutlarına ve işlemlerine bir

Detaylı