Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

тема_22_каз

.doc
Скачиваний:
11
Добавлен:
20.05.2015
Размер:
118.27 Кб
Скачать

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

ПП КГМУ 4/01

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

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

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

Тақырыбы: «Қайталану алгоритмдерді программалау»

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

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

КУРС: І

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

Қарағанды, 2010

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

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

БЕКІТІЛГЕН

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

Тақырыбы: Қайталану алгоритмдерді программалау.

Тақырыптың маңыздылығы: Алгоритмдеу және программалау негіздерін түсіну, оның қасиеттерін білу. Алгоритмдерді алгоритм тілінде көрсету.

Алгоритмдер көрсетімінің әдістерін үйрену.

Сабақ мақсаты: Q BASIC жүйесінде файлдармен жұмыс істеу, программаларды құрудың практикалық дағдыларын игеру. Программаларды жүктеу, қосу, сақтау және түзету.

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

  • Q BASIC тілін;

  • операторлар түрлерін;

  • операторлардың сипаттамаларын;

  • операторларды жазу формаларын;

  • операторлардың тағайындалуын;

  • Q BASIC алфавитін.

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

  • Q BASIC программалау жүйесін қосу;

  • операторларды айыру;

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

  • кіріс және шығыс мәліметтерді бақылау;

  • Q BASIC тілінде программалар жазу.

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

  • Программа түсінігі

  • Программалардың түрлері

  • Программалау тілдері

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

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

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

  1. Толық және қысқартылған пішінде жазылған шартты өту операторы қалай орындалады?

  2. FOR, NEXT операторларының қызметі қандай?

  3. STEP қызмет етуші сөзі болмаса, цикл не болады?

  4. Q BASIC тіліндегі таңдау операторында шарттар жазылуының қандай нұсқалары болуы мүмкін?

  5. Қандай алгоритмдер циклдік деп аталады?

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

  7. Толық және қысқартылған формада жазылған таңдау командасы қалай жазылады және қалайша орындалады?

  8. Q BASIC тілінде жазылған таңдау операторында шарттарды жазудың қандай варианттары бар?

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

ЦИКЛДІК АЛГОРИТМДЕР

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

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

Қайталанулар саны алдын ала берілген және белгісіз циклдер деп бөлінеді.

ҚАЙТАЛАНУЛАР САНЫ АЛДЫН АЛА БЕЛГІСІЗ ЦИКЛДЕР

Кейде қайталанулар саны алдын ала белгісіз болады, бірақ ол қандай да бір шарт орындалғанға дейін орындалуы қажет екендігі белгілі болады.

Блок-схема

Алгоритм тілі

QBasic

Қайталану командасы:

әзірше шарт

цб

цикл денесі

цс

Циклдің шартты операторы: WHILE шарт

цикл денесі

WEND

DO WHILE немесе UNTIL

цикл денесі

LOOP

DO

цикл денесі

LOOP WHILE немесе UNTIL

Шарт ақиқат болған шақта цикл орындала береді (WHILE) немесе жалған болған шақта

(UNTIL).

Қайталанулар саны алдын ала белгісіз циклдерді қолданып, есеп шығару мысалы

Есеп:

суммасын есептеу.

Шешімі:

Сумманы жинақтау командасы мынадай:

S:=S+келесі қосылғыш

Қосылғыштардың бір-бірінен айырмашылығы - дәреже көрсеткіші. Егер Х (параметр) айнымалысын енгізсек, онда әрбір қосылғышты 2Х формуласымен анықтауға болады, мұндағы Х 2-ден 5-ке дейін қадамы 1 болып өзгереді.

Онда S былай анықталады: S:=S+2Х

QBASIC-те программа кодын жазайық:

DIM S,X AS INTEGER

CLS

S=0:X=2

WHILE X<=5

S=S+2^X

X=X+1

WEND

PRINT “S=”;S

end

Программаның орындалуы келесідей:

Алдымен CLS функциясы экранды тазартады, сосын S айнымалысына 0 мәні және Х айнымалысына 2 мәні беріледі. Содан кейін шарт (X<=5 болғанша) WHILE X<=5 тексеріледі, осы шарт орындалып тұрғанда

S=S+2^X

X=X+1

операциялары орындалады.

S мәніне Х дәрежелі 2 мәнін қосамыз, Х мәні де 1-ге өседі. Х мәні 5-тен кіші болғанда, экранға мән шығаратын PRINT операторы орындалады.

ҚАЙТАЛАНУЛАР САНЫ АЛДЫН АЛА БЕЛГІЛІ ЦИКЛДЕР

Параметрі бар қайталау командасы циклдік құрылымы бар алгоритмдерді жазуды көрнекті етеді.

Цикл параметрі Х айнымалысы болады, ол көрсетілген Хқадам қадамға сәйкес әртүрлі мән қабылдайды. Параметрі бар қайталау командасының орындалу механизмі жай қайталау командасымен бірдей («болғанға дейін» WHILE циклі).

Қайталау командасының орнына («болғанға дейін» WHILE циклі) параметрі бар қайталау командасын қолдану («үшін» FOR циклі) алгоритмді жазуды жеңілдетеді.

Жүзеге асыру формалары:

Блок-схема

Алгоритмический язык

QBasic

Қайталау командасы параметрімен:

X үшін Xбасы тен Xсоңы – ға дейін қадам Xкад

цб

цикл денесі

цс

Егер қадам мәні 1-ге тең болса,қад

Қызмет етуші сөзін алып тастауға болады.

FOR X=Xбасы TO Xсоңы

STEP Xқад

цикл денесі

NEXT

FOR – цикл басының операторы.

Егер Xқад =1 болса, STEP қызмет етуші сөзін алып тастауға болады.

NEXT – цикл соңының операторы.

Алдымен FOR операторы параметрдің бастапқы, соңғы мәндерін және қадам мәнін орнатады. Одан кейін параметрдің көрсетілген бастапқы мәні үшін цикл денесі орындалады. Сосын NEXT операторы алдымен параметр мәніне қадам шамасын қосып өзгертеді де, циклдің аяқталу шартын тексереді. Егер параметрдің ағымдағы мәні соңғы мәнінен аспаса, NEXT операторы есептеу процесін FOR операторынан кейін орналасқан жолға ауыстырады, кері жағдайда – NEXT операторынан кейін орналасқан жолға ауыстырады. Қайталанулар саны алдын ала белгісіз циклге қарағанда бұл циклде параметр тек қадам шамасына ғана өзгере алады, яғни Х=Х+Х.

Есеп: Әрбір бактерия бір минут ішінде екіге бөлінеді. Уақыттың бастапқы мезетінде бір ғана бактерия бар. Уақыттың сіз көрсеткен мезетінде (7 мин., 15 мин.,) бактериялар санын есептейтін программа жазыңыз.

CLS

INPUT “Введите время: “; T

B = 1

FOR I = 1 TO T

B = B + B

NEXT I

PRINT “Через “; T; “минут будет “; B; “бактерий”

ҚАБАТТАСҚАН ЦИКЛДЕР

Біріне бірі салынған бірнеше қарапайым циклдер қабаттасқан цикл деп аталады

Циклы могут быть вложены один в другой. Например, представленная ниже программа подсчитывает текущий рейтинг практических занятий по введённым оценкам. Программа проверяет также правильность введения оценки (от 1 до 5), при вводе 0 – ввод оценок заканчивается и программа выдаёт значение рейтинга.

CLS PRINT PRINT "=================================================" PRINT "Программа считает текущий рейтинг." PRINT "Введите оценки (1,2,3,4, или 5)" PRINT "0 завершает ввод оценок и выдается результат ." PRINT "=================================================" PRINT SUM = 0 N = 0 DO DO INPUT "GRADE: ", GRADE IF GRADE<0 OR GRADE>5 THEN PRINT "Неправильное значение! Введите снова." END IF LOOP UNTIL 0<=GRADE AND GRADE<=5 SUM = SUM + GRADE N = N + 1 LOOP UNTIL GRADE=0 N = N - 1 R = (SUM/(5*N))*100 PRINT PRINT "=================================================" PRINT PRINT "СПАСИБО! РЕЙТИНГ СОСТАВЛЯЕТ ";R;"%."

Өзіндік жұмыс

  1. Әрбір бактерия бір минут ішінде екіге бөлінеді. Уақыттың бастапқы мезетінде бір ғана бактерия бар. Уақыттың сіз көрсеткен мезетінде (7 мин., 15 мин., т.б.) бактериялар санын есептейтін программа жазыңыз.

  2. ЭЕМ-ге бірінен соң бірі класс оқушыларының N бойы туралы мәлімет енгізіледі. Класс оқушыларының орташа бой көрсеткішін анықтау.

3. 1,3,5,....., 15 сандар квадраттарының қосындысын есептейтін алгоритм және программа құрастырыңыз.

4. Қосындыны есептеп шығару: 22+23+24+25.

5. ЭЕМ экранында ортасы Х=250; Y = 20, 40 , 60, ...., 220 координаттарымен берілген, радиусы R=20 шеңберді салу.

Қорытынды білім деңгейін тексеру

Бақылау сұрақтары бойынша сұрастыру және өзіндік жұмыстарды тексеру.

Әдебиеттер:

  1. А.Г. Гейн, А.И. Сенокосов, К.В. Тұрмағамбетова “Информатика” 2004 ж

  2. Задачи по программированию/ С.А. Абрамов, Г.Г. Гнездилова, Е.Н. Капустина, М.И. Семон – М.: Наука. Гл.ред. физ.-мат. Лит., 1988-224 с.

  3. Касаткин В.Н. Информация, алгоритмы, ЭЕМ. – М.: Просвещение, 1991-192с.

Қорытынды білім деңгейін тексеруге арналған бақылау сұрақтары

  1. Қандай алгоритмдер циклдік деп аталады?

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

  3. Циклдік алгоритмдерді Q BASIC тілінде іске асыру барысында соған тән қандай қателер пайд болуы мүмкін?

  4. Толық және қысқартылған пішінде жазылған шартты өту операторы қалай орындалады?

  5. FOR, NEXT операторларының қызметі қандай?

  6. STEP қызмет етуші сөзі болмаса, цикл не болады?

  7. Q BASIC тіліндегі таңдау операторында шарттар жазылуының қандай нұсқалары болуы мүмкін?

  8. Қандай жағдайларда орындаушы таңдау командасында немесе сөзінен кейін тұратын командалар сериясын орындайды?

  9. Есептің қойылуы не үшін керек?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]