While операторында қайталану шарты цикл денесiнен бұрын тексерiледi. Сондықтан while операторы алғы шартты цикл деп аталады. Жазылу форматы:
While <қайталану шарты> do
<цикл денесi>
Қайталану шарты – бульдiк (логикалық) өрнек, цикл денесi - жай немесе құрама оператор. Цикл денесi орындалудан бұрын шарттағы өрнектiң мәнi анықталады. Егер ол мән true болса, цикл денесi орындалады. Шарттық өрнектiң мәнi тағы да анықталады, егер нәтижесi false болса циклдың жұмысы аяқталып, while-ден кейiнгi бiрiншi оператор орындалады.
25 мысал. Әр түрлi он санның қосындысын табу.
program kosyndy;
var n, i, sum : integer;
begin
n:=0; {сан енгізілген жоқ }
sum:=0;
while (n<10) do {енгізілген сандардың саны 10-ға жеткен жоқ}
begin
n:=n+1;
write(‘n,’-шi санды енгiз:’); цикл
readln(i); денесi
sum:=sum+i;
end;
writeln(‘сандардың қосындысы=’,sum);
end.
Бағдарламадағы айнымалыларға түсiнiк:
і-енгiзiлетiн сан; n - енгiзiлген сандарды санауыш;
sum – енгiзiлген сандардың қосындысы;
Бағдарламаның басында санауыштың (n) және қосындының (sum) алғашқы мәндерi 0–ге теңестiрiледi. While операторында санауыштың мәнi 10-ға жеткендiгi тексерiледi. Егер санауыштың мәнi 10-нан аз болса, 10 санды енгiзiп, қосындыны табу циклi орындалады. Цикл денесiндегi құрама оператор орындалады.
begin
n:=n+1; write(‘n’,-шi санды енгiз‘);
readln(i); sum:=sum+i;
end;
Құрама операторда санауыштың мәнi 1–ге арттырылып, кезектi сан енгiзiледi. Енгiзiлген сан sum айнымалысының бұрынғы мәнiне қосылады. end;-тен соң while операторына оралып, n<10 шартын тексередi. n=10, яғни n<10 өрнегiнiң мәнi false болғанда циклдiң орындалуы тоқтайды.
Ескерту: Цикл денесiндегi операторлардың кем дегенде бiреуi шартқа әсер ететiн болу керек, әйтпесе цикл шексiз орындала бередi.
Тапсырмалар және практикалық жұмыстар.
459.Кластағы 20 оқушының әр біреуінің информатикадан бағасы белгілі. Тізімнің басында “бестік” бағалар, одан соң қалған бағалар көрсетілген. Қанша оқушыда “5” баға бар. Шарттық операторды пайдалануға болмайды. Екі жағдайды қарастыр:
а) “5” баға оқушылардың барлығында емес;
б) барлық оқушыда “5” болуы мүмкін;
460.Мамыр айының әрбір күнінде жауған жаңбырдың мөлшері белгілі. 1 мамырда жаңбыр жауған жоқ. 1 мамырдан бастап неше күн қатарынан жаңбыр болған жоқ? Шарттық оператор қолданылмайды. Екі жағдайды қарастыр:
а) мамырдың кейбір күндерінде ғана жаңбыр болды:
б) мамырдың ешбір күнінде жаңбыр болған жоқ:
461. 200-ден үлкен, 7-ге бүтіндей бөлінетін ең кіші санды тап.
462.5000-нан артпайтын және 39-ға бүтіндей бөлінетін ең үлкен санды тап.
463.Азамат 1 наурызда банке 1000 теңге салып есепшот ашты. Салым мөлшері әрбір айда 2%-ға артады. Анықтау керек:
а) қай айда айлық өсім 30 теңгеден артады.
б) неше айдан соң, салым мөлшері 1200 теңгеден артады?
464. Шаңғышы бірінші күні 10км жүгірді. Әрбір келесі күні алдыңғы күні жүгірген қашықтықты 10%-ға арттырады. Анықтау керек:
а) шаңғышы қай күні 20км-ден артық жүгіреді?
б) қай күні барлық жүгірген жолы 100км-ден артады?
465. Бір жылы 100 гектарлық участоктан тарының орташа түсімділігі гектарынан 20 центнер болды. Одан соң әр участоктың ауданы 5%-ке, ал орташа түсімділік 2%-ке артты. Табу керек:
а) қай жылы егіннің түсімділігі 22 центнер/гектар артады?
б) қай жылы участоктың мөлшері 120га артады?
в) қай жылы барлық жиналған егін 800 центнерден асады?
466. Евклид алгоритмін пайдаланып, екі натурал санның ең үлкен ортақ бөлгішін тап.
467. Екі натурал санның ең кіші еселігін тап.
468. Натурал a,b сандары берілген, а-бөлшектің алымы, b-бөлшектің бөлімі. Бөлшекті қысқарт.
469.Натурал m және n сандары берілген. mn көбейтіндісінен артпайтын, оларға еселік сандарды тап. Шарттық оператор пайдаланылмайды.
470.Кейбір мемлекетте 1, 2, 4, 8, 16, 32, 64 купюрлік ақшалар қолданылады. Натурал n саны берілген. Осы n санын көрсетілген ақшалармен қалай беруге болады? Қай купюрден нешеу алынады? (Купюрлердің саны жеткілікті).
471.Натурал сан берілген. Оның жазу түрі ак, ак-1, ... а0 . Табу керек:
а) таңбалары кезекпен ауысқан цифрлардың қосындысын:
a0-а1+а2-а3+...+(-1)к ак;
б) таңбалары кезекпен ауысқан цифрлардың қосындысын: aк–ак-1–ак-2+ак-3+...+(-1)к а0;
Екі жағдайда да шарттық оператор және дәрежелеу пайдаланылмайды.
472. Натурал сан берілген. Табу керек:
а) оның цифрларын оңнан солға жазғанда шығатын санды;
б) санның басына және соңына 2 цифрасын тіркегенде шығатын санды;
в) берілген санның барлық a цифрасын сызып таста.
г) берілген санның бірінші және соңғы цифрларының орнын ауыстыр.
д) санға тағы бір рет осы санды тіркегенде шығатын санды.
5-6 зертханалық жұмыс. Ішкі программаларды ұйымдастыру
Мақсаты: Ішкі программалардың түрлерімен және оларды пайдалану әдістерімен танысу.
Теориялық бөлім.
Кейбір уақытта бағдарламадағы белгілі бір іс-әрекетке бірнеше рет оралуға тура келеді. Ондай жағдайда оператор тобына басқа ат беріліп, жеке блокқа біріктіріледі, осындай бағдарламалық блоктар ішкі бағдарлама деп аталады.
Ішкі бағдарламаны шақырған кезде, негізгі бағдарламаның жұмысы тоқтайды да, ішкі бағдарлама орындалады. Ол негізгі бағдарламадан берілген деректерді өңдейді. Ішкі бағдарламаның жұмысы аяқталған соң, оның нәтижелері негізгі бағдарламаға қайтарылады.
Негізгі бағдарламадан ішкі бағдарламаларға берілгендерді жіберу және нәтижені қайтарып алу параметрлер арқылы жүргізіледі.
Параметр дегеніміз – көрсетілген қолдану аясында ғана белгілі бір мәнге ие болатын айнымалы.
Формальдық параметр ішкі бағдарлама тақырыбында анықталады.
Фактілік (нақты) параметр - негізгі бағдарламадан ішкі бағдарламаға берілетін нақты мәндер (‘нақты‘ cөзі типті білдірмейді, белгілі бір мән немесе өрнек деген мағынаны білдіреді).
Ішкі бағдарлама орындалғанда оның формальді параметрлері нақты параметрлермен ауыстырылады. Фактілік параметрлер негізгі бағдарламада сипатталады.
Барлық айнымалылар глобалды және локалды болып бөлінеді. Глобаль айнымалылар негізгі бағдарламада сипатталады.
Ішкі бағдарламаның екі түрі бар: процедура және функция.
31 мысал. Төрт санды екі-екіден жұптап, квадраттарының қосындысын табу.
Бұл мысалда параметр – мәндер қолданылады. Берілген сандар 2,5 пен 3,1 және -7,2 және 5,3 болсын.
program mander;
var k, z, x, y: real;
procеdure sum_kv(a, b:real); {а, b формальдық параметрлер}
begin {процедура денесі}
a:=a*a; b:=b*b;
writeln(’квадраттар қосындысы=’, a+b);
end;
begin {негізгі бағдарлама денесі}
х:=2.5; у:=3.1;
sum_kv (x,y);
z: = -7.2; k:=5.3;
sum_kv (z,k);
readln;
end.
Бағдарламаға түсініктеме
X, y, z, k - негізгі бағдарламадағы фактілік параметрлер. Олар негізгі бағдарламада сипатталады.
Sum_Kv процедурасында екі санның квадратының қосындысы экранға шығарылады; а мен b-процедурадағы формальді параметрлер.
Процедура х, у параметрлерімен шақырылғанда а=2,5 және b=3,1 мәндеріне ие болады да, олардың квадраттарының қосындысы есептеледі. Экранға мынандай хабарлама шығады:
2.5 және 3.1 квадраттарының қосындысы
Бағдарлама жұмысы процедурадан шығып, негізгі бағдарламаның орындалуы жалғасады. z пен k-ның мәндері меншіктеледі. Процедура енді z, k параметрлерімен шақырылады.
А=-7,2, b=5,3 мәндеріне ие болады. Енді осы екі санның квадраттарының қосындысы есептеледі.
Экранға мынандай хабарлама шығады:
-7.2 және 5.3 квадраттарының қосындысы.
Процедура жұмысы аяқталып, негізгі Бағдарламаға оралады, негізгі бағдарлама жұмысын аяқтайды.
Бағдарламаның орындалу тәртібі:
1. Негізгі бағдарламадағы айнымалылар сипатталады.
2. x, y параметірлерімен Sum_Kv процедурасы шақырылып, процедура орындалады, болған соң негізгі бағдарлама жалғасады.
3. z, k параметрлерімен Sum_Kv процедурасы шақырылып, процедура орындалады, болған соң негізгі бағдарламаға оралады.
4. Негізгі бағдарлама жұмысын аяқтайды.
Параметр–айнымалы. Параметр-айнымалылар процедура-ның нәтижесін негізгі бағдарламаға әкелу (қайтару) үшін қолданылады.
Параметр–айнымалылар негізгі бағдарламадағы фактілік параметрлерге ықпал етіп, оларды өзгерте алады.
Тапсырма
73. Функцияны пайдаланып у-тің мәнін табу бағдарламасын қөр.
a)
б)
Z-тің мәнін табу бағдарламаларын құр.
74. z=max (a,2)· max (2a,b), мұндағы max (x,y) – x пен y сандарының үлкені.
a) max функциясын пайдаланбай.
б) max функциясын пайдаланып.
75. z=min (a,2b-a) · min(a, 3b)
a) min функциясын пайдаланбай.
б) min функциясын пайдаланып.
Зертханалық жұмыс. Рекурсиялар.
Мақсаты. Рекурсия ұғымымен және рекурсиялық алгоритмдермен танысу.
Теориялық бөлім
Рекурсия дегеніміз – орындалу барысында процедура немесе функцияның өзін-өзі шақыратын есептеу процесі.
Рекурсияның мысалы ретінде санның факториалын табуды келтіруге болады. Натурал n санының факториалы деп 1*2...* n көбейтіндісін айтады.
1 жаттығу
Program rekurs;
Var n: integer; f:longint;
function Fakt(n: integer): longint;
begin
if n=l then fakt:= l {рекурсияның аяқталу шартын тексеру}
else fakt :=n*fakt(n-l) {N!-ды рекурсивті есептеу}
end;
begin
writeln('n санын енгіз');
readln(n);
f:=fakt (n); {n факгілік параметрімен функцияны шақыру}
writeln (n ,' санының факториалы= ',f);
readln;
end.
Программаға түсініктеме
Программаны жұмысқа қосқан соң, экранға
n санын енгіз деген
хабарлама шығады. Клавиатурадан енгізілген сан n айнымалысының мәні болады. f:=fakt(n) жолында n фактілік параметрімен fakt функциясы шақырылады. Fakt функциясында n=1 шарты тексеріледі. Егер шарт орындалса, fakt функциясының мәні бірге тең болады. Функцияның жұмысы аяқталады, негізгі программаға оралады.
Егер n=1 шарты орындалмаса, онда n*fakt(n-1) көбейтіндісі есептеледі. Көбейтіндіні есептеу рекурсиялық сипатта, себебі ол fakt(n-l) функциясын шақырады, ол функцияның мәні параметрі fakt болатын fakt функциясымен анықталады. Осылайша n=1 болғанша fakt функциясы шақырыла береді, fakt функцияс кезекгегі к-ші сан мен (к-1) санының факториалының көбейтіндісін қайтарады. Fakt функциясының соңғы мәні f айнымалысына 1.. n сандарының көбейтіндісін меншіктейді.
Сонымен, рекурсиялық бағдарлама орындалғанда берілген есептің тривиалдық шешімі алынғанша алгоритм ұйымдастырылуы-ның кезектегі деңгейінен төменгі деңгейіне өту жүргізіледі. Берілген есепте шешім n=1 болғанда тривиалды, яғни, Fakt=1. Одан соң Fakt функциясының мәнін тізбектей есептеп жоғарғы деңгейге өтеді
9 СТУДЕНТТЕРДІҢ ОҚЫТУШЫ ЖЕТЕКШІЛІГІМЕН ЖАСАЙТЫН
ӨЗІНДІК ЖҰМЫСТАРЫ (СОӨЖ)
№1, №2 СОӨЖ.
Алгоритмдеу ұғымы. Бағдарламалау ортасымен танысу.
№3 СОӨЖ.
Паскаль бағдарламалау тілінің негізгі элементтері
№4, №5, №6 СОӨЖ.
Паскаль тілінің операторлары. Массивтер, құрылымдар. Функциялар және процедуралар.
№7 СОӨЖ.
Файлдармен жұмыс. Символдық жолдармен жұмыс
10 СОӨЖ кеңесінің кестесі
№
|
Сабақ түрі
|
дүйсенбі
|
сейсенбі
|
сәрсенбі
|
бейсенбі
|
жұма
|
сенбі
|
1.
|
ТЖ бойынша кеңес
|
12.35
13.25
|
|
|
|
|
|
2.
|
СӨЖ тапсырмалары бойынша кеңес
|
|
19:05-19:55
|
|
|
|
|
3.
|
Тест тапсырмалары бойынша кеңес
|
|
|
19:05-19:55
|
|
|
|
11. Білім алушылардың білімін тексеру кестесі
Тәжірибелік және соөж сабақтарға қатысу, тапсырмаларды орындау 0-100 баллмен бағаланады
Пән бойынша тапсырмаларды орындау және тапсыру кестесі
№
|
Жұмыс түрі
|
Тақырып, мақсаты және тапсырманың мазмұны
|
Ұсынылатын әдебиет
|
Орындау ұзақтығы
|
Бақылау түрі
|
Тапсыру мерзімі
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
1
|
ТЖ №1-3
|
Алгоритмдеу ұғымы. Бағдарламалау ортасымен танысу. (9 сағат)
|
1,2,6
|
2 апта
|
|
1-3 апта
|
2
|
ТЖ № 4-6
|
Паскаль бағдарламалау тілінің негізгі элементтері.(9 сағат)
|
4,5,7
|
3 апта
|
|
4-6 апта
|
3
|
ТЖ №7-9
|
Паскаль тілінің операторлары. Массивтер, құрылымдар.(6 сағат)
|
1,3,8
|
4 апта
|
|
7- 10апта
|
4
|
ТЖ №10-12
|
Функциялар және процедуралар. (6 сағат)
|
2,3,6
|
3 апта
|
|
10- 12апта
|
5
|
ТЖ №13-115
|
Файлдармен жұмыс. Символдық жолдармен жұмыс (6 сағат)
|
1,7,8
|
2 апта
|
|
13- 14апта
|
6
|
Межелік бақылау
|
|
|
|
тестілеу
|
15- апта
|
12 Курстың саясаты
Оқу пәні толық өтілген матриалдарды қамтитын емтиханмен қорытындылады. Обағдарламада көрсетілген барлық тапсырмаларды орындау емтиханға жіберілудің басты талабы болып саналады.
Әр тапсырма 0-100 баллмен бағаланады.
Жіберу рейтингі ағымды сабақтарда орындалған тапсырмалардың орташа арифметикасынан шығарылады.
Кешіктіріліп орындалған тапсырмалар тапсыру мерзіміне байланысты автоматты түрде төмендетілетін болады. Студент СӨЖ тапсырудың күнтізбелік графигіне сәйкес орындау керек. Егер студент тапсырманы 1 аптаға кешіктіріп тапсыратын болса, ол осы тапсырмаға берілген баллдың төрттен бір бөлігін жоғалтады, егер бір аптадан көп уақытқа кешіксе баллдың тең жартысын жоғалтады (мұндай ықпалшаралар дәлелді себеп жоқ студенттерге арналған).
Қорытынды баға салмақтық үлесі ЖР үшін 0,6-дан кем, ал ҚБ үшін 0,4-тен кем болмау қажет.
Пән бойынша қорытынды рейтинг 1 кестеге сәйкес сандық, әріптік және дәстүрлік бағаға айналдырылып, «Студенттердің оқу жетістіктерінің журналы» мен «Рейтинг парағына» енгізіледі.
Кесте 1
Балл түріндегі қорытынды бағалау (И)
|
Балдардың сандық белгілері (Ц)
|
Әріптік жүйеде бағалау
|
Дәстүрлік жүйеде бағалау
|
Емтихан
|
Сынақ
|
95 - 100
|
4
|
A
|
Өте жақсы
|
Сынақталды
|
90 - 94
|
3,67
|
A-
|
85 - 89
|
3,33
|
B+
|
Жақсы
|
80 - 84
|
3,0
|
B
|
75 - 79
|
2,67
|
B-
|
70 - 74
|
2,33
|
C+
|
Қанағаттанарлық
|
65 – 69
|
2,0
|
C
|
60 – 64
|
1,67
|
C-
|
55 – 59
|
1,33
|
D+
|
50 – 54
|
1,0
|
D
|
0 - 49
|
0
|
F
|
Қанағаттанарлықсыз
|
Сынақталған жоқ
|
13 Әдебиеттер тізімі
Негізгі əдебиеттер:
1. Информатика/ Под. ред. Н.В. Макаровой. М.: Финансы и статистика,
2006.
2. Информатика. Базовый курс / Под.ред. С.В.Симоновича. М.:
СПб.:2005,-640с.
3. Смайли Джон. Учимся программировать на С# вместе с Джоном Смайли: Пер. с англ. –СПб, 2003. -528 с.
4. Жужжалов В.Е. Основы интеграции парадигм программирования в курсе программирования.-М.: Образование и информатика, 2004. -128 с.
Қосымша әдебиеттер
1. Открытое образование - стратегия ХХI века для России/ Под ред. В.М. Филиппова и В.П. Тихомирова. М.: Изд-во. МЭСИ, , 2000. 356 с.
2. Ефимова Л.А., Дмитриевская Н.А. Принципы разработки учебных материалов для Интернет //Интернет-технологии в открытом образовании. Тез. докл. семинара. 2.10.2000. М.: Изд-во МЭСИ. С.59-61.
3. Denning 1989 - Denning P., et al. Computing as a Discipline // CACM, January, 2005. V. 32, N 1, pp. 9-23.
4. Glass 1996 - Robert L. Glass. The Relation Between Theory and Practice in Software Engineering. // CACM, November 2006. V. 39, N 11, pp. 11-13.
5. Lethbridge 2000 - Timothy C. Lethbridge. Priorities for the education and training of software engineers. // The Journal of Systems and Software, 53, 2000, pp. 53-57.
1. Интернет-ресурстардың тізімі
1. http://www.diasoft.kiev.ua.
3. http://www.ord.com.ru/files/book3/index.html
4. http://ru.wikibooks.org/wiki
5. http://pcpress.ru/
6. http://frolov-lib.ru/
7. http://www.microsoft.com.kz
8. http://www.ixbt.com
9. http://www.diasoft.kiev.ua. 10>10>
Достарыңызбен бөлісу: |