Г. И. Бейсенова



бет81/111
Дата04.11.2022
өлшемі2,71 Mb.
#47479
1   ...   77   78   79   80   81   82   83   84   ...   111
Есептерді шығару мысалдары. «Айнымалы», «меншіктеу» ұғымдарын бекітуге арналған бірнеше есептерді қарастырайық.

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

енгізу А ... шығару А Шешімі. енгізу А
А:= А*А (А2) А:= А*А (А4)
шығару А

  1. -мысал. Алгоритмдік тілде Y=(1-X2+5Х4)2 формуласы бойынша

Y-ті есептейтін алгоритмді жазу керек, мұндағы Х – берілген бүтін сан. Мына шектеулерді ескеру қажет:

  1. арифметикалық өрнектерде тек қосу, алу және көбейту амалдарын қолдануға болады;

  2. өрнекте тек бір ғана амал болуы керек. Х=2 мәнінде алгоритмнің ізсалуын орындау керек.

Шешімі. Оқушылар бұл есепті шешудің әртүрлі нұсқаларын құрулары мүмкін. Аралық нәтижелер үшін қосымша айнымалы қолдануға болды. Есепті талдау барысында тек Х және Y айнымалыларын ғана қолданып, яғни қосымша айнымалы қолданбай құрылған алгоритмді қарастыру пайдалы. Онда компьютердің жады үнемделеді.
Бұл алгоритмнің өзі және оның ізсалуы мынадай болады:



Бұйрық

X

Y

Енгізу X

2




X := X*X

4




Y := 1 -X




-3

X := X * X

16




X := 5 * X

80




Y := Y + X




77

Y := Y * Y

5929




Шығару Y

5929




  1. -мысал. Алдындағы есептің шектеулерін пайдаланып, мына есепеулердің ең қысқа алгритмдерін жазу керек:

а) Y = X8; б) Y= Х10; в) Y= X15; г) Y = X19.
Қосымша айнымалының санын минималды аз қолдануға тырысу қажет. Алгоритмдердің ізсалуын орындау керек.
Шешімі. Тапсырманың г) нұсқасын орындаймыз. Алгоритмді мына теңдікті: X19163 ескере отырып құрамыз. XK мәндері (мұнда k = 2n) айнымалының өзіне өзі n-еселі көбейту арқылы тез есептеледі.
Алгоритм:
Y := X*X (X2)
Z := Y*Y (X4)
Z := Z*Z (X8)
Z := Z*Z (X16)
Z := Z*Y (X18)
Z := Z*X (X19)
Шығару Z

  1. -мысал. Үш А,В,С айнымалыларының мәндерінің циклдік ауысу алгоритмін жазу керек. Циклдік ауысу схемасы:



A B C



Мысалы, егер ауысуға дейін А=1, В=2, С = 3 болса, ауысқаннан кейін А =3, В=1, С=2 болуға тиіс. Ізсалуды орындау керек.
Шешімі. Мәндерді ауыстыру үшін қосымша айнымалы керек, оны – Х деп белгілейік. Алгоритмнің өзі және оның ізсалуы мынадай болады:

Бұйрық

A

B

C

X

Енгізу А, В, С

1

2

3




Х:=С










3

С:=В







2




В:=А




1







А :=Х

3










Шығару А, В, С

3

1

2






  1. Бағдарламалау тілін оқудың әдістемелік мәселелері


Қарастырылатын сұрақтар:

  • бағдарламалау информатиканың бөлімі ретінде;

  • шамалармен жұмыс жасау алгоритмдері;

  • әртүрлі құрылымды есептеу алгоритмдерін құру;

  • Паскаль бағдарламалау тілімен танысу;

  • Паскаль бағдарламалау жүйесі ортасымен жұмыс істеу тәсілдерін игеру.

Бағдарламалау информатиканың бөлімі, оның міндеті –ЭЕМ үшін бағдарламалық қамсыздандыруды жасау.
Шын мәнінде, «бағдарламалау» сөзі – белгілі бағдарламалау тілінде бағдарлама жасау үрдісін белгілейді.
Жүйелік БҚ құралдарын және жүйелік бағдарламалауды жасауды жүйелік бағдарламалау, қолданбалы бағдарламаны жасауды қолданбалы бағдарламалау деп атайды. Бағдарламаушыларда жасайтын бағдарламаларына байланысты осы принцип бойынша бөлінеді.
Қазір бағдарламалаудың әртүрлі парадигмалары дамыған және олардың әрқайсысын оқытудың өзіндік ерекшеліктері бар. Бағдарламалаудың негізгі парадигмаларына мыналар жатады (1-қосымша, 4-сызба):

  • процедуралық бағдарламалау (Ассемблер, Фортран, Паскаль, Бейсик, Си);

  • логикалық бағдарламалау (Пролог);

  • функционалды бағдарламалау (Лисп);

  • объектілі-бағытталған бағдарламалау (Смолток, Си++, Делфи).

Жақша ішінде сәйкес парадигмасы жүзеге асырылған бағдарламалау тілдерінің мысалдары келтірілген.
Классикалық, әмбебапты және ең көп тараған процедуралық парадигма болып табылады. Мектепте көбінесе процедуралық Паскаль немесе Бейсик тілі оқытылады. Ары қарай «бағдарламалау» сөзін дәл осы процедуралық парадигма деп түсінеміз.
Бағдарламалауды оқу және практика жүзінде игеру үрдісі үш бөліктен тұрады (5.6-сурет):

  • есептеу алгоритмдерін құру әдістерін оқу;

  • бағдарламалау тілін оқу;

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

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






БАҒДАРЛАМАЛАУ






















Алгоритмдеу




Бағдарламалау тілдері




Бағдарламалау жүйелері

    1. -сурет. Бағдарламалауды оқудың негізгі бөлімдері



Мұғалімің алдында мына проблема пайда болады: шамалармен жұмыс істеу алгоритмдерін құру әдістерін оқытуды және бағдарламалау тілін қалай байланыстыруға болады? Қарастырудың екі нұсқасы болуы мүмкін:

  1. алдымен әртүрлі алгоритмдер қарастырылады, оларды сипаттау үшін блок-схемалар және АТ қолданылады; одан соң – бағдарламалау тілдерінің ережелері, құрылған алгоритмдерді бағдарламаға аудару әдістері қарастырылады.

  2. алгоритмдеу және бағдарламалау тілі қатар игеріледі.

Біз екінші нұсқамен қарастыру әдістемесін қолдануды ұсынамыз. Себебі алгоритмдеуді және бағдарламалауды тек теориялық түрде оқу тиімсіз екені белгілі. Сондықтан оқушылар құрған алгоритмдерінің дұрыстығын компьютерде тексеруге ертерек мүмкіндік алулары қажет. Бағдарламалау тілімен танысу және бағдарламалау жүйесі ортасында жұмыс жасау тәсілдерін игеру алгоритмдеумен қатар жүруге тиіс.
Бағдарламалауға үйретуді типтік есептердің мысалдары негізінде және алгоритмдердің құрылымын біртіндеп күрдендіру арқылы өткізу қажет.
Алгоритмдердің негіздік құрылымдары дегеніміз - шектелген блоктардың жинақталымы және әрекеттердің әдетті тізбектерін орындау үшін оларды қосудың стандартты әдістері.
Құрылымдық белгісі бойынша алгоритмдер мына негіздік құрылымдарға жіктелетіні белгілі:
Сызықты құрылымды алгоритмнің бұйрықтары үзілісті тізбекпен, бірінен кейін бірі орындалады. Әдетте, формула бойынша есептеу ұйымдастыруға қолданылады.
Тармақталу құрылымды алгоритм белгілі шартқа тәуелді ұйымдастырылады. Мұндай алгоритмде, әдетте, логикалық шартты тексеру блогы болады. Егер шарт орындалса, онда әрекеттер тізбегінің бір тармағы орындалады, ал орындалмаса, екінші тармағы орындалады. Яғни, шартқа тәуелді, әлде бір серияны, әйтпесе басқа серияны орындау керек болғанда пайдаланылады. Мысалы, бірнеше мәндердің ең кішісін немесе ең үлкенін іздеу, тармақталған диалог құру, т.с.с. типтік есептердің алгоритмін ұйымдастыру үшін.
Циклдік құрылымды алгоритмдер деп, цикл денесі деп аталатын әрекеттер тізбегін көп рет қайталануын жүзеге асыратын алгоритмдерді атайды. Мысалы, циклдік типті алгоритмдерінің қатарына, сандық тізбектерінің қосындысын және көбейтіндісін есептеу, деректерді циклдік әдіспен енгізу және өңдеу, т.с.с. жатады.
Есептерді шығару мысалдары [26, 42]. Бағдарламалау тілінің жаңа амалдары, операторлары, т.б. күрделі құрылымдарды, есептердің мына типтерін шығару үшін керектігіне қарай біртіндеп енгізіліп, бекітіліп отырады.
Паскаль тілі қолданылған бірнеше есептерді қарастырайық. Бұл мысалдар алгоритмдік тіл мен Паскаль тілінің арасындағы ұқсастық әдісін қолдануды көрсетеді.
1-мысал. Берілген үш x,y,z санның ең үлкенін табу алгоритмін жазу керек. Бұл есепті шешу үшін құрылымы бойынша нұсқасы әртүрлі алгоритмдерді құруға болады. Соларды көрсетейік.

  1. -шешім. Алдымен алғашқы x,y екі санның арасындағы үлкені, одан соң табылған k және z арасындағы үлкені анықталады. Алгоритмнің құрылымы тізбектелген екі толық тармақталудан тұрады.

алг 3-сан-мах (нақ x,y,z,k,max) Program max_3_san;
арг x,y,z Var x, y,z,k: real;
нәт max max : real;
басы begin writeln(‘вв.3 числа’); енгізу x,y,z readln(x,y,z);
егер x >y if x > y
онда k: = x then k:= x
әйтпесе k : =y else k:= y;
бітті if k > z
егер k >z then max:= k
онда max: = k else max:= z;
әйтпесе max : =z wrіreln(max );
бітті readln;
шығару max end.

соңы


  1. -шешім. Алгоритмде қабаттасқан толық тармақталуды

қолданамыз. Паскаль тіліндегі алгоритмнің нұсқасын көрсетейік:
Program max_3_san;
Var x, y,z,max: real;

begin


write(‘вв.3 числа’);
readln(x,y,z);
if x > y
then if x >= z then max := x else max := z else if y >= z then max := y else max := z; wrіreln(‘максимальное значение’, max); end.

  1. -шешім. Алгоритмді күрделі логикалық өрнектерді пайдаланып, толық емес тармақталуды тізбекпен қолдану арқылы құрамыз. Паскаль тіліндегі алгоритмнің нұсқасы:



Достарыңызбен бөлісу:
1   ...   77   78   79   80   81   82   83   84   ...   111




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет