Тапсырма 1. Айнымалыларды сипаттау



1. Дөңгелектің ауданын есептеуге қажетті айнымалыларды сипаттаңыз.

2. Цилиндр бетінің ауданын және көлемін есептеуге қажетті айнымалыларды сипаттаңыз.

3. Бірнеше дәптер, қарындаш және сызғыштан тұратын сатып алынған заттың бағасын есептеуге қажетті айнымалыларды сипаттаңыз.

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

5. Тік төртбұрыштың периметрі мен ауданын есептеуге қажетті айнымалыларды сипаттаңыз.

6. Үшбұрыштың ауданын есептеуге қажетті айнымалыларды сипаттаңыз.

7. Трапецияның ауданын есептеуге қажетті айнымалыларды сипаттаңыз.

8. Конустың көлемін есептеуге қажетті айнымалыларды сипаттаңыз.

9. Параллелепипед көлемін есептеуге қажетті айнымалыларды сипаттаңыз.

10. Жартылай цилиндрдің көлемін есептеуге қажетті айнымалыларды сипаттаңыз.

 

 

Тапсырма1.

1. х - айнымалыларға -1,5 мәнін меншіктейтін инструкцияны жаз.

2. somma айнымалысына нөлдік мән меншіктелетін инструкциясын жаз.

3. n – айнымалысының мәнін бірлікке арттыратын инструкцияны жаз.

4. х1, х2 -айнымалысының арифметикалық ортасын есептейтін инструкциясын жаз.

5. х айнымалысын dx-айнымалысындағы мәнге арттыратын инструкцияны жаз.

 

Бақылау сұрақтары:

1. Айнымалы сипаттауқалай жүреді?

2. Айнымалы түрі дегеніміз не?

3. Айнымалы аты дегеніміз не?

4. Бастапқы деректерді енгізу қалай жүргізілетінін түсіндіріңіз.

5. Оператор дегеніміз не?

6. Комментариялар калай жазылады?

Зертханалық жұмыс №6

СЫЗЫҚТЫ ҚҰРЫЛЫМДЫ АЛГОРИТМДЕРДІ ПРОГРАММАЛАУ

Студенттерде қалыптасатын білім мен дағдылар: Java тілінде сызықтық құрылым алгоритмдерін программалауды білу.

6.1 Теориялық мәлімет.

 

Бұл жұмыстың есептерін шешу алдында мыналарды еске түсіру қажет:

* сызықтық құрылымы бар бағдарламалар қарапайым болып табылады және әдетте формулалар бойынша қарапайым есептеулерді жүзеге асыру үшін қолданылады:

* сызықтық құрылымы бар бағдарламаларда нұсқаулықтар бір-бірінен кейін бірі ретімен орындалады;

* сызықтық құрылымы бар бағдарлама алгоритмі суретте көрсетілген схема түрінде ұсынылуы мүмкін.

 

 

 

 


Енгізу: int readInt(); double readDouble(); String readString(); char readChar(). Енгізу әдістері мәліметтерді Stream объектісінен оқиды және оларды көрсетілген типтен тәуелді интерпретациялайды. Егер бұл мәліметтер типі дұрыс емес болса әдіс келесі элементке өтеді. Пункттер бос орындармен немесе кейбір тыныс белгілерімен бөлінуі керек.

Шығару : void println; void print; void close(). Бұл әдістер System.out классындағыдай орындалады. Сlose әдісі әрқашан кез келген файл үшін шақырылады. Ол егер файл жазба үшін ашық болса, мәліметтер жоғалуының алдын алады.

Қарапайым программаға мысал келтірейік.

Экранға мынадай хабарлама шығару: «Java программалау тілін үйренеміз»

class HelloWorld{

public static void main(String[] args){

System.out.println (“Java программалау тілін үйренеміз”);

}

}

                

1. Барлық программа бір немесе бірнеше кластардан тұрады, берілген қарапайым мысалда тек бір ғана класс (class) бар.

2. Кластың басы class қызметші сөзімен белгіленеді, одан кейін кластың аты беріледі, ол еркін түрде таңдалады, берілген жағдайда Helloworld. Кластың құрамы түгелдей ирек жақша ішіне жазылады және кластың денесін құрайды.

3. Барлық әрекеттер ақпараттарды өңдеу әдістерінің көмегімен орындалады, қысқаша жәй әдіс деп айтады. Әдістер аттарымен ерекшеленеді. Әдістердің біреуі міндетті түрде main деп аталуы тиіс, программаның орындалуы осыдан басталады.

4. Әдіс нәтижесінде әрқашанда бір ғана мән береді, оның типі міндетті түрде әдіс атының алдында көрсетіледі. Сондай-ақ әдіс біздің жағдайдағыдай процедура рөлін атқарып, ешқандай мәнді қайтармауы да мүмкін. Сонда қайтарылатын мән типінің орнына void сөзі жазылады.

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

6. Әдіспен қайтарылатын мәннің типі алдында модификаторлар жазылуы мүмкін. Public сөзі - бұл әдісті кез-келген жерден қолдана беруге болатынын білдіреді; static сөзі main () әдісін программаның ең бастапқы орындалуы кезінде шақыруға мүмкіндік береді. Модификаторлар жалпы міндетті емес, бірақ main () әдісі үшін олар қажет.

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

7. Әдіс денесі, оның барлық құрамы ирек жақшаға алынып жазылады.

Мысалда main () әдісінің орындайтын жалғыз әрекеті System.out.println күрделі аты бар басқа әдісті шақырумен және оған өңдеу үшін бір аргументті, «Java программалау тілін үйренеміз!» мәтіндік тұрақтыны берумен шектеледі. Мәтіндік тұрақтылар тек қана шектеушілер болып табылатын және мәтін құрамына кірмейтін тырнақшаларға алынып жазылады. 

Типтік мысалдарды шешу

Тіктөртбұрыштың ауданын есептеу бағдарламасын жазу.

Шешімі. // Тіктөртбұрыштың ауданын есептеу

public class Main {public static void main(String[] args) {

Scanner sc = new Scanner(System.in); // Scanner класс объектісін құрамыз
 int a=sc.nextInt();

 int b=sc.nextInt();

 int d;d=a*b;System.out.println(d);}}

 

Немесе:

public class Main {

public static void main(String[] args) {                            int d;                      int b = 7;                      int a = 5;                      d=a*b;                      System.out.println(d);                      }}

 

Тапсырма 1. Сызықты құрылымды алгоритмдерді программалау

1. Айнымалылармен жұмыс. А1, А2 айнымалысы қолданылады. А1-ге 1024 мәні меншіктеледі.Ал А2-ге А1/2 меншіктеледі. Программа кодын жазыңыз.

2. int және double арасындағы айырмашалықты байқау. Х айнымалысына 10 мәні меншіктеледі. Ал у айнымалысына 10.0 мәні меншіктеледі. х/4 және у/4 нәтижесін шығар.

3. Салмақты фунттан килограмға қайта есептеу формуласының программасын жаз (бір фунт- бұл 405,9грамм).

4. Ара-қашықтықты километрден верстқа қайта есептеу формуласының программасын жаз. (бір верст- бұл 1066,8м.)

5. Галлонды литрге айналдыру программасын жаз. (галлон- 3,7854 литр)

6. Параллелограмм ауданын есептеу программасын жазу. Программаның орындалу уақытында экранның көрінісі төменде келтірілген; пайдаланушы енгізген мәліметтер жуан шрифпен көрсетілген;

Ауданды есептеу.

Бастапқы мәндерді енгізіңіз ;

Ұзындығы (см) -9

Ені (см) -7,5

Параллелограм ауданы: 67,50 кв.см.

 

7. Параллелепипед көлемін есептеу программасын жазу керек. Программаның орындалу барысындағы экранның көрінісі төменде келтірілген (пайдаланушы енгізген мәліметтер жуан шрифтпен белгіленген ).

Параллелепипед көлемін есептеу .

Бастапқы мәндерді енгізіңіз;

Ұзындығы_(см)- 7

Ені (см)- 4,5

Биіктігі (см)- 3

Көлем: 312,50 куб.см.

 

8.Параллелепипед бетінің ауданын есептеу .программасын жазу керек .

 Программаның орындалу барысындағы экранның көрінісі төменде келтірілген (пайдаланушы енгізген мәләметтер жуан шрифпен белгіленген).

Параллепипед көлемін есетеу .

Бастапқы мәндерді енгізіңіз ;

Ұзындығы (см)- 9

Ені (cм)- 7,5

Биіктігі (cм)- 5

Беттің ауданы: 90,00кв,см

 

9.Кубтың көлемін есептеу программасын жазу керек.

Программаның орындалу барысындағы экранның көрінісі төменде келтірілген (пайдаланушы енгізген мәліметтер жуан шрифпен белгіленген )

Кубтың көлемін есептеу

Қабырғаларының ұзындығын енгізіңіз (ram)және <Enter> пернесін басыңыз- 9,5

Кубтың көлемі: 857,38 куб,см

 

10.Цилиндр көлемін есептеу прграммасын жазу керек.

Программаның орындалу барысындағы экранның көрінісі төменде келтірілген (пайдаланушы енгізген мәліметтер жуан шрифтпен белгіленген).

Цилиндр көлемін есептеу

Бастапқы мәндерді енгізіңіз .

Табанның радиусы (cм)-5

Цилиндр биіктігі (см)-10

Цилиндр көлемі: 1570,80 куб см.

 

11.Бірнеше дәптер мен карандаштардан тұратын сатып алынған заттардың бағасын есептеу программасын жазу керек. Программаның орындалу барысындағы экранның көрінісі төменде келтірілген (пайдаланушы енгізген мәліметтер жуан шрифтпен белгіленген ).

Сатып алынған заттың бағасын есептеу .

Бастапқы мәндерді енгізіңіз ;

Дәптер бағасы теңге - 2,85

Дәптер саны - 5

Карандаш бағасы теңге - 0,85

Карандаш саны - 2

Сатып алынған заттың бағасы: 15,45 теңге

 

12.Бірнеше дәптер мен сонша дәптер қаптың бағасын есептейтін программа жазу керек. Төменде программа орындалу барысында экран көрінісі көрсетілген (пайдаланушы енгізген мәліметтер жуан шрифтпен белгіленген).

Сатып алатын заттың бағасын есептеу

Бастапқы мәндерін есептеу

Дәптер бағасы теңге - 2,75

Дәптер қаптың бағасы теңге - 0,5

Комплект саны дана - 7

Заттардың бағасы: 22,75 теңге

 

13. Салмағы бойынша бірнеше алманың бағасын есептеу программасын жазу төменде программа орындалу барысында экран көрінісі көрсетілген (пайдаланушы енгізген мәліметтер) жуан шрифтпен белгіленген .

Сатып алынған заттың бағасын есептеу ;

Бастапқы мәндерді енгіз:

1 кг алманың бағасы - 8,5 теңге

Алма салмағы - 2,3 кг

Сатып алынған алманың бағасы: 19,55 теңге.

 

14. Табаны мен биіктігінің ұзындығы белгілі болғандағы үшбұрыштың ауданын есептеу программасын жазу .

Төменде программа орындалу барысында экран көрінісі көрсетілген (пайдаланушы енгізген мәліметтер жуан шрифтпен белгіленген ).

Үшбұрыш ауданын есептеу

Бастапқы мәндерін енгіз:

Табаны (см)- 8.5

Биіктігі (см)- 10

Үшбұрыш ауданы: 42,50 кв.метр.

 

15.Үшбұрыш ауданын есептеу программасын жазу керек, егер екі қабырғасы мен арасындағы бұрышы белгілі болса. Төменде программа орындалу барысында экран көрінісі көрсетілген (пайдаланушы енгізген мәліметтер жуан шрифпен белгіленсін).

Үшбұрыш ауданын есептеу

Үшбұрыштың екі қабырғасын см енгізіңіз - 25 17

Үшбұрыш қабырғалары арасындағы бұрышты енгізіңіз - 30

Үшбұрыштың ауданы: 106,25 кв.см.

 

16. Электрлік тізбектің кедергісін есептеу программасын жазу

Тізбек біріккен екі () параллель кедергіден тұрады. Төменде программа орындалу барысында экран көрінісі көрсетілген (пайдаланушы енгізген мәліметтер жуан шрифпен белгіленсін).

Электр тізбегінің кедергісін есептеу

Элементтері паралел біріккен

Бастапқы мәндеріді енгізіңіз

Бірінші кедергінің өлшемі (Om)- 15

Екінші кедергінің өлшемі(Om)- 20

Тізбектің кедергісі: 8,57 Ом

 

Келесі формулалар үшін сызықтық құрылым бағдарламасын құру

17. x, y, z берілген. Есептеу керек a, b, егер:

 

18. x, y, z берілген. Есептеу керек a, b, егер:

 

19. x, y, z берілген. Есептеу керек a, b, егер:

 

20. X, y, z берілген. Есептеу керек a, b, егер:

 

21. x, y, z берілген. Есептеу керек a, b, егер:

 

 

22. x, y, z берілген. Есептеу керек a, b, егер:

 

 

23. x, y, z берілген. Есептеу керек a, b, егер:

 

 

24. x, y, z берілген. Есептеу керек a, b, егер:

 

 

25. x, y, z берілген. Есептеу керек a, b, егер:

26. x, y, z берілген. Есептеу керек a, b, егер:

 

27. x, y, z берілген. Есептеу керек a, b, егер:

Бақылау сұрақтары:

1. Мәліметтерді шығаруды қамтамасыз ететін функция

2. Сызықты құрылым программасының негізгі элементтерін атаңыз.

3. Меншіктеу операциясын атаңыз.

 

 

ЗЕРТХАНАЛЫҚ ЖҰМЫС №7

 

IF ОПЕРАТОРЫНЫҢ КӨМЕГІМЕН ТАРМАҚТАЛАТЫН ҚҰРЫЛЫМНЫҢ АЛГОРИТМДЕРІН ПРОГРАММАЛАУ

 

Студенттерде қалыптасатын білім мен дағдылар: if операторының көмегімен тармақталатын құрылым бағдарламасын құруды үйрену

7.1 Теориялық мәлімет.

if операторы

Осы бөлімнің есептерін шешуге кірісу алдында мыналарды еске түсіру керек:

* if нұсқаулығы бағдарламаның одан әрі жүрісінің екі бағытының бірін таңдау үшін пайдаланылады;

* нұсқаулықтардың бірізділігін таңдау шарт мәніне байланысты жүзеге асырылады if -тан кейін жақшада жазылған өрнек;

* else кейін жазылған нұсқаулық, егер өрнек мәні нөлге тең болса, барлық қалған жағдайларда шарттан кейінгі Нұсқаулық орындалады;

* егер Шартты сақтаған немесе сақтамаған жағдайда бағдарламаның бірнеше нұсқауларын орындау керек болса, онда бұл нұсқаулықтарды топқа біріктіру керек-фигуралық жақшаларға жасау керек;

 

If операторының жалпы форматы келесі түрде беріледі:

If (шарт) өрнек;

else өрнек;

else фрагменті болмауы да мүмкін. If операторың программалық блок қолданғандағы жазылу форматы төмендегідей:

 

If (өрнек)

{

өрнектің тізбегі

}

else

{

өрнектің тізбегі

}

Егер шарт түрінде берілген өрнек true мәнін қабылдайтын болса, if -тан кейін тұрған программалық блок немесе өрнек орындалады, кері жағдайда else- ден кейін тұрған программалық блок немесе өрнек орындалады. 

 

If ішкі операторы

If ішкі операторы – бұл If (шарт) немесе else –ден кейін If операторы көрсетілетін  тілдік конструкция. Мұндай конструкциялар программада жиі кездеседі.

 

Мысал. If (i= =10) {

          If (j<20) a=b;

           If (k>100) c=d;

           Else a=c; //else if (k>100) –қатысты.

}

еlse a=d; //else  if(i= =10)-қатысты.

Соңғы else If (j<20) -ге қатысы жоқ, өйткені олар бір блокта жатпайды. Бұдан шығатыны соңғы else If (i= =10) -ға қатысты. Блоктың ішінде else           If (k>100) –ге қатысты.

// Әріптерді табатын программа, үшінші нұсқа

 

class Guess {

public static void main(Strings args[ ])

throws java.io.IOException {

char ch, answer = ‘K’;

 

System.out.println(“I’m thinking of a letter between A and Z.” );

 

System.out.print(“Can you guess it: “);

ch= (char) System.in.read(); //

if (ch= =answer) System.out.println(“** Right ** ”);

else {

System.out.print(“…Sorry, you’re “);

 

//

if (ch<answer) System.out.println(“too low”);

else System.out.println(“too high”);

}

 }

}

Программамен жұмыс сеансы келесі түрде болады:

I’m thinking of a letter between A and Z.

Can you guess it: Z

…Sorry, you’re too high

 

Типтік мысалдарды шешу

Мысал 1. Формулалар бойынша есептеу үшін тармақталатын құрылымның бағдарламасын жазу:

Егер d>0 && d<15 то r=d+5;

Егер d<0 то r=d-5;

Егер d>15 то r=d*5;

 

public class Main {

   public static void main(String[] args) {

   int d;

                         int b = 3;int a = 4;int r=5;

                         d=a*b;

                         if (d>0 && d<15) r=d+5;

                         if (d<0) r=d-5;

                         if (d>15) r=d*5;

                    System.out.println("мән d="+d);

                      System.out.println("мән r="+r);

                         }

}

 

Тапсырмалар:

Келесі формулалар үшін тармақталатын құрылым бағдарламасын құру

1. 

егер b>a

 

         егер b≤a

 

мұндағы ;   ;   x=1.55; y=2,57; k=9; n=12.

2. егер a>b

 

        егер a≤b

 

мұндағы ;       ;  x=16.55; y=-2, 79; z=0,15; n=6.

3. 

егер   a≤b

 

     егер a>b

 

мұндағы ;   ;       x=6.53; y=1, 47; z=0,15; n=8, k=6.

4. 

егер a>b

 

егер a≤b

 

мұндағы ; ; х=0,975; у=4,04; z=0,893.

5.

 

егер a≤b

 

егер a>b

 

мұндағы ; ; x=4,55; y=-5,6; z=14,5; n=28; k=37.

6.

егер a>b

 

егер a≤b

 

 

мұндағы ; ; x=12,49; y=0,96; z=0,3·102; n=2.

 

7. 

егер a>b

 

егер a≤b

 

мұндағы ; ; x=9,06; y=10,37; z=0,16∙10-5; n=9.

8.

егер a≤b

 

егер a>b

 

мұндағы ; ; x=0,77; y=2,363; z=0,8934; k=21.

9.

егер a>b

 

егер a≤b

 

мұндағы ; ; x=0,77; y=0,67525; z=0,8934; k=8.

10.

егер a≤b

 

 

егер a>b

 

мұндағы ; ;

11.

 

 егер x>y

 

егер x≤y

 

мұндағы ; ; a=2,45; b=1,89; k=2; z=1,75
12.

егер x<y

 

егер x≥y

 

мұндағы ; ; a=0,87; b=14,15; k=28; m=7
13.

егер x≤y

 

егер x>y

 

мұндағы ; ; p=0,95; a=2,69

 

14.

егер a≤b

 

егер a>b

мұндағы ; ; x=0,88; y=0,6372

15.

егер a>b

егер a≤b

 

мұндағы ; ; x=0,981; y=0,792

16.

 

 егер x<y

 

 

егер x≥y

 

мұндағы ; a=2,35; b=1,32

17.

 

 

егер x≤y

 

 

егер x>y
мұндағы ; a=0,25; b=2,55

18.

егер a≥b

 

егер a<b

 

мұндағы  ; ; x=0,999; y=2,75

19.

егер a≥b

 

егер a<b

 

мұндағы ; ; x=0,78; y=0,95; z=0,7256; k=13,5; n=6,65

20.

a≥b

 

a<b

 

мұндағы  ; ; x=1,96; y=0,92; k=1,75; m=12,86

 

7.4 Бақылау сұрақтары

1. if операторы

2. Шартты операторлардың жазылу түрі

3. Программаның тармақталушы құрылымын сипаттаңыз

4. Тармақталушы құрылымдағы программаның сызықты құрылымнан айырмашылығы қандай?

ЗЕРТХАНАЛЫҚ ЖҰМЫС №8

SWITСH ОПЕРАТОРЫНЫҢ КӨМЕГІМЕН ТАРМАҚТАЛАТЫН ҚҰРЫЛЫМНЫҢ АЛГОРИТМДЕРІН ПРОГРАММАЛАУ

Студенттерде қалыптасатын білім мен дағдылар: switсh операторының көмегімен тармақталатын құрылым бағдарламасын құруды үйрену

 

8.1 Теориялық мәлімет

 

switch операторы

Осы бөлімнің есептерін шешуге кірісу алдында мыналарды еске түсіру керек:

* switch нұсқаулығы бағдарламаның одан әрі жүрісінің бірнеше ықтимал бағыттарының бірін таңдауға арналған;

* Нұсқаулық реттілігін таңдау case сөзінен кейін көрсетілген тұрақты селектор мәнінің теңдігіне байланысты жүзеге асырылады;

* егер айнымалы-селектор мәні case кейін жазылған константалардың ешқайсысына тең болмаса, онда switch сөзінен кейін орналасқан нұсқаулар орындалады;

* айнымалы-селектор ретінде бүтін (int) немесе символдық (char) түрдегі айнымалыны пайдалануға болады.

Типтік мысалдарды шешу

 switch конструкциясын қолдану мысалы:

public class Main {

   public static void main(String[] args) {

   int i=0;

   switch(i)

   {

   case 1: System.out.println("i=1");break;

   case 2: System.out.println("i=2");break;

   case 3: System.out.println("i=3");break;

   default:

           System.out.println("i тең емес 1,2,3");

                       }

}

}

 

Тапсырмалар

Арифметикалық өрнектерді есептеу үшін бағдарлама құру

 

Нұсқалар

Тапсырмалар

1

2

1

А   ìat2lnt,    егер 1≤t ≤2 Y = í1,          егер t <1          îeatcosbt, егер t >2
Б Екі нақты сан берілген х, у (х у). Егер біріншісі екіншісінен үлкен болса, N = 100, кері жағдайда N = 0.

2

А   ìpx2 – 7/(x2 +1),    егер x < 1,3 Y = íax3 + 7 ,         егер x = 1,3          îlg(x +7 ),        егер x > 1,3
Б Үш сан берілген, теріс емес сандарды квадраттап, теріс сандарын өзгеріссіз қалдырыңыз.

3

А   ìax2 + bx +c,               егер x <1, 2 Y = ía/x + ,         егер x = 1,2            î(a + bx)  ,    егер x > 1,2
Б Екі сан берілген а және в. Егер а және в теріс болса, әрқайсысын модульмен алмастырыңыз, егер тек біреуі теріс болса, 0,7-ге арттырыңыз, егер екеуі де теріс болмаса, екеуін де 10-ға арттырыңыз.

4

А   ì0,           егер 1≤t ≤2 Y = íat,          егер t <1          îeat + t4,   егер t >2
Б Нақты сандар берілгена, в, с. Егер а≥в≥ c болса, осы сандарды екі еселеу керек, кері жағдайда абсолют шамаларымен алмастырыңыз.

5

А   ìsin x,             егер x< -0,8 Y = í1/sin x,          егер -0,8 ≤x ≤0,2          îsin x cos x,    егер x >0,2
Б Үш нақты сан берілген l, m, n. Арасынан (1;3) интервалында жататынын таңдау керек.

6

А   ì0,                 егер x ≤0 Y = íx2 - x,          егер 0 < x <1   îx2 – sin px,  қалған жағдайда  
Б Нақты сандар берілгенx, y, z. Есептеу керек U = max{x + y + z; xyz}

7

А   ì1,5cos2x,     егер x < 1 Y = í1,8ax,          егер x = 1       | (x –2)2 +6,  егер 1< x < 2   î 3 tgx,          қалған жағдайда
Б Нақты сандар берілгена, в, с. Есептеу керек Z = min2 {(a + b + c)/ 2; abc} + 1,25

8

А   ìx3 ,                 егер x > a Y = íx sinax,                       егер x = a   îe-axcosax,                    қалған жағдайда
Б Үш нақты сан берілген. Арасынан  (1;5) интервалында жататынын таңдау керек.

9

А   ìbx -lgbx,                 егер 0 < bx < 1 Y = í1,                            егер bx = 1   îbx +lgbx,                қалған жағдайда
Б Нақты сандар берілгенx, y, z. Осы сандарды үш еселеу керек, егер x ≤ y≤z және егер бұл шартты қанағаттандырмаса , оларды абсолюттік мәндермен алмастыру,

10

А   ìcos x,           егер x < 2,3 Y = í1,                 егер x = 2,3   î sin x lg x,   қалған жағдайда
Б Нақты сандар берілгенx, y, z. Есептеу керек U = max{(x+y) / z; xyz} +1,05 yz

11

А   ì lg (x + 1),                 егер x > 1,1 Y = í1,                               егер x < 1,1   îsin2 ,              қалған жағдайда
Б Нөлден өзгеше үш сан берілген, теріс сандарды  квадраттап, ал оң сандарды өзгеріссіз қалдыру.

12

А   ìsin x lg x,                егер x > 2,5 Y = í1,                             егер x = 2,5   îcos x,                       қалған жағдайда
Б Нақты сандар берілген а, в, с. Ең кішісін табу керек: U = min{a, в, c}

13

А   ìabc,                 егер a < 2,7 Y = í(b+c)/a,           егер a = 2,7   î(2c+b)/a2,        қалған жағдайда
Б Егер үш әр түрлі сандардың қосындысы x, y, z 1-ден кіші болса, онда х және у кішісін у және z жарты қосындысына ауыстыру қажет, әйтпесе,  х және z үлкенін  у4не ауыстыру қажет.

14

А   ìa lg x +  ,               егер x > 0,9 Y = í1,                                      егер x = 0,9   î2a cos x +3x2,                   егер х < 0,9
Б  Үш сан берілген l, m, n. Есептеу керек Z = min3{l+m; m+n; l+n}-0,07lmn

15

А   ì3a cos x,                 егер x < 8,3 Y = í1/x3,                        егер x = 8,3   î sin x + lg x,           қалған жағдайда
Б Үш сан берілген x, y, x. Есептеу керек U = min2{x+y+z; xyz; x+2,5yz}

8.4 Бақылау сұрақтары

1. switch операторы

2. Оператор жазуының жалпы форматы

3. Тармақталған құрылым бағдарламасының құрылымын сипаттаңыз

4. тармақталған құрылым бағдарламасының сызықтық құрылымнан айырмашылығы неде?

 

ЗЕРТХАНАЛЫҚ ЖҰМЫС №9

FOR ОПЕРАТОРЫН ҚОЛДАНЫП  ЦИКЛДІК ҚҰРЫЛЫМНЫҢ БЛОК-СХЕМАСЫН ӘЗІРЛЕУ

Студенттерде қалыптасатын білімі мен дағдылар: циклдік құрылымның блок-схемасын жасауды үйрену

9 .1 Теориялық мәлімет

FOR – «үшін» циклы.

Берілген диапазонда кейбір айнымалы (цикл параметрі) барлық мәндер үшін цикл денесін орындауды ұйғарады.

Ц.б. i   i1 ден i2 –ге дейін  цикл денесі (әрекеттер тізбегі) Ц.с.

Типтік мысалдарды шешу

Функцияның мәнін есептеу алгоритмін құру

, мұндағы  хj– массив элементі (х12,…,xn), n=15

 

Тапсырмалар

1. Алғашқы n қатар мүшелерінің: 1,3,5,7,... қосындысын есептейтін программа жазу керек. 

2. Берілген 1+1/2+1/3+1/4+....+1/n қатардың қосындысын есептеу бағдарламасын жазу

3. Екі санын нөлден онға дейінгі дәрежелеу таблицасын шығаратын программа жазыңыз.

0 1
   
1 2
2 4
3 8
4 16
5 32
6 64
7 128
8 256
9 512
10 1024

 

 

4. -5 тен 5-ке дейінгі аралықта, 0,5 қадаммен у=-1,2х2+3х-2 функциясының мәндерінің таблицасын шығаратын программа жазу керек.

5. Трапеция әдісімен интегралды жуықтап шешудің программасын жазыңыз.

6. Тік төртбұрыш әдісімен  функциясының интегралын жуықтап есептеу программасын жазыңыз.

7. Бес нақты саннан тұратын тізбекті клавиатурадан енгізетін және әр санды енгізгенде енгізілген тізбек бөлігінің арифметикалық ортасын шығаратын программаны жазу керек.

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

9. 1-ден 10-ға дейінгі аралықта кездейсоқ он саннан үш тізбекті алатын, әр тізбекті экранға шығарып және әр тізбектің арифметикалық ортасын есептейтін программаны жазу керек

10. Экранға көбейту кестесін шығаратын программа жазу керек, мысалы, 7-ге.                                                                                 

11. Есептеңдер: P=sinx sin x .                                                                         

12. P=  көбейткіштерінің алғашқы n мүшесінің көбейтіндісін

есептеңдер.                                                                                                                             

13. Есептеңдер: P=b                                                                       

14.Есептеңдер: P=                     

15.  функция мәндерінің таблицасын шығаратын программа жазу керек. Аргументтің өзгеру аралығы -4 –тен 4 –ке дейін, аргументтің өсу қадамы 0,5.

16.  функция мәндерінің таблицасын шығаратын программа жазу керек. Аргументтің өзгеру аралығы -4 –тен 4 –ке дейін, аргументтің өсу қадамы 0,5.   

17. Пайдаланушы енгізген дәлдікпен π-ң мәнін есептейтін программаны жазыңыз. π -ң мәнін есептеуде 1-1/3+1/5-1/7+1/9- қосындысын есептегенде    

 π /4-ң мәніне жуықтауын пайдаланыңыз.

18. Екі бүтін санның Ең Үлкен Ортақ бөлгішін табу программасын жазыңыз

19.Клавиатурадан енгізілген оң сандар тізбегінің минимал мәнін анықтайтын программаны жазыңыз. Пайдаланушы енгізетін мәндер:

Оң сандар тізбегінің минимал мәнін анықтау.

Санды стрелкадан соң енгіз.

Аяқтау үшін нөлді енгіз

→ 12

→ 75

→ 10

→ 9

→ 23

→ 0

Минимал сан: 9

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

Бүтін сан енгіз және <Enter>-ді бас.

→ 17

17 – жәй сан емес

21. 1 мен 10 диапазон аралығында санды «ойлап», пайдаланушыға сол санды табуға 5 мүмкіндік береді.

Ойын "Санды тап"

Табуға 5 мүмкіндік бар

Санды енгізіңіз және <Enter>-ді басыңыз.

→ 5

Жоқ

→ 3

Сіз жеңдіңіз! Құттықтаймыз!

22. y=-2,4x2+5x-3 функция мәнінің кестесін экранға шығаратын программаны жазыңыз.Аргументтің өзгеру қадамы мен диапазоны программаның жұмыс істеу кезінде енгізілуі тиіс. 

x1 -> -2

x2 -> 2

dx -> 0.5

x y
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -22.60 -15.90 -10.40 -6.10 -3.00 -1.10 -0.40 -0.90 -2.60

9.4 Бақылау сұрақтары

1. Циклдық есептеу процесі дегеніміз не?

2. Циклдерді ұйымдастыру үшін қандай цикл қолданылады?

3. Кез келген циклді ұйымдастыру кезінде бағдарламада қандай 3 операциялар жүргізілуі тиіс?

4. Циклдік құрылым алгоритмі дегеніміз не?

5. Циклдік құрылым алгоритмінің негізгі блоктарын атаңыз

ЗЕРТХАНАЛЫҚ ЖҰМЫС №10

 FOR ОПЕРАТОРЫН ҚОЛДАНЫП ЦИКЛДЫҚ ҚҰРЫЛЫМДЫ ПРОГРАММАЛАРДЫ ӨҢДЕУ

 

Студенттерде қалыптасатын білім мен дағдылар: бағдарламалау кезінде for циклінің операторын пайдалануды үйрену

1

2 Теориядан қысқаша мәлімет

  FOR параметрімен циклдық оператор.  

FOR циклының жазылу форматы:

for (инициалданған өрнек; шарт;инкремент ) өрнек;

Бір өрнектің орнына кодтың блогын пайдалануға да болады.

for (инициалданған өрнек; шарт; инкремент)

{

өрнек тізбегі

}

 

Инициалданған өрнек цикл айнымалысының бастапқы мәнін береді. Бұл айнымалы есептегіш (счетчик) ретінде қолданылады. Шарт- бұл логикалық өрнек, цикл денесінің қашанға дейін қайталанатындығын анықтайды.

Инкремент - параметрдің өзгеру шамасы (цикл қадамы). ++ - инкремент (өсімше ) операторы деп аталады. Ол өз операндын 1-ге өсіреді (k++ және k=k+1 операторлары бірдей ).

 

for циклының орындалуы шартта көрсетілген логикалық өрнектің мәні true болғанға дейін жалғасады. Бұл өрнек false мәнін қабылдаған кезде цикл аяқталады және программаның орындалуы for операторынан кейін тұрған өрнектен бастап жалғасады.

Типтік мысалдарды шешу

Мысал. Екінің нөлден онға дейін дәрежелерін шығаратын кестесінің бағдарламасын жазу.

Шешімі:

public class Main {

   public static void main(String[] args) {

   int i;

       double result;

       for (i=1;i<=10;i++)

       {

          result = Math.pow(2,i);

System.out.println("2 дәрежесі "+i);

System.out.println(result);

}

}

}

                  

Мысал : //Өрнекті есептегендегі кездейсоқ нәтиже

Class PromDemo {

public static void main (String args[ ]) {

byte b;

int i;

b=10;

// типтерді түрлендіру қажет емес,өйткені

//өрнектің есептелуі int типіне жатады

i=b*b; //OK

b=10;

// int типін byte типіне түрлендіру қажет

b=(byte) (b*b);

System.out.println(“i , b:” + i+ “ “+b);

}

}

b*b нәтижесін і айнымалысына меншіктегенде типті түрлендіру қажет емес, өйткені өрнекті есептеу процесінде b айнымалысының мәні int типіне түрленіп кетті.

10.3 Тапсырмалар:

For цикл операторын пайдалана отырып, ЭЕМ-де кестеде көрсетілген мүшелер қосындысының мәнін есептеңіз. Баспаға қосынды мен санын шығару.

 

Нұсқалар Тапсырмалар
1 2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

10 .4 Бақылау сұрақтары

1. Циклдық есептеу процесі дегеніміз не?

2. Циклдарды ұйымдастыру үшін қандай циклдар қолданылады?

3. for  циклының ерекшеліктерін сипаттаңыз.

 

 

ЗЕРТХАНАЛЫҚ ЖҰМЫС №11

WHILE ОПЕРАТОРЫН ҚОЛДАНЫП ЦИКЛДІК ҚҰРЫЛЫМНЫҢ БЛОК-СХЕМАСЫН ӘЗІРЛЕУ

Студенттерде қалыптасатын білім мен дағдылар: программалауда циклдық операторларды қолдануды үйрену.

11 .1 Теориялық мәлімет

«әзірше» Циклы  

Әзірше сөзінен кейін жазылған шарт орындалғанға дейін цикл денесін орындауды ұйғарады.

цд әзірше щарт цикл денесі (әрекеттер тізбегі) Ц с.

Типтік мысалдарды шешу

 

Функцияның мәнін есептеу алгоритмін құру

, мұндағы хj–массив элементі (х12,…,xn), n=15

 

Тапсырмалар

1. Алғашқы n қатар мүшелерінің: 1,3,5,7,... қосындысын есептейтін программа жазу керек. 

2. Берілген 1+1/2+1/3+1/4+....+1/n қатардың қосындысын есептеу бағдарламасын жазу

3. Екі санын нөлден онға дейінгі дәрежелеу таблицасын шығаратын программа жазыңыз.

0 1
   
1 2
2 4
3 8
4 16
5 32
6 64
7 128
8 256
9 512
10 1024

 

 

4. -5 тен 5-ке дейінгі аралықта, 0,5 қадаммен у=-1,2х2+3х-2 функциясының мәндерінің таблицасын шығаратын программа жазу керек.

5. Трапеция әдісімен интегралды жуықтап шешудің программасын жазыңыз.

8. Тік төртбұрыш әдісімен  функциясының интегралын жуықтап есептеу программасын жазыңыз.

9. Бес нақты саннан тұратын тізбекті клавиатурадан енгізетін және әр санды енгізгенде енгізілген тізбек бөлігінің арифметикалық ортасын шығаратын программаны жазу керек.

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

9. 1-ден 10-ға дейінгі аралықта кездейсоқ он саннан үш тізбекті алатын, әр тізбекті экранға шығарып және әр тізбектің арифметикалық ортасын есептейтін программаны жазу керек

10. Экранға көбейту кестесін шығаратын программа жазу керек, мысалы, 7-ге.                                                                                  

11. Есептеңдер: P=sinx sin x .                                                                         

12. P=  көбейткіштерінің алғашқы n мүшесінің көбейтіндісін

есептеңдер.                                                                                                                                 

13. Есептеңдер: P=b                                                                       

14.Есептеңдер: P=                     

15.  функция мәндерінің таблицасын шығаратын программа жазу керек. Аргументтің өзгеру аралығы -4 –тен 4 –ке дейін, аргументтің өсу қадамы 0,5.

16.  функция мәндерінің таблицасын шығаратын программа жазу керек. Аргументтің өзгеру аралығы -4 –тен 4 –ке дейін, аргументтің өсу қадамы 0,5.   

17. Пайдаланушы енгізген дәлдікпен π-ң мәнін есептейтін программаны жазыңыз. π -ң мәнін есептеуде 1-1/3+1/5-1/7+1/9- қосындысын есептегенде    

 π /4-ң мәніне жуықтауын пайдаланыңыз.

18. Екі бүтін санның Ең Үлкен Ортақ бөлгішін табу программасын жазыңыз

19.Клавиатурадан енгізілген оң сандар тізбегінің минимал мәнін анықтайтын программаны жазыңыз. Пайдаланушы енгізетін мәндер:

Оң сандар тізбегінің минимал мәнін анықтау.

Санды стрелкадан соң енгіз.

Аяқтау үшін нөлді енгіз

→ 12

→ 75

→ 10

→ 9

→ 23

→ 0

Минимал сан: 9

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

Бүтін сан енгіз және <Enter>-ді бас.

→ 17

17 – жәй сан емес

21. 1 мен 10 диапазон аралығында санды «ойлап», пайдаланушыға сол санды табуға 5 мүмкіндік береді.

Ойын "Санды тап"

Табуға 5 мүмкіндік бар

Санды енгізіңіз және <Enter>-ді басыңыз.

→ 5

Жоқ

→ 3

Сіз жеңдіңіз! Құттықтаймыз!

22. y=-2,4x2+5x-3 функция мәнінің кестесін экранға шығаратын программаны жазыңыз.Аргументтің өзгеру қадамы мен диапазоны программаның жұмыс істеу кезінде енгізілуі тиіс. 

x1 -> -2

x2 -> 2

dx -> 0.5

x y
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -22.60 -15.90 -10.40 -6.10 -3.00 -1.10 -0.40 -0.90 -2.60

9.4 Бақылау сұрақтары

1. Циклдық есептеу процесі дегеніміз не?

2. Циклдерді ұйымдастыру үшін қандай цикл қолданылады?

3. Кез келген циклді ұйымдастыру кезінде бағдарламада қандай 3 операциялар жүргізілуі тиіс?

4. Циклдік құрылым алгоритмі дегеніміз не?

5. Циклдік құрылым алгоритмінің негізгі блоктарын атаңыз

 

ЗЕРТХАНАЛЫҚ ЖҰМЫС №12

WHILE ОПЕРАТОРЫН ҚОЛДАНЫП ЦИКЛДЫҚ ҚҰРЫЛЫМДЫ ПРОГРАММАЛАРДЫ ӨҢДЕУ

Студенттерде қалыптасатын білім мен дағдылар: программалауда while циклдық операторларды қолдануды үйрену.

 

12.1 Теориялық мәлімет.

WHILE циклінің жазылу форматы:

WHILE (шарт) өрнек; немесе while (логӨрнек) {цикл денесі;}

Жақшаның ішіндегі өрнек шартты анықтайды: (while) орындалып жатқанда, фигуралық жақшаның ішіндегі өрнек орындалады.

Цикл денесі ретінде бір өрнек, болмаса программалық блок та қолданылуы мүмкін. Шарт циклдың орындалуын басқарады, және логикалық өрнек түрінде болуы керек. Цикл өрнек-шарттың мәні true болғанға дейін орындалады. Бұл өрнек false мәніне тең болғанда басқару циклдан кейін тұрған өрнекке беріледі.

Алдымен, логӨрнек логикалық өрнегі есептелінеді; егер оның мәні true болса, онда циклді құрайтын оператор орындалады. Одан кейін қайтадан логӨрнек есептеледі және опеаратор әрекет етеді, яғни ол false мәні шыққанша орындалады. Егер логӨрнек басында false-қа тең болса, онда оператор бір рет те орындалмайды. Алдын ала тексеру циклдің орындалуының қауіпсіздігін қамтамасыз етеді, толып кетуден, нольге бөлуден және басқа да қолайсыздықтардан сақтайды. Сондықтан while операторы негізгі болып табылады, ал кейбір тілдерде ол тіптен жалғыз циклдік оператор болып табылады.

 

Типтік мысалдарды шешу

Мысал1. while операторын қолданып, нөлден онға дейін екіні дәрежелеу кестесін шығаратын программа жазыңыз.

Шешуі:

public class Main {

   public static void main(String[] args) {

       int i=1;double result;

       while (i<=10){

       result = Math.pow(2,i);

System.out.println("2 дәрежесі "+i);

System.out.println(result);

   i++;

}

}

}

Тапсырмалар

while цикл операторын пайдалана отырып, ЭЕМ-де кестеде көрсетілген мүшелер қосындысының мәнін есептеңіз. Баспаға қосынды мен санын шығару.

 

Нұсқалар Тапсырмалар
1 2
1
2
3  
4
5
6
7
8
9
10
11
12
13
14
15

d. Бақылау сұрақтары

   1.Циклдық есептеу процесі дегеніміз не?

 2.Циклдарды ұйымдастыру үшін қандай циклдар қолданылады?

 3. while  циклының ерекшеліктерін сипаттаңыз.

 

ЗЕРТХАНАЛЫҚ ЖҰМЫС №13

DO WHILE ОПЕРАТОРЫН ҚОЛДАНЫП ЦИКЛДІК ҚҰРЫЛЫМНЫҢ БЛОК-СХЕМАСЫН ӘЗІРЛЕУ

Студенттерде қалыптасатын білімі мен дағдылар: циклдік құрылымның блок-схемасын жасауды үйрену

13 .1 Теориялық мәлімет

«дейін» Циклы.

Предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока. Дейін сөзінен кейін тұрған жазылған шарт о орындалғанға дейін цикл денесін орындауды ұйғарады.

ц б. Дейін шарты цикл денесі (әрекеттер тізбегі) Ц.с

Типтік мысалдарды шешу

Функция мәнін есептейтін алгоритм құрыңыз.

, мұндағы хj–массив элементі (х12,…,xn), n=15

 

Тапсырмалар

 

1. Алғашқы n қатар мүшелерінің: 1,3,5,7,... қосындысын есептейтін программа жазу керек. 

2. Берілген 1+1/2+1/3+1/4+....+1/n қатардың қосындысын есептеу бағдарламасын жазу

3. Екі санын нөлден онға дейінгі дәрежелеу таблицасын шығаратын программа жазыңыз.

0 1
   
1 2
2 4
3 8
4 16
5 32
6 64
7 128
8 256
9 512
10 1024

 

4. -5 тен 5-ке дейінгі аралықта, 0,5 қадаммен у=-1,2х2+3х-2 функциясының мәндерінің таблицасын шығаратын программа жазу керек.

5. Трапеция әдісімен интегралды жуықтап шешудің программасын жазыңыз.

10. Тік төртбұрыш әдісімен  функциясының интегралын жуықтап есептеу программасын жазыңыз.

11. Бес нақты саннан тұратын тізбекті клавиатурадан енгізетін және әр санды енгізгенде енгізілген тізбек бөлігінің арифметикалық ортасын шығаратын программаны жазу керек.

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

9. 1-ден 10-ға дейінгі аралықта кездейсоқ он саннан үш тізбекті алатын, әр тізбекті экранға шығарып және әр тізбектің арифметикалық ортасын есептейтін программаны жазу керек

10. Экранға көбейту кестесін шығаратын программа жазу керек, мысалы, 7-ге.                                                                                 

11. Есептеңдер: P=sinx sin x .                                                                     

12. P=  көбейткіштерінің алғашқы n мүшесінің көбейтіндісін

есептеңдер.                                                                                                                                 

13. Есептеңдер: P=b                                                                       

14.Есептеңдер: P=                     

15.  функция мәндерінің таблицасын шығаратын программа жазу керек. Аргументтің өзгеру аралығы -4 –тен 4 –ке дейін, аргументтің өсу қадамы 0,5.

16.  функция мәндерінің таблицасын шығаратын программа жазу керек. Аргументтің өзгеру аралығы -4 –тен 4 –ке дейін, аргументтің өсу қадамы 0,5.   

17. Пайдаланушы енгізген дәлдікпен π-ң мәнін есептейтін программаны жазыңыз. π -ң мәнін есептеуде 1-1/3+1/5-1/7+1/9- қосындысын есептегенде    

 π /4-ң мәніне жуықтауын пайдаланыңыз.

18. Екі бүтін санның Ең Үлкен Ортақ бөлгішін табу программасын жазыңыз

19.Клавиатурадан енгізілген оң сандар тізбегінің минимал мәнін анықтайтын программаны жазыңыз. Пайдаланушы енгізетін мәндер:

Оң сандар тізбегінің минимал мәнін анықтау.

Санды стрелкадан соң енгіз.

Аяқтау үшін нөлді енгіз

→ 12

→ 75

→ 10

→ 9

→ 23

→ 0

Минимал сан: 9

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

Бүтін сан енгіз және <Enter>-ді бас.

→ 17

17 – жәй сан емес

21. 1 мен 10 диапазон аралығында санды «ойлап», пайдаланушыға сол санды табуға 5 мүмкіндік береді.

Ойын "Санды тап"

Табуға 5 мүмкіндік бар

Санды енгізіңіз және <Enter>-ді басыңыз.

→ 5

Жоқ

→ 3

Сіз жеңдіңіз! Құттықтаймыз!

22. y=-2,4x2+5x-3 функция мәнінің кестесін экранға шығаратын программаны жазыңыз.Аргументтің өзгеру қадамы мен диапазоны программаның жұмыс істеу кезінде енгізілуі тиіс. 

x1 -> -2

x2 -> 2

dx -> 0.5

x y
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -22.60 -15.90 -10.40 -6.10 -3.00 -1.10 -0.40 -0.90 -2.60

9.4 Бақылау сұрақтары

1. Циклдық есептеу процесі дегеніміз не?

2. Циклдерді ұйымдастыру үшін қандай цикл қолданылады?

3. Кез келген циклді ұйымдастыру кезінде бағдарламада қандай 3 операциялар жүргізілуі тиіс?

4. Циклдік құрылым алгоритмі дегеніміз не?

5. Циклдік құрылым алгоритмінің негізгі блоктарын атаңыз

 

ЗЕРТХАНАЛЫҚ ЖҰМЫС №14

DO WHILE ОПЕРАТОРЫН ҚОЛДАНЫП ЦИКЛДЫҚ ҚҰРЫЛЫМДЫ ПРОГРАММАЛАРДЫ ӨҢДЕУ

Студенттерде қалыптасатын білім мен дағдылар: программалауда циклдық операторларды қолдануды үйрену.

 

14.1 Теориялық мәлімет.

WHILE циклінің жазылу форматы:

WHILE (шарт) өрнек; немесе while (логӨрнек) {цикл денесі;}

Жақшаның ішіндегі өрнек шартты анықтайды: (while) орындалып жатқанда, фигуралық жақшаның ішіндегі өрнек орындалады.

Цикл денесі ретінде бір өрнек, болмаса программалық блок та қолданылуы мүмкін. Шарт циклдың орындалуын басқарады, және логикалық өрнек түрінде болуы керек. Цикл өрнек-шарттың мәні true болғанға дейін орындалады. Бұл өрнек false мәніне тең болғанда басқару циклдан кейін тұрған өрнекке беріледі.

Алдымен, логӨрнек логикалық өрнегі есептелінеді; егер оның мәні true болса, онда циклді құрайтын оператор орындалады. Одан кейін қайтадан логӨрнек есептеледі және опеаратор әрекет етеді, яғни ол false мәні шыққанша орындалады. Егер логӨрнек басында false-қа тең болса, онда оператор бір рет те орындалмайды. Алдын ала тексеру циклдің орындалуының қауіпсіздігін қамтамасыз етеді, толып кетуден, нольге бөлуден және басқа да қолайсыздықтардан сақтайды. Сондықтан while операторы негізгі болып табылады, ал кейбір тілдерде ол тіптен жалғыз циклдік оператор болып табылады.

DO - WHILE операторы

Циклдің екінші операторы - do-while операторы келесі түрде болады: do оператор while (логӨрн). Мұнда ең алдымен оператор орындалып, содан кейін логикалық өрнек логӨрн есептеледі.

for және WHILE циклдарынан айырмашылығы , шарты соңынан беріледі (алдымен орындайды, сонан соң тексереді), яғни, оларда шарт цикл денесі орындалар алдында тексеріледі, ал DO - WHILE операторы әр итерацияның соңында шартты тексереді. Бұл деген цикл денесі кем дегенде бір рет орындалады дегенді білдіреді. Цикл шарт true-ге тең болғанға дейін орындалады

DO - WHILE өрнегінің жазылу форматы:

do {

өрнек; немесе оператор

} while (шарт); (логӨрнек)

Егер цикл денесі бір өрнектен тұрса, онда фигуралық жақшалар міндетті емес. DO - WHILE циклы шарт ретінде берілген өрнек true болғанша орындалады.

Типтік мысалдарды шешу

Мысал1. while.операторын қолданып, нөлден онға дейін екіні дәрежелеу кестесін шығаратын программа жазыңыз.

Шешуі:

public class Main {

   public static void main(String[] args) {

       int i=1;double result;

       while (i<=10){

       result = Math.pow(2,i);

System.out.println("2 дәрежесі "+i);

System.out.println(result);

   i++;

}

}

}

 

Мысал 2. do while операторын қолданып, нөлден онға дейін екіні дәрежелеу кестесін шығаратын программа жазыңыз

public class Main {

   public static void main(String[] args) {

       int i=1;double result;

       do

       {

       result = Math.pow(2,i);                  

System.out.println("2 дәрежесі "+i);

System.out.println(result);

i++;

       }

while (i<=10);

}

}

I. 6 .3 Тапсырма

do while циклдық операторларын қолданып, ЭЕМ-да кестеде көрсетілген мәндер қосындысын есептеңіз. Баспаға мәндер қосындысын және санын шығарыңыз.  

Нұсқа Тапсырмалар
1 2
1
2
3  
4
5
6
7
8
9
10
11
12
13
14
15

 

16 .4 Бақылау сұрақтары

 

1. Циклдық есептеу процесі дегеніміз не?

2. Циклдарды ұйымдастыру үшін қандай циклдар қолданылады?

3. for  циклының ерекшеліктерін сипаттаңыз.

4. while циклының ерекшеліктерін сипаттаңыз.

5.  do while циклының ерекшеліктерін сипаттаңыз

 

ЗЕРТХАНАЛЫҚ ЖҰМЫС №15

БІР ӨЛШЕМДІ МАССИВТЕРДІ ҚОЛДАНЫП, ЕСЕПТЕР ҮШІН БЛОК-СХЕМАЛАРДЫ ӘЗІРЛЕУ

Студенттерде қалыптасатын білім мен дағдылар: бірөлшемді массивтерді қолданып, блок-схема құруды білу.

15.1 Теориялық мәлімет

Программалауда массив дегеніміз— оперативті жадының аралас ұяшықтарында сақталатын біртипті айнымалылар жиынтығы.

Java тілінде массивтер сілтемелі типтерге жатады және өзгеше сипатталады, бірақ сілтемелі типтерге тән. Сипаттау үш кезеңге бөлінеді.

Бірінші кезең — жариялау (declaration). Бұл кезеңде массив типінен тұратын, массивке сілтеме (reference) типті айнымалы ғана анықталады. Ол үшін массив элементтері типінің аты жазылады, тік жақшамен жай айнымалы емес, массивке сілтеме жарияланатыны көрсетіледі, мысалы,

double[] а, b;

Мұнда екі айнымалы анықталған — double типті массивтерге а және b сілтемелері. Тікелей атынан кейін тік жақша қоюға болады. Мұны жәй айнымалылар анықтамаларының арасында жасауға болады:

int I = 0, ar[], k = -1;

Мұнда i және k бүтін типті екі айнымалы анықталған, және ar бүтінтипті массивке сілтеме жарияланған.

Екінші кезең — анықтама (installation). Бұл кезеңде массивтің ұзындығы деп аталатын элементтер саны көрсетіледі, жедел жадыда массив үшін орын бөлінеді, айнымалы-сілтеме массив адресін алады. Осы әрекеттердің бәрі Java тілінің тағы бір операциясы — тип операциясында көрсетілген объект үшін жедел жадыда аймақ бөлетін және нәтиже ретінде осы аймақтың адресін қайтаратын new типті операциясымен орындалады. Мысалы,

а = new double[5];

b = new double[100];

ar = new int[50];

 

intAry = new int[10];

10 саннан тұратын массив құрады және осы массив адресін intAry енгізеді. 

int[] intAry = new int[10];

Массив үшін мәндер тізімімен инициалдауға болады.

int intAry[] = {1, 2, 3, 4};

Мұнда 4 элементтен тұратын массив сипатталған және олардың бастапқы мәндері анықталған.

Java-да массив элементтері 0-ден бастап нөмірленеді. 

x = a[3]; // x –ке a массив элементінің үшінші мәні меншіктеледі (реті бойынша 4-ші)

intAry[i] = 0; // intAry массивінің i – ші элементіне 0 мәні меншіктеледі.     

Типтік мысалдарды шешу

Мысал. n элементтерден тұратын берілген P массивінің қанша элементі берілген шартты қанағаттандыратынын анықтау қажет (анықтылық үшін шарт Pi>T түрі болсын, мұнда T - берілген сан).

Тапсырманы шешу үшін i бойынша цикл ұйымдастыру керек және әрбір i мән үшін Pi>T шартты тексеру керек. Егер шарт қанағаттанатын болса, онда элементтердің санауышына 1 қосылады, ал егер қанағаттандырылмаса (яғни Pi£T), массивтің келесі элементіне өту жүзеге асырылады.

 Шешуі.

 

Тапсырмалар

Кестеде көрсетілген нұсқаға сәйкес массивті ЭЕМ-де өңдеу.  

Нұсқа Массив атауы Әрекеті
1 A(30)  Массивті алдымен кемімелі түрде, сонан соң өспелі түрде орналастыру. 
2 A(15)  А массивінің арифметикалық және геометриялық ортасының элементтерін есептеу. A[i]<>0
3 C(15) Массивтің ең үлкен және ең кіші элементін табу және олардың орнын ауыстыру. Алынған массивті баспаға шығару.
4 D(50)  D массивінің элементтерін E массивіне жазу және ондағы оң сандардың санын есептеу. 
5 E(25)  Определить максимальный элемент массива E и его порядковый номер. E[i]>0.
6 F(35) F массивінің ең кіші элементін және оның реттік нөмірін табу. F[i]>0.
7 G(20)  G элементінің ең үлкен және ең кіші элементін табу және олардың орнын ауыстыру.
8 H(30) Y(N)  Y массивіне алдымен оң сандарды, сонан соң H массивіне теріс элементтерді орналастыр. N=30.
9 I(30)  I массивінің 3-ке бөлінетін элементтерінің қосындысын анықтау. I[i]/3*3=I[i].
10 Р(N)  Р массивінің жұп элементтерінің қосындысын және санын есептеу.    Р[i]<0, N=30.
11 K(N)  Y массивіне  K массивінің оң элементтерін қатарынан жазып шығу. K[i]>0, N=10.
12 L(N)  L массивінің оң элементтерін қатарынан Y массивіне және массивтің теріс элементтерін Z массивіне жазып шығу. N=10.
13 D(30 M(N) M массивіне D массиві элементтерін өспелі түрде жазып шығу. N=30.
14 N(40)  N массивінде оң және теріс элементтерінің қосындысын жеке-жеке табу керек.
15 Q(27) Массив элементтерінің модульдерін өспелі түрде қойып шығу. Алынған массивті баспаға шығару.
16 R(9) Теріс элементтерінің орнына нөлді, ал оң элементтердің орнына – бірді жазу. Баспаға шығару.  
17 S(12) Массив элементтерінің модульдерін кемімелі түрде қойып шығу. Алынған массивті баспаға шығару.  
18 T(20) L(20)  T және L массивтерін қосу. Нәтижесін А массиві деп алыңыз. Баспаға шығарыңыз.  
19 U(11) Массив элементтерін 2-ге көбейтіңіз және алынған массивті баспаға шығарыңыз.  
20 V(13) Массивте алдымен теріс элементтерді, сонан соң оң элементтердің модулін өспелі түрде орналастыру.  
21 W(17) Массивте алдымен оң элементтерді, сонан соң теріс элементтердің модулін өспелі түрде орналастыру.  
22 X(30) Массивте теріс және оң элементтерін жеке-жеке қосып шығу. Нәтижені комментаримен шығару.
23 Y(20) Символдық массив берілген. Әріптерді (*) жұлдызшамен ауыстыру, ал цифрдың орнына – 0 ауыстыру. Баспаға шығару.
24 Z(25) Символдық массив берілген. Әріптерді 0-ге, ал цифрдың орнына (*) жұлдызшамен ауыстыру. Баспаға шығару.
25 A(30) Символдық массив берілген. Алдымен цифрларды өспелі түрде орналастыру, сонан соң әріптерді орналастыру.
26 B(15) Массивті кері ретпен баспаға шығару.  
27 C(10) C массивінің элементтерін өспелі түрде орналастыру.
28 D(18)  Массивте алдымен теріс элементтердің, сонан соң оң элементтерінің модульдерін кемімелі түрде жазып шығу.  

 

7 .4 Бақылау сұрақтары:

1. Массив дегеніміз не?

2. Массивті сипаттау қалай жүзеге асады?

3. Массивті инициалдап сипаттаңыз

 

ЗЕРТХАНАЛЫҚ ЖҰМЫС №16

БІР ӨЛШЕМДІ МАССИВТЕРДІ ҚОЛДАНУ АРҚЫЛЫ ЕСЕПТЕРДІ ПРОГРАММАЛАУ

Студенттерде қалыптасатын білім мен дағдылар: бірөлшемді массивтерді қолданып, программалар құруды білу

16.1 Теориялық мәлімет

Программалауда массив дегеніміз— оперативті жадының аралас ұяшықтарында сақталатын біртипті айнымалылар жиынтығы.

Java тілінде массивтер сілтемелі типтерге жатады және өзгеше сипатталады, бірақ сілтемелі типтерге тән. Сипаттау үш кезеңге бөлінеді.

Бірінші кезең — жариялау (declaration). Бұл кезеңде массив типінен тұратын, массивке сілтеме (reference) типті айнымалы ғана анықталады. Ол үшін массив элементтері типінің аты жазылады, тік жақшамен жай айнымалы емес, массивке сілтеме жарияланатыны көрсетіледі, мысалы,

double[] а, b;

Мұнда екі айнымалы анықталған — double типті массивтерге а және b сілтемелері. Тікелей атынан кейін тік жақша қоюға болады. Мұны жәй айнымалылар анықтамаларының арасында жасауға болады:

int I = 0, ar[], k = -1;

Мұнда i және k бүтін типті екі айнымалы анықталған, және ar бүтінтипті массивке сілтеме жарияланған.

Екінші кезең — анықтама (installation). Бұл кезеңде массивтің ұзындығы деп аталатын элементтер саны көрсетіледі, жедел жадыда массив үшін орын бөлінеді, айнымалы-сілтеме массив адресін алады. Осы әрекеттердің бәрі Java тілінің тағы бір операциясы — тип операциясында көрсетілген объект үшін жедел жадыда аймақ бөлетін және нәтиже ретінде осы аймақтың адресін қайтаратын new типті операциясымен орындалады. Мысалы,

а = new double[5];

b = new double[100];

ar = new int[50];

 

intAry = new int[10];

10 саннан тұратын массив құрады және осы массив адресін intAry енгізеді. 

int[] intAry = new int[10];

Массив үшін мәндер тізімімен инициалдауға болады.

int intAry[] = {1, 2, 3, 4};

Мұнда 4 элементтен тұратын массив сипатталған және олардың бастапқы мәндері анықталған.

Java-да массив элементтері 0-ден бастап нөмірленеді. 

x = a[3]; // x –ке a массив элементінің үшінші мәні меншіктеледі (реті бойынша 4-ші)

intAry[i] = 0; // intAry массивінің i – ші элементіне 0 мәні меншіктеледі.     

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

Шешуі.

public class Main {

   public static void main(String[] args) {

      int[] Mas = new int[5]; int s=0;

 Mas[0] =3;

 Mas[1] =2;

 Mas[2] =5;

 Mas[3] =4;

 Mas[4] =8;

 for (int i = 0; i < 5; i++)

 {

s=s+Mas[i]; }

    System.out.println("s= "+s);

   }}

 

Тапсырмалар

Кестеде көрсетілген нұсқаға сәйкес массивті ЭЕМ-де өңдеу.  

Нұсқа Массив атауы Әрекеті
1 A(30)  Массивті алдымен кемімелі түрде, сонан соң өспелі түрде орналастыру. 
2 A(15)  А массивінің арифметикалық және геометриялық ортасының элементтерін есептеу. A[i]<>0
3 C(15) Массивтің ең үлкен және ең кіші элементін табу және олардың орнын ауыстыру. Алынған массивті баспаға шығару.
4 D(50)  D массивінің элементтерін E массивіне жазу және ондағы оң сандардың санын есептеу. 
5 E(25)  Определить максимальный элемент массива E и его порядковый номер. E[i]>0.
6 F(35) F массивінің ең кіші элементін және оның реттік нөмірін табу. F[i]>0.
7 G(20)  G элементінің ең үлкен және ең кіші элементін табу және олардың орнын ауыстыру.
8 H(30) Y(N)  Y массивіне алдымен оң сандарды, сонан соң H массивіне теріс элементтерді орналастыр. N=30.
9 I(30)  I массивінің 3-ке бөлінетін элементтерінің қосындысын анықтау. I[i]/3*3=I[i].
10 Р(N)  Р массивінің жұп элементтерінің қосындысын және санын есептеу.    Р[i]<0, N=30.
11 K(N)  Y массивіне  K массивінің оң элементтерін қатарынан жазып шығу. K[i]>0, N=10.
12 L(N)  L массивінің оң элементтерін қатарынан Y массивіне және массивтің теріс элементтерін Z массивіне жазып шығу. N=10.
13 D(30 M(N) M массивіне D массиві элементтерін өспелі түрде жазып шығу. N=30.
14 N(40)  N массивінде оң және теріс элементтерінің қосындысын жеке-жеке табу керек.
15 Q(27) Массив элементтерінің модульдерін өспелі түрде қойып шығу. Алынған массивті баспаға шығару.
16 R(9) Теріс элементтерінің орнына нөлді, ал оң элементтердің орнына – бірді жазу. Баспаға шығару.  
17 S(12) Массив элементтерінің модульдерін кемімелі түрде қойып шығу. Алынған массивті баспаға шығару.  
18 T(20) L(20)  T және L массивтерін қосу. Нәтижесін А массиві деп алыңыз. Баспаға шығарыңыз.  
19 U(11) Массив элементтерін 2-ге көбейтіңіз және алынған массивті баспаға шығарыңыз.  
20 V(13) Массивте алдымен теріс элементтерді, сонан соң оң элементтердің модулін өспелі түрде орналастыру.  
21 W(17) Массивте алдымен оң элементтерді, сонан соң теріс элементтердің модулін өспелі түрде орналастыру.  
22 X(30) Массивте теріс және оң элементтерін жеке-жеке қосып шығу. Нәтижені комментаримен шығару.
23 Y(20) Символдық массив берілген. Әріптерді (*) жұлдызшамен ауыстыру, ал цифрдың орнына – 0 ауыстыру. Баспаға шығару.
24 Z(25) Символдық массив берілген. Әріптерді 0-ге, ал цифрдың орнына (*) жұлдызшамен ауыстыру. Баспаға шығару.
25 A(30) Символдық массив берілген. Алдымен цифрларды өспелі түрде орналастыру, сонан соң әріптерді орналастыру.
26 B(15) Массивті кері ретпен баспаға шығару.  
27 C(10) C массивінің элементтерін өспелі түрде орналастыру.
28 D(18)  Массивте алдымен теріс элементтердің, сонан соң оң элементтерінің модульдерін кемімелі түрде жазып шығу.  

 

16 .4 Бақылау сұрақтары:

1. Массив дегеніміз не?

2. Массивті сипаттау қалай жүзеге асады?

3. Массивті инициалдау дегеніміз не?

 

 

ЗЕРТХАНАЛЫҚ ЖҰМЫС №17

 ЕКІ ӨЛШЕМДІ МАССИВТЕРДІ ҚОЛДАНЫП, ЕСЕПТЕР ҮШІН БЛОК-СХЕМАЛАРДЫ ӘЗІРЛЕУ

Студенттерде қалыптасатын білім мен дағдылар: екі өлшемді массивтерді қолданып, блок-схема құруды білу

 

Массив өлшемі символдар санымен анықталады. Екі өлшемді массив немесе матрица Қатарлар мен бағандардан тұратын мәндер кестесінен тұрады.

Мысал, Матрица элементтерінің орны екі номер-индекс арқылы анықталады: Қатар нөмірі (i) және баған нөмірі (j).

 

Мысалы,

Қосымша диагональ

Жолдар i
Бас диагональ
A [i, j] немесе A [i][j], n´m

A11 A12 A13 A14
A21 A22 A23 A24
A31 A32 A33 A34
A41 A32 A43 A44

Бағандар j

 

Индекстері тең элементтер матрицаның бас диагоналы болып табылады: i=j;

Егер i < j, матрица элементтері бас диагональдың жоғарғы жағында орналасады;

Егер j < i, матрица элементтері бас диагональдың төменгі жағында орналасады;

Матрица симметриялық деп аталады, егер бас диагональға қатысты симметриялы орналасқан элементтер A[i, j]=A[j, i] тең болса, мұндағы A[i,j] А матрицасының элементтері.

 

 

Типтік мысалдарды шешу

 

Мысал. А екі өлшемді массив берілген, m қатар және n баған (m £ 10; n £ 15). А массивіндегі оң элементтердің қосындысын табу.

Шешуі:

Тапсырмалар

Клавиатурадан Қатар бойынша нақты типті екі өлшемді массивті (3*5 – үш Қатар бес эл-тен) және Қатар элементтерінің арифметикалық ортасын есептейтін бағдарлама жазу

Ұсынылған экран түрі төменде келтірілген.

Массивті енгізу және өңдеу (3 * 5)

Қатар бойынша енгізіңіз.

2. Элементтерінің қосындысы ең үлкен болатын, екі өлшемді массивтің Қатар нөмірін анықтайтын бағдарлама жазу.

3.Екі өлшемді массив клавиатурадан Қатардар бойынша енгізетін және оның элементтерінің қосындысын Қатардар бойынша есептейтін бағдарлама жазу.

   4. Матрицаны есептеу үшін алгоритмін құру.

B=(bij),

егер аij>0

 

егераij≤0

здесь n=m=3,

         

5. Компоненттері келесі формуламен есептелетін B(b1,b2,... ,bn) векторын есептейтін программа құру.

, i=1,…,n; n=3

Здесь

B(b1, b2,…,bn) вектор компоненттерін экранға шығару керек.

 

 7. Екі өлшемді массивті клавиатурадан Қатардар бойынша енгізетін және бағандар бойынша оның элементтерінің қосындысын есептейтін бағдарламаны жазу.

8. Екі өлшемді массив клавиатурадан Қатардар бойынша енгізетін және оның элементтерінің қосындысын Қатардар бойынша есептеп шығаратын бағдарлама жазу.

9.Квадрат матрицаның диагональды элементтерінің қосындысын есептейтін бағдарлама жазу.

10.Пернетақтадан Қатардар бойынша екі өлшемді массив енгізетін және оның элементтерінің орташа арифметикалық мәнін есептейтін бағдарламаны жазу.

11.Клавиатурадан енгізілген бүтін элементтерден тұратын массивтің ең кіші элементін табатын программа жазу керек.

12. Берілген квадрат матрицаларды қосу керек.

Ескерту. Өлшемдері бірдей матрицаларды қосу үшін сәйкес элементтерін қосып, қосынды болатын массивтің сәйкес орнына жазу керек. Формуласы:

3. Жоғарыда берілген матрицалардың көбейтіндісін табу керек.

Матрицаларды көбейту үшін біріншісінің k-қатарын екіншісінің j-бағанына скалярлық түрде көбейтіп, нәтижесін көбейтінді матрицаның (k, j) элементі етіп жазу керек:

4. А(3х3) массиві берілген. Элементтері бүтін типті. 2-ге еселі элементтерді баспаға шығарыңыз.

5. С матрицасы 5х5 өлшемді. Элементтерінің көбейтіндісін табыңыз.

6. Д(4х4) матрицасы берілген. Негізгі диагональдағы элементтерінің қосындысын есептеңіз

17.4 Бақылау сұрақтары

1. Массив дегеніміз не?

2. Массивтерді сипаттау түрі

3. Массивтерді инициалдау дегеніміз не?

4. Екі өлшемді массив дегеніміз не?

5. Екі өлшемді массивтерді сипаттау түрі?

 

 

ЗЕРТХАНАЛЫҚ ЖҰМЫС №18

ЕКІ ӨЛШЕМДІ МАССИВТЕРДІ ҚОЛДАНУ АРҚЫЛЫ ЕСЕПТЕРДІ ПРОГРАММАЛАУ

Студенттерде қалыптасатын білім мен дағдылар: екі өлшемді массивтерді қолданып, программалар құруды білу

18.1 Теориялық мәлімет

Көпөлшемді массивтердің бірден көп өлшемдері бар. Көбінесе екі өлшемді массивтер қолданылады, олар кесте түрінде көрсетуге болады. Мұндай массивтің элементтері екі индекстен тұрады, біріншісі қатар нөмірін, екіншісі баған нөмірін анықтайды. Қатар мен бағанды нөмірлеу нөлден басталады. Екі өлшемді массивтерді келесі әдіспен сипаттауға болады: 

тип[,]массив атауы;

· тип[,] массив атауы = new тип[размер1, размер2];

 

· тип[,] _массив атауы = {{элемент 1- қатар элементтері. },

 

...,

{ қатардың элементтері.

тип[,]_массива атауы = new тип[,] {{

 

 

 1-ші қатар элементтері },

...,

{ n –ші қатардың элементтері};

 

Типтік мысалдарды шешу.

Мысал1. Клавиатурадан екі өлшемді массивті қатар бойынша енгізіп және оның элементтерінің қосындысын есептеу.

Шешуі.

public class Main {

   public static void main(String[] args) {

           int s=0;

        int[][] a = {{1,10},{2,20},{3,30},{4,40}};

for (int i = 0; i < 4; i++) {

for (int j = 0; j < 2; j++) {

s=s+a[i][j];

} }

        System.out.println("s= "+s); }

}

 

Мысал2

public class Main {

   public static void main(String[] args) {

           int s=0; int i,j;

        int[][]a = new int[2][2];

a[0][0]=10;

a[0][1]=20;

a[1][0]=30;

a[1][1]=40;

for (i = 0; i <2; i++) {

for (j = 0; j <2; j++) {

s=s+a[i][j]; }       }

System.out.println("s= "+s); }}

 

Тапсырма

Кестеде көрсетілген нұсқаға сәйкес массивті ЭЕМ-де өңдеу.  

Нұсқа Массив атауы Әрекеті
1 T(N,M) Матрицаның әр қатарының, бағанның элементтерінің қосындысын есептеу. Нәтижесін екі баған түрінде шығару. N=20, M=15.
2 B(17,17) Берілген матрицада әр қатардың барлық индекстерін максимал мәнмен көрсету. B[i]>0.
3 C(N,N) Матрицаның бас диагоналының элементтерінің қосындысын есептеу.   N=12.
4 D(10,10) Матрицаның теріс элементтерінің орнына нөлді, ал оң элементтердің орнына бірлерді жазу.
5 E(N,M) Матрицаның әр қатарында ең үлкен және ең кіші элементтерін табу және оларды сәйкесінше қатардың бірінші және соңғы элементтерінің орнына  қою. N=20, M=10.
6 F(10,8) Матрицаны транспонирлеу және бас диагонал элементтерін және бас диагоналдың астындағы элементтерін баспаға шығару. Нәтижені екі қатарға орналастыру.  
7 G(10,10)  Матрицаның 5-ке бөлінетін  элементтерінің санын анықтау G[i,j]/5*5=G[i,j].
8 H(10,10)  Матрицаның оң элементтерінің арифметикалық ортасын табу. 
9 I(N,N) Матрицаның теріс элементтерінің арифметикалық ортасын табу. N=15.
10 J(K,N) Матрицаның ең үлкен және ең кіші элементтерін тауып, олардың орнын ауыстыру.  K=20, N=10.
11 K(25,8) Баспаға матрица элементтерінің қосындысын шығару.
12 L(15,10) Баспаға матрица элементтерінің көбейтіндісін шығару.
13 M(I,J) Матрицаның ең үлкен және ең кіші элементтерінің қосындысын табу. I=20, J=15.
14 N(10,15) Матрицаның әр бағанының оң сандарының қосындысы және санын есептеу. Нәтижені еккі қатар түрінде шығару. N[i,j]>0.

15

O(11,11) Баспаға бірінші қатарға матрицаның бас диагоналының элементтерін, ал екінші қатарға оның астындағы элементтерін шығару.
O(N,N) Матрицаның бас диагоналының астындағы элементтерінің саны мен қосындысын есептеу. O[i,j]>0, N=12.
16 P(25) N(5,5)  P массивін қатарымен N матрицасына жазып шығып, алынған матрицаны баспаға шығару.
17 P(K,K) Матрицаның теріс элементтерінің орнына нөлді жазып, баспаға шығару. K=10.
18 Q(N,N) Берілген матрица симметриялы екендігін анықтау керек (бас диагоналға қатысты) N=10.
19 U(9,9) Берілген матрица магиялық болып табылатындығын анықтау керек, яғни, барлық қатр мен бағандаға элементтер қосындысы бірдей болатын.
20 V(N,N) Матрицаның теріс элементтерінің қосындысын есептеу.  N=6.

 

 

1 8.4 Бақылау сұрақтары

1. Екі өлшемді массив дегеніміз не?

2. Екі өлшемді массивтерді сипаттау қалай жүзеге асады.

ЗЕРТХАНАЛЫҚ ЖҰМЫС №19

 ҚАТАРЛАРДЫ ҚОЛДАНЫП, ЕСЕПТЕР ҮШІН БЛОК-СХЕМАЛАРДЫ ӘЗІРЛЕУ

Студенттерде қалыптасатын білім мен дағдылар: қатарларды қолданып, блок-схемаларды құруды білу

19.1 Теориялық мәлімет

Сандық деректермен қатар компьютер мәтіндік ақпаратты сақтай алады және өңдей алады. Бұл, мысалы, MS Word құжаттар мәтіндері, VS формасындағы мәтіндік өрістер, деректер қорының мәтіндік өрістері және т. б.

Мысалы, деректерді реттеу кезінде қолданылатын ең жиі қолданылатын операция сұрыптау болып табылады, яғни символдық деректер өзара салыстырылады. Бағдарламаларда бір таңбаны басқасымен салыстырар алдында, ол ASCII (American Standard Code for Information Interchange - ақпарат алмасу үшін американдық стандартты код) кестесі арқылы санға түрлендірілуі тиіс. 128 әріптік-сандық таңбаларды кодтауды қолдайды.

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

Кодтау кестелерінің ұлттық стандарттары кодтық кестенің халықаралық бөлігін өзгеріссіз қамтиды,ал екінші жартысында ұлттық алфавит кодтарын, бүркеншік таңбаларын және кейбір математикалық белгілерді қамтиды.

Типтік есептерді шешу

 

Мысал. Қатардағы символдарды есептеу.

Шешуі:

Тапсырмалар

1. Берілген мәтінде сөздер санын есептеу және оларды қатарда бір сөзден баспаға шығару керек.

2. Берілген мәтінде берілген әрбір символдың неше рет кездесетінін санау. 

3. Берілген мәтінде цифрдың ең үлкен санынан тұратын бүтін санды анықтау.

4. Құрамында осы мәтін символдары, әріптер мен бос орыннан ерекшеленетіні бар ма, соны анықтау.

5. Берілген мәтінде берілген сөз кіретін сөйлемдердің санын санау.

6. Берілген мәтіннен берілген ұзындықты таңдап, әр Қатарда бір-бірден басып шығару.

7. Берілген мәтіннен берілген символды қамтитын барлық сөздерді таңдаңыз.

8. Латын әліпбиінің барлық кіші әріптері тиісті үлкен әріптерге ауыстырылсын.

9. Берілген мәтінде берілген символдан басталатын барлық сөздерді табу.

10. Мәтінде әрбір Қатарда таңбаларды бірінші символ соңғы, екінші соңғының алдындағы және т. б. болатындай етіп ауыстыру жүзеге асырылады.

11. Берілген мәтінде кездесетін барлық сандарды басып шығару.

12. Берілген мәтінде төмендегідей Қатардары бар: тегі-иванов аты-иван әкесінің аты-Иванович. Оларды таңдап және әр Қатарда иванов иван иванович түрінде басып шығару.

13. Берілген мәтінде берілген символдың ең көп кездесетін сөзді анықтау.

14. Емтихан ведомосында әрбір Қатардың түрі бар: иванов-жақсы Сидоров-қанағаттанарлық , және т. б., өте жақсы бағалармен Қатардарды басып шығару.

15. Әрбір 'One' деген сөзді 'two' дегенге ауыстырсын.

16. Берілген мәтінде сөз санын бірінші үтірге дейін санау керек.

17. Мәтінде Қатардарынан тұратын: Иванов И. И. 1945ж.

18. Берілген мәтінде тауарлардың рубльдегі бағасы кездеседі. Мысалы, бар: 1253749; бұл бағаны ұсыну қажет: 1 млн 253 мың 749 руб.

19. Сөздерді бос орынмен бөлу үшін мәтінді өзгерту

Берілген мәтінде сандар саны бойынша қайталанатын барлық сандар берілген символмен ауыстырылсын.

20. Мәтін өзгертіліп, қайта сөз тіркестерін алып тастаңыз.

21. Мәтіннің екі Қатары берілген. Әрбір Қатарда бар сөздерді шығару.

24. Берілген мәтінде барлық түбірлік сөздерді басып шығару (түбір қойылады).

25. Екі мәтін берілген. Тектердің бірі, ал екіншісі тегіне сәйкес туған күндердің бірі. Әрбір Қатарда аты-жөні мен туған күні бар жаңа мәтін қалыптастыру.

26. Тегі тізімі алфавит бойынша реттеу.

29. Берілген мәтінде әрбір үтір алдыңғы сөзге қысып, келесі бос орын бөліңіз.

19.4 Бақылау сұрақтары

1. Қатар айнымалысына анықтама беріңіз?

2.Қандай операциялар Қатар түрінің айнымалы операцияларына қолданылады?

3.Қатар элементтерімен қандай операцияларды жүзеге асыруға болады?

Зертханалық жұмыс №20

КАТАРЛАРДЫ ҚОЛДАНЫП ПРОГРАММАЛАРДЫ ӨҢДЕУ

Студенттерде қалыптасатын білім мен дағдылар: қатарларды қолданып, программаларды құруды білу

20.1 Теориялық мәлімет

String класында Қатардарға қолдануға болатын көптеген пайдалы әдістер бар (әдіс есімінің алдында ол қайтаратын мәннің түрін көрсетеміз):

1. int length() - Қатардың ұзындығын қайтарады (ондағы таңбалар саны);

2. boolean isEmpty() - Қатардың бос екенін тексереді;

3. String replace (a, b) - a символы (Литер немесе char түріндегі айнымалы) b символына ауыстырылған Қатарды қайтарады;

4. String toLowerCase() - бастапқы Қатардың барлық символдары Қатарға түрлендірілген Қатарды қайтарады;

5. String toUpperCase() - бастапқы Қатардың барлық символдары бас әріптер Қатарына түрлендірілген Қатарды қайтарады;

6. boolean equals (s) - әдіс қолданылған Қатар әдісінің аргументінде көрсетілген s Қатарына сәйкес келсе, ақиқатты қайтарады (оператор арқылы == Қатардарды басқа нысандар сияқты салыстыруға болмайды));

7. int indexOf (ch) — ch символының индексін Қатарда қайтарады (индекс бұл таңбаның реттік нөмірі, бірақ таңбалар нөлден бастап нөмірленеді). Егер таңба мүлдем табылмаса, 1 қайтарады. Егер таңба бірнеше рет болса, онда оның бірінші кездескен индексін шақырады.

8. int lastIndexOf (ch) — алдыңғы әдіске ұқсас, бірақ смивол Қатарда бірнеше рет кездессе, соңғы кездескен индексін қайтарады.

9. int indexOf (ch,n) — Қатардағы ch символының индексін қайтарады, бірақ тексеруді n индексінен бастайды (индекс бұл символдың реттік нөмірі, бірақ символдар нөлден бастап нөмірленеді).

10. char charAt (n) — Қатарда орналасқан n индексіндегі символдың кодын қайтарады (индекс бұл символдың реттік нөмірі, бірақ символдар нөлден бастап нөмірленеді).

 

Пайдаланушы пернетақтадан енгізген Қатардағы барлық бос орын индекстерін экранға шығаратын бағдарлама мысалы:

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
for(int i=0; i < s.length(); i++) {
if(s.charAt(i) == ' ') {
System.out.println(i);

}

}

}   

}

 

 

Тапсырмалар

1. Берілген мәтінде сөздер санын есептеу және оларды қатарда бір сөзден баспаға шығару керек.

2. Берілген мәтінде берілген әрбір символдың неше рет кездесетінін санау. 

3. Берілген мәтінде цифрдың ең үлкен санынан тұратын бүтін санды анықтау.

4. Құрамында осы мәтін символдары, әріптер мен бос орыннан ерекшеленетіні бар ма, соны анықтау.

5. Берілген мәтінде берілген сөз кіретін сөйлемдердің санын санау.

6. Берілген мәтіннен берілген ұзындықты таңдап, әр қатарда бір-бірден басып шығару.

7. Берілген мәтіннен берілген символды қамтитын барлық сөздерді таңдаңыз.

8. Латын әліпбиінің барлық кіші әріптері тиісті үлкен әріптерге ауыстырылсын.

9. Берілген мәтінде берілген символдан басталатын барлық сөздерді табу.

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

11. Берілген мәтінде кездесетін барлық сандарды басып шығару.

12. Берілген мәтінде төмендегідей Қатардары бар: тегі-иванов аты-иван әкесінің аты-Иванович. Оларды таңдап және әр Қатарда иванов иван иванович түрінде басып шығару.

13. Берілген мәтінде берілген символдың ең көп кездесетін сөзді анықтау.

14. Емтихан ведомосында әрбір Қатардың түрі бар: иванов-жақсы Сидоров-қанағаттанарлық , және т. б., өте жақсы бағалармен Қатардарды басып шығару.

15. Берілген мәтінде тауарлардың рубльдегі бағасы кездеседі. Мысалы, бар: 1253749; бұл бағаны ұсыну қажет: 1 млн 253 мың 749 руб.

16. Сөздерді бос орынмен бөлу үшін мәтінді өзгерту.

17. Берілген мәтінде сандар саны бойынша қайталанатын барлық сандар берілген символмен ауыстырылсын.

21. Мәтін өзгертіліп, қайта сөз тіркестерін алып тастаңыз.

22.   Мәтіннің екі Қатары берілген. Әрбір Қатарда бар сөздерді шығару.

 23.   Берілген мәтінде барлық түбірлік сөздерді басып шығару (түбір қойылады).

24. Екі мәтін берілген. Тектердің бірі, ал екіншісі тегіне сәйкес туған күндердің бірі. Әрбір Қатарда аты-жөні мен туған күні бар жаңа мәтін қалыптастыру.

25. Тегі тізімі алфавит бойынша реттеу.

26. Берілген мәтінде әрбір үтір алдыңғы сөзге қысып, келесі бос орын бөліңіз

20.4 Бақылау сұрақтары

1. Қатар айнымалысына анықтама беріңіз?

2. Қандай операциялар қатар түрінің айнымалы операцияларына қолданылады?

3. Қатар элементтерімен қандай операцияларды жүзеге асыруға болады?

 

 

ЗЕРТХАНАЛЫҚ ЖҰМЫС №21

ГРАФИКАЛЫҚ ФУНКЦИЯЛАРДЫ ҚОЛДАНЫП ПРОГРАММАЛАРДЫ ӨҢДЕУ

Студенттерде қалыптасатын білімі мен дағдылар: графиктерді қолдана отырып есептерді бағдарламалауды үйрену

 

Теориялық мәлімет.

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

Java тілі GUI-мен (пайдаланушылық графикалық интерфейсы) байланысты құралдарды береді, ол java.awt пакетінде орналасқан.

Awt пакетінің кластарын келесі топтарға бөлуге болады:

· графика кластары

· компоненттер

· орналасу менеджерлері

· оқиғаларды өңдеушілер

· бейнелерді түрлендіру кластары

Графика классы фигуралар, түзулер, бейнелерді құруға және шрифтерді, түстерді таңдауға және т.б. мүмкіндік береді. Компоненттер деп батырмалар, мәтіндік өрістер, әртүрлі меню, айналма Қатарақтар сияқты элементтер аталады. Оларды контейнерлерге орналастыруға болады, ал содан кейін бейнені экранда тиісті айқындау үшін орналасу менеджерлерінің бірін таңдауға болады. Java.awt.event ішкі пакеті сыртқы оқиғаларды (батырманы басу, тышқанды қозғалту және т.б.) оқиғаларды өңдеушілер, тыңдаушылар мен адаптерлер көмегімен өңдеуге арналған. Java.awt.image ішкі пакеті awt пакетімен бейнелерді әртүрлі форматтарда беру үшін қолданылады.  

Қолданушының графикалық интерфейсінің негізгі түсінігі – графикалық жүйенің компоненті (component) басқа элементтерден тәуелсіз графикалық элементтерде қолдануға болатын жеке, толық анықталған элемент. Мысалы, ол енгізу өрісі, батырма, меню қатары, айналу Қатарағы, радиобатырма. Қосымшаның терезесі – ол да оның компоненті. Компоненттер көрінбейтін бола алады, мысалы, компоненттерді біріктіретін тақта да компонент болып табылады.

   

Әр компонент экранға шығар алдында контейнерлерге (conteiner) орналасады. Компонентті - Component класының объектісі немесе оның кенейтілуін құра отырып, оны алдын-ала құрылған container класының объектісіне немесе оның кеңейтілуі, add() әдістерінің бірі.

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

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

Графикалық функциялар әр түрлі есептерді шешуде жиі қолданылады. Java-да Graphics класына қызмет көрсетеді. Контексте сызылған барлық элементте көрсетіледі. Біз осындай кластың данасын алып, оның әдістерін пайдалана отырып, сурет салуымыз керек. Контекст данасын paint әдісі арқылы алуға болады:

public void paint (Graphics g);

бұл әдіс Component класынан мұра. Graphics g аргументі жүйемен жасалады, ал біз оны дайын түрде аламыз және сурет салу үшін қолданамыз. Элементті жасау кезінде paint әдісі автоматты түрде пайда болады.

Типтік мысалдарды шешу

Мысал

package javaapplication9;

import java.applet.Applet;

import java.awt.Graphics;

import java.awt.Color;

public class MyApplet extends Applet {

  @Override

public void paint(Graphics g) {

g.setColor(Color.blue);

g.drawRect(70,70,240,240);

g.drawRect(90,90,200,200);

g.drawRect(110,110,160,160);

g.drawRect(130,130,120,120);

g.drawRect(150,150,80,80);

g.drawRect(170,170,40,40);

}

}

Бақылау мысалы 1.

import java.awt.*;

import java.awt.event.*;

class HelloWorldFrame extends Frame{

HelloWorldFrame(String s){

super(s);

}

public void paint(Graphics g){

g.setFont(new Font("Serif", Font.ITALIC | Font.BOLD, 30));

g.drawstring("Hello, XXI century World!", 20, 100);

}

public static void main(String[] args){

Frame f = new HelloWorldFrame("Здравствуй, мир XXI века!");

f.setSize(400, 150);

f.setvisible(true);

f.addWindowListener(new WindowAdapter()){

public void windowciosing(WindowEvent ev){

System.exit(0);

}

}

}

}

 

Бақылау мысалы2. Сызықтарды салу

 

Сызықтар форматтың drawLine() әдісімен салынады:

void drawLine( int startX ,  int startY , int endX , int endY )

DrawLine() сызықты бейнелейді (ағымдық түсте), startX ,  startY координаталарынан басталып, endX , endY –те аяқталады.

Келесі апплет бірнеше сызықтарды шығарады:

// Сызықтарды сызу

import java. awt.*;

import java. applet.*;

/*

<applet code =” Lines” height=200>

  </applet>

*/

 

 

  public class Lines extends Applet {

public void paint(Graphics g){

g. drawLine( 0, 0, 100, 100 ) ;

g. drawLine( 0, 100, 100,0 ) ;

g. drawLine( 40, 25, 250, 180 ) ;

g. drawLine( 75 ,90, 400, 400 ) ;

g. drawLine( 20, 150, 400, 40 ) ;

g. drawLine( 5, 290, 80, 19 ) ;

}

}

 

 Сурет 1. Lines апплеті терезесі

 

Бақылау мысалы 3.

Тіктөртбұрыштарды салу

 

drawRect() және fillRect() әдістері салынған және толтырылған төртбұрыштарды кескіндейді. Олардың форматы:

void drawRect(int top, int left, int width, int height)

void fill Rect(int top, int left, int width, int height)

Төртбұрыштың сол жақ жоғарғы координатасы – top және left , ал width және  height – төртбұрыштың өлшемін көрсетеді (пиксельмен).

Дөңгелекті төртбұрыш салу үшін drawRoundRect() fillRoundRect() қолданамыз, форматы:

void draw Round Rect(int top, int left, int width, int height, int xDiam, int yDiam)

void fillRound Rect(int top, int left, int width, int height, int xDiam, int yDiam)

 

Дөңгелектенген төртбұрыштың бұрыштары дөңгелек болады.Сол жақ жоғарғы бұрышы top, left параметрімен беріледі. Төртбұрыштың өлшемі width, height арқылы анықталады.Х осі бойынша дөңгелек доғаның диаметрі xDiam арқылы анықталады. У осі бойынша дөңгелекдоғаның диаметрі yDiam анықталады.Келесі апплет бірнеше төртбұрыштарды салады.

 

//Төртбұрыш салу

import java. awt.*;

import java. applet.*;

/*

<applet code =” Rectangles” height=200>

  </applet>

*/

public class Rectangles extends Applet {

public void paint(Graphics g){

g.drawRect (10, 10, 60, 50);

g.fillRect (100, 10, 60, 50);

g.drawRoundRect(190, 10, 60, 50, 15, 15);

g.fillRoundRect (70, 90, 140, 100, 30, 40);

}

}

 

Сурет 2. Rectangles апплетінің терезесі

Бақылау мысалы 3. Эллипстер мен дөңгелектер салу

 

Эллипс салу үшін drawOval() және fillOval() әдістерін қолданамыз. Форматы:

void drawOval (int top, int left, int width, int he ight )

void fillOval (int top, int left, int width, int height )

 

Эллипс шектелген төртбұрыштар шегінде салынады, оның сол жақ жоғарғы бұрышы top, left параметрлерімен анықталады, ал ені мен биіктігі width, height арқылы беріледі. Дөңгелек салу үшін шектелген төртбұрыш ретінде шаршыны көрсетіңіз.Келесі программа бірнеше эллипстерді салады:

import java. awt.*;

import java. applet.*;

/*

  <applet code =”Ellipses” height=200>

  </applet>

*/

public class Ellipses extends Applet {

public void paint(Graphics g){

g. draw Oval ( 10, 10, 50, 50 ) ;

g. fill Oval ( 100, 10, 75, 50 ) ;

g. draw Oval ( 190, 10, 90, 30 ) ;

g. fill Oval ( 70 ,90, 140, 100 ) ;

}

}

 

Сурет 3. Ellipses апплеті терезесі

 

Бақылау мысалы 4. Доға салу

Доғаны drawArc() және fillArc() әдістерімен салуға болады, келесі форматты қолданып:

void drawArc (int top, int left, int width, int height, int начало,  int конец )

void fillArc (int top, int left, int width, int height, int   начало, int конец )

 

Доға төртбұрыштармен шектелген, оның сол жақ жоғарғы бұрышы top, left параметрлерімен анықталады, ал ені мен биіктігі width, height арқылы беріледі. Доға начало бастап конец –те көрсетілген бұрыштық қашықтыққа дейін салынады. Бұрыштары градуспен беріледі және горизонталь осьтен сағат тіліне қарсы есептеледі. Доға сағат тіліне қарсы салынады, егер конец оң болса, сағат тілімен, егер конец теріс болса.Сондықтан доғаны он екі сағаттықтан алты сағаттыққа дейін салатын болсақ, бастапқы бұрыш  және бұрылу бұрышы  болуы қажет.

 

Келесі апплет бірнеше доғаны салады:

// Доға салу

import java. awt.*;

import java. applet.*;

/*

  <applet code =”Arcs” height=200>

 </applet>

*/

public class Arcs extends Applet {

public void paint(Graphics g){

g. draw Arc ( 10, 40, 70, 70, 0, 75 ) ;

g. fillArc ( 100, 40, 70, 70, 0, 75 ) ;

g. draw Arc ( 10, 100, 70, 80, 0, 175 ) ;

g. fillArc ( 100 ,100, 70, 90, 0, 270 ) ;

g.drawArc(200, 80, 80, 0, 180);               

}

}

 

 

Сурет 4.  Arcs апплеті терезесі

 

 

Бақылау мысалы 5. Көпбұрыш салу

 

Еркін формадағы фигураларды drawPolygon() fillPolygon()        әдістерін келесі форматтармен қолданып салуға болады.

Void drawPolygon(int x[ ], int y[ ], int numPoints)

Void fillPolygon(int x[ ], int y[ ], int numPoints)

 

Көпбұрыштың аяқталған нүктелері жұптық координаталармен анықталады, олар x[ ], y[ ] массивтерінде . Осы массивтерде анықталған нүктелер саны numPoints параметрімен көрсетіледі. Бұл әдістердің альтернативті формасы бар, онда көпбұрыш Polygon класының объектісімен анықталады. Келесі апплет құмсағат формасын салады:

 

// Көпбұрыш салу

import java. awt.*;

import java. applet.*;

/*

  <applet code =”HourGlass” height=210>

  </applet>

*/

public class HourGlass extends Applet {

public void paint(Graphics g){

int xpoints[ ] ={30, 200, 30, 200, 30};

int ypoints[ ] ={30, 30, 200, 200, 30};

int num = 5;

g.drawPolygon(xpoints, ypoints, num);

}

}

 

 

 

Сурет 5. HourGlass апплеті терезесі

 

 

getRed(), getGreen(), getBlue() әдістері

getRed(), getGreen(), getBlue()әдістерін пайдалану арқылы сіз қызыл, жасыл және көк түстің компонентін ала аласыз:

 int getRed()

 int getGreen()

 int getBlue()

 

Бұл әдістердің әрқайсысы RGB түстік компонентін береді, бүтін санның сегіз биттік Color объектінде табылады.

get RGB() әдісі

get RGB() әдісі түсті көрсететін RGB жинағын алу үшін қолданылады.

Әдіс форматы:

 

int get RGB()

Графиканың ағымдық түсін орнату

Үндемеген кезде, графикалық объектілер алдыңғы жоспардың ағымдық түсінде салынады.Ол түсті Graphics класының setColor() әдісін шақыру арқылы өзгертуге болады:

void setColor(Color newColor)

мұндағы newColor параметрі суреттің жаңа түсін анықтайды.

Ағымдық түсті getColor() әдісін шақыру арқылы ала аласыз:

Color getColor()

Бақылау мысалы 6. Түстер демонстрациясымен апплет

Келесі апплет мына түстерді пайдалана отырып, бірнеше түсті құрады және түрлі объектілерді салады:

//Түсті демонстрациялау

import java. awt.*;

import java. applet.*;

/*

  <applet code =”ColorDemo” height=200>

  </applet>

*/

public class ColorDemo extends Applet {

//Сызықтар салу

public void paint(Graphics g){

 

Color c1= new Color(255, 100, 100);

Color c2= new Color(100, 255, 100);

Color c3= new Color(100, 100, 255);

 

g.setColor(c1);

g.drawLine(0, 0, 100, 100);

g.drawLine(0, 100, 100, 0);

 

g.setColor(c2);

g.drawLine(40, 25, 250, 180);

g.drawLine(75, 90, 400, 400);

 

g.setColor(c3);

g.drawLine(20, 150, 400, 40);

g.drawLine(5, 290, 80, 19);

 

g.setColor(Color.red);

g.drawOval(10, 10, 50, 50);

g.fillOval(70, 90, 140, 100);

 

g.setColor(Color.blue);

g.drawOval(190, 10, 90, 30);

g.drawRect(10, 10, 60, 50);

 

g.setColor(Color.cyan);

g.fillRect(100, 10, 60, 50);

g.drawRoundRectl(190, 10, 60, 50, 15, 15);

 

}

}

 

Тапсырма1:

1. Функция графигін салу керек.

2. Ою-өрнек салу керек.

3. Қазақстанның Мемлекеттік туын салыңыз.

4. Эранда олимпиадалық ойындардың жалауы шығатын бағдарлама құру керек. Бес сақиналы (көк, сары, қара, жасыл, қызыл).

5. Экранда кеменің суретін салатын бағдарлама жазу.

6.  Экранда ракетаның суретін сызатын бағдарлама жазу.

7.Экранға төменде көрсетілген оюдың кескінін шығару бағдарламасын жазу.

.

            

8.  Экранға 100 шеңберден тұратын кездейсоқ түс және диаметр арқылы берілген оюдың бағдарламасын жазу.

 

9.Экранға кез-келген түс пен өлшемді 50 тікбұрыштан тұратын оюдың бағдарламасын жазу.

 

10. Экранға төменде көрсетілген оюды кескінін шығару бағдарламасын жазу. Шеңбер әр түрлі түсті болуы қажет: көктен аққа дейін (setcolor функциясын қолдану арқылы).

 

4 Бақылау сұрақтары :

1. Java.awt пакетіне қандай кластар кіреді?

2. Экранға шықпас бұрын компонент қай объектке орналасады?

3. Paint () әдісі қай кластарда анықталады?

4. Түсті құруға арналған конструкторларды атаңыз.

5. Графикалық әдістерді атаңыз.

 

ЗЕРТХАНАЛЫҚ ЖҰМЫС №22

АППЛЕТТЕРДІ ҚОЛДАНЫП ПРОГРАММАЛАРДЫ ӨҢДЕУ

Студенттерде қалыптасатын білімі мен дағдылар: апплеттерді қолдана отырып есептерді бағдарламалауды үйрену

22.1 Теориялық мәлімет

Апплеттер-бұл Internet серверлерінде орналастырылатын кішкентай қосымшалар, клиентке желі арқылы тасымалданады, HTML құжатының бөлігі ретінде автоматты түрде орнатылады және сол жерде іске қосылады. Апплет клиентке келгенде, оның ресурстарға қолжетімділігі шектелген.

Типтік мысалдарды шешу

Мысал. Төменде апплет түрінде ресімделген HelloWorld канондық бағдарламасының бастапқы коды бар:

 

import java.awt.*;
import java.applet.*;
public class HelloWorldApplet extends Applet {
public void paint(Graphics g) {
g.drawString("Hello World!", 20, 20);

}

}

Тапсырмалар

Келесі апплеттерді өңдеңіз

 

1.

 

2.

 

 

,

 

3.

4.

 

5.

 

22.4 Бақылау сұрақтары

1. Апплетті орындау қарапайым Java-қосымшасын орындаудан айырмашылығы бар ма?

2. Қосымшалар мен апплеттің бастапқы кластары немен ерекшеленеді?

3. Апплеттің бастапқы класын қандай әдістер қайта анықтау керек?

4. Апплеттің жұмыс істеу принциптері қандай?

5. Апплетке параметрлері қалай беріледі?

6. Файлдан графикалық суретті қалай жүктеуге болады?

 

ЗЕРТХАНАЛЫҚ ЖҰМЫС №23

КЛАСТАРДЫ ҚОЛДАНЫП, ЕСЕПТЕР ҮШІН БЛОК-СХЕМАЛАРДЫ ӘЗІРЛЕУ

Студенттерде қалыптасатын білім мен дағдылар: класстарды қолдана отырып, бағдарламалар құруды үйрену

23.1 Теориялық мәлімет

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

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

Түрлендіргіштер (модификаторлар) қол жеткізу (кейде қол жеткізу спецификаторлары деп аталатын) — public (ашық), protected (қорғалған) және private (жабық) (олар тек кластар үшін емес). Соңғы екі класты хабарландыруда пайдаланылмайды, тек public қолданылады. Егер бұл модификаторды көрсетсе, онда бұл класс барлық жерде мүлдем қол жетімді және оған сілтемелерді кез келген кодта орналастыруға болады.

Типтік мысалдарды шешу

Мысал.

Класта бірнеше конструкторларды қолдану мысалы.

Тапсырмалар

 

1. Екі бүтін санды a және b параметрі бар статикалық әдісті жасау және өз мәні ретінде кездейсоқ бүтін санды [a;b] бөлігінен қайтару. Осы әдістің көмегімен 20 бүтін сандардың массивін толтыру және оны экранға шығару.

2. Көрсетілген массивті экранға жолға шығаратын әдісті жасау. Құрылған әдіс пен әдістің көмегімен алдыңғы тапсырмадан әрбір кездейсоқ сандардың 10 элементтен 5 массивін толтыру және барлық 5 массивтерді экранға шығару, әрқайсысын жеке жолда.

3. Бұл массивті кез келген белгілі жолмен өсуі бойынша сұрыптайтын әдісті жасау.

4. Класта нүкте қандай координаталық ширекте жатқандығы туралы хабарды экранға шығаратын әдісті жасаңыз.

5. Санаудың басталуына қатысты екі нүкте симметриялы болып табыла ма? , соны класта тексеретін әдісті құру.

6. Класта үш нүкте коллинеарлық болып табыла ма (яғни бір түзуге жататын), соны тексеретін әдіс жасаңыз.

23.4 Бақылау сұрақтары

1. Класс дегеніміз не?

2. Кластын қандай модификаторларын білесіз?

3. Конструктор дегеніміз не?

ЗЕРТХАНАЛЫҚ ЖҰМЫС №24

КЛАССТАРДЫ ҚОЛДАНЫП ПРОГРАММАЛАРДЫ ӨҢДЕУ

Студенттерде қалыптасатын білім мен дағдылар: берілген кластарды қолдану арқылы есептерді бағдарламалауды үйрену

24.1 Теориялық мәлімет

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

Басқа класс ішінде анықталған болса, класс салынған (nested).деп аталады.

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

Салынған кластар басқа класс үшін шағын қосымша код жазу қажет болған жағдайларда қолданылады. Салынған класс сыртқы әлемнің оның айнымалылар мен әдістерін жасыру үшін жасайды. Осылайша, салынған класс көріну аймағын шектеудің тағы бір талғампаз тәсілі. Ішкі кластар, сондай-ақ, олар конструкторларда артық беруге емес, ата-ана элементтерін пайдалануға болады деп болжанса, пайдалану мағынасы бар.

Типтік мысалдарды шешу

Композиция мысалы: машина қозғалтқышы, есігі, 4 дөңгелегі, корпусы бар. Және біз машинаны ішкі (Inner) класс арқылы сипаттай аламыз.

/* Мысал №1 */

//: c06:Car.java

// ашық объектілерді қолдану композициясы

 

// двигатель

class Engine{

public void start(){}

public void rev(){}

public void stop(){}

}

class Wheel{

public void inflare(int psi){}// накачать

}

// окно

class Window{

public void rollup(){}// приоткрыть

public void rolldown(){}// опустить

}

 

// дверь

class Door{

public Window window=new Window();

public void open(){}//открыть

public void close(){}// закрыть

}

 

// машина

public class Car{

public Engine engine = new Engine();

public Wheel[] wheel = new Wheel[4];

public Door left = new Door(),

right = new Door();//две двери

public Car(){

for(int i = 0; i<4; i++)

       wheel[i]= new Wheel();

}

public static void main(String[] args){

Car car= new Car();

car.left.window.rollup();

car.wheel[0].inflare(72);

}

}

Тапсырмалар

getName() әдісімен студенттің аты жөнінде және оның курсы жөнінде getCourse() әдісімен ақпаратты беретін Student класын жазыңыз.

printStudents(List students, int course) әдісін жазыңыз, ол студенттер тізімін және курс номерін алады және консольға осы курста оқитын тізімдегі студенттерді баспаға шығарады. Тізімді қарап шығу үшін бұл әдісте итераторды қолданыңыз. Өз әдісіңізді тестілеңіз(ол үшін алдын ала Student класының оншақты объектісін құруға және оларды тізімге орналастыруға тура келеді).

 

package p100;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

class Student{

public Student(int i, String string) {

}

public static void main(String[] args)

{ int course=1;

List<Student> list = new ArrayList<Student>();

list.add(new Student(1, "name1"));

list.add(new Student(1, "name2"));

list.add(new Student(2, "name3"));

list.add(new Student(3, "name4"));

printList(list, course);

}

public static void printList(List<Student> l, int c)

{

System.out.println("Current("+c+") course following next students:");

for ( Iterator<Student> iter = l.iterator();

iter.hasNext(); )

{

Student loadedStudent = (Student) iter.next();

if(loadedStudent.getCourse1()==c)

System.out.println( loadedStudent.getName1() );

}

}

private char[] getName1() {

return null;

}

private int getCourse1() {

return 0; }

private int course;

private String name;

public void Student1(int c, String n)

{

this.course=c;

this.name=n;

}

public int getCourse() {

return course; }

public String getName() {

return name;

}}

Нақты жүйені немесе процесті ("пәндік аймақ") сипаттайтын деректердің құрылымын сақтау үшін бірнеше (3-4) сынып әзірлеу. Мысалы, мұндай пән саласы институт, дүкен, кесте және т. б. болуы мүмкін.

24.4 Бақылау сұрақтары

1. Класс дегеніміз не?

2. Кластың қандай модификаторларын білесіз?

3. Конструктор дегеніміз не?

 

 

ЗЕРТХАНАЛЫҚ ЖҰМЫС №25

РЕКУРСИЯЛЫҚ ФУНКЦИЯЛАРДЫ ҚОЛДАНЫП БЛОК-СХЕМАЛАРДЫ ӘЗІРЛЕУ

Студенттерде қалыптасатын білім мен дағдылар: рекурсияны қолдана отырып блок-схемаларды жасауды үйрену

25.1 Теориялық мәлімет

Рекурсия - объектінің өзіне еліктеу қасиеті. Объект рекурсивті болады, егер оның бөліктері барлық объект сияқты көрінсе. Рекурсия математика мен бағдарламалауда кеңінен қолданылады:

* деректер құрылымы:

- Граф (ағаштар мен тізімдер) жеке түйіндер жиынтығы және ішкі граф (графтан кіші) ретінде қарастыруға болады.

- қатар бірінші символдан және ішкі қатардан (қатардан кші) тұрады;

* жобалау үлгілері;

• рекурсивті функциялар (Алгоритмдер) өздерін шақырады.

Типтік мысалдарды шешу

 

Жылдам сұрыптау (quick sort)

Әрбір қадамда жылдам сұрыптау алгоритмі элементтердің бірін (тірек) таңдайды және оған қатысты массивті рекурсивті өңделетін екі бөлікке бөледі. Бір бөлікке тірек элементтері аз орналасады, ал екінші бөлікке қалғандары орналастырылады.

 

 

Бірігумен сұрыптау (merge sort)(слиянием)

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

 

Қосудың әрбір қадамында екі тізімнен бірінші өңделмеген элемент таңдалады. Элементтер салыстырылады, олардың ең азы нәтижеге қосылады және өңделген ретінде белгіленеді. Біріктіру тізімдердің біреуі бос болғанша орын алады.

Тапсырмалар

1. Дәрежеге шығару. A нақты оң сан және N бүтін теріс емес сан берілген. Циклды және стандартты функцияларды қолданбай, an=a*an-1 рекуренттік қатынасты қолданып an есептеу.

2. Қосуы жоқ қосу. Екі бүтін теріс емес санның қосындысын қайтаратын int sum(int a, int b) рекурсивті функциясын жазыңыз. Барлық арифметикалық операциялардан тек +1 және -1 рұқсат етіледі. Сондай-ақ циклдарды пайдалануға болмайды.

3. Фибоначчи Саны. Фибоначчи тізбегі келесідей анықталды: F0=1, F1=1, Fn=Fn-1+ Fn−2, n>1 кезінде.

Фибоначчи қатары келесідей: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...

4. Дәрежеге шығару.

Дәрежеге N көбейтіндіден әлдеқайда жылдам тұрғызуға болады! Ол үшін сізге

келесі рекурренттік қатынасты пайдалану керек:

an=(a2)n/2  n жұп болғанда,

an=a*an−1  n тақ болғанда.

Дәрежеге жылдам шығарудың алгоритмін іске асырыңыз.

5. Евклид алгоритмі

Ең үлкен ортақ бөлгішті жылдам есептеу үшін Евклид алгоритмі қолданылады. Ол келесі қатынаста құрылған:НОД(a,b)=НОД(a % b,b). НОД(a,b)=НОД(A % b,B).

6. Бөлгішітердің қосындысы

Осы натурал сан үшін n оның барлық натурал бөлгіштерінің қосындысын есептеңіз, соның ішінде 1 және сол сан.

25.4 Бақылау сұрақтары

1. Рекурсияға анықтама беріңіз?

2. Рекурсивті процедуралардың қандай түрлері бар?

3. Ішкі бағдарламаларды жанама рекурсивті шақыру дегеніміз не?

4. Рекурсивті ішкі бағдарламаны озыңқы сипаттаудың мақсаты неде?

ЗЕРТХАНАЛЫҚ ЖҰМЫС №26

РЕКУРСИЯЛЫҚ ФУНКЦИЯЛАРДЫ ҚОЛДАНЫП ПРОГРАММАЛАРДЫ ӨҢДЕУ

Студенттерде қалыптасатын білім мен дағдылар: рекурсияны қолдану арқылы есептерді бағдарламалауды үйрену

 

26.1 Теориялық мәлімет

Рекурсия - өз денесінің ішінде өзін тудыратын әдіс (функция). Рекурсивті есептеулер жиі бағдарлама жұмысын баяулататын бір әрекетті қайталаудың қажеттілігіне әкеледі.

Мысал қарастырайық — факториал есептеу. 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;

}

}

Тапсырмалар

1. N санының факториалын есептеу. Рекурсивті алгоритммен есепті шешу үшін факториалды есептеудің рекурренттік ережесін және рекурсиядан шығу шартын білу қажет.

N!=(N−1)!∗N, егер N = 0, то N! = 1

2.        Берілген Сан бойынша F(N) Фибоначчи санын есептеу. Есепті шешу үшін білу керек: F0, F1, ..., Fn, ..., где F0= 0, F1= 1, Fk=Fk-1+Fk-2(k> 1)Фибоначчи тізбегі сандар тізбегі деп аталады.

26.4 Бақылау сұрақтары

 

1. Рекурсияға анықтама беріңіз?

2. Рекурсивті процедуралардың қандай түрлері бар?

3. Ішкі бағдарламаларды жанама рекурсивті шақыру дегеніміз не?

4. Рекурсивті ішкі бағдарламаны озыңқы сипаттаудың мақсаты неде?

 

ЗЕРТХАНАЛЫҚ ЖҰМЫС №27

ИНТЕРФЕЙСТЕРДІ ҚОЛДАНЫП, БЛОК-СХЕМАЛАРДЫ ӘЗІРЛЕУ

Студенттерде қалыптасатын білім мен дағдылар: интерфейстерді қолдану арқылы бағдарламаны құруды үйрену

27.1 Теориялық мәлімет

Java интерфейстері бағдарламаны орындау кезінде динамикалық таңдауды (resolution) қолдау үшін жасалған. Интерфейстер класқа ұқсас, бірақ соңғы интерфейстерге қарағанда айнымалы өкілдер жоқ, ал әдістердің хабарландыруларында іске асыру жоқ. Класста интерфейстердің кез келген саны болуы мүмкін. Барлық істеу  керегі, ол -класта барлық интерфейстер әдістерінің толық жиынтығын іске асыру. Кластың осындай әдістерінің сигналдары осы класта іске асырылатын интерфейс әдістерінің сигналдарымен дәл сәйкес келуі тиіс. Интерфейстер өзінің жеке иерархиясына ие. Бұл кластық мұра иерархиясы желісі бойынша байланыссыз әртүрлі кластарда бір интерфейсті жүзеге асыруға мүмкіндік береді. Бұл интерфейстердің басты күші. Интерфейстер C++ көпше тұқым қуалау механизмінің аналогы болып табылады, бірақ оларды қолдану анағұрлым жеңіл.

27.2 Типтік мысалдарды шешу

Төменде келтірілген мысалда бірге пайдаланылатын константалар үшін интерфейсті пайдалану суреттелген.

import java.util.Random;

interface SharedConstants { int NO = 0;

int YES = 1;

int MAYBE = 2;

int LATER = 3;

int SOON = 4;

int NEVER = 5; }

class Question implements SharedConstants {

Random rand = new Random();

int ask() {

int prob = (int) (100 * rand.nextDouble());

if (prob < 30)

return NO; // 30% else if (prob < 60)

return YES; // 30% else if (prob < 75)

return LATER; // 15% else if (prob < 98)

return SOON; // 13% else

return NEVER; // 2% } }

class AskMe implements SharedConstants {

static void answer(int result) {

switch(result) {

case NO:

System.out.println("No");

break;

case YES:

       System.out.println("Yes");

       break;

case MAYBE:

       System.out.println("Maybe");

       break;

case LATER:

       System.out.println("Later");

       break;

case SOON:

       System.out.priniln("Soon");

       break;

case NEVER:

       System.out.println("Never");

       break;

} }

public static void main(String args[]) {           

Question q = new Question();

       answer(q.ask());

       answer(q.ask());

       answer(q.askO);

       answer(q.ask());

} }

Тапсырмалар

1. а) void print()әдісі бар Printable интерфейсін анықтау.

б) Printable интерфейсін іске асыратын Book класын анықтаңыз.

в) Printable интерфейсін іске асыратын Magazine класын анықтаңыз.

г) кітаптар мен журналдардан тұратын Printable типті массивті құру.

д) Циклда массив бойынша өту және әр объект үшін print() әдісін шақыру.

е) Magazine класында printMagazines(Printable[] printable) статикалық әдісті құру, консольға тек қана журналдар аттарын шығаратын. Book класында printBooks(Printable[] printable) статикалық әдісті құру, консольға тек қана кітаптар аттарын шығаратын. instanceof операторын қолданамыз.

2. Инструмент интерфейсін құру және оның іске асырушы кластары Гитара, Барабан және Труба. Инструмент Интерфейсі play()әдісінен тұрады жән айнымалы String KEY ="До мажор". Гитара айнымалы класынан тұрады количествоСтрун класынын айнымалысынан, Барабан - размер, Труба - диаметр. Инструмент типті массив құру, онда түрлі типтегі инструменттер бар. Циклда play() әдісі әр инструмент үшін (), ол қатарды щығаруы тиіс "Играет такой-то инструмент c такими то характеристиками". Интерфейс құрал play() әдісін және string KEY ="До мажор" айнымалы әдісін қамтиды. Гитара сандық класының өзгермелі класын, Барабан - өлшемін, құбыр - диаметрін қамтиды. Әр түрлі құралдардан тұратын құрал түрін жасау. Циклда play () әдісін шақырыңыз, ол "осындай сипаттамалары бар құралды ойнайды" жолын шығаруы тиіс.

және де switch операторын қолданамыз.

3. а) Жыл мезгілдерінің атауы бар тізімді жасау.

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

в) сіз жасаған enum түрін айнымалыға кіретін әдісті жасау. Егер мәні жазға тең болса, консольге шығарамыз "мен жазды жақсы көремін" және тағы басқа switch операторын қолданамыз.

г) тізімде жыл сайын орташа температурасы бар ауыспалы болуы тиіс.

д) кіріс температурасын қабылдайтын конструкторды қосу.

е) "Жылдың суық уақыты"жолын қайтаратын getDescription әдісін құру. GetDescription әдісін қайта анықтау - константа жаз әдісі үшін әдіс "жылдың жылы уақытын"қайтару керек. Циклде жылдың барлық мезгілдерін, орташа температураны және жыл уақытының сипаттамасын басып шығару циклде жылдың барлық мезгілдерін, орташа температураны және жыл уақытының сипаттамасын басып шығару. басқа switch операторын қолданамыз.

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

4.a) киімнің мөлшері бар тізімді құру (XXS, XS,S,M,L). Тізімдеу getDescription әдісін қамтиды, ол "ересек Өлшем" қатарын қайтарады. getDescription әдісін қайта анықтау - XXS константасы үшін әдіс "Балалар өлшемі"жолын қайтару керек. Сондай-ақ, тізімде euroSize(32, 34, 36, 38, 40 ) сандық мәні болуы тиіс әрбір өлшемге сәйкес. euroSize кіріске қабылдайтын конструктор жасау.

б) "Ерлерді киіндіру" және "Әйелдер киімі" әдісімен "Ерлер киімі" интерфейстерін құру.

в) өзгермелі киім - киім өлшемі, құны, түсі бар абстрактілі класс құру.

г) Киім мұрагерлері кластарын құру - Футболка ("Ерлер киімі" және "Әйелдер киімі" интерфейстерін іске асырады), шалбар ("ерлер киімі" және "Әйелдер киімі" интерфейстерін іске асырады), Юбка ("Әйелдер киімі" интерфейстерін іске асырады), Галстук ("Ерлер киімі"интерфейстерін іске асырады).

д) Киімнің барлық түрлерін қамтитын массив құру. Әйелді Киіндіру әдісі, Ерлерді киіндіру әдісі бар Ателье класын жасау, кіру үшін барлық киімдер түрлерінен тұратын массив келип түседі. Әйелді Киіндіру әдісі консольге әйелдің киімі туралы барлық ақпаратты шығарады. Сол Ерлерді киіндіру әдісі үшін де.

5. Интернет-магазин мини қосымша құрамыз. Келесі мүмкіндіктер іске асырылуы қажет: a) пайдаланушының аутентификациясы. Пайдаланушы пернетақтадан логин-құпия сөзді енгізеді.

б) тауарлар каталогының тізімін қарау,

в) белгілі бір каталогтың тауарлар тізімін қарау,

г) тауарды себетке таңдау,

д) себеттегі тауарларды сатып алу.

27.4 Бақылау сұрақтары

1. Пакеттер дегеніміз не?

2. Пакеттердегі кластарды қалай трансляциялау керек?

3. Интерфейстер дегеніміз не?

ЗЕРТХАНАЛЫҚ ЖҰМЫС №28

 ИНТЕРФЕЙСТЕРДІ ҚОЛДАНЫП ПРОГРАММАЛАРДЫ ӨҢДЕУ

Студенттерде қалыптасатын білім мен дағдылар: функционалдық интерфейстерді қолдану арқылы есептерді бағдарламалауды үйрену

28.1 Теориялық мәлімет

Егер интерфейсте тек бір абстрактілі әдіс болса, бізде функционалдық интерфейс. Оны @FunctionalInterface аннотациясымен белгілеу керек, ол компиляторды көрсетеді, бұл интерфейсте екінші абстрактілі әдісті анықтағанда қате туралы хабарлау керек. Интерфейстің стандартты (default) әдістері көп болуы мүмкін – оның ішінде java.lang.Object класына тиесілі.

Функционалды интерфейстер Java 8-де пайда болды. Олар лямбда-сөздерді қолдауды қамтамасыз етті, оларды пайдалану кодты қысқа және түсінікті етеді

Типтік мысалдарды шешу

Төменде келтірілген мысалда функционалдық интерфейсті пайдалану суреттелген.

 

@FunctionalInterface

public interface GaMechanic {

void new_deck();

default int deal_cards(int num_of_players)

{

// тело метода

}

default int check_your_cards(int[] hand)

{

//...

}

default int battle(Card player1_Card, Card player2_Card)

{

//...

}

}

Тапсырма

1. Бірнеше интерфейстерді бағдарламалық іске асыру

28.4 Бақылау сұрақтары

1. Функционалдық интерфейстер дегеніміз не?

2. Интерфейсті қалай қолдану керек?

3. Интерфейстер дегеніміз не?

ЗЕРТХАНАЛЫҚ ЖҰМЫС №29

ФАЙЛДАРДЫ ҚОЛДАНЫП, БЛОК-СХЕМАЛАРДЫ ӘЗІРЛЕУ

Студенттерде қалыптасатын білім мен дағдылар: файлдарды қолданып блок-схемаларды құруды үйрену.

29.1 Теориялық мәлімет

Ыңғайлы болу үшін есте сақтау құрылғыларындағы ақпарат файл түрінде сақталады. Файл-деректер массивін сақтау үшін бөлінген сыртқы жадтың атаулы аймағы. Файлдардағы деректер әртүрлі сипатқа ие: алгоритмдік немесе машиналық тілдегі бағдарламалар; бағдарламалардың жұмысына арналған бастапқы деректер немесе бағдарламаларды орындау нәтижелері; еркін мәтіндер; графикалық бейнелер, т.б.

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

Типтік мысалдарды шешу

Мысал. Файл құрудың блок-схемасын құру

Тапсырмалар

Бағдарламада мәтіндік ақпаратты өңдеу үшін деректерді оқу және сыртқы тасымалдағышқа жазу

29.4 Бақылау сұрақтары

1. Файл анықтамасын беріңіз?

2. Файлдық айнымалылардың сипаттау форматы кандай?

3. Сипаттау әдісі бойынша файлдардың жіктелуі қандай?

ЗЕРТХАНАЛЫҚ ЖҰМЫС №30

ФАЙЛДАРДЫ ҚОЛДАНЫП ПРОГРАММАЛАРДЫ ӨҢДЕУ

Студенттерде қалыптасатын білім мен дағдылар : сыртқы файлдан мәліметтерді оқитын және осы мәліметтерді өңдейтін бағдарламаларды жазу дағдыларын алу

30.1 Теориялық мәлімет

Java-да, қарапайым түрлерден басқа объектілер бар. Бұл объектілердің барлығы пакеттерде ұйымдастырылған. Пакеттер - Java-кодты сақтауды ұйымдастырудың қарапайым тәсілі. Мысалы, егер сізде келесі бумалар құрылымы бар болса:

com
example
HelloWorld.java

мұндағы com және example – бұл бума және ішкі бума, ал HelloWorld.java - файл, бұл файлға қол жетімді болу үшін мына кодты жазу керек:

 

import com.example.HelloWorld;

 

Көріп отырғанымыздай, Java пакетінің атауы файлдар жатқан бумалардың құрылымын көрсетеді.

Кез келген түрдегі файлдарды оқу үшін Java IO API - де Java енгізу/шығару интерфейсінде екілік немесе мәтіндік болса да интерфейстің екі түрі бар - ағын (streams) және оқырмандар (readers). Ағын (streams) еркін түрдегі деректерді, яғни екілік деректерді оқу үшін, ал оқырмандар (readers) символдық деректерді оқу үшін пайдаланылады. Ал мәтіндік файл символдық деректер жиынтығы болғандықтан, Java мәтіндік файлдарды оқу үшін Reader интерфейсін іске асыруды пайдалану қажет.

Java-да мәтіндік файлдарын бірнеше жолмен оқуға болады: FileReader, BufferedReader немесе Scanner кластары арқылы. Көрсетілген кластардың әрқайсысы белгілі бір функционалдық ерекшеліктерге ие: мысалы, BufferedReader тез оқу үшін деректерді буферлеуді қамтамасыз етеді, ал Scanner - мәтінді лексикалық талдау үшін мүмкіндік береді.

Типтік мысалдарды шешу

Мысал. FileReader қолданып мәтінді оқу.

       // файл ReadFile.java
// қажетті кластарды импорттаймыз
// оларсыз компилятор қате береді
import java.io.FileReader;
import java.io.IOException;

// ReadFile класы ReadFile файлында
class ReadFile
{
// файлды оқу үшін статикалық әдіс
public static void readTxtFile(String fileName) {

// try/catch блогы қажетті,өйткені файлды оқу нәтижесінде

// қателер болуы мүмкін
try {

// FileReader класына экземпляр құрамыз
FileReader tfr = new FileReader(fileName);
// 8Кб символды бір рет оқу үшін буфер жадында құрамыз

char[] buffer = new char[8096];

int chars = tfr.read(buffer);

// файлда символ бар кезде мәліметтерді оқимыз

// және консольға шығарамыз
while (chars != -1) {
System.out.println(String.valueOf(buffer, 0, chars));
chars = tfr.read(buffer);
}

// файлды жабамыз
tfr.close();

// отлавливаем исключение
} catch (IOException e) {
e.printStackTrace();
}

}

public static void main(String[] args) {
readTxtFile("C:/Documents/MyFile.txt");
}

}

// MyFile.txt файлын шығару
Бір, екі, үш

Тапсырмалар

1. Компьютерді (А.) дискісінде numbers.txt файлын құратын бағдарламаны жазу және оған пайдаланушы енгізген 5 бүтін сандарды жазады. Файл жасалған Norton Commander ішіне енгізілген мәтін редакторының көмегімен қараңыз. Әрбір сан бөлек жолда тұрғанына көз жеткізіңіз.

2. Пайдаланушы енгізген 5 бүтін сандар a:\numbers.txt файлына жазылатын бағдарламаны жазыңыз. Мәтін редакторының көмегімен файлда 10 сан бар екенін тексеріңіз.

3. a:\numbers.txt файл мазмұнын экранға шығаратын бағдарламаны жазу.

4. a:\numbers.txt файлындағы сандардың арифметикалық ортасын есептейтін бағдарлама жазу

5.Мәтіндік файлдарды көруге мүмкіндік беретін бағдарламаны жазу (файл мазмұнын экранға шығарады), мысалы, Turbo Pascal бастапқы бағдарламаларының файлдары. Көріп отырған файлдың аты бағдарлама кезінде көрсетілуі керек. Ұсынылған экран түрі төменде келтірілген.

 

Мәтіндік файлды көру

фФайлдың толық атын енгізіңіз және <Enter> басыңыз

 c: \tp\pas\numb.pas

 

6. a дискідегі phone.txt файлына қосып жазатын бағдарламаны жазу:, сіздің жолдасыңыздың аты-жөні мен телефон нөмірі. Егер дискідегі файл болмаса, бағдарлама оны жасауы керек. Файлда әрбір деректер элементі (аты, тегі, телефоны) бөлек жолда болуы керек. Жұмыс кезінде ұсынылатын экран түрі төменде келтірілген.

 

Телефон анықтамалығына қосу.

Фамилия  Сидоров

Аты  Вася

Телефон  234-84-37

Ақпарат қосылды.

Аяқтау үшін  <Enter>-ді басыңыз.

 

7. Бір жұмыс сеансында бірнеше адам туралы ақпаратты a: \phone.txt файлына қосуға болатын бағдарламаны жазу.

 

8. Телефон анықтамасында қажетті мәліметтерді табуға мүмкіндік беретін бағдарламаны жазу (a: \phone.txt.). Бағдарлама адамның тегін сұрап және оның телефонын шығару керек. Егер анықтамалықта бірдей тегі бар болса, онда бағдарлама осы тегі бар барлық адамдардың тізімін көрсетуі тиіс. бағдарлама кезінде ұсынылған экран түрі төменде келтірілген.

 

Телефон анықтамасында іздеу.

Тегін енгізіп, <Enter>түймесін басыңыз. Бағдарламамен жұмыс істеуді аяқтау үшін шақырғаннан кейін бірден <Enter>түймесін басыңыз.

Петров

Анықтамалығында Петров туралы деректер жоқ.

Иванов

Иванов Вася 578-12-45

Иванов Сергей 244-34-02

9. Телефон анықтамасына қосу және телефон анықтамасындағы іздеу бағдарламаларын біріктіретін бағдарламаны жазыңыз. Бағдарламаны іске қосқан кезде мәзір шығуы керек:

*** Телефон анықтамалығы ***

1. Қосу

2. Іздеу

3. Жұмысты аяқтау

Мәзір пунктінің нөмірін енгізіп, <Enter> басыңыз

10. Пайдаланушының қалауы бойынша дюймнен миллиметрге қайта есептеу кестесін экранға, принтерге немесе файлға шығаратын бағдарламаны жазыңыз. Төменде бағдарлама жұмыс істеп тұрған кезде ұсынылған экран түрі (пайдаланушы енгізген деректер жартылай қалың болып белгіленген).

*** дюймнен миллиметрге қайта есептеу кестесі***

Нәтиже шығарады:

1. –экранға;

2. –принтерге:

3. –файлға.

1 ден 3-ке дейінгі сан енгізіп, <Enter>-ді басыңыз

Сіздің таңдауыңыз → 2

Дюйм Миллиметр
0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 12.7 25.4 38.1 50.8 63.5 76.2 88.9 101.6 114.3 127.0

30.4 Бақылау сұрақтары

1.   Файлдың анықтамасын беріңіз?

2.   Файлдық айнымалыларды жариялау форматы қандай?

3. Сипаттау тәсілі бойынша файлдарды жіктелуі қандай?

4. Қатынау әдісіне байланысты файлдардың жіктелуі қандай?

5. Файлды оқуды қалай ұйымдастыру керек?

6. Файл жазуды қалай жүзеге асыруға болады?

7. Компилятордың қандай глобальды директивалары енгізу/шығару қателерін автоматты түрде тексеруді өшіруге (қосуға) мүмкіндік береді?

Әдебиеттер

1.Kendal S. Object Oriented Programming using Java / S. Kendal. – Toronto : Deloitte, 2009. – 216 с.

2.Weiss M.A. Data Structures and Algorithm Analysis in Java / M. A. Weiss, A. K. Bhattacharjee, S. Mukherjee. – 3nd ed. – Edinburgh : Pearson Education Limited, 2012. – 632 с.

3.Маханова З.А. «Java-бағдарламалау тілі» :оқу құралы / З.А.Маханова.- Шымкент : ОҚМУ, 2017ж. -160б.

4. Павловская, Т.А. С/С++ жоғарғы деңгейлі тілде программалау :оқулық / Т. А. Павловская. – Алматы : ЖШС РПБК Дәуiр, 2012. – 504 с. – (ҚР бiлiм және ғылым министр.)

5. Қалдарханова, С.М. Java, PHP бағдарламалау тілдері : 5В070400- Есептеу техникасы жрне бағдарламамен қамтамасыз ету маманд. Бойынша оқитын студ. Зертханалық жұмыстарды орындауға арналған әдістемелік нұсқау / С. М. Қалдарханова, А. Т. Алимбекова, Ұ. Е. Кенжебаева. – Шымкент : 0ҚМУ, 2013. – 103 с.

6. Маханова, З.А. «Java-дағы таралымды жүйлер» пәнінен зертханалық практикум 5В070300 «Ақпараттық жүйлер» мамандыєыныѕ студ. үшін арналады / З. А. Маханова, Є. Ж. Ельбергенова. – Шымкент : ОҚМУ, 2013. – 60 с.

7.Ибрагимов, О.М. Web – баєдарламалау: JavaScript тілі :оқу қуралы / О. М. Ибрагимов. – Шымкент : 0ҚМУ, 2014. – 128 с.

8.Маханова, З.А. Java бағдарламалау тілі :оқу құралы 5В070300- "Ақпараттық жүйелер" мамандығының студенттері үшін / З. А. Маханова. - Версия . - Шымкент : ОҚМУ, 2017 -o=эл. опт. диск (CD-ROM) Экземпляры: всего:1 - КЦ(1)

9.Кемельбекова, Ж.С.Бағдарламалау тілдері және технологиялары : оқу құралы: жоғарғы оқу орындарындағы техникалық бағытта білім алып жатқан студенттерге арналған / Ж. С. Кемельбекова . - Версия . - Шымкент : ОҚМУ, 2018 o=эл. опт. диск (CD-ROM)

10. Питер Вейнер Языки программирования Java и JavaScript, ЛОРИ, 1998, 220с

11. Инков А.М. Технологии программирования : конспект лекций / А. М. Инков ; ЮКГУ им. М. Ауезова. – Шымкент : ЮКГУ, 2007,96с

12.Ахметова С. Бағдарламалау технологиясы : лекция жинағы/ С. Ахметова; ЮКГУ. –Шымкент: Compact Disc Recordable, 2007 эл. Опт. Диск (CD-ROM)

13. Д. Вебер, Технология Java в подлиннике: Пер. с англ.-СПб.: БХВ-Петербург, 2000-320с.

14. Дейтел Х.М., Дейтел П.Д., Сантри С.И. «Технологии программирования на Java», 2003-380с

15. Родли Д. Создание JAVA-апплетов :Пер.с англ. / Родли Д. – Киев : НИПФ»Диа Софт Лтд», 1996. – 384 с

16. Флэнэген Д. Javaina Nu+shell :Пер.с англ. / Флэнэген Д. – Киев : Изд.группа BHV, 1998. – 720 с

17.Daum B. Professional Eclipse 3 for Java Developers / B. Daum. – Chichester : John Wiley & Sons, Ltd, 2005. – 575 с.

18.Poo D. Object-Oriented Programming and Java / D. Poo, D. Kiong, S. Ashok. – 2nd ed. – London : Springer-Verlag, 2008. – 322 с.

19. Лаптев В.В. С++. Экспресс –курс. Спб.:БХВ-Петербург,2004.-512с.

20. Культин, Н.Б. С/С++ в задачах и примерах / Н. Б. Культин. – СПб. : БХВ-Петербург, 2005. – 288 с. : ил. – (Для начинающих программистов)

 

Маханова З.А., Ельбергенова Ғ.Ж.

 

 «Java бағдарламалау тілі» пәнiнен зертханалық практикум

 

 

Баспаға жіберілді.

Типографиялық қағаз. Қағаз пішімі 3,25

Офсеттік басылым. Көлемі 5 б.п.

Таралымы ___ дана. Тапсырыс №__

 

© М.Әуезов атындағы Оңтүстік Қазақстан мемлекеттік университеті,2013ж.

 

 

  © М.Әуезов атындағы ОҚМУ баспа орталығы, Шымкент қ., Тауке хан даңғылы, 5

 

 

 


Дата добавления: 2021-01-21; просмотров: 787; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!