ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 05.09.2021

Просмотров: 245

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Ф КГМУ 4/3-07/01

ПП КГМУ 4/01


ҚАРАҒАНДЫ МЕМЛЕКЕТТІК МЕДИЦИНА УНИВЕРСИТЕТІ


МЕДИЦИНАЛЫҚ БИОФИЗИКА ЖӘНЕ ИНФОРМАТИКА КАФЕДРАСЫ









Оқытушымен орындалатын өздік жұмыстарға арналған әдістемелік нұсқау







Тақырыбы: «Мәліметтер массивтерін программалау»






Мамандғы: 5B110200 «Қоғамдық денсаулық сақтау»

Пән: ООDОO5 Inf 1105 ИНФОРМАТИКА

КУРС: І

Құрастырған: Омарбекова Н. К.














Қарағанды, 2010



Кафедра отырысында бекітілді


_____ хаттама «____»_______________


БЕКІТІЛГЕН


Кафедра меңгерушісі ____________________Б.К. Койчубеков


Тақырыбы: Мәліметтер массивтерін программалау.

Сабақ мақсаты: массивтермен жұмыс істеу кезінде циклдерді қолдану дағдыларын практикалық иелену

Студент білуі керек:

  • Массив түсінігін

  • Массивтерді қолдану

  • Циклдер түрлерін

  • Циклдер сипаттамаларын

  • Цикл операторларын жазу формаларын

  • Цикл операторларының тағайындалуын

  • Сұрыптау түрлерін

Студент істей алуы керек:

  • Цикл операторларын ажырату

  • Бірөлшемді және көпөлшемді массивтер құру

  • Массивтермен жұмыс істеуде циклдерді қолдану

  • Массив элементтерін енгізу және шығаруды ұйымдастыру

  • Массивтердегі мәліметтерді сұрыптау

Базистік сұрақтар:

  • Циклдер түсінігі

  • Циклдер түрлері

  • Циклдер операторлары

  • Программалау орталары

  • Мәліметтер түрлері


Сабақ тақырыбы бойынша сұрақтар:

    1. Массив дегеніміз не?

    2. Массивтерді сипаттау үшін қолданылатын оператор?

    3. Массивтер ЭЕМ жадысында қалай орналасады?

    4. Массив элементтерін жазу формасы қандай?

    5. Массив элементтерінің орналасуын қалай анықтауға болады?

    6. Индекс дегеніміз не?

    7. Массивтің сипаттамасы қалайша беріледі?

    8. Массив элементтерін енгізу және шығару қалай ұйымдастырылады?

    9. Циклдік алгоритмдер дегеніміз не?

    10. Қайталау командасы қалай орындалады?

    11. Массивті сұрыптау дегеніміз не?

    12. Сұрыптаудың қандай тәсілдері бар?

    Ақпараттық- дидактикалық блок


    1. МАССИВТЕР

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

    Кестенің әрбір мәніне немесе элементіне оның реттік номері сәйкес келеді. Сонда реттік номерді бергенде кестенің қандай элементі жайлы айтылып отырғанын білеміз.

    1 кесте

    1

    2

    3

    4

    5

    2,5

    1,5

    -6

    12

    8


    Бұл кестенің 5 элементі бар. Бесінші элементтің мәні 8, ал үшіншінің мәні -6. 1,5 мәні екінші элементке тән, ал 12 – төртінші элементтің мәні.

    Кестені сақтағанда оның реттік номерін сақтаудың қажеттілігі жоқ: нөмірлену басын біле отырып, санау арқылы кез келген элементті табуға болады. Сонымен қатар, ең үлкен реттік номерді білген жөн, ол кестенің өлшемін білдіреді.

    Осылайша, егер бір шама сызықтық кесте болса, онда оныңкесте элементтерінің типін, оның атын, бастапқы және соңғы реттік нөмірлерін беру керек.

    Кестелік шамамен жұмыс істеу оның элементтерімен жұмыс істеуге әкеледі. Қазіргі кезде қандай элемент қолданылып отырғанын көрсету үшін оның реттік нөмірін – индексін көрсеткен жеткілікті.

    Кестелік шамалармен компьютерде жұмыс істеу үшін массивтер қолданылады.

    Массив – жалпы атпен және типпен біріккен, нөмірлері бойынша реттелген мәндер жиынтығы.

    Массив құру кезінде компьютер бірдей аттары бар, бірінен соң бірі орналасқан ұяшықтар тізбегін бөліп береді.

    Массив элементтері нөмірленеді. Элементтің нөмірі (индексі) – массив басына қатысты элементтің орналасуын көрсетеді.


    QBASIC-те массивтер DIM операторының көмегімен сипатталады:

    Оператор

    Жол формасы

    Аты

    Тағайындалуы

    DIM

    DIM массив аты (максимал индекс)

    Оператор массив өлшемі

    ЭЕМ жадысында массивті орналастырады


    Массив элементтерінің басты индексі болып ноль саналады. DIM A(3) операторы орындалғанда, QBASIC массивке 4 ұяшық бөліп, оларға нольдік мән береді.

    А(0)

    А(1)

    А(2)

    А(3)

    0

    0

    0

    0


    Ыңғайлылық үшін бірінші элементтің нөмірін 1-ге өзгертуге болады, ол үшін OPTION BASE 1: OPTION BASE 1 DIM A(3)операторы қолданылады. Бұл жағдайда массивке 3 ұяшық бөлінеді.

    А(1)

    А(2)

    А(3)

    0

    0

    0


    Массив элементтерін енгізу және шығару FOR және NEXT операторларының көмегімен ұйымдастырылған цикл көмегімен жүзеге асырған ыңғайлы.

    1.1 Массивтерге орындалатын әрекеттер

    Массивпен біртұтас элемент ретінде жұмыс істеу үшін дөңгелек жақшада индексі көрсетілмеген массив идентификаторы қолданылады. Массив тек қана «тең», «тең емес» және теңестіру операторына қатыса алады. Бұл әрекеттерге қатысыт массивтер құрылымы жағынан бірдей, яғни индекстерінің типтері және компоненттерінің типтері бірдей болу керек.

    1.2 Массив элементтеріне орындалатын әрекеттер

    Массивті құрған соң оның әрбір элементін өңдеуге болады, ол үшін массивтің идентификаторын (атын) және элементінің индексін дөңгелек жақшада көрсетіп жазу керек. Мысалы, Mas(2), VectorZ(10) жазбасы Mas массивінің екінші элементімен және VectorZ массивінің оныншы элементімен жұмыс істеуге болатынын көрсетеді. Екіөлшемді массивтермен жұмыс істегенде екі индекс көрсетіледі, n-өлшемді массивтерде n индекс жазылады. Мысалы, MatrU(4,4) жазбасы MatrU массивтің төртінші жолында және төртінші бағанында орналасқан элемент мәнін өңдеуге мүмкіндік береді.

    Массивтің индекстелген элементтері индекстелген айнымалылар деп аталып, қарапайым айнымалылар сияқты қолданыла алады. Мысалы, олар for, while, repeat операторларында, PRINT, INPUT операторларының параметрлері ретінде қолданыла алады, оларға типтеріне сәйкес келетін кез келген мән беруге болады.


    2. МАССИВТЕРДІ СҰРЫПТАУ

    Сұрыптау – мәліметтерді өңдеудің ең таралған процессінің бірі. Сұрыптау деп нақты ережелерге сәйкес көпше элементтенінің топтарға таралуын айтады. Мысалы, массив элементтерін сұрыптау, нәтижесінде элементінің әрқайсысы сол жағында тұрған элементінен үлкен болмайтын массивке сұрыптау өсімі бойынша сұрыптау деп аталады.

    2.1 Сызықтық сұрыптау (таңдау арқылы сұрыптау)

    Өсімі емес бойынша сызықтық сұрыптаудың мәні мынада: бүкіл массивті біртіндеп қарап шығып, ең үлкен санды табу, оны бірінші позицияға сол жерде тұрған элементпен ауыстыру арқылы орналастыру. Содан кейні массивтің қалған элементтері қаралады да, осындай операция орындалады, яғни массивтің қалған бөлігіндегі ең үлкен элемент табылып, ол бірінші позицияға қойылады, ал сол позицияда тұрған элемент табылған элементтің орнына апарып қойылады және т.с.с.



    QBASIC – те массивті сызықтық сұрыптау программасын мысалға келтірейік:

    REM сызықтық сұрыптау

    CLS

    INPUT «Введите размер массива»; razmer

    razmer= razmer-1

    DIM Massiv(razmer)

    PRINT «Введите числа в массив»

    FOR i=0 TO razmer

    INPUT Massiv(i)

    NEXT i

    REM массивті сұрыптау

    max=Massiv(0)

    nomer=0

    DO

    FOR i=nomer TO razmer

    IF Massiv(i)>max THEN

    Massiv(nomer)=Massiv(i)

    Massiv(i)=max

    max=Massiv(nomer)

    END IF

    NEXT i

    nomer=nomer+1

    max=Massiv(nomer)

    LOOP WHILE nomer< razmer

    PRINT «Максимальное число»; Massiv(0)

    FOR i=0 TO razmer

    PRINT Massiv(i)

    NEXT i

    END


    Программаны қосу үшін RUN=>Start менюін немесе Shift+F5 пернелер комбинациясын қолдану керек.

    Бұл конструкция келесідей жұмыс істейді. Алдымен CLS операторы экранды тазартады. Содан кейін INPUT операторы орындалады, оның көмегімен массивтің ұяшық саны орнатылады. Массив элементтерінің барлығы нөлден бастап нөмірленетіндіктен, razmer айнымалысында массив өлшемін 1-ге азайтып беру керек.

    Келесі қадамда DIM операторының көмегімен массивті белгілейді және оның өлшемін береді. «Введите числа в массив» хабарламасы шыққан соң және цикл операторларының көмегімен пернетақтадан массив ұяшықтарының барлығы толтырылады.

    Сұрыптаудың өзі max айнымалысына массивтің бірінші элементінің мәні берліген соң және nomer айнымалысына оның массивтегі нөмірі берліген соң басталады.

    Қайталанулар саны алдын ала белгісіз циклді DO, LOOP WHILE қолданып, массивтің қарастырылып жатқан учаскесінің әрбір элементін қарап шығамыз және оны бірінші элементпен салыстырамыз. Қарастырылып жатқан учаскенің өлшемі FOR, TO операторлар көмегімен анықталады.

    i айнымалысына nomer айнымалысының мәнін береміз, бұл талданатын учаскенің басын анықтау үшін қажет, учаскенің аяғы razmer айнымалысымен анықталады.

    Содан кейін шарт тексеріледі, егер Massiv(i)-дің кезектегі мәні max айнымалысынан үлкен болса, онда массивтің тексеріліп жатқан мәні мен қарастырылып жатқан учаскенің бірінші элементінің мәндерін алмастырамыз. Бұл операцияны массивтің барлық элементтері бір-бірімен салыстырылып өткенше орындалады.

    nomer мәнін 1-ге артырып отыру массивтің қарастырылып отырған учаскесінің өлшемін азайтып отыруға мүмкіндік береді.

    Аяғында массивтің максимал мәнін және оның барлық мәндерін бір жолға шығарып береміз.


    2.2 Пузырек (көпіршік) әдісімен сұрыптау

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

    QBASIC – те массивті көпіршікті сұрыптау программасын мысалға келтірейік:

    REM көпіршік әдісімен сұрыптау