Qt ye Giriş. Can Kavaklıoğlu. 19 Temmuz Trolltech in Qt 4.0 alt yapısını kullanarak programlama yapmak için gerekli kütüphaneleri yüklemek

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

Download "Qt ye Giriş. Can Kavaklıoğlu. 19 Temmuz 2007. Trolltech in Qt 4.0 alt yapısını kullanarak programlama yapmak için gerekli kütüphaneleri yüklemek"

Transkript

1 Qt ye Giriş Can Kavaklıoğlu 19 Temmuz Önsöz Bu yazı Can Kavaklıoğlu[1] tarafından, Cerberus[2] takımının ihtiyaçları doğrultusunda yazılmıştır. Doğu Kaya ya elzem yardımlarından için teşekkürler. Yazıdaki hataları, önerileri, soruları ve/veya yazının oluşturduğu tepkileri eposta@cankavaklioglu.name.tr adresine yollarsanız pek de güzel olur. Herzamanki gibi bu yazıda yazanlar etkisinde kalarak yaptığınız hareketlerden yazar sorumlu değildir. sürüm Temmuz Gereksinimler Trolltech in Qt 4.0 alt yapısını kullanarak programlama yapmak için gerekli kütüphaneleri yüklemek için: Debian sisteminde qt4-dev-tools paketini yüklemeniz yeterli olacaktır. Diğer birkaç sistemin paketi de mevcuttur[13]. Herhangi bir Linux sisteminde indireceğiniz.tar.gz dosyası ile kurulumu gerçekleştirebilirsiniz. Diğer sistemler için kurlum ve diğer konularda detaylı anlatım için [10]. 3 Hello World Programla ilgili her konuda olduğu gibi ilk önce ekrana Hello World yazdıran program ile işe başlayalım: Bu kodu gcc helloworld.cpp komutu ile çalıştırdığınızda şöyle bir hata kümesi ile karşılaşıyorsanız: helloworld.cpp:1:28: QApplication: No such file or directory helloworld.cpp:2:27: QPushButton: No such file or directory gcc programı kütüphanelerinizi bulamıyor demektir. Daha doğrusu qmake kullanarak, düzgün bir Makefile oluştumanız gerekiyor demektir. qmake in de doğru sürümünü kullandığımıza dikkat etmemiz gereklidir. Bunu anlamanın en iyi yolu aşağıdaki komutların çıktısındaki ilk satırlara bakarak, hangi Qt sürümü kullanıldığını yazan satıra göz atmaktır. Benim sistemimde bu komut şöyle çalışıyor: 1

2 /**************************************************************** ** ** Qt tutorial 1 ** ****************************************************************/ #include <QApplication> #include <QPushButton> int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton hello("hello world!"); hello.resize(100, 30); } hello.show(); return app.exec(); Şekil 1: Örnek: Hello World[11] qmake -project -nopwd helloworld.cpp Komutu bir adet klasöradı.pro dosyası oluşturuyor. Bu dosyanın içerisinde qmake in Makefile ını oluşturacağı projeyi temsil ediyor. Eğer bulunduğumuz klasördeki bütün.cpp ler projeye katılsın istiyorsak, o zaman son iki parametreyi vermeden de komutumuzu çağırabiliriz: qmake -project qmake.pro dosyamızı oluşturduktan sonra gerekli Makefile ı oluşturması için komutunu çağırıyoruz ve Makefile ımız oluştuyor. Burada dikkat edilecek nokta (en azından benim sistemimde öyle idi) qmake komutu Qt 3.0 sürümünün qmake ini kullanıyordu. Bu da yanlış Makefile oluşmasına sebep oluyordu. O yüzden oluşan Makefile ın ilk satırlarını kontrol ederek orada Qt 4... ifadesinin geçtiğine emin olmak gereklidir. Benim sistemimde bunu yapabilmek için qmake yerin şu komutu kullanmam gerekti: qmake-qt4 make Düzgün bir Makefile oluştu ise, Makefile ın bulunduğu klasörde, komutu ile ilk Qt programımızı oluşturduk demektir. Çalıştırmak için komut satırından./<klasöradı> komutu ile programı çalıştırabiliriz. 2

3 4 Sinyaller ve Yuvalar (Signals and Slots) Qt nin objeler arası iletişim için kullandığı yapılar Sinyaller ve Yuvalar[8] olarak adlandırılırlar. Throlltech in dediğine göre eski sistemlerde kullanılan birbirine pointer gönderip, callback yaptırmak, hem type-safe olmadığı, hem de strongly coupled olduğu için sakıncalı oluyormuş. Bu yüzden bu yeni sistemlerini oluşturmuşlar. Binevi Sony nin OPEN-R sistemindeki gibi Subject(Signal) ve Observer(Slot) lar mevcut. Bir sinyal iki yuvaya bağlanabiliyor. Yukariki iki probleme verilen cevap ise şöyle: Bağlantılar tek elden bir fonksiyon imzası (function signature) ile belirtildiği için tip çakışma problemleri yaşanmıyor. Hatta bu açık ayırım sayesinde derleyici bize olası hataları gösterebiliyor. Loosely coupled yapı sayesinde, sinyali yayan objeler, yuva sahibi objelerle kurdukları bağlantılarda direk ilişki kurmadıkları için, strongly coupled sistemlerdeki sinyal yayan objelerin, bütün yuva sahibi objelerden haber olma zorunluluğu yoktur. Sinyal ve yuvaların birkaç özellikleri: Sinyaller ve yuvalar, bağlantılarından haberdar değillerdir. Bir yuvaya gerektiği kadar sayıda sinyal bağlanabilir. Bir sinyale gerektiği sayıda yuvaya bağlanabilir. Sinyaller sinyallere de bağlanabilir, bu durum, birinci sinyal oluştuğunda, ikinci sinyali tetikleyecektir. Bir sinyal oluştuğunda, kodun çalışması sinyali oluşturan satırın altına, ancak sinyalin yuvasından geri dönüş olduğunda devam eder. Eğer bu durum yerine, yuvadaki işlemin ayrı bir süreç olarak devam etmesi isteniyorsa, sıralı bağlantı (queued connections) yöntemi kullanılır. Yuvaların erişim hakları, hangi sinyallerin bu yuvaya bağlanabileceğini belirtir. 3

4 4.1 Sinyal ve Yuvalar Örneği 2. şekildeki örnekte Counter (sayaç) sınıfı, bir yuva ile tuttuğu sayıyı değiştirir. Oluşturduğu bir sinyal ile de, kendisini izleyenlere, sakladığı değerin değiştiğini haber verir. #include <QObject> class Counter : public QObject { Q_OBJECT public: Counter() { m_value = 0; } int value() const { return m_value; } public slots: void setvalue(int value); signals: void valuechanged(int newvalue); private: int m_value; }; Şekil 2: Örnek: Sinyaller ve yuvalar[8] Saklanan değişmesi sinyalinin üretilmesinin en uygun noktası ise setvalue fonksiyonu olacaktır: void Counter::setValue(int value) { if (value!= m_value) { m_value = value; emit valuechanged(value); } } Şekil 3: Örnek: Sinyaller ve yuvalar: setvalue fonksiyonu [8] Dikkat edilecek satır emit valuechanged(value); satırıdır. Bu komut ile, signals: ifadesi ile belirttiğimiz bölümdeki void valuechanged(int newvalue); fonksiyon çağırılarak oluşturulan sinyal yayılır. Daha açık bir örnek için 4. şekile bakınız: 4

5 Counter a, b; QObject::connect(&a, SIGNAL(valueChanged(int)), &b, SLOT(setValue(int))); a.setvalue(12); // a.value() == 12, b.value() == 12 b.setvalue(48); // a.value() == 12, b.value() == 48 Şekil 4: Örnek: Sinyaller ve yuvalar: bir sinyali yuvaya bağlamak [8] Bu örnekte gösterilen işlemler şunlardır: 1. İki tane Counter objesi, a ve b oluşturulur. 2. a ve b objeleri birbirlerine bağlanırlar. Bağlama komutundaki değiştirge sıralaması şöyledir: sinyali oluşturan obje, sinyal, sinyali alan obje, yuva. Bu şekilde sinyal ve yuva tanımlarken, SIGNAL ve SLOT makroları kullanılmak zorundadır. 3. a.setvalue(12); komutu a objesinin sakladığı değeri 12 ye eşitler, ve hemen ardından, valuechanged(int) sinyali oluşturmasını sağlar. Bu sinyal b objesinin setvalue(int) yuvasına ulaşır ve b objesinin sakladığı değer de 12 ye eşitlenir. 4. b.setvalue(48); ise sadece b objesinin değerini değiştirebilir, çünkü a objesinin yuvası hiçbir sinyale bağlanmadığı için, b objesinin setvalue(int) fonksiyonu tarafından oluşturulan sinyal a objesine ulaşmaz. 5 Meta-Obje Sistemi Qt nin Meta-Obje Sistemi[15], başta sinyal ve yuvalar sistemi olmak üzere birkaç işlev sunar: QObject::metaObject() ilgili sınıfın meta objesini verir. QMetaObject::className() RTTI desteğine gerek duymadan çalışan sınıfın adını obje çalışırken verir. QObject::inherits() istenen sınıfın ilgili sınıf tarafından kullanılıp (inherit) kullanılmadığını belirtir. QObject::tr() ve QObject::trUtf8() karakter dizilerini istenen dile çevirir. QObject::setProperty() ve QObject::property() dinamik olarak obje özelliklerinin değiştirir ve verir. Meta-Obje Sistemi aynı zamanda dynamic cast() işlemi için de kullanılabilir. 6 Özellikler Sistemi Qt nin Özellikler Sistemi (Property System [14] ) bir sınıfın içerisindeki standart veri yapılarına denk gelir. Ancak aşağıda belirtilen birkaç önemli işlev sağlar: Okuma fonksiyonu her zaman mevcuttur. İstenirse yazma fonksiyonu her zaman mevcut olabilir. Kayıtlı ( stored ) özniteliği, özelliğin kaydedilip edilmediğini belirtir. 5

6 Ender olsa da yeniden başlatma ( reset ) fonkiyonu. Tasarlanabilir ( designable ) özniteliği, ilgili özelliğin, Qt Designer gibi bir tasarlama programında gösterilip, gösterilmeyeceğini belirtir. Q PROPERTY() makrosu kullanılarak tanımlanır. Bu makro ancak QObject i kullanan (inherit) sınıflarda kullanılabilir. 6.1 Özellik Okumak ve Yazmak QPushButton *button = new QPushButton; QObject *object = button; // button and object point to the same object button->setdown(true); object->setproperty("down", true); Şekil 5: Örnek: Özellik okuma yazma örneği[14] button->setdown(true) yöntemi derleyicinin, derleme sırasında hataları raporlayabilmesini sağlar. button->setpropety("down",true); yöntemi ise derleme sırasında kullanılabilir olmayan özellikleri programın çalışması sırasında erişebilmemizi sağlar. Özellikler Sisteminin diğer belirtilen diğer iki fonksiyonu ise şunlar: QMetaObject::propertyCount() bir objenin kullanılabilecek bütün özelliklerini verir. QMetaObject::property() istenen objenin istenen özelliğini bir QMetaProperty objesi olarak verir. 6.2 Özellikler Sistemi Örneği class MyClass : public QObject { Q_OBJECT Q_PROPERTY(Priority priority READ priority WRITE setpriority) Q_ENUMS(Priority) public: MyClass(QObject *parent = 0); ~MyClass(); }; enum Priority { High, Low, VeryHigh, VeryLow }; void setpriority(priority priority); Priority priority() const; Şekil 6: Örnek: Özellik okuma yazma örneği[14] 6

7 Bu tanımlamayı kullanmak için şöyle bir ifade deneyebiliriz: obj->setproperty("priority", "VeryHigh"); Q PROPERTY makrosunun yapısı şu şekildedir: Q_PROPERTY(type name READ getfunction [WRITE setfunction] [RESET resetfunction] [DESIGNABLE bool] [SCRIPTABLE bool] [STORED bool]) name, QVariant[16] tarafından desteklenen bir tip olabilir yada yukarıdaki örnekteki gibi sınıf içerisinde tanımlanan bir tip olabilir. getfunction, const olmalıdır. Döndüğü cevabın tipi da, ya ilgili tipin kendisi, ya o tipte bir pointer yada yine o tipte bir referans olmalıdır. seçmeli setfunction, void dönmelidir ve sadece tek bir değiştirge ( parameter ) almalıdır. Alınan değiştirgenin tipi, ilgili tipin kendisi, ya ilgili tipte bir pointer, yada ilgili tipte bir const reference olmalıdır. seçmeli resetfunction, özelliği ilk haline geri çevirecek fonksiyon. Hiçbir değiştirge almamalı ve void dönmelidir. seçmeli DESIGNABLE, GUI tasarım arıcında bu özelliğin kullanımı açıp kapatmak için kullanılır. Öntanımlı değer yazılabilen özellikler için evettir. seçmeli SCRIPTABLE, Betik motoru tarafından kullanıma uygunluğu belirtir. Öntanımlı değer evettir. seçmeli STORED, Objenin durumu kaydedilirken, bu özelliğin değerinin hatırlanıp hatırlanmayacağını belirtir. Öntanımlı değer evettir. Yazılamayan değerler için kullanılması mantıklı değildir. 7 Qt - Eclipse bağlantısı 10 Temmuz da Eclipse ile Qt yi birbirine bağlamak için bir eclipse eklentisi test sürümü yayınlandı[17]. Qt eklentisi yüklemesini yapmadan önce Eclipse te C/C++ desteği için kullanılan CDT eklentisini kurmanız gereklidir. Bu işlemi Eclise in Help > Software Updates > Find and install menüsünden yapabilirsiniz. Eliniz değmişken bir de Eclipse sisteminiz için güncelleme yaparsanız iyi olacaktır. Qt - Eclipse bağlantısı eklentisi test sürümü olduğu için, Eclipse i güncel tutmakta fayda olacaktır. Haberde verilen bağlantıdan[18] indirebileceğiniz paketi, eclipse klasörünüzün üzerine açtığınız zaman Help > Cheat Sheets > Qt Development yoluyla açabileceğiniz bir anlatım mevcut. Bu anlatımda anlatıldığı üzere, Window > Preferences > Qt panelinden, sistemdeki Qt yüklemenizin yerini belirtmeniz gerekiyor. Kullandığım Debian sistemde libqt4* paketleriyle kurduğum Qt kurulumunda, istenen değerleri 4.0 ve /usr olarak girdiğimde Qt yi Eclipse e göstermeyi başardım. Bir not, eğer qt3 sürümü önceden yüklü ise, qmake komutu eski qmake-qt3 komutuna işaret ediyor olabilir. Bu durumda komut satırından çağırdığınız qmake komutunun doğru qmake (qmake-qt4) komutuna işaret ettiğinden emin olun. Eğer Qt yüklemenizi başarıyla belirtebilirseniz, New > Project > Other > Qt ve Qt Designer menüsünden yeni bir Qt projesi başlatabilirsiniz. İşaret edilecek özellikler: 7

8 Window > Show View menüsünden seçilebilecek bir çok Qt aracı. ui dosyalarını Eclipse in içinden Qt Designer kullanarak düzenleyebilme. Kaynaklar [1] [2] Cerberus [3] The Independant Qt Tutorial - tutorial/ [4] Qt 4.0: Qt Tutorial - [5] Qt 4.0: How to Learn Qt - [6] Qt 4.2 Whitepaper - [7] Qt 4.0: Qt Object Model - [8] Qt 4.0: Qt Signals and Slots - [9] Qt 4.0: Examples - [10] Qt 4.0: Installation - [11] Qt 4.0: Qt Tutorial [12] Qt 3.1: qmake User Guide - [13] Downloads Trolltech - [14] Qt 4.0: Qt s Property System - [15] Qt 4.0: Meta-Object System - [16] Qt 4.0: QVariant Class Reference [17] Trolltech Provides Qt Developers Access to Eclipse with Integration Release Canadidate [18] linux.x86.tar.gz 8

Qt ye Giriş. Can Kavaklıoğlu. 10 Temmuz 2007. Trolltech in Qt 4.0 alt yapısını kullanarak programlama yapmak için gerekli kütüphaneleri yüklemek

Qt ye Giriş. Can Kavaklıoğlu. 10 Temmuz 2007. Trolltech in Qt 4.0 alt yapısını kullanarak programlama yapmak için gerekli kütüphaneleri yüklemek Qt ye Giriş Can Kavaklıoğlu 10 Temmuz 2007 1 Önsöz Bu yazı Can Kavaklıoğlu[1] tarafından, Cerberus[2] takımının ihtiyaçları doğrultusunda yazılmıştır. Doğu Kaya ya elzem yardımlarından için teşekkürler.

Detaylı

Qt ile Programlama. İşbaran Akçayır http://ish.kodzilla.org

Qt ile Programlama. İşbaran Akçayır http://ish.kodzilla.org Qt ile Programlama İşbaran Akçayır http://ish.kodzilla.org 1 Nedir Qt, platformlar arası bir uygulama geliştirme sistemidir. (ya da iskeleti diyebiliriz) Genellikle GUI içeren programlar geliştirmede kullanılır,

Detaylı

Qt ile Bir Ağ Uygulaması

Qt ile Bir Ağ Uygulaması Qt ile Bir Ağ Uygulaması Aykut Aksoy aykutaksoy@myway.com sürüm 1.0 Özet Bu belge Qt ile hazırlanmış bir ağ uygulamasını anlatır. C++ bilinmesi beklenir. Bu belgede "QProcess.h" kütüphanesine ağırlık verilmiştir.

Detaylı

Qt Temelleri. Eren BAŞTÜRK. basturkeren@gmail.com www.erenbasturk.com

Qt Temelleri. Eren BAŞTÜRK. basturkeren@gmail.com www.erenbasturk.com Qt Temelleri Eren BAŞTÜRK basturkeren@gmail.com www.erenbasturk.com Giriş Qt Gelişim Süreci Merhaba Dünya Uygulaması Qt Creator İle Merhaba Dünya Uygulaması Qt ile Uygulama Geliştirme Bölüm İçeriği Öğrenecekleriniz......

Detaylı

QT Eğitimi - 4 : İkili Saat (Binary Clock)

QT Eğitimi - 4 : İkili Saat (Binary Clock) QT Eğitimi - 4 : İkili Saat (Binary Clock) Önder Arslan Sürüm 1.0 Özet Bu belge qt öğrenimi için bir dizi şeklinde hazırlanmıştır. C++ bilmek ön koşuldur. Giriş Kullanıcı arabirimi

Detaylı

Parçacık (Widget) Eren BAŞTÜRK

Parçacık (Widget) Eren BAŞTÜRK Parçacık (Widget) Eren BAŞTÜRK basturkeren@gmail.com Giriş Yaygın Olarak Kullanılan Parçacıklar Yerleşim Yönetimi Özel Parçacık Rehberi Giriş Yerleşim Yönetimi Özel Parçacık Rehberi Qlabel Yazı, resim,html...

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Sınıflar, Nesneler, Fonksiyon ve Veri Üyeleri Sınıf ve Fonksiyon Üyeleri

Detaylı

JAVA PROGRAMLAMAYA GİRİŞ

JAVA PROGRAMLAMAYA GİRİŞ LAB I JAVA PROGRAMLAMAYA GİRİŞ Java Kurulumu Java dili ile programlama yapabilmek için java jdk ve java kodlama yapılabilecek uygun bir geliştirme ortamı kurulmalıdır. Eclips IDE yaygın olarak kullanılan

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ı

Karma C/C + + Kodlama

Karma C/C + + Kodlama Karma C/C+ + Kodlama /********************************************************** * Bâkır EMRE * emre ~ enderunix.org * EnderUNIX Yazılım Gelistirme Takım ı * http:/ /www.enderunix.org * * Sürüm : 1.0 *

Detaylı

Göstericiler (Pointers)

Göstericiler (Pointers) C PROGRAMLAMA Göstericiler (Pointers) C programlama dilinin en güçlü özelliklerinden biridir. Göstericiler, işaretçiler yada pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi

Detaylı

KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ KOCAELİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRONİK VE HABERLEŞME MÜHENDİSLİĞİ Nesneye Yönelik Programlama C++ ile Beaglebone Black de Bluetooth Haberleşmesi Danışman: Yrd. Doç. Dr. Mehmet YAKUT Sinan

Detaylı

Glade. hitokiri. Eylül, 2012

Glade. hitokiri. Eylül, 2012 Glade hitokiri Eylül, 2012 İçindekiler 1 Glade Nedir?............................................... 2 2 Gtk Builder?................................................ 3 3 GtkBuilder İşlevleri............................................

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ı

Bİ L 131 Hafta 2. 1) Bilgisayara Java SE Development Kit 7 kurulması

Bİ L 131 Hafta 2. 1) Bilgisayara Java SE Development Kit 7 kurulması Bİ L 131 Hafta 2 1) Bilgisayara Java SE Development Kit 7 kurulması Bunun için internet tarayıcınızı (örneğin Mozilla Firefox, Google Chrome veya Internet Explorer) açınız ve http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

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 Kapsülleme (Erişim Denetleyiciler) Java da Sınıf Oluşturmak Java da Nesne Oluşturmak Java da Constructor Kavramı Java da This Kavramı Java da Constructor

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ı

MOBİL UYGULAMA GELİŞTİRME

MOBİL UYGULAMA GELİŞTİRME MOBİL UYGULAMA GELİŞTİRME Hedefler Bu üniteyi çalıştıktan sonra; Android projesi oluşturabilir, Android projesini çalıştırabilir, Android projesi genel yapısını açıklayabilir, Activity kavramını açıklayabilir,

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ı

QT Eğitimi - 2 :Yerleşim (Layout)

QT Eğitimi - 2 :Yerleşim (Layout) QT Eğitimi - 2 :Yerleşim (Layout) Önder Arslan Sürüm 1.0 Özet Bu belge qt öğrenimi için bir dizi şeklinde hazırlanmıştır. C++ bilmek ön koşuldur. Giriş QT eğitimine yerleşim (layout)

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.

Detaylı

BİL BİLGİSAYAR PROGRAMLAMA (JAVA)

BİL BİLGİSAYAR PROGRAMLAMA (JAVA) BİL 141 - BİLGİSAYAR PROGRAMLAMA (JAVA) KURULUM DÖKÜMANI Ders kapsamında lab saatlerinde veya lab saatleri dışında Java kodları yazabilmek ve çalıştırabilmek için bilgisayarınıza bazı yazılımların kurulması

Detaylı

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir. PROGRAMLAMAYA GİRİŞ Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir. C de yazılan bir programın çalışması için çoğunlukla aşağıdaki

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ı

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance Önemli noktalar Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance public class Test { // çalışır İnsan insan = new Çiçekçi();

Detaylı

Hızlı Sistem Kurulumu ve Yönetimi İçin Yeni Bir Yaklaşım: SUSE Stüdyo

Hızlı Sistem Kurulumu ve Yönetimi İçin Yeni Bir Yaklaşım: SUSE Stüdyo Hızlı Sistem Kurulumu ve Yönetimi İçin Yeni Bir Yaklaşım: SUSE Stüdyo Özhan KARAMAN SUSE Linux ve Açık Platformlar Ürün Müdürü Yöre Elektronik Yayımcılık A.Ş. ozhankaraman@yore.com.tr CLA, CLP, CNI Ajanda

Detaylı

http://www.microsoft.com/visualstudio/eng/downloads

http://www.microsoft.com/visualstudio/eng/downloads Visual Studio 2012'nin kurulumunu, Visual Studio'nun kullanımını ve Windows Store'da basit bir proje hazırlanmasını anlatacağım. Hepsinden önce Visual Studio ortamından biraz bahsedelim. Visual Studio

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ı

Paket Erişimleri. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1

Paket Erişimleri. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1 Paket Erişimleri Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1 Erişim Erişim konusunda iki taraf vardır: Kütüphaneyi kullanan kişiler (client) Kütüphaneyi yazan kişiler Altuğ B. Altıntaş

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 6 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyon Prototipleri Fonksiyon Prototipleri Derleyici, fonksiyonların ilk hallerini (prototiplerini)

Detaylı

Qt 4 ile C++ GUI Programlama

Qt 4 ile C++ GUI Programlama YASAL AÇIKLAMALAR Bu belgenin, Qt 4 ile C++ GUI Programlama çevirisinin telif hakkı 2010 Ufuk Uzun a, özgün İngilizce sürümünün telif hakkı 2008 Trolltech ASA e aittir. Bu belgeyi, Open Publication Licence

Detaylı

12 TBT / WEB TASARIM ve PROGRAMLAMA ( Not 3 )

12 TBT / WEB TASARIM ve PROGRAMLAMA ( Not 3 ) 12 TBT / WEB TASARIM ve PROGRAMLAMA ( Not 3 ) 25.09.2017 METİN VE GÖRÜNÜM DÜZENLEME ETİKETLERİ : etiketleri dökümana başlık eklemek için kullanılır. etiketinde ki x ifadesi 1 den 6 ya kadar

Detaylı

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=101

Detaylı

Turquaz Windows kurulum dökümanı. ftp://ftp.mirror.ac.uk/sites/ftp.postgresql.org/binary/v7.3.1/windows/pgsql731wina1.exe

Turquaz Windows kurulum dökümanı. ftp://ftp.mirror.ac.uk/sites/ftp.postgresql.org/binary/v7.3.1/windows/pgsql731wina1.exe 1. Giriş Turquaz programını windows üzerinde çalıştırmak için öncelikle bilgisayarınızda postgresql ve Java nın kurulu olması gerekli. Aşağıdaki bilgi ve dökümanlar windows 2000 işletim sistemi üzerinde

Detaylı

BİL-141 Bilgisayar Programlama I (Java)

BİL-141 Bilgisayar Programlama I (Java) 1 BİL-141 Bilgisayar Programlama I (Java) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu,

Detaylı

C Konsol ve Komut Satırı

C Konsol ve Komut Satırı C Konsol ve Komut Satırı Öğr. Gör. M. Ozan AKI Rev 1.0 C:\> Konsol ekranı, işletim sistemi ve dosya yönetiminin metin tabanlı yönetilebilmesini sağlayan arabirimdir. Windows işletim sistemi ortaya çıkmadan

Detaylı

Erişim konusunda iki taraf vardır:

Erişim konusunda iki taraf vardır: Erişim Erişim konusunda iki taraf vardır: Kütüphaneyi kullanan kişiler (client) Kütüphaneyi yazan kişiler Paket (package) Paketler kütüphaneyi oluşturan elemanlardır. PaketKullanim.java Varsayılan Paket

Detaylı

C PROGRAMLAMA D İ L İ

C PROGRAMLAMA D İ L İ C PROGRAMLAMA DİLİ C Programlama Dilinin Temelleri C Programlama Dili'ni popüler kılan önemli nedenler aşağıda listelenmiştir: C, güçlü ve esnek bir dildir. C ile işletim sistemi veya derleyici yazabilir,

Detaylı

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak:  Published by Juan Soulié Kullanılacak kaynak: http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié C++ Nedir? Arttırılmış C demektir ve C dilinin geliştirilmiş halini yansıtır. C++ öğrenmeden önce herhangi bir programlama

Detaylı

Bu makalede 2003 sunucu, Windows 2003 Server anlamına gelmektedir. Aşağıda yapılan işlemler 2003 R2 sunucu üzerinde denenmiş ve çalıştırılmıştır.

Bu makalede 2003 sunucu, Windows 2003 Server anlamına gelmektedir. Aşağıda yapılan işlemler 2003 R2 sunucu üzerinde denenmiş ve çalıştırılmıştır. WINDOWS 2003 SUNUCULARI ÜZERĐNE PHP YÜKLENMESĐ ERDAL YAZICIOĞLU erdal(at)gmail.com http://barbarossa41.wordpress.com Merhabalar, Çözümpark.com adresinde bir kullanıcı ASP ve PHP yi aynı sunucu üzerinde

Detaylı

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

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) { Fonksiyonlar Kendi içinde bağımsız olarak çalışabilen ve belli bir işlevi yerine getiren program modülleridir. C programları bu modüllerden (fonksiyonlar) oluşurlar. Fonksiyonların yazılmasındaki temel

Detaylı

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say İÇİNDEKİLER 1. Bilgisayarın Yapısı Ve Programlama Dilleri Giriş 1 Bilgisayar ve Programlamanın Kısa Bir Tarihçesi 2 Donanım ve Yazılım Kavramları 3 Bilgisayarın Donanımsal yapısı 4 Giriş Birimi (Input

Detaylı

BİLG Dr. Mustafa T. Babagil 1

BİLG Dr. Mustafa T. Babagil 1 BİLG214 20.10.2009 Dr. Mustafa T. Babagil 1 Yapısal bilgi türlerinin tanımlanması. (C++ daki struct yapısı. ) Daha önce öğrenmiş olduğumuz bilgi tipleri char, int ve float v.b. değişkenler ile dizi (array)

Detaylı

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) BBS-515 Nesneye Yönelik Programlama Ders #9 (16 Aralık 2009) Geçen ders: Java Applet lerde bileşen yerleştirme türleri ( applet layouts

Detaylı

Kaynak Kodlardan Derleme. Turquaz Muhasebe. Versiyon 0.2. Hüseyin Ergün. 26 Mart 2005

Kaynak Kodlardan Derleme. Turquaz Muhasebe. Versiyon 0.2. Hüseyin Ergün. 26 Mart 2005 Kaynak Kodlardan Derleme Turquaz Muhasebe Versiyon 0.2 Hüseyin Ergün 26 Mart 2005 Turquaz Muhasebe, Kaynak Kodları Derleme Sayfa 2 İçindekiler İÇİNDEKİLER 2 GEÇMİŞ DEĞİŞİKLİKLER 3 1. GİRİŞ 4 1.1 AÇIKLAMA

Detaylı

Chain of Responsibility Tasarım Şablonu KurumsalJava.com

Chain of Responsibility Tasarım Şablonu KurumsalJava.com Chain of Responsibility Tasarım Şablonu KurumsalJava.com Özcan Acar Bilgisayar Mühendisi http://www.ozcanacar.com Chain of responsibility sorumluluk zinciri anlamına gelmektedir. Sisteme gönderilen bir

Detaylı

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş Kurulum için ilk önce Sun Microsystems in sitesinden uygun J2SE sürümünü indirin. Ben J2SE v1. 4. 2_16 Windows Installer paketini kullandım J2SE SDK Kurulumu aşağıdaki gibi başlayacaktır. 1 Kurulum tamamlandıktan

Detaylı

4. Bölüm Programlamaya Giriş

4. Bölüm Programlamaya Giriş 4. Bölüm Programlamaya Giriş Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ 4.1. C# ile Program Geliştirme Net Framework, Microsoft firması tarafından açık internet protokolleri ve standartları

Detaylı

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü BM-209 Nesne Yönelimli Programlama Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü Java Programlama Dili Java bayt kodları Java Sanal Makineleri üzerinde

Detaylı

Yükleme kılavuzu Fiery Extended Applications 4.2 ile Command WorkStation 5.6

Yükleme kılavuzu Fiery Extended Applications 4.2 ile Command WorkStation 5.6 Yükleme kılavuzu Fiery Extended Applications 4.2 ile Command WorkStation 5.6 Fiery Extended Applications Package (FEA) v4.2 Fiery Server ile ilişkili görevleri gerçekleştirmek için Fiery uygulamalarını

Detaylı

C için tümleşik geliştirme ortamı (IDE) kurulumları

C için tümleşik geliştirme ortamı (IDE) kurulumları C için tümleşik geliştirme ortamı (IDE) kurulumları 1. Code::Blocks IDE 2. Eclipse IDE 3. Dev-C++ IDE 4. Code::Blocks EDU-Portable (CodeBlocks-EP) IDE ( IDE: Integrated Development Environment http://tr.wikipedia.org/wiki/t%c3%bcmle%c5%9fik_geli%c5%9ftirme_ortam%c4%b1

Detaylı

ECLIPSE IDE C/C++ Geliştiricileri Đçin

ECLIPSE IDE C/C++ Geliştiricileri Đçin ECLIPSE IDE C/C++ Geliştiricileri Đçin ECLIPSE C/C++ IDE Kurulum ve Genişletme Eclipse C/C++ IDE MinGW Glut QT Kurulum Entegrasyon ve Temel Örnekler Mehmet Taşköprü ÖNSÖZ Bu doküman Eclipse IDE C/C++ Geliştiricileri

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ı

Hızlı Başlangıç Kılavuzu

Hızlı Başlangıç Kılavuzu Hızlı Başlangıç Kılavuzu 1. Adım Windows Server 2012'yi Yükleme Bilgisayarınız Windows Server 2012 yüklenmiş olarak teslim edildiyse, 1. Adım'ı atlayabilirsiniz. Yükleme Yönergeleri Yükleme yönergeleri,

Detaylı

Qt Pencereleri. Pencere var, pencere var. Designer Dosyaları. Kaya Oğuz. Bu belge ve içerisindeki kodlar GPL lisanslıdır.

Qt Pencereleri. Pencere var, pencere var. Designer Dosyaları. Kaya Oğuz. Bu belge ve içerisindeki kodlar GPL lisanslıdır. Qt Pencereleri Kaya Oğuz Bu belge ve içerisindeki kodlar GPL lisanslıdır. Pencere var, pencere var Daha önce okumadıysanız, belgeler sayfasından tekrar bir Qt'ye Giriş belgesine bakın.

Detaylı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı Ders 7 LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 LINUX Yapısı LINUX işletim sisteminin diğer işletim sistemleri gibi kendine özgü bir yapısı vardır. LINUX yapısı ve bileşenleri aşağıdaki

Detaylı

Bilgiyolu Yayıncılık Elektronik Sunum Programı Kurulum Kılavuzu

Bilgiyolu Yayıncılık Elektronik Sunum Programı Kurulum Kılavuzu Bilgiyolu Yayıncılık Elektronik Sunum Programı Kurulum Kılavuzu 2014 Genel Bilgiler 1. Sunumları İndirmeye Başlamadan Sunum programını ve sunumları indirmeden önce www.bilgiyoluyayincilik.com adresindeki

Detaylı

ECLIPSE PROGRAMININ ÇALIŞTIRILMASI

ECLIPSE PROGRAMININ ÇALIŞTIRILMASI ECLIPSE PROGRAMININ ÇALIŞTIRILMASI 1 Eclipse programının çalışır hale getirilebilmesi için JDK nın kurulumunun tamamlanmış olması gerekmektedir. Eclipse programı dosyasını indiremediyseniz dersin internet

Detaylı

Statik veri üyeleri sınıf dosyası içerisinde, ancak sınıf bildirimi dışında başlatılmalıdır. Statik üye fonksiyonları

Statik veri üyeleri sınıf dosyası içerisinde, ancak sınıf bildirimi dışında başlatılmalıdır. Statik üye fonksiyonları Statik Veri Üye ve Metotlar Genel olarak bir sınıfa ait nesnelerin verileri bellekte farklı bölgelerde yer alır. Ancak bazı durumlarda, belirli bir üyenin ortak bir alanda tek bir kopyasının bulunması

Detaylı

Kalıtım (Inheritance)

Kalıtım (Inheritance) Kalıtım (Inheritance) Kocaeli Üniversitesi Kalıtım (Inheritance) Kodların çok kez kullanımı (Software reusability) Mevcut Sınıflardan Yeni Sınıflar Oluşturma Mevcut sınıfın değişken ve fonksiyonları kullanılabilir.

Detaylı

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ AD SOYAD : TESLİM TARİHİ : OKUL NO : TESLİM SÜRESİ : 2 hafta Ödev No : 7 ****(ilk 3 soru çıktı üzerinde el

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ı

MVC. Görüldüğü üzere 2 adet cs. Dosyası oluşturdum. Birincisi çok satır kodu (20-25) içeren büyük işlerin yapılacağı class. İsmi buyuk_isler.

MVC. Görüldüğü üzere 2 adet cs. Dosyası oluşturdum. Birincisi çok satır kodu (20-25) içeren büyük işlerin yapılacağı class. İsmi buyuk_isler. MVC MVC Anlamakta zorluk çekiyorsanız bu yazımı dikkatle okumanızı tavsiye ediyorum. Derslerde öğrencilerimin en çok zorlandıkları konu MVC nin mantığıdır. Önce MVC anlamaya çalışmak yerine MVC den biraz

Detaylı

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

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma C Programlama Dr. Serkan DİŞLİTAŞ 7.1. Metot Kavramı Programlama dillerinde bütün kod satırlarının

Detaylı

OMNET++ 4.2.2. Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü

OMNET++ 4.2.2. Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü OMNET++ 4.2.2 Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları OMNET++ OMNET++ (Objective Modular Network Testbed in C++), nesneye yönelik (objectoriented)

Detaylı

EndNote Web Hızlı Başvuru kartı

EndNote Web Hızlı Başvuru kartı EndNote Web Hızlı Başvuru kartı THOMSON SCIENTIFIC Web öğrencilere ve araştırmacılara çalışmalarını yazarken yardımcı olacak şekilde tasarlanmış Web tabanlı bir servistir. ISI Web of Knowledge, EndNote,

Detaylı

Toplu Kayıt Kullanıcı Kitapçığı

Toplu Kayıt Kullanıcı Kitapçığı OnSync Web Toplantı, Sanal Sınıf, Web ve Video Toplantı Servisi Toplu Kayıt Kullanıcı Kitapçığı 1 Öncelikle Etgi Grup u tercih ettiğiniz için teşekkür ederiz. OnSync sistemine giriş yapmadan önce toplu

Detaylı

Bölüm 10. Altprogramların gerçeklenmesi ISBN 0-0-321-49362-1

Bölüm 10. Altprogramların gerçeklenmesi ISBN 0-0-321-49362-1 Bölüm 10 Altprogramların gerçeklenmesi ISBN 0-0-321-49362-1 10. Bölüm konuları Çağırma / geri dönme semantiği Yığıt-dinamik yerel değişkeni olan altprogramların gerçeklenmesi İçiçe altprogramlar Statik

Detaylı

Flash ile Etkileşimli Öğretim Materyali Hazırlama Semineri

Flash ile Etkileşimli Öğretim Materyali Hazırlama Semineri Öğretim Teknolojileri Destek Ofisi Instructional Technologies Support Office Flash ile Etkileşimli Öğretim Materyali Hazırlama Semineri Semboller, Ses Ekleme, Video Ekleme Orta Doğu Teknik Üniversitesi

Detaylı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 11: Bileşim, Arkadaş ve Diğer Araçlar İçerik Bileşim Arkadaş Fonksiyonlar ve Sınıflar Arkadaş Fonksiyonlar Arkadaş Sınıflar Sabit Nesneler Sabit Üye Fonksiyonlar

Detaylı

Görsel Programlama 1

Görsel Programlama 1 Görsel Programlama 1 1. Ekrana Hello world! yazan c# console application kodları: Console.Write("Hello world!"); 2. Ekranda ilk satıra Hello, ikinci satıra world! yazan kod: Console.WriteLine("Hello");

Detaylı

HUAWEI Cihazlara Erişim Yöntemleri

HUAWEI Cihazlara Erişim Yöntemleri HUAWEI Cihazlara Erişim Yöntemleri 24/06/2013 GİRİŞ Bir Huawei cihaza nasıl erişiriz sorusuna cevap vermek için, öncelikle belirlenmesi gereken, cihaz üzerinde ne yapılmak istendiğidir. Cihaza bir dosya

Detaylı

ZWCAD +2012. Önemli. Tek Kullanıcı Sürümü Lisans Kodu Kullanarak Yükleme Kılavuzu

ZWCAD +2012. Önemli. Tek Kullanıcı Sürümü Lisans Kodu Kullanarak Yükleme Kılavuzu Sayfa - 2 ZWCAD +2012 Tek Kullanıcı Sürümü Lisans Kodu Kullanarak Yükleme Kılavuzu Önemli ZWCAD de aktivasyon işlemini yaptığınızda lisans kodu, yükleme yapılan bilgisayara kilitlenir. Bu sebeple lisans

Detaylı

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. 1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. [10 puan] int param = 30; int result = 300; if (param > 45) result

Detaylı

Qt Temelleri. Eren BAŞTÜRK.

Qt Temelleri. Eren BAŞTÜRK. Qt Temelleri Eren BAŞTÜRK basturkeren@gmail.com www.erenbasturk.com Giriş Qt'de Nesne Modülünün Ortak Özellikleri Signal & Slot Yapısı Kullanılarak Nesnelerin Haberleşmesi Signal & Slot Çeşitleri Bölüm

Detaylı

ELN1001 BİLGİSAYAR PROGRAMLAMA I

ELN1001 BİLGİSAYAR PROGRAMLAMA I ELN1001 BİLGİSAYAR PROGRAMLAMA I DEPOLAMA SINIFLARI DEĞİŞKEN MENZİLLERİ YİNELEMELİ FONKSİYONLAR Depolama Sınıfları Tanıtıcılar için şu ana kadar görülmüş olan özellikler: Ad Tip Boyut Değer Bunlara ilave

Detaylı

Linux Assembly Programlamaya Giriş

Linux Assembly Programlamaya Giriş Linux Assembly Programlamaya Giriş Barış Metin Konular gcc / gas / ld Intel ve AT&T söz dizimleri gdb INT 80H C kütüphane fonksiyonları Stack Frame Örnek

Detaylı

JAL IN İNTERNET TEN İNDİRİLMESİ VE KURULMASI

JAL IN İNTERNET TEN İNDİRİLMESİ VE KURULMASI JAL IN İNTERNET TEN İNDİRİLMESİ VE KURULMASI WINDOWS TA JAL IN İNDİRİLMESİ VE KURULMASI JAL derleyicisi aslında Jal.exe isimli tek bir dosyadan oluşur. Jal.exe derleyici programı, yazılan JAL programı

Detaylı

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

Karabük Üniversitesi, Mühendislik Fakültesi...www.ibrahimcayiroglu.com WEB TEKNOLOJİLERİ WEB TEKNOLOJİLERİ VISUAL STUDIO DA YENİ BİR PROJE OLUŞTURMA Visual Studio (VS) programını çalıştırdığımızda karşımıza boş bir ekran gelir. Yeni bir proje oluştururken File>New>Project yolu kullanılarak

Detaylı

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Android e Giriş. Öğr.Gör. Utku SOBUTAY Android e Giriş Öğr.Gör. Utku SOBUTAY Android İşletim Sistemi Hakkında 2 Google tarafından geliştirilmiştir. Dünyada en çok kullanılan mobil işletim sistemidir. 2018 itibariyle Dünyada Android; %78.65,

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ı

Pascalda oluşturulacak dosyalar değişkenler gibi programın başında tanımlanır.

Pascalda oluşturulacak dosyalar değişkenler gibi programın başında tanımlanır. DOSYALAMALAR Programlama bilgilerin her zaman ekrana yazdırılması veya değişkenlerde tutulması yeterli olmayabilir. Programın çalışması sonucu girilen yada hesaplanan her bilgi manyetik ortama programda

Detaylı

The RestructuredText Book Documentation

The RestructuredText Book Documentation The RestructuredText Book Documentation Sürüm 1.0 Daniel Greenfeld, Eric Holscher Nis 05, 2017 Contents 1 Başlarken 2 1.1 Kurulum....................................... 2 2 Apollo 3 2.1 Kurulum.......................................

Detaylı

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Editör Disk 1)Kaynak kodlar editör aracılığı ile oluşturulur. (.c) Kaynak dosya Önişleyici Disk 2)Önişleyici kodlar içerisindeki ilk işleme işini

Detaylı

Tomcat Uygulama Sunucusunun Kurulumu. İlk olarak http://tomcat.apache.org adresine gidiyoruz.

Tomcat Uygulama Sunucusunun Kurulumu. İlk olarak http://tomcat.apache.org adresine gidiyoruz. Tomcat Uygulama Sunucusunun Kurulumu İlk olarak http://tomcat.apache.org adresine gidiyoruz. Tomcat Uygulama Sunucusunun Kurulumu-2 Binary Distributions başlığı altındaki Core: seçeneğinin altında 32-bit

Detaylı

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ TBIL-303-01 Veri Yapıları ve Algoritmalar LABİRENT HAZIRLAYAN 122132151 Fahri DÖNMEZ DANIŞMAN

Detaylı

Eln 1002 Bilgisayar Programlama II

Eln 1002 Bilgisayar Programlama II Eln 1002 Bilgisayar Programlama II C»de Dosya ğşleme : S¹ral¹ EriŞim Ne ÖĆreneceĆiz? Dosyalar ve Streamler Sequential (sıralı) erişim dosyaların yaratılması Sıralı Erişim Dosyalarından Veri Okuma Sıralı

Detaylı

Linux Ubuntu Kurulumu

Linux Ubuntu Kurulumu Linux Ubuntu Kurulumu Elbistan Meslek Yüksek Okulu 2016 2017 Bahar Yarıyılı https://wiki.ubuntu-tr.net/index.php?title=kurulum https://wiki.ubuntu-tr.net/index.php?title=ubuntu_linux_kurulum_rehberi Öğr.Gör.Murat

Detaylı

Data Structures Lab 1 2012-Güz

Data Structures Lab 1 2012-Güz Data Structures Lab 1 2012-Güz C# Ortamı Tanıtımı ve Uygulama Geliştirilmesi Visual Studio 2010 Ortamının Temini -NYG'ndan MSDN üyeliği için başvuru dilekçesi alınıp doldurulmalı ve yine NYG'ye teslim

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ı

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kalıtım Kavramı Java da Çok Biçimlilik Kavramı Fonksiyonların Çok Biçimliliği Yapıcı Fonksiyonun Çok Biçimliliği Java da Kalıtım Kavramı 4 Kalıtım;

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ı

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama C++ Dersi: Nesne Tabanlı Programlama Bölüm 14: Çoklu İşlev İçerik Çoklu İşlevin Gerçekleştirilmesi Saf Sanal Fonksiyonlar ve Soyut Sınıflar Sanal Yıkıcı Fonksiyonlar Statik ve Dinamik Bağlama 2 Çoklu İşlev

Detaylı

Sınav tarihi : Süre : 60 dak.

Sınav tarihi : Süre : 60 dak. Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Final Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 31.05.2016 Süre : 60 dak. 1. Ekranda ne görüntülenir? int i =

Detaylı

MOBİL UYGULAMA GELİŞTİRME

MOBİL UYGULAMA GELİŞTİRME MOBİL UYGULAMA GELİŞTİRME PELİN YILDIRIM FATMA BOZYİĞİT YZM 3214 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Bu Derste Veri Saklama 2 Veri Saklama Veri Saklama her appnin ihtiyaci

Detaylı

Sunum İçeriği. Programlamaya Giriş 22.03.2011

Sunum İçeriği. Programlamaya Giriş 22.03.2011 Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon

Detaylı

GĐRĐŞ. 1 Nisan 2009 tarihinde BDP programının yeni bir sürümü yayınlanmış ve bu sürümde yapılan değişikliklere

GĐRĐŞ. 1 Nisan 2009 tarihinde BDP programının yeni bir sürümü yayınlanmış ve bu sürümde yapılan değişikliklere e-bildirge Versiyon : Yakamoz 3.6.7.7 ve Genel Muhasebe 3.6.7.8 İlgili Programlar : Yakamoz ve üstü ticari paketler & Genel Muhasebe Tarih : 02.04.2009 Doküman Seviyesi (1 5) : 3 (Tecrübeli Kullanıcı)

Detaylı

DESTEK DOKÜMANI. Ürün : Tiger Enterprise/ Tiger Plus/ Go Plus/Go Bölüm : Kurulum İşlemleri

DESTEK DOKÜMANI. Ürün : Tiger Enterprise/ Tiger Plus/ Go Plus/Go Bölüm : Kurulum İşlemleri LOGO PROGRAM KURULUMU VE AYARLARI Logo programlarının yüklemesi için kullanılacak,setup dosyaları ftp://download.logo.com.tr/ adresinden indirilerek yapılır. Örneğin Kobi ürünleri için; ftp://download.logo.com.tr/windows/kobi/guncel/go_plus/klasöründen

Detaylı