Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Жига отчет.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
235.94 Кб
Скачать

8 Жол мен 5қатардан тұратын екі өлшемді массивті экранға шығар.Оның әрқайсысы [10,99] аралығында жатуы керек.

Java тіліндегі статикалық әдістер. Рекурсия. Java тіліндегі өзіндік класстар құру: қасиеті, әдістері, құрылымы. Excel-де есептеме дайындау.

Java тілінде жазылған программа кластар жиынтығы болып табылады және текстік

файлдарда . Программаларды бірнеше негізгі категорияларға бөлуге болады:

- Қосымша (application) – қолданбалы программа;

- Апплет (applet) – WWW-қҧжат терезесінде броузердің басқаруымен жҧмыс істейтін,

шектеулі мҥмкіндіктері бар арнайы программа;

- Сервлет (servlet) – серверде жҧмыс істеуге арналған арнайы программа. JSP

технологиясы негізінде жҧмыс істейді;

- Серверлік қосымша(Enterprise application);

- Кітапхана(Java Class Library – кластар кітапханасы немесе NetBeans Module –

NetBeans платформасының модулі). Java программалау тілі обьектілі-бағытталған программалау тілі болғандықтан оның үш негізгі принципін толықтай қолданады:

- инкапсуляция

- тұқымқуалаушылық

- полиморфизм.

Обьектілі-бағытталған программалау тілдеріндегі негізгі ұғым – класс ұғымы. Java

программалау тілінде класс class қызметші сөзінің көмегімен анықталады және класс аты,

қолданылатын айнымалылар және әдістер көрсетіледі. Обьектілік айнымалылар дегеніміз – обьект типті айнымалылар. Java программалау тілінде обьектілік айнымалылар дегеніміз – обьектіге сілтеме. Обьектілік айнымалыны нақты обьектімен байланыстыру меншіктеу арқылы жүзеге асырылады. Обьектіні құру «конструктор» деп аталатын арнайы ішкі программаны шақыру арқылы жҥзеге асырылады. Конструктор құрылған обьектіге сілтемені қайтарады. Конструктор аты экземпляры құрылатын класс атымен сәйкес келеді. Конструкторды шақыру кезінде оның алдында new қызметші сөзі қолданылады.

Мысалы:

Circle obj1=new Circle();

Әдістер обьект әдістері және класс әдістері болып екіге бөлінеді. Обьект әдістерін тек

обьектілердің өзінен шақыруға болады. Ал класс әдістерін кластардан да, обьектілерден де шақыруға болады. Әдістерді шақыру форматы:

Класс аты.Әдіс аты(параметрлер тізімі) немесе

Обьект аты.Әдіс аты(параметрлер тізімі) Әдістер обьектілерде сақталмайды, бірақ обьектілер оларды шақыра алады.

Java технологиясының идеологиясы компьютерлік желі жұмысына негізделген және

қажет болған жағдайда программаға қажетті кластар мен ресурстарды жүктей алады. Яғни, бір қосымшада көптеген кластар жиынтығы қолданылуы мүмкін. Java программалау тілінде класстарды топтастыру үшін арнайы пакеттер (package) қолданылады. Проект құру кезінде кластар автоматты түрде пакеттерде орналасады. Java программалау тілінің мүмкіндіктері өте көп. Қысқаша айтқанда, Java – жаңа ғасырдың программмалау технологиясы деп қорытындылауға болады!

Рекурсия

Рекурсия дегеніміз – өз денесі ішінде өзін шақыратын әдіс (функция). Факториалды есптейтін мысалды қарастырайық. n! факториалын есептеу үшін (n-1)!*n өрнегін есептеу қажетті және жеткілікті.

Аталған сипаттаманы іске асыратын әдісті құрайық:

static int fact (int n) {   if (n==1) {     return 1;   } else if (n==2) {     return 2;   } else {     return fact(n-1) * n;   } }

Көрсетілген әдіс тек натурал санның факториалын есептейді. Енді n-ші мүшелі Фибоначчи санын рекурсия арқылы есептейтін мысалын қарастырайық. Бұл қатардың алғашқы элементтері қалай белгіленетінін еске түсірейік: 1 1 2 3 5 8 13 …

static int fib (int n) {   if (n==1 || n == 2) {     return 1;   }   return fib (n-2) + fib (n-1); }

Назар аударыңыз! Бұл әдісте екінші return бірінші шартты else операторына кіріктірілмеген. Мұндай жағдай бола береді, себебі, егер шарт орындалса және бірінші return жұмыс істесе, онда бағдарлама істен шығады. Ал екінші return бағдарламаға тек шарт орындалмаған кезде ғана жетеді.

Әдетте, рекурсивті есептеулер үнемі бағдарлама жұмысын баяулататын бір іс-әрекетті қайталауға алып келеді.

Біз MS Excel программасының тағы бір мүмкіндігімен танысқанда оны іс жүзінде де пайдалана отырып, мүмкіндігімен танысқанда оны іс жүзінде де пайдалана отырып, мүмкіндігінше өзімізге түсінікті дәрежеде ұғынуға тырысып көрейік.

Microsoft фирмасының Excel программасы - кесте түрінде берілген мәліметтерді өңдеуге арналған кестелік процессорлар немесе электорндық кестелер тобына жататын программа.

Жұмыс парағымен және кітаппен жұмыс істеу.

Excel - де электрондық кесте үш өлшемді құрылымнан тұрады. Ол кітап секілді парақтардан тұрады. Экранда тек бір парақ кітаптың төменгі шетінде кітаптың қалған беттерінің номерлері жарлық ретінде бейнеленеді. Тышқан курсорымен сол көрініп тұрған жарлықтардың номерлерін таңдау арқылы кез-келген бетті ашып көруге болады. MS Excel формулалары есептеулер жүргізуге және берілгендерге анализ жасау үшін керек. Кез-келген формулаға мынандай негізгі сипаттамалар тән:

- ең бірінші сивол ретінде міндетті түрде «белгісін жазу керек;

- формуламен есептелген нәтиже сол формула жазылған ұяшықта шығады;

- формулалар жолында белсенді ұяшыққа жазылған формула көрсетіледі;

- формулада жасалған сілтемелердегі мәндер өзгерген жағдайда формула нәтижесі де автоматты түрде өзгереді.

Формулаларда ұяшықтарға сілтеме.

Белсенді жұмыс бетінде әр ұяшық өзіндік адресімен (немесе ұяшыққа сілтемемен) анықталады. Ол ұяшық орналасқан баған атауы мен жолдың номерінен тұрады. MS Excel-де бұдан да басқа адрестеу жүйесі (сілтеме стилі) -R1C1 бар. Онда бағандар да, жолдар да номерленеді. Бұл стильді орнату үшін Сервис - Параметры, Общие астарлы бетінен Стиль ссылок пунктіне жалауша қою керек. Мысалы, R5C2 адресі бесінші жолдағы, екінші бағандағы ұяшыққа сілтемені білдіреді.

Адрестеудің тағы бір тәсілі бар. Ол ұяшыққа ат беру арқылы адрестеу. Белсенді ұяшыққа немесе ұяшықтар блогына ат беру үшін Вставка - Имя - Присвоить командасын орындаймыз. Мысалы, белгіленген ұяшықтар тобына Жұмыс аумагы деген ат беруге болады. Ат қою кезінде мына мәселелерге көңіл бөлген жөн:

- ат әріптен немесе астын сызудан басталады;

- атта бос орынның (пробел) немесе дефистің ( - ) орнына астын сызу (_) немесе нүкте ( . ) қойылады;

- ат қысқаша және аталып өткен адрестеу стильдеріне (А1 және R1C1) ұқсамайтындай болуы керек.

Біз қарастырып өткен адрестеу стилінен басқа адрес түрлері деген ұғым бар. Адрес түрлері: салыстырмалы (қатысты), абсолютті (тұрақты), аралас. Салыстырмалы адрестеу формуланы көшірген кезде көшірілетін орынға сәйкес ұяшыққа сілтеме де өзгеріп отырады. Абсолютті адрестеуде формуланы көшірген кезде сілтеме тек қана алғашқы формуладағы ұяшыққа жасалады. Аралас адрестеу формуланы көшіру барысында баған немесе жол өзгермегені керек болғанда қолданылады. F4 пернесін формуланы редакторлеу кезінде адрестеу түрлерін ауыстыру үшін қолдануға болады.

Басқа беттерге, басқа жұмыс кітаптарына сілтеме.

Белсенді жұмыс кітабының басқа беттеріне сілтеме мынандай түрде жазылады: Лист 3!А1

Мұндағы леп белгісі міндетті түрде қойылады. Егер Жұмыс бетінің атында пробел болса, оның атын тырнақшаларға алып жазу керек.

Сыртқы сілтемелер дегеніміз - басқа жұмыс кітаптарындағы ұяшықтарға сілтеме. Мұндай сілтемеде жұмыс кітабының аты тіктөртбұрыш жақшаларға алынып жазылады. Мысалы: [Книга1] Лист3! B4

Үш өлшемді сілтемелер (3D) беттердің біріншісінің аты мен соңғысының атынан тұратын диапазоннан және ұяшықтардың диапазонынан тұрады.

Мысалы :

СУММ (Лист 1: Лист 3! $E$1:$E$6) формуласында «Лист1» және «Лист3» аралығындағы барлық беттердегі $E$1:$E$6 диапазондарының мәндердің қосындысы табылады.

Операторлар.

Формулаларда функциялар мен математикалық операторлар реті жалпы математика ережелеріне сай орындалады. Формулалардың есептеу нәтижелері сан болуы керек. Ал салыстыру нәтижелері ақиқат пен жалган мәндері болады. Excel формулаларындағы операторлар 1.1 кестеде көрсетілген:

Excel формулаларындағы математикалық операторлар

Оператор

Мәні

(

Жақшаны ашу

)

Жақшаны жабу

*

Көбейту

/

Бөлу

+

Қосу

-

Азайту

Мәтінмен және датамен орындалатын операциялар.

MS Excel – де тек арифметикалық формулалар ғана өңделмейді, сонымен қатар мәтінмен де әр түрлі операциялар орындап, жұмыс кітабындағы диапазондар мен ұяшықтарды салыстыруға да болады. Сол операцияларды қарастырайық.

Конкатенация дегеніміз – мәтінді, санды және датаны бір ұяшыққа жинау. Конкатенацияның операторы & белгісімен жазылады.

MS Excel жұмыс бетіндегі әр түрлі ұяшықтарда орналасқан мәліметтерді бір ұяшыққа орналастыру керек.

Есептің шешімі 1.1 суретте көрсетілген. Мұнда A3 ұяшығына төмендегідей формула енгізілген:

= А1&ТЕКСТ(В1; "ДДМММГГГГ "&ТЕКСТ(С1; "# ###т. "&D1

Мұндағы ТЕКСТ( ) функциясы дата мен ақша форматтарын жаңа форматқа көшіруге мүмкіндік береді және оларды мәтінге айналдырады.

1.1-сурет – Конкатенацияны қолдану

Тағы бір мысал қарастырайық. Егер ұяшықтың аты ИТОГИ болса, және онда қандай да бір ақшалық форматтағы сан 50600 т тұрса, онда

= Итого "& ИТОГИ

формуласының нәтижесі

Итого 50 600 т болады.

Даталарға мынандай формулалар қолдануға болады :

= "15/09/04 " - "11/05/04 " немесе

= "18 января 1993 "- "25 января 2006 "

Бұл формулалардың нәтижесінде көрсетілген даталар арасындағы күн саны шығады.

Адрестік және салыстыру операциялары.

Формулалардағы салыстыру операцияларына мысалдар :

= А1<10 - Ақиқат, егер А1 ұяшығындағы сан 10-нан кем болса, әйтпесе Жалған.

= D7> = 4 - Ақиқат, егер В7 ұяшығындағы сан 4-тен үлкен немесе тең болса, әйтпесе Жалған.

Кесте – MS Excel-дегі адрестік операциялардың белгілері

Операция белгісі

Мысал

Операция

Нәтижесі

: (қос нүкте)

СУММ(А1:А7)

Диапазон

Екі ұяшықтың арасында жатқан ұяшықтар диапазонына сілтеме

, (үтір)

СУММ(А1:А7, В8)

Біріктіру

Екі диапазонды біріктіру. Яғни екі диапазонның да барлық ұяшықтарының жиыны.

Бос орын (пробел)

СУММ(А1:А7 А16:В30)

Қилыстыру

Екі диапазонның қилысуы. Яғни екі диапазонға ортақ болатын ұяшықтардың жиыны. Егер мұндай ұяшықтар болмаса #ПУСТО (#NULL) шығады

Меншікті JAVA классын құру: қасиеттері, әдістері, конструкторлары.

Кластың құрылуы: қасиеті және әдісі.

Қарапайым классты құруға мысал келтіреміз. Оның көмегімен кординаталық тұрғыда дөңгелектер үлгісін береміз.

Әрбір белгілі сондай дөңгелек өз радиусы мен центрінде анықталады (екі санмен көрсетілген координатамен). Сондай-ақ координаталық тұрғыда дөңгелек 3 нақты сандар мінездеп жатыр. Демек біздің класста 3 қасиет болу керек.

Біріншіден класс арқылы күрделі тапсырмаларды қарастырмаймыз, яғни оларды келесі мүмкіндіктерімен бөлеміз: класс арқылы құрылған орта экранға шығарылу керек, көшірілу керек және көлемі өзгертілу керек.

// құрылған жаңа класс class Circle {     // класстың қасиеттері     public double x; // центр абсцисы     public double y; // центр ординатасы     public double r; // радиус     // класстың әдістері     // ортадағы параметрлерді экранға шығару     public void printCircle() {         System.out.println("ортадығы центімен ("+x+";"+y+") және радиусын "+r);     }         //центрді көшіру, ортаның қозғалысы     public void moveCircle(double a, double b) {         x = x + a;         y = y + b;     }     //көлемін өзгерту, коэффициентпен ұқсастықтар өрнектеуін орындаймыз     public void zoomCircle(double k) {         r = r * k;     }     } // басты классты сипаттаймыз, main құрамындағы әдіс public class Main {     public static void main(String[] args) {         // объект құрамыз (Circle ортасында), ол нөлдік болады         // радиусы мен центрі (0.0;0.0), болғандықтан барлық қасиеттер алады         // Мәндер кему бойынша         Circle o1 = new Circle();         // ортаның параметрлерін экранға шығарамыз         o1.printCircle();         // x қызметіне қарап абсцисса центрін өзгертеміз         o1.x = 3;         // r қызметіне қарап радиусын өзгертеміз         o1.r = 12.3;         // жаңартылған параметрлер ортасын экранға шығарамыз         o1.printCircle();         // сол класстан жаңа объект құрамыз         Circle o2 = new Circle();         o2.r = 3.14;         o2.zoomCircle(1.66);         o2.printCircle(); // (0.0;0.0) ортадығы центрімен және 5.2124 радиуспен   }}

Конструкторлар

Circle o1 = new Circle() командасымен объект құрғанда, үнсіз келісім бойынша конструктор қолданылады - бұл арнайы класс әдісі, біз оны анықтамадық, бірақ оны анықтамасақта ол автоматты түрде құрылады, әрбір объект құрығанда оның алғашқы қасиеттері қолданылады.

Үнсіз келісім бойынша конструкторын анық сипаттау керек және жаңа объект қасиеттеріне алғашқы мән беріледі.

Басқа конструктор әдістерінен ерекшелігі, яғни сол атқа ие, және сол барлық класс, ал сонымен бірге қайтаратын мәндер түріне ие.

class Circle {

    public double x; // центр абсциссы

    public double y; // центр ординатасы

    public double r; // радиус

    public void printCircle() {

        System.out.println("ортадығы центімен ("+x+";"+y+") және радиусын "+r);

    }    

    public void moveCircle(double a, double b) {

        x = x + a;

        y = y + b;

    }

    public void zoomCircle(double k) {

        r = r * k;

    }

    // Объекттен жасаудан үндемеу бойынша, енді айтар-айтпаста кейін конструктор болады

    // Басында координаталардан орталықпен жеке радиустың дөңгелек алу керек

    public Circle() {

        x = 0.0;

        y = 0.0;

        r = 1.0;

    }

}

public class Main {

    public static void main(String[] args) {

        Circle o1 = new Circle();

        o1.printCircle(); // (0.0;0.0) ортадығы центрімен және 1.0 радиуспен

    }

}

Әдісті күрделендіруге болады, ал конструктор әдіспен келеді, біресе шамадан тыс жүктеуден конструкторлардың көмегімен қосымша нұсқаларын жасауға болады. Оның орталықта координатада анық көрсету объектте жасауда мүмкіндік беретін конструктор мысалы, ыңғайлы алу керек және радиустың ұзындығын.

Ұқсас конструктор сипаттау негізгі келесі түрге толықтыруға болады

  publiс Circle(double a, double b, double s) {

        x = a;

        y = b;

        r = s;

    }

Енді объекттерде жасауда таңдауға кез келген конструктормен пайдалануға болады.

Circle o1 = new Circle();

        o1.printCircle(); // (0.0;0.0) ортадығы центрімен және 1.0 радиуспен

        Circle o2 = new Circle(1,-1,14);

        o2.printCircle(); // (1.0;-1.0) ортадығы центрімен және 14.0 радиуспен

Әдістерден класс мүшелеріне рұқсат

Әдіс қолданған сол дөңгелекте әдісімізге, вычисляющий ауданымызға біздің классымызға қосамыз. Әдіс осылай суреттейді :

public double squareCircle() {

        double s = Math.PI * r * r;

        return s;

    }

Әдіс жұмыстары нәтижесі келесі түрмен көруге болады :

System.out.println("Шеңбердің ауданы o2: "+o2.squareCircle()); //615.75.

Ықылас аударыңыз : әдіс шақыра болатын сол объекттің түсінікті қасиеттің класстың әрбір әдістің ішінде. Біресе бар егер біз o2 объект үшін әдіс шақырыса жатырмыз, біресе оның орындауда әдістің ішінде біз жұмыс істейміз тап объекттен қасиеттермен түсінікті o2 (o2.x болады x, сияқты r және т . д) түсінікті o2.r болады.

Әдіс үстірт параметрлер үшін сіз класстың қасиеттерге енді тәуелді атылар қолдану ынта білдіретін кезде жағдай пайда бола алады.

public void zoomCircle(double r) {…

Сияқты айналу сондай жағдайда объектке қасиеттерге (анығында бұл қасиеттердің атылар үстірт параметрмен) қайта жабып жатыр?

Сондай бір мәнді еместіктер шешім болып жатыр : әдістің ішінде кез келген қасиетке айналуға болады ғана емес ат бойынша, және this сілтеме арқылы. Біресе әдістің ішінде бар = 13 x жазуға болады ;, ал = 13 this.x болады ;— әсер ұқсас болады. Үстірт параметрдің аты қасиеттер атысы қайта жапқан кезде, бойынша, маңызды айналу қасиетке атыға this сілтеме арқылы. Сонда әдіс қайта жазуға болады :

public void zoomCircle(double r) {

        this.r = this.r * r;

    }

Әдісті осылай сипаттауға болады :

public boolean equalsCircle(Circle cir) {

        if(this.squareCircle() == cir.squareCircle()) {

            return true;

        } else {

            return false;

        }

    }

Әдіс қолдануларының мысалы :

if(o1.equalsCircle(o2)) {

            System.out.println("о1 және о2 шеңберлерінің аудандары тең");

        } else {

            System.out.println("о1 және о2 шеңберлерінің аудандары тең емес");

Java-да өз класынды құру,класс Object,инкапсулция,полиморфизм

Java - да өз класынды құру қиын емес.Бұл класс бар класс арқылы құруға болады(мұрагерлік арқылы) немесе озін бөлек класс құруға болады.Java - да өмірдегі обьектілер арқылы класс құруға болады.Мысалы,мысықтың өзіне тән ерекшеліктері бар.Мысалы бұл программа мұрагерлік арқылы екі класс тұрады:

public class Cat {

public int weight; // вес кота

public String name; // имя кота

public String color; //окрас кота

//кот ест

public void eat(){

System.out.print("Eating...\n");

}

//кот спит

public void sleep(){

System.out.print("Sleeping zz-z-z-z...\n");

}

//кот говорит

public String speak(String words){

String phrase = words + "...mauu...\n";

return phrase;}

public static void main(String[] args) {

}}

Мұрагерлік арқылы екінші класс:

public class HelloWorld {

public static void main(String[] args) {

// TODO Auto-generated method stub

Cat ourcat= new Cat();

ourcat.eat();

ourcat.sleep();

String say = ourcat.speak("Play with me");

System.out.println(say);

}}

Object - бұл кластардың ата-тегі болып табылады.

Қорытынды бір-біріне ұқсас

Объектіге бағдарланған программалаудағы қабылдаушылық қағидасының мағынасы мынау болады:мұнда алдымен ең жоғарғысы болып есептелетін түпкі класс құрылады, кейін осы кластың негізінде тарайтын төменгі тума кластар құруға болады. Кейін құрылатын тума кластар алдыңғы түпкі кластың барлық қасиеттерін, әдістері мен әрекеттерін қабылдап алып, сақтап қалады. Тума кластың түпкі кластан берілген қасиеттерін, әдістері мен әрекеттерін өзгертуге болмайды, бірақ оны жаңа элементтермен толықтыруға болады және оның өзінен тарайтын тағыда жаңа тума кластар алуға болады. Мұның нәтижесінде қай кластың қалай пайда болғанын, қайсы кластан тарайтынын көрсететін, бинарлық ағаштар сияқты кластар иерархиясы пайда болады, оның ең түпкісі немесе жоғарғысы болып, әдетте object класы табылады. Класс программисттің (қолданушының) өзі құрып, өзі жариялайтын абстракт тип. Абстракт тип дейтін себебі, класты программаның мәтінінде жариялау- ол класс жадыда пайда болып тип ретінде орын алды деген сөз емес, дәлірек айтқанда, типі, сол жарияланған класқа жататын объект құрылмайынша, класс программадағы мәтін күйінде қала береді. Бұл тип, программалаудағы басқа да типтер сияқты, өзі арқылы жарияланатын деректің (мысалы, объектінің және.т б.) компьютер жадысындағы ішкі берілуін, қабыл дайтын мәндерінің жиынтығын және оларға қолданылатын амалдар мен функци-яларды біріктіре алатындай болуы керек.

Сонымен класс өмірдегі шынайы нәрселерді модельдеу үшін қажет болғаны белгілі болды, бұл нәрселердің қасиеттері класта деректер өрістері түрінде беріледі (struct типіндегі сияқты), ал олардың осы қасиеттеріне байланысты іс-әрекеттері сол деректер өрістерімен жұмыс жасайтын функциялартүрінде беріледі. Деректер сақталатын өрістерді кластың қасиеттері, ал функцияларды кластың әдістері деп атай-ды. Кластың өрістері мен әдістерін кластың элементтері деп атайды, осыған байланысты оларды сәйкесінше өріс-элементтер және функция-элементтер деп немесе дерек-мүшелер және функция-мүшелер деп те атай береді. Кластың программадағы жалпы сипатталуы келесі түрде жазылады:

class кластың аты

{

private:

< жабық қасиеттер >

< жабық конструкторлар>

< жабық әдістер >

рrotected:

< қорғалған қасиеттер >

< қорғалған конструкторлар>

< қорғалған әдістер >

рublic:

< ашық қасиеттер >

< ашық конструкторлар>

< ашық деструкторлар>

< ашық әдістер>

};

Назар аударыңыз,класстар әдісінде біздің пайдаланғанымыз әдістердің нүктелік класы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]