Факультативтік саба?тармен ты?ыз байланысты сыныптан тыс ж?мыстарды? бірі информатика п?ні бойынша ?тетін олимпиада. Олимпиада білімді о?ушыларды аны?тау ма?сатында ?йымдастырыл?анымен, оны? басты ма?саты - аса ?абілетті ж?не даярлы?ы к?шті 2-3 о?ушыны табу ?ана емес, мектеп о?ушысыны? басым к?пшілігіні? информатика п?ніне деген ынта, ы?ыласын арттыру
Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
Просмотр содержимого документа
«Информатикадан олимпиада ж?ргізу ж?не оны? ?дістері »
М а з м ұ н ы
Кіріспе
Информатикадан олимпиада жүргізу және оның әдістері
І. Негізгі бөлім
1.1 Олимпиада және оны жүргізу әдісі
1.2 Олимпиада тапсырмаларын есептеудің тиімді жолдары
1.3 Олимпиаданың өткізілу ережесі
1.4 Оқушыларды олимпиадаға дайындау
ІІІ. Қорытынды
IV. Пайдаланылған әдебиеттер тізімі
Кіріспе
Факультативтік сабақтармен тығыз байланысты сыныптан тыс жұмыстардың бірі информатика пәні бойынша өтетін олимпиада. Олимпиада білімді оқушыларды анықтау мақсатында ұйымдастырылғанымен, оның басты мақсаты - аса қабілетті және даярлығы күшті 2-3 оқушыны табу ғана емес, мектеп оқушысының басым көпшілігінің информатика пәніне деген ынта, ықыласын арттыру.
Оқушыларды олимпиадаға дайындау барысында олимпиадалық есептерді талдаған дұрыс. Себебі, мұндай талдау оқушылардың олимпиадалық есептердің түрлерімен таныс болып, оны шығарудағы өз күшіне деген сенімін арттырады.
Информатикалық олимпиада - оқушыны информатикалық білім алуға ынталандыратын ойларының дамуына себеп болатын жарыс болып есептеледі. Информатика олимпиадасы мектеп ішілік, аудандық және қалалық, облыстық, республикалық, халықаралық деңгейлерге бөлінеді.
Мектепте өткізілетін олимпиада екі кезең бойынша жүргізіледі:
1. кезеңде барлық үлгеретін оқушылар қатысады. Бұл кезеңнен «4-5» алған оқушылыр келесі кезеңдегі олимпиадаға қатысады.
2. Кезеңде қияндығы жоғары тапсырмалар ұсынылады. Осы кюезеңнің жеңімпаздары алдыңғы олимпиадаға жіберіледі.
Факультатив сабақтарды, олимпиадалық есептерді шығарудың әдіс – тәсілдерін талдау практикасына ацйналдарған тиімді. Мектептік үздік информатика аудандық, облыстық, республикалы, халықаралық олимпиадаларға қатысуға мүмкіндік алу үшін оқушылар мектеп информатика пәнін жүйелі игеру қажет.
Олимпиада және оны жүргізу әдістемесі
Олимпиаданың мақсаты;
- білімді, дамыған, дарынды мектеп оқушыларын іздеу;
- мектепте информатиканы оқыту деңгейін бағалау;
- информатиканы оқыту барысындағы ең жоғарғы деңгейге қойылатын талапты ашу;
- мектеп, жоғарғы оқу орындары буынындағы кері байланысты жүзеге асыру.
Олимпиаданың негізгі мақсаты - оқушының қабілетін ашуды ескере отырып, логикалық - алгоритмдік және жүйелі комбинаторикалық ойлауы дамыған оқушыларды табу қажет. Бұл әртүрлі дайын программалық құралдар мен командаларды пайдалану іскерлігінде пайда болады.
Олимпиадаға дайындау әдістемесі- қарастырылып отырған тәсілде оқушьшарды олиапиядаға дайындау информатиканың базалық курсының жалғасы болып табылады. Дайындықтың ең тиімді түрі — сабақты олимпиада түрінде жүргізу. Стандартты емес есептерді шешгу үшін мәліметтерді ұйымдастыру мен програлмалаудың қазіргі әдістерін білу қажет.
Олимпиада тапсырмаларын есептеудің тиімді жолдары
Олимпиада —оқушының білім дағдылары мен қисынды ойлау әрекеттерін саралайтын кезең. Оқушыны олимпиадаға дайындау сәтінде есептеудің тиімді жолдарын қарастыру – мұғалім атқарар міндетті екені белгілі. Талапкердің жүйелі жұмыс жасай білу қабілетін саралап, есептеудің тиімді жолдарын қолдана білу шеберліктерін шыңдап, өзіндік бағыт – бағдар беру – қазіргі таңдағы ізденімпаз ұстаздардың негізгі ұстанымы. Төмендегі олимпиада тапсырмалары Pascal ABC бағдарламасында орындалған Pascal АВС өте ыңғайлы бағдарлама., бұнда көптеген әрекеттер орындауға болады. Бұл бағдарлама қазіргі заманның талабына сай операциялық жүйелерге сәйкес келеді. Сонымен қатар ол терезеелі интерфейспен жұмыс істеуге мүмкіндік береді Pascal ABC www.sunsclwol.math.rsu.ru сайтында толық қарастырылған.
1-есеп.Кубиктер
Енгізу файлының аты: cubes.in
Шығару файлының аты: cubes.out
Уақыт шектеу: 2 секунд
Жадыға шектеу: 64 мегабайт
N кубик берілген. Қатар қойылған бірнеше бағаналардан тұратын кубиктерді жар деп атаймыз.
Жардың і - ші бағанасының биіктігін һ3деп белгілейміз. Жардағы бағаналар саны М болса барлық і үшін (1һ3һ3-1 және
Һ3 + һ2 + ... + Һм = N ережесіне бағынатындай әр түрлі неше жар бар екенін табу керек. Мәліметтерді енгізу форматы Кіріс файлына жалғыз N саны берілген (l
Мәліметтерді шығару форматы Шығыс файлға бір бүгін сан жазу керек ізделінген сан.
Есептің шығару жолы.
Алдымен мысалда көрсетілген жарларды сандар тізбегі ретінде белгілейік:
4; 3,1; 2,2; 2,1,1; 1,1,1,1.
Бұл тізбектердің әрқайсысында келесі шарттар орындалуы керек:
1) Әрбір тізбектегі элементтердің қосындысы N-ге тең болуы керек: h1+h2+...+hM=N.
2) Тізбектің әрбір элементі өзінің алдынлағы элеменітерден аспауы керек: һ=һ1+1
Мұндай тізбектерді табу үшін терулер орындау керек. Алдымен 1 орынға, сосын 2 орынға, сосын 3 орынға, сол сияқты ең соңынан N орынға 1-ден N-re дейінгі бүтін сандардан теру орындаймыз. Терулерді гее(х) рекурсивті проиедурсы көмегімен жасаймыз. М - тізбек элементтерінің, яғни теру орындарының саны. М=1, 2 , 3.....N.
К-берілген (1),(2) шарттарды қанағаттандыратын тізбектер саны болсын. Онын алғашқы мәнін О-ге тең етіп аламыз. Программаның негізгі бөлімінде әрбір М-нің мәні үшін терулер орындайтын гес(х) ироцедурасын шақырамыз.
к:=0;
for m:=l to n do
rec(I);
Енді гес(х) рекурсивті процедурсын қарастырайық. Бұл процедура М орынға N саннан теру орында керек және табылған терудің (1), (2) шарттарды қанағаттандыратындығын тексеру керек. Шарттар қанағаттандырылатын болса К есептеуіш айнымалысы 1 санға артуы керек. Рекурсия алдымен 1-деңгейде шақырылады, сосын өзін-өзі шақырып келесі деңгейге өтеді. Әрбір і-ші деңгейде һ тізбегінің і-ші элементін тереді. Егер Х-проиедура параметрі M + 1-re тең болса онда М орынға теру орындалып болғаны. Онда алдымен (1) шарттың орындалуын тексеру үшін һ тізбегі элементтерінің қосындысын есептейміз.
s:=0;
for i:=l to m do s:=s+h[i];
Енді (2) шарттың орындалуын тексеру үшін.
t айнымалысын алып, оның бастапқы мәнін О-ге теңестіреміз. Әрбір і үшін (1t:=l қылып өзгертеміз. Сонда һ[і]t-ның мәні 1-ге тең болады, ал бірді-бір рет орындалмаса t-ның мәні бастапқы 0 қалпында қалады.
for i:=l to m-1 do
if h[i]
Erep бұл шарттардың екеуі де орындалса К-ның мәнін 1 санға есіреміз.
if (s=n)and(t=0) then k:=k+l;
Сонымен программаның толық мәтіні келесідей болады:
program cubes;
var fin, fout: text;
k,n,ra,s,t,i:integer;
h:array[1..100] of integer;
procedure rec(x:integer); {рекурсивті процедура}
var ininteger;
begin if x=m+l tben {peKypcия соңғы деңгейге жетті}
begin
s:=0; {қосындыны есептеу}
for i:=l to m do s:=s+h[i];
t:=0;
for i:=l to m-1 do {(2) шартты тексеру}
if h[i]
if (s=n)and(t=0) then k:=k+l;
end else {Рекурсия соңғы деңгейге жеткен жоқ}
begin
for ir:= 1 to n do
begin h[x]:=ir; rec(x+1)
end; {h/-mi теpin, рекурсияның } {келесі деңгейіне өту}
writcln(fout,k); шығару файлына К – ның мәнін жазу
l(»se(fout); шығару файлын жабу
end.
2-есеп. Сақина
Енгізу файлының аты: hoop.in
Шығару файлының аты: hoop.out
Уақыт файлының шектеу: 2 секунд
Жадыға шектеу: 64 мегабайт
Сақинаның бойына бірдей қашықтықта 1 — ден N-re-дейін сандар сағат тілінің бағыты бойынша өсу ретімен жабыстырылған, 1 саны сақинаның ең жоғары нүктесінде орналасқан. Осыдан кейін сақинамен М әрекет жасалды. Сақинаның соңғы қалпын анықгау керек.
Сақинамен жасалатын әрекеттер:
Оңға немесе солға бірнеше санға айналдыру.
Белгілі бір нүктенің айналасында аудару.
Кез - келген әрекет кезінде сақинаның центрі орнында қалады.
Мәліметтердіенгізуформаты
Кіріс файлдың бірінші жолында екі бүтін сан жазылған N және М (05). Осыдан кейін әрекеттерді сипаттайтын М жол жазылған. Бұл жолдардың әрқайсысы келесі форматтардың бірінде болады:
+Х — оң жаққа (сағат тілінің бағытымен) X орынға айналдыру;
-X - сол жаққа (сағат тіліне қарама-қарсы) X орынға айналдыру;
У — У позициясының айналасында аудару; ең жоғары нүктенің позициясы әрқашан 1-ші, келесі позициялар сағат тілінің бағытымен сананалады. 09, 1
Мәліметтердішығаруформаты
Шығыс файлдың бірінші N бүтін сан болу керек-сақинаның бойындағы сандар ең жоғарысынан бастап сағат тілінің бағаты бойынша.
Мысалға комментарий
Сақинаның бастапқы қалпы: 1 2 3 4 5
1-ші әрекеттен кейін (оң жаққа 2 орынға айналдыру) 4 5 1 2 3
2-ші әрекеттен кейін (сол жаққа 3 орынға айналдыру) 2 3 4 5 1
Есептің мазмұнын дұрыс түсіну үшін алдымен сакинаны сызып көрсетейік.
Бұл сақинының, орындарын тізбек элементтері ретінде қарастыруымызға болады. Ол тізбекті а деп белгілейік.
[ 1.. 1000001 of integer; aI тізбегін түрлендіру үшін қолдануға қосымша алып отырмыз. Енді түрлендіру үшін қолданылатын процедурадарды қарастырайық povpra(x) процедурасы саиптына сағат тілі бағытымен X орынға айналдырады.
Біздің мысалымызда берілген сақина үшін сонда povpra (2) процедуралық шақырту суретте көрсетілгендей түрлендіру орындайды. Яғни әрбір і-ші орынға і-х -ші орындағы сан ауысады. Егер і-хндағы санды айтамыз. Түрлендірулерді орындау үшін аі тізбегіне а тізбегін меншіктеп алып, соңынан түрлендірілгсн aIтізбегін а тізбегіне қайта меншіктейміз. Сонымен
procedure povpra(x:integer);
begin
al:=a;
for i:=l to n do
if i-x1 then al[i]:=a[i-x+n] else al[i]:=a[i-x];
a:=al;
end;
povlev(x) процедурасы сақинаны сағат тіліне қарама-қарсы бағытта X орынға айналдырады.
Біздің мысалымызда берілген сақина үшін соңда povlev(2) процедуралық шақыту суретте көрсетілгендей түрлендіру орындалады. Яғни әрбір і-ші орынға і+х -ші орындағы сан ауысады. Егер і+хп болса, онда і-ші орынға і+х-п —ші орыңдағы санды аламыз. Сонымен
procedure povlev(x:integer
begin------
al:=a;
for i:=l to n do
if i+xn then al[ij:=a[i-\-n| else аЦі):=а[і+х|;
a:=al;
end;
Енді y-ші пoзицияның айналасында аудару әрекетіп орындайтын процедурасын қарастырайық.
Мысалға беріліен сақина үшін perev (3) процедуралық шақыру суретіндегідей түрлендіру жасайды.
Суретте көрсетілгендей әрбір у+і -ші орындағы элементті у-і ші орындағы элементпен орын ауыстыруымыз керек. ауыстырулар n div 2 циклда орындалады. Егер у+і г. болса. оны у+і-п-мен ауыстырамыз. Сондай-ақ егер у-іыстырамыз. у-і және у-і мәндерін есептеу алу үшін оларды ;1.у2 айнымалыларына меншіктеп аламыз. Сонымен процедура былай жазылады:
procedure perev(y:integer):
varyl,y2:integer;
begin
al:=a;
for i:=l to n div 2 do
begin
if y+in then yl:=y+i-n else yl:=y+i;
if y-i1 then y2:=y-i+n else y2:=y-i;
al[yl]:=a[y2]; ally2]:=a[yl];
end;
a:=al;
end;
Енді программаның негізгі бөлігін қарастырайық. Алдымен енгізу файлын ашып алып, одан есеп шартында берілгендей форматта п мен m-ді, содан соң әрекеттерді білдіретін жолдың қатарларды енгіземіз. Әрбір s жолдың қатарын енгізген соң оның бірінші символы s[l]-j.i тексереміз. Егер ат'+' болса, s-тің бірінші символын dekte(s,l,l) процедурасы арқылы жойып. қалған бөлігін val(s,t,code) процедуфасы арқылы t айнымалысына түрлендіріп жазамыз. Содан соң povpra(t) процедурасын шақырамыз. Егер s[l]='-' болса да тура осындай әрекеттер орындаимыз тек povlev(t) процедурасын шақырамыз. Бірінші символ «+» ке де, «-» -ке де тең болмаса, s-ті t санына түрленліріп жазамызда perev(t) процедурасын шақырамыз. Соңынан шығару файлын ашып, оған а тізбегі элементтері мәндерін жазып шығамыз да, ашылған файлдарды жабамыз. Сонымен программаны толық нұсқасы мынадай:
programhoop;
vara,al:array[l.. 1000000] ofinteger; a,
fin,fout:text:
i,k,n,m,t,code:integer: s:string;
procedure povpra(x:integer):
begin
al:=a;
for i:=l to n do
if i-x
a:=al;
end;
procedure povlev(xnnteger):
begin
al:=a;
for i:=l to n do
if i+xn then al[i]:=a[i+x-n] else al[i]:=a[i+x];
a:=al;
end;
procedure perev(y:uiteger):
var yl,y2:integer:
begin
al:=a;
for i:=l to n di\ 2 do
begin
if y+in then yl:=y+i-n else yi:=y+i;
if y-i-i-un else y2:=y-i;
ai"[yll:=a[y2]:
al|y2]:=a[vl]:
end;
a:=al;
end;
begin
assignffin.'hoop.in):
reset(fin):
readln(fin.n,m):
for k:=l to n do a[k]: = k:
for k:=l lo m do
begin
rcadln(fin.s):
if s|!|='+" then
begin
delele(s,1.1):
val(s.t.code);
povpra(t);
end else if s[l]='-'then
begin
delete(s,l,l);
val(s,t,code);
povlev(t);
end else .car begin
val(s,t,code);
perev(t);
end; end;
assign(fout,'hoop.out');
rewrite(fout);
for k:=l to n do
write(fout,a[k],' ");
close(fin);
close(fout);
end.
3-есеп.Шахматтақтасындағышеңбер
Енгізу файлының аты: сігсіе.іп
Шығару файльшың аты: eircle.out
Уақыт шектеу:2 секуид
Жадыға шектеу:64 мегабайт
N х М шахмат тақтасындағы R радиусты шеңбер қойылған, оның центрі тақтаның белгілі бір ұяшығының центрімен сәйкес келеді. Шеңбердің астында толығымен қалған ақ және қара ұяшықтардың саның анықтау керек. Тақтаның сол жақ төменгі ұяшығы қара.
Мәліметтрді енгізу форматы
Кіріс файлдың бірінші жолында аралары пробелмен белінген 4 бүтін caн жазылған:
N -- тақтаға қабырғасының өлшемі (l- шеңбер радиусы (isRslOO):
X. У — шеңбердің центрі сәйкес келетін ұяшықтың координаталары (І1.1).
Мәліметтерді шығару форматы
Шығыс файлдың бірінші жолында екі caнболу керек: шеңбермен толығымен жабылған қара және ақ ұяшықтардың саны сәйкесінше.
мысалы:
circle, in
eircle.out!
5 1 3 3
1 0
Есептің шығару жолы.
Алдымене шахмат тақтасын координаталық жүйемен байланыстырамыз. Координаталар жүйесін есеп шартына байланысты 1-суретте көрсетілгендей етіп аламыз і арқылы тік, j арқылы көлденең координаталық өстерді алайық. Сонда әрбір шаршының нөмірлері (і, j) олардың центріндегі нүктеге сәйкес келеді. Шаршының түсін анықтау үшін олардың координаталарының қосындысының тақжұптығын анықтаймыз.
Егер i+j жұп сан болса шаршы қара түсті, тақ сан болса ақ түсті болғаны.
Әрбір шаршы берілген шеңбер ішінде жатуы үшін оның төрт төбесі де сол шеңбердің ішінде жатуы тиіс.
Біздің алып отырған координаталар жүйемізде ол нүктелердің координаталары (і-0.5, .. j-0.5), (i+0.5, j-0.5), (i-0.5, j+0.5), (i+0.5, j+0.5) болады (2-сурет). Осы нүктелер мен шеңбер центрі (х.у)-ке дейінгі ара қашықтықтар шеңбер радиусынан асып кетпесе, онда бұл нүктелер шеңбер ішінде немесе бойында жатқаны. Екі нүктенің ара қашықтығы
Д = (х2 - х,)2 + (у1 - у2)2формуласымен есептеледі. Сонда бұл ара қашықтықтар мынаған тең:
dl:=sqrt(sqr(x-(i-0.5))+sqr(y-(j-0.5)));
d2:=sqrt(sqr(x-(i+0.5))+sqr(y-G-0.5)));
d3:=sqrt(sqr(x-(i-0.5))+sqr(y-(j+0.5)));
d4:=sqrt(sqr(x-(i+0.5))+sqr(y-(j+0.5)));
Енді нақты программаны қарастырайық. Алдымен енгізу файлын ашып, одан N, R, X, Ү мәндерін оқимыз. Сосын енгізу файлын жабамыз. assign(fin,'circle.in');
reset(fin);
read(fin,n,r,x,y);
ctose(fin);
Шеңбер ішінде жатқан қара түсті шаршылар санын есептеу үшін kb, ал ақтүсті шаршылар санын есептеу үшін kw айнымалыларын аламыз. Олардың бастапқы мөлшерін нолге текестіреміз. Енді бірінің ішіне бірі орналасқан екі FOR циклі арқылы барлық шаршыларды қарасырып шығарамыз әрқайсысы үшін (*) формуламен dl,d2,d3,d4 мәндерін есептеп аламыз. Егер бұлардың әрқайсысы R-ден аспаса:
(dl=r)and(d2оңда, ол шаршының ақ, қара түсті екеңдігін анықтаймыз да, kb, kw айнымалыларының сәйкесіне 1 сан қосамыз.
if(dl
if (i+j) mod 2 =0 then kb:=kb+l else kw:=kw+l;
Сосын шығару файлын ашып, оған kb, kw айнымалыларының мәндерін жазамыз да, файлды жабамыз.
assign(fout,'circle.out');
rewrite(fout);
writeln(fout,kb,' ",kw);
close(fout);
Сонымен программаның толық мәтіні төмендегідей болады.
program circle;
var fin,fout:text;
ij,kb,kw,n,r,x,y:integer;
dl,d2,d3,d4:real;
begin
assign(fin,'circle.in');
reset(fm);
read(fin,n,r,x,y);
close(fin);
kb:=0;kw:=0;
for i:=l to n do
for j:=l to n do
begin
dl:=sqrt(sqr(x-(i-0.5))+sqr(y-(j-0.5)));
d2:=sqrt(sqr(x-(i+0.5))+sqr(y-0-0.5)));
d3:=sqrt(sqr(x-(i-0.5))+sqr{y-0+0.5)));
d4:=sqrt(sqr(x-(i+0.5))+sqr(y-(j+0.5)));
if (dl
if (i+j) mod 2 =0 then kb:=kb+l else kw:=kw+l;
end;
assign(fout,'cirele,out');
rewrite(fout);
writeln(fout,kb,' ",kw);
close(fout);
end.
Оқушыларды олимпиадаға дайындау
Қазіргі уақытта түрлі білім жарыстарында, Қазақстан намысын халықаралық аренадарда биіктерге көтере алатын білімді де талатты жастарға деген сұраныс өте мол. Еліміздің болашағы білімді, қабілетті жастардың қолында. Жастарға білім мен тәрбие беру мектеп қабырғасынан басталады.
Білім беруде мектеп оқушылары арасында өтетін пәндік олимпиадаға оқушыларды дайындау оларға қатыстыру ерекше мазмұнға ие. Олимпиадаға қатысу оқушылардың танымдық шығармашылық белсенділігін, дүние танымын, өзін басқара білу және белгілі бір білім дағдыларын қалыптастыруға ізденімпаздылық пен мақсаттылыққа өзін ұстай білу сияқты адамдық қасиеттері бойына сіңірудс өте маңызды роль атқарады. Мектеп оқушыларының олимпиадасы 9-10-11 сыныптар аралығында өтіп, аудан, облыс, республика, халықаралық деңгейдегі бірнеше кезеңдерден тұрады.
Пәндік олимпиадалар төмендегі мынадай негізгі міндеттерді шешуге мүмкiндiк береді:
- оқушылардың пәнге деген қызығуын арттыру
-оқушыларды түрлі салалардың есептерін компьютерде шешуге қалыптастыру;
- мектеп оқушыларының ішінде ғылыми еңбекке бейім оқушыларды анықтау;
- жоғары сынып оқушыларына кәсіп тандауда көмектесу;
- мектепте сабақтан тыс жұмыстар, үйірмелер, факультативтердің жұмыстарын жандандыру;
Информатика пәнінен өткізілетін олимпиадалар программалау мен базалық курс бойынша өткізіледі.
Информатика пәні бойынша өткізілетін олимпиада тапсырмалары негізінен программалау бойынша қойылады. Бұның себептерінің бірі, алғашқы уақытта компьютерде жұмыс істеу дегенде программалау түсінетін.
Информатикадан олимпиада өткізуде программалауды тандаудың тағы бір себебі. программалауда оқушылардың алатын нәтижесі оқушы тандаған программалау тілі мен техникалық құралының түріне тәуелді емес.
Программалау курсының тапсырмалары базалық курсқа қарағанда күрделі келеді. Өйткені программа құратын алгоритмдік ойлау қабілеті жоғары болуы қажет.
Олимпиадаларға ұсынылатын есептер дәстүрлі емсс, яғни сабақ үрдісінде негізі қаланған бірақ терең талданылмаған есептер. Бұл есептерді шығару оқушылардың қосьшша ізденуін талап етеді. Программалау - компыотер түсіне алатын бслгілі бір командалар жиыны. Кез келген есеп өмірмен тығыз байланысты түрде беріледі. Осы есептердін математикалық көрінісін табу, алгоритмін жасау, машина тілінс аударып, нәтижесін алу қажет. Информатика пәнінің ең негізгі ұғымдарының бірі-алгоритм ұғымы.
Алгоритм - рет-ретімен орындалатын командалар тізбегі деген мағына береді. Программалау барысында берілген есептің алгоритмін табу, яғни комльютерге, есепті орындау үшін орындалуы керек, командалардың ретін көрсету қажет. Есептердің математикалық көрінісін табу қажеттілігі де осында. Өйткені математиканың барлық есептері оиай алгоритмделінеді. Сол үшін программалаумен айналысатын әрбір оқушы терең математикалық білімді меңгеруін қажет етеді.
Оқушыларды олимпиадаға дайындау кезеңі өте күрделі. Дайындалатын оқушының білімін жетілдірумен бірге, оның моральдық психологиялық жағлайьша да мән беру қажет. Программалалау бойынша оқушыларды дайындауда тағы бір ерекшелік, оқушы шығарған әрбір есебін компыотерде тексеріп көруі керек. Сонда оқушының алғаң теориялық білімі практикалық білімімен ұштасады.
Оқушылардың профаммалау бойынша дайындауда төмендегі екі факторға ерекше мән беру керек, оқушыға терең алгоритмдік ойлауды қалыптастыру мен бірге оқушының бір программалау тілін (Паскаль. Бейсик. Си, Фортран және т.б.) жете меңгеруін қамтамасыз ету қажет.
Мен осы бағыттағы жұмысымды 4 кезеңге бөлдім:
1.Оқушылар арасынан математикаға қабілетті, логикалық ойлауы бар оқушыларды таңдау;
2.Таңдалған оқушының алгоритімдік ойлау қабілетін қалыптастыру;
3. Оқушыға компъютерді меңгерту;
4. Оқушыға программалау тілін үйрету.
Олимпиадаға дайындық үшін алынатын оқушыларды 5-6 сынып оқушыларының ішінен тандаған дұрыс. Біріншіден, бұл сынып оқушыларында білімге деген құштарлық жоғары болса, екіншіден, мұғалім оқушыны олимпиадаға 7-8 сыныптан бастап қатыстыру арқылы, оқушының мол тәжірибе жинақтауына мүмкіңдік береді. Сонда оқушы олимпиадаға 3 рет қатысудың орнына 4-5 рет қатысып. білім денгейін толық көрсетуге мүмкіндік алады. Үшіншіден, мұғалім оқушыны 5-6 жыл үздіксіз дайындау арқылы оқушының пәнді жан-жақты меңгеруіне ықпал жасайды.
1-кезенде оқушылармен төмендегідей жұмыстар өткізіледі:
- оқушылармен информатика пәні, оның алға қойған мақсаттары мен бағыттары жайлы сұқбат өткізу;
- пәнге қызығушылық танытқан оқушыларды жинап, тест жұмысын алу арқылы олардың қабілетін тексеру;
- тест жұмысын ойдағыдай тапсырган оқушыларды, сұқбат өткізу арқылы олардың ішінен математикаға қабілетті, алгоритмдік және логикалық ойлауы бар оқушыларды таңдау.
2-кезеңде оқушылардың жалпы логикалық қабілетін дамыту мақсат етіп алынады. Бұл кезеңде оқушыларға түрлі тапсырмалар, есептер беріледі. Есептердің негізгі мазмұны оқушылардың ойлау қабілетін ~дмытатындай болуы қажет. Мысал үшін:
1-есеп. Ақ, сары, қызыл жалаушалар берілген. Осы жалаушалардың орнын ауыстыру арқылы неше түрлі айтуға болады. Бұл есепті шешуде есспті математика тіліне аударып алу қажет. Ақ жалаушаны 1. сарыны 2. қызыл жалаушаны 3 цифрымен белгілеп аламыз. Сөйтіп осы цифрлардың барлық орын ауыстыруларын жазып шықсақ болғаны.
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
демек үш түрлі жалаушамен барлығы 6 түрлі сигнал алуға болады.
2-есеп. Ішкі шарының диаметрі қабырғасымен қоса есептегенде 10 см болған, қалыңдығы 10 мм болған темірден жасалған бір-біріне сандаусыз кигізілген 14 шардың, сыртқы шарының диаметріи тап.
Жауабы: 36 с.м.
3-кезенде оқушылардың компьютерді толық меңгеруіне оңтайлы жағдай жасалу керек. Өйткені олимпиадаға оқушы жазған программасын компьютерге салып, тексере білуі қажет. Бұл жағдайда оқушы компьютерді жетік меңгермесе, өзі жазған программасының толық нәтижесін алалмайды. Олимпиадаға қатысатын оқушы ең болмағанда компьютерде орындалатын мына төменде көрсетілген миннмумды білуі қажет:
- компютерде жұмыс жасаудағы техника қауіпсіздігі ережесін;
- компьютерді іске қосу және өшіру;
- жұмыс үустелі және оның элементтерін басқару;
- файлоар мен папкалар жайлы кең мағлұматқа ие болу;
- компьютерде файлдар мен папкаларды жасау, сақтау, көшіру, өшіру және орнын ауыстыру жолдарын жете білу.
-файлдар мен папкаларды сыртқы тасмалдаушыға (дискет) жекелеген прграммаларды ашу, жабу.
3- кезеңді басып өткен оқушымен 4-кезең, программалауды үйретуді бастауға болады. Бұл кезең мұғалім үшін де оқушы үшін де ең күрделі де жауапты кезең. Өйткені кез-келген есепті санаулы операторлар көмегімен компыотер тіліне аудару үшін программадауда қолданылатын операторлардың жұмыс жасау жолдарын жақсы түсіну қажет. Программа құрудағы ерекшеліктердің бірі, берілген есепті шешудің ондаған жолдарының ішінен ең тиімді алгоритімі тандай білу қажет. Есептің алгоритімін құру барысында операторларында тиімді жұмыс істеуін қамтамассыз ету керек. Программалау курсын оқушыға үйретуде қарапайымнан күрделіге қарай меңгеру принципінде жұмыс жасау тиімді.
Оқушыға Паскаль профаммасының терезе құрылысымен таныстырып шыққаннан кейін, программа денесінің құрылысы мен шамалардың түрлерін таныстыру керек.
Программалауды үйретуде программа құрудың негізгі бағыттары бойынша түрлі есептерді құрау, оқушының осы бағыттарды басшылыққа ала отырып есептерді шешу мен программа құру дағдыларын қалыптастыру керек. Бұл жұмысты төменде көрсетілгендей тәртіпте орындау оқушылардың программалаудағы негізгі талаптарды жылдам түсініп, программа құруды оңай меңгеруіне ықпал етеді.
- енгізу, математикалық, амалдарды орындайтын және нәтиже алатын қарапайым есептер программасын құру;
- түрлі шарттарды тексеру арқылы орындалатын есептер программасын құру; .
- қарапайым циклдық қайталануларға арналған есептер шешу;
- бір өлшемді кестелерге арналған есептер программасын құру;
- екі өлшемді кестелерге арналған есептер программасын құру;
- процедура мен функцияга арналған есептер программасын құру;
- "жазба "-ларға арналған есептер программасын құру; -динамикалық кестелерге арналған есептвр программасын құру.
Жоғарыда айтылған төрт кезеңді толық меңгерген оқушымен алдыңғы олимпиадаларда түскен есептердің ерекшеліктерін талқылап, сол есептерге мазмұндас есептерді шешу арқылы оқушының білімі мен шеберлігін одан әрі нығайта түсу қажет. Берілген есептерді шешу төмендегі кезеңңерден тұрады:
- есепті оқып, тапсырманы дұрыс түсіну;
- есептің математикалық көрінсін алгоритмін табу;
- есептің табылған алгоритмге сәйкес, программасын жазу;
- жазылған программаны компьютерге енгізу және қатесі болған жағдайда программаны жөндеу;
- нәтиже алу.
Міне осы кезеңдерді оқушының әр қашан дұрыс пайдалана білуін қадағалап отыру керек. Қорыта келе, оқушыларды олимпиадаға дайындау, елдің болашақ білімді, сауатты да қабілетті жастарын тәрбиелеудегі, өзіндік қиыншылықтары мен қызықтары мол, үздіксіз процесс.
Қорытынды
Қорыта келгенде, ҚР Президенті Нұрсұлтан Әбішұлы Назарбаев 2006 жылғы халыққа Жолдауында: "Білім беру реформасы-Қазақстанның бәсекеге қабілеттілігін қамтамасыз етуге мүмкіндік беретін аса маңызды құралдарының бірі" екенін ерекше атап айтты.
Игі мақсатты іске асыру жолында шығармашылықпен еңбек етіп келе жатқан Қызылорда облысындағы жалпы білім беретін мектеп мұғалімдері жаңа көзқарас, жаңа талап тұрғысында ізденіс танытып келеді.
"Қазақстан Республикасының экономикалық және қоғамдық жаңару қажеттіліктеріне сай келетін осы заманғы білім беру жүйесі қажет.
Сондықтан он екі жылдық оқуға көшу шеңберінде техникалық және кәсіби білім беретін оқу орындарында одан әрі оқуды таңдағысы келетіндерге он жылдық орта білім беруді жоққа шығаруға болмайды. Адамның өмір бойы білім алуы үшін жағжай туғызуымыз керек", делінген Елбасы жолдауында.
2006-2007 оқу жылында жалпы білім беретін орта мектептерде мамандыққа баулу мақсатында бағдарлы оқыту бойынша информатика пәні Х-сыныпта ҚР Ы.Алтынсарин атындағы Қазақ білім академиясы дайындаған ҚР Білім және ғылым министрінің 18.10.2005ж. N672 бұйрығымен бекітілген жаратылыстану математикалық және қоғамдық-гуманитарлық бағытындағы бағдарламаларымен оқытылуда.
Информатикадан Х-ХІ-сынып оқушыларының аудандық, облыстық олимпиадаларын III бағытта өткізілуін ұсынамын. Бірінші бағыт -программист мамандықты таңдағандар, берілген есептерге программа жазып компьютерде орындайды.
Екінші және үшінші бағытта дербес компьютерді қолданушы және іс-қағаздарды жүргізуші бағдарламалары бойынша тапсырмаларын компьютерде орындайды.
Қазіргі кезде информатика пәні бойынша олимпиадалар бір бағытта өткізіліп жүр. Онда тапсырмаларға программа құрып орындалады. Оқушылардың барлығы программист мамандығын таңдамайтыны баршаға аян. Гуманитарлық пәндер бойынша іс-қағаздарды жүргізу, техника мамандығын таңдаған оқушыларға дербес компьютерді қолданушы бағытын (бұдан компьютерді өңдеу, жөндеу және программаларын орнатып баптау) қолдану қажет.
Сонда оқушылардың информатика пәнін оқу мотивациясы көтеріледі. ҚР индустриялық-инновациялық бағдарламасы бойынша техникалық мамандыққа қызығушылығы артады.
Осы ұсыныс Жолдауда көрсетілген бүгінгі күннің талабына сай болар еді.