Екі өлшемді массив және осы массивтің бағдарламада қойылуы



Жұмыс түрі:  Курстық жұмыс
Тегін:  Антиплагиат
Көлемі: 21 бет
Таңдаулыға:   
ҚР білім және ғылым министірлігі
Көкшетау АРНА колледжі

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

Орындаған: ИС-21-О тобының
студентті Еркебұланов
Ж.
Тексерген: Уалиева А.М

Көкшетау – 2007ж.

ЖОСПАР

Кіріспе

I бөлім. Алгоритмдеудің негіздері

1.1 Құрылымды программалау элементтері

1.2 Паскаль алгоритмдік тілінің негіздері

1.3 Мәліметтердің стандартты типтері

1.4 Өрнектер және меншіктеу операторы

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

2.1 Массивтер туралы жалпы түсінік

2.2 Екі өлшемді массивтер

Қорытынды

Қолданылған әдебиеттер тізімі

Қосымшалар

Кіріспе
Алгоритм түсінігі қазіргі математикадағы негізгі түсініктің бірі болып
табылады. Бұл сөз IX ғасырдағы өзбек матеметигі Мухаммед әл Хорезмидің
атынан шыққан. (арабша – Аль Хорезми). Оның арифметика және алгебра
бойынша жұмыстары XII ғасырда латын тіліне аударылған және Еуропадағы
математиканы дамытуға көп әсер етті. Онымен құрылған төрт арифметикалық
әрекетті орындау ережесі алгоризм атын алды, соңынан алгоритмус сөзіне,
содан соң алгорифм және алгоритм сөзіне айналған. Бірақ-та, одан бұрын
Евклид алғашқы алгоритм болып саналатын екі бүтін санның ең үлкен ортақ
бөлгішін табу ережесін ашқан.
Көп жылдан бері адамдар қолданған алгоритмнің интуитивті түсінігін келесі
түрде айтуға болады:
алгоритм- адымның ақырғы санында алға қойылған мақсатқа жеткізетін
анықталған түрдегі әрекеттер тізбегі.
Біз мұнда әрекеттер түсінігін енгіздік. Әрі қарай мына түсініктер тепе-
тең деп есептейміз:
әрекет -- нұсқау -- оператор.
Әрекеттер (нұсқаулар, операторлар) кей атқарушылармен орындалады. Біздің
жағдайда
орындаушы -- процессор.
Атқарушы кейбір әрекеттер жиынын орындай және түсіне білуі керек, яғни
берілген алгоритм бойынша бұл әрекеттерді қандай тізбекпен орындау қажет.
Ол үшін келесі екі шарт сақталу керек:
1) әрекеттер атқарушыға түсінікті болуы керек;
2) әр түрлі атқарушы бір әрекетті бірдей түсінуі керек.
Өмірде алгоритмдер бізге барлық жерде кездеседі. Адамның кез келген
мақсатты қызметі- алгоритм.
Бағдаршам көмегімен жолды кесіп өту алгоритмі:
1) жасыл шам жанғанша тосу;
2) сол жаққа қарап, жолдың ортасына өту;
3) оң жаққа қарап, жолдың екінші бөлігінен өту.
Бұл алгоритм нақтылы емес. Әлбетте, 2) және 3) пункттерінде машина шыға
келген жағдайдағы әрекеттер болуы мүмкін. Әрине, алгоритм әр атқарушыға
байланысты әр түрлі орындалады.
Кулинарлық кітап алгоритмнің бай жинағы болып табылады. Мысалы, ботқаны
дайындау алгоритмі.
1) отқа су қою;
2) қайнағанша тосу;
3) тұздау;
4) жарманы себелеу;
5) қайнағанша тосу;
6) отты азайту;
7) 20 минут тосу.
Әзір бізді негізінен өндіріс үшін есептемелер немесе есептеуіш
алгоритмдері қызықтыратын болады. Келесі талқылауларда біз осыларды нақ деп
алайық. Мұндай алгоритмдер үшін әрекет- сандық шамаларға арналған әрекет.
Бір алгоритм әр түрлі тәсілмен жазылуы мүмкін. Программалау практикасында
кең таралған тәсілдер:
▪ сөз жүзінде берілуі;
▪ алгоритм схемалары, блок диаграммалар;
▪ шешуші кестелер;
▪ алгоритмдік тілдер (формальды тілдер);
Бірінші, екінші, үшінші тәсілдер адам үшін, ал соңғысы-машина атқарушы үшін
арналған. мұндай жазылу программа деп аталады.
Соңғы уақытта алгоритм жазылуының тағы бір тәсілі-псевдокод көбірек
таралуда. Бұл нақтылы тіл мен алгоритмдік тілдің арасындағы ыңғайлы тіл. Ол
программистке алгоритмдік тілдің конструкциясын да, бірден алгоритмдік
тілді қолдана кету қиын болған жағдайда қарапайым сөздік немесе формулалық
конструкциясында қолдануға мүмкіндік береді.
I бөлім. Алгоритмдеудің негіздері

1.1 Құрылымды программалау элементтері

1965 жылы Итальян оқымыстылары Бан және Джакопини қарапайым алгоритм
жазу үшін қолдануға болатын әрекеттердің саны мен мағынасын анықтайтын
бірқатар жұмыстар орындады. Бір уақытта олармен бірге Эйндховенский
университетінің (Нидерланды) профессор Э. Дейкстра соңынан барлық елде
бекітілген және құрылымды программалау деп аталған программалаудың жаңа
стилін насихаттай бастады. Бұл тіл-емес, ал стиль, оның негізі принциптері
алгоритм (программаны) жазуы үшін шектеулі констукция жинағын қолдану болып
табылады. Бұл конструкциялар құрылымды программалаудың базалық басқару
конструкциялары деп аталады.
Осы конструкцияларды формула бойынша есептеу үшін алгоритм мысалдарын
да қарастыралық.
1-мысал: x=A2-1 енгізу – А;
шығару – х;
Орындаушы формуланы толық қабылдамай, тек жеке есептемелер арқылы
көрсететін болсын. Онда сөз жүзіндегі алгоритм төмендегідей болады.
1. А үшін мән беру
2. А-ны А-ға көбейту, нәтижесін сақтау
3. П. 2 нәтижесіннен 1 санын азайту, нәтижесін х айнымалысында сақтау.
Мұнда бізде маңызды әрекет – есте сақтау пайда болды. Оны меншіктеу деп
атайық. Бұл терең ұғым. Ол жады түсінігімен байланысты. Кез келген
орындаушының жадысы болады: адам - қағаз беті немесе мидың клеткасы,
ЭЕМ – жады ұяшығы.
А Х Әр мәндерді айыру үшін оларды жадының

әр түрлі бөліктеріне орналастыру
керек.

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

Бірақ-та, мұндай тізбек кез келген алгоритмді орындау үшін жеткіліксіз.
Келесі мысалды қарастырайық.
2-мысал:
f= { x -
енгізу
f -
шығару.

f функциясының мәнін есептеу алгоритмін келесі түрде жазайық.
1. х үшін мән беру;
2. Егер x=0
онда 2.1. f=0 мәнін беру
әйтпесе 2.2. f=x*x мәнін беру.
Әрекетті орындау кезінде тармақ беретін жаңа конструкция алдық. Мұндай
конструкция шартты (сәйкесінше алгоритм шартты) немесе ЕГЕР- ОНДА- ӘЙТПЕСЕ
конструкциясы ағылшынша IF- THEN- ELSE деп аталады. Жалпы жазылу түрі
келесідей:
ЕГЕР шарт
ОНДА 1-әрекеттер тізбегі
ӘЙТПЕСЕ 2-әрекеттер тізбегі
Қысқартылған және ықшамданған түрі:
ЕГЕР шарт
ОНДА операторлар тізбегі.
3-мысал. 1-ден 25-ке дейінгі тақ сандардың қосындысын есептеу.

12 енгізу-
жоқ
S= ∑ (2n+1), шығару-S
n=0
S-ті есептеу алгоритмі.
1. S-ке 0 мәнін беру;
2. N-ге 0 мәнін беру;
3. Әзір n=12 орындау керек
1. S-ке 2*n+1 мәнін қосу.
2. n –ді 1-ге арттыру.
Алгоритм әзір 3-ші пункт орындалғанша жұмыс ңстей береді.
Біз мұнда үшінші базалық конструкция – циклдік конструкция алдық. Ол
мынаны білдіреді: әзір қандай да бір шарт ақиқат- мыналарды орында. Ол
ӘЗІР-ОРЫНДА конструкциясы деп аталады. Сәйкес алгоритм циклдік алгоритм деп
аталады. Ол бір әрекетті бірнеше рет орындауға мүмкіндік береді. Жалпы
түрде жазылуы:
ӘЗІР шарт ОРЫНДА
әрекеттер тізбегі.
Тізбек 0,1,...,∞ рет орындалуы мүмкін.
Кез келген күрделі алгоритм жазу үшін осы үш конструкцияны қолдану
жеткілікті.
ЭЕМ пайда болған кейін өте үлкен өлшемді алгоритмдерді құру
мүмкіндігі туды. Мұндай жағдайда мына тәсіл қолданылады: алдымен алгоритмді
қарапайым әрекеттер көмегімен емес, үлкен блок түрінде келтіріп жазады,
содан соң әрбір блокты біртіндеп қарапайым әрекетке дейін кішірек түрге
келтіріп ашып жазады. Мұндай әдіс қадамдық бөлшектеме әдісі деп аталады.
- Программаның блокты құрылымы-ол да құрылымды программалаудың принципі.
- Тағы бір көзқараспен алгоритм қарастырайық. Егер оның құрылымына терең
қарамасақ, онда кезкелген алгоритмді қара жәшік түрінде көрсетуге
болады.

кіру шығу

Кіру – есептеу үшін алгоритмде қолданылатын айнымалылар мен оның
мәндерінің жиынтығы.
Шығу – есептеме орындалған кейін алынған айнымалылар мен мәндерінің
жиынтығы.
Сонымен, алгоритм жазылуы үшін сөз жүзіндегі түрін, мысалы, қазақ
тілінде қолдануға болады. Бірақ та алгоритм жазылуы үшін қарапайым тіл
нашар бейімделген: ол бір тектес емес және ұзын. Бұдан басқа, алгоритм тек
адаммен ғана орындалып қоймай, машинамен де орындалуы қажет, ол алгоритмді
нақты орындай алатын арнайы тілде жазылған нұсқаиа болуы керек. Сондықтан
арнайы немқұрайлы (формальді) алгоритмдік тілдер жетілдірілуде.
Алгоритмдік тілді сипаттайтын ереже екі бөлікке бөлінеді: мағына
(семантика) және синтаксис.
Мағына – тілді сипаттаудың мағыналық бөлігі. Ол алгоритмдерді қалай
түсіну (адамға) және қалай орындау (машинада) керектігін анықтайды.
Синтаксис- алгоритм тілінде алгоритмді жазудың немқұрайлы ережелер
жиыны.

1.2 Паскаль алгоритмдік тілінің негіздері.
Паскаль тілінің бөлшектерін сипаттайтын кітаптар жеткілікті
болғандықтан оның ең негіздерін ғана қарастырайық. Бұл тіл атақты француз
философы, математигі және физигі Блез Паскальдің атына байланысты аталған.
Швейцар жоғары политехникалық мектебінің Информатика Институтының
профессоры Никлаус Виртпен өнделген. Ол туралы алғашқы хабар 1971 жылы
түсті. Шешуші стандарт – 1979 жылы.
Паскаль – қазіргі тіл, ол барлық құрылымды програмалаудың базалық
конструкциясынан тұрады. Бұл өте қарапайым және програмамистерді оқыту үшін
өте ынғайлы. Сонымен қоса ол әр типті мәліметтерді өндеу кезінде көртеген
мүмкіндіктерге ие. Барлық формальді тілдер, яғни паскаль тілі де, берілген
тілде жазылған программаны машинаға енгізу ( мысалы, клавиатурадан) және
шығару (мысалы, дисплей экранына) жеңіл болатындай етіп ұйымдастырылуы
керек. Сондықтан әр тілдің таңбалар жиыны әрқашан клавиатураның шектелген
күшіне байланысты шектеледі.
Программалауды оқытуда Паскаль тілі қолайлы тілдің бірі болып
табылады. Паскаль тіліндегі программа тақырыптан және блок деп аталатын
программаның өзінен тұрады. Блок міндетті түрде келесі рет бойынша
орналасатын бөлімдерден тұрады:
1. белгілер бөлімі;
2. тұрақтылар бөлімі;
3. типтер бөлімі;
4. айнымалылар бөлімі;
5. процедуралар және функциялар бөлімі;
6. операторлар бөлімі;

Операторлар бөлімі begin ... end операторлық жақша арасында орналасады.
Программада соңғы операторлар бөлімінен басқа кез келген бөлімдер қажетсіз
жағдайда жазылмай кетуі мүмкін. Бөлімдер мен операторлар өзара нүктелі үтір
(;) арқылы ажыратылады. Программаның соңында нүкте (.) қойылады.
Программада қолданылатын мәліметтер не тұрақты ретінде, не айнымалы
ретінде анықталуы мүмкін. Айнымалылар var сөзінен кейін, ал тұрақтылар
const сөзінен кейін сипатталуы керек.

1.3 Мәліметтердің стандартты типтері.
Паскаль тілінде мәліметтің 4 стандартты типі бар:
а) бүтін тип;
ә) нақты тип;
б) символдық тип;
в) бульдік (логикалық) тип.

Бүтін тип: мысалы, 1; 10; -33 және т. б. Бүтін типті айнымалыларға келесі
арифметикалық амалдар анықталған: +, -, *, , div (бүтіндей бөлу) , mod
(бүтін бөлгендегі қалдық). Осы амалдардың барлығында нәтиже бүтін типті
болады, тек бөлу амалында нәтиже әрқашан нақты типті болады. Сонымен қатар
нәтижесі логикалық тип болатын мынадай қатынас амалдары анықталған: =, ,
, , =, =.
Бүтін типті аргументтерге келесі стандартты функцияларды қолдануға
болады:
функцияның аты математикалық мәні нәтиженің типі
sin(x) sinx real
cos(x) cosx real
ln(x) lnx real
sqrt(x) √x real
arctan(x) arctgx real
exp(x) ex real
sqr(x) x2 integer
abs(x) x integer

Сонымен қоса келесі функциялар анықталған:
odd(x) – логикалық типті нәтиже береді: жұп аргументті үшін- false, ал
тақ аргументті үшін – true;
succ(x) - келесі бүтін санды алады (яғни х-тен 1-ге үлкен сан);
pred(x) - алдыңғы бүтін санды алады (яғни х-тен 1-ге кем сан).

Нақты тип. REAL типті сандар бөлшек бөлікті болуы да мүмкін: 1,08; 0,0;
11,0; 1.1Е+5 (110000); 0.5Е-3 (0,0005).
Нақты типті айнымалыларға келесі арифметикалық амалдар анықталған: +, -,
*, және қатынас амалдары. Аргументі нақты тип болатын келесі стандартты
функциялар қолданылады: sin(x), cos(x), ln(x), sqrt(x), arctan(x), exp(x),
sqr(x), abs(x). Сонымен қатар нақты типті мәнді бүтін типті мәнге
түрлендіретін стандартты функциялар анықталған:
trunc(x)- аргументтің бөлшек бөлігін алып тастау арқылы бүтін нәтиже
алады;
round(x)- аргументтің мәнін дөңгелектеу арқылы бүтін нәтиже алады.
мысалы, егер x=19,56, онда trunc (x)=19, round (x)=20;
егер x= -1,7, онда trunc (x)= -1, round (x)= -2.
Символдық тип. Апострофқа алынған таңбалар символдық типтегі тұрақтыны
білдіреді. Мысалы, ‘A’, ‘x’, ‘5’, ‘=’, ‘,’. Түрлендіру функциялары деп
аталатын бір- біріне қатынасы бойынша қарама- қарсы екі стандартты функция
бар:
ord(S)- символдың реттелген жиынындағы S таңбасының реттік орнын береді.
Мысалы, ord('A')= 65, ord(':')= 58.
chr(I)- символдың реттелген жиынындағы I–ші орында тұрған таңбаны береді.
Мысалы, chr(65)= ‘A’, chr(66)= ‘B’.
Символдық типті айнымалыларға қатынас амалдары анықталған. С1C2 қатынасы
ақиқат сонда, тек қана сонда, егер ORD(C1)ORD(C2) болса.
Сонымен қоса символдық типті аргументтерге PRED(S) және SUCC(S)
стандартты функциялары қолданылады. Мысалы, PRED(‘B’)=’A’, SUCC(‘A’)=’B’.
Келесі теңдіктер ақиқат болады:
PRED(S)= CHR(ORD(S)-1) және SUCC(S)=CHR(ORD(S)+1).
Бульдік (логикалық) тип. Бульдік типтегі айнымалылар екі TRUE немесе
FALSE мәндерінің бірін ғана қабылдай алады. Оларға үш логикалық амалдар
анықталған: NOT (терістеу), AND (конъюнкция) және OR(дизъюнкция). Бульдік
типте FALSE TRUE ДЕП анықталған, яғни қатынас амалдарын тек бүтін, нақты,
символдық типті мәліметтерге ғана емес, бульдік типті мәліметтерге де
қолдануға болады. FALSE және TRUE мәндерін екі элементтен тұратын реттелген
жиын түрінде қарастыруға болады. Сондықтан келесі стандартты функцияның
мәндері анықталған:
ORD(FALSE)=0; ORD(TRUE)=1;
SUCC(FALSE)=TRUE; PRED(TRUE)=FALSE.

1. 4 Өрнектер және меншіктеу операторы.
Өрнектің мәні қойылған жақшалар мен амалдардың орындалу ретін ескеріп
есептеледі. Өрнекте амалдардың орындалу реті келесідей (бір жолдағы амалдар
бірдей ретке ие болады):
NOT
*, , MOD, DIV, AND
+, -, OR
, =, , ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Символдық және көпөлшемді массивтертер
С++ Массивтер
Жалпы білім беретін орта мектепте информатика курсының мазмұны
Turbo Pascal жүйесінде массивтерді ұйымдастыру технологиясы
Спортлото ойыны
С тіліндегі массивтер түсінігі
С++ тіліндегі массивтер
Delphi бағдарламасындағы массивтер
Си тілінен дәрістер
Builder С ортасында бағдарламалау
Пәндер