• Hafta raqami
  • Maqsad
  • Muhammad al-Xorazmiy nomidagi tatu samarqand filiali




    Download 91 Kb.
    Sana28.02.2024
    Hajmi91 Kb.
    #163847
    Bog'liq
    3 - Amaliy ish ( Dasturlash II)
    ppt 1, Oraliq nazorat Javoblari, 5-mustaqil ish, 5-мустақил иш, Илмий тадқиқот методологияси ишчи дастур 2020, grokking-algorithms-illustrated-programmers-curious, Allayarov A. 2, ТПроформа договора по лоту №73719 (1), 7-topshiriq, 7-8-9 lab, Amplitudali modulyatsiya, 1-1610, fazliddin fozilov 123, Dasturlash 3 natija, Calendar plan-Maxsus fanlarni o\'qitish metodikasi (3)


    Muhammad al-Xorazmiy nomidagi TATU Samarqand filiali
    Laboratoriya mashg‘ulotlari

    FAN





    DASTURLASh (C++)

    Hafta raqami





    2

    Mashg‘ulot mazmuni




    Sinf a’zolari (a’zo funksiya va o‘zgaruvchilar) dan foydalanib dastur tuzish.

    Maqsad:




    1. Sinf a’zolarini o‘rganish;


    2. Sinf va dasturning ishlab chiqish jarayonini implementatsiyasini o‘rganish;

    3. Sinf a’zolarini qo‘llagan holda dasturlar tuzish.

    Sinf tanasining implementatsiyasi. C++ da sinf tanasini implementatsiya qilish imkoni mavjud, Sinfni e’lon qilishda faqatgina sinfdagi ma’lumotlar maydonini, konstruktorlarni, funksiyalarning prototiplarini ko‘rsatib o‘tish hisoblanadi, sinfning realizatsiyasi esa konstruktor va funksiyalarni to‘liq ko‘rsatadi. Sinfni e’lon qilish va realizatsiya qilish ikkita har xil fayllarda yozilishi mumkin. Faqat har ikkala fayl ham bir xil nomalanishi zarur. Sinfni e’lon qilish faylining kengaytmasi .h (h sarlavha degani) bo‘ladi, realizatsiyaning kengaytmasi esa .cpp bo‘ladi.


    1-Mashq. Ekranda doira yuzasini chop etadigan dasturni Sinf tanasini implementatsiya qilish orqali tuzilsin. Bu yerda Circle sinfi e’lon qilinishi Circle.h faylida sinf a’zolari esa Circle.cpp faylida yozilishi dasturning kliyent qismi esa main.cpp faylida yozilsin.

    Dastur kodi:
    Listing 2.1 Circle.h



    1. class Circle

    2. {

    3. public:

    4. // Radius kruga

    5. double radius;


    6. // konstruktor po umolchaniyu

    7. Circle();


    8. // konstruktor s parametrom

    9. Circle(double);


    10. // Vozvrasheniye ploshadi kruga

    11. double getArea();

    12. };

    Listing 2.2 Circle.cpp





    1. #include "Circle.h"


    2. // Construct a default circle object

    3. Circle::Circle()

    4. {

    5. radius = 1;

    6. }


    7. // Construct a circle object

    8. Circle::Circle(double newRadius)

    9. {

    10. radius = newRadius;

    11. }


    12. // Return the area of this circle

    13. double Circle::getArea()

    14. {

    15. return radius * radius * 3.14159;

    16. }

    Simvol :: - operator bo‘lib, sinf a’zolarini sinfda ko‘rsatish uchun qo‘llaniladi.


    Bu yerda Circle:: har bir konstruktor va funksiyaning Circle sinfiga mansubligi, kompilyatorga mazkur konstruktorlar va funksiyalar Circle sinfida e’lon qilinganligini ko‘rsatadi.
    2.3 listingda Circle sinfining realizatsiyasi ko‘rsatilgan.

    Listing 2.3 main.cpp





    1. #include

    2. #include "Circle.h"

    3. using namespace std;


    4. int main()

    5. {

    6. Circle circle1;

    7. Circle circle2(5.0);


    8. cout << "Ploshad kruga pri radiuse "

    9. << circle1.radius << " ravna " << circle1.getArea() << endl;

    10. cout << "Ploshad kruga pri radiuse "

    11. << circle2.radius << " ravna " << circle2.getArea() << endl;


    12. // Izmenennoye radius

    13. circle2.radius = 100;

    14. cout << "Ploshad kruga pri radiuse "

    15. << circle2.radius << " ravna " << circle2.getArea() << endl;


    16. return 0;

    17. }

    Rezultat:


    Ploshad kruga pri radiuse 1 ravna 3.14159
    Ploshad kruga pri radiuse 5 ravna 78.5397
    Ploshad kruga pri radiuse 100 ravna 31415.9



    ДАСТУРЛАШ II (С++) фанидан 3 - амалий машғулот

    Download 91 Kb.




    Download 91 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Muhammad al-Xorazmiy nomidagi tatu samarqand filiali

    Download 91 Kb.