11 апта
Дәріс №11. Деректерді сұрыптау әдістері
Массивтің минималды және максималды элементтерін анықтау
Ең алдымен массивтің ең кіші немесе ең үлкен элементі деп жорамалмен 1-ші элементі алынады. Ары қарай массивтің ең кіші немесе ең үлкен элементін табу үшін цикл орындалады, яғни сол элемент басқа элементтермен салыстырылады. Егер ағымды элемент басқаларға қарағанда ең үлкен болса, онда сол элемент ізделінді элемент болғаны, басқа жағдайда ең үлкен элемент өзгеріссіз қалады. Оны математикалық формула түрінде былай жазуға болады
Сәйкесінше ең кішіні табу:
Сұрыптау. Қарапайым таңдау әдісімен сұрыптау. Қарапайым ауыстыру әдісімен сұрыптау. Тікелей қосу әдісімен сұрыптау. Араласу әдісімен сұрыптау. Бөлу әдісімен сұрыптау. (Хоар сұрыптауы).
Сұрыптау – бұл қандай да бір жиынның элементтерін кему немесе өсу ретімен ауыстыру процесі.
Массивтерді сұрыптау алгоритмдері бірнешеу. Тиімділік критерийі бойынша қарапайым және жақсартылған болып бөлінеді.
Қарапайым:
-
Қарапайым қосумен сұрыптау;
-
Тікелей таңдаумен сұрыптау;
-
Қарапайым ауыстырумен сұрыптау
Жақсартылған әдіс
Тікелей таңдаулы сұрыптау
a1, a2, …, an сандар берілген, соларды азаюы бойынша орналасатындай етіп орналастыру керек. Ол үшін массивтегі элементтен ең үлкен элемент алынып, ол бірінші орынға қойылады, ал бірінші элемент жанағы ең үлкен элементтең орнына қойылады. Сонан соң. Екіншіден басталыр әлгі процедура қайталанады.
Қарапайым айырбастау сұрыптауы
a1, a2, …, an сандар берілген, соларды өсуі бойынша орналасатындай етіп орналастыру керек. Ол үшін массивтегі 2 көрші элемент салыстырылып, егер ai> ai+1 болса, ауыстыру орындалады. Осылайша, барлық элементтер өсу ретімен орналасқанша орындала береді.
.Өзін-өзі тексеру сұрақтары
-
Массивтің максималды (минималды) элементін табу алгоритмі?
-
Массивті сорттау деген не?
-
Тікелей таңдау әдісі бойынша массивті сұрыптау алгоритмі?
-
Қарапайым айырбастау әдісі бойынша массивті сұрыптау алгоритмі?
Әдебиет: (1) бет. 140-153
12 апта
Дәріс №12. Деректер типі – Жазбалар.
Массив анықтамасында айтылғандай, массив дегеніміз құрылымына және қолдану тәсіліне байланысты, бір типті нөмірленген тізімдідер. Егер әртүрлі типтегі мәліметтер берілген болсын. Осы тізімнен белгілі бір жлыдар аралығында туған оқушыларды сұрыптап бөліп алу керек болсын.
Мәліметтерді сақтау үшін оған екі массмвке орын бөлуімізге болатын еді. Бірінші массив (snring типті) оқушылардың аты жөнін сақтауға, екіншісі сақтауға арналған. Егер бізге қосымша мәліметтер (мысалы: сыныбы, ұлты, т.б.) енгізу керек болса, онда енгізуге тура келеді. Бір мезгілде бірнеше массивпен жұмыс істеу және оларды смпаттамалары бойынша сұрыптауға, әрине болады, бірақ үлкен жұмысты талап етеді. Сонымен қатар бұл мәліметтерді файлда сақтау керек болса не істейміз?
Файлдар туралы сұрақтарды талдағанда айтылғандай, файл элементтері тек бір типті элементтер болып келеді. Олай болса әр түрлі типтегі элементтерді әрбір типке – жолдық типке айналдырып, мәтіндік файлдармен жұмыс істеуіміз керек.
Мәліметтерді сақтай аламыз, бірақ болашақта бұл мәліметтермен жұмыс істеу жеткілікті қиындық туғызады.
Бұл қиындықтан шығу үшін мәліметтердің құрама типі қолданады. Мәліметтердің бұл типі жазба деп аталады. Жазбалар әр түрлі типтегі элементтер жиынтығынан тұрады. Жазба элелменттерін құраушыларды өріс деп атайды да, әрбір өрістің өзіндік атауы болады. Әрбір жазбаның бірегей атауы болады.
-
атауы;
-
саны;
-
бағасы;
-
сертификаттың болуы
және т.б.
Бұл мысалдағы шамалар типі мынадай:
-
атауы – string,
-
саны – integer,
-
бағасы – real,
-
сертификаттың болуы – boolean.
Осындай объектілерді сипаттауда Паскальда –жазбалар қолданылады.
Жазба типті айнымалыны сипаттау
Жазбалар әр түрлі типтегі элементтер жиынтығынан тұрады. Жазба элелменттерін құраушыларды өріс деп атайды да, әрбір өрістің өзіндік атауы болады. Әрбір жазбаның бірегей атауы болады.
-
Жазба атауы Тізім
-
Өрістің атауы Фамилия Аты Туған жылы
-
Өрістер мәні Ахметов Алдияр 1980
Жазбаны өңдеу элементар объектә түрінде шығады. Мұндай объект типі – record (жазба) деп аталады. Олай болса, мәліметтердің типтеріне байланысты шектеулер алынып тасталады.
Жазбаларды сипаттау үшін, оның атауы, берілген өрісте сақталатын мәліметтердің атауы және типі көрсетілуі керек. Жазбалардың жалпы түрде сипатталуы келесідегідей:
Type<жазба атауы>=Record
<1 өріс>:<1 тип>;
<2 өріс>:<2 тип>;
……………………
:;
end;
Жазбаны сипаттау
Берілген мәліметтерді сипаттау
№
|
Атауы
|
саны
|
бағасы
|
Шыққан жылы
|
1
|
Орындық
|
110
|
4502,5
|
2009
|
Егер өрістерді былай берсек:
№ - N
Атауы - Name
Саны - K
Бағасы - C
Шыққан жылы - G
Онда сипатталу мынадай болады:
type T1=record
N,K,G:integer;
Name:string;
C:real;
end;
var X:T1;
Өзін тексеру сұрақтары
-
Жол деген не?
-
Программада жолдық айнымалыларды қалай сипаттайды?
-
Жолдық өрнек деген не?
-
Жолдық деректермен қандай амалдар жасауға болады?
-
Жолдың жеке символына қалай қарасуға болады?
-
Жолдармен жұмыстың қандай процедуралары мен функциялары бар?
Әдебиет: (1) бет. 130-140
2>2>1>1>
Достарыңызбен бөлісу: |