• Преподавателю
  • Информатика
  • № 1 зертханалық жүмыс Тақырыбы: Енгізу-шығаруды үйымдастыру. Берілгендердің стандартты типтерімен жұмыс

№ 1 зертханалық жүмыс Тақырыбы: Енгізу-шығаруды үйымдастыру. Берілгендердің стандартты типтерімен жұмыс

Раздел Информатика
Класс 12 класс
Тип Другие методич. материалы
Автор
Дата
Формат docx
Изображения Есть
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

№ 1 зертханалық жүмыс

Тақырыбы: Енгізу-шығаруды үйымдастыру. Берілгендердің стандартты типтерімен жұмыс

Жүмыстың мақсаты:

1. PASCAL тілінде бағдарламаның жазылу қүрылы- сын үйрену.

2. Берілгендердің стандартты типтерін енгізу-шыға- руды үйымдастыру.

3. Диалогты режимде жүмыс істеуге машьщтандыру.

Есептің берілуі:

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

Әдістемелік нүсңау.

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

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

Диалогты режимде жүмыс істеу үшін енгізу операторы- ның алдында экранға шығару операторын пайдалану керек.

Мысалы: WRITELN («Бүтін K,L,M сандарын енгізу»).

Берілгендерді екі түрлі әдіспен баспаға шығаруға болады.

А - стандартты формада

Б - көрсетілген немесе берілген форматта.

Мысал багдарлама:

Берілгендер: К= -73,L=12, М=21425, Х= -4192,21, Y=21,345, Sl= '*', S2='V", S3='F' PROGRAM INOUT (INPUT, OUTPUT); CONST LOG=TRUE;

VAR K, L, M: INTEGER; X,Y:REAL; S1,S2,S3:CHAR; BEGIN

WRITELN ('Бүтін К, L, M сандарын енгізу'); READ (К, L, M);

WRITELN (' ':30, 'Бүтін сандар'); WRITELN(" ':15, 'Стандартты формат',' ':12, 'Берілген формат');

WRITELN(",K,L,M":5,'K=',K:3,'L=',L:2,'M=',M:5); WRITELN;

WRITELN ('Бөлшек сандарды енгіз:'); READLN (X, Y);

WRITELN (' ':5,'Стандартты формат',' ':18,'Берілген формат');

WRITELN (' ':5,X,Y',':10,'X=',X:8:2,'Y=',Y:6:3); WRITELN;

WRITELN('Символдарды S1,S2,S3 енгіз'); READLN (S1,S2,S3);WRITELN(":20,'Сиволдық afiHbu\«uibLnapbi:YSl=\Sl,'S2=',S2,'S3=\S3);

WRITELN('Cимвoлдық айнымалыларды баспаға 6epy',Sl:5,S2:5,S3:5);

WRITELN('Лoгикaлық айнымалы='.^); WRITELN(' ':35,'Бағдарламаны орындаған Байсалов Елдос') END

Багдарлама жұмысының протоколы

Бүтін K,L,M сандарын енгіз: -73 12 21425 Бүтін сандар

Стандартты формат Берілген формат

-73 12 21425 К= -73 L=12 М=21425

Бөлшек сандарды енгіз: -4192,21 21,345

Стандартты формат Берілген формат

-4Д92210Е+03 27134500Е+01 Х=-4192,21 Ү=21,345 Символдарды S1,S2,S3 енгіз: *VF

Символдық айнымалылар: * V Ғ Логикалық айнымалы= TRUE Бағдарламаны орындаған Байсалов Елдос Тапсырма варианттары

Вариант номері

Саны

Стандартты

Берілген форматы

Саны

Стандартты

Берілген форматы

Нүктеден кейінгі

Символдар саны

Логик алық айнымалының мөнін шығару

1

2

+

5

4

+

6

2

4

TRUE

2

3

+

6

2

+

7

3

5

FALSE

3

3

+

6

2

+

6

3

3

TRUE

4

2

+

5

4

+

6

2

6

TRUE

5

4

+

4

3

+

7

4

4

FALSE

6

2

+

3

3

+

5

1

3

TRUE

7

3

+

2

4

+

8

3

2

TRUE

8

3

+

5

4

+

6

2

5

FALSE

9

4

+

7

3

+

5

1

6

FALSE

10

2

+

6

5

+

8

4

7

TRUE

11

2

+

6

5

+

6

2

6

TRUE

12

3

+

4

6

+

6

2

5

FALSE

13

3

+

4

6

+

5

2

4

FALSE

14

3

+

2

4

+

5

2

3

TRUE

15

4

+

5

5

+

7

3

4

TRUE

16

2

+

7

2

+

7

4

2

FALSE

17

2

+

8

4

+

4

1

4

TRUE

18

3

+

6

4

+

6

2

4

FALSE

19

3

+

6

5

+

0

2

3

FALSE

20

3

+

4

5

+

7

3

3

TRUE


№ 2 зертханалық жүмыс

Тақырыбы: Арифметикалық өрнекті есептеу

Жүмыстың мақсаты: Стандартты функцияны пайдаланып, сызықтық алгоритмге бағдарлама қүру. Арифметика- лык; өрнектерді PASCAL тілінде дүрыс жазуды меңгеру.

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

1. Мәтіндік файлдармен жүмыс істеу негіздерін мең- геру.

2. TURBO PASCAL ортасында жүмыс істеуді меңгеру.

3. Есептеу амалдарын багдарламалау.

Жүмыстың негізгі мақсатында төмендегідей іс-әре- кеттерді меңгеру:

1. Мөтіндік редактор командаларын меңгеру.

2. Багдарламаны трансляциялау.

3. Багдарламаны орындауга жіберу.

4. Айнымалы және түраңтылар мәндерін аньщтау.

5. Real типті берілгендердің форматтары.

6. Арифметикалың өрнектердің нәтижелерін көру.

Тапсырма

Меншіктеу операторын пайдаланып, арифметикалық өрнекті есептейтін багдарлама қүр. Багдарлама төменде- гідей шарттарды қанагаттандыруы қажет:

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

2. Айнымалылардың алгашқы мәндерін беру

3. Арифметикалық өрнекті үш түрлі тәсілмен:

а) аралык айнымалыларды пайдаланып;

ә) бір гана өрнекпен;

б) WRITE операторының өрнекті есептеу мүмкіндігін пайдаланып есептеу.

4. Аралык және нөтижелік мәндерді экранга шыгару.

5. Багдарлама мөтінін TURBO PASCAL ортасында бас- пага шыгару.

6. Бағдарлама нәтижесін баспаға Shift + Print Screen арқылы алу.

Бағдарлама үлгісі

Берілген функцияның мәнін есептеу.

№ 1 зертханалық жүмыс Тақырыбы: Енгізу-шығаруды үйымдастыру. Берілгендердің стандартты типтерімен жұмыс

Бағдарлама листингісі.

Program LR1; Const х = 0.8; VAR C,Z,A, В : REAL; BEGIN

WRITELN (# 10 # 13, 'Берілгендер: '); WRITELN ('X = X : 10); С : = 0.71; WRITELN (c=\ с : 10); WRITELN (' Аралық нөтижелер :'); 1 - тәсіл A: = LN (SQR (x)+c); WRITE ('A=\ A : 12); B: = 112.37*A; WRITE ('B=\ B: 12); Z: = B/3;

WRITELN (Аралықайнымальиіарбойынша: Z=', Z: 12); Z: = (112.37*LN(SQR(x)+c))/3; 2 - тәсіл WRITELN ('Нәтижені бір өрнекпен шығару:'); WRITELN(' 'іб,'Z=( 112.37*ln(SQR)(X)+C))/3=1, Z: 12); WRITELN

('WRITELN операторын пайдалану'); WRITELN

Сю' : 41, 'Ъ=\ (112.37*ln(SQR(x)+c)) /3 : 12); END. {бағдарлама соңы}

Тапсырмалар нұсқалары

№ 1 зертханалық жүмыс Тақырыбы: Енгізу-шығаруды үйымдастыру. Берілгендердің стандартты типтерімен жұмыс

№ 1 зертханалық жүмыс Тақырыбы: Енгізу-шығаруды үйымдастыру. Берілгендердің стандартты типтерімен жұмыс

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

  1. Трансляция дегеніміз не?

  2. Бағдарламаны өңдеу кезеңдерін атаңыз?

№ 1 зертханалық жүмыс Тақырыбы: Енгізу-шығаруды үйымдастыру. Берілгендердің стандартты типтерімен жұмыс

  1. Program операторының қызметі қандай?

  2. Түрақты және айнымалылар қалай сипатталады?

  3. REAL типті мәндердің формаутары ңалай жазылады?

  4. Меншіктеу операторы және онын, жазылу форматы?

  5. Өрнектің қандай түрлерін білесіз?

  6. Өрнек қандай элементтерден қүралады?

  7. Өрнектің орындалу ережесі қандай?

  8. Арифметикалық амалдарды кему ретімен атаңыз?

  9. WRITE операторының қүрылымы және атқаратын қызметі қандай?

  10. WRITE операторыньщ элементіне нелер жатады?

  11. RASCAL ортасында бағдарламаның мәтінін қалай бас- падан шығарады?

  12. Бағдарлама нәтижесін баспадан қалай алуға болады?

№ 3 зертханалық жүмыс

Тақырыбы: Шартты және таңцау операторларын пайдаланып багдарлама қүру.

Жүмыстың мақсаты:

1. Бағдарламада шартты операторды пайдаланып үйрену

2. Шартты оператор пайдаланатын есептермен танысу Есептің берілуі

Теңдеуді шешетін бағдарламаны қүру (теңдеулер жүйесі, теңсіздік, теңсіздіктер жүйесі). Әдістемелік нүсқаулар

1. Бағдарлама алғашқы берілгендердің кез келген мәндерінде дүрыс орындалу керек.

2. Бағдарламаның дүрыстығын растайтын тест жа- уап болу керек.

3. Шешімі жоқ болса, онда сәйкес мәтіні экранға шы- ғару керек.

Мысалы, «Теңсіздіктің шешімі жоң» немесе «х-тің барлық мәнінде шешім болады», т.с.с. Program uslov2; {ЗОнүсңа: a * b/4, егер b > a X = -55, егер b = a

(b - 5)/a, erep b < a}

Uses CRT; Const

іпу1='Қайталап енгізу'; іпу2='Нөлге болу іс-өрекеті!!!!!!! '; іпуЗ='Нәтиже ';

ту4='[-32768..32767]!!!!диапазонынан шықпасын';

іпу5='Енгізетін мән ';

invA='A';

invB='B';

Label LI;

var

a,b,x : Integer; ch : Char;

function F (a,b:Integer; Var x:Integer) : Boolean;

Var xl : Real; si : String; Begin F:=True;

if b>a then xl :=b/4.0*a else if b=a then xl:=-55 else if a=0 then Begin

sl:=inv2+invl;

Writeln(sl);

F:=False;

Exit;

End

else xl:=(b-5.0)/a;

if (xl>=-32768)and(xl<=32767) then x:=trunc(xl)

else

Begin

sl:=inv3+inv4;

Writeln(sl);

Writeln(xl);

Writeln(invl);

F:=False;

Exit;

End

End;

Procedure Input(Var A:integer; inv:String);

Label L;

Var aL :Real;

si : String;

Begin

L:

Write('MoHiH енгізіңіз *+inv,'===>'); Readln(aL);

if (aL>=-32768)and(aL<=32767) then A:=trunc(aL)

else

Begin

sl:=inv5+inv4;

Writeln(sl);

Writeln(invl);

goto L;

End

End

{Негізгі бағдарлама} begin Repeat ClrScr;

WritelnC 30 нұсқа'); Writeln(' a*b/4, erep b > a'); WritelnC X = -55, erep b = a'); WritelnC (b - 5)/a, erep b < a'); Writeln; LI:

Input(b,invB); Input(a,invA);

if F(a,b,x) then Writeln ('x=',x) else goto LI; Writeln('Tafbi? (y/n)'); ch:=ReadKey; Until (ch='n ) or (ch='N');

end

Тапсырма нүсқалары

№ 1 зертханалық жүмыс Тақырыбы: Енгізу-шығаруды үйымдастыру. Берілгендердің стандартты типтерімен жұмыс

№ 1 зертханалық жүмыс Тақырыбы: Енгізу-шығаруды үйымдастыру. Берілгендердің стандартты типтерімен жұмыс

№ 1 зертханалық жүмыс Тақырыбы: Енгізу-шығаруды үйымдастыру. Берілгендердің стандартты типтерімен жұмыс

№ 1 зертханалық жүмыс Тақырыбы: Енгізу-шығаруды үйымдастыру. Берілгендердің стандартты типтерімен жұмыс

№ 4 зертханалық жүмыс

Тақырыбы: Тандау операторын пайдаланып багдарлама қүру

Жүмыстың мақсаты: SELECT CASE, GOTO операторы- мен жете танысып, оларды багдарлама жазуда пайдалану.

Жүмыстың орындалу тәртібі:

1. Берілген тақырыпты теориялық материалдардан окып-үйрену.

2. Жүмыстың өдістемелік нүсңауларымен танысу.

3. Блок-сызбасын жене бағдарламасын қүру, ЭЕМ-дан нөтижесін алу.

4. Баңылау сүрақтарына жауап беру.

5. Жаттыгуларды талдау.

6. Орындалған жүмыс туралы жазбаша есеп беру.

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

1. Таңдау операторында қай жағдайды таңдайтыны- мызды өзіміз көрсетуіміз керек. Таңдаудың шартты операторы if-тен негізгі айырмашылығы осында. Тапсырма- ны Goto, IF, SELECT операторларын пайдаланып орын- дау ңажет.

2. Бағдарламаны блок-сызбамен салыстырып тексеріп алу керек.

3. «Сабақ кестесі» бағдарламасын талдау арқылы бе- рілген тапсырманы орындау ңажет.

Жаттыгу 1. Мысал: Сабаң кестесі бағдарламасы. { «Сабақ гсестесі»}

Program sabak;

Label М;

Var n:integer;

begin

M: Writeln(' «Қай күнгі кестені көргіңіз келеді»');

readln N;

SELECT CASE N

CASE 1: WRITElnfl. OBT');

WRITEln('2. Физ-ра');

WRITEln('3. Бағдарламалау тілі');

CASE 2:

CASE 6:

END CASE

If N < = 6 then Goto M

END

Жаттыгу 2

Тест бағдарламасын қүру. Тест сүрақтары қайталан- бау керек. Сүрақтар саны бесеу жөне жауаптар саны үшеу болсын. Сүрақтарға жауап беріп болған соң, экранға дүрыс жауаптар саны және соған сәйкес ңойылатын ба- ғаны щығару керек.

Жаттыгу 3

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

«Жауабыңыз дүрыс» немесе «дүрыс емес», «келесі сүраққа көшіңіз» деген сөздерді көмекші бағдарлама ар- қылы экранға шығарыңыз.

№5 зертханалық жүмыс

Тақырыбы: Тармақталу алгоритмін диалог режимін- де жүмыс істеуде қолдану

Жүмыстың мақсаты:

1) Бүтін және жолдың типтен айнымалыларды сипаттау.

2) Бүтін және жолдық типті мәндерді енгізу үшін пер- нетаңтадан READ операторын пайдалануы.

3) Енгізілген мәндерді кору терезесіне шығару.

4) WRITE операторын бүтін және жолдың типті мөндерді экранға шығару үшін ңолдану.

5) IF операторын меңгеру.

Тапсырма

Төмендегі шарттарды қанағаттандыратындай бағдар- лама ңүру керек.

1) INTEGER және STRING типті айнымалыларды си- паттау.

2) Экранға мәтіндік жол түрінде сүрақ шығару.

3) Сүраңқа жауапты пернетақтадан жолдық мәтін түрінде беру.

4) Сүраққа жауапты пернетақтадан бүтін сан түрінде енгізу.

5) Енгізілген мәндерді экранға шығару

6) Анализ жасау. Бағдарлама листингісі Program LR2;

Var Name : string Let: integer Begin

writeln (# 10 #13, 'Сәлеметсіз бе!', # 10 #13 'Сіздің есіміңіздің кім екенін айтпас па екенсіз?' Readin (Name):

writeln ('Ax - Name, ' - ңандай әдемі есім!'); writeln ( 'Сіздің жасыңыз нешеде, егер айып болма- са?.. ');

Readin (let): If let < 20 then

writeln ( 'O ! ', let, '- сүйкімді жастық шақ! ..', # 10 #13,

'Келесі көріскенше! Танысқаныма өте қуанышты- мын!" ) else

if let < 50 then writeln ( 'Иә ! -', ' let, ' - бүл енді ойла- натын жай .')

else Writeln ('Иә, олай болса, жәнө let, 'өмірде өлі талай ңызық бар !'); Readin; End

Блок-сызбасы

№ 1 зертханалық жүмыс Тақырыбы: Енгізу-шығаруды үйымдастыру. Берілгендердің стандартты типтерімен жұмыс

Бақылау сүрақтары және жаттығулар

1. Қандай жағдайларда шартты оператор пайдаланыла- ды?

4. Шартты оператордың жазылуының қандай түрлерін білесіңдер. Олардың мағына жағынан ерекшелігі неде?

5. Операторлық жақша қай жағдайда пайдаланылады?

6. Қай жағдайларда оператор соңына «;» қойылады, ал қай жағдайда қойылмайды?

7. Шартты операторға мысалдар келтіріңдер?

8. Шартты операторды пайдаланып,

у=1/(х- 1)+1/(х-2) мөнін есептеуге бағдарлама қүрыңдар?

9. Төмендегі функциялардың мәндерін есептеуге бағдар- лама қүрыцдар:

а) у= Гх2, егер - 2 < х < 2

1 4, қалған жағдайлар үшін

ө) у = Jcos2x, erep 0 J х < 2

[l + sin2x, ңалған жағдайлар үшін

Үш санның ішінен үлкенін табуға багдарлама қүрыңдар.

10. Мына бағдарламада анықталған функцияның гра- фигін сызывдар:

IF SQR (х) > 2 THEN BEGIN IF х > 2 THEN

у:= х*х*х ELSE у:= 8 end else у:= 8*SQR(x)

11. Төмендегі графиктер бойынша функция мөндерін есептеуге багдарлама қүрьщдар (4.1-сурет).

№ 1 зертханалық жүмыс Тақырыбы: Енгізу-шығаруды үйымдастыру. Берілгендердің стандартты типтерімен жұмыс

12. Берілген нақты х аргументі үшін төмендегі функция лардың мәндерін есептеуге арналған бағдарламалар жазың дар:

№ 1 зертханалық жүмыс Тақырыбы: Енгізу-шығаруды үйымдастыру. Берілгендердің стандартты типтерімен жұмыс

№ 7 зертханалық жүмыс

Тақырыбы: Символдың ақпаратты өңдеу

Жүмыстың мақсаты:

1. Қайталау операторын пайдаланып уйрену.

2. Символдың ақпаратмен жүмыс.

3. Кез келген санды ондьщ есептеу жүйесіне ауыстыру. Есептің берілуі

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

Төмендегі бағдарламада үш символды 16-лың есептеу жүйесі көрсетілген. Ондық есептеу жүйесіне ауыстыру және баспаға беру. Мысал бағдарлама: Program сс (input,output); Var S:char; M: integer; Begin

Readln; WRITE('->'); M:-0; For i:=l to 3 do Begin read(S); Write(S);

If (S>-'0') and (S>='9') then

M:=M ■ 164-ord (S) - ord ('O')Else M:-M • 16+ord (S) - ord ('A')+10 End; Writeln;

WritelnCОндық санау жүйесінде-',M:5) End

СС бағдарламасы жүмысының протоколы =4« FFF FFF

Ондьщ санау жүйесінде = 4095

Тапсырма нүсқалары

Нүсқя нөмірі

Р

М

Нұсқа номірі

Р

М

1

3

11

3

6

3

12

10

2

5

8

4

7

3

11

11

3

6

7

5

8

4

9

7

4

8

Ө

8

9

5

2

2

5

9

4

9

10

3

13

9

№9 зертханалық жұмыс

Тақырыбы: Көп өлшемді массивтермен жүмыс Жүмыстың мақсаты: Нақты сандардан түратын көп өлшемді массивтерді өңдеп, көрсетілген нүсқа бойынша орындау керек.

Бағдарламада массив элементтерін енгізу-шығаруды процедуралар арқылы орындау ңажет. 1-тапсырма

1) NN өлшемді квадрат матрица берілген (п<=10). Матрицаның теріс элементтерінің қосындысын және

көбейтіндісін тап.

2) Матрица бағандары элементтерінің ңосындысын тап. Төменде тапсьірманың бірінші бөлімінің блок-сызба-

сы, ал екінші бөлімінде бағдарламасы көрсетілген.

№ 1 зертханалық жүмыс Тақырыбы: Енгізу-шығаруды үйымдастыру. Берілгендердің стандартты типтерімен жұмыс

№ 1 зертханалық жүмыс Тақырыбы: Енгізу-шығаруды үйымдастыру. Берілгендердің стандартты типтерімен жұмыс

№ 1 зертханалық жүмыс Тақырыбы: Енгізу-шығаруды үйымдастыру. Берілгендердің стандартты типтерімен жұмыс

№ 1 зертханалық жүмыс Тақырыбы: Енгізу-шығаруды үйымдастыру. Берілгендердің стандартты типтерімен жұмыс

№ 1 зертханалық жүмыс Тақырыбы: Енгізу-шығаруды үйымдастыру. Берілгендердің стандартты типтерімен жұмыс

Тапсырманың бағдарламасы:

Program W4; Uses CRT; Const N=10;

Type ArrayA=array [1..N.1..N] of real; Var к:integer; A: ArrayA; ch : char;

Procedure InputN(Var k:integer);

Begin Repeat

Write(' N=====> ); Readln(k);

Until (k<=N) and (k>l); End

Procedure InputMatrix(k:integer;Var A:arrayA);

Var i,j:integer; Begin

for i:=l to к do for j:=l to к do Begin

Write(A[',i,\\ ],']=====>');

Readln(A[i,j]);

End;

End

Procedure OutputMatrix(k:integer; A:arrayA);

Var i,j:integer; Begin

WritelnC - алғашңы матрица -');

for i:=l to к do Begin

for j:=l to к do

Write(A[i,j]:7:2,' ');

Writeln;

End;

End

Procedure Evaluate(k:integer; A:arrayA);

Var i,j:integer; stolb:array [1..N] of real; sr:real; Begin

for j:=l to к do

Begin

sr:=0;

for i:=l to к do sr:=sr+A[i,j]; Stolb[j]:=sr/k; End;

Writeln(' - Әр бағанның арифметикалың ортасы -

for j:=l to k do

Writeln ('Баған [',j,']= ',Stolb[j]:7:2); End

{Басты багдарлама} Begin

Repeat

ClrScr;

InputN(k);

InputMatrix(k,A);

ClrScr;

OutputMatrix(k,A); Evaluate(k,A);

Writeln('Қaйтaлaйcыз 6a? (y/n)');

ch:=ReadKey;

Until (ch='n') or (ch='N');

End

Орындалу нәтижесі

N=====>3

- алғашқы матрица

1111.00 2222.00 3333.00 1111.00 2222.00 3333.00 1111.0 2222.00 3333.00

- Әр бағанның арифметикальщ ортасы -

Баған [1]= 1111.00

1,00 2,00 3,00 4,00

- Әр бағанның арифметикальщ ортасы

Баған [1]= 2,00 Баған [2]= 3,00

N=====>4

- алғашқы матрица

111222.00 222333.00 333444.00 444555.00 555.00 555666.00 666777.00 777888.00 888999.00 999.00 111999.00 222888.00 333777.00 444666.00 555555.00 123456.00

- Әр бағанның арифметикалың ортасы

Баған [1]= 333638,25 Баған [2]= 305916,00 Баған[3]= 416943,75 Баған [4]= 392196,75

Тапсырма нүсқалары:

1. М (N * М) өлшемді (N <= 10) матрица берілген эле- менттері наңты сан болып келеді. Матрицаның негізгі диагоналіне дейінгі барлың элементтерін нөлмен алмас- тыру керек.

2. Матрицаның негізгі диагоналінен кейінгі барлың элементтерін нөлмен алмастыру керек.

3. Матрицаның ең үлкен элементін модулі бойынша тауып алып, осы элементті матрицаға көбейту арңылы жаңа матрица алу керек.

4. Матрицаның модулі бойынша ең үлкен элементін, осы матрица элементтеріне қосу арқылы, жаца матрица алыңыз.

5. Әрбір жолдағы теріс элементтерді тауып, оларды экранға шығару керек.

6. Әрбір жолдағы теріс элементтерді тауып, оларды экранға шығару керек.

7. Матрицаның әрбір жолыныц элементтерін қосу ар- ңылы жаңа вектор алу керек жөне осы жол элементтерінің ңосындысының арифметикалық ортасын табу керек.

8. Матрицаның бағандарының элементтерін ңосу ар- қылы жаңа вектор алу керек және осы баған элемент- терінің қосындысының арифметикалық ортасын табу керек.

9. Матрицаның әрбір жолының ең үлкен жөне ең кіші элементтерінің айырмасынан вектор қүру керек.

10. Матри даның бағандарының ең үл кен жөне ең кіші элементтерінің айырмасынан вектор қүру керек.

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

1. Массивті пайдаланатын бағдарламалардың ерекше- ліктері ңандай?

2. Массивті бейнелеу үшін қандай операторды пайда- ланамыз?

3. Массивті өндегенде циклді үйымдастыру ерекшелігі неден түрады?

6.2. Сызықтық тендеулер жүйесін Жордан-Гаусс тәсілімен шешу

Есептің цойылуы. п белгісізі бар п сызықтың теңдеу- лер жүйесі берілген:

№ 1 зертханалық жүмыс Тақырыбы: Енгізу-шығаруды үйымдастыру. Берілгендердің стандартты типтерімен жұмыс

мүндағы f - функция аты, q,- формальді параметрлер аттары, Т - функция атының типі, Т.- параметрлер типі, Р. - функция денесінің операторы.

Функцияны шақыру меншіктеу операторыныц оң жағында жазылады, бүл кезде функция аты жөне жақ- шаішінде -f(b, ,b2.. .),(Ь-параметрлер) түріндегі аның параметрлер жазылады.

1-мысал: кобейту таблицасын есептеу бағдарламасы Program kobeitu;

Procedure kobeit; Var k,p : integer ; Begin

For k:=l to 10 do Begin

For p:=l to 5 do write (p:2,'x',k:2,'==p*k:3,' ');

Writeln;

End;

Writeln;

For k:=l to 10 do Begin

Forp:=6 to 10 do write(p:2, 'x', k:2,'=',p*k:3,' ');

Writeln;

End;

End;{Ke6efrry таблицасы процедурасы}

begin

kobeit;

END

2-мысал: бақылау функциясы Program kl;

FUNCTION Kontrol (St:String):boolean;

Var K,P:byte;

Begin

Kontrol:=True;

If (lenght(St)=4)And (St[l]<>'0') then Begin

For k:=l to 4 do For p:=k+l to 4 do If st[k]=st[p] then kontrol:=false; End; {if}

Else kontrol:=false; End; {function kontrol} Begin {негізгі блок} Writeln(kontrol( '123')); Writeln(kontrol('03 74)); Writeln(kontrol(' 1231')); WriteIn(kontrol( '3451')); End.

3-мысал бағдарламасы Program esep(INPUT,OUTPUT); Var S:integer;

Function y(a,n:integer):longint;

Var k:integer;

Begin

S:=l;

For k:=l to n do s:=s*a;

Y:=s;

End;

Function top(s:integer):integer;

Var t:integer;

Begin

T:=0;

While s<>0 do Begin

T:=t+s mod 10; S:=s div 10; End; Begin

S:=30; writeln(y(3.5));

Writeln(top(s));

End

№ 10 зертханалық жұмыс

Тақырыбы: Көмекші бағдарламаларды пайдалану

Жұмыстың мақсаты: Алгоритмдеу дағдыларын мең- гере отырып, пайдаланушылардың әр түрлі түрдегі көмекші бағдарламасын пайдалана отырып бағдарлама- лау. Көмекші бағдарламаларды жазуға және оларды ша- қыра білуге үйрету.

Білім алушыларға қойылатын талаптар:

1. Білуі керек:

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

а) Көмекші бағдарламаларға параметрді жіберу үл гісін, ә) Көмекші бағдарламаларды пайдалану тәртібін.

2. Тапсырманың алгоритмін жазу.

3. Есепті шешудің бағдарламасын қүру.

1. ЭЕМ-да көмекші бағдарлама-функциясын пайда- лана отырып есептер шығару

7.1-кестпе

к<

Есептің шарты

тапсырма

1

Квадраттық теңдеулердің үлкен түбірлерін табу: x2-ax+b=0 cy2-dx-f=0

Барлың түбірлері нақты

2

Радиусы r-ге, центрі координатанық бас нүктесінде орналасқан дөңгелектіқ ішінде жататын нүктелерді санау, координаталары х(100), у(100)массивтерімен берілген.

Координатаның бас нүктесінен нүктеге дейігі арақашықтықты көмкекші бағдарламада есептеу

3

Төбелерініқ координаталары ха(5), xb(5), хс(5) және уа(5), yb(j), ус(5)-деп берілген үшбүрыштық периметрлерін анықтау.

Үшбүрыштың қабырғасының үзындығын көмекші бағдарламада есептеу

4

Центрі(1.1) - нүктесінде жатқан, радиусы r-ге тең шеңбердіқ ішінде жатқан нүктелер санын анықтау, координаталары х(80), у(80) массивімен берілген

Шеңбер центрінен нүктеге дейінгі арақашықтықтан көмекші

бағдарламада есептеу

5

Z=(vi+v2+v3)/3 өрнегін есептеу. Мүндағы, Vi,V2,V3 - радиусы гі,Г2,гз- болатын шардың колемі.

Vi,V2,Vs-fli көмекші бағдарламада есептеу

6

X(n),y(m),z(k)- массивтерінің оң элементтерініқ қосындысын есептеу.

N<60 М<60 К<70

7

A(nl),b(n2),c(n3)- массивтерініқ оң элементтерінің арифметикалық ортасын есептеу

NK100 N2< 100 N<100

8

Х( 10,15) жөне у(20,12)матрицасының 0g< 1 жөне 0<уи<1шарттарын қанагаттандыратын элементтерін санау.

9

А(10,12) және в(15,10) матрицасының әрбір қатарынық оқ элементтерініқ қосындысын есептеу.

10

Z=(xnii+Xm2)/2 өрнегін есептеу, мүндағы хв,і жоне x",z-Xl(70) жөне х2(80) массивтерінің еқ кіші элементтері

11

А(п,п) Ь(пі,ш)матрицаларынық басты диагональ элементтерініқ қосындысын есептеу.

М<20 N<30

12

Z=(Si+S2)/2 орнегін есептеу, мүндағы srx(50) массивтің оң элементтерініқ қосындысына, ал S2-y(60) массивінің теріс элементтерінің қосындысына тең.

Екі қосындыны да бір көмекші

бағдарламада есептеу

13

A(n,m) және Ь(ш,п) массивтерінід 0-ге тең элементтерініқ санын есптеу

М<20 N<20

14

А(15,15) жөне в(20,20) матрицасынық бас диагоналініқ төменгі бөлігіндегі элементтерінің қосындысын есептеу

15

Х(40), у(50), 2(п)-массивтерінің алгашқы теріс элементіне дейінгі оң элементтерінің санын есептеу

N<50

2. ЭЕМ-да көмекші бағдарлама-процедураны пайда- лана отырып, 8.1-кестесінде көрсетілген есепті шығару

7.2-кесте

Есептің шарты

Тапсырма

1

Z=(si+s2)/ki*k2 өрнегін есептеу, мүндагы Si.kr х(п) массивінід оң элементерінін саны жоне олардың қосындысы, ал s2, k2-y(m) массивінің оң элементтерінің саны жөне олардың қосындысы

М<50 N<100

2

Z-(е"+е^)/(кі*к2) орнегін есептеу, мүндағы Si, кі-х(100) массивінің оң элементерінің саны жөне олардың қосындысы, ал sz, кг-у(80) масивінің оң элементтерінің саны және олардың қосындысы.

Екі қосындыны да бір комекші бағдарламада есептеу

3

А(10,20), Ь(15,10) матрицаларының ербір ңатарындағы оң элементтерінін қосындысын есте сақтау жоне шыгарү

4

Z=(xi+yi)/(x2-ya) врнегін есептеу, мүндагы хі, хг-2х2+х-4-0 теңдеуінің, ал уі, уг-а>г+2у-1=0 теңдеуінің түбірі

Барлық түбірлері нақты

5

Х(п) және у(т)массивтерініңең үлкен элементтерін жөне олардың реттік номерлерін шыгиру

N<80 М<70

6

х(100) жөне у(80) массивтерінің оң элементтерін z массивіне көшіріп жазу

Z массивін комекші багдарламада жазу

7

А(10,15)жөне в(15,12) матрицалары үшін ең үлкен элементін табу жөне олардың орналасқан қатары мен баганасын табу

8

N(5,8) және ш(10,6) бүтін санды мятрицаларының үшке қысқаратын элементтерін баспага шығару

9

Vsin.v + Vcosy, г - орнегін есептеу, мүндағы Хі және Уі массивінен берілген

Барлық қосындыларды көмекші багдарламада есептеу

10

Z=(Xnmx-y»ii»)/2 өрнегін есептеу, мүндагы, х"- х(50) массивінің ең үлкен элементі, у,пш-у(40) массивінің ең кіші элементі

Xnun,Уmin өрнегін бір көмекші багдарламада есептеу

11

А(10,10)жөне в(15,20) матрицаларының өрбір бағанындагы теріс элементтер санын есептеу

12

А(10,10) жене в( 15,15) матрицаларынық басты диагоналінід жоғаргы жағындагы элсменттерінің қосындысын есептеу

13

Х(п), у(т) массивтерінің орта менін жоне стандартты ауытқуын табу

N<100 М<100

14

Х(10.,8)жене у( 10,12) матрицалары үшін а-дан в-ra дейінгі аралыгында жататын элементтерінің санын жөне қосындысын есептеу

15

Х(50) және у(60) массивтерін тек оң элементтерін реттестіріп орналастырып жөне басқа элементтерінің орнына 0-дерді қойып шығу

Тапсырмадағы бір нұсқаның орындалу үлгісі

1-мысал. Жоғарғы жарты жазықтықта координатаның бас нүктесіне ең жақын жатқан нүктені және төменгі жарты жазықтықта координатаның бас нүктесінен ең алыста жатңан нүктені табу. Жоғарғы жарты жазықтың- та жатңан нүктелер координаталары xl(n) жөне yl(n) массивтерімен, ал төменгі жазыңтықта жатқан нүктелер координаталары x2(m) және y2(m) массивтерімен беріл- ген, мүндағы n<40, т<60.

Жоғарғы жарты жазықтыңтың әрбір нүктесінің коор- динатасының бас нүктесіне дейінгі ңашыңтығын аның- тау. Осы араңашыктықтардың ішінде ең кішісін табу керек. Төменгі жарты жазықтықта жататын нүкте ара- ңашықтыңтары үшін де осы әрекеттерді қайталаймыз. Координатаның бас нүктесінен нүктеге дейінгі арақа- шықтықты табуды көмекші бағдарлама-функцияда есеп- тейміз. Ең үлкен және ең кіші мәндерді табу кезінде, көмекші бағдарламаны пайдалану кезінде k • r>k • rm шартын тексеруге қажетті қосымша параметрлерді енгі- зу керек. Егер К=1, онда R>RM шарты ең үлкенді табу үшін, ал егер К=-1 болса, онда ең кіші мәнді табу үшін пайдаланылады. Көмекші бағдарламаға нүкте координа- таларының массивін, олардың өлшемі жене 1 мен -1 мәндерді ңабылдайтын К параметрін енгізу керек. Көмекші бағдарлама функциядан алынатын нәтижеге ат беріледі.

Бағдарламасы:

Program coord(input,output);

Const n=40;

Type mas=array[l..n] of real;

Var i,nr,mr:integer;

Sl,s2:real;

Xl,yl,x2,y2:mas;

Function vec(x,y:mas;kx,n:integer):real;

Var j :integer;

R,rm:real;

Begin

Rm:=-le20;

For j :=1 to n do

Begin

R :=sqrt(x[i])*x[i]+y[i]*y[i]);

If (kx*r)>=kx*rm) then rm:=r;

End;

Vec:=rm

End;

Begin

Write('nr-MeH mr-дің мәнін енгізіңіз');

Read(nr.mr);

Write('xl және yl массивтерінің мәндерін енгізіңіз');

For і:=1 to nr do read ([xl[i],yl[i]]);

Write('x2 және y2 массивтерінің мәндерін енгізіңіз');

For і:=1 to mr do read ([x2[i],y2[i]]);

Sl:=vec(xl,yl,nr,-1);

S2:=vec(x2,y2,mr,l);

Write('sl=',sl,' ':4,'s2=',s2);

End

2-мысал.

X(n),y(m) массивтерінің оң элементтерін z массивіне көшіріп жазу. Оң элементтердің массивке жазу көмекші бағдарламаның көмегімен орындалады. Мына шектеуді қабылдаймыз :n<100, т<100.

Көмекші бағдарламада нәтиже массивіне бастапқы массивтің оң элементтерін жазу іске асырылады. Бүл үшін көмекші бағдарламаға келесі параметрлерді бе- реміз: бастапңы массив аты мен элементтерінің саны, нәтиже массивінің атымен элементтерінің саны. Z мас- сивіне бірден бірнеше массивтердің оң элементтері жа- зылатын болғандықтан, параметрлер тізімінде мына параметрлер де болуы керек: енгізу параметрі 1-нәтиже мас- сивіне жазуды бастайтын үяшық нөмірі, шығару параметр! К көмекші бағдарламаны шақырғанда, соңғы оң элемент жазылған үяшық нөмірі. Нәтиже массивіне эле- менттер толың жазылып біткенде, бүл параметрлер сол жазылған элементтердің саны N-re тең, 1-индексті эле- менттен басталып енгізу Z массивінде іске асырылса, онда енгізу параметрі L=l, шығару массивінің аты z

болады, оның элементтер саны N+M-re тең. Көмекші багдарламада z массивіне жазылған элементтер санын аның- тайтын К шығару параметрін алу керек. Көмекші бағдар- ламаны екінші рет шақырғанда, сөйкес Ү,М,1=К+1, Z, N+M, К параметрлерін беру керек. Көмекші бағдарлама- ны екінші рет шақырғаннан кейін, К көмекші багдарлама екі рет орындалғаннан кейінгі массивке жазылған элементтерінің ңосынды элементі. Бағдарламасы: Program sort (input,output); Const n=200;

Type mas:array[l..n] of real; Var i,nr,mr: integer; X,y,z :mas;

Procedure st(var a,c:mas; n,l,k:integer);

Var j :integer;

Begin

K:=l;

For j :=1 to n do

If a[i]>0 then

Begin

K:=k+1;

C[k]:=a[j];

End

End;

Begin

Write ('пг-мен mr-дің мәнін енгізіңіз'); Read (nr,mr);

Write ('x массивінің мәндерін енгізіңіз'); For i :=1 to nr do read([x[i]); Write ('y');

For i :=1 to mr do read(y[i]); St (x,nr,0,nr+mr,k); For i :=1 to k do Write (z[i]); End.

Var B:abit; { жазу аты}

; { массив} Жазудың әр компонентін жазу аты және нүкте арқы- лы ажыратылған өріс атымен өрнектеуге болады. 2-мысал. B.N:=5;

В.Ғам:='Байсалова'; В.Ва11:=58.

Мүндағы В айнымалысы өрістеріне сипатталған тип- терге сай мәндер меншіктелген.

8.2. Біріктіру операторы

Меншіктеу операторларын ықшамды түрде жазу үшін біріктіру операторы қолданылады. Оның жазылу үлгісі: With <жазу аты> do <оператор>;

Жазу басқа айнымалыларға компонент болып кіруі мүмкін.

3-мысал: TOP - 15 компоненттен (жазу) түратын массив атауы. Топтағы 45-тен үлкен үпай жинағандардың аты-жөнін экранға шығаратын бағдарлама үзіндісі: For I:=l to 15 do With TOP [ I] do Begin Readln(n.Fam,Ball); If Ball>45 then writeln(Fam); End:

№ 11 зертханалық жүмыс Тақырыбы: Жазулар. WITH операторымен жүмыс Жүмыстың мақсаты:

1. Берілгендердің қүрама түрлерін енгізуді және шы- ғаруды үйымдастыру.

2. Жазуларды бағдарламада пайдаланып үйрену. Есептің берілуі.

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

курсын, тобын, ер емтиханнан бағаларын көрсету керек. Осы ақпараттарды кесте түрінде шығару қажет.

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

1. Символдық ақпараттарды жинаңталған массив ре- тінде көрсету керек.

2. ZAP БАҒДАРЛАМАСЫ БЕС СТУДЕНТТҢ ФАМИ- ЛИЯСЫ, ТУҒАН ЖЫЛЫ, КОЛЛЕДЖГЕ ТҮСКЕН УАҚЫТЫ ЖӘНЕ СОҢҒЫ СЕССИЯНЫҢ БАҒАЛАРЫ ТУР АЛЫ МӘЛІМЕТТЕРДІ ЕНГІЗІП ЖӘНЕ ЭКРАНҒА ШЫҒАРАДЫ.

Бағдарламаның жауабында беске оқыған студент- тердің тізімін шығарады.

Program ZAP (INPUP, OUTPUT): TYPE student = RECORD Ф.И.О. PACKED ARRAY( 1. .10) JF CHAR : God: 1980..1989; GodP: 1998..2002; Osenka= RECORD alg, ist, evm, 1..5. END END:

VAR ГРУППА: ARRAY[1..5] OF student;

Sl:student;I,J:INTEGER;

BEGIN READLN;

WITN SI, osenka DO

BEGIN FOR 1: TO 5 DO

BEGIN WRITE ('=>'):

FOR J=TO 10 DO READ (3>H0[J]):

READLN

END

END;

WRITELN(' Үздіктер тізімі');

FOR 1:=1ТО 5 DO WRITE Gruppa [1],Osenka DO

IF ( alg=5) AND (ist=5 ) AND (evm =5) THEN

WRITEN(cp.H.O. TOflP='God:4, ТОДПТ=\ GodP:4)

END.

Бағдарлама жүмысының протоколы Байсалов 1985 2000 3 4 3 Исаев 1984 2000 5 5 5 Абдикереев 1985 2000 4 5 5 Асылов 1982 1999 5 5 5 Әбілдаев 1985 2001 3 4 5 Үздіктер тізімі

Исаев ГОДР =1984 ГОДПТ=2000 Асылов ГОДР= 1982 ГОДПТ= 1999

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

  1. Өте жаңсы оқитын студенттердің анкетальщ мәліметтерін баспаға шығару

  2. 4 және 5-ке оқитын студенттердің тізімін баспаға шығару.

  3. 2 алған студенттер тізімін экранға шығару.

  4. Бірінші сессиядан түгел 5 алған студенттерді экранға шығару.

  5. Барлың пәннен 3 алған студенттер тізімін экранға шығару.

  6. Бір сабақтан 4, қалғандары 5 болған студенттер тізімін экранға шығару.

  7. Фамилиясы А өрпінен басталатын студенттерді және алған бағаларын экранға шығару.

  8. Фамилиясы В әрпінен басталатын студенттерді және олардың туған жылын көрсетіп экранға шығару.

  9. Фамилиясы В және Г өрпінен басталатын студенттер тізімін экранға шығару.

  10. Бірде-бір 3 деген бағасы жоң студенттердің фами- лиясын және олардың туған жылын шығару керек.

  • қиылысын табу (*);

  • айырмасын табу (-);

  • салыстыру;

  • элементтің жиынға тиістісін аныңтау (IN).

Біріктірілген жиын - екі жиынның барлың элементтерінен түратын жиын. Мысалы,[3,5,9] + [7,9] = [3,5,9,7].

Екі жиынныц қиылысьі - екі жиында да бар элемент- терден тұратын жиын. Мысалы, [3,5,9,4]*[7,9,5] = [5,9].

Екі жиынның айырмасы - біріншісінің соңғысында жоң элементтерінен тұратын жиын. Мысалы, [3,5, 9]-[7, 9] = [3,5].

Екі жиын <, >, <=, >=, = таңбаларының бірі арңылы салыстырылады.

Нәтижесі - True не False.

1-мысал. [ 3,5,8,9] жиыны берілген. 5, 6 элементтері жиынға тиісті ме?

Тексеру бағдарламасы:

Var a: set of 1..9; tl,t2 : boolean;

Begin a: =[ 3,5,8,9 ] ; tl:=5 in a; t2:=6 in a;

Writeln (tl); writeln(t2) End. tl - true; t2 - false

2 - мысал. a =.[1,3,6,9,8]; b = [ 3,5,9]. a-b жиынның элементтері?

Var a,b,c : set of 1..10; k:integer;

begin a: = [ 1,3,6,9,8]; b: = [ 3,5,9 ] ; c:=a-b;

For k:=l to 10 do

If k in с then write (k:5)

End.

№ 12 зертханалық жүмыс

Тақырыбы: Жиындық түрдегі берілгендермен жұмыс.

Жүмыстың мақсаты:

1. Жиындық түрдегі айнымалылардың берілуі және оларға амалдар қолдану.

2. Жиындық түрдегі айнымалылары бар есептермен танысу.

Есептің шарты:

ЭЕМ-да орындауға берілген шектелген жөне реттелген жиындар символдарымен танысу.

Нүсңалардың біреуіне бағдарлама ңүру.

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

Багдарлама кез келген символдар үшін дүрыс жүмыс істеу керек.

Тапсырманы орындау үшін LAT бағдарламасымен та- нысу қажет.

Енгізілетін символдар жолының үзын экран жолының үзындығынан асып кетпеуі үшін программистің өзі жол- дың соңын көрсетеді. LAT бағдарламасы PROGRAM LAT(INPUT, OUTPUT); VAR C,I,J: CHAR; LB:SET OF'A'.. 'Z'; PR:SET OF'"..'?'; BEGIN READLN; WRITE('=>'); LB:= []; PR:= []; REPEAT READ ( С); IF С IN [ 'A' .. 'Z' ] THEN LB:=LB+ С ELSEIF С IN [':',';','.',!','?' ] THEN PR = PR + C UNTIL EOLN;

WRITTELN ('ЛАТЫН Әріптері');

FORL:='A' TO 'Z' DO IF i IN LB THEN WRITE (1:2);

WRITELN;

WTITELN ('Тыныс белгілері'); FOR J: = '!' TO '?' DO; IF J IN PR THEN WRITE (J : 2); END.

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

Бос емес символдар тізбегі берілген. Жиындың түрді қүру жөне баспаға шығару керек. Жиынның элементтері мынадай тізбектерден қүрылсын: ч

  1. '0' ден '9'-ға дейінгі цифрлардан.

  2. 'А' -дан 'F' -ке дейін және 'Х'-тан 'Z'-ке дейін.

  3. 3)' 6' -дан' N' -ге дейін,' 0'-ден' 9' -ға дейінгі цифрлардан.

  4. Тыныс белгілері.

  5. 'А'-дан 'Z'-ке дейін, 'O'-ден '5'-ке дейін.

  6. 'Т'-дан 'Х'-ке дейін және тыныс белгілері.

  7. '5'-тен '9'-ға дейін және арифметикалың амалдар белгісі.

  8. Арифметикалың амалдар белгісі және тыныс белгілері.

  9. Цифрлар және арифметикалық амалдар белгісі.

  10. Тыныс белгілері және 'Е'-ден 'N'-re дейін.

  11. Қатынас амалдар белгісі.

  12. '3'-тен '9'-ғадейінгі цифрлар 'А'-дан 'F'-ке дейінгі әріптер.

© 2010-2022