#ifndef COMPLEX_H #define COMPLEX_H

Benzer belgeler
#ifndef FATURA_H #define FATURA_H

Object-Oriented Programming Lab 4. - Sıcaklık değeri, Kelvin biriminde saklansın. Varsayılan sıcaklık değeri K olsun.

#ifndef VEKTOR_H #define VEKTOR_H. struct vektor_s { double x; double y; double z; }; typedef struct vektor_s vektor_t;

Object-Oriented Programming Lab Shape, TwoDShape, ThreeDShape, Disk, Square, Sphere, Cube class hiyerarşisi.

Fall Object-Oriented Programming Laboratory 03

Object-Oriented Programming Laboratuvar 11

Fall Object-Oriented Programming Laboratory 02 - Structures

Object-Oriented Programming Laboratuvar 10

Ad Soyad: İmza: Object-Oriented Programming Quiz 4 60dk. Kapalı kitap. Kapalı defter. Kapalı cep telefonu. Hesap makinesi yok.

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

1 PROGRAMLAMAYA GİRİŞ

BTEP243 Ders 3. class Yazım Kuralı:

BİL-142 Bilgisayar Programlama II

C++ Dersi: Nesne Tabanlı Programlama

NESNEYE YÖNELİK PROGRAMLAMA C++ a Giriş

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama

C++ Giriş Ders 5 MSGSU Fizik Bölümü Ferhat ÖZOK

BİLG Dr. Mustafa T. Babagil 1

BİLG Dr. Mustafa T. Babagil 1

Inheritance. Inheritance (turetim)

TEMPLATES. Binnur Kurt Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. C++ ile Nesneye Dayalı Programlama 1

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;

Operatörlere İşlev Yükleme

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.

DERSİN WEB SİTESİ:

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

C++ Class larina baslangic. C++ Versus C Object-oriented Language C++ Structure dan Object Create etmek. Structure tanimlama.

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

C Programlama Dilininin Basit Yapıları

Karma C/C + + Kodlama

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

C++ ile Nesneye Dayalı Programlama

Algoritma ve Programlama: Karar Yapıları ve Döngüler

#include <stdio.h> int main(void) { float sayi; float * p; p = &sayi; printf("deger girin:"); scanf("%f", p); printf("girilen deger:%f\n", *p);

C++ Dersi: Nesne Tabanlı Programlama

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

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

KONU 7: DOSYA İŞLEME ( File Processing )

Nesne İşaretçileri. Binnur Kurt Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. Sınıf Yapısı. Kalıtım Çok Şekillilik

Eastern Mediterranean University Faculty of Arts & Sciences -- Department Of Mathematics BİLG213 BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

Java ile Nesneye Yönelik Programlama (Object Oriented Programming)

Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü

Döngü Komutları. Komutu. while Komutu Diğer Operatörler Bileşik Komut for Komutu. İçiçe Döngüler break ve continue Komutları

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

10. DOSYA GİRİŞ ÇIKIŞ FONKSİYONLARI

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 4. UYGULAMA

Nesneye Dayalı Programlama Laboratuvarı

C++ Operatörler (Operators)

Main() Fonksiyonu. Main () Fonksiyonu. int main() İfadeler. Return ;

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

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

BİLGİSAYAR PROGRAMLAMA

10/17/2007 Nesneye Yonelik Programlama 3.1

İNTERNET TABANLI PROGRAMLAMA

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

Nesne Yönelimli Programlamaya Giriş - 2. Cem Ahmet MERCAN 16/04/2009

Programlama Dilleri Laboratuvarı

C++0x - Sağ Taraf Değerine Bağlanan Referanslar (Rvalue References)

NESNEYE YÖNELİK PROGRAMLAMA

Lab Notları 4. for ( ilklenme yeri bir kez çalışır ; Kontrol yeri her döngüde bakılır ; Güncelleme yeri her döngüde )

C++ Dersi: Nesne Tabanlı Programlama

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

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

Operator Aşırı Yükleme (Operator OverLoading)

Döngü komutları komutların bir çok kez yeniden yürülmesini. sağlayan, programlamada kullandığımız önemli yapılardan biridir.

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

Örnek1: #include <iostream> #include <string> using namespace std;

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İ

Fonksiyonlar (Altprogram)

3. VERİ GİRİŞ-ÇIKIŞI (4ncü hafta)

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

Nesneye Yönelik Programlama (OOP) 7.Hafta

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

YZM 2105 Nesneye Yönelik Programlama

SAKARYA ÜNİVERSİTESİ BİLGİSAYAR VE BİLİŞİM BİLİMLERİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ GÜZ DÖNEMİ PROGRAMLAMAYA GİRİŞ DERSİ

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

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 9. UYGULAMA

Programlamaya Giriş Karar Yapıları, Tekrarlı İfadeler(Döngüler)

Ders 6: Karşılaştırma Deyimleri

C++ Dersi: Nesne Tabanlı Programlama

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

C#(Sharp) Programlama Dili

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

NESNEYE YÖNELİK PROGRAMLAMA SINIFLAR

BLM 112- Programlama Dilleri II. Hafta 2 C Programlarının Bellek Düzeni ve Rekürsif (Özyinelemeli) Fonksiyonlar

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

const objects & const member functions const objects ve const functions Data Member Initializer List Data Member Initializer List

Fonksiyon Türleri. Bildiğiniz gibi, C++'da iki fonksiyon türü ile karşılaşıyoruz. C++'nın kullanıma sunduğu hazır fonksiyonlar.

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

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

Çok Şekillilik (Polymorphism)

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Operatörlere Yeni İşlevler Yüklenmesi (Operator Overloading)

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

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

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

C ++ Ders 6. Çoklubenzesim

YZM 2105 Nesneye Yönelik Programlama

Transkript:

16.10.2018 2018-2019 Güz Object-Oriented Programming Lab 03 Ön Çalışma - Bir kompleks sayının genliğini ve açısını hesaplamak için gerekli C/C++ fonksiyonları bulun, kütüphanelerini ve prototiplerini yazın, argümanlarını ve return edilen değeri kısaca açıklayın. Uygulama 1. complex adında bir class oluşturun. Bu class ın üye değişkenleri: - r : reel kısım. - i : sanal kısım. Bu class ın üye fonksiyonları: - getr : objenin reel kısmının değerini döner. - geti : objenin sanal kısmının değerini döner. - setr : argüman değerini, reel kısma atar. - seti : argüman değerini, sanal kısma atar. - print : objeyi r+j*i formatında konsola yazar. - scan : kullanıcıdan objeye değer girişi alır. Tanımladığınız bu class ı bir programda test edin: Girilen complex objenin reel ve sanal değerleri sıfırdan farklı olduğu sürece, sonsuz döngü içerisinde, kullanıcıdan obje girişi alın ve girilen objeyi konsola yazdırın. #ifndef COMPLEX_H #define COMPLEX_H class complex private: double r; double i; public: double getr(void); double geti(void); void setr(double rval); void seti(double ival); void print(void); void scan(void); ; #endif // COMPLEX_H using std::cin; double complex::getr(void)

return r; double complex::geti(void) return i; void complex::setr(double rval) r = rval; void complex::seti(double ival) i = ival; void complex::print(void) cout << r; if(i<0) cout << "-j*" << -i; else cout << "+j*" << i; void complex::scan(void) cout << "enter real part:"; cin >> r; cout << "enter imaginary part:"; cin >> i; int main(void) complex z; do

z.scan(); cout << "girilen kompleks sayi: "; z.print(); cout << endl; while(z.getr()!=0 && z.geti()!=0); return 0; 2. Oluşturduğunuz complex class ı için constructor ve destructor üye fonksiyonları yazın. - <<constructor>> : Argümanların değerlerini, reel ve sanal kısımlara ilk değer olarak atar. Varsayılan olarak reel kısma 0, sanal kısma 0 değeri atanır. Konsola r+j*i değerinde bir complex objesi oluşturuldu yazar. - <<destructor>> : Konsola r+j*i değerinde bir complex objesi kaldırıldı. yazar. Aşağıdaki kod parçasında yer alan yorumlarda söylenenleri tamamlayın, yazdığınız constructor ve destructor üye fonksiyonlarını test edin. Programın konsol çıktısını bakarak constructor ve destructor fonksiyonlarının ne zaman çalıştırıldığını inceleyin. // buraya gerekli kutuphaneleri ekleyin int main(void) // burada bir complex objesi tanimlayin // burada 1+j*2 ilk degerinde bir complex objesi tanimlayin cout << "alt scope baslangici" << endl; // burada 3+j*4 ilk degerinde bir complex objesi tanimlayin cout << "alt scope bitisi" << endl; return 0; #ifndef COMPLEX_H #define COMPLEX_H class complex private: double r; double i; public: complex(double rval=0, double ival=0); ~complex(void); double getr(void); double geti(void); void setr(double rval); void seti(double ival); void print(void); void scan(void); ;

#endif // COMPLEX_H using std::cin; complex::complex(double rval, double ival) setr(rval); seti(ival); print(); cout << " degerinde bir complex objesi olusturuldu." << endl; complex::~complex(void) print(); cout << " degerinde bir complex objesi kaldirildi." << endl; double complex::getr(void) return r; double complex::geti(void) return i; void complex::setr(double rval) r = rval; void complex::seti(double ival) i = ival; void complex::print(void) cout << r; if(i<0) cout << "-j*" << -i;

else cout << "+j*" << i; void complex::scan(void) cout << "enter real part:"; cin >> r; cout << "enter imaginary part:"; cin >> i; // buraya gerekli kutuphaneleri ekleyin using std::cin; int main(void) // burada bir complex objesi tanimlayin complex z1; // burada 1+j*2 ilk degerinde bir complex objesi tanimlayin complex z2(1, 2); cout << "alt scope baslangici" << endl; // burada 3+j*4 ilk degerinde bir complex objesi tanimlayin complex z3(3, 4); cout << "alt scope bitisi" << endl; return 0; 3. Oluşturduğunuz complex class ına genlik ve açı hesaplamak için aşağıdaki üye fonksiyonları ekleyin. - magnitude : complex objenin genliğini hesaplar ve döner. - angle : complex objenin açısını derece birimde hesaplar ve döner. Eklediğiniz üye fonksiyonları bir programda test edin: Girilen complex objenin reel ve sanal değerleri sıfırdan farklı olduğu sürece, sonsuz döngü içerisinde, kullanıcıdan obje girişi alın ve girilen objeyi, genliğini ve açısını konsola yazdırın. #ifndef COMPLEX_H #define COMPLEX_H #define PI 3.14159

class complex private: double r; double i; public: complex(double rval=0, double ival=0); ~complex(void); double getr(void); double geti(void); void setr(double rval); void seti(double ival); void print(void); void scan(void); double magnitude(void); double angle(void); ; #endif // COMPLEX_H using std::cin; #include <cmath> complex::complex(double rval, double ival) setr(rval); seti(ival); print(); complex::~complex(void) double complex::getr(void) return r; double complex::geti(void) return i;

void complex::setr(double rval) r = rval; void complex::seti(double ival) i = ival; void complex::print(void) cout << r; if(i<0) cout << "-j*" << -i; else cout << "+j*" << i; void complex::scan(void) cout << "enter real part:"; cin >> r; cout << "enter imaginary part:"; cin >> i; double complex::magnitude(void) return sqrt(pow(getr(), 2) + pow(geti(), 2)); double complex::angle(void) return atan2(geti(), getr()) / PI * 180; int main(void) complex z; do

z.scan(); cout << "girilen kompleks sayi: "; z.print(); cout << endl << "genligi: " << z.magnitude() << endl << "acisi: " << z.angle() << endl; while(z.getr()!=0 && z.geti()!=0); return 0;