СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ
Благодаря готовым учебным материалам для работы в классе и дистанционно
Скидки до 50 % на комплекты
только до 19.05.2025
Готовые ключевые этапы урока всегда будут у вас под рукой
Организационный момент
Проверка знаний
Объяснение материала
Закрепление изученного
Итоги урока
Паскаль тіліндегі программа жеке-жеке жолдардан тұрады. Оларды теру, түзету арнайы мәтіндік редакторлар арқылы атқарылады. Программада әрбір жолдан кейін нүктелі үтір (;) қойылады. Паскаль тілінде программа үш бөліктен тұрады: тақырып, сипаттау бөлімі және операторлар бөлімі.
№2
1. Алгоритм дегеніміз не?
А) белгілі бір шаманын мәнін қабылдауын айтамыз
В) барлық қадамдық нұсқаулар орындалып болғаннан соң
есептің шешімін табу
С) ақпаратты өңдеу барысында әртүрлі қабылдайтын шама
D) Орындаушыға қойылған тапсырманы шашу үшін берілген ережелер тізбегі
Е) Есептің бір құрылымды қойылуы
2. «SAVE AS» командасының атқаратын жұмысы
А) бұрын құрылған файлды ашу
В) актив терезеден дискідегі актив каталогқа сақтау
С) файлдың атын және жолын көрсете отырып сақтау
D) бақылау терезесін ашу
Е) Анықтама терезесін шақыру
3. Паскаль тілінде div және mod нені бідіреді?
А) қосу және азайту
В) бөлу және көбейту
С) қосу және көбейту
D) бүтін және қалдық
Е) қалдық және бөлінді
4. Паскаль тіліндегі амалдар
А) ; - , ( :
В) - * / +
С) , + ! (
D) ( +
E) + ! ( -
5. Массив жазылуы...
А) аrraу
В) read
С) begin
D) end
Е) real
6. Паскаль тілін кімнің құрметіне арнады?
А) Джон фон Нейман
В) Блез Паскаль
С) Чарльз Беээбидж
D) Пол Аллен
Е) Чарльз Аллен
7. y= tgx+ 6 cosx функциясының Паскальда жазылуы дұрыс . . . . . х
А) y=tgx+6/x *cos
B) y=TAN(x)+(6/x)*COS(x)
C) y:=sin(x)/cos(x)+(6/x)*cos(x)
D) y:=sinx+cosx+6/xcosx
Е) y=TAN(x)+(6/x)COS(x)
8. 5 div 2 операциясының нәтижесі неге тең?
А) 25
В) 1
С) 52
D) 3
Е) 2
9. Массивтің дұрыс жазылуын көрсет
А) a: array [1..10] of Integer
В) array a: [1..10] of Integer
С) a array [1..10] of Integer
D) a[0]:=5
Е) a: of Integer [1..10
10. Паскаль тілінде жазылған бағдарлама қандай қызметші сөзімен аяқталады?
А) VAR
В) READ
С) END
D) ARRAY
Е) PROGRAM
11. «:» амалы Паскаль тілінде нені білдіреді?
А) бөлімдерге бөлу
В) программаның аяқталуы
С) программаның орындалуы
D) енгізу операторы
Е) меншіктеу операторы
12. End сөзінің мағынасы...
А) программның басы
В) айнымалыларды енгізу
С) программаның соңы
D) айнымалыларды шығару
Е) меншіктеу
13. Паскаль тілінде алгоритмнің неше түрі бар?
А) 3
В) 4
С) 2
D) 5
Е) 6
14. Бағдарламалауда «атау» сөзі қандай сөзбен жиі алмастырылады?
А) индентификатор
В) алгоритм
С) операциялар
D) символ
Е) айнымалы
15. Қайсы идентификаторлар дұрыс жазылмаған?
А) Melka12,_a1
B) qraph, Сумма
C) Sum, K_1
D) Data1, Data_1
Е) Data1
16. Дұрыс жауапты көрсет...
А) INTEGER - байттық
В) PROGRAM – программа соңы
С) READ - нақты
D) LABEL - белгі
Е) REAL - бүтін
17. Паскаль тілінде жазылуы
А) abs(x)
В0 sqr(x)
С) sqrt(x)
D) exp(x)
Е) Дұрыс жауап көрсетілмеген
18. Айнымалыны сипаттау үшін қолданатын қызметші сөз
А) Var
B) Begin
C) Program
D) Writeln
Е) еnd
19. Әртүрлі мәнді қабылдайтын шаманы....
А) символ
B) байттық
C) өрнект
D) тұрақты
Е) айнымалы
20. S=bx программада дұрыс жазылуы
А) S= b*x*sqrt(t+b);
B) S:= b*x*sqrt(t+sqrt(b));
C) S=b*xsqrt(t+sqr(b));
D) S:=b*x*sqrt(t+sqr(b));
Е) S:=b*x*sqr(t+sqr(b));
21. a = 2sin2x – 3cos2x Турбо Паскальда дұрыс жазылуын көрсетіңіз.
А) a:=2*sqrt(sin(x))-3*sqrt(cos(x));
B) a=2*sqr(sin(x)) – 3*sqrt(cos(x));
C) a:=2*sqr(sin(x))-3*sqr(cos(x));
D) a:=2sqr(sin(x))-3cos(x));
Е) a=2*sqr(sin(x))-3*sqr(cos(x));
22. Айнымалылардың символдық белгісі не деп атаймыз?
А) қалдық
В) нақты
С) символдық
D) оператор
Е) идентификатор
23. Массивтің қанша түрі барс?
А) 2
В) 3
С) 1
D) 5
Е) 6
24. Айнымалының символдық белгісін не деп атаймыз?
А) Оператор D) Шарт
В) Логика Е) өрнек
С) Идентификатор
№1
1. «Бүтін» паскаль тілінде қалай жазылады?
А) boolean
B) real
C) string
D) integer
Е) char
2. Циклді есептеу алгоритмнің түрлері:
А) дейін, әзір, параметрлі
В) дейін, тармақталған, тізбектелген
С) әзір, тізбектелген
D) жауабы жоқ
Е) сызықты, тармақталған
3. Турбо – Паскальда Ғ2 пернесі қандай жұмыс атқарады?
А) өңдеу режимінде қолданылады
В) редакторленген тексті дискідегі файлға жазып алу
С) бағдарламаны компиляциялау
D) Турбо – Паскаль ортасынан шығу
Е) Жазылған мәліметті сақтау
4. Паскаль тілінде жазылуы
А) sinx
В) lnx
С) cosx
D) sqrt (x)
Е) (x) sqrt
5. Таңдау операторы
А) elsе
В) if
С) case of
D) div
Е) mod
6. - Паскаль тілінде жазылуы
А) sinx
В) lnx
С) abs
D) exp(X)
Е) соs(х)
7. Берілген алгоритмнің бағдарламалау тілінде операторлар тізбегі арқылы сипатталатын түрін не деп атаймыз?
А) Алгоритм
В) Бағдарлама
С) Паскаль
D) Блок – схема
Е) Оператор
8. 5 mod 2 операциясының нәтижесі неге тең?
А) 52
В) 5
С) 1
D) 2
Е) 4
9. Қайсы тұжырым дұрыс емес?
А) 144 – бүтін сан
В) 15,6 – бөлшек сан
С) Integer – бүтін
D) real- таңдау амалы
Е) mod – қалдықты табу
10. Паскаль тілінде жазылған бағдарлама қандай сөзден басталады?
А) PROGRAM
В) VAR
С) BEGIN
D) WRITELN
Е) Еnd
11. Ағылшын read сөзі қазақша қандай мағына білдіреді?
А) оқу
В) жазу
С) енгізу
D) шығару
Е) қорытындылау
12. Қайсы жағдайда айнымалы идентификаторы дұрыс жазылмаған?
А) аа
В) а2
С) а_2
D) 2а
Е) а3
13. Begin сөзінің мағынасы...
А) программның басы
В) айнымалыларды енгізу
С) программаның соңы
D) айнымалыларды шығару
Е) меншіктеу
14. Блок схема дегеніміз не?
А) айнымалылардың берілуі
В) программаның орындалуы
С) программаның сызба түрінде жазылуы
D) алгоритмнің берілуі
15. Меншіктеу операторы қайсы жағдайда қате жазылған?
А) а:=a+1
B) a:=1
C) 1:=a:
D) a:=a+a
Е) a:=a+в
16. 10 div 3 өрнегінің мәні неге тең?
А) 0
В) 5
С) 1
D) 3
Е) 4
17. Тұрақты дегеніміз не?
А) мәні өзгеретін шама
B) айнымалы
C) оператор
D) символдар
Е) мәні өзгермейтін шама
18. Ақиқат не жалған мәнді қабылдайтын шама...
А) символдық
B) байттық
C) өрнектік
D) тұрақты
Е )логикалық
19. Қайсы жолда программаның аты дұрыс жазылған?
А) programа Сумма;
B) program Ikurs
C )program Zarplata;
D) programм Summa Nalogov
Е) program Zarplata
20. х3 Паскаль тілінде жазылуы
А) sqr(x)
B) sqr(x)*x
C) sqr(sin(x))
D) sqr(x)*sqr(x)
Е) sqr(3*x)
21. Модуль паскаль тілінде қалай жазылады?
А) uses
В) tupe
С) read
D) array
Е) массив
22. 60 mod 9 операциясының нәтижесі неге тең
А) 609
В) 9
С) 6
D) 0
Е) 4
23. Тангенсс Паскаль тілінде қалай жазылады?
А) tan(x)
В) tanx
С) tgx
D) tg(x)
Е) (tan(x))
24. Айнымалының символдық белгісін не деп атаймыз?
А) Оператор
В) Логика
С) Идентификатор
D) Шарт
Е) өрнек
Жауаптары № 2
1 | D | 6 | B | 11 | E | 16 | D | 21 | C |
2 | C | 7 | B | 12 | C | 17 | A | 22 | E |
3 | D | 8 | E | 13 | A | 18 | A | 23 | A |
4 | B | 9 | A | 14 | A | 19 | E | 24 | C |
5 | A | 10 | C | 15 | B | 20 | D |
|
|
Жауаптары № 1
1 | D | 6 | C | 11 | A | 16 | C | 21 | A |
2 | A | 7 | B | 12 | D | 17 | E | 22 | D |
3 | E | 8 | C | 13 | A | 18 | E | 23 | A |
4 | D | 9 | D | 14 | C | 19 | C | 24 | C |
5 | C | 10 | A | 15 | C | 20 | B |
|
|
3.2
№1 лекция
Информатикаға кіріспе. Информатика пәні
Қазiргi уақытта әлем ақпараттық қоғам табалдырығында тұр. Мұндай қоғамда ақпараттық технологияны пайдалану жүйесі аса маңызды рөл атқарады. Байланыстың әлемдік жүйесіндегі әлемге ортақ ақпараттық орта пайда болып, олар адамзат баласы жинаған ақпараттан кез келген адамның өзіне қажетті ақпаратты алуын қамтамасыз етуде.
ХХ ғасырдағы ғылым мен өндірістің жеделдете өркендеп дамуына байланысты адамдардың қажетті ақпаратты тез қабылдауға мүмкіндіктері ашылды. Осыдан ақпаратты құрамдарға бөлу, оларды сақтау, өңдеу, қажет сәтінде шапшаң іздеп таба білу және өзгерістер енгізу заңдылықтарын зерттеу қажеттілігі туындайды. Бұл мәселелерді зерттеу мақсатында, кейінгі өмір талабына және бүкіл қоғамды ақпараттандыруға бағытталған есептеуіш техниканың дамуына байланысты ақпаратпен жұмыс істеу жөніндегі ғылымдар кешені – информатика пайда болды. Бұрын бұл ғылым техника саласының кибернетика деп аталатын бөлігі ретінде қарастырылып келген болатын.
Көптеген адамдардың ұғымдары бойынша “информатика” сөзі ең алдымен және тек қана компьютермен байланыстырылады. Алайда, шын мәнінде, информатикада компьютерден басқа көптеген пайдалы және қызықтырарлық нәрселер мен жәйттер өте көп.
“Информатика” терминімен ақпаратты, табиғаттағы, қоғамдағы, техникадағы ақпараттық процестерді танымдық әдіс ретінде формальдау және модельдеу, техникалық құралдар көмегімен көрсетілім, жинақтау, өңдеу және беру тәсілдерін және тағы басқа да көптеген мәселелерді оқытатын ғылыми бағыттардың жиынтығын белгілейді.
Ақпараттық технологияның ғылыми негiзi информатика болып есептеледi, ал информатиканың негiзгi құралдарының бірі – компьютер, қазір ол әдеттегі тұрмыстық құрал-жабдыққа айналып отыр. Информатика пәнінің маманы өзінің компьютермен қатынасын жасанды тiлде iске асырады. Өзiндiк пән түрiнде сөйлеудi, тек iс компьютерге жетпеген кей кездерде модельдi жасанды тiлде сипаттау турасында қолдануға болады. Информатика пәнiн оқыту және жасанды тiлде ауқымдарды оқыту, құрылымды ұйымдастыру объектiнi сипаттауға рұқсат берiлген.
"Информатика" (француз тілінде informatique) термині француздың information (ақпарат) және automatique (автоматика) деген сөздерінен шыққан, сөзбе-сөз аударсақ "ақпараттық автоматика" деген мағынаны береді.
Бұл терминнің ағылшын тіліндегі нұсқасы – "Сomputer science" кең таралған, ол "компьютерлік ғылым" дегенді білдіреді. Кей кезде ақпараттық технологияны компьютерлік технология немесе қолданбалы информатика деп те атайды.
“Компьютер” сөзі қазақ тілінде “есептеуші (орындаушы), есептеуіш” деген мағынаны білдіретін ағылшынның “computer” деген сөзінен шыққан. Компьютер сөзінің синонимі – Электронды Есептеуіш Машина, немесе қысқаша түрде, ЭЕМ.
Информатиканың пәндік саласы екі бөлімнен тұрады: ғылымдық (теориялық) және қолданбалы (технологиялық). Информатиканы оқыту барысында олардың арасына дұрыс байланыс орнату маңызды.
Информатика – ақпаратты алудың, сақтаудың, жаңартудың, тарату мен пайдаланудың барлық аспектілерін зерттейтін ғылым.
Инфоpматика – бұл ақпараттың құрылымы мен жалпы қасиеттерін, сонымен қатар ақпарат заңдылықтары мен оны адам қызметінің әр түрлі саласында құру, сақтау, іздеу, түрлендіру, тасымалдау және қолдану әдістерін үйрететін, компьютерлік техникаға негізделген пән. |
1978 жылы халықаралық ғылыми конгресте "информатика" түсінігіне компьютерлер мен олардың программалық қамсыздандырылуын қоса алғанда, ақпаратты талдаумен, құрумен, қолданумен және өңдеу жүйесіне материалдық-техникалық қызмет көрсетумен, сонымен қатар компьютерлендірудің – ел өмірінің барлық саласында компьютерлік техниканы жаппай енгізудің ұйымдастырушылық, коммерциялық, әкімшілік және саяси-әлеуметтік аспектілеріне байланысты аумақты арнайы бекітті.
Информатика – ХХ ғасырдағы ең тез дамып келе жатқан ғылыми және тәжірибелік қызмет саласы. Информатиканың қазіргі құрылымын төменде берілген схема бейнелейді. Бұл схема Н.Назарбаевтың “Қазақстан-2030” атты стратегиялық-бағдарламасына негізделіп жасалынған.
Информатиканың тұғырлы негіздері | ||||
| ||||
Теориялық информатика | Математикалық және ақпараттық модельдер, алгоритмдер. Ақпараттық жүйелерді құру және жобалау әдістері. | |||
| ||||
Ақпараттандыру құралдары | Техникалық | Мәліметтерді өңдеу | Дербес компьютерлер. Жұмыс станциялары. Есептеу жүйелері. Енгізу/шығару құралдары.
ЭЕМ желілері. Кешендер. Техникалық байланыс құралдары және компьютерлік телекоммуникациялық жүйелер, аудио және бейнежүйелер, мультимедиа.
Компьютераралық байланыстың программалық құралдары, ақпараттық және есептеу орталары. Операциялық жүйелер. Жүйелер және программалау тілдері. Колданушылар тілі, қызметтік қабықшалар, қолданушы интерфейсінің жүйесі.
Мәтіндік және графиктік редакторлар. Мәліметтерді басқару жүйесі. Электрондық кестелер процессорлары. Объектілерді, процестерді, жүйелерді модельдеу құралдары.
Баспа жүйелері. Есептеулерді автоматтандыру, жобалау, берілгендерді өңдеу технологиясын жүзеге асыратын кәсіби бағытталған жүйе. Жасанды интеллект жүйелері. | |
Мәліметтерді жіберу | ||||
Программалық | Жүйелік | |||
Технологияны жүзеге асыру | әмбебап | |||
кәсіби бағытталған | ||||
| ||||
Ақпараттық технологиялар |
|
1-кесте. Информатиканың қазіргі құрылымы.
Информатика ХХ ғасырдың орта кезінде ақпаратты сақтау мен жаңартуға бағдарланған арнайы құрылғылар – компьютерлер шыққанда пайда болды және сонымен бірге компьютерлік төңкеріліс басталды.
Информатика – бірнеше тұғырлы және қолданбалы пәндердің шектесуінен пайда болған өте кең ғылымдық білім саласы. Ол тұғырлы пән ретінде мынадай пәндермен байланысты:
философия және психологиямен – ақпаратты және таным теориясы жөнінде оқу арқылы;
математикамен – математикалық модельдеу, дискреттік математика, математикалық логика және алгоритмдер теориясы арқылы;
лингвистикамен – жасанды тілдер жөнінде және тілдік жүйе жайлы оқу арқылы;
кибернетикамен – ақпараттың теориясы және басқару теориясы арқылы;
физика және химиямен, электроникамен және радиотехникамен – компьютердің “материалдық” бөлігі және ақпараттық жүйелер арқылы байланысты.
Инфоpматика – қолданылу аясы кең ғылыми пән. Оның қолданылу аясындағы негізгі бағыттары мынадай:
программалық қамсыздандыру мен есептеу жүйелерін құру;
ақпаратты қабылдаумен, тасымалдаумен, түрлендіру және сақтаумен байланысты процестерді үйрететін ақпарат теориясы;
математикалық модельдеу, есептеуіш және қолданбалы математика әдістері және олардың білімнің әр түрлі аумағында тұғырлы және қолданбалы зерттеулерге қолдану;
жобаланған жүйені және тағайындалған талаптарды талдауда қорытындыланатын жүйелік талдау;
жасанды интеллект әдістері, адамның интеллектуалдық қызметінде логикалық және аналитикалық ойлаудың модельдеуші әдістері (логикалық қорытынды, білім алу, сөз ұғыну, визуальды қабылдау, ойындар және т.б.);
биологиялық жүйелерде ақпараттық процестерді оқытатын биоинформатика;
қоғамды ақпараттандыру процестерін үйрететін әлеуметтік информатика;
машиналық графика әдістері, анимациялар, мультимедиа құралдары;
барлық адамзатты бір ақпараттық қоғамға біріктіретін телекоммуникация құралдары, соның ішінде ғаламдық компьютерлік желілер;
өндірісті, ғылымды, білімді, медицинаны, сауданы, ауыл шаруашылығын және басқа да шаруашылық және қоғамдық қызметтің барлық түрлерін қамтитын әр түрлі қосымшалар.
Барлық технологиялар тұғырлы және қолданбалы ғылымдарға негізделеді. Ақпараттық технологияның “өзіндік” тұғырлы бөлімдері бар, олар: ЭЕМ архитектурасы, операциялық жүйелер, программалау теориясы, мәліметтер қорының теориясы және басқалар.
Информатика әдетте екі бөлімнен тұрады:
техникалық құралдар;
программалық құралдар.
Техникалық құралдар, немесе компьютер аппаратурасы, ағылшын тілінен сөзбе-сөз аударғанда "қатты зат" деген мағынаны білдіретін Hardware сөзімен белгіленеді.
Программалық құралдарды белгілеу үшін программалық қамсыздандырудың және машинаның өзінің теңмағыналылығын, сонымен қатар, программалық қамсыздандырудың мүмкіндіктерін атап көрсететін, компьютерлерде қолданылатын барлық программалардың жиынтығы, оларды құру және қолдану қызметінің аумағы түрінде түсіндірілетін Software (сөзбе-сөз аудармасы – "жұмсақ зат") сөзі қолданылады.
Информатиканың жалпы қабылданған осы бөлімінен басқа тағы да бір бөлімі бар, ол – алгоритмдік құралдар. Есепті программалау оның әрқашан берілген мәліметтерден ізделінді нәтижеге жеткізетін амалдардың тізбегі түрінде шешу тәсілін құру, басқаша айтқанда, есеп шешімінің алгоритмін құру болып табылады. Информатиканың алгоритмдерді құрумен және оларды құрастырудың әдістері мен тәсілдерін үйретумен байланысты бұл бөлімін белгілеу үшін ресейлік академик А.А.Дородницын Brainware (ағылшынша brain – интеллект) терминін ұсынды.
Информатика әрекеттердің негізгі сегіз бағытын қамтитын ғылыми-техникалық пәндердің кешенінен тұрады.
1-сурет. Информатиканың бағыттары.
Информатиканың негізгі міндеттері:
табиғаттағы кез келген ақпараттық процестерді зерттеу;
ақпараттық техниканы жасау және ақпараттық процестерді зерттеу нәтижесінде алынған қорда ақпараттарды өңдеудің жаңаша технологиясын құру,
қоғамдық өмірдің барлық салаларында компьютерлік техника мен технологияны жасаудың, енгізудің және тиімді пайдалануды қамтамасыз етудің ғылыми және инженерлік мәселелерін шешу.
Информатиканың қоғам дамуындағы рөлі ерекше жоғары. Ақпаратты жинақтау, тасымалдау және өңдеу аумағындағы төңкерістің бастамасы информатикамен байланысты. Бұл төңкеріс зат мен энергияны билеудегі, төңкерістің жалғасы, ол тек материалдық өндіріс аумағын ғана емес, өмірдің интеллектуальды, рухани аумағын қозғалысқа келтіріп, түбірімен түрлендіреді.
Компьютерлік техникадағы өндірістің өсуі, ақпараттық желілердің дамуы, жаңа ақпараттық технология құрылуы қоғамның барлық саласында: өндірісте, ғылымда, білімде, медицинада және т.б. айтарлық өзгерістерге әкеледі.
Информатика – адам қызметінің әр түрлі саласында пайдаланылатын ақпаратты жинау, өңдеу, түрлендіру және тарату әдістерін үйрететін ғылыми пән.
Бақылау сұрақтары
“Информатика” термині нені білдіреді және қайдан шыққан?
Білімнің және әкімшілік-шаруашылық қызметінің қандай аумағында 1978 жылдан “информатика” түсінігі ресми енгізілді?
Информатика адам қызметінің қандай салаларында және қандай дәрежеде қолданылады?
Информатиканың негізгі құрама бөліктерін және оның негізгі қолданылу бағыттарын ата.
Информатика пәнінің қызметі қандай?
№2 лекция
1.2. Ақпарат, оның көрсетілім түрлері.
Информатиканың негізгі объектісі, яғни оның шикізаты мен беретін өнімі ақпарат болып табылады. Сондықтан да ақпарат ұғымы информатика ғылымы (немесе пәні) мен ЭЕМ-да жұмыс істеудің ең маңызды атауларының бірі болып есептелінеді.
"Ақпарат" термині “мәлімет, түсіндіру, баяндау, білу” мағынасын білдіретін латынның "informatio" сөзінен шыққан.
Ақпарат – бұл бір сөйлеммен жеткізілуі қиын, барынша жалпы және терең ұғым. Бұл ұғымға табиғаттағы, техникадағы, ғылымдағы, қоршаған ортадағы және қоғамдағы әр түрлі мағына сияды. Мысалы, қандай да бір оқиға, қайсыбір жағдай туралы "ақпараттандыру" түсінігі "бұрын белгісіз болған жайт туралы мәлімдеу", “жаңадан мағлұмат беру” дегенді білдіреді.
Ақпарат – қоршаған орта мен онда болып жатқан құбылыстар туралы мәліметтер жиынтығы. |
Адамдар байырғы заманнан бастап бір-бірімен ақпарат алмаса бастады. Алғашқыда қимыл-әрекет, мимика арқылы, ал кейіннен ауызекі тіл көмегімен өзара мәлімет алмасты. Жазу шыққаннан кейін адамдар ақпаратты бір-біріне жазба түрінде, мысалы, хаттар, кітаптар, газет-журналдар арқылы жеткізіп отырды. Қоғам дамыған сайын ақпаратты тасымалдау құралдары да дами бастады, мысалы, олар: радио, телефон, телеграф, теледидар және т.б.
Ақпараттар әр түрлі түрде берілуі мүмкін:
мәтіндер, суреттер, сызбалар, фотосуреттер түрінде;
жарық немесе дыбыс сигналдары түрінде;
радиотолқындар түрінде;
электрлік және жүйке импульстері түрінде;
магниттік жазбалар түрінде;
қимыл және мимика түрінде;
дәм және иіс сезіну түрінде;
ағзаның ұрпаққа берілетін белгілері мен қасиеттері арқылы берілетін хромосомдар түрінде және т.б.
Ақпарат символдық (таңбалық) түрде сақталады, беріледі және өңделінеді. Бір ақпараттың өзі әр түрлі таңбалық жүйелер көмегімен бірнеше түрде берілуі мүмкін.
Тіл – бұл ақпарат көрсетілімінің анықталған таңбалық жүйесі.
Ақпараттың берілуін табиғи (сөйлесу) тілдер және жасанды тілдер арқылы жүзеге асыруға болады. Табиғи тілге адамзаттың бір-бірімен қатынас құралы ретінде пайдалатын сөйлесу тілдері кіреді. Кейбір жағдайларда бұл сөздік қатынастарды мимика және қимыл-әрекеттер тілі, арнайы таңбалар тілі (жол жүру таңбалары) алмастыруы мүмкін. Жасанды тілдерге мысал болатындар: музыка тілі (ноталық сауаттылық), математика тілі (цифрлар мен символдар, математикалық таңбалар) және тағы басқалар.
Ақпараттық процестер келесі тізбекте көрсетілген жолмен іске асырылады:
2-сурет. Ақпараттық процестердің тізбегі
Ақпараттық қасиеттер тұрғысынан қарастырылатын материалдық немесе материалдық емес құбылыстардың қасиеттері, процестер, пәндер ақпараттық объектілер деп аталады.
ЭЕМ-да ақпараттың негізгі түрлері:
Символдық ақпарат символдардың, белгілердің көмегімен беріледі. Мысалы: сандық, әріптік немесе жай таңбалар, түстер. Мұндай өрнектеу ақпарат туралы толық мәлімет бермейді, олар тек қарапайым сигналдар арқылы басқарылады. Мысалы, оған бағдаршам түстері арқылы жол ережесін реттеуді, тек бір ғана таңбаның не әріптің көмегімен “рұқсат етілген” немесе “рұқсат етілмеген” деген түсінік беретін әр түрлі шартты белгілерді жатқызуға болады.
Мәтіндік ақпарат деп ақпаратты әріптер, сандар, символдар, математикалық таңбалар тізбегі арқылы бейнелеуді айтады. Олар бейнеленетін тізбек түрлеріне қарай әр түрлі мәліметтер береді. Бұған кітаптар, оқулықтар, газет-журналдар, формулалар мысал бола алады.
Графиктік ақпарат – кескін-сызбалар түрінде берілетін мәлімет. Оған мысал ретінде сурет, сызба, график, диаграмма тәрізді бейнелеу жолымен берілетін деректерді алуға болады.
Дыбыстық ақпарат дыбыстар, әсерлер, әуендер арқылы беріледі. Бұған мысал ретінде дыбыстық ақпараттар жазылған аудиотаспаларды, аудиокассеталар мен аудиодискілерді жатқызуға болады.
Бейнелік ақпарат – мәліметті көлемді де, күрделі мағыналы өрнектеудің түрі. Оған бейнелер, қозғалмалы бейнелер (анимациялар) арқылы берілен мәліметтер, яғни жарнамалар, бейнекадрлар, клиптер мысал бола алады.
Қазіргі кезде ақпараттарды дыбыстық және бейнелік жолмен беру кең таралып отыр. Бұндай ақпараттар компьютерде мультимедиалық қосымшалар көмегімен жүзеге асырылады және адам жадында ақпараттың ұзағырақ және толығымен сақталуына ерекше септігін тигізеді.
Ақпаратпен мынадай амалдар орындауға болады:
|
|
|
|
Осы барлық ақпараттарға қолданылатын анықталған амалдарға байланысты процесс ақпараттық процесс деп аталады.
Ақпараттың қасиеттері:
|
|
|
|
Егер іс нәтижесі ақиқат болса, онда ақпарат анық болып саналады. Ақиқатты емес ақпарат дұрыс түсінбеушілікке немесе дұрыс емес шешімді қабылдаушылыққа алып келуі мүмкін. Анық ақпарат уақыт өте келе өз ақиқаттылығын жою мүмкін, себебі ол істің нәтижесі ескіріп, жалған нәтиже де беретін кездері болады.
Егер шешім қабылдауға, түсінуге жеткілікті болса, онда ақпарат толымды болады. Толымсыз ақпарат шешім қабылдауға кедергі келтіреді немесе қателіктерге бой ұрындырады.
Ақпараттың дәлдігі объектінің, процестің, құбылыстың және т.б. нақты жағдайына жақындық дәрежесімен анықталады.
Ақпараттың құндылығы есеп шешімінің қаншалықты маңызды екеніне, адам қызметінің қандай да бір саласында қолданыс табуына байланысты.
Тек өз уақытында алынған ақпарат қана күтілген пайда әкелуі мүмкін. Алайда ақпарат өз уақытынан бұрын және өз уақытынан кеш, яғни ақпарат басқаларға әйгіленгеннен кейін барып берілмегені жөн.
Егер құнды және өз уақытында берілген ақпарат түсініксіз түрде сипатталса, онда ол пайдасыз болуы да мүмкін.
Ақпарат жеткізілген адамның тілінде ұғынықты берілсе, онда ақпарат түсінікті болады.
Ақпарат қолайлы түрде (қабылдау деңгейі бойынша) жеткізілуі қажет. Бір мәселе туралы ақпарат мектеп оқулықтары мен ғылыми еңбектерде қабылдау деңгейіне сәйкес әр түрлі түрде беріледі.
Бір мәселе туралы ақпарат қысқа түрде (қысқартылған, артық мәліметтерсіз) немесе кең мағынада (нақты, көп сөзбен) жеткізілуі мүмкін.
Ақпараттың қысқалылығы анықтамалықтарда, энциклопедияларда, оқулықтарда, барлық мүмкін нұсқамаларда қажет етіледі.
Ақпаратты өңдеу дегеніміз – бір ақпараттық объектілерді екіншісінен қайсыбір алгоритмдерді орындау жолымен алу.
Ақпараттың көлемі үлкейтіп немесе түрлендіріп орындайтын негізгі амалдардың бірі – өңдеу болып табылады.
Ақпаратты өңдеу құралы – адам құрастырған барлық мүмкін болатын құрылғылар мен жүйелер, соның ішінде, ең алдымен, компьютер – ақпаратты өңдеуге арналған әмбебап машина.
Компьютерлер ақпаратты қайсыбір алгоритмдерді орындау жолымен өңдейді. Тірі ағзалар мен өсімдіктер ақпараттарды өздерінің мүшелері мен жүйелерінің көмегімен өңдейді.
Ақпараттық ресурстар дегеніміз – бұл адамдардың жүзеге асыруға мүмкіндік беретін пішімде жинақталған идеясы мен ол идеяларды жүзеге асыру бойынша нұсқаулары.
Бұлар, кітаптар, мақалалар, патенттер, диссертациялар, ғылыми-зерттеушілік және тәжірибе-құрастырушылық құжаттамалар, техникалық аудармалар, озық өндірістік тәжірибе және тағы басқалар.
Ақпараттық ресурстар (оның басқа еңбек, энергетикалық, минералдық және тағы басқа да ресурс түрлерінен айырмашылығы) мейлінше өскен сайын, олар көбірек жұмсалады.
Ақпараттық технологиялар дегеніміз – ақпараттарды өңдеу үшін адамдар қолданатын әдістер мен құрылғылар жиынтығы.
Адамзат ақпаратты өңдеумен мыңдаған жылдар бойы айналысып келеді. Алғашқы ақпараттық технологиялар есептеулер мен жазбалар қолдануға негізделген. Шамамен елу жылдай бұрын бұл технолгиялар күрт тез дами бастады, ол алғашқы кезекте компьютерлердің пайда болуымен байланысты болды.
Қазіргі кезде ақпараттық технологиялар термині ақпаратты өңдеу үшін компьютерлерді пайдаланумен байланысты қолданылады. Ақпараттық технологиялар барлық есептеуіш техниканы және байланыс техникасын, тұрмыстық электрониканы, теледидарды және радиохабарламаны қамтиды. Олар өндірісте, саудада, басқаруда, банктік жүйеде, білім беруде, денсаулық сақтауда, медицина мен ғылымда, транспорт пен байланыста, ауылшаруашылығында, әлеуметтік қамсыздандыру жүйесінде қолданыс табады.
Бақылау сұрақтары
Тұрмыстық, нақты-ғылыми және техникалық ұғымда “ақпарат” түсінігі нені білдіреді?
Ақпараттың бар болуының қандай түрлерін атай аласыз?
Білім фактілері мен білім ережелеріне мысал келтіріңдер. Бүгінгі күні сіз білетін жаңа фактілер мен жаңа ережелерді атаңыз.
Адам ақпаратты кімнен (немесе неден) қабылдайды? Ақпаратты кімге береді?
Адам ақпаратты қандай түрде қабылдайды және береді?
Адам ақпаратты қайда және қалай сақтайды?
Адам ақпаратпен қандай амалдар орындайды?
Ақпарат ... жайттарға мысал келтіріңіз:
а) құрылатын; | в) бөліктерге бөлінетін; | д) өлшенетін; | ж) бұзылатын; |
ә) өңделетін; | г) көшірілетін; | е) қарапайымдыланатын; | з) ізделінетін; |
б) сақталатын; | ғ) қабылданатын; | ё) берілетін; | и) жеткізілетін. |
Адамның ақпаратты өңдеуіне мысал келтіріңіз. Осы өңдеудің нәтижесі не болады?
Ақпаратқа мысал келтіріңдер:
а) ақиқат немесе жалған; ә) толық және толымсыз; б) құнды және құнсыз; | в) өз уақытында және өз уақытында емес; г) қолайлы және қолайсыз; | ғ) түсінікті және түсініксіз; д) қысқа және көлемді. |
Адам ағзасындағы ақпаратты жинау және өңдеу жүйесін атаңыз.
Ақпаратты жинауға және өңдеуге негізделген техникалық құралдарды атаңыз.
Адам қабылдайтын мәліметтің ақпараттылығы неден тәуелді?
№3 лекция
1.3. Ақпаратты кодтау. ЭЕМ-да ақпарат көрсетілімі. Ақпарат мөлшері.
Ақпаратты кодтау дегеніміз – ақпараттың айқындалған көрсетілімін құру процесі. “Кодтау” термині ретінде біз әдетте, ақпарат көрсетілімінің бір түрінен сақтауға, тасымалдауға немесе өңдеуге тиімді екінші түріне ауысу деп түсінеміз. Кодтауға кері түрлендіру декодтау деп аталады.
Кодтау тәсілі жазбаның қысқартылуы, ақпараттың құпиялануы (шифрлау), өңдеу тиімділігі және т.б. мақсаттарды көздейді.
Әдетте, нақты бір тілде (орыс, ағылшын, қазақ және т.б.) жазылған ақпараттар кодталады. Мәтінді кодтау тәсілінің үш тәсілі бар:
графиктік – арнайы суреттер немесе таңбалар арқылы;
сандық – сандар көмегімен;
символдық – мәтін берілген тілдің алфавитің символдарының көмегімен.
Мәтінді кодтауға қолданылатын символдардың толық жиынтығы алфавит немесе әліппе деп аталынады.
ЭЕМ-да ақпаратты кодтау үшін машина тіліне түсінікті арнайы кодтау кестесі беріледі. Ол кесте біздің тілімізге ұғынықты ақпаратты машина тіліне аударып береді, сол арқылы адам мен машина арасында байланыс қалыптасады.
Ақпаратты қанша сигнал көмегімен кодтау бүгінгі күн талабына сәйкес келеді? Соған тоқталып өтейік. Бір сигнал арқылы небары екі таңбаны немесе әріпті (21=2) белгілей аламыз. Егер біздің тіліміз екі дыбыстан ғана құралса, онда бұл белгілеу тәсілі бізге жеткілікті болар еді. Бірақ та бізде әріптер әлдеқайда көп, сондықтан түсінігімізді одан әрі жалғастырайық.
Енді екі сигнал тізбегі алар болсақ, ол арқылы төрт таңбаны (22=4) белгілей аламыз, ал үш сигнал тізбегімен сегіз таңбаны (23=8) белгілеуге мүмкіндігіміз бар. Бұл біздің тілімізде қолданылатын кодтар санын молайта түсуге көмегін тигізеді, бірақ сонда да жеткіліксіз.
Төрт сигнал арқылы он алты таңбаны (24=16), бес сигнал арқылы отыз екі таңбаны (25=32), алты сигнал арқылы 64 символды (26=64) таңбалай аламыз. Алайды, бұл белгілеу біз қолданып жүрген әріптер мен таңбаларды белгілеуге әлі де жеткіліксіз екені көрініп тұр.
Алғашқы компьютерлердің көбінде КОИ-7 жетібиттік код (орыс тілінен қысқартылған КОИ – код обмена информацией сөзі “ақпарат алмасу коды” деген мағынаны білдіреді) пайдаланылды. Ол 128 символды (27=128) кодтауға мүмкіндік берген.
Бірақ техниканың дамуына қарай бұл код қолайсыз болғандықтан, сегізбитті жаңа код жасалынып, оның негізіне ақпарат алмасудың американдық стандартты коды (ASCIІ – American Standard Code for Information Interchange) алынды. Біз осы кодтау тәсілі арқылы 256 (28=256) латын, қазақ, орыс алфавитінің бас және кіші әріптерін, цифрларды, арнаулы символдар мен таңбаларды пайдаланып жүрміз.
Әрине, компьютерлік желілермен тығыз байланысқан қазіргі әлем кеңістігінде сегізбитті кодтау тәсілі де жеткіліксіз болып табылады. Өйткені, араб әріптері, екі түрлі жапон, үнді алфавиттері және тағы басқа да алфавиттер мен символдар тобы бар емес пе? Сондықтан кейінгі кезде әрбір символды екі байтпен (оналтыбитті) кодтаудың жаңа стандарты – UNICODE енгізілген болатын.
Біз ЭЕМ-да ақпаратты кодтаудың ASCIІ кодын пайдаланатын боламыз. ASCIІ кодының стандартты және альтернативті бөліктері қосымшадағы кестелерде (1 және 2-кесте) келтірілген.
Жалпы жинауға, сақтауға, тасымалдауға болатын мәліметтер тобы ақпарат болып табылады. Ақпараттың массасы, геометриялық өлшемі болмайды. Дегенмен, ақпаратты беретін, қабылдайтын, сақтайтын объектілер болады.
Ақпараттың саны мен сапасын өлшеуге болады. Бұл алынған мәліметтерді салыстыру және бағалау үшін өте қажет.
Ақпаратты өлшеу үшін оны салыстыруға болатындай етіп, белгілі бір жүйеге айналдыра білу керек. Символдық, мәтіндік, графиктік жолмен өрнектелген ақпаратты бір-ақ өлшеммен салыстыруға болады. Бұл – ақпаратты өрнектеудің екілік санау жүйесі. Ол үшін екілік санау жүйесіндегі сандар, яғни екілік сандар түсінігін білу талап етіледі. Кез келген санды шектелген таңбалар санымен өрнектеуге болады.
Компьютерде барлық ақпараттар сандар, әріптер, арнайы белгілер т.б. сияқты таңбалардан тұрады да, әрбір таңба компьютер жадында екілік жүйеде жазылады.
Ақпараттың ең кіші өлшем бірлігі ретінде бір битті қабылдау ұсынылған. (ағылшынша bit — binary, digit — екілік цифр).
Бит – ақпараттар теориясында екі тепе-тең мәліметті анықтауға қажетті ақпараттар саны. Есептеуіш техникада мәліметтер мен командалардың машинаішілік көрінісі үшін қолданылатын "0" және "1" екі таңбасының бірін сақтауға қажетті жадының ең кіші "үлесін" бит деп атайды. |
Қазіргі кезде “ақпарат мөлшері” ұғымын анықтаудың мәліметтегі ақпараттың мағынасы тұрғысынан алғанда жаңалық болып келетіне қатаң қарамауға, немесе керісінше, сол объект жайлы өз біліміздің анықталмағандығын азайтуға негізделген бағыттар таралған. Төменде сол тектес екі бағыт беріледі. Онда математикалық ықтималдық пен логарифм түсініктері қолданылады.
Мазмұндық бағыты.
Теңықтималдықты мазмұндық бағыт. Американдық инженер Р.Хартли 1928 жылы ақпаратты алу процесі кезінде шектеулі алдын-ала берілген N теңықтималды мәліметтердің жиынынан бір мәліметті таңдап, таңдалған мәліметтегі І ақпараттың санын N екілік логарифмі түрінде анықтады. Мәліметте берілген ақпарат мөлшері сол мәліметті алатын адамға берілетін білім көлемімен анықталады. Егер мәлімет адамға берілетін тосын әрі түсінікті ақпараттан тұрса, онда ол адамның білімін толықтыра түседі.
Ақпараттың мазмұнына байланысты оның сапасын анықтауға болады: құнды(пайдалы), маңызды, зиянды ... . Бір ақпараттың өзін әр түрлі адамдар әрқалай бағалауы мүмкін.
Ақпараттың санын өлшеу бірлігі – бит. Адамның білімінің анықталмағандығын 2 есе азайтатын мәлімет оған 1 бит ақпарат әкеледі.
Қандай да бір мәлімет N теңықтималдылықты (теңықтималдылық ешқандай да оқиға басқаларына қатысы жоқ екенін білдіреді) оқиғаның бірі өткендігін білдірсін. Осы келтірілген мәліметте қорытындыланатын ақпарат мөлшері – І бит және N саны мына формуламен байланысты: 2 і = N
Бұл формула х айнымалысына байланысты көрсеткіштік теңдеу болып табылады. Осы теңдеудің шешімі мынадай түрде болатыны математикадан белгілі.
Хартли формуласы:
І = log 2 N,
бұл – N санының негізі 2 болатын логарифмі. Егер N екі санының бүтін дәрежесіне (2, 4, 8, 16 және т.б.) тең болса, онда бұл теңдеуді ойша шығаруға болады. Кері жағдайда, ақпарат мөлшері бүтін емес шамаға тең болады және есептің шешімі үшін логарифм кестесін қолдануға тура келеді (логарифм кестесі 1 қосымшада келтірілген).
Ықтималдықтары әр түрлі мазмұндық бағыт. Мәліметтегі ақпараттың ықтималдылығы тең болмауы мүмкін жағдайларды ескере отырып, 1948 жылы американдық ғалым Клод Шенон ақпаратты анықтаудың басқа формуласын ұсынды.
Шеннон формуласы:
І=-(p1log2p1+ p2log2p2+… pNlog2pN),
мұндағы pі – N мәліметтер жиынынан і-ші мәлімет бөліп алу ықтималдығы.
Егер p1,... pN ықтималдықтар тең болса, онда олардың әрқайсысы 1/N-ге тең болады және Шеннон формуласы Хартли формуласына айналады.
1 мысал. Монета лақтыруда жеребе (мысалы, бүркіт) тастау жөніндегі мәлімет 1 бит ақпаратты береді, себебі мұндағы нәтиженің мүмкін болатын нұсқалар саны 2-ге тең (бүркіт және решка). Бұл нұсқалардың екеуі де теңықтималды бола ма?
Жауабы: есеп шешімінен алынуы мүмкін: 2х=2, бұдан шығатыны: х=1 бит.
Қорытынды: кез келген жағдайда екі теңықтималды оқиғаның бірі жайлы мәлімет 1 бит ақпарат береді.
2 мысал. Лотерея ойнатуға арналған барабанда 32 шар орналасқан. Бірінші нөмерлі түскен шар жөніндегі мәлімет қанша ақпарат береді (мысалы 15 нөмер түссін)?
Жауабы: кез келген 32 шардың түсуі теңықтималды болғандықтан, түскен бір нөмер туралы ақпарат мөлшері мына теңдеумен табылады: 2х=32.
Бұдан шығатыны 32=25, демек х=5 бит. Есептің жауабы нешінші нөмер түскеніне тәуелді емес.
3 мысал. Сүйек лақтыру ойынына алтыжақты кубик қолданылады. Кубикті әрбір лақтырғанда ойыншы қанша бит ақпарат алады?
Жауабы: кубиктің әрбір жағының түсуі теңықтималды, сондықтан кубикті лақтырудың бір нәтижесінен алынатын ақпарат мына теңдеумен есептелінеді: 2х=6.
Бұл теңдеудің шешімі: x = log 2 6. Қосымшада келтірілген 1-кестеден x = 2,585 (үтірден кейін 3 таңбалы дәлдікпен) болатынын көреміз.
Ақпаратты анықтаудың бұл қарастырылған бағыттарынан басқа да бағыттар бар.
Алфавиттік бағыты. Ақпаратты өлшеудің алфавиттік бағыты мәтінде келтірілген ақпарат мөлшерін анықтауға мүмкіндік береді. Алфавиттік бағыт объективті болып табылады, яғни ол қабылдаушы субъектіден (адамнан) тәуелсіз.
Мәтінді жазуға қолданылатын символдар жиынтығы алфавит деп аталады. Алфавиттегі символдардың толық саны алфавиттің қуатты (өлшемі) делінеді. Егер мәтінде кездесетін алфавиттің барлық символдардың бірдей жиілікті (теңықтималдылықты) деп есептесек, онда әрбір символмен берілетін ақпарат мөлшері мынадай формула бойынша есептелінеді:
і = log 2 N,
мұндағы N – алфавиттің қуаты. Сонымен, 2-лік символдық ақпаратта әрбір символ 1 бит болады (log 2 2=1); 4-тік символдық ақпаратта әрбір символ 2 бит ақпарат болады (log 2 4=2); 8-дік символдық – 3 бит (log 2 8=3) және тағы басқа.
Қуаты 256 (28) алфавиттегі әрбір символ мәтінде 8 бит ақпарат болады. Ақпараттың мұндай саны байт деп аталады. 256 символдан тұратын алфавит компьютерде мәтінді беру үшін қолдалынады. 1 байт = 8 бит
Егер барлық мәтін К символдан тұратын болса, онда мәтіндегі ақпараттың алфавиттік өлшемі мынаған тең: І=K * і,
мүндағы, і – алфавитте қолданылатын бір символдың ақпараттың салмағы.
Бит — ақпараттың ең кіші өлшем бірлігі. Тәжірибе жүзінде көбіне-көп одан үлкен, яғни сегіз битке тең өлшем бірлік — байт қолданылады. Компьютер алфавитінің кез келген 256 символын (256=28) кодтау үшін сегіз бит қажет.
Ақпараттың бит пен байттан басқа үлкен өлшем бірліктері де бар, олар::
1 Килобайт (Кбайт) = 1024 байт = 210 байт,
1 Мегабайт (Мбайт) = 1024 Кбайт = 220 байт,
1 Гигабайт (Гбайт) = 1024 Мбайт = 230 байт.
Соңғы кезде өңделінетін ақпараттың көбеюіне байланысты қолданысқа ақпараттық мынадай өлшем бірліктері енген:
1 Терабайт (Тбайт) = 1024 Гбайт = 240 байт,
1 Петабайт (Пбайт) = 1024 Тбайт = 250 байт.
4 мысал. Компьютер көмегімен терілген кітап 150 беттен сұрады, әрбір бетте – 40 жол, әрбір жолда – 60 символ бар. Кітаптағы ақпараттың көлемі қандай?
Жауабы: компьютерлік алфавиттің қуаты 256 тең. Бір символ 1 байт ақпарат береді. Демек, әрбір бет 40*60=2400 байт ақпараттан тұрады. Кітаптағы барлық ақпарат көлемі (әр түрлі бірлікте) мынадай болады:
2400*150=360 000 байт = 351,5625 Кбайт = 0,34332275 Мбайт.
Бақылау сұрақтары
Ақпарат мөлшерінің өлшем бірлігі қалай анықталады?
Мәліметтегі ақпарат мөлшерін қандай жағдайда және қалай есептеуге болады?
Хартли формуласында логарифм негізі үшін неліктен 2 саны алынған?
“Бит” термині ақпарат және есептеуіш техника теориясында нені анықтайды?
Мазмұны бір (екі, үш) бит ақпарат болатын мәліметтерге мысал келтіріңіз.
№4 лекция
2.1. Санау жүйесі. Санау жүйесінің түрлері.
Сандарды цифр деп атайтын арнайы символдардың көмегімен бейнелеу қабылданған.
Сандардың аталу және жазылу ережелері мен әдістерінің жиынтығы санау жүйесі деп аталады.
Санау жүйесі екі топқа бөлінеді:
Позициялық емес санау жүйесі;
Позициялық санау жүйесі.
Позициялық емес санау жүйесінде арифметикалық әрекеттерді орындау біраз қиын болғандықтан, бүкіл дүние жүзі біртіндеп позициялық санау жүйесіне ауысты.
Позициялық емес санау жүйесінде әрбір цифрдың мәні оның алатын орнына байланысты емес. Мұндай санау жүйесінің мысал ретінде римдік жүйені алуға болады. Римдік жүйеде цифр ретінде латын әріптері қолданылады:
І V X L C D M
1 5 10 50 100 500 1000
Осы жүйеде жазылған ХХХ санында Х цифры кез келген позицияда 10-ды білдіреді.
Позициялық санау жүйесінде цифрдың мәні оның орнына (позициясына) байланысты болды. Позициялық санау жүйесінің негізі деп қолданылатын цифрлар санын айтады.
Қазіргі математикада қолданылатын санау жүйесі позициялық ондық жүйе болып табылды. Оның негізі онға тең, ал жазылуы он цифрдың кез келгенін қолдану арқылы жүзеге асады:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Бұл жүйенің позицилық сипатын кез келген көп таңбалы санның мысалынан оңай түсінуге болады. Мысалы, 333 санында бірінші үтік үш жүздікті, екіншісі – үш ондықты, үшіншісі – үш бірлікті білдіреді.
n негізді позициялық жүйеде сандарды жазу үшін n цифрдан тұратын алфавит болуы қажет. Әдетте, бұл үшін nn араб цифрлары қолданылады, ал n10 болғанда он араб цифрына әріптер қосылады. Бірнеше позициялық санау жүйесіне мысалдар келтірейік.
1-кесте
Кейбір санау жүйесінің алфавиттері
негізі | аталуы | алфавиті |
n=2 | екілік | 0 1 |
n=4 | төрттік | 0 1 2 3 |
n=8 | сегіздік | 0 1 2 3 4 5 6 7 |
n=10 | ондық | 0 1 2 3 4 5 6 7 8 9 |
n=16 | оналтылық | 0 1 2 3 4 5 6 7 8 9 A B C D E F |
Егер сан жазылатын санау жүйесінің негізін көрсету талап етілсе, онда ол сол санның төменгі индексі болып жазылады. Мысалы:
10111012, 25768, 4528, 3В8F16
Ондық санау жүйесі – біз осы күнге дейін қолданып дағдалынған санау жүйесі. “Ондық” аты ол жүйенің төркінінде он негізі жатқандығымен түсіндіріледі. Бұл жүйеде сандарды жазу үшін он цифр қолданылады, олар: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Ондық санау жүйесі позициялық санау жүйесі болып табылады, өйткені ондық санды жазуда цифрдың мәні оның позициясына немесе санда орналасқан орнына байланысты.
Санның цифрына бөлінетін позицияны разряд деп атайды.
Мысалы: 524, онда сан 5 жүздіктен, 2 ондықтан және 4 бірліктен тұрады.
Мұнда 5 цифры салмақтырақ болғандықтан, ол санның үлкен цифры деп аталады, ал 4 цифры төмен салмақты болады да, осы санның кішкентай цифры деп аталады. Егер 524 санын қосынды түрінде жазатын болсақ,
5*102+2*101+4*100
жазбасы сол санның негізге байланысты құрылатынын көрсетеді. Мұндағы, 10 саны – санау жүйесінің негізі, ол цифрдың тұрған орнына (разрядына) байланысты дәрежеленіп, сол цифрға көбейтіледі. Бірліктер үшін негіздің дәреже көрсеткіші нөлге тең, ондықтар үшін – бірге, жүздіктер үшін – екіге, мыңдықтар үшін – үшке тең және осылайша жалғасып кете береді.
Егер ондық санау жүйесінде берілген сан ондық бөлшек болатын болса, оны да осындай қосынды түрінде жазуға болады. Егер 524,1025 санын қосынды түрінде жазатын болсақ,
5*102+2*101+4*100+1*10-1+0*10-2+2*10-3+5*10-4
жазбасын алуға болады. Мұндағы негіз ондық бөлшектің бөлшек бөлігіндегі цифрлардың тұрған орнына байланысты теріс көрсеткішті дәрежемен дәрежеленіп, сол цифрға көбейтіледі. Дәреже көрсеткіштер бөлшек бөліктің алғашқы цифры үшін -1-ге тең, екінші цифры үшін – -2-ге, үшінші цифры үшін – -3-ке тең және әрі қарай осылайша жалғасып кете береді.
Енді осы айтылғандарды жалпыласақ, біз кез келген санау жүйесінде берілген санды ондық санау жүйесіне аудару ережесін, яғни сандардың жазылуының толық (жазылған) түрін шығара аламыз.
q негізді санау жүйесінде (q-ші санау жүйесі) q санының тізбекті дәрежелері разрядтар бірлігі ретінде болады. Кез келген разрядты q бірлік келесі разрядтың бірлігін береді. q-ші санау жүйесіндегі санды жазу үшін 0, 1, ..., q-1 сандарын кескіндейтін әр түрлі q таңбалары (цифр) қажет болады. q-ші санау жүйесіндегі q санының жазбасы 10 түрінде болады.
Санның жазылуының толық түрі мына түрде болады:
А q = ±(a n-1q n-1 + a n-2q n-2 + … + a 0q 0 + a -1q -1 + a -2q -2 + … + a -mq -m)
мұндағы, А q – санның өзі,
q – санау жүйесінің негізі,
a і – берілген санау жүйесіндегі санның цифры,
n – санның бүтін бөлігі разрядтарының саны,
m – санның бөлшек бөлігі разрядтарының саны.
Компьютерде әдетте ондық позициялық санау жүйесі емес, екілік негіздеуші санау жүйесі қолданылады. Екілік жүйеде сан екі 0 және 1 көмегімен жазылады және екілік сан деп аталады.
Тек қана 0 және 1 цифрларынан тұратын екілік саннан ондық санды ажырату үшін екілік санды жазуда екілік санау жүйесінің индексіне белгі қосылады, мысалы, 1101011,1112.
Екілік санның әрбір разрядын (цифрын) бит деп атайды
Екілік жүйенің маңызды құндылығы – цифрды ұсыну ыңғайлылығы (мысалы, 1 цифрына электр кернеуінің бар болуы, ал 2 цифрына электр кернеуінің жоқ болуы сәйкес келуі мүмкін) және компьютер құрылғысының, яғни екілік сандармен орындалатын арифметикалық және логикалық операцияларды жүзеге асыруға арналған арифметикалы-логикалық құрылғының қарапайымдылығы.
Екілік жүйенің елеулі кемшілігі – мұнда санды жазу үшін 0 және1 цифрлары көп қажет болады. Бұл адамның екілік санды қабылдауын қиындатады. Мысалы, 156 ондық санының екілік жүйедегі түрі мынандай: 10011100. Сондықтан екілік жүйе әдетте компьютердің “ішкі қажеттілігі” үшін қолданылады, ал адамның компьютермен жұмыс істеуі үшін үлкен негіздеуішті санау жүйесі таңдалады. Бұл кезде сегіздік немесе он алтылык жүйелері жиі қолданылады, өйткені кейін көрсетілетіндей, осы екі жүйелердің және екілік жүйенің арасында санды бір жүйеден басқаға ауыстыруды жеңілдететін қарапайым байланыс бар.
Екілік санды жазуды қысқарту үшін 16 негіздеуші бар санау жүйесі қолданылады. Бұл жүйені он алтылық деп атайды.
Он алтылық позициялық санау жүйесінде санды жазу үшін ондық санау жүйесінің цифрлары 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 және жетпейтін алты цифрды белгілеу үшін ондық сандарының мәні 10, 11, 12, 13, 14 және 15 болатын сәйкес латын альфавитінің алғашқы үлкен әріптері: A, B, C, D, E, F қолданылады. Осылайша ондық жүйенің барлық цифрлары және сонымен қатар латынның алты әріптері он алтылық жүйенің “цифрлары” болып табылады.
Он алтылық жүйенің барлық цифрларын келтірейік: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, В, С, D, E, F. Он алтылық санау жүйесінде ондық жүйеде 15+1=16 дегенге сәйкес F санынан кейін F+1 саны келеді.
Бақылау сұрақтары
Санау жүйесі дегеніміз не?
Санау жүйесінің түрлерін ата. Олар бір-бірінен немен ерекшеленеді?
Позициялық санау жүйесіне сипаттама бер.
Позициялық емес санау жүйесіне сипаттама бер.
Екілік санау жүйесіне сипаттама бер.
Сегіздік санау жүйесіне сипаттама бер.
Оналтылық санау жүйесіне сипаттама бер.
ЭЕМ-да қолданылатын санау жүйелеріне сипаттама бер.
№5 лекция
2.2. Сандарды бір санау жүйесінен екінші санау жүйесіне ауыстыру
Сандарды бір санау жүйесінен басқа санау жүйесіне ауыстыру қажеттілігі жиі туады, ол екі түрде жүзеге асырылады:
Кез келген санау жүйесіндегі сандарды ондық санау жүйесіне ауыстыру;
Ондық санау жүйесіндегі сандарды кез келген санау жүйесіне ауыстыру;
Кез келген санау жүйесіндегі сандарды ондық санау жүйесіне ауыстыру санның толық жазылу түрі арқылы жүзеге асырылады:
А q = ±(a n-1q n-1 + a n-2q n-2 + … + a 0q 0 + a -1q -1 + a -2q -2 + … + a -mq -m)
мұндағы, А q – санның өзі,
q – санау жүйесінің негізі,
a і – берілген санау жүйесіндегі санның цифры,
n – санның бүтін бөлігі разрядтарының саны,
m – санның бөлшек бөлігі разрядтарының саны.
1 мысал. 1011,0012 екілік санын ондық санау жүйесіне ауыстыр.
Жауабы: 1011,0012=1*23+0*22+1*21+1*20+0*2-1+0*2-2+1*2-3=8+0+2+1+0+0+0,125=11,125
2 мысал. 132,2014 төрттік санын ондық санау жүйесіне ауыстыр.
Жауабы: 132,2014=1*42+3*41+2*40+2*4-1+0*4-2+1*4-3=16+12+2+0,5+0+0,15625=30,65625
3 мысал. 736,1428 сегіздік санын ондық санау жүйесіне ауыстыр.
Жауабы: 736,248=7*82+3*81+6*80+2*8-1+4*8-2=448+24+6+0,25+0,625=478,875
4 мысал. АD,8С16 оналтылық санын ондық санау жүйесіне ауыстыр.
Жауабы: АD,8С16=10*161+13*160+8*16-1+12*16-2=160+13+0,5+0,75=174,25
Ондық санау жүйесінен басқа кез келген санау жүйесіне ауыстырудың берілген санға байланысты екі ережесі бар:
Бүтін ондық сандарды басқа кез келген санау жүйесіне ауыстыру;
Ондық бөлшек сандарды басқа кез келген санау жүйесіне ауыстыру.
Бүтін ондық сандарды басқа кез келген санау жүйесіне ауыстыру
Ауыстыру ережесі. Бүтін оң ондық санды басқа кез келген санау жүйесіне ауыстыру үшін берілген санды ауыстырылатын санау жүйесінің негізіне бөлу қажет. Алынған бөлінді негізден кіші болғанша бөліндіні қайтадан сол негізге бөле береді және т.с.с. Нәтижесінде соңғы бөліндіні және соңғысынан бастап барлық қалдықтарды бір қатармен жазу керек.
Ондық бөлшек сандарды басқа кез келген санау жүйесіне ауыстыру
Ауыстыру ережесі. Бүтін оң ондық бөлшекті басқа кез келген санау жүйесіне ауыстыру үшін бөлшекті ауыстырылатын санау жүйесінің негізіне көбейту қажет. Көбейтіндінің бүтін бөлігі ауыстырылатын санау жүйесіндегі бөлшек санның үтірден кейінгі бірінші цифры ретінде алынады, ал бөлшек бөлігі қайтадан негізге көбейтіледі. Көбейтіндінің бүтін бөлігі келесі цифр ретінде алынады да, бөлшек бөлігін қайтадан негізге көбейтеді және т.с.с.
Шексіз ондық бөлшекті басқа кез келген санау жүйесіне ауыстырған кезде периодты бөлшек алынуы мүмкін.
2.3. Санау жүйесіндегі сандарға арифметикалық амалдар қолдану
Екілік санау жүйесінде арифметикалық әрекеттер ондық жүйедегі ереже бойынша орындалады, тек қана айырмашылығы – санау жүйесінің негіздеушісі екіге тең және тек екі цифр қолданылады.
Қосу.
Қосу операциясын қарастырайық. Екілік санды қосу тасымалдау есебімен сәйкес разрядтарды қосуға әкеледі.
Екі екілік санды қосу кезінде мынадай төрт ереже қолданылады:
0+0=0
1+0=1
0+1=1
1+1=10 бірліктерді көрші (үлкен) разрядқа тасымалдау жүреді.
Мысалы: 101+11 (ондық жүйеде 5+3=8) екі екілік санды қосуды орындаймыз. Жетпейтін нольдерді қосып, амалды бағанада орындаған жөн.
101
+011 Қосу процесін кезеңмен қарастырайық.
1) Кіші разрядта қосу орындалады: 1+1=10. Кіші разрядта қосынды 0 жазылады және бірлік келесі үлкен разрядқа тасымалданады.
2) Келесі сол жақ разрядтың цифрлары және тасымалдың бірлігі қосылады: 0+1+1=10. Бұл разрядта қосынды 0 жазылады және бірлік тағы да келесі үлкен рвзрядқа тасымалданады.
3) Сол жақ разрядтың үшінші цифрлары және тасымалдың бірлігі қосылады: 0+1+1=азрядта қосынды 0 жазылады және бірлік тағы да келесі үлкен разрядқа тасымалданады, т.с.с.
4) Нәтижеде: 101
+011
1000 алынады.
Сонымен, 10002=810.
Қосу –екілік арифметикадағы маңызды операция.
Компьютердегі екілік сандармен жүзеге асатын басқа үш операция – азайту, көбейту, бөлу әдетте қосудың көмегімен орындалады.
Азайту.
Екілік санды азқайту кезінде есте ұстау керек:
0-0=0
1-0=1
0-1=1 бірлікті көрші (үлкен) разрядтан аламыз.
1-1=0
Мысалы, 1010-101 екілік санның айырмасын табу. Кіші разрядтан бастап азайтуды бағанада орындаймыз:
1) Кіші разряд үшін 0-1 бар. Сондықтан үлкен разрядтан бірлікті аламызжәне 10-1=1-ді табамыз.
2) Келесі разрядта 0-0=0 болады.
3) Сол жақтағы разрядта тағы да 0-1 болады. Үлкен разрядтан 1-ді аламыз және 10-1=1-ді табамыз.
4) Келесі разрядта 0 қалады.
5) Нәтижеде: 1010
-101
101 алынады.
Бақылау сұрақтары
Сандарды бір санау жүйесінен екінші санау жүйесіне ауыстыру ережелерін айт?
Ондық сандарды кез келген санау жүйесіне қалай ауыстырады?
Кез келген санау жүйесіндегі сандарды ондық санау жүйесіне ауыстырады?
Санау жүйесіндегі сандарға арифметикалық амалдар қолдану ережелерін ата.
Екілік санау жүйесіндегі сандарға арифметикалық амалдарды қалай қолданамыз?
Төрттік санау жүйесіндегі сандарға арифметикалық амалдарды қалай қолданамыз?
Сегіздік санау жүйесіндегі сандарға арифметикалық амалдарды қалай қолданамыз?
Оналтылық санау жүйесіндегі сандарға арифметикалық амалдарды қалай қолданамыз?
Әртүрлі санау жүйелеріндегі сандарға арифметикалық амалдарды қалай қолданамыз?
Санау жүйелеріндегі сандарға қолданылған арифметикалық амалдардың нәтижесін қалай тексереміз?
№6 лекция
2.4. ЭЕМ жадындағы символ және санау көрсетілімі
Бүтін екілік санды q=2n (4, 8, 16 және т.б.) негізді санау жүйесінде жазу үшін:
берілген екілік санды оңнан солға қарай әрқайсысында n цифр болатындай етіп топтарға бөлу керек;
егер соңғы сол жақ топта n реті аз болатын болса, онда оны сол жағынан қажет ретті сан алынғанша нөлмен толықтыру қажет;
әрбір топты n-ретті екілік сан ретінде қарастырып, оны q=2n негізді санау жүйесіндегі сәйкес келетін цифрмен жазу керек.
Бөлшек екілік санды q=2n (4, 8, 16 және т.б.) негізді санау жүйесінде жазу үшін:
берілген екілік санды солдан оңға қарай әрқайсысында n цифр болатындай етіп топтарға бөлу керек;
егер соңғы оң жақ топта n реті аз болатын болса, онда оны сол жағынан қажет ретті сан алынғанша нөлмен толықтыру қажет;
әрбір топты n-ретті екілік сан ретінде қарастырып, оны q=2n негізді санау жүйесіндегі сәйкес келетін цифрмен жазу керек.
Кез келген екілік санды q=2n (4, 8, 16 және т.б.) негізді санау жүйесінде жазу үшін:
берілген екілік санды оң және сол жағынан (бүтін және бөлшек бөлігін) әрқайсысында n цифр болатындай етіп топтарға бөлу керек;
егер соңғы оң және сол жақ топтардағы n реті аз болатын болса, онда оларды оң және сол жақтарынан қажет ретті сан алынғанша нөлмен толықтыру қажет;
әрбір топты n-ретті екілік сан ретінде қарастырып, оны q=2n негізді санау жүйесіндегі сәйкес келетін цифрмен жазу керек.
q=2n (4, 8, 16 және т.б.) негізді санау жүйесінде жазылған кез келген санды екілік санау жүйесіне аудару үшін осы санның әрбір цифрын оның n-ретті тепе-тең цифрымен алмастыру қажет.
Компьютерлік ақпарат қолданылымында 8 (сегіздік) және 16 (оналтылық) негізді санау жүйесі жиі қолданылады.
4-кесте
4 ( q=22, n=2) | 2 | 8 ( q=23, n=3) | 2 | 16 ( q=24, n=4) | 2 |
0 | 00 | 0 | 000 | 0 | 0000 |
1 | 01 | 1 | 001 | 1 | 0001 |
2 | 10 | 2 | 010 | 2 | 0010 |
3 | 11 | 3 | 011 | 3 | 0011 |
| | 4 | 100 | 4 | 0100 |
| | 5 | 101 | 5 | 0101 |
| | 6 | 110 | 6 | 0110 |
| | 7 | 111 | 7 | 0111 |
| | | | 8 | 1000 |
| | | | 9 | 1001 |
| | | | 10 | 1010 |
| | | | 11 | 1011 |
| | | | 12 | 1100 |
| | | | 13 | 1101 |
| | | | 14 | 1110 |
| | | | 15 | 1111 |
Бақылау сұрақтары
ЭЕМ жадында символ қалай бейнеленеді?
Компьютерлік ақпарат қолданылымында қандай санау жүйесі қолданылады?
Бүтін екілік санның кез келген санау жүйесіне ауыстыру ережесін айт,
Бөлшек екілік санның кез келген санау жүйесіне ауыстыру ережесін айт?
Компьютерлік ақпарат қолданылымында қандай санау жүйесі жиі қолданылады?
№7 лекция
3.1. Логика пәні. Жасанды, математикалық логика
ЭЕМ қатысуымен шешілетін есептердің арасында дәстүр бойынша логикалық есептер деп аталатындары аз емес.
Логика дегеніміз – адамның ойлау нысандары мен заңдары туралы, нақты айтқанда, дәлелді пікір заңдары туралы ғылым.
Ғылыми пән ретінде логиканың бірнеше нұсқалары дараланады: жасанды логика, математикалық логика, ықтималдықты логика, диалектикалық логика және т.б. Әр түрлі кестелерді жасау, қарама-қайшы түйіндерді шешу және басқа да көптеген жағдайларда адамдар логиканың көмегіне жүгінеді.
Жасанды логика сөйлеу тілімен білдіретін біздің кәдімгі мазмұнды пікірімізге талдау жасау мен байланысты.
Математикалық логика жасанды логиканың бір бөлігі болып табылады және ол кесіп – пішіп, айқындалған объектілер мен пікірлердің ақиқаттығын немесе жалғандығын бір мәнді шешуге болатын дәйектемелерді ғана зерттейді. Математикалық логика саласы пікірлер алгебрасы ретінде информатикада да жақсы меңгерілген. Қазіргі уақытта қазіргіалгебрасының негізгі операциялары енбейтін бір де бір программалау тілі жоқ. Логикалық есептерде тек қана сандар ғана емес, тосын аса шиеленіскен пікірлер де бастапқы деректер болып табылады.
Бір жағалаудан басқа жағалауға қасқырды, ешкіні және қырыққабатты алып бару жөніндегі әзіл есепті қарастырайық.
Е с е п. Өзеннің жағасында бар шаруа, ал оның жанындағы қасқыр, ешкі және қырыққабат тұр. Шаруа өзі ешкіні жағалауға жүзіп өтуі және қасқырды, ешкіні, қырыққабатты сонда алып баруы қажет. Алайда қайыққа, шаруадан басқа, не тек қасқыр, не тек ешкіні, не тек қырыққабат қана сияды. Қасқырды ешкімен немесе ешкіні қырыққабатпен қараусыз қалдыруға блмайды, өйткені қасқыр ешкіні, ал ешкі қырыққабатты жеп қоюы мүмкін. Мұндай жағдайда шаруа не істеуі керек
Бұл есепте арифметикалық икемдік емес, пайымдау, талқылау икемдігі үстем болады.
Талқылап көрейік
Егер қасқырды алып кетсе, онда ешкі қырыққабатты жеп қояды.
Егер қырыққабатты алып кетсе, онда қасқыр ешкіні жеп қояды.
Ендеше, ең алдымен ешкіні алып өту керек, өйткені қасқыр қырыққабатты жемейді, ал содан кейін қайтіп келіп ...
Өздерің логикалық талқылауды ақырына дейін жеткізіңдер.
Компьютерде бұл есепті шешу кезінде программада шартты қолдану жолымен логикалық операциялар пайдалану қажет.
Ақпараттармен алмасу кезінде адамдармен қатынасу түрлерінің бірі – бұл сұрақтар мен жауаптарды кезектестіру. Әр бір сұрақ бізді қоршайтын заттық әлем туралы білімнің қажеттігін көрсетеді. Бұл білімдерді біз пайымдаулар түрінде айтамыз. Пайымдаулар әдетте тікелей бақыланатын фактілерді көрсете алады: “Күн жарқырап тұр”, “Бұл тіктөртбұрыш – квадрат “ және т.с.с. Бірақ пайымдаулар одан шығарылған объектілер немесе әлі болмаған жағдайлар туралы тұжырымды да көрсете алады. “Су перісі бұтақтарда отыр”, “Бүін жаңбыр болады” және т.с.с.
Пікірлер дегеніміз – жалған немесе болатын кейбір пайымдаулар.
Мысалы, “ак қар”, “2*2 = 4” пікірлері ақиқат, ал “жер тегіс”, “2*2=5” пікірлері жалған. Әдетте, біз бақылайтын фактілер ақиқатқа қабылданады. Жалған пайымдаулар көбінесе пайымдаулар мен ұйғарымдардағы қатерлерден немесе қалауды шындықтың орнына беруге ұмтылудан пайда болады.
Пікірлер жалпы және жеке болып .Жеке пікірлер нақты фактілерді көрсетеді ,мысалы “3+3
Жалпы пікірлер объектілердің қандай да бөліктері үшін ақиқат және басқа объектілер үшін жалған болуы мұмкін. Мысалы, “Иттер мысықтарды жақсы көрмейді” пікірі иттердің көпшілігі үшін әділетті , бірақ балықтары үшін емес . “х*y0” пікірі х=1 және y=1 үшін ақиқат және сол кезде yерікті болғанда х=0
Егер пікірде айтылған ой объектілердің кез келгені үшін орынды болса, онда жалпы пікір тепе- тең ақиқат деп аталады. Мысалы ,“Итте төрт аяқ бар” пікірі кез келген ит үшін әділ . Тепе –тең ақиқат пікір заттардың заңдылықтарын бвйланыстыруда ерекше құнды. Мысалы,“a+b=b+a” пайымдауы кез келген нақты сандар үшін орынды және “Қосылғыштардың орындарын ауыстырғаннан қосынды өзгермейді ” деген арифметиканың заңын көрсетеді.
Қиын жағдайларда сұрақтардың жауабы ЖӘНЕ, НЕМЕСЕ ,ЕМЕС жалғаулары арқылы құрамды пікірлермен көрсетеді. Мысалы , “Мына оқушы ақылды және зерек” пікірі қарапайым “Мына оқушы зерек ” пікірлерінен тұратын құрамды пікір болып табылады.
Құрамды пікірлердегі ЖӘНЕ жалғаушы әрқашан бір мезгілдік ақиқатты болжайтын пікірлерді құрайды.
Құрамды пікірлердегі НЕМЕСЕ жағаушы екі рөлді ойнауы мқұмкін .Мысалы, “Бүгін біз баққа демалуға барамыз немесе бақшада жұмыс істейміз”. НЕМЕСЕ жалғаушысын ”НЕ” бөлушісімен айырбастауға болады, “Бүгін біз не баққа демалуға барамыз, не бақшада жұмыс істейтін боламыз ”, өиткені бір мезгілде бақта демалу және бақшада жұмыс істеу мүмкін емес.Ал “Жаңбыр күндіз немесе кеше болады” деген сөйлемде үш түрлі жағдай мүмкін: “Жаңбыр күндіз болады ” , не “Жаңбыр кеше болады ”, не “Жаңбыр күндіз болады”, не “Жаңбыр күндіз де, кешке де болады”. Бірінші мысалда НЕМЕСЕ жағаушы бөлуші рөл, ал екіншісінде біріктіруші рөл атқарады .
Барлық компьютелік программаларда және математикалық пайымдауларда НЕМЕСЕ жағаушы тек біріктіруші рөл атқарады .Мысалы, “х=0” пайымдануындағы НЕМЕСЕ жалғаушысы не “y=0”, не “х=0”,“х=0 ” және y=0 екенін білдіреді.
Ереже Математикада НЕМЕСЕ жалғаушысы бар құрамды пікір: егер оны құрайтындардың кемінде біреуі ақиқат болса , ол ақиқат ; егер оны құрайтындардың бәрі жалған болса , ол жалған пікір болады.
ЕМЕС жалғаушысы теріске шығаруды тұжырымдау үшін қолданылады. Мысалы, “х≠0” пайымдауы болады. “Бұл адам әдемі” пайымдауының теріске шығарылуы “Бұл адам әдемі емес” пайымдауына тең.
Ереже. Егер пайымдау жалған болса, онда теріске шығару ақиқат және, керісінше, егер бастапқы пайымдау ақиқат болса, онда теріске шығару жалған.
Бақылау сұрақтары
Логика дегеніміз не?
Логиканың нұсқаларын айт.
Жасанды логиканы қалай түсінесіз?
Математикалық логиканы қалай түсінесіз?
Пікірлер дегеніміз не? Пікірлер қандай түрлерге бөлінеді?
№8 лекция
3.2. Логикалық операциялар, ақиқаттық кестелер
Логикалық шамалар: АҚИҚАТ, ЖАЛҒАН (true, false) сөздерімен бейнеленген түсінік. Пікірлердің ақиқаттығы логикалық шамалар арқылы беріледі.
Логикалық тұрақты: АҚИҚАТ немесе ЖАЛҒАН.
Логикалық айнымалы: логикалық шаманың символдың белгіленуі. Егер, А, В, Х, Y және т.б. – айнымалы логикалық шамалар берілген болса, онда олар тек АҚИҚАТ немесе ЖАЛҒАН мәндерін ғана қабылдайды.
Логикалық жалғаушылар математикалық логикада күрделі пайымдауларды сипаттайтын логикалық операциялар болып табылады. Математикалық логикадағы ЖӘНЕ, НЕМЕСЕ, ЕМЕС логикалық операциялары ақиқаттық мәндер кестесімен анықталады.
5-кесте
“ЖӘНЕ” “НЕМЕСЕ” “ЕМЕС” | Конъюнкция (логикалық көбейту) Дизъюнкция (логикалық қосу) Теріске шығару. | А және В А немесе В А емес |
Логикалық көбейту
ЖӘНЕ жалғаушы арқылы қарапайым Амен В пайымдауларының бір құрамдасқа бірігуі логикалық көбейту немесе конъюнкция, ал операцияның нәтижиесі – логикалық көбейтінді деп аталады . |
ЖӘНЕ (конъюнкция) логикалық операциясы үшін ақиқаттық кесте мынадай:
6-кесте
А | В | А және В |
АҚИҚАТ | АҚИҚАТ | АҚИҚАТ |
АҚИҚАТ | ЖАЛҒАН | ЖАЛҒАН |
ЖАЛҒАН | АҚИҚАТ | ЖАЛҒАН |
ЖАЛҒАН | ЖАЛҒАН | ЖАЛҒАН |
Мұндағы А және В – ақиқат немесе жалған мәндер қабылдАай алатын екі пікір. Мысалы, қарапайым пікірлер берілсін: А – “Астана – Қазхақстанның астанасы ” , В – “Астанада 300 мыңнан астам адам тұрады”. Онда осы пікірлердің логикалық көбейтіндісі немесе конъюнкциясы, құрама пайымдау болады: “Астана – Қазақстанның астанасы және Астанада 300 мыңнан астам адам тұрады” пайымдауларының ақиқат мәніне байланысты ақиқат немесе жалған мәнін қабылдайды. А мен В пайымдаулары ақиқат мәнін қабылдағанда және тек сонда ғана “А және В ” құрамды пайымдауды да ақиқат мәнін қабылдайтын кестеден көреміз.
Ақиқаттық кестесінен:
пікірдің екеуі де ақиқат болғанда, А және В конъюнкциясы ақиқат;
А немесе В пікірлерінің біреуі немесе екеуі де жалған болғанда, А және В конъюнкциясы жалған болатындығы көреміз.
Біріктіруші мағынада қолданылатын НЕМЕСЕ жалғауышы арқылы қарапайым А және В айтылымдарының бір құрамдасқа бірігуі логикалық қосу немесе дизъюнкция, ал операцияның нәтижесі-логикалық қосынды деп аталады.
НЕМЕСЕ логикалық операциясы үшін ақиқаттық кесте мынадай түрде болады:
7-кесте
А | В | А немесе В |
ИӘ | ИӘ | ИӘ |
ИӘ | ЖАЛҒАН | ИӘ |
ЖАЛҒАН | ИӘ | ИӘ |
ЖАЛҒАН | ЖАЛҒАН | ЖАЛҒАН |
Мысалы, “Күзде ағаштарда жапырақтар жасыл және сары” құрамды пікірі үш жағдайда иә логикалық мағынасын қабылдайды: “Күзде ағаштарда жапырақтар сары, не “Күзде ағаштарда жапырақтар жасыл және сары” болғанда және “Күзде ағаштарда жапырақтар жасыл” болғанда.
Бұл операцияныңақиқаттық кестесінен, егер А да В да ақиқат мәніне ие болса; не тек қана А, не тек қана В ақиқат мәніне ие болса, онда “Анемесе В” айтылымы жалған мәніне ие болады.
Егер А немесе В пікірлерінің кемінде біреуі ақиқат болғанда, А және В дизъюнкциясы ақиқат;
А және В пікірлерінің екеуі де жалған болғанда, А және В дизъюнкциясы жалған.
Логикалық теріске шығару
Қарапайым А пікіріне ЕМЕС демеулік шылауын қосу логикалық теріске шығару операциясы деп аталады, операцияны орындағаннан кейінгі нәтиже жаңа айтылымды береді.
ЕМЕС (теріске шығару) логикалық операциясы үшін ақиқаттық кесте мына түрде болады:8-кесте
А | А емес |
АҚИҚАТ | ЖАЛҒАН |
ЖАЛҒАН | АҚИҚАТ |
Мұндағы: А – қайсыбір еркін пікір. Мысалы, “Бүгін далада ыстық” пікірі үшін “Бүгін далада ыстық емес” пікірі теріске шығару болады.
Кей жағдайларда барлық пікірлерге “... жалған сөзін қолдануға болады. Сонда “Сен жақсы баға алдың” айтылымын.“Сенің жақсы баға алғаның жалған” айтылымын теріске шығару болады.
Бұл операцияның ақиқаттық кестесінен, егер бастапқы А айтылымы жалған болса, онда А емес (ақиқат емес) теріске шығару ақиқат мәніне ие болатындығын көреміз. Және керісінше, егер бастапқы А айтылымы ақиқат болса, онда А емес теріске шығаруы жалған мәніне ие болады.
бастапқы пікір жалған болғанда, теріске шығару ақиқат.
бастапқы пікір ақиқат болғанда, теріске шығару жалған.
Импликация және тепе-теңдік
Импликация (шартты пікір). Бұл логикалық операцияларға қазақ тіліндегі мынадай жалғаулар сәйкес келеді: егер ..., онда; сонда ..., болғанда; ...-ға жақын; ...-ғе жуық.
Тепе-теңдік. Бұл логикалық операцияларға қазақ тіліндегі мынадай жалғаулар сәйкес келеді: егер және тек егер; сонда және тек сонда ғана; ... болғанда.
9-кесте
Ипликация мен тепе-теңдік операцияларының
ақиқаттық кестесі
А | В | А → В | А ≡ В |
АҚИҚАТ | АҚИҚАТ | АҚИҚАТ | АҚИҚАТ |
АҚИҚАТ | ЖАЛҒАН | ЖАЛҒАН | ЖАЛҒАН |
ЖАЛҒАН | АҚИҚАТ | АҚИҚАТ | ЖАЛҒАН |
ЖАЛҒАН | ЖАЛҒАН | АҚИҚАТ | АҚИҚАТ |
Күрделі пікірдің ақиқаттығын кестелік тәсілмен анықтау кей жағдайларды жеткіліксіз болуы да мүмкін, себебі логикалық айнымалылардың саны өскен сайын көп нұсқа таңдауға тура келеді. Мұндай жағдайларда формулаларды қалыпты түрге келтіру тәсілі қолданылады.
Бақылау сұрақтары
Логикалық шамалар дегеніміз не?
Логикалық тұрақты және логикалық айнымалы дегеніміз не?
Логикалық операциялар дегеніміз не?
Ақиқаттық кестелер қалай құрылады?
Логикалық операциялар түрлеріне сипаттама беріңіз.
№9 лекция
3.3. Логикалық өрнектер, оларды түрлендіру
Логикалық өрнек – жай немесе күрделі пікірлер. Күрделі пікірлер логикалық операциялар көмегімен жай пікірлерден тұрады.
Логикалық өрнектерді бейнелеудің тиімді тәсілі логикалық схемалар болып табылады. Үш негізгі логикалық операциялар мынадай схемаларда көрсетілгендей бейнеледі:
10-кесте
Конъюнкция | Дизъюнкция | Терістеу |
1 → және → 0 0 →
0 → және → 0 1 →
1 → және → 1 1 →
0 → және → 0 0 → | 1 → немесе → 1 0 →
0 → немесе → 1 1 →
1 → немесе → 1 1 →
0 → немесе → 0 0 → |
1 → емес → 0
0 → емес → 1 |
Бұл кестеде келесі белгілеулер қолданылған:
1 – ақиқат;
0 – жалған;
және , немесе , емес – логикалық операциялар (логикалық элементтер).
Бағытталған бағыттаушының алдындағы цифрлар – логикалық операндылар;
Бағытталған бағыттаушының соңындағы цифрлар –операция нәтижелері.
Бұл кесте – сол ақиқаттық кесте, тек логикалық схемалар түрінде берілген. Осындау түрде логикалық операциялар тізбегін және оларды есептеуді кескіндеу қолайлы.
Логикалық өрнектерді негізгі түрлендіру формулалары
¬¬А ≡ A.
¬(A & B) ≡ ¬А v ¬В.
¬(A v B) ≡ ¬А & ¬В.
¬(A → B) ≡ ¬А & ¬В.
A → B ≡ ¬А v В.
A → B ≡ (A & B) v (¬A & ¬B) ≡ (¬A v B) & (A v ¬B).
A & (A v B) ≡ A.
A v A & B ≡ A.
A & (A v B) ≡ ¬А & В.
A v ¬A & B ≡ A v B.
Коммутативтілік заңдылығы:
A & B ≡ B & A;
A v B ≡ B v A.
Ассоциативтілік заңдылығы:
(A v B) v С≡ А v (В v С);
(A & B) & C≡ A & (B & C).
Идемпотенттілік заңдылығы:
A v A ≡ A;
A & A ≡ A.
Дистрибутивтілік заңдылығы:
A & (B v C) ≡ (A &B) v (A & C);
A v (B & C) ≡ (A v B) & (A v C).
A v 1 ≡ 1, A & 1 ≡ A, ¬A v A ≡ 1.
A & 0 ≡ 0, A & ¬A ≡ 0.
Бақылау сұрақтары
Логикалық өрнек дегеніміз не?
Логикалық өрнектер қалай бейнеленеді?
Логикалық өрнектерді түрлендірудің формулаларына сипаттама беріңіз.
Коммутативтілік заңдылықты түсіндіріңіз.
Ассоциативтілік заңдылықты түсіндіріңіз.
Идемпотенттілік заңдылықты түсіндіріңіз?
Дистрибутивтілік заңдылықты түсіндіріңіз.
№10 лекция
4.1. Алгоритмдер түсінігі. Көрсетілім сипаты мен маңызы
Алгоритм ұғымы информатикада ақпарат сияқты ілгері ұғымдардың қатарына жатады. Бұл атаудың мағынасын түсіну үшін оған жан жақты талдау жасаған жөн.
Алгоритм атауы атақты араб математигі әбу – Жафар Мұхаммед ибн Мұқса әл-Хорезми (763-850) есімінің латынша Algoritmi (Алгоритми) болып жазылуынан шыққан. Ол санаудың ондық жүйесінде көп орынды всандар мен арифметикалық амалдардың орындалу ережесін ұсынған. Бұл ережелер қосынды мен көбейтіндіні табуға арналаған амалдарды орындауға қажетті тізбектен құрылған. Сол ереже осы күнге дейін қолданылып келеді.
Оған дейін де арифметикалық амалдарды орындаудың көптеген ережелері болған. Онда негізінен сандардың ерекшеліктеріне көп көңіл бөлінген. Ал әл-Хорезми көп орынды сандардың бәріне ортақ және барлық сандарға жарамды ереже ұсынған. Әл-Хорезмидің ұсынған тәсілін жақтаушыларды алгоритмдіктер деп, ал алгоритм ұғымын бірқатар қасиеттері бар ережелер жүйесі деп атаған.
Қазіргі кезде алгоритм ұғымы тек математикалық есептерді шешу әдісімен ғана шектелмейді. Оның мағынасы әлдеқайда кең. әрбір компьютер алдын ала берілген алгоритммен, яғни жоспармен жұмыс істейді. Алгоритмді заңдылық, реттелген амалдар жиыны кезекпен орындалатын операциялар тізімі деп ұсынған жөн. Бұл ұғым қазіргі кезде кеңінен қолданылып жүр. Оның көптеген анықтамалары да бар. Соның бірін келтіре кетейік.
Алгоритмдер — есеп шешімін алуга арналған амалдар тізбегінің орындалуын жазу ережесі.
Алгоритм – берілген есептің шығару жолын реттелген амалдар тізбегі түріне келтіру. Кез келген есептің қарапайым амалдарды тізбектей орындау арқылы шығаруға болады. Алдын-ала есеп шешімінің алгоритмін құрып алмай программалауға кірісу мүмкін емес.
Алгоритмді компьютерде орындау үшін оны программа түрінде жазып шығу керек.
Программа – алгоритмді машинаға түсінікті нұсқаулар тіәзімі ретінде жазу. Программа машинаға түсінікті командалардан тұрады. Осы командалар тізбегі орындалу барысында есептің нәтижесі шығады. әрбір компьютер алдын ала жазылған программамен істейді. Программа дегеніміз – белгілі бір нәтиже алу үшін орындалатын амалдардың айқындалған тізбегі. Процессор программаның құрамындағы командаларды кезекпен орындап отырады. Командалар тізбегін программа деп қарастыруға болады. Команда бір ғана қарапайым амалды орындау үшін берілген бұйрық ретінде беріледі. Командалар арифметикалық немесе логикалық амал; ақпаратты тасымалдау командасы.
Компьютердің жұмысы программалық принципке негізделген, яғни ол өзінің жадында сақталатын командалар тізбегін автоматты түрде орындау арқылы есеп шығарады.
Кез келген компьютер жадында берілген мәліметтермен қоса оны қандай жолмен, қандай нұсқауларды орындағанда шығатынын көрсететін программаны сақтайды. Компьютер берілген тапсырманы орындауға дайын тұрған техникалық аспап болғандықтан, әрбір тапсырманы түсінікті түрде қысқаша жаза білу керек. Тапсырма жоғарыда айтылған жекелеген командалардан тұрады. Машинаға түсінікті түрде жазылған тапсырмаларды немесе командалар жиынын да программа деп атауға болады. Программа – арнайы мәтін арқылы компьютерге тапсырманың ретін хабарлайтын ережелер мен нұсқаулар тізбегінен тұрады.
Алгоритмдердің орындалуы
Алгоритмді орындаушының ролін негізінен адам немесе автоматтандырылған аспап, яғни компьютер, робот т.б. атқарады. Мысалы, y=(ax+b)(cx-d) функциясын есептеу төмендегі қарапайым іс-әрекеттерден тұрады:
a-ны x-ке көбейту, оны R1 деп белгілеу.
оған b-ны қосу, нәтижесін R2 деп белгілеу.
с-ны х-ке көбейту, оны R3 деп белгілеу.
одан d-ны алу, оны R4 деп белгілеу.
R2-ні R4-ке көбейту, оны y деп белгілеу.
Сонымен, алгоритмнің орындалуы кезінде оны орындаушыға келесі жолы қандай нұсқау орындалатыны белгілі болуы қажет. Ал орындаушының жүзеге асыра алатын командалар жиыны – компьютердің командалар жүйесін құрайды.
Алгоритмді машинаға енгізу үшін оны белгілі бір заңдылықпен мәтін түрінде жазып, компьютердің жадына енгізу қажет. Ал алгоритмдер мен олардың орындалуын компьютерде жүзеге асыру үшін қолданылатын бірыңғай және дәл жазуға арналған ережелер жүйесі програма болып табылады.
Алгоритм мен программаға байланысты компьютердің мынадай жұмыс еркешеліктері болады:
есепті шығару жолы алгоритм түрінде өрнектелуі қажет;
алгоритм программаға айналдырылуы тиіс;
программа машина жадына енгізіліп, ретімен орындалуы керек;
Күнделікті тұрмыстан алгоритмге бір мысал келтіре кетейік.
орта мектепті бітіріп, аттестат алу;
керекті құжаттарды аттестаттың түпнұсқасымен біргебелгілі бір жоғары оқу орнына өткізу;
қабылдау емтихандарын “2”-ден жоғары бағаларға тапсыру;
конкурстан өту.
Бұл көрсетілген пункттердің орнын ауыстыруға болмайды. Олар көрсетілген ретпен кезектесіп орындалуы тиіс. Сонда ғана керекті нәтижеге қолымыз жетеді.
Алгоритм - информатика мен есептеу техникасының ілгері ұғымдарының бірі. Квадрат теңдеудің түбірін табу ережесі, үшбұрыштың ауданын есептеу жолдары алгоритмдердің мысалдары болып табылгды. Сонымен, алгоритм –砠есептерді шығару тәсілі,ᠠяғни белгілі бір нәтижеге жету үшін&қолданылатын амалдаудыңᠠреттелген жиыны.
Сонымен, алгоуитмᠠатқарушы көрсетілген#іс-әрекеттер тізбегін бұлжытпай орынзай отырып, керектіᠠнәтиже алуды жүзеге асыратын машина, құрылғы немесе адам бола алады.
Алға қойған мақсатқа жету немесе берілген есепті шешу бағытында атқарушыға біртіндеп, қандай әрекеттер жасау қажеттігін әрі түсінікті, әрі дәл етіп көрсететін нұсқаулар тобын алгоритм деп атайды.
1-мысал. Қазынаны іздеу алгоритмі.
Бұлақ көзі – іздеу басы.
Оңтүстікке 2 қадам жүру;
Шығысқа 5 қадам жүру;
Солтүстікке 8 қадам жүру;
келген жерді қазу.
Осы әрекеттен тұратын жазба – қазынаны іздеу алгоритмі болып табылады.
2-мысал. Сабаққа даярлану алгоритмі.
Күнделікті қолға алу;
Тиісті бетін ашу;
Дайындалатын пәнді анықтау;
Үйге берліген тапсырманы орындау.
Мектеп оқулықтары да алгоритмге толы деуге болады; арифметикалық амалдардың орындалу ережелері, физика, химия, биология заңдарының математикалық формулалары алгоритм ретінде қолданылады.
Алгоритм қасиеттері
Алгоритм ұғымының мәнін ашатын негізгі қасиеттерінен немесе оған қойылатын талаптардан қысқаша мағлұматтар келтірейік. Компьютерде орындалуға тиіс алгоритмдерге мынадай талаптар қойылады:
алгоритм анық әре дәл өрнектелуі тиіс;
оның модульдік қасиеті, яғни алгоритмді кішкене бөліктерге бөлу мүмкіндігі болуы қажет;
алгоритм шектелген уақыттан соң нәтиже беруі тиіс, яғни алгоритм қадамдарының саны шексіз болмауы керек;
бір тектес есептерге жалпы бір ғана алгоритм қолданылуы тиіс.
1. Алгоритмнің айқын, дәл өрнектелу қасиеті.
Алгоритмде келтірілген барлық іс-әрекеттердің мағынасы айқын, нақты анықталған болу керек. Онда қандай адамдар көрсетілсе, тек соны ғана орындау қажет. Есеп шығару жолына керектің бәрі бір жақты анықталуы және орындаушыға түсінікті әрі нақты болуы тиіс. Атқарушы алгоритм командаларын орындау кезінде ешқандай ойланбауы керек.
2. Алгоритмнің үзіктілік қасиеті.
Алгоритмнің үзік модульдерге бөліну қасиеті болуы тиіс, яғни үлкен алгоритмді бірнеше кішкене алгоритмдерге жіктеуге әрқашанда мүмкіншілік болуы керек. Бұл қасиет бойынша алгоритм аралық нәтиже беретіндей бірнеше ықшамды бөліктерге, ал олар одан да кіші қадамдарға бөлінеді, яғни мәселені шеші процесінің тізбегі жеке-жеке әрекеттерге жіктеледі. Сондықтан алгоритмді екі-үш бөліктерге бөліп, оларды жеке құра алатын дәрежеде жұмыс істелуі қажет. Олар тек бірінің қорытындысын келесі жолы керекті мәлімет ретінде қолданылуы тиіс. Орындаушы алғашқы әрекетті, қадамды аяқтамай, келесі әрекетке көше алмайды. Олай болса, алгоритмдік процестің құрылымы үзікті (дискретті), яғни бір-бірінен ажыратылып біріктірілген командалар тобынан тұрады. Атқарушы алғашқы әрекетті, қадамды аяқтамай, келесі әрекетке көше алмайды және алгоритмнің әрбер қадамын жеке нақты нұсқау ретінде орындайды. Белгілі бір командалар негізінде алгоритмнің біртіндеп топтарға бөлініп атқарылуын оның үзіктілік қасиеті деп атайды.
3. Алгоритмнің нәтижелік қасиеті.
Кез келген алгоритм нәтижелі болу керек. әрекеттердің шектелген санынан кейін белгілі бір уақыт ішінде нәтиже алуымыз қажет. әрбір алгоритм біршама бастапқы мәліметтердің болуын талап етеді және іздеген нәтижені алуға жеткізеді. Алгоритмде құрастырылған нұсқаулардың шекті саны орындалғаннан кейін (алгоритм соңында), егер есептің шешуі болса, оның шешуін, ал шешуі болмаса, «шешуі жоқ» деген нәтиже беруі қажет. Мысалы, сандарды қосу алгоритмі үшін бастапқы мәліметтерге қосылғыштар мәні жатады, ал нәтижесі қосынды болады. Кейде алгоритмнің бірнеше қадамы қайта-қайта қайталанып, ешбір нәтиже бермей қояды. Ондай есептер алгоритмдерін компьютерде циклден шықпайтын, нәтижесіз деп қайта құрады.
4. Алгоритмнің жалпылық немесе ортақтық қасиеті.
Алгоритм құрылғанда белгілі бір жеке проблемаға (есепке) арналып жасалмай, сол тәрізді мәселелердің барлық тобын шешуге мүмкіндік беретіндей етіп жасалуы қажет. Бұл қаситетті алгоритмнің жалпылық немесе жалпыға бірдейлік қасиеті дейді. Бұл қасиет алгоритмнің практика жүзінде пайдалану бағалығын арттырады. Алгоритмнің бұл қасиеті басмтапқы мәліметтер мәнінің бір жиыны бір ғана нәтиже беретініне кепілдік бере алады. Егер берілген мәліметтер өзгерсе, нәтиже де өзгереді. Басқаша айтқанда, бір алгоритм бір типтес есептердің әр түрлі алғашқы мәліметтері үшін әр түрлі нәтижелер беруі тиіс. Мысалы, квадрат теңдеуді шешу алгоримі кез келген a, b, c мәндері үшін оның түбірін дұрыс табуы керек. Егер а-ны өзгертсек, түбір де өзгереді, яғни жалпы квадрат теңдеулер тек бір алгоритммен шығарылып, дұрыс нәтиже береді. Ал берілген бұрыштың синусын табу алгоритмі кез келген алғашқы бұрыш аргументі арқылы оның (sin) нақты мәнін тауып бере алады.
1-мысал. формуласы бойынша х-тің кез келген мәні үшін у-тің мәндерін есептеңдер. Бұл мысалда амалдарды қадам ретінде біртіндеп программалау көрсетілген. Қазіргі кезде мұндай программалау тәсілі тек машиналық тілдерде жүргізіледі. Ал оқушылар және жалпы тұтынушылар оларды математикада жазылуына сәйкес өрнек түрінде бірден жаза береді.
У-тің мәндерін есептеу алгоритмі:
а-ны х-ке көбейтіп, нәтижені R1 деп өрнектеңдер;
R1-ге b-ны қосып, нәтижені R2 деп өрнектеңдер;
с-ны х-ке көбейтіп, нәтижені R3 деп өрнектеңдер;
R3-тен d-ны алып, нәтижені R4 деп өрнектеңдер;
R2-ні R4-ке бөліп, нәтижені y деп өрнектеңдер.
Осы алгоритмдегі a, b, c, d сандары алғашқы мәліметтер, ал у-тің есептелген мәні нәтиже болып табылады.
5. Алгоритмнің формальды орындалуы.
Алгоритмді орындағанда орындаушы оның әр командасының мағынасын түсінуі, тіпті түсінбеуі де мүмкін. Бірақ алгоритмнің әр командасы орындаушының оған сәйкес белгілі бір әрекетті орындауын талап етеді.
Орындаушы алгоритм командаларында көрсетілген әрекеттерді дұрыс орындау үшін командалар орындаушының білім дәрежесіне сәйкестеніп жасалуы қажет. Мысалы, х санын квадратта деген команданы төменгі сынып оқушылары түсінбейді, ал оны х санын х санына көбейт деп берсе, онда бұл команданы олар орындай алады. Демек, алгоритм белгілі бір орындаушыға (адамға, адамдардың білім деңгейіне, машинаға т.б.) арналып құрылуы керек.
Сөйтіп орындаушы алгоритм командаларын орындай отырып, өзі атқарып отырған істің мән жайына көңіл аудармайды, сонда да ол белгілі бір нәтиже ала алады, яғни орындаушы формальді әрекет етеді. Алгоритмнің бұл маңызды ерекшелігін оның формальді орындалуы деп атайды. Бұл қасиет алгоритмнің орындалуын машинаға жүктеуге мүмкіндік береді.
Алгоритм белгілі бір орындаушыға арналып жасалуы керек;
Алгоритмде орындаушыға түсініксіз әрекеттер (командалар) болса, онда оны орындаушы түсінетін командалармен алмастыру қажет, яғни алгоритмде пайдаланылған командалар орындаушының командалар жүйесінен шықпауы керек;
Алгоритмді орындағанда оның қандай есептің алгоритмі екендігін зерттеудің қажеті жоқ, ол қалай жазылса, солай орындалуы қажет.
Алгоритм орындалу үшін берілген есепті шешу жолы, алгоритмі оның алғашқы берілген мәндері (есептің шарты, оған қажетті алғашқы ақпараттар т.б.) және сол алгоритмді орындаушы немесе атқарушы болуы қажет.
Әрекеттер тізбегінің орындалуы алгоритмдік процесс деп, әр нұсқау алгоритмнің командасы деп аталады.
Циркуль және сызғыш көмегімен кесіндіні қақ бөлу алгоритмін құру керек.
Алгоритмі:
циркульдің үшкір ұшын 1 нүктеге (а нүктесіне) қою;
циркульдің ашасын кесіндінің ұзындығына дәлдеп салу;
шеңбер сызу;
шеңбер сызу; циркульдің үшкір ұшын 2-нүктеге (в нүктесіне) қою;
шеңбер сызу;
шеңберлердің қиылысу нүктелері арқылы түзу жүргізу;
түзудің кесіндімен қиылысу нүктесін тауып, табылған нүктені АВ кесіндісінің ортасы деп қабылдау.
Алгоритмде бес нұсқау-команда бар, ал әрбір команда белгілі бір нәтижені беріп тұр. Бұл алгоритмнің үзіктілік қасиеті. Алгоритмді атқарушы берілген амалдарды тізбекте көрсетілген ретпен біртіндеп орындаса да жеткілікті, оның алгоритмді (формуланы) білуі шарт емес. Бұл – алгоритмнің формальды атқарылу қасиеті.
Жазылған алгоритм a, b, c, d-ның басқа да мәндерінде х-тің өзгеруіне тәуелді у-тің өзгеруіне тәуелді у-тің мәндерін береді. Демек, бұл алгоритмнің әмбебаптық қасиеті бар.
Алгоритмнің өрнектелу жолдары
Алгоритмді компьютерде орындау үшін оларды алдын ала жазып алу керек, яғни ол белгілі бір заңдылықпен өрнектелуі тиіс. Жалпы алгоритмді өрнектеу түрлеріне:
табиғи тіл арқылы жазу;
белгілі бір түйінді сөздер-терминдер (псевдекодтар-жалған кодтар) арқылы қысқаша тізбекті түрде жазу, мұны қарапайым алгоритмдік тіл деп те атайды;
график жолымен (блок-схема арқылы) жазу;
программалау тілдеріне жазу жолдарын жатқызуға болады.
Алгоритмдерді график жолымен жазу, одан кейін оны программалау тіліндегі программаға айналдыру жұмыстары мемлекеттік стандартпен бекітіліп, ақпарат өңдеу жұмысында кеңінен қолданылып келеді.
Алгоритмдерді өрнектеудің көп тараған түрі – оны график арқылы бейнелеу. Бұл – түсінікті, анық, көрнекті болып есептеледі. Тек оларды сызу көбірек еңбекті талап етеді.
Графикалық жолмен алгоритмдерді жазу үшін мемлекеттік стандарт белгіленген, онда кез келген амал белгілі бір геометриялық фигурамен өрнектеледі. Ол фигуралар немесе блоктар, амалдар немесе операциялар символы деп те аталады. Блоктар бағытталған сызықтармен байланысып, бірінен соң бірі орналасады. Жиі қолданылатын амалдар, яғни мәліметтерді компьютерге енгізу, формула арқылы есептеу, шарттардың орындалуын тексеру, нәтижені қағазға басу символдары. Осы суреттегі көрсетілген блоктардан (символдардан) алгоритм схемалары құрастырылады. Алгоритмдер схемасымен ақпаратты өңдеудің әрбір сатысы немесе орындалатын операциялар реті анықталады. Көбінесе алгоритмдер схемасы оның блок-схемасы деп аталады.
Алгоритм блоктарының ішіне орындалатын іс-әрекеттің (амалдың) мазмұны жазылады. Символдардың (блоктардың) бір ену және бір шығу сызықтары болуға тиіс. Алгоритм құруды жаңа үйренушілер алгоритмді дұрыс құруы және көрнекті етуі үшін есептің алгоритмі график түрінде өрнектеу өте қолайлы болады. әдетте, кейбір қысқа жазылатын кішігірім амалдардың алгоритмге енбей қалу жағдайы сирек ездеседі. График түрінде алгоритмді реттеп жазу осындай кемшілікті болдырмау ісін жүзеге асыруға көмектеседі.
Сонымен, алгоритмнің блок-схемасын сызу үшін мағынасы алдын ала анықталған әр түрлі геометриялық фигуралар пайдаланылады. Блок-схемада пайдаланылатын фигуралар оның блоктары, ал оларды бір-бірімен қосатын сызықтар байланыс сызықтары деп аталады. Байланыс сызықтары бұрылған жағдайда оның бағытын көрсету үшін бағыттауыш қойылады.
Блок-схема құрудың төмендегідей ережелері бар:
блок-схеманың басын және соңын міндетті түрде көрсететін блок болуы керек;
блок-схемада бірімін бірі қосылмаған блоктар болмауы керек;
блок-схемада блоктар орындалу реті бойынша тізбектеле орналасуы қажет;
арифметикалық амалдарды орындайтын блоктардың бір ғана ену екі шығу сызығы болуы қажет. Ал алтыбұрышты фигурамен берілген цикл басы блогының екі ену және екі шығу сызығы болады.
Алгоритмдерді график түрінде жазу мысалдары. Берілген у=a+b формуласы бойынша есептеу алгоритмінің схемасын құру. Мұнда формула есептеу тіктөртбұрыш арқылы кескінделетін процесс блогы (3 блок) арқылы өрнектеледі, онда теңдік белгісі меншіктеу (тағайындау, беру) белгісі (:=) түрінде жазылады. Ал нәтижені қағазға басу үшін көпбұрышты құжат алу блогын (4-блок) пайдаланып, оның ішіне нәтиже атауларын жазады. Жоғарыда көрсетілген y=a+b формуласымен есептеу үшін a және b сандық мәндерін компьютерге енгізіп (2-блок), содан кейін қосу амалын орындап, ақырында у-ті қағазға басып шығарып, жұмысты тоқтатамыз.
Алгоритмдер блоктардың өзара байланысуына қарай үш түрлі құрылымға – сызықтық, тармақтық және циклдік болып ажыратылады.
Алгоритмдік тіл ұғымы. Алгоритмдік тілдің жалпы ережелері
Алгоритмдерді және алгоритмдік тілде құрастырылған амалдар тізбегін компьютерге түсінікті командалар мәтіні түрінде жазуға арналған жасанды тілдерді программалау тілдері дейді. Қарапайым алгоритмдік тілде жазылған әрекеттер мен амалдар құрылымы айқын болып, ол адамдарға түсінікті болса, программалау тілдері ағылшын тілін негізге алған, машинаға түсінікті алгоритмдік тіл болып саналады. Паскаль, Си, Дельфи, Пролог тәрізді программалау тілдері кейбір ағылшын сөздерін алгоритм құруда кең пайдаланылады. Ол сөздердің саны онша көп емес, оларды түйінді (қызметші) сөздер деп те атайды. Әр компьютердің өзінің машиналық тілі болады, оны командалар тілі немесе кодтар тілі дейді. Кез келген компьютер тек өз тілінде ғана амалдар орындайды, сондықтан алгоритмді компьютерде орындау үшін амалдар тізбегі машина тіліне түрлендірілуі тиіс.
Алгоритмдік және программалау тілдерінде програма жазу адамға ыңғайлы болып саналады. Оларды белгілі бір машинада орындау үшін сол програмалау тілдерін машина иіліне автоматты түрде аударатын түрлендіргіш программалар болу керек, оларды трансляторлар деп атайды. Транслятор үш түрге бөлінеді, олар: интерпретаторлар, компиляторлар және ассемблерлер.
Интерпретаторлар – берілген рограмманың әрбір жолын (командасын) жеке-жеке аударып отырып орындайтын трансляторлар түрі.
Компиляторлар – бірден барлық программа мәтінін толық аударып машина тіліндегі бір модуль түріне келтіреді де, сонан соң сол модульді компьютер жадына қайта жазып алып, оны кейін тек біздің қалауымыз бойынша орындайды.
Ассемблерлер – тек автокод түрінде, яғни ассемблерлер тілінде жазылған программаларды ғана машина тіліне аударады.
Қазіргі кезде көп тараған программалау тілдері: Бейсик, Си, Дельфи, Паскаль т.б. болып табылады. Негізінде компьютердегі программаның орындалуы суретте берілген схемаға сәйкес келеді.
программалау тіліндегі алгоритм |
| транслятор (аудармашы) |
| машина тіліне аударылған программа |
| алгоритмді орындау |
3-сурет. Программаны орындау кезеңдері
Қазіргі кезде дүние жүзінде үш жүзге жуық алгоритмдік программалау тілдері таралған. Олардың әр қайсысы белгілі бір мақсаттарда қолданылады. Мысалы, Фортран ғылыми-техникалық (инженерлік) есептерді шығаруда, Паскаль-өндірісте, оқу-ағарту жұмыстарында, Бейсик – алғашқы үйренушілер үшін дербес компьютерде диалогтік режимде жұмыс атқаруға арналған. Бұлай бөлу тек шартты түрде олардың бейімділігіне сәйкес жүргізілген, негізінде тілдерді дұрыспайдалана білсе, олардың әрқайсысы кез келген есептерді шығаруға қолданыла береді.
1-мысал. Y=(ax-b)(cx+d) формуласы бойынша х-тің кез келген мәні үшін у мәндерін есептеу алгоритмін құрайық:
алг формула бойынша есептеу
арг a, b, c, d, x
нәт у
басы
R1:= a*x-b
R2:=c*x+d
y:=R1*R2
соңы
Осындағы аргументке кірмеген R1, R2 аралық шамалар деп аталады. Себебі, олар тек уақытша аралық есептеулерді іске асыру үшін ғана қолданылады.
Қорытынды
Алгоритмді өрнектеу, жазу тәсілдеріне – табиғи тіл арқылы жазу, график жолымен (блок-схема арқылы) жазу, программалау тілдерінде жазу жолдары жатады.
Алгоритмдерді график арқылы бейнелеуде операциялар геометриялық фигуралармен өрнектеледі. Ол фигуралар немесе блоктар амалдар немесе операциялыр символы деп аталады.
Арифметикалық амалдарды орындайтын блоктардың бір ғана ену, бір ғана шығу сызығы, ал шарттың орындалуын тексеретін ромб түріндегі логикалық блоктың бір ену, екі шығу сызығы болу қажет.
Алтыбұрышты фигурамен берілген цикл басы блогының екі ену және екі шығу сызығы болады.
Негізгі блоктарға өңдеу (процесс, арифметикалық амал), шарт тексеру (логикалық), енгізу және шығару блоктары жатады.
Көмекші блоктарға алгоритмге түсініктеме беру, алгоритм басы, соңы және байланыс сызықтары жатады.
Алгоритмдік тіл табиғи тілге жақын, сондықтан оны қарапайым мәтін түрінде жазады және оқиды.
Алгоритмдік тілде құрастырылған амалдар тізбегін компьютерге түсінікті командалар мәтіні түрінде жазуға арналған жасанды тілдерді программалау тілдері деп атайды.
Паскаль, Си, Дельфи – программалау тілдері, олар ағылшын сөздерін алгоритм құруда кең пайдаланылады. Ол сөздердің саны онша көп емес, оларды түйінді сөздер деп атайды.
Алгоритм алғашқыда қарапайым алгоритмдік тілде құрастырылып, сонан кейін ол программалау тілінде қайта жазылып, ең соңында машина тіліне түрлендіріліп барып орындалады.
Алгоритмдік тілді машина тіліне аударатын түрлендіргіш (аудармашы) программа транслятор деп аталады.
Алгоритмдік тілде әрбір алгоритмнің мазмұндық сипатын ашатын тақырыбы болады.
Алгоритм командаларының басталуы мен аяқталуын көрсету үшін басы және соңы түйінді сөздері пайдаланылады.
Алгоритмнің бірінен кейін бірі орындалатын, белгілі бір нәтиже беретін бірнеше командаларының тізбегін серия деп те атайды.
Алгоритм тақырыбынан кейінгі бөлік алгоритм тұлғасы деп аталады, ол басы және соңы түйінді сөздерімен шектеліп тұрады.
Меншіктеу командасы айнымалы:=өрнек үлгісінде жазылады.
Бақылау сұрақтары
Алгоритм дегеніміз не?
Алгоритмді өрнектеу түрлерін атаңыз.
Алгоритмнің қандай қасиеттері бар?
Алгоритмдік тіл дегеніміз не?
Алгоритмдік тілдің жалпы ережелеріне сипаттама беріңіз.
№11 лекция
Сызықтық алгоритмдер
Алгоритм командалары есептің шартына байланысты жай және құрама командалардан тұрады.
Жай команда. Кез келген алгоритмнің қарапайым бір қадамы ақпаратты өңдеудің немесе өрнектеудің бір элементарлық операциясын орынджайтын командалардан тұрады. Жай командаларға меншіктеу, мәлімет енгізу және нәтиже алу командалары жатады.
Құрама командалар. Жай командалардан құрылымы күрделі құрама командалар құралады. Құрама командалар құрылымына байланысты тізбекті, тармақталу және циклдік топтардан немесе бірыңғайланған алгоритмдік құрылымдардан тұрады. Олардың жай командалардан ерекшелігі – бірнеше командалардан тұрады және орындалуы берілген шарттарға негізделеді. Берілген шартқа байланысты командалардың орындалу реті мен қайталану саны анықталады.
Сызықтық немесе тізбекті алгоритм. Сызықтық алгоритм өрнектелуіне қарай тізбектеле орналасқан командалардан, ал блок-схемалары бір сызық бойына орналасқан тізбекті блоктардан тұрады. әрекеттердің тізбектей орындалуын сипаттайтын алгоритмді сызықтық алгоритм дейді.
Енді мысал келтірейік: екі санның қосындысын табу алгоритмі.
алг қосынды;
арг а, b;
нәт S;
басы
а, b енгізу;
S:=а+b;
S шығару;
соңы
4-сурет. Екі санның қосындысын табу алгоритмінің блок-схемасы
Бақылау сұрақтары
Алгоритм командалары дегеніміз не?
Алгоритм командаларының түрлерін атаңыз.
Сызықтық алгоритм дегеніміз не?
Сызықтық алгоритмнің блок-схемасын түсіндіріңіз.
Сызықтық алгоритмнің жазылу пішімін түсіндіріңіз.
№12 лекция
4.3. Тармақталған алгоритмдер
Тармақталу алгоритмдері. Тұрмыста жиі кездесетін алгоритмдердің бір түріне есептегі белгілі бір шарттың орындалуына не орындалмауына байланысты командалар тізбегінің тармақталып бірнеше жолдарға бөлінетін тобы жатады. Тармақталу алгоритмінде көбінесе арифметикалық теңсіздік (теңдік) түрінде берілген логикалық шарт тексеріледі. Егер ол орындалса, онда алгоритм бір жолмен, ал орындалмаса екінші жолмен жүзеге асырылады да, соңында екі тармақ қайта бірігеді. Мұндай алгоритмдерде шартты тексеру тармақталу командасы деп аталады. Оны алгоритмдік тілде өрнектегенде егер, онда, әйтпесе, бітті түйінді сөздері пайдаланылады. Орындалу тәсіліне байланысты тармақталу командасы «таңдау» (толымды) және «аттап өту» (толымсыз) болып екі түрге ажыратылады.
Алгоритмді атқару үшін алдымен тармақталу командасының шарты тексеріледі. Шарт орындалған жағдайда онда және әйтпесе түйінді сөздерінің арасындағы 1-серия командалары орындалады. Ал шарт орындалмаған жағдайда әйтпесе және бітті түйінді сөздерінің арасындағы 2-серия командалары орындалады.
егер шарт
онда 1-серия
әйтпесе 2-серия
бітті
Тармақталу алгоритмі схемасының бұл түріне міндетті түрде шартты тексеру блогы кіреді. Ол ромб түрінде кескінделіп, басқа блоктармен 1 ену және 2 шығу сызықтары арқылы байланысады. Тармақталу алгоритмдерінің толымды түрі екі серияның бірін ғана таңдауды іске асырады, мұнда берілген шарт тексеріледі, егер ол шарт орындалса, онда 1-серия жүзеге асырылып, содан кейін келесі амалдарға көшеді. Ал егер де шарт орындалмаса, яғни оның орындалу мүмкіндігі жалған болса, онда 2-серия атқарылып, содан кейін ғана алгоритм әрі қарай орындалады.
егер шарт
онда серия
бітті
Алгоритм мұндай командадан құралса, шарт орындалған жағдайда СЕРИЯ орындалады да, одан соң алгоритм атқарылуы әрі қарай жалғастырылады. Шарт орындалмаса, онда бірде-бір СЕРИЯ командалары орындалмай, «аттап өту» әрекеті атқарылады. Сонымен алгоритм схемасында тармақталу кезеңінде шарт орындалса, алгоритм сериясы жүзеге асырылады да, ал шарт жалған болғанда, серия атталып өтіледі.
Енді осыларға нақты мысалдар келтірейік:
Y=
Мұндай х айнымалысының таңбасына байланысты жоғарғы не төменгі формуланы таңдап алып, сол арқылы у функциясының мәнін табамыз.
7-сурет. Берілген есептің блок-схемасы
2-блоктың орындалу барысында х айнымалысына белгілі бір мән беріледі де, ол мән енгізу командалары арқылы айқындалады. Шарттың ақиқат немесе жалған болуына байланысты тек 4- немесе 5-блоктардың бірі ғана орындалып, таңдау жүзеге асырылады.6-блок енгізілген х айнымалысының және у функциясының сандық мәндерін экранға немесе қағазға басып шығарады.
2-мысал. квадрат теңдеуін шешу алгоритмін қарастырайық. Мұнда егер дискриминант оң сан болса, онда теңдеудің нақты түбірлерін (х1,х2) табамыз.
Ал егер дискриминант теріс сан болса, онда теңдеудің комплекс түбірлерін бөлек тармақ арқылы есептеп шығарып, және сандарын қағазға немесе экранға басып алуымыз қажет. Сонымен алгоритм құру жолын математикалық түрде төмендегіше жазуға болады:
Бақылау сұрақтары
Тармақталған алгоритмдер дегеніміз не?
Тармақталған алгоритмдер түрлерін атаңыз?
Толымсыз тармақталған алгоритмнің жазылу пішімін түсіндіріңіз.
толымды тармақталған алгоритмнің жазылу пішімін түсіндіріңіз.
Толымсыз және толымды тармақталған алгоритмнің блок-схемасын түсіндіріңіз.
№13 лекция
4.4. Циклдік алгоритмдер
Көптеген алгоритмдерде белгілі бір әрекеттер тізбегі бірнеше рет қайталанып орындалып отырады. Математикада, экономикада көптеген есептерді шығару кезеңдерінде де бір теңдеуді пайдаланып, ондағы айнымалының өзгеруіне байланысты оны бірнеше рет қайталап есептеуге тура келетін сәттер де жиі кездеседі. Осындай есептеу процесінің бөліктерінің қайталанып орындалуын цикл деп атайды, ал қайталанатын бөлігі бар алгоритмдер тобы циклдік алгоритмдерге жатады. Циклдік алгоритмдерді пайдалану оларды кейіннен программаларда цикл командалары түрінде қысқартып жазу мүмкіндігін береді.
Циклдік процесті қамтамасыз ететін алгоритм бөлігін қайталану командасы құрайды. Бұл команда алгоритмді жинақы етіп жазуға мүмкіндік береді.
Циклдік алгоритмдердің шарттың берілуіне байланысты бірнеше түрі бар:
Цикл әзір (шарт алдын-ала берілетін цикл),
Цикл үшін (қадамдық цикл).
Цикл әзір.
Әзір қайталану командасын алгоритмдік тілде жазу үшін әзір (әзірше), цб (цикл басы), цс (цикл соңы), әзір, түйінді сөздері қолданылады.
әзір шарт
цб
цикл тұлғасы
цс
7-сурет. Әзір қайталану командасының блок-схемасы
Цикл үшін.
Үшін қайталану командасын алгоритмдік тілде жазу үшін үшін, бастап, дейін, қадам түйінді сөздері қолданылады.
үшін і бастап А1 дейін А2 қадам һ
цикл тұлғасы
8-сурет. Үшін қайталану командасының блок-схемасы
Компьютерде есеп шығару кезеңдері
Компьютерде есеп шығару күрделі процесс болып есептеледі, ол төмендегі кезеңдерден тұрады:
Берілген есепті математикалық түрде өрнектеу, яғни есепті мәселе ретінде қоя білу;
Есепті шығарудың компьютерге ыңғайлы сандық тәсілдерін анықтау;
Есепті шығару жолын алгоритм түрінде бейнелеу;
Есепті компьютерде шығару программасын жасау және оның қателерін түзету;
Есепке керекті мәліметтер дайындау;
Компьютерде есепті шығару және шыққан нәтижені іс жүзінде қолдану.
Берілген есепті математикалық түрде өрнектеу дегеніміз – есептің берілген мәндерін математикалық таңбаларды қолданып жаза білу және керекті математикалық форомулаларды, өрнектерді анықтау болып саналады.
Күрделі формулаларды, теңдеулерді арифметикалық амалдар тізбегіне айналдыру есептьі шығарудың сандық тәсілдерін табу немесе анықтау жолы болып есептеледі. Қазіргі кезде барлық есептердің шығару жолының сандық тәсілдері белгілі десе де болады, тек солардың ішінен өзімізге тиімді жолын таңдап алуымыз керек. Бұл мақсатта есепті шығару дәлдігін, нәтижені жылдам табу мүмкіндігін, мәліметтерді дайындау мен есептерді шығарудың бағасын салыстыра отырып, қарастыру қажет.
Есептің алгоритмін жасағанда оның шығару жолы тізбектелген іс-әрекеттер ретінде схема түрінде өрнектеледі.
Программа жасағанда қазіргі кезде кеңінен тараған программалау тілінің бірінде алгоритм нақты түрде жазылады. Жасалған программаның қатесін түзету компьютердің көмегімен шешіледі, өйткені жіберілген қателерді тек компьютер ғана жылдам аңғарып, түзету мүмкіндігін береді.
Есепті шығаруға керекті мәліметтерді сұрыпталған күйінде алдын ала қағазға, әйтпесе магниттік дискіге жазып, компьютердің жадына реттей отырып, енгізеді. Есептің нәтижесін алған соң шешім қабылдау және оны іс жүзінде қолдану – мамандардың жұмысы.
Бақылау сұрақтары
Циклдік алгоритмдер дегеніміз не?
Циклдік алгоритм түрлерін айтыңыз.
Циклдік алгоритмнің жазылу пішімін түсіндіріңіз.
Шарт алдын ала тексерілетін циклдің жазылу пішімі мен блок-схемасын түсіндіріңіз.
Шарт соңынан тексерілетін циклдің жазылу пішімі мен блок-схемасын түсіндіріңіз.
Параметрлі циклдік алгоритмнің блок-схемасын түсіндіріңіз.
№14 лекция
Турбо Паскаль программалау тілі. Программа, оның құрылымы.
Деректердің әр түрлі типтерінің операциялары мен функциялары.
Программа және программалау тілі ұғымдары
Компьютер қандай да бір есепті шығару үшін оған адамнан есепті қалай шығару жөнінде нұсқау алуы қажет. Нақты бір есептің шешімін алуға бағытталған, компьютерге арналған осындай нұсқаулар жиыны компьютерлік программа деп аталады.
Соңғы үлгідегі компьютерлер адамзат қолданатын табиғи тілдерде – қазақ, орыс, ағылшын, жапон және тағы басқа тілдерде жазылған программаларды түсінуге әлі де қабілетті емес. ЭЕМ-ға арналған командаларды оған түсінікті болатындай түрде жазу қажет, осы мақсатта компьютерге түсінікті және адамға жасанды тілі, алфавиті, сөздік қоры және құрылымы адамға ыңғайлы болып келетін програмалау тілдері қолданылады.
Жалпы айтқанда, мәліметтер құрылымы мен алгоритмдерін жазуға арналған белгілеулер мен ережелердің нақтыланған жүйесі программалау тілі деп аталады.
Програмалау тілдері ұғымының екі жағы бар: оның біріншісі – өз программасын жазуға арналған тілді қолданатын адамға бағытталады, ал екіншісі – командаларды ұғынуға тиісті ЭЕМ-ға бағытталады.
Барлық программалау тілдері бірнеше деңгейге бөлінеді.
Төменгі деңгейлі тілдер – компьютерге нұсқауды аппараттық деңгейде қарапайым бұйрық-командалармен жазу құралы. Мұндай тіл ЭЕМ класты мәліметтер құрылымын бейнелейді және сондықтан кейде оны машинналық-бағдарлаушы тіл деп атайды. Компьютерге түсінікті командалар жүйесін қолдана отырып, кез келген күрделі алгоритмді сипаттауға болады. Шын мәнінде, күрделі есептерді былайша жазу соншалық күрделі болғандықтан, адамның оны жазу барысында қателіктер жіберіп алуы мүмкін, себебі, бұл тіл адам қолданысына қолайсыз, осы тілде программаның жазылуы нөлдер мен бірліктер тізбегінен тұрады.
Төменгі деңгейлі тілдердің негізгі ерекшелігі – аппаратураның нақты типін (процессор командаларының жүйесін) қатаң талап етуінде. Төменгі деңгейлі тілдерді адамға ыңғайлы ету бағытында командалар құрылымы машиналық тілдің мәліметтері мен командалары пішімдерімен анықталатындай символдық кодтау тілі (автокод және ассмблер тілі) құрылды. Осындай тілдегі программа адамға жақын келеді, себебі, бұл тілдің операторлары – сол командалар, тек атаулары басқа, ал операндалары ретінде жедел жадының нақты мекен-жайы емес, олардың символдық атаулары қолданылады.
Программалау тілдерінің көптеген санын жоғары деңгейлі тілдер құрайды.
Жоғары деңгейлі тілдер – есептер сипаттамасын қабылдауға жеңіл, көрнекі түрде жазу құралы. Бұл тілдердің айрықша ерекшеліктері – олардың қандай да бір ЭЕМ командалар жүйесіне емес, алгоритмдердің нақты тобын жазу үшін арналған операторлар жүйесіне бағытталуында. Программалау тілдерінің бұл типіне Бейсик, Фортран, Алгол, Паскаль, Си тілдері жатады. Жоғары деңгейлі тілдерде жазылған программалар адамға жақын (мысалы, нақты қатаң қызметі бар, ағылшын тілі нақтыланған сөздер жиыны) белгілеулер жүйесімен жазылады. Жоғары деңгейлі тілдерде жазылған программаларды түсіну оңай және оны түзету айрықша жеңіл келеді.
Өте жоғары деңгейлі тілдерге Алгол-68 тілі жатуы мүмкін, оны құру барысында абстрактылы және нақты программа пайда болуына әкелетін тіл сипаттамасын құрастыруға қадам жасалынған. Абстрактылы программаны программист құрастырады, ал нақты программа – біріншісінен туындайды. APL тілі өте қуатты операциялар мен операторлар енгізілгендіктен, өте жоғары деңгейлі тілдерге жатады. Осындай тілдегі программалардың жазылуы өте ықшам түрде болады.
Жоғарыда келтірілген тілдердің барлығы – есептеуіш тілдер. Олардың ең жасырағы – декларативті (процедуралық емес) тілдер, олардың айырмашылық жағы – объектілер мен шамалар арасындағы байланыстар мен қатынастардың берілуі және амалдарының орындалу тізбегі анықталмауында (Пролог). Осындай тілдер программалауда маңызды орын алды, себебі олар жасанды интеллектінің арнайы тілдері мен білім көрсету тілдерін құруға итермеледі.
Паскаль – программалау тілі
Паскаль тілін 1968-1971 жылдары Швейцария жоғары политехникалық мектебінің информатика Институтының директоры, профессор Николас Вирт (Niklaus Wirth) оқып-үйренуге қолайлы программалау тілі ретінде ұсынған болатын. Ол бұл тілді атақты француз математигі және философы, алғашқы арифметикалық есептеу машинасын жасаған Блез Паскальдің (1623-1662 жж.) құрметіне Паскаль тілі деп атады. Паскаль тілі алғашқы кезде жүйелік пән ретінде программалауды оқыту үшін құрылғанымен, тез арады кәсіби программалауда программалық құралдар құру үшін кеңінен қолданыла бастады.
Паскаль тілінің программистер арасында кеңінен мәлім болуына келесіне себептер септігін тигізді:
Паскаль тілі өзінің ықшамдылығымен, алғашқы табысты сипаттамасымен оқып-үйрену үшін мейлінше жеңіл болды.
Паскаль программалау тілі алгоритмдердің түпқазығы мен ең маңызды концепциясын (идеясын) көрнекті және жеңіл қабылданатын түрде кескіндейді, ол программистке программаны жобалауға көмектесетін құралды бейнелейді.
Паскаль тілі құрылымдық программалау идеясын және мәліметтердің құрылымдық ұйымдастырылуын дәл таратуға мүмкіндік береді.
Паскаль тілі программалардың дұрыстығын аналитикалық дәлелдеу әдісін дамытуда үлкен рөл атқарды және программаны түзетуден әдістерінен программа дұрыстығын автоматты тексеру жүйелеріне нақты көшуге мүмкіндік берді.
Паскаль тілін қолдану Паскальдің программадағы қолданылатын айнымалыларды сипаттауға қойылатын талаптарының, программаны компиляциялауда оның орындалуынсыз келісімділігін тексеру есебінен құрылған программалардың сенімділігін айрықша көтерді.
Паскальда қарапайым және жеңіл басқару құрылымы қолданылды: тармақталу, циклдер.
Паскаль тілінің стандарты 1983 жылы пайда болып, электротехника және электроника инженерлер Институтымен (ІЕЕЕ) және Американдық ұлттық стандарттау институтымен (ANSI) бекітілді. Микрокомпьютерлерді қолданысы өсуіне сай тіл өзгерістер мен толықтыруларға ұшырады, олардың ішінде қазіргі күнде UCSD PASCAL (Сан Диегодағы Калифорниялық университет құрған) және Borland International фирмасы құрған TURBO PASCAL (“Турбо” сөзі құрастырушы фирманың сауда-саттық маркасын бейнелейді) кең таралған.
Алғашын кезде стандартты Паскальдің компиляторымен Турбо Паскаль (3.0 нұсқасы) программалау тілі пайда болды. Кейінірек Турбо Паскаль 4.0, Турбо Паскаль 5.0, Турбо Паскаль 6.0, Турбо Паскаль 7.0 нұсқалараның дүниеге келуі кәсіпқой қолданушылардың еңбек өнімділігін арттыруға мүмкіндік беруге, қолданбалы есептерді шығаруда пайдалануға үлкен үлес қосты.
Паскаль тілі сол кездерде кең тараған АЛГОЛ, ФОРТАН, БЕЙСИК тілдеріне қарағанда жетілдірілген, жұмыс істеуге ыңғайлы тіл болып есептелді. Паcкаль тілі өзінің қарапайымдылығының және тиімділігінің арқасында дүние жүзіне өте тез таралды. Қазіргі кезде барлық дербес компьютерлер осы тілде жұмыс атқара алады. Паскаль тілінде жазылған программаның дұрыстығы компьютерде жеңіл тексеріледі және жіберілген қате тез түзетіледі.
Бұл тілде жазылған программаны компьютерде орындау кезінде ол алдымен трансляция сатысынан өтіп (машина тіліне аударылып), объектілік программа түріне ауысады да, сонан кейін орындалады. Осы сәтте компьютерде программаның екі нұсқасы болады, оның біріншісі – алгоритмдік тілде жазылған нұсқасы, ал екіншісі – объектілік кодтағы машина кодында жазылған программа. Есептің нәтижесін тек машиналық кодта жазылған программа арқылы аламыз, ал программаны түзету қажет болғанда, оның алғашқы нұсқасы өңделіп, оны қайта түрлендіру сатысы жүзеге асырылады.
Қазіргі кезде Паскаль тілі кез келген күрделі есептерді шығара алатын, кең тараған стандартты оқып-үйрену тіліне айналды. Сондықтан осы тілдің ерекшеліктері мен біпсыпыра мүмкіндіктеріне көңіл бөлейік.
Паскаль программалау тілінің негізгі элементтері
Программалар белгілі бір мәселені, есепті шешу үшін пайдаланылады. Есеп шығару барысындап компьютерге керекті бастапқы мәліметтер енгізіледі, оларды қалай өңдеу керектігі көрсетіледі және нәтиже қандай түрде, қай құрылғыға шығарылатыны айтылады.
Паскаль тіліндегі программа жеке-жеке жолдардан тұрады. Оларды теру, түзету арнайы мәтіндік редакторлар арқылы атқарылады. Программа қатарларының алдындағы азат жол немесе бос орындар саны өз қалауымызша алынады. Бір қатарға бірнеше командалар немесе оператор орналаса алады, олар бір бірімен нүктелі үтір (;) арқылы ажыратылып жазылады, бірақ бір жолды бір ғана оператор тұрғаны дұрыс, ол әрі түзетуге жеңіл, әрі оқуға ыңғайлы болып саналады.
Кез келген программаның алғашқы жолы PROGRAM сөзінен басталатын оның тақырыбынан, яғни атынан тұрады. Одан кейін программаның ішкі объектілерінің сипатталу бөлімі орналасады. Бұл бөлім программадағы айнымалылар, тұрақтылар тәрізді объектілердің жалпы қасиеттерін алдын ала бекітіп анықтап алуға көмектеседі. Сипаттау бөлімі бірнеше бөліктерден тұрады, бірақ программаның күрделігіне байланысты көбінесе ол бір немесе екі ғана бөліктен тұруы мүмкін.
Программаның соңғы және негізгі бөлімі операторлар бөлімі болып табылады. Орындалатын іс-әрекеттер, командалар осы бөлімде орналасады. Ол бөлімде орналасады. Ол bеgіn түйінді сөзінен басталып, барлық атқарылатын операторлар (командалар) тізбегі жеке-жеке жолдарға жазылып біткен соң, end түйінді сөзімен аяқталады.
Программа құрылымын суретте көрсетілгендей етіп бейнелеуге болады.
Program BASTAU |
Сипаттау бөлімі |
Bеgіn |
Операторлар бөлімі |
end |
Мәліметтер – сан мәндерін, мәтін ретіндегі сөз тіркестерін де мән ретінде қабылдай алатын тұрақтылар (константалар), айнымалылар, т.б. осылар тәрізді құрылымдар немесе солардың адрестері.
Мәлімет енгізу – бастапқы мәндерді пернетақтадан, дискілерден немесе енгізу-шығару порттарынан оқу арқылы жүзеге асырылады.
Операциялар немесе амал-әрекеттер – берілген, есептелген мәндерді меншіктеу, соларды өңдеу, салыстыру істерін орындайды.
Нәтиже алу (шығару) – аралық немесе қорытынды мәліметтерді экранға, дискіге немесе енгізу-шығару порттарына жазу.
Шартты атқарылу – белгілі бір көрсетілген шарт орындалса (ақиқат болса), онда командалар жиыны атқарылады, әйтпесе олар атап өтіледі немесе басқа командалар жиыны жүзеге асырылады.
Цикл – белгілі бір шарт орындалса (кейде орындалмаса), көрсетілген командалар жиыны бірнеше рет қайтланып атқарылады немесе шарт көрсетілмей-ақ алдын ала олардың неше рет қайталанатыны бүтін санмен беріледі.
Қосымша программа – алдын ала ат қойылған командалар тобы, олар программаның кез келген жерінен оның атын көрсету арқылы шақырылып атқарыла береді.
Түсініктеме – программа жолдары соңында немесе оның түйінді сөздері арасында қазақша (орысша) түсінік беретін жүйелі жақшаға алынып жазылған сөз тіркестері. Олар программа жолдарының орындалуына ешқандай әсер етпейді.
Тілдің негізгі анықтамалыр беру алдында Паскаль тілінде құрастырылған бір қарапайым мысал келтірейік.
1-мысал. Радиусы r =5.5 см берілген шеңбер ұзындығын табу керек болсын. Ол үшін l=2 r формуласын пайдаланамыз.
Program bastau; {Программа тақырыбы}
const pi=3.14159; { тұрақтысының мәнін беру}
var r,l:real; {r,l мәндерінің нақты (аралас) сан екенін жариялау,сипаттау }
begin {Оператор басы}
r: = 5.5; { r мәнін беру }
l: = 2*pi*r; {Шеңбер ұзындығын есептеу}
write( ` Радиусы 5,5 см шеңбер ұзындығы = `, l );
{Нәтижені экранға шығару}
{Программа соңы}
end.
Мұнда программа мәтіні қарайтылған қаріппен (шрифт) терілген, ал оң жақ шетте және оның төменгі жолында жүйелі жақша ішінде түсініктеме мәтін берілген. Түсініктеме программа мәтініне ешқандай әсер етпей, оны түсіну, ұғу жолын жеңілдетеді, сондықтан әрбір программа түсініктемемен толықтырылуы тиіс.
Әрине, бұл программасыз да шеңбердің ұзындығын жылдам есептеуге болады, бірақ 200–300 шеңбер ұзындығын табу керек болса, компьютер программасы өте тиімді әрі тез нәтиже береді. Ол үшін жоғарыдағы программаға аздаған ғана қосымша жазса жеткілікті.
Күрделі есептер программасын құру үшін осындай қарапайым есептер шығарып үйрену керек. Қате жібермес үшін программа алдымен блок-схема түрінде немесе алгоримтдік тілде құрастырылады.
Жоғарыдағы программаның алғашқы жолы – оның тақырыбы, екінші және үшінші жолдары – сипаттау бөлігі, bigen (басы) және end (соңы) сөздерінің ортасында орналасқан операторлар, яғни әр түрлі амалдар орындау бөлігі. Программаның сөздік элементтері ағылшын тілінен алынған, оларды да қазақшаға (орысшаға) аударуға болады, алгоримтдік тілде солай жасалған. Бірақ барлық елдер программадағы негізгі немесе түйінді сөздерді өз тіліне аудармай, олардың ағылшынша нұсқасын пайдаланады, олар көп емес (60-70 сөз). Сондықтан ағылшын тілін білуді осы түйінді сөздер арқылы әрі қарай дамыту оқушылар үшін артық бола қоймас.
Енді программалау тілінің іргелі ұғымдарына көңіл бөлеміз.
Паскаль тілінің алфавиті
Тілдің алфавиті программаның элементтерін құруда қолдануға болатын символдар жиынына тұрады. Оған әріптер, цифрлар және арнайы белгілер кіреді.
Тіл ерекшеліктеріне қарай символдар тобын шартты түрде төмендегі топтарға жіктеуге болады, олар:
атау ретінде (идентификатор) пайдаланатын символдар;
цифрлар;
арнайы символдар.
Атау символдар ролін латын алфавитінің 26 әрпі және цифрлар атқарады.
а) Әріп ретінде латын алфавитінің бас және кіші әріптері қолданылады, олар A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h I j k l m n o p q r s t u v w x y z және астын сызу таңбасы (_).
Бас әріптер мен кіші әріптер бірдей болып есептеледі, мысалы, Х мен х бір айнымалы атауы, дәл сол сияқты ALFA1,aLfA1 және alfa1 де бір атаудың жазылу түрлері болып саналады. Атаулардың әріптер цифрлармен араласып жазыла береді, бірақ аьаудың алғашқы символы міндетті түрде әріп болуы тиіс, мысалы, VES1, SALMAK2, Baga5_cena7, T7S25var8, т.б.
Ұлттық әріптер (қазақ, орыс, араб, т.б.) атау ретінде қолданылмайды, олар тек апострофқа – жоғары үтірге ( ` ) алынған сөз тіркестері немесе жүйелі жақшаларға алынған түсініктеме ретінде ғана кездеседі.
ә) Ондық цифрлар: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 тәрізді сан таңбалар.
Оналтылық цифрлар ондық цифрлардан және A-дан F-қа (немесе a-дан f-қа) дейінгі латын әріптерінен тұрады.
Арнайы символдарға пунктуациялау және операциялар (амалдар) белгілері жатады.
б) Арифметикалық амалдардың белгілері:
+ – қосу; * – көбейту;
– – азайту; / – бөлу.
DIV – бүтін бөлу (бүтін санды бүтін санға бөлгендегі бөліндінің бүтін бөлігін табу), мысалы, 10 div 3 амалының нәтижесі 3.
MOD – қалдықты табу (бүтін сандарды бөлген кездегі бүтін қалдықты табу), мысалы, 10 mod 3 – нәтижесі 1.
Логикалық амалдардың белгілері:
AND – және (логикалық көбейту) операциясы;
OR – немесе (логикалық қосу) операциясы;
NOT – емес (терістеу немесе жоққа шығару) операциясы;
XOR – арифметикалық немесе амалы;
SHL – биттер (1 мен 0-дер) тіркесін солға ығыстыру;
SHR – биттер ( 1 мен 0-дер) тіркесін оңға ығыстыру.
в) Айыру белгілеріне бос орын, барлық басқару символдары, тыныс белгілері, ENTER (келесі жолға көшіру) пернесін басу белгісі және түсініктемелер жатады. Айыру белгілері атауларды, сандарды, мағыналарына сәйкес арнаулы қызмет атқаратын түйінді сөздерді бір-бірінен бөліп тұруға арналады. Түсініктеме {және} немесе (*және*) белгілерімен қоршалып, солардың ішіне жазылады, ол бір немесе біренеше жолдардан тұруы мүмкін. Компиляторға арналған деректива (түсінік белгі) алдында $ белгісі қойылады. Алдында $ белгісі жоқ түсініктемеге компиляция жасалмайды.
Сонымен, айыру белгілері: _ (бос орын), , (үтір), . (нүкте), : (қос нүкте), ; (нүктелі үтір), ` (апостроф), (,), [,],{,}.
Осы таңбалардан тұратын пунктуация белгілерінің атқаратын қызметтері төмендегі кестеде көрсетілген.
16-кесте
Белгілер | Атқаратын міндеттері |
{және} немесе (*және*) | Түсініктеме мәліметтерді қоршау жақшалары |
[және] | Жиым элементтерінің индекстерін жолдың ұзындығын көрсету белгісі |
(және) | Өрнектерді және параметрлер тізімдерін бөліп көрсету белгілері |
` (апостроф) | Символдық немесе жолдық тұрақтыларды қоршау белгісі |
:= (меншіктеу) | Айнымалыларға немесе типі көрсетілген тұрақтыларға мән беру, яғни меншіктеу белгісі |
; (нүктелі үтір) | Операторларды бір-бірінен ажырату белгісі |
: (қос нүкте) | Объектілерді типтерге ажырату және белгісі |
= (теңдік) | Тұрақтылардың мәнін көрсету және салыстыру белгісі |
, (үтір) | Тізімдегі элементтерді бір-бірінен бөліп көрсету белгісі |
.. (екі нүкте) | Диапазонның шекарасын көрсету |
. (нүкте) | Программаның соның белгілеу, санның бүтін және бөлшек бөліктерін ажырату белгісі |
@ | Айнымалылардың, типі көрсетілген тұрақтылардың адрестерін белгілеу |
# (нөмір белгісі) | Символды коды бойынша белгілеу |
$ (ақша белгісі) | Компилятордың директивасын немесе оналтылық сан белгісін көрсету |
г) Қатынас таңбалары немесе салыстыру белгілері:
= (тең), (тең емес), (үлкен), =(кіші емес, _таңбасының орнына).
Әрбір символдың өзінің реттік нөміріне сәйкес белгіленген коды болады, ол мемлекеттік стандарт түрде бекітлген.Әр елдің стандарттары негізіне америкалық кодтар стандартты коды жатады (American Standart Code for Information Interchange – ASCII), компьютерде жұмыс істеу кезеңінде оларды да білген абзал. Мысалы:
0 – 48 A – 65 a – 97
1 – 49 B – 66 b – 98
... … ...
9 – 57 Z – 90 z – 122
Паскаль тілінде кейбір символдар пайдаланбайды, мысалы, %, &, ” т.б.
Паскаль тілінің түйінді сөздері – бір-бірімен айыру белгілерімен бөлініп, программада алдын ала анықталған белгілі бір мағынасы бар сөз тіркестері. Паскаль тілінің түйінді сөздерін үш топқа ажыратуға болады, олар: қордағы (резервтегі) сөздер, стандартты атаулар немесе идентификаторлар және бейстандарт идентификаторлар. Тілдің операторларын, яғни қарапайым сөлемдерін жазу үшінмағынасы мен қолдану тәсілі біржола анықталып қойылған символдар тіркестерінен тұратын қордағы түйінді сөздер пайдаланылады. Олардың жалпы саны 80-нен астам. Алгоритмдік тілде бұлар қазақ, орыс тілінде қысқартылып жазылса, программалау тілдерінде ағылшын тілінде жазылады. Паскаль тілінің дербес компьютерге арналған нұсқасының бірсыпыра қордағы сөздері төменде келтірілген.
Паскаль тілінің дербес компьтерлерге арналған нұсқасының қордағы сөздері
absolute абсолюттік label белгі
and логикалы ЖӘНЕ library кітапхана
array жиым (массив) mod бөліндінің қалдығы
asm ассемблер nit болмау (бос болу)
begin блок басы not логикалық ЕМЕС
case нұсқа (вариант) or логикалық НЕМЕСЕ
const тұрақты (константа) of одан(-дан,-ден,-тан,-тен)
constructor конструтор object объект
div бүтін бөлу packed тығыздалған
go to ауысу(көшу) procedure процедура
do орындау, атқару program программа
downto кеміту record жазба
destructor деструтор (бұзушы) repeat қайталау
else әйтпесе set жиын
end блок соңы shl биттерді солға ығыстыру
exports экспорт (жіберу) shr биттер оңға ығыстыру
external сыртқы string қатар (жол)
file файл then онда
for үшін to үлкейту
forward алдындағы tupe тип (түр)
function функция unit модуль
if егер until дейін (шейін)
implementation жүзеге (іске) асыру uses пайдалану
in ішіндегі (ішіне ену) var айнымалы
inline негізгі while әзірше, болмайынша
interrupt кідірту (үзу) with -дан, -ден, -тан, -тен
interface интерфейс xor алып тасталынған
inherited мұралау (қабылдау)
Бұл келтірілген түйінді сөздерді айнымалы атаулар немесе тұтынушы қойған бейстандарт атаулар ретінде қолдануға болмайды.
Программалау тілдерінде өрнек, оператор, тіл синтаксисі мен симантикасы ұғымдарын кең пайдаланылады.
Арифметикалық немесе логикалық амалдар таңбасымен біріктірілген айнымалыла, атаулар, функциялар,жиымдар, т.б. мағынасы бар сөздер тізбегі өрнек деп аталады. Математикадағы формулалар, арифметикалық өрнектер, алгебрадағы көпмүшеліктер программалау тілінде тек осы өрнек ұғым арқылы беріледі.
Программалау тілінің белгілі бір іс-әрекетті орындамай алатын тиянақты мағынасы бар ең қарапайым сөйлемі оператор деп аталады.
Тіл объектілерін, яғни программада пайдаланылатын мәліметтердің құрылымы мен ұйымдастырылуын алдын ала анықтайтын сөйлемдер жиыны программаның сипаттамасы болып табылады.
Компьютер орындай алатын программа жазу үшін программалау тілінің синтаксисі (оның элементтерін жазу ережелері) мен семантикасын (олардың пайдаланудың мағыналық ережелері) білу қажет. Тілідің осындай ережелерін үйрену үшін оларды көрнек түрде бейнелейтін екі жасанды әдіс кең тараған. Оның алғашқысы – Джон Бэкус пен Питер Науэр ұсынған қысқаша жазу тәсілі АЛГОЛ тілінің синтаксисін көрсету үшін кең қолданылады. Бұл жазу тәсілі Backus Naur Form немесе қысқаша BNF деп аталып жүр.
Ал біз қарастыратын екінші – тіл ережелерін графикалық түрде бейнелейтін түрде синтаксикалық диаграмма болып табылады. Мұндай диаграммаларды Паскаль тілін жасаушы Н.Вирт көп қолданған болатын, сондықтан оны Вирт синтаксикалық диаграммасы деп атаған.
Паскаль программалау тілінің синтаксикалық диаграммалары
Синтаксикалық диаграммаларда екі геометриялық фигура – тіктөртбұрыш және эллипс ( кейде дөңгелек) кең пайдаланылады. Тіктөртбұрыш ішінде тілдің анықталатын элементтері (бейтерминалды символдар, яғни анықтауды қажет етпейтін таңбалар жазылады (2.2-сурет).
Бейтерминал символ
9-сурет. Синтаксикалық диаграммалар құрылымы
Диаграмма құрылымы бойынша жылжу, яғни оны оқу бағыты бағыттауышарқылы көрсетіледі.
Синтаксиклық диаграммаларды пайдаланып, тілдің дұрыс конструкциясын түсіну үшін көрсетілген бағыт бойынша бір фигурадан екінші фигураға қарай жылжу қажет. Бір емес бірнеше тармақталған бағыт көрсетілген жағдайда, олардың кезкелгенін таңдан алуға болады. Егер сол бағытта басқа диаграммаға сілтеме тұрса, онда сол жаңа диаграммаға еніп, сондағы көрсетілген бағыттар бойынша жылжи отырып, одан шығып, бастапқы даиграммаға оралу қажет. Егер жылжу бағытында нүкте кездессе, онда бұл тармақтың тек Турбо Паскаль тіліне ғана қатысты екені белгілі болады, яғни бұл мүмкіндікті стандартты Паскаль тілінің кеңейтілуі деп ұққан жөн.
Программалау тілдерінің синтаксикалық диаграммалары мен BNF тәсілінің мүмкіндіктері тіл ережелерін көрсету үшін бірдей деп есептеледі.
Паскаль тілінің қарапайым объектілері
Тілідің қарапайым объектілеріне сан, идентификатор, тұрақты, айнымалы, функция және өрнек ұғымдары кіреді.
Программадағы негізгі амалдардың орындалуына керекті мәліметтердің сандық, логикалық немесе символдық (литерлік) мәндері болады. Олар мен жұмыс істеу қолайлы болу үшін алгебра курсындағы белгілеулерге ұқсас шартты атаула пайдаланылады. Бұл атаулар әр түрлі мәндерді (сандық мән, символдық мән, т.б.) қабылдауы мүмкін, сондықтан оның типі деген ұғым енгізіледі.
1.Сандар. Сандар мен айнымалылар бүтін және нақты болып екіге ажыратылады. Бүтін сандар: +4, – 100, 15743, 0, т.б. Разрядтылығы 16 биттен тұратын дербес компьютерлер үшін қолданылатын бүтін сандар (ағылшынша INTEGER) – 32768 бен + 32767 аралығында ғана жазылады, бұдан үлкен сандар нақты сандарға айналдырылады.
Паскаль тілінде ондық және он алтылық бүтін сандар пайдаланылады. Он алтылық сандардың алдында $ белгісі қойылады. Мысалы, $ABC неемесе $8B2.
Нақты сандар кәдімгі табиғи аралас сандар тәрізді санның бүтіні мен бөлшегін нүкте арқылы бөлген күйде жазылады. Мысалы: 2.65, 0.5, -0.862, -6.0.Ал өте үлкен немесе өте кіші нақты сандар көрсеткіші бар экспоненциал сандар ретінде mE ± p түрінде жазылады да, олардың диапозоны әлдеқайда кең болады, мұндағы m – санның мантиссасы деп аталады; E – оның дәрежесі дегенді білдіреді; p – дәреженің сандық мәні.
Мысалы:
Кәдімгі жазылу | Паскаль тілінде жазылуы |
145 1F 147.125 -6.045 12•10¹³ 0.52•10³ 5.2•10־¹² -45•10³ | 145 $1F 147.125 -6.045 12E+14 0.52E4 5.2E-12 -45E6 |
Таңбасыз бүтін және нақты сандарды синтаксикалық диаграмма түрінде көрсетуге болады. Бүтін санның диграммасы 2.3-суретте көрсетілген.
цифрлар
10-сурет. Бүтін санның диаграммасы
Ал нақты санның диаграммасы 3-суретте көрсетілген.
Таңбасыз
бүтін сан
цифрлар
11-сурет. Нақты санның диаграммасы
Дербес компьютерде нақты сандар (REAL) 2.9Е-39-дан 1.7Е+38-ге дейін өзгере алады. Мәндері бұл аралықта болмайтын сандар үшін арнайы тәсілдер қолданылады.
2. Атау – идентификатор (identification – объектінің белгілі бір символдар тіркесіне сәйкестігін бекіту) программаны және программадағы тұрақтыларды, типтерді, айнымалыларды, функцияларды, файлдарды, т.б. белгілеп жазу үшін қажет.
Идентификаторлар тұрақтыларды, айнымалыларды, олардың түрлерін, функцияларды, программаларды, рпоцедураларды, файлдарды, т.б. программа объектілерін белгілеу үшін қолданылады. Идентификатор – міндетті түрде әріптен басталатын сандар мен әріптердің тізбегінен тұратын атау. Оның ұзындығын өте үлкен етудің қажеті жоқ, өйткені атауларды теру және кейіннен есте сақтау біраз уақыт пен жады көлемін қажет етеді. Бірақ оларды өте қысқартпай, мағынасына сәйкес атау беру қалыптасқан. Мысалы, X, X1, CYMMA, BEC, P23PS6,DT54AS, ALFA, baga2, SALMAK, OMEGA2, т.б.
Идентификатор стандартты және бейстандартты (өзіміз берген атау) болып бөлінеді. Бейстандартты атауды тұтунышы (компьютерді пайдаланушы адам) өзі тағайындайды.
Тілді алғаш жасаушылар стандартты атауларды кейбір тіл элементтері типтерінің, шамалардың (тұрақты, айнымалы), стандартты функциялардың, процедуралардың аттарын алдын ала барғанша түсінікті етіп белгілеу үшін енгізген, оларды тек сол өз мағынасында қолдануымыз керек. Мысалы, REAL (нақты сан), INTEGER(бүтін сан), VAR (айнымалы), CONST (тұрақты), SIN, COS (тригонометриялық функциялар), EXP, LOG (математикалық функциялар), FALSE, TRUE (логикалық мәндер), т.б. ағылшын тілінің қысқартылған сөздері. Паскаль тілінде программа жазуда қолданылатын басқа да түйінді сөздер жай атаулар ретінде қолданылмайтын стандартты идентификаторлар болып есептеледі, олар: AND, ARRAY, BEGIN, END, CASE, CONST, VAR, PROGRAM, IF, т.б., олардың толық тізімі жоғарыда және кітап соңында берілген.
Өзіміздің тұрақтыларға және айнымалыларға беретін атауларымыз стандартты идентификаторлардан өзгеше болуы тиіс, мысалы, L12, STOIMOST, CENA, F105, MATA. Біз мысалдар келтіріп, қарастырып отырған тіл – Турбо Паскаль деп аталатын дербес компьютерлерге арналған Паскаль программалау тілінің бір нұсқасы, мұнда идентификаторлар ретінде тек латын алфавитінің үлкен не кіші әріптері мен цифрларды ғана пайдалануға рұқсат етілген.
Тұтынушылар қойған бейстандарт атауларға әркім өз қалауынша тағайындаған шама аттары, яғни стандартқа кірмейтін идентификатор жатады. Олар төмендегі талаптарға құрылуы қажет.
Атау тек латын әріптерінен (астын сызу белгісі де «_» әріп болып саналады) басталуы тиіс. Тек белгілер (label) атауы ғана цифрдан да, әріптен де бастала береді.
Атаудың алғашқы емес символдары әріптерден, цифрлардан немесе астын сызу белгісінен тұруы мүмкін.
Қатар орналасқан екі атау арасында кем дегенде бір бос орын белгісі болуы қажет.
Атаудағы символдар саны 127-ден аспауы қажет.
Атауда бас және кіші әріптерді қатар пайдалануға рұқсат етілген, олардың ішкі кодтары әр түрлі болғанымен траслятор үшін ешбір айырмасы жоқ болып саналады. Бірақ мұны да ұтымды пайдаланған жөн, мысалы, ZatNomiri, BujmBagasi, т.б.
Сонымен, атаудың құрастырылу диаграммасын 4-суреттегідей етіп көрсетуге болады.
12-сурет. Атаудың, яғни идентификатордың құрастырылу схемасы
Block56
Ati_Goni
2_tom – қате, атау саннан басталмауы тиіс.
Айлық – қате, атауда орыс, қазақ әріптері болмауы тиіс.
3.Тұрақты немесе константа программаның орындалу барысында мәндері өзгеріссіз қалатын щамаларды айтады.
Тұрақтыға өзіміз программаның орындалу барысында бірден сандық мән берсек те немесе программаның сипаттау бөлімінде идентификатор түрінде белгілеп алып мән берсек те болады. Олар сандық, симводық логикалық және тіркестік (integer, real, boolean, char, string) мәндерді қабылдай алады. Логикалық түрдегі тұрақтылар – true (ақиқат) немесе false (жалған) мәндерінің біреуіне ие бола алады.
Символдық және тіркестік (строковый – string) мәндер үшін орыс, қазақ әріптерін және кез келген символдарды пайдалануға болады. Олар апостроф ішіндегі таңбалармен (литерлермен) жазылады, мысалы: ‘S=’, ‘сумма’, ‘функцияның мәні’, ‘y=’ және т.б.
Тұрақтыларға мысалдар: бүтін – х = –25; y = 1936; z = 123;
нақты – x = 2.14; y = 4E15; z = –0.5E–12;
beta=–250.0;
символдық – s= ‘c’; s1= ‘h’; s2= ‘9’, s3= ‘ ‘;
логикалық – B1=true; B2=false;
тіркестік – C= ‘Turbo Pascal’;
Тұрақтыларға бейстандарт идентификаторлар атау ретінде берілуі тиіс. Егер программада оны құрастырған иесінің аты бірнеше рет кездесетін болса, онда оны тұрақты түрде берген жөн, өйткені бұл ат кейіннен өзгеріске ұшырамайды.
Тұрақтының синтаксикалық диаграммасын былай бейнелеуге болады:
13-сурет. Тұрақтыны сипаттау диаграммасы
Ал мұның ішіндегі тұрақтыны анықтау диаграммасы:
идентификатор
Тұрақты өрнегі
14-сурет. Тұрақтыны анықтау диаграммасы
Барлық тұрақтылар программаның сипаттау бөліміндегі const түйінді сөзіне басталатын бөлікте көрсетілуі тиіс. Оның жазылу пішімі (форматы) төмендегідей:
сonst Mening_atjm = ‘Бақыт Бөрібайұлы’ ;
Max = 1000 ;
Min = 0 ;
Mektep_nomiri = 121 ;
Паскаль тілінде қордағы түйінді сөздермен алдын ала анықталған бірнеше тұрақтылар бар, олардың кейбірі төменде көрсетілген.
17-кесте
Идентификатор | Типі | Мәні | Сипатталуы |
True False Maxint | boolean boolean integer | True False 32767 | «Ақиқат» «Жалған» Ең үлкен бүтін сан мәні |
4.Айнымалылар деп программаның орындалу барысында әр түрлі мәндерді қабылдай алатын шамаларды айтады. Олар идентификаторлармен белгіленіп, әр уақытта әр түрлі мәнге ие бола алады. Айнымалылардың белгіленуі: ALFS, Y, X3, SUMMA, BAGA, A1B8, т.б. Айнымалы атауы оның орындайтын міндетіне сәйкес түсінікті және қарапайым болған жөн. Айнымалылар атаулары сипаттау бөлімінде var түйінді сөзінен кейін орналасады да, соңында олардың типі көрсетіледі. Оның жазылу пішімі:
var :
Мысалы: var A, B :integer;
Sum, baga : real;
Айнымалыларды анықтау диаграммасы мынадай болып келеді:
15-сурет. Айнымалыны анықтау диаграммасы
Айнымалылар қарапайым индексті болуы мүмкін.
Қарапайым айнымалылар өз аттары бойынша жазылады. Мысалы, delta, x, y, result, number_of_student.
Индексті айнымалыларға жиым (массив) элементтері жатады.
Жиым дегеніміз – бір атаумен белегіленіп, бір өлшеммен өлшенетін шамалардың реттелген тізбегі. Жиым элементтерінің барлығы да бір типте болуы тиіс. Индекс жиым элементінің нөмірін көрсетеді де, тік жақшаның ішінде жазылады. Мысалы, A[1] (A орнына), BETA[K,7] ( ), C4[3.5] (C4¸
Жиымдар бір, екі, үш өлшемді (индексті) бола береді. Индекстер үтірмен бөлініп жазылады. Индекстің ең үлкен және ең кіші мәнін сипаттау бөлігінде міндетті түрде көрсетіледі, мысалы,
s: array [1..50] of real;
mas: array [1..10,1..10] of char;
alfa: array [n1..n2] of integer;
Бақылау сұрақтары
Турбо Паскаль программалау тіліне сипаттама бер.
Турбо Паскаль программалау тілінің алфавитіне сипаттама бер.
Турбо Паскаль программалау тілінің элементтеріне сипаттама бер.
Турбо Паскаль программасының құрылымына сипаттама бер.
Турбо Паскаль программалау тілінің стандартты функцияларына сипаттама бер.
№15 лекция
Деректердің әр түрлі типтерінің операциялары мен функциялары.
Паскаль тіліндегі мәліметтер типтері
Программадағы мәліметтердің, шамалардың мәндері Паскаль тіліндегі алдын ала келісілген типтердің біріне жатуы тиіс.
Мәліметтердің немесе шамалардың типтері деп олардың қабылдай алатын мәндерінің және олармен орындауға болатын амалдардың жиынын анықтауды айтады, яғни тип деген шамалардың қабылдайтын мәндеріне берілетін сипаттама.
Мәліметтердің әрбір типі тек өзіне ғана сәйкес келетін операциялар жиынын орындата алады. Мысалы, 1мен 2 мәндері бүтін сандар типіне жатады, оларды қосуға, алуға, көбейтуге, бөлуге болады. Ал, “IBM” және “PC” мәндері сөз тіркесі типіне жатады, бұларды біріктіріп жазуға болады (“IBMPC”), қосуға, алуға, көбейтуге, бөлуге болмайды. Кез келген тұрақты, айнымалы, функция немесе өрнек өзіне тән бір типпен ғана сипатталады. Паскаль тілі үшін шамалардың типін көрсету міндетті болып есептеледі. Сондықтан программа алдын оның сипаттау бөлімінде пайдаланылатын барлық шама атаулары және оның типтері көрсетілу қвжет.
Тілді пайдаланылатын типтер скалярлық (қарапайым) және құрылымдық (структуралық) болып үлкен екі топқа жіктеледі. Ал скалярлық қарапайым типтер алдын ала анықталған стандартты және жасанды тип (программа жасаушы тағайындайтын тип) болуы мүмкін. Стандартты типтерге:
бүтін – INTEGER,
нақты – REAL,
логикалық – BOOLEAN,
символдық – CHAR,
тіркестік (STRING),
мәтіндік (TEXT) тәрізді типтер жатады.
Құрылымдық тип жиымдар – ARRAY, жазбалар – RECORD, жиынSET және файлдар – FILE (8-сурет) түрлеріне бөлінеді.
Бұлардан өзге типтер программаның типтерді сипаттау бөлігінде анықталу қажет. Тұрақты сандардың типін олардың сыртқы пішініне қарап-ақ ажыратуға болады, ал айнымалылар мен функциялар типтері программаның сипаттау бөлімінде көрсетіледі.
Типтер
Қарапайым Күрделі
Бүтін Нақты Символдық Логикалық Жиымдар Файлдар Жазбалар Жиымдар
сан сан шама(char) шама(logican)
16-сурет. Мәлімет типтерінің жіктелуі
Ол үшін type түйінді сөз қолданып, жазылу пішімін былай көрсетуге болады:
type = ;
Типті осылай сипаттаудың синтаксикалық диаграммасы:
17-сурет.Типті сипаттау диаграммасы
Ал типтің өзін анықтау диаграммасы былай бейнеленеді:
18-сурет. Типті анықтау диаграммасы
Логикалық шамалар екілік сандар жүйесіне сәйкес «1» және «0» деген мәндерді ғана қабылдайды. Мұндағы «1» тексерілген бір шарттың – логикалық тұжырымның орындалатынын, яғни «ақиқат» екенін, ал «0» сол шарттың орындалмайтынын – тұжырымның «жалған» екенін көрсетеді. Бұл екі мән программада ағылшын тіліндегі айтылуына сәйкес «true» (1) және «false» (0) болып жазылады.
Символдық шамалар апострофқа алынған бір символды ғана мән ретінде қабылдай алады, мысалы, “R”, “Л”, “%”, т.б. Бірақ әрбір таңбаны оның кодына байланысты реттелген бүтін сандармен де өрнектеуге мүмкіндігі бар.
Мәліметтердің қарапайым түрлерін стандартты типтер деп атау қалыптасқан. Стандартты типтердің real түрінен өзгелері реттелген деп аталады, өйткені оларды бүтін сан арқылы өрнектей отырып, өсуі не кемуі бойынша реттеп орналастыруға болады.
Стандартты типтер. Схемада көрсетілгендей Паскаль тілінде төмендегі қарапайым типтер пайдаланылады:
бүтін – SHORTINT; INTEGER; LONGINT; BYTE; WORD;
нақты тип – REAL; SINGL; DOUBLN; EXTEN DED, COMP;
символдық – CHAR;
ауқымды (диапазонды) тип.
Бүтін сан түріндегі типтер. Паскаль тілінде бүтін шамалар үшін бес стнадартты тип пайдаланылады, олардың сипаттамасы кестеде көрсетілген.
18-кесте
Типі | Мәндерінің өзгеруі | Ұзындығы, байт |
BYTE SHORTINT INTEGER WORD LONGINT | 0 – 255 -127 – +127 -32768 – +32767 0 –65535 -2147483648 –2147483647 | 1 1 2 2 4 |
Нақты сан түріндегі типтер. Ондық аралас сандар бүтіні мен бөлшегін бөлетін үтірлері жылжымалы және тұрақты түрлерде жазылады. Үтірлері тұрақты ондық сандар кәдімгі математикадағыдай жазылады, бірақ үтір орнына нүкте қойылады. Мысалы, 25.48, –127.25, 0.67, –8.0. Үтірлері жылжымалы ондық сандар дәрежелік көрсеткіші берілген экспоненциалды түрде жазылады, мысалы, –1.25Е+12 (1,25*10¹²), 1.3Е-05 (1,3*10‾º ), т.б.
Нақты сандардың ауқымы кестеде берілген.
19-кесте
Типі | Ауқымы | Мәнді цифрлар | Өлшемі, байт |
REAL SINGLE DOUBLE EXTENDED COMP | -1.7 | 11–12 7–8 15–16 19–20 19–20 | 6 4 8 10 8 |
Логикалық типтегі (BOOLEAN) шамалар негізінен екі мән қабылдайды –
TRUE(ақиқат) және FALSE (жалған), олар компьютер жадында бір байт орын алады.
Символдық типтегі (CHAR) шамалар мән ретінде тек бір таңбаны ғана қабылдай алады. Мәннің символ екендігін көрсету үшін оны апостраф ішіне алып жазады. Мысалы, ‘a’, ‘h’, ‘5’, ‘*’, т.б.
Тіркестік типтегі шамалар (STRING) апостроф ішіне алынған символдар тізбегін қабылдайды. Мысалы, ‘компьютер’, ‘университет’, ‘main’, ‘#&*’, т.б. Саналатын тип стандартты типке жатпайды, ол параметрлердің мәніне сәйкес келетін атаулар (идентификаторлар) тізімінен тұрады. Атаулар тізімі үтір арқылы ажыратылып жай жақша ішіне жазылады.
Мысалы: атау = ( 1 – идентификатор, 2 –идентификатор, ... , n –идентификатор);
kynder =( “дүйсенбі”, “сейсенбі”, ... , “жексенбі”);
Идентификаторлар орналасқан орны бойынша 0–ден бастап нөмірленеді. Бір идентификатор тек бір ғана саналатын типті көрсетеді.
Диапозондық немесе ауқымдық тип. Мұнда көрсетілген шама қабылдай алатын мәннің алғашқысы (ең кіші) мен соңғысы (ең үлкен) екі нүкте арқылы бөлініп көрсетіледі. Мысалы: атау = .. ;
Программада мынадай шамалар кездесуі мүмкін:
Guma_kunderi=1..7; Aj_kunderi=1..31;
Бұл типтегі шамалар көрсетілген алғашқы және соңғы мәнге дейінгі немесе олардың арасында жататын кез келген бөлігін пайдалана алады.
Стандартты функциялар және әр түрлі типті шамаларға қолданылатын арифметикалық амалдар
Турбо Паскаль тілінде алдын ала программалары жасалып стандартты модульге жинақталып қойылған, қажет кезінде пайдалануға болатын объектілер бар. Солардың бірі стандартты функциялар болып табылады. Олар жиі кездесетін математикалық және басқа да функцияларды есептеу үшін қолданылады. Стандартты функцияны жазу үшін міндетті түрде фукцияның аты және жақшаның ішінде аргументі көрсетілуі қажет.
Стандартты функциялар: abs (x), sqr (x)–x-тің квадраты, sin (x), cos (x),exp (x), ln (x), sqrt (x)–x-тің квадрат түбірі, arctan (x), frac (x)–санның бөлшегі, int (x)–санның бүтіні, pi (3.14159), т.б. Бірсыпыра стандартты функциялар 2.7–кестеде келтірілген. Функцияны есептеу барысында аргумент пен функция типтерінің әр уақытта сәйкес келе бермейтінінің есте сақтаған жөн.
1.Арифметикалық функциялар. Арифметикалық функцияларда бүтін және нақты шамалар пайдалынылады. Олар төмендегі кестеде көрсетілген.
20-кесте
Математикалық жазылуы | Паскаль тілінде жазылуы | Атқаратын қызметі | Функция типі |
| x | arctgx cosx sinx ex [ x ] π x2 √x
| abs (x) arctan (x) cos (x) sin (x) exp (x) frac (x) int (x) ln (x) Pi Sqr (x) Sqrt (x) | Аргументті абсолютті шамасы Аргументтің арктанденісі Аргументтің косинусы Аргументтің синусы Е-нің х дәрежесі х санының бөлшек бөлігі х санының бүтін бөлігі х санының натурал логарифмы π-дің мәні pi=3.14159265 х-тің квадраты х-тің квадрат түбірі | х типіндейНақты Нақты Нақты Нақты Нақты Нақты (бүтін) Нақты х типіндей нақты |
Ескерту. Егер компилятордың кілті {$N+} түрінде болса, функциялар да real нақты типі орнына extended типі пайдаланылады.
2.Типтерді өзгерту функциялары. Бұл функциялар шамалардың типтерін өзгерту үшін пайдаланылады. Мысалы, нақты санды бүтін санға, цифрлар түрінде берілген символдар тізбегін бүтін санға, т.б. аударады. Олар:
Chr(x) – x санын (кодын) символға аударады. Мұнда аргументің типі (0...255) аралығындағы бүтін сан болуы қажет.
High(х) – шаманың максимум мәнін береді. Мысалы, шаманың мәні жиым түрінде болса, онда бұл функция индекстің ең жоғарғы (максимум) мәнін, ал шаманың мәні сөз тіркесі түрінде болса, онда сипаттлған тіркес өлшеміндегі символдар санының үлкен мәнін береді.
Low(х) – шаманың минимум мәнін береді.
Ord(х) – саналатын (реттелген) типті бүтін типке көшірді, мысалы, аргумент реттелген типте (логикалық, символдық, саналатын) болса, онда нәтиже типі lonigint болады.
Round(х) – нақты санды бүтін санға дөңгелектейді.
Trunc(x) – нақты санның бүтін бөлігін береді.
Реттелген типтегі шамаларға пайдаланылатын функциялар. Бұл функциялар реттелген тптегі шамалар үшін пайдаланылады. Мысалы, элементтің алдындағы немесе сонындағы элементті анықтау, т.б. олар:
Odd(х) – х сандық шамасының тақ екендігін тексеру. Мұнда аргумент типі longint түрінде, ал сан тақ болса, нәтиже true (ақиқат), жұп болса false (жалған) болады.
Pred(x) – реттеліпорналастырылған х-тің алдыңғы мәнін береді.
Succ(x) – реттеліп орналастырылған тізбектегі х-тің келесі мәнін анықтайды. Егер бұл функцияны соңғы элементке пайдаланса, қате деген хабар шығады.
Стандартты типтердің сипатталуы
Шамаларға қолданылатын амалдар олардың типтеріне байланысты болады.
Бүтін сан түріндегі тип. Бүтін типтегі мәндерді қабылдайтын атаулар былай сипатталады: атау 1, атау 2, ... , атауn: тип;
Мұнда тип орныныда бүтіг типті көрсететін түйінді сөзіндің бірі жазылады. Мысалы, integer, byte, ...
Бүтін типке мынадай амалдар қолданылады: +, –, *, /, div, mod.
21-кесте
белгілер | амалдар | Операндалар типі | Нәтиже типі |
+ – * / div mod | Қосу Алу Көбейту Бөлу Бүтін бөлу Бүтін қалдық | Бүтін (екеуіде), біреуі бүтін, нақты Бүтін (екеуіде), біреуі бүтін, нақты Бүтін, екеуі немесе біреуі, нақты Бүтін немесе нақты Бүтін Бүтін
| Бүтін, нақты Нақты, бүтін Нақты, бүтін Нақты Бүтін Бүтін
|
Қосу, алу, көбейту, бөлу амалдары кәдімгі математикадағыдай орнындалады, ал қалған екі амалға мысал келтірейік.
5 div 2=2 5 mod 2=1
8 div 3=2 8 mod 3=2
7div 2=3 7 mod 2=1
төмендегі стандартты функциялар бүтін аргументтер үшін бүтін мән береді:
abs(x) – бүтін х санының абсолют щамасы;
sqr(x) – бүтін х санының квадраты;
trunc(x) – нақты х санының бүтін бөлігі (нәтиже дөңгелектенбейді), мысалы, trunc(52.9)=52;
round(x) – нақты х саны дөңгелектеніп бүтін нәтиже береді, мысалы, round(x) =round(x+0.5), х=0,
round(x) =round(x-0.5), х
succ(x) – реттеліп орналасқанбүтін х санынан кейін тұратын санды береді,мысалы, succ(5) =6;
pred(x) – реттеліп орналасқан бүтін х санының алдында тұратынсанды береді, мысалы, pred(5) =4.
Бүтін сандарға not, or, shl, chr, and, xor амалдарын қолдану биттерге амалдар қолдану болып табылады.
NOT амалы. Бұл амалды пайдаланғанда әр битті 1-ден 0-ге, ал 0-ді 1-ге алмастырады, мысалы, ондық кодта not 12 = –13, ал сәйкес екілік кодта:
not 0000000000000110 = 1111111111111001.
SHL амалы. Бұл амал екілік кодта жазылған санды көрсетілген рязрадтар санына солға жылжытады, мысалы,
128 shl 3 = 1024, себебі
128 =2 =10000000 бұл санды солға 3 орынға жылжытсақ, соңында 3 нөл қосылады, сонда 10000000000 болып шығады, яғни бұл сан 2¹º=1024-ке сәйкес келеді.
000000001000000 = 0000010000000000.
SHR амалы. Екілік кодта жазылған санды көрсетілген рязрадтар санына оңға жылжытады, мысалы, 1024 shr 3 = 128 (0000010000000000 = 0000000010000000).
Нақты тип. Нақты типтегі мәндерді қабылдайтын атаулардың сипатталуы:
атау1, атау2, ..., атауn: mun;
тип орнында нақты типті көрсететін түйінді сөздердің бірі жазылады, мысалы, real, singe, ...
Жоғарыда көрсетілгендей бұл типтерге жадтан сәйкес 6, 4 байт орын қажет болады. Егер деректер мәні жоғарғы шектен асып кетсе, онда программаның орындалуы тоқталып қалады да қате жөнінде хабар шығады. Ал төменгі шектен төмен болса, онда айнымалы атауын нөл мәні меншіктеледі де программа орындала береді.
Нақты типтегі шамаларға: + –қосу, – –алу, * –көбейту, / – бөлу амалдары қолданылады. Бұл амалдарда операндалар (аргументтер) бүтін сан болуы да мүмкін, бірақ нәтиже әрқашанда нақты сан болады, мысалы,
5/2= 2.5, 12/6= 2.0.
төмендегі стандартты функциялар тек нақты мәндер береді: sin(x), cos(x), arctan(x), ln(x), exp(x), sqrt(x). Ал егер х саны нақты болса, онда abs(x) және sqr(x) функциялары да нақты мән береді.
Логикалық тип. Бұл типтегі атаулар былай сипатталады:
атау1, атау2, ..., атауn: boolean;
Логикалық шамалар true (ақиқат) және false (жалған) мәндерінің бірін ғана қабылдайды.
Логикалық типтегі шамаларға мына амалдар пайдаланылады: and–(ЖӘНЕ), or– (НЕМЕСЕ), not– (ЕМЕС), xor– (алынып тасталынғанНЕМЕСЕ).
True and true = true (1 and 1 = 1)
True and false = false (1 and 0 = 0)
False and true = false (0 and 1 = 0 )
False and false = false (0 and 0 = 0)
15 and 12 = 12 (1111 and 1100 = 1100)
true or true = true ( 1 or 1 = 1)
true or false = true (1 or 0 = 1)
false or true = true (0 or 1 = 1)
false or false = false (0 or 0 = 0)
15 or 12 = 15 (1111 or 1100 = 1111)
not true = false
not false = true
1 xor 1 = 0, 1 xor 0 = 1, 0 xor 1 = 1, 0 xor 0 = 0
15 xor 12 = 3 ( 1111 xor 1100 = 0011).
Логикалық шамаға бір ғана стандартты функция odd(х) пайдаланылады. Егер х саны тақ болса, онда оның мәні true, ал жұп болса, онда false болады.
Символдық тип. Символдық типтегі шамалар былай бейнеленеді:
атау1, атау2, ..., атауn: char;
Жоғарыда айтылғандай символдық тптегі шамалардың мәндері апостроф ішіне алынып жазылады. Символдық айнымалылардың мәндері арифметикалық өрнектерде пайдаланылмайды. Әр символдың өзіне тән рет нөмірі-коды (ASCII кодындағы) болады, олар символдардың орналасу реті бойынша өсіп отырады, мысалы,
0,1, ... , 9, A, B, C, ... , Z, a, b, c,.. , z, ....
Символдық шамаларға қатынас амалдары: , , = пайдаланылады. Бұл амалдар орындалғанда символдардың өздері емес олардың нөмірлі (кодтары) салыстырылады.
Символдық шамаларға төмендегі стандартты функциялар пайдаланылады.
ord (х) – х-тің орнында тұрған символдың рет нөмірін (кодын) береді, мысалы, ord(‘?’)=63, ord(‘5’)= 53;
chr (x) – рет нөмірі х санына сәйкес символды береді, мысалы, chr(53)=5,
chr(73)=I;
pred(x) – x cимволының алдындағы символды береді, мысалы, pred(‘M’)= ‘L’;
succ(x) – х символының соңындағы тұрған символды береді, мысалы, succ(‘M’)= ‘N’.
Жоғарыда келтірілген стандартты функциялар олардың мәндерін автоматты түрде тез есептеуге мүмкіндік береді.
Паскаль тіліндегі өрнектер және олардың жазылуы
Өрнек деп арифметикалық амалдардың таңбаларымен біріктірілген айнымалылардың, функциялардың, тұрақтылардың жиынын айтады. өрнектердің есептелу барысында амалдардың орындалу реті жақшалардың көмегімен өзгертіледі. Қарапайым жағдайда өрнек тек айнымалылардан, тұрақтылардан немесе функциялардан тұруы мүмкін. Мысалдар:
(5+7*х)/1.8 , (sin(x)+5* cos(2+x))/ ln(x), т.б.
Алгоритмдік тілдерде (Паскаль, Бейсик, Си, Пролог, т.б.) арифметикалық амалдардың орындалу тәртібі оладың математикадағы орындалу тәртібіне сәйкес келеді, яғни алдымен жақша ішігдегі амалдар, көбейту, бөлу, қосу, алу, т.б. амалдар орындалады. Төмендегі кестеде әр түрлі амалдардың орындалу реті көрсетілген.
22-кесте
Реті | Амалдар түрі | Амалдар немесе оның элементі |
1. 2. 3. 4. 5. | Жақша ішіндегі өрнектер Функция мәндері Унарлық амалдар Көбейту, бөлу түріндегі амалдар Қатынас амалдары | ( ) функциялар @, not, бірорынды + және - *, / , div, mod, and, shl, snr +, -, or, xor =, , , ,=, in |
Өрнектердің алгоритмдік тілде және программалау тілдерінде жазылуы да бір-біріне сәйкес келеді.
Алгоритмдік тілдерде Паскаль тілінде жазылуы төмендегі кестеде келтірілген.
23-кесте
(5+2·4):3 | (5+2*4)/3, нәтижесі 4.3333; |
8-2+[21/4]; мұндағы [ ] бүтін бөлу дегенді білдіреді; | 8-2+21 div 4, нәтижесі 11; |
(2+3)-ті 6-ға бөлгендегі бүтін қалдықты табыңдар; | (2+3) mod 6, нәтижесі 5; |
5+2:10 | 5+2/10, нәтижесі 1.2; |
(8+4):10; | (8+4)/10, нәтижесі 1.2; |
8:8 | 8/8, нәтижесі 1.0. |
(3,18-4,98)·(1,171-0,27): :(2,7-1,9) + 5,96 | (3.18-4.98)*(1.71-0.27)/ /(2.7-1.9)+ 5.96 |
ex (sinx x+cos2x): In [3x] | EXP (X)*(SQR(SIN)(X)+cos (2*X))/ /LAN(ABS(3*X); |
Мысал. Төмендегі амалдардың мағынасы бар ма?
а) 2.5 div 7.1
ә) 7 mad 2.3;
б) 5.2 div 3;
в) 10.0 mod 4.
Бұл амалдардың мағынасы болмайды, себебі div және mod амалдары бүтін сандарға ғана пайдаланылады.
Паскаль тілінің программасы. Программа құрылымы
Паскаль тілінің программасы блоктардан құралады. Бір блок ішіне басқа да кіші-гірім блоктар кіре береді. Блоктар екі бөлімнен тұрады, олардың алғашқысы – мәліметтерді сипаттау бөлімі, ал екіншісі – сол мәліметтерді пайдалана отырып, әр-түрлі іс-әрекеттерді (операцияларды, амалдарды) атқару бөлімі.
Мәліметтерді сипаттау бөлімі болмауы да мүмкін, ал екінші бөлім – негізгі бөлім, ол міндетті түрде болуы тиіс. Басқа блокқа кірмейтін блок басты (глобальді) блок блып саналады. Ал блок ішіндегі – жергілікті (локальді) блок деп аталады.
Сонымен, кез келген программа синтаксикалық ереже бойынша тақырып пен блоктан тұрады.
Басты блок – негізгі программа блогы, сондықтан ол әрқашанда болуы тиіс. Жергілікті блоктарға процедуралар мен функциялар кіреді, олар кейбір программаларда болмауы да мүмкін.
Программа тақырыбы
блок
19-сурет. Программа құрылымы диаграммасы
Программалардың негізгі объектілері болып саналатын айнымалы, тұрақты және олардың типтері де орналасқан блогына байланысты басты немесе жергілікті деп аталады. Программа объектілерінің де жұмыс істеу, әсер ету аймағы сол өздері орналасқан блокпен шектеледі. Блоктық құрылым программа мәтінін тиянақты түрде қатесіз құрастыруға көмектеседі. Программалық блоктың синтаксикалық диаграммасын 11-суреттегідей етіп көрсетуге болады.
Турбо Паскаль программасының тақырыбын (атауын) жазбай да кетуге рұқсат етілген, бірақ жалпы Паскаль тілінің стандарты бойынша тақырып болу қажет.
Сонымен, кез-келген программаның тақырыбы, онан кейін сипаттау бөлімі және Begin және and сөздерімен қоршалған операторлар бөлімі болуы керек. Сипаттау бөлімі, толық болған жағдайда, 7 бөліктен тұрады.
Паскаль тіліндегі шамаларды сипаттау бөлімі
Паскаль тілінде жазылған программаның құрылымы мен алгоритмдік жазылған программаның құрылымдары бір-біріне сәйкес келеді. Программа негізінен екі бөлімнен тұрады екен, енді соның алғашқысын – шамаларды сипаттау бөлімін толығырақ қарастырайық.
1.Белгілерді сипаттау. Белгі программаның бір жолын, яғни операторын ерекшелеп белгілеу үшін пайдаланылады.Бұл белгі арқылы қажетті жағдайда программаның кез-келген жолынан осы белгісі бар операторға көшіп, оны қайталап кезексіз орындауға болады.
Белгіні сипаттау пішімі (жазылуы):
Label 1-сан, 2-сан, ...., К-сан, 1-атау, 2-атау, n-атау;
Мысалы, Label 12, 5, 11, san, K5, n, belgiI;
Осы белгілерге сәйкес программа ішіндегі белгілі бір жолға оның бірін қою үшін – сол жол алдына белгі аты болып анықталған (5, san сияқты) бір сан немесе сөз жазылуы тиіс, сонан соң қос нүкте қойыоып оператор жазылады. Мысалы,
12:
немесе
К5:
Программа орындалу барысында кез-келген жерге gotor K5; тәрізді көшу операторын орналастырып, осы жолдан командалардың табиғи атқарылу реттілігін бұзіп, бірден К5 қатарына ауысуға болады.
2. Тұрақтыларды сипаттау. Программалардағы тұрақтылар өз мәнімен (мысалы, 5, 14, 13.5, т.б.) немесе оған қойылған атау арқылы белілуі мүмкін. Тұрақтылар өз атауы арқылы берілсе, онда оның атауын жаза отырып программаның кез-келген жерінде пайдалануға болады, бірақ оның атауы мен мәні тұрақтыларды сипаттау бөлігінде төмендегі пішімде көрсетілуі тиіс.
Пішімі: const атау1= мәні; атау2=мәні;....; атау n =мәні;
Мысалы, const р=3.14; е=2.7; а=bol’; max = 1000;
3. Айнымалыларды сипаттау. Программа пайдаланылытын айнымалы шамалардың атаулары тізімі және олардың топтастырылып көрсетілген типтері төмендегі пішімде сипаттау бөлігінде көрсетілуі қажет.
Пішімі: Var айнымалы атауларының тізімі:
Паскаль тіліндегі операторлар бөлімі
Программа енетін айнымалылар мен тұрақтылар, сандарды пайдаланып түрлі-түрлі әрекеттерді (нұсқауларды, жарлықтарды) орындай алатын сөйлемдерді Паскаль тілінде операторлар, ал алгоритмдік тілде командалар дейді. Операторларды қарапайым және күрделі (құрама командалар) деп екі топқп бөледі. Операторлар программаның соңғы жағында begin және and түйінді сөздерін сәйкесінше ашылатын және жабылатын операторлық жақшалар деп атайды. Оператор дегеніміз – алгоритмді жүзеге асыру барысында орындалатын іс-әрекеттерді анықтайтын тілдің қарапайым сөйлемі. Олар жазуылу ретіне қарай біртіндеп бірінен кейін бірі тізбектей орындалады. Операторлар бір-бірінен нүктелі үтір (;) арқылы бөлініп жазылады. Оқуға, түсінуге қолайлы болу үшін бір жолға көбінесе бір оператор жазылады. Қағазға программа мәтінін басып аларда орнын үнемдеу үшін немесе экран бетіне көбірек символдар жазу мақсатында бір жолға бірнеше оператор жазуға болады. Бірақ бір жолға орналасатын операторларды құраушы символдар саны (бос орынды қоса алғанда) 256 символдан артпауы қажет.
Сонымен операторлардың жалпы жазылу түрі төмендегідей болады.
Begin
1-оператор;
2-оператор;
.................;
n-1- оператор;
n-оператор
End.
Операторлық бөлікті жазғанда төмендегі ережелерді сақтаған жөн.
End түйінді сөзінің алдындағы оператордан өзге барлық операторлардың соңына нүктелі үтір (;) қойылуы қажет.
Егер End программасының соңы болса, онда одан кейін міндетті түрде нүкте (.) қойылуы қажет. Ал ол оператордан (End) соң басқа оператор жазылатын болса, онда оның соңына (;) жазылады. End операторынан кейін тағы да End тұрса, онда алдыңғы End соңына ешнәрсе қойылмайды.
Құрама немесе күрделі операторлар бірнеше қарапайым операторлардан құрылып, бір оператор сияқты орындалады. Осындай құрама операторлар операторлық жақша болып саналатын BEGIN сөздері арасына жазылады. Жол арасына не соңына жүйелі жақшаға ({}) немесе ((**)) алынған түсініктеме сөздер жазуға болады. Түсініктеме сөздері орысша, қазақша, жалпы кез-келген ұлттық әріптермен жазуға болады.
Операторлардың көмегімен атауға мән меншіктеуге, берілген мәліметтерге амалдар қолдануға, программаны басқаруға, мәндер енгізуге және шығаруға, процедуралар мен функцияларға орындауға болады.
Паскаль тілінің операторлары қарапайым және құрама (күрделі құрылымды) болып екіге ажыратылады.
Қарапайым операторлар деп құрамына басқа операторлар енбейтін (меншіктеу, шартсыз көшіру, процедура шақыру) операторларды айтады.
Құрама операторлар бірнеше операторлармдан құралады, оларға: шартты операторлар, таңдау операторы, қайталау операторлары жатады. Сонымен, операторларды орындайтын қызметіне байланысты топтарға жіктеуді 3.3-сурет түрінде көрсетуге болады.
операторлар
Басқару операторы
Функция мен процедураларды анықтау операторлары
Енгізу-шығару операторы
Меншіктеу операторы
Сонымен программа тақырыбы
Program (INPUT, OUTPUT); түрінде болуы тиіс.
Кез-келген программада INPUT және OUTPUT стандартты процедуралары пайдаланылатындықтан, оларды жазбауға да болады. Ал егер программада басқа стандартты файлдар пайдаланылатын блса, олардың атаулары программа атынан соң жақша ішіне үтір арқылы бөлініп жазылады.
Программаның сипаттау бөлімінде атылып өткен 7 түрлі анықтаулардың барлығының да болуы шарт емес, көбінесе, тек Var – айнымалыларды сипаттау бөлігі ғана және Begin, End сөздерімен қоршалған операторлар бөлімі ғана міндетті түрде кездеседі.
Бақылау сұрақтары
Турбо Паскаль программалау тіліне сипаттама бер.
Турбо Паскаль программалау тілінің алфавитіне сипаттама бер.
Турбо Паскаль программасының құрылымына сипаттама бер.
Турбо Паскаль программалау тілінің деректер типтеріне сипаттама бер.
Турбо Паскаль программалау тілінің деректерінің әртүрлі типтеріне қолданылатын операциялар мен функцияларға сипаттама бер.
№16 лекция
5.2. Айнымалы мәнді алу, деректерді енгізу-шығару, меншіктеу операторлары. Сызықтық программалау.
Паскаль тілінің қарапайым операторлары. Сызықтық программалау
Қарапайым операторлар құрамына (ішіне) басқа бір оператор енбейді. Ал күрделі операторлар ішіне бірнеше қарапайым операторлар еніп тұруы мүмкін.
Программалау тілдерінің қарапайым операторларына: меншіктеу, шартсыз көшу, енгізу-шығару операторлары мен бос оператор және процедураларды орындау (шақыру) операторлары жатады.
Ал күрделі немесе құрама операторларға: шартты көшу, қайталау (цикл), таңдау, жалғастыру (тіркестіру), т.б. операторлар жатады.
Меншіктеу операторы
Меншіктеу операторы барлық тілдерде пайдаланылатын негізгі оператор болып табылады. Математикадағы қарапайым теңдеу тәрізді айнымалыларға сандық (стмволдық та болуы мүмкін) мән беру өрнегін мұнда меншіктеу операторы деп атайды.
Меншіктеу операторы жазылған өрнектердің мәнін есептеп, оны айнымалаларға беру үшін қолданылады. Өрнек мәнінің типі айнымалының типіне міндетті түрде сәйкес келуі тиіс. Кейде нақты түрдегі айнымалыға бүтін сан мәнін меншіктеуге болады, ондайда бүтін сан нақты санға айналып кетеді. Меншіктеу операторының жазулу ережесі (пішімі) төмендегідей болады:
: = ;
мұндағы - айнымалы идентификаторы, = - меншіктеу белгісі, яғниайнымалының мәні өрнекиің есептелген сан мәнін қабылдайды, - арифметикалық өрнек немесе сан.
Бұл оператор екі міндет атқарады:
1. Айнымалылардың белгілі мәндері бойынща арифметикалық өрнекиің сандық мәнін есептейді;
2. Табылған мән айнымалы атауына меншіктеледі (телініп жазылады), яғни анықталған мән сол айнымалыға сәйкес компьютер жады ұяшығына орналасады. Мұнда әдеттегі теңдік «=» белгісімен шатастыру тіліндегі меншіктеу «:=» белгісін шатастырмау қажет. Олар тек түр жағынан ғана емес мағынасы жағынан да өзгеше.
Енгізу операторы
Берілген мәндерді айнымалыға беру үшін меншіктеу операторын пайдалануға болады. Бірақ бұл жағдайда программа жалпылық қасиет болмайды, яғни ол тек көрсетілген мәндер үшін ғана есептеу жұмыстарын жүргізіп, қал,ан кез-келген мәндер үшін құрыс нәтиже бермейді. Программаны дұрыс әрі әмбебап етіп жасау үшін айнымалылардың мәндері өзгерілетін түрде жасалып, олар пернелерден енгізілуі қажет, мұндайда программа айнымалының әр түрлі мәндері үшін дұрыс жұмыс атқара алады.
Паскаль тілінде мәліметтерді енгізу және шығару үшін, яғни адам мен компьютер арасында мәлімет алмасу мақсатында алдын-ала анықталған Input, Output файлдары қолданылады. Программа берілген мәндерді Input файлынан алады да, алынған нәтижені Output файлына орналастырады. Стандартты енгізу файлы болып пернетақта, ал шағару файлы болып дисплей экраны саналады. Ол үшін енгізу операторы пайдаланылады.
Паскаль тілінде мәлімет енгізетін READ (READ- ағылшынша оқу) операторының жалпы түрі (пішімі) төмендегідей:
READ(а1,a2, ...,аn);
READLN(а1,a2, ...,аn);
READLN;
мұндағы а1,a2, ...,аn – айнымалы атаулары, оларды енгізу операторының параметрлері деп те атайды. Алғашқы оператор көрсетілген айнымалылардың мәндері пернелер арқылы араларына бір бос орын қалдыру арқылы енгізілген соң, курсорды келесі қатарға көшірмейді. Ал readln ( read line – «қатарды оқу» деген сөздің қысқартылуы) алдынғы оператордағыдай пернелерден мәндер енгізілгеннен кейін курсорды келесі қатарға көшіріп жібереді. Соңғы қатарда жазылған параметрсіз оператор ешбір мән енгізбей, тек курсорды келесі қатарға көшіру ісін ғана атқарады.
Енгізілетін айнымалылардың мәндері integer, real, char немесе string (сөз тіркесі) типтеріне жатуы мүмкін. Логикалық айнымалылардың мәндері енгізілмейді. Айнымалылар мәндері өз типтеріне сәйкес Паскаль тілінің ережелері бойынша енгізіледі. Егер ол шарт бұзылса (мысалы, Х1 типі integer болса, ал енгізгенде char типтес мән терілсе), онда экранға енгізу-шығару қатесі шығады, оның пішімі мынандай болып келеді:
І/0 error XX,
мұндағы ХХ – бүтін сан түріндегі қатенің сипатына сәйкес коды.
READ операторы орындалғанда параметрлер өздеріне сәйкес мәндерді қабылдайды, бұл міндет INPUT (енгізу) енгізу файлы арқылы жүзеге асырылады. Параметрлер жаңа мән қабылдағанда олардан бұрын орналасқан (жазылған) ескі мән өшіріліп орнына жаңа мәндер жазылып отырылады да, программа параметрдің жаңа мәні бойынша жұмыс атқарады.
Мысалы.
var
I: real;
J: integer;
K: char;
begin
Read (I,J,K);
...
Осы программаға сәйкес енгізудің алғашқы нұсқасы:
212.5 38 `п` енгізудің екінші нұсқасы: `л` 121.35 25
Алғашқы нұсқасы мәлімет енгізуді орындайды, өйткені енгізілетін мәндер өз ретімен орналасқан айнымалылар типтеріне (I,J,K) сәйкес келіп тұр. Екінші нұсұа коды 10 болып келетін қате бар екенін айтады, себебі real типтес I айнымалысы үшін char типіндегі мән енгізіліп отыр.
Егер енгізу перне арқылы жүзеге асырылмай, дискідегі файл арқылы жүргізілсе, онда жақша ішінде бірінші болып файл аты жазылады.
READ (FN,а1,a2, ...,аn);
READLN (FN,а1,a2, ...,аn);
READLN (FN);
мұндағы FN – енгізілетін мәндер жазылған дискідегі файлдың аты; аi – айнымалылар идентификаторлары, файлдар да мәндер бір қатардан немесе келесі қатардан оқыла береді, сол себепті мұнда да жоғарыда көрсетілген операторлардың үш түрі қолданылады. Файлдағы мәліметтер де бір-бірінен «бос орын» не «енгізу» пернесін басу арқылы бөліну тиіс, яғни файлға әрбір мән енгізілгеннен кейін «_» ал енгізу соңында «Enter» пернесі басылады.
Файлдардан мәлімет енгізу мысалдары кейінірек қарастыралады.
READ операторы кез келген санмен, символдармен және сөз тіркестерімен жұмыс атқара алады.
Сонымен, параметрлердің сандық мәндері бір-бірінен бос орын арқылы ажыратылып жазылады. Мәндерді беріп болдық дегенді білдіру үшін «Enter» (енгізу) пернесі басылады. Мысалы, енгізу операторы READ (А,В,С); түрінде берілсе, параметрлерге мәндер былай беріледі: 5_6.2_4.5 Enter. Бұл жағдайда A=5, B=6.2, C=4.5 мәндер қабылдайды. Осы мәндер арқылы программа орындалып болған соң, басқа мәндер үшін программаны қайталау қажет болса, онда программаны басынан бастап қайьа орындау қажет.
Бір айнымалыларға бүтін, нақты айнымалыларға нақты мәндер берілу қажет.
Айнымалы бейнеленгенде нақты ретінде бейнеленсе, оған нақты да, бүтін де мән беруге болады, себебі нақты сан құрамына бүтін сан енеді. Ал машина «өзі» бүтін санды нақты сан түріне келтіріп алады. Мысалы:
VAR
A,B: REAL;
BEGIN
READ (A,B);
...
END.
түрінде беріліп A,B айнымалылар үшін 4.5 Enter орындалса, онда машина оларды A = 4.0, B = 5.0 түрінде қабылдайды. Сандар арасында бір немесе бірнеше бос орын қалдыруға болады, себебі сан енгізілген бос орын еске алынбайды.
Мәндерді енгізгенде мән енгізілген жолдан келесі жаңа жолға өту үшін параметрсіз немесе параметрмен сәйкес READLN; READLN (а1,a2, ...,аn); операторларын пайдалну қажет. Сонымен, READ(а1,a2, ...,аn); READLN; операторларының орнына бір ғана READLN (а1,a2, ...,аn) операторын пайдалануға болады.
Шығару операторы
Паскаль тілінде нәтижені экранға шығару үшін WRITE (жазу) операторы (процедурасы деп те айтылады) пайдаланылады:
WRITE(а1,a2, ...,аn);
(а1,a2, ...,аn);
WRITELN;
мұндағы а1,a2, ...,аn – айнымалы атаулары, оларды шығару операторының параметрлері деп те атайды. Жақша ішіндегі жай айнымалылар немесе апострофтармен қоршалған символдар тобы болуы мүмкін.
Алғашқы оператор көрсетілген айнымалылардың мәндері пернелер арқылы араларына бір бос орын қалдыру арқылы енгізілген соң, курсорды келесі қатарға көшірмейді. Ал writeln (write line – «қатарды жазу» деген сөздің қысқартылуы) алдынғы оператордағыдай пернелерден мәндер енгізілгеннен кейін курсорды келесі қатарға көшіріп жібереді. Соңғы қатарда жазылған параметрсіз оператор ешбір мән енгізбей, тек курсорды келесі қатарға көшіру ісін ғана атқарады.
Шығарылатын мәндердің түрі айнымалылардың типі арқылы анықталады, олар integer, real, boolean (true, false), char немесе string (сөз тіркесі) типтер түрінде беріле береді.
Мысалы.
var
I: real;
J: integer;
K: char;
begin
...
write (I,J,K);
Шығарылатын параметрлер бір-бірімен үтір арқылы ажыратылып, WRITE түйінді сөзінен соң жай жақша ішіне жазылады.
Шығару операторында жақша ішінде қағазға не экранға шығарылатын мәннің пішімін – оның алатын орнын, яғни енін толық көрсетуге болады. Бүтін санды оның енін көрсете отырып, экранға шығаруға болады, мысалы b айнымалысының бүтін түрдегі мәнін көрсету
WRITE(b:n)
операторы арқылы жүзеге асады.
Нақты сандар үшін оның жалпы енін, сонан соң бөлшек бөлігі алатын орнын көрсету қажет, сол себепті аралас сандарды бейнелеуде оның ені қоснүктемен бөлінген екі бүтін сан арқылы жазылады. Сонымен, нақты сан үшін пішім екі саннан тұрады:
І – санға берілетін барлық орын;
ІІ – үтірден кейін алынатын бөлшек бөліктің саны.
Мысалы: WRITE(Y:5:2), мұндағы 5 – нәтижеге берілген барлық оры, 2 – үтірден соңғы бөлшек бөлігіне берілетін орындар саны.
Жалпы нақты санды экранда бейнелеу операторының жазылу түрі:
WRITE(С:n:m)
Мұндағы, n – С мәнінің барлығына берілетін орын саны; m - С мәнінің бөлшек бөлігіне белгіленген орын саны. n-нің мәні таңбаны, бүтін мен бөлшекті бөлетін нүктені және бүтін сандар орнын бөлшекке қосып көрсететіндіктен, ол nm+3 болуы тиіс. Экранға шығаратын сандапрдың арасында қалдырылатын бос орындар санын да осы жолмен көрсетуге болады.
Егер операторда пішім көрсетілмесе, онда нәтижеде сол сан толық күйде экранға шығады.
Бақылау сұрақтары
Турбо Паскаль программалау тілінің деректер типтеріне сипаттама бер.
Турбо Паскаль программалау тілінің деректерінің әртүрлі типтеріне қолданылатын операциялар мен функцияларға сипаттама бер.
Операторлар дегеніміз не?
Қарапайым операторларға сипаттама бер.
Сызықтық программа құрылымына сипаттама бер.
№17 лекция
5.3. Тармақталған программалау, циклдік алгоритмдер.
Шартсыз көшу операторы
Көшу немесе шартсыз көшу операторы операторлардың рет-ретімен орналасуын бұзып, келесі атқарылуды, яғни белгісі бар операторға көшу ісін орындайдй. Ол GOTO (көшу) түйінді сөзінен басталады, одан кейін LABEL бөлімінде сипатталған белгі атауы (саны) көрсетіледі. Оның жазылу пішімі
GOTO ;
Мұндағы - LABEL бөлімінде көрсетілген белгінің біреуі.
БЕЛГІ
20-сурет. Көшу операторының синтактикалық диаграммасы
Жоғарыда көрсетілгендей программа ішіндегі белгі оператор алдына қос нүкте арқылы бөлініп жазылады. Жалпы дұрыс (құрылымдық) программалау ережесі бойынша бұл операторды қолданбауға тырысу керек. Ол программаны оқып, түсіну жұмысын қиындатады. Бұл операторды құрылымдық тәртіппен құрылған программа ішінде пайдалануға болмайды. Сондықтан оны барынша аз қолдануға тырысып, мыналарды есте сақтағаны жөн:
Оператор пайдаланылған жағдайда (онсыз программа құру мүмкіндігі жоқта ғана), оны программа мәтіні бойынша тек төмен қарай көшу үшін пайдаланған жөн; бұл операторды кері қайту үшін қолдану қажет болса, цикл операторымен алмастыруға тырысу керек;
Белгі тұрған орнын мен көшу операторының арасы мәтін бойынша бір беттен (немесе дисплей экраны биіктігінен) артпауы тиіс.
GOTO операторын қолданған кезде, оның қатарына жүйелі жақша ішіне неліктен басқа қатарға көшу қажет екендігін түсіндіріп кету керек немесе оның орнына кейінірек көрсетілетін шартты көшу операторын пайдаланған жөн.
Бос оператор
Бос оператор ешқандай да әрекеттің орындалмайтынын көрсетеді, ол программа блогынан шықпай-ақ, бірнеше жолды орындамай өткізіп жіберіп, блок соңына бірден көшетін кезде пайдаланылады. Мұндайда END сөзінің алдына белгі жазылып, соңына қоснүкте қойылады.
Label belgi;
…
Begin
…
goto belgi; {Блок соңына көшу}
…
Belgi: end; {бос оператор белгісі}
Кейде бос оператор begin, end сөздерінен немесе ешбір мәнді өзгертпейтін өрнектен тұрады.
Бос оператор ешқандай да амал орындамайды. Бос оператор қалдырылып кеткен (жоқ оператор) оператордың орнын белгілеу үшін пайдаланылады. Әдетте, бос оператор орнына нүктелі үтір «;» қойып кетуге болады.
Паскаль тілінің басқару операторлары
Паскаль тілінің басқару операторларына шарттсыз және шартты көшу операторлары, цикл (қайталау) ұйымдастыру операторлары жатады.
Шартты оператор. Тармақталған программалау
Тармақталу процестері бар алгоритмдерді ұйымдастыру үшін шартты операторлар пайдаланылады. Тармақталу белгілі бір шарттың орындалуы немесе орындалмауына тәуелді атқарылады. Кейде бір тармақ ішінде ешбір амал орындалмай да қала береді. Шарт ретінде логикалық өрнектің мәні пайдаланылады. Турбо Паскальда екі шартты оператор бар, олар IF және CASE.
I
иә
жоқ
F шартты операторы. IF (егер) шартты операторы программадағы іс-әрекеттердің табиғи орындалу реттілігін өзгертетін мүмкіндіктің ең көп тараған тәсілі болып табылады.Жазылу пішімі:
(толымды түрі)
IF
THEN 1-оператор
ELSE 2-оператор;
21-сурет. Толымды түрдегі тармақталу схемасы
(
иә
толымсыз түрі)IF
жоқ
THEN 1-оператор
IF сөзінен соң жазылатын өрнек түрінде берілген шарт алдын-ала есептеледі, оның нәтижесі логикалық типті болады. Егер ол шарттың мәні TRUE (ақиқат) болса, онда THEN (онда) сөзінен кейін жазылған 1-оператор атқарылады және ELSE сөзінен кейінгі 2-оператор атқарылмайды. Екінші жағдайды, шарт мәні FALSE (жалған) болса, яғни теріс мән қабылдаса, онда ELSE сөзінен кейінгі 2-оператор атқарылып, 1-оператор атқарылмайды. IF операторлары бірінің ішіне бірі кіріп қабаттасып та орындала береді.
Таңдау операторы
CASE таңдау операторы. CASE (таңдау) таңдау операторы көп тармақты алгоритмдерді барынша қарапайым және көрнекі түрде жазуға мүмкіндік береді. Оның құрамында селектор (selector - таңдау) деп аталатын өрнек және параметрлер тізімі болуы тиіс, әрбір параметрге сйәкес таңдау тұрақтылары болуы қажет.
Жазылу пішімі:
СASE OF
1-тұрақты: 1-оператор
-тұрақты: -оператор
...............................................
n-тұрақты: n-оператор
ELSE n+1-оператор;
END;
Таңдау командасы былайша орындалады: алдымен, селектор-өрнек мәні есептелінеді де, ол тұрақтылармен салыстырылады. Егер өрнектің мәні 1-тұрақтыға тең болса, онда 1-оператор орындалады, ал өрнектің мәні 2-тұрақтыға тең болса, онда 2-оператор орындалады, өрнектің мәні 3-тұрақтыға тең болса, онда 3-оператор орындалады, т.б. тізімдегі тек бір ғана опертор орындалады да таңдау командасы осымен аяқталады. Егер селектор-өрнектің мәні ешбір тұрақты мәніне сәйкес келмесе, онда ELSE сөзінен кейін тұрған оператор орындалады. Кейде оператор құрамында ELSE қатары болмайды, ондайда END сөзінен кейін тұрған жол орындала бастайды. Сонымен, таңдау командасында селектор-өрнектің мәні ешбір тұрақты мәніне сәйкес келмеген кезде ELSE тармағы болмаса (ол таңдау командасының қысқартылған түрі), онда таңдау командасының бірде-бір операторы орындалмайды.
Қайталау операторлары. Циклдік программалау
Көп жағдайларда аргументтердің әр түрлі мәндері бойынша алгоритмнің белгілі бір бөліктерін бірнеше рет қайталауға тура келеді. Осындай процестерді ұйымдастыру үшін циклдік құрылымы бар алгоритмдер – қайталау операторлары пайдаланылады. Олар әр түрлі заңдылықтар негізіндегі ережелер бойынша құрастырылады.
Паскаль тілінде қайталау процесін жүзеге асыратын циклдік операторлардың үш түрі бар:
Шарт алдын-ала тексерілетін цикл – WHILE;
Шарт соңынан тексерілетін цикл – REPEAT;
Параметрлі (арифметикалық) цикл – FOR.
WHILE операторы. Алдын-ала берілген шарт бойынша қайталауды жүзеге асыратын бұл оператор WHILE (әзірше) және DO (орындау) түйінді сөздерінің көмегі арқылы орындалады.
Жазылу пішімі:
WHILE DO цикл тұлғасы;
жоқ
23-сурет. WHILE қайталану командасының блок-схемасы
REPEAT операторы. REPEAT қайталану операторы WHILE операторына ұқсас, одан алғашқы айырмашылығы – қайталау шарты цикл соңында тексеріледі, сондықтан ол кем дегенде бір рет орындалатын болады. Екінші өзгешелігі – цикл тұлғасы шарт жалған болғанда, қайталанып, ол ақиқат болған кезде циклді орындау доғарылады.
Бұл оператор REPEAT (қайталау) және UNTIL (дейін, шейін) түйінді сөздері сөздерінің көмегі арқылы орындалады. Оператор repeat сөзінен тұратын оның тақырыбынан, цикл тұлғасынан және қайталау шартынан құрастырылады.
Жазылу пішімі:
REPEAT
1-оператор,
2
жоқ
-оператор, ...
n-оператор;
UNTIL ;
24-сурет. REPEAT қайталану командасының блок-схемасы
FOR операторы. Циклдегі операторларды қайталау саны алдын-ала белгілі болған жағдайда FOR операторы қолданылады. Бұл операторды параметрлі цикл операторы деп те атайды, өйткені қайталау саны функция аргументі (айнымалы) сияқты циклдің параметрлі қызметін атқаратын басқару айнымалысы арқылы беріледі. Параметр өзінің алғашқы мәнінен соңғы мәніне дейін бірлік қадаммен өзгеру барысында циклге кіретін бір немесе бірнеше операторды қайталап орындау ісін атқарады.
FOR операторы FOR (үшін), TO немесе DOWNTO (дейін) және DO (орындау) түйінді сөздері арқылы жазылады.
Жазылу пішімі екі түрде болады:
(1-түрі)
FOR айнымалы:= TO A2 DO оператор;
(2-түрі)
FOR айнымалы:= DOWNTO A2 DO оператор;
Мұндағы, S1 және S2 – цикл параметрінің алғашқы және соңғы мәндерін анықтайтын өрнектер; for … do – цикл тақырыбын анықтайтын түйінді сөздер, оператор – цикл тұлғасы.
Паскаль тілінде цикл параметрі міндетті түрде бүтін немесе реттелген типтегі айнымалы болуы қажет. Параметрдің өзгеру қадамына байланысты операторда TO немесе DOWNTO (DOWN – төмен, TO – дейін, DOWNTO – кері қарай) түйінді сөздері пайдаланылады. Егер қадам +1-ге тең болса, онда операторды TO, ал қадам -1-ге тең болса, онда DOWNTO сөзі қолданылады.
Параметрдің бастапқы және соңғы мәндері бүтін сандар түрінде немесе өсуі, кемуі бойынша реттелетін типте болуы тиіс, әтпесе оларды бүтін мән беретін арифметикалық өрнектер түрінде жазуға да болады.
25-сурет. FOR қайталану командасының блок-схемасы
Цикл тұлғасы (блок-схемадағы ) жай немесе құрама операторлар болуы мүмкін. FOR операторының жұмысы цикл параметрінің алғашқы мәнінен соңғы мәніне дейінгі аралықты бірлік қадаммен қайталап өтпей тоқталмайды.
Цикл тақырыбы:
басқару айнымалысының (цикл параметрі) өзгері аумағын және цикл ішіндегі операторлардың қайталану санын;
цикл параметрінің өзгеру бағытын (өсуі – to, кемуі – downto) анықтайды.
FOR операторы алғашқы рет орындаларда, S1 және S2 өрнектері есептеледі де, цикл параметріне S1 меншіктеледі, яғни :=S1 операторы жүзеге асырылады. Мұнан кейін цикл ішінде мыналар орындалады:
S2 шарты тексеріледі (S1S2 болғанда) немесе
егер шарт жалған болса, онда FOR циклі ішіндегі операторлар орындалады. Ал, егер де шарт орындалса, яғни шарт ақиқат болса, онда цикл тұлғасы орындалмай, FOR операторынан кейінгі тұрған жол атқарыла бастайды.
басқару айнымалысының мәні 1-ге өседі (to) немесе 1-ге кемиді (downto) де, әрі қарай FOR операторы қайталанып орындала береді.
цикл орындалуы барысында оның параметрінің мәнін өзгертуге болмайды (мысалы, меншіктеу операторы көмегімен);
егер цикл көшу операторы көмегімен айқын түрде доғарылмаса, цикл аяқталған соң, басқару параметрінің мәні анықталмаған болып саналады.
Бақылау сұрақтары
Операторлар дегеніміз не?
Қарапайым операторларға сипаттама бер.
Тармақталған программа құрылымына сипаттама бер.
Шартты оператор құрылымына сипаттама бер.
Таңдау оператор құрылымына сипаттама бер.
Циклдік программа дегеніміз не?
Шарт алдын ала тексерілетін циклдік программаның жазылу пішімін сипаттаңыз.
Шарт соңынан тексерілетін циклдік программаның жазылу пішімін сипаттаңыз.
Параметрлі циклдік программаның жазылу пішімін сипаттаңыз. Циклдік программаның блок-схемасын құр.
Циклдік программа құрылымын сипатта.
Сабақ жоспары
Лекция 1
Пән: «Информатика» | Мерзімі: “___” 20 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Тақырыбы: | Информатика кіріспе. Информатика пәні. Ақпарат, оның көрсетілім түрлері. Ақпаратты кодтау. | |||||||||||||||||||||||||||||||||||||||||||||
Мақсаты: |
| |||||||||||||||||||||||||||||||||||||||||||||
Білімділік | Информатика терминінің мағынасын ашып көрсете отырып, информатиканың ғылыми пән ретіндегі қызметімен, оның басқа пәндермен байланысымен, қолданылу аясымен, қамтитын бөлімдерімен, негізгі бағыттарымен таныстыру | |||||||||||||||||||||||||||||||||||||||||||||
Дамытушылық | Мамандықтарына байланысты танымдық білімдерін арттыра отырып, компьютерлік технологиямен жұмыс жасау жолдарымен таныстықтарын нығайту | |||||||||||||||||||||||||||||||||||||||||||||
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, ұқыптылыққа, жауапкершілікке, өз ойларын еркін білдіруге бейімдеу | |||||||||||||||||||||||||||||||||||||||||||||
Типі: | лекция (түсіндірмелі, көрнектілікті) | |||||||||||||||||||||||||||||||||||||||||||||
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |||||||||||||||||||||||||||||||||||||||||||||
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |||||||||||||||||||||||||||||||||||||||||||||
Оқыту түрі: | жеке, топтық | |||||||||||||||||||||||||||||||||||||||||||||
Көрнекіліктер: | 5.1 – “Информатиканың негізгі бағыттары”; оқу құралдары ТҚЖ: дербес компьютер | |||||||||||||||||||||||||||||||||||||||||||||
САБАҚТЫҢ БАРЫСЫ | ||||||||||||||||||||||||||||||||||||||||||||||
1. Ұйымдастыру кезеңі (2 минут) Дәрісхананың тазалығын тексеру, түгелдеу. | ||||||||||||||||||||||||||||||||||||||||||||||
2. Өткен материалды қайталау (20 минут) | ||||||||||||||||||||||||||||||||||||||||||||||
Студенттерге қойылатын сұрақтар:
| ||||||||||||||||||||||||||||||||||||||||||||||
3. Жаңа сабақты түсіндіру (35 минут) ХХ ғасырдағы ғылым мен өндірістің жеделдете өркендеп дамуына байланысты адамдардың қажетті ақпаратты тез қабылдауға мүмкіндіктері ашылды. Осыдан ақпаратты құрамдарға бөлу, оларды сақтау, өңдеу, қажет сәтінде шапшаң іздеп таба білу және өзгерістер енгізу заңдылықтарын зерттеу қажеттілігі туындайды. Бұл мәселелерді зерттеу мақсатында, кейінгі өмір талабына және бүкіл қоғамды ақпараттандыруға бағытталған есептеуіш техниканың дамуына байланысты ақпаратпен жұмыс істеу жөніндегі ғылымдар кешені – информатика пайда болды. Бұрын бұл ғылым техника саласының кибернетика деп аталатын бөлігі ретінде қарастырылып келген болатын. “Информатика” терминімен ақпаратты, табиғаттағы, қоғамдағы, техникадағы ақпараттық процестерді танымдық әдіс ретінде формальдау және модельдеу, техникалық құралдар көмегімен көрсетілім, жинақтау, өңдеу және беру тәсілдерін және тағы басқа да көптеген мәселелерді оқытатын ғылыми бағыттардың жиынтығын белгілейді. "Информатика" (француз тілінде informatique) термині француздың information (ақпарат) және automatique (автоматика) деген сөздерінен шыққан, сөзбе-сөз аударсақ "ақпараттық автоматика" деген мағынаны береді. Бұл терминнің ағылшын тіліндегі нұсқасы – "Сomputer science" кең таралған, ол "компьютерлік ғылым" дегенді білдіреді. Кей кезде ақпараттық технологияны компьютерлік технология немесе қолданбалы информатика деп те атайды. “Компьютер” сөзі қазақ тілінде “есептеуші (орындаушы), есептеуіш” деген мағынаны білдіретін ағылшынның “computer” деген сөзінен шыққан. Компьютер сөзінің синонимі – Электронды Есептеуіш Машина, немесе қысқаша түрде, ЭЕМ. Информатиканың пәндік саласы екі бөлімнен тұрады: ғылымдық (теориялық) және қолданбалы (технологиялық). Информатиканы оқыту барысында олардың арасына дұрыс байланыс орнату маңызды. Информатика – ақпаратты алудың, сақтаудың, жаңартудың, тарату мен пайдаланудың барлық аспектілерін зерттейтін ғылым.
1978 жылы халықаралық ғылыми конгресте "информатика" түсінігіне компьютерлер мен олардың программалық қамсыздандырылуын қоса алғанда, ақпаратты талдаумен, құрумен, қолданумен және өңдеу жүйесіне материалдық-техникалық қызмет көрсетумен, сонымен қатар компьютерлендірудің – ел өмірінің барлық саласында компьютерлік техниканы жаппай енгізудің ұйымдастырушылық, коммерциялық, әкімшілік және саяси-әлеуметтік аспектілеріне байланысты аумақты арнайы бекітті. Информатиканың қазіргі құрылымын төменде берілген схема бейнелейді. Бұл схема Н.Назарбаевтың “Қазақстан-2030” атты стратегиялық-бағдарламасына негізделіп жасалынған. Кесте-1. Информатиканың қазіргі құрылымы
Информатика – бірнеше тұғырлы және қолданбалы пәндермен байланысты:
Инфоpматика – қолданылу аясы кең ғылыми пән. Оның қолданылу аясындағы негізгі бағыттары мынадай:
- ақпаратты қабылдаумен, тасымалдаумен, түрлендіру және сақтаумен байланысты процестерді үйрететін ақпарат теориясы; - математикалық модельдеу, есептеуіш және қолданбалы математика әдістері және олардың білімнің әр түрлі аумағында тұғырлы және қолданбалы зерттеулерге қолдану; - жобаланған жүйені және тағайындалған талаптарды талдауда қорытындыланатын жүйелік талдау; - жасанды интеллект әдістері, адамның интеллектуалдық қызметінде логикалық және аналитикалық ойлаудың модельдеуші әдістері (логикалық қорытынды, білім алу, сөз ұғыну, визуальды қабылдау, ойындар және т.б.); - биологиялық жүйелерде ақпараттық процестерді оқытатын биоинформатика; - қоғамды ақпараттандыру процестерін үйрететін әлеуметтік информатика; - машиналық графика әдістері, анимациялар, мультимедиа құралдары;
Информатика әдетте екі бөлімнен тұрады:
Техникалық құралдар, немесе компьютер аппаратурасы, ағылшын тілінен сөзбе-сөз аударғанда "қатты зат" деген мағынаны білдіретін Hardware сөзімен белгіленеді. Программалық құралдарды белгілеу үшін программалық қамсыздандырудың және машинаның өзінің теңмағыналылығын, сонымен қатар, программалық қамсыздандырудың мүмкіндіктерін атап көрсететін, компьютерлерде қолданылатын барлық программалардың жиынтығы, оларды құру және қолдану қызметінің аумағы түрінде түсіндірілетін Software (сөзбе-сөз аудармасы – "жұмсақ зат") сөзі қолданылады. Информатиканың жалпы қабылданған осы бөлімінен басқа тағы да бір бөлімі бар, ол – алгоритмдік құралдар. Есепті программалау оның әрқашан берілген мәліметтерден ізделінді нәтижеге жеткізетін амалдардың тізбегі түрінде шешу тәсілін құру, басқаша айтқанда, есеп шешімінің алгоритмін құру болып табылады. Информатиканың алгоритмдерді құрумен және оларды құрастырудың әдістері мен тәсілдерін үйретумен байланысты бұл бөлімін белгілеу үшін ресейлік академик А.А.Дородницын Brainware (ағылшынша brain – интеллект) терминін ұсынды. Информатика әрекеттердің негізгі сегіз бағытын қамтитын ғылыми-техникалық пәндердің кешенінен тұрады. Информатиканың бағыттары. Информатиканың негізгі міндеттері:
"Ақпарат" термині “мәлімет, түсіндіру, баяндау, білу” мағынасын білдіретін латынның "informatio" сөзінен шыққан. Ақпарат – бұл бір сөйлеммен жеткізілуі қиын, барынша жалпы және терең ұғым. Бұл ұғымға табиғаттағы, техникадағы, ғылымдағы, қоршаған ортадағы және қоғамдағы әр түрлі мағына сияды. Мысалы, қандай да бір оқиға, қайсыбір жағдай туралы "ақпараттандыру" түсінігі "бұрын белгісіз болған жайт туралы мәлімдеу", “жаңадан мағлұмат беру” дегенді білдіреді.
Адамдар байырғы заманнан бастап бір-бірімен ақпарат алмаса бастады. Алғашқыда қимыл-әрекет, мимика арқылы, ал кейіннен ауызекі тіл көмегімен өзара мәлімет алмасты. Жазу шыққаннан кейін адамдар ақпаратты бір-біріне жазба түрінде, мысалы, хаттар, кітаптар, газет-журналдар арқылы жеткізіп отырды. Қоғам дамыған сайын ақпаратты тасымалдау құралдары да дами бастады, мысалы, олар: радио, телефон, телеграф, теледидар және т.б. Ақпараттар әр түрлі түрде берілуі мүмкін:
Ақпарат символдық (таңбалық) түрде сақталады, беріледі және өңделінеді. Бір ақпараттың өзі әр түрлі таңбалық жүйелер көмегімен бірнеше түрде берілуі мүмкін. Тіл – бұл ақпарат көрсетілімінің анықталған таңбалық жүйесі. Ақпараттың берілуін табиғи (сөйлесу) тілдер және жасанды тілдер арқылы жүзеге асыруға болады. Табиғи тілге адамзаттың бір-бірімен қатынас құралы ретінде пайдалатын сөйлесу тілдері кіреді. Кейбір жағдайларда бұл сөздік қатынастарды мимика және қимыл-әрекеттер тілі, арнайы таңбалар тілі (жол жүру таңбалары) алмастыруы мүмкін. Жасанды тілдерге мысал болатындар: музыка тілі (ноталық сауаттылық), математика тілі (цифрлар мен символдар, математикалық таңбалар) және тағы басқалар. Ақпараттық қасиеттер тұрғысынан қарастырылатын материалдық немесе материалдық емес құбылыстардың қасиеттері, процестер, пәндер ақпараттық объектілер деп аталады. ЭЕМ-да ақпараттың негізгі түрлері: Символдық ақпарат символдардың, белгілердің көмегімен беріледі. Мысалы: сандық, әріптік немесе жай таңбалар, түстер. Мұндай өрнектеу ақпарат туралы толық мәлімет бермейді, олар тек қарапайым сигналдар арқылы басқарылады. Мысалы, оған бағдаршам түстері арқылы жол ережесін реттеуді, тек бір ғана таңбаның не әріптің көмегімен “рұқсат етілген” немесе “рұқсат етілмеген” деген түсінік беретін әр түрлі шартты белгілерді жатқызуға болады. Мәтіндік ақпарат деп ақпаратты әріптер, сандар, символдар, математикалық таңбалар тізбегі арқылы бейнелеуді айтады. Олар бейнеленетін тізбек түрлеріне қарай әр түрлі мәліметтер береді. Бұған кітаптар, оқулықтар, газет-журналдар, формулалар мысал бола алады. Графиктік ақпарат – кескін-сызбалар түрінде берілетін мәлімет. Оған мысал ретінде сурет, сызба, график, диаграмма тәрізді бейнелеу жолымен берілетін деректерді алуға болады. Дыбыстық ақпарат дыбыстар, әсерлер, әуендер арқылы беріледі. Бұған мысал ретінде дыбыстық ақпараттар жазылған аудиотаспаларды, аудиокассеталар мен аудиодискілерді жатқызуға болады. Бейнелік ақпарат – мәліметті көлемді де, күрделі мағыналы өрнектеудің түрі. Оған бейнелер, қозғалмалы бейнелер (анимациялар) арқылы берілен мәліметтер, яғни жарнамалар, бейнекадрлар, клиптер мысал бола алады. Ақпаратты өңдеу дегеніміз – бір ақпараттық объектілерді екіншісінен қайсыбір алгоритмдерді орындау жолымен алу. Ақпараттың көлемі үлкейтіп немесе түрлендіріп орындайтын негізгі амалдардың бірі – өңдеу болып табылады. Ақпаратты өңдеу құралы – адам құрастырған барлық мүмкін болатын құрылғылар мен жүйелер, соның ішінде, ең алдымен, компьютер – ақпаратты өңдеуге арналған әмбебап машина. Компьютерлер ақпаратты қайсыбір алгоритмдерді орындау жолымен өңдейді. Тірі ағзалар мен өсімдіктер ақпараттарды өздерінің мүшелері мен жүйелерінің көмегімен өңдейді. Ақпараттық ресурстар дегеніміз – бұл адамдардың жүзеге асыруға мүмкіндік беретін пішімде жинақталған идеясы мен ол идеяларды жүзеге асыру бойынша нұсқаулары. Бұлар, кітаптар, мақалалар, патенттер, диссертациялар, ғылыми-зерттеушілік және тәжірибе-құрастырушылық құжаттамалар, техникалық аудармалар, озық өндірістік тәжірибе және тағы басқалар. Ақпараттық ресурстар (оның басқа еңбек, энергетикалық, минералдық және тағы басқа да ресурс түрлерінен айырмашылығы) мейлінше өскен сайын, олар көбірек жұмсалады. Ақпараттық технологиялар дегеніміз – ақпараттарды өңдеу үшін адамдар қолданатын әдістер мен құрылғылар жиынтығы. Адамзат ақпаратты өңдеумен мыңдаған жылдар бойы айналысып келеді. Алғашқы ақпараттық технологиялар есептеулер мен жазбалар қолдануға негізделген. Шамамен елу жылдай бұрын бұл технолгиялар күрт тез дами бастады, ол алғашқы кезекте компьютерлердің пайда болуымен байланысты болды. Қазіргі кезде ақпараттық технологиялар термині ақпаратты өңдеу үшін компьютерлерді пайдаланумен байланысты қолданылады. Ақпараттық технологиялар барлық есептеуіш техниканы және байланыс техникасын, тұрмыстық электрониканы, теледидарды және радиохабарламаны қамтиды. Олар өндірісте, саудада, басқаруда, банктік жүйеде, білім беруде, денсаулық сақтауда, медицина мен ғылымда, транспорт пен байланыста, ауылшаруашылығында, әлеуметтік қамсыздандыру жүйесінде қолданыс табады. Ақпаратты кодтау дегеніміз – ақпараттың айқындалған көрсетілімін құру процесі. “Кодтау” термині ретінде біз әдетте, ақпарат көрсетілімінің бір түрінен сақтауға, тасымалдауға немесе өңдеуге тиімді екінші түріне ауысу деп түсінеміз. Кодтауға кері түрлендіру декодтау деп аталады. Кодтау тәсілі жазбаның қысқартылуы, ақпараттың құпиялануы (шифрлау), өңдеу тиімділігі және т.б. мақсаттарды көздейді. Әдетте, нақты бір тілде (орыс, ағылшын, қазақ және т.б.) жазылған ақпараттар кодталады. Мәтінді кодтау тәсілінің үш тәсілі бар:
Мәтінді кодтауға қолданылатын символдардың толық жиынтығы алфавит немесе әліппе деп аталынады. ЭЕМ-да ақпаратты кодтау үшін машина тіліне түсінікті арнайы кодтау кестесі беріледі. Ол кесте біздің тілімізге ұғынықты ақпаратты машина тіліне аударып береді, сол арқылы адам мен машина арасында байланыс қалыптасады. Ақпаратты қанша сигнал көмегімен кодтау бүгінгі күн талабына сәйкес келеді? Соған тоқталып өтейік. Бір сигнал арқылы небары екі таңбаны немесе әріпті (21=2) белгілей аламыз. Егер біздің тіліміз екі дыбыстан ғана құралса, онда бұл белгілеу тәсілі бізге жеткілікті болар еді. Бірақ та бізде әріптер әлдеқайда көп, сондықтан түсінігімізді одан әрі жалғастырайық. Енді екі сигнал тізбегі алар болсақ, ол арқылы төрт таңбаны (22=4) белгілей аламыз, ал үш сигнал тізбегімен сегіз таңбаны (23=8) белгілеуге мүмкіндігіміз бар. Бұл біздің тілімізде қолданылатын кодтар санын молайта түсуге көмегін тигізеді, бірақ сонда да жеткіліксіз. Төрт сигнал арқылы он алты таңбаны (24=16), бес сигнал арқылы отыз екі таңбаны (25=32), алты сигнал арқылы 64 символды (26=64) таңбалай аламыз. Алайды, бұл белгілеу біз қолданып жүрген әріптер мен таңбаларды белгілеуге әлі де жеткіліксіз екені көрініп тұр. Алғашқы компьютерлердің көбінде КОИ-7 жетібиттік код (орыс тілінен қысқартылған КОИ – код обмена информацией сөзі “ақпарат алмасу коды” деген мағынаны білдіреді) пайдаланылды. Ол 128 символды (27=128) кодтауға мүмкіндік берген. Бірақ техниканың дамуына қарай бұл код қолайсыз болғандықтан, сегізбитті жаңа код жасалынып, оның негізіне ақпарат алмасудың американдық стандартты коды (ASCIІ – American Standard Code for Information Interchange) алынды. Біз осы кодтау тәсілі арқылы 256 (28=256) латын, қазақ, орыс алфавитінің бас және кіші әріптерін, цифрларды, арнаулы символдар мен таңбаларды пайдаланып жүрміз. Әрине, компьютерлік желілермен тығыз байланысқан қазіргі әлем кеңістігінде сегізбитті кодтау тәсілі де жеткіліксіз болып табылады. Өйткені, араб әріптері, екі түрлі жапон, үнді алфавиттері және тағы басқа да алфавиттер мен символдар тобы бар емес пе? Сондықтан кейінгі кезде әрбір символды екі байтпен (оналтыбитті) кодтаудың жаңа стандарты – UNICODE енгізілген болатын. Біз ЭЕМ-да ақпаратты кодтаудың ASCIІ кодын пайдаланатын боламыз. ASCIІ кодының стандартты және альтернативті бөліктері қосымшадағы кестелерде (1 және 2-кесте) келтірілген.
| ||||||||||||||||||||||||||||||||||||||||||||||
4. Бекіту (10 минут) 4.1. Информатика термині нені білдіреді және қайдан шыққан? 4.2. Информатика қандай салаларға болінеді? 4.3. Информатика қандай пән? 4.4. Информатика қандай пәндермен байланысты? 4.5. Информатика қандай бөлімдерден тұрады? 4.6. Информатиканың бағыттарын ата. 4.7. Информатиканың негізгі міндеттері қандай? 4.8. Ақпаратты кодтау дегеніміз не? 4.9. Ақпараттық технологиялар дегеніміз не? 4.10. Ақпараттық ресурстар дегеніміз не?
| ||||||||||||||||||||||||||||||||||||||||||||||
5. Қорытындылау (5 минут) | ||||||||||||||||||||||||||||||||||||||||||||||
Жауап берген, сабаққа жақсы қатысқан студенттерді бағалау | ||||||||||||||||||||||||||||||||||||||||||||||
Баяндамалар «Информатика және ақпараттық қоғам», «Ақпарат және оның көрсетілім түрлері» |
Оқытушы ____________Боранбаева Г.Ү.
Сабақ жоспары
Лекция 2
Пән: «Информатика» | Мерзімі: “___” 20 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Тақырыбы: | ЭЕМ-да ақпарат көрсетілімі. Ақпарат мөлшері. | |
Мақсаты: |
| |
Білімділік | Ақпарат, ақпараттық процестер, әлемнің ақпараттық бейнесін туралы білімді тереңдету, ақпараттық процестердің орындалу тізбегімен, ақпараттың қасиеттерімен, ақпараттық ресурстар мен ақпараттық технология ұғымдарымен, ЭЕМ-дағы негізгі ақпарат түрлерімен, оларға мысалдар келтіре отырып, таныстыру | |
Дамытушылық | Қоршаған ортадағы және ЭЕМ-дағы ақпарат жайлы танымдық білімдерін арттыра отырып, ақпараттық технологиямен жұмыс жасау дағдыларын қалыптастыру | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, ізденімпаздыққа, өз ойларын еркін білдіруге бейімдеу | |
Типі: | сабақ (түсіндіру, әңгімелесу) | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | 5.2 – “Ақпараттық процестердің тізбегі”; Оқу құралдары; ТҚЖ: дербес компьютер | |
САБАҚТЫҢ БАРЫСЫ | ||
1. Ұйымдастыру кезеңі (2 минут) Дәрісхананың тазалығын тексеру, түгелдеу. | ||
2. Өткен материалды қайталау (20 минут) | ||
Студенттерге қойылатын сұрақтар:
| ||
3. Жаңа сабақты түсіндіру (35 минут) Жалпы жинауға, сақтауға, тасымалдауға болатын мәліметтер тобы ақпарат болып табылады. Ақпараттың массасы, геометриялық өлшемі болмайды. Дегенмен, ақпаратты беретін, қабылдайтын, сақтайтын объектілер болады. Ақпараттың саны мен сапасын өлшеуге болады. Бұл алынған мәліметтерді салыстыру және бағалау үшін өте қажет. Ақпаратты өлшеу үшін оны салыстыруға болатындай етіп, белгілі бір жүйеге айналдыра білу керек. Символдық, мәтіндік, графиктік жолмен өрнектелген ақпаратты бір-ақ өлшеммен салыстыруға болады. Бұл – ақпаратты өрнектеудің екілік санау жүйесі. Ол үшін екілік санау жүйесіндегі сандар, яғни екілік сандар түсінігін білу талап етіледі. Кез келген санды шектелген таңбалар санымен өрнектеуге болады. Компьютерде барлық ақпараттар сандар, әріптер, арнайы белгілер т.б. сияқты таңбалардан тұрады да, әрбір таңба компьютер жадында екілік жүйеде жазылады. Ақпараттың ең кіші өлшем бірлігі ретінде бір битті қабылдау ұсынылған. (ағылшынша bit — binary, digit — екілік цифр).
Қазіргі кезде “ақпарат мөлшері” ұғымын анықтаудың мәліметтегі ақпараттың мағынасы тұрғысынан алғанда жаңалық болып келетіне қатаң қарамауға, немесе керісінше, сол объект жайлы өз біліміздің анықталмағандығын азайтуға негізделген бағыттар таралған. Төменде сол тектес екі бағыт беріледі. Онда математикалық ықтималдық пен логарифм түсініктері қолданылады. Мазмұндық бағыты. Теңықтималдықты мазмұндық бағыт. Американдық инженер Р.Хартли 1928 жылы ақпаратты алу процесі кезінде шектеулі алдын-ала берілген N теңықтималды мәліметтердің жиынынан бір мәліметті таңдап, таңдалған мәліметтегі І ақпараттың санын N екілік логарифмі түрінде анықтады. Мәліметте берілген ақпарат мөлшері сол мәліметті алатын адамға берілетін білім көлемімен анықталады. Егер мәлімет адамға берілетін тосын әрі түсінікті ақпараттан тұрса, онда ол адамның білімін толықтыра түседі. Ақпараттың мазмұнына байланысты оның сапасын анықтауға болады: құнды(пайдалы), маңызды, зиянды ... . Бір ақпараттың өзін әр түрлі адамдар әрқалай бағалауы мүмкін. Ақпараттың санын өлшеу бірлігі – бит. Адамның білімінің анықталмағандығын 2 есе азайтатын мәлімет оған 1 бит ақпарат әкеледі. Қандай да бір мәлімет N теңықтималдылықты (теңықтималдылық ешқандай да оқиға басқаларына қатысы жоқ екенін білдіреді) оқиғаның бірі өткендігін білдірсін. Осы келтірілген мәліметте қорытындыланатын ақпарат мөлшері – І бит және N саны мына формуламен байланысты: 2 і = N Бұл формула х айнымалысына байланысты көрсеткіштік теңдеу болып табылады. Осы теңдеудің шешімі мынадай түрде болатыны математикадан белгілі. Хартли формуласы: І = log 2 N, бұл – N санының негізі 2 болатын логарифмі. Егер N екі санының бүтін дәрежесіне (2, 4, 8, 16 және т.б.) тең болса, онда бұл теңдеуді ойша шығаруға болады. Кері жағдайда, ақпарат мөлшері бүтін емес шамаға тең болады және есептің шешімі үшін логарифм кестесін қолдануға тура келеді (логарифм кестесі 1 қосымшада келтірілген). Ықтималдықтары әр түрлі мазмұндық бағыт. Мәліметтегі ақпараттың ықтималдылығы тең болмауы мүмкін жағдайларды ескере отырып, 1948 жылы американдық ғалым Клод Шенон ақпаратты анықтаудың басқа формуласын ұсынды. Шеннон формуласы: І=-(p1log2p1+ p2log2p2+… pNlog2pN), мұндағы pі – N мәліметтер жиынынан і-ші мәлімет бөліп алу ықтималдығы. Егер p1,... pN ықтималдықтар тең болса, онда олардың әрқайсысы 1/N-ге тең болады және Шеннон формуласы Хартли формуласына айналады. 1 мысал. Монета лақтыруда жеребе (мысалы, бүркіт) тастау жөніндегі мәлімет 1 бит ақпаратты береді, себебі мұндағы нәтиженің мүмкін болатын нұсқалар саны 2-ге тең (бүркіт және решка). Бұл нұсқалардың екеуі де теңықтималды бола ма? Жауабы: есеп шешімінен алынуы мүмкін: 2х=2, бұдан шығатыны: х=1 бит. Қорытынды: кез келген жағдайда екі теңықтималды оқиғаның бірі жайлы мәлімет 1 бит ақпарат береді. 2 мысал. Лотерея ойнатуға арналған барабанда 32 шар орналасқан. Бірінші нөмерлі түскен шар жөніндегі мәлімет қанша ақпарат береді (мысалы 15 нөмер түссін)? Жауабы: кез келген 32 шардың түсуі теңықтималды болғандықтан, түскен бір нөмер туралы ақпарат мөлшері мына теңдеумен табылады: 2х=32. Бұдан шығатыны 32=25, демек х=5 бит. Есептің жауабы нешінші нөмер түскеніне тәуелді емес. 3 мысал. Сүйек лақтыру ойынына алтыжақты кубик қолданылады. Кубикті әрбір лақтырғанда ойыншы қанша бит ақпарат алады? Жауабы: кубиктің әрбір жағының түсуі теңықтималды, сондықтан кубикті лақтырудың бір нәтижесінен алынатын ақпарат мына теңдеумен есептелінеді: 2х=6. Бұл теңдеудің шешімі: x = log 2 6. Қосымшада келтірілген 1-кестеден x = 2,585 (үтірден кейін 3 таңбалы дәлдікпен) болатынын көреміз. Ақпаратты анықтаудың бұл қарастырылған бағыттарынан басқа да бағыттар бар. Алфавиттік бағыты. Ақпаратты өлшеудің алфавиттік бағыты мәтінде келтірілген ақпарат мөлшерін анықтауға мүмкіндік береді. Алфавиттік бағыт объективті болып табылады, яғни ол қабылдаушы субъектіден (адамнан) тәуелсіз. Мәтінді жазуға қолданылатын символдар жиынтығы алфавит деп аталады. Алфавиттегі символдардың толық саны алфавиттің қуатты (өлшемі) делінеді. Егер мәтінде кездесетін алфавиттің барлық символдардың бірдей жиілікті (теңықтималдылықты) деп есептесек, онда әрбір символмен берілетін ақпарат мөлшері мынадай формула бойынша есептелінеді: і = log 2 N, мұндағы N – алфавиттің қуаты. Сонымен, 2-лік символдық ақпаратта әрбір символ 1 бит болады (log 2 2=1); 4-тік символдық ақпаратта әрбір символ 2 бит ақпарат болады (log 2 4=2); 8-дік символдық – 3 бит (log 2 8=3) және тағы басқа. Қуаты 256 (28) алфавиттегі әрбір символ мәтінде 8 бит ақпарат болады. Ақпараттың мұндай саны байт деп аталады. 256 символдан тұратын алфавит компьютерде мәтінді беру үшін қолдалынады. 1 байт = 8 бит Егер барлық мәтін К символдан тұратын болса, онда мәтіндегі ақпараттың алфавиттік өлшемі мынаған тең: І=K * і, мүндағы, і – алфавитте қолданылатын бір символдың ақпараттың салмағы. Бит — ақпараттың ең кіші өлшем бірлігі. Тәжірибе жүзінде көбіне-көп одан үлкен, яғни сегіз битке тең өлшем бірлік — байт қолданылады. Компьютер алфавитінің кез келген 256 символын (256=28) кодтау үшін сегіз бит қажет. Ақпараттың бит пен байттан басқа үлкен өлшем бірліктері де бар, олар::
Соңғы кезде өңделінетін ақпараттың көбеюіне байланысты қолданысқа ақпараттық мынадай өлшем бірліктері енген:
4 мысал. Компьютер көмегімен терілген кітап 150 беттен сұрады, әрбір бетте – 40 жол, әрбір жолда – 60 символ бар. Кітаптағы ақпараттың көлемі қандай? Жауабы: компьютерлік алфавиттің қуаты 256 тең. Бір символ 1 байт ақпарат береді. Демек, әрбір бет 40*60=2400 байт ақпараттан тұрады. Кітаптағы барлық ақпарат көлемі (әр түрлі бірлікте) мынадай болады: 2400*150=360 000 байт = 351,5625 Кбайт = 0,34332275 Мбайт.
| ||
4. Бекіту (10 минут) 4.1 Ақпараттың өлшем бірліктері 4.2. Бит дегеніміз не? 4.3. Байт қанша биттен тұрады? 4.4. 1 киллобайтта қанша байт бар? 4.5. Өлшемдерін қатарымен айтып бер
| ||
| ||
Жауап берген, сабаққа белсенді қатысқан студенттерді бағалау | ||
Осы тақырыпқа байланысты конспекті жазу. |
Оқытушы ____________Боранбаева Г.Ү.
Сабақ жоспары
Лекция 3
Пән: «Информатика» | Мерзімі: “___” 20 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Тақырыбы: | Санау жүйесі. Санау жүйесінің түрлері | ||||||||||||||||||
Мақсаты: |
| ||||||||||||||||||
Білімділік | Санау жүйесі ұғымымен, санау жүйесінің түрлерімен таныстыру, санау жүйесінің алфавиттерімен және негізгі элементтерімен таныстыру | ||||||||||||||||||
Дамытушылық | Компьютердің арифметикалық негіздері туралы білімді терең меңгерту | ||||||||||||||||||
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, жинақтылыққа, логикалық ой танымдарын нығайтуға тәрбиелеу | ||||||||||||||||||
Типі: | сабақ | ||||||||||||||||||
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | ||||||||||||||||||
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | ||||||||||||||||||
Оқыту түрі: | жеке, топтық | ||||||||||||||||||
Көрнекіліктер: | 5.4 – “Санау жүйесінің кестесі”; Үлестірмелер 1.4; оқу құралдары; ТҚЖ: дербес компьютер | ||||||||||||||||||
САБАҚТЫҢ БАРЫСЫ | |||||||||||||||||||
1. Ұйымдастыру кезеңі (2 минут) Аудиторияның тазалығын тексеру, түгелдеу. | |||||||||||||||||||
2. Өткен материалды қайталау (20 минут) Сұрақтар:
Студенттерге үлестірмелер тарату | |||||||||||||||||||
3. Жаңа сабақты түсіндіру (35 минут) Сан түсінігі – математикадағы сияқты информатикада да басты негіз. Бірақ егер математикада сандарды өңдеу әдістеріне көп көңіл бөлінетін болса, онда информатика үшін сандарды ұсыну әдісін айналып өтуге болмайды, өйткені тек солар ғана жадтың қажетті қорын жылдамдықты және есептеуде жіберетін қатені анықтайды.Сандарды цифр деп атайтын арнайы символдардың көмегімен бейнелеу қабылданған. Сандардың аталу және жазылу ережелері мен әдістерінің жиынтығы санау жүйесі деп аталады. Санау жүйесі екі топқа бөлінеді:
Позициялық емес санау жүйесінде арифметикалық әрекеттерді орындау біраз қиын болғандықтан, бүкіл дүние жүзі біртіндеп позициялық санау жүйесіне ауысты. Позициялық емес санау жүйесінде әрбір цифрдың мәні оның алатын орнына байланысты емес. Мұндай санау жүйесінің мысал ретінде римдік жүйені алуға болады. Римдік жүйеде цифр ретінде латын әріптері қолданылады: І V X L C D M 1 5 10 50 100 500 1000 Осы жүйеде жазылған ХХХ санында Х цифры кез келген позицияда 10-ды білдіреді. Позициялық санау жүйесінде цифрдың мәні оның орнына (позициясына) байланысты болды. Позициялық санау жүйесінің негізі деп қолданылатын цифрлар санын айтады. Қазіргі математикада қолданылатын санау жүйесі позициялық ондық жүйе болып табылды. Оның негізі онға тең, ал жазылуы он цифрдың кез келгенін қолдану арқылы жүзеге асады: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Бұл жүйенің позицилық сипатын кез келген көп таңбалы санның мысалынан оңай түсінуге болады. Мысалы, 333 санында бірінші үтік үш жүздікті, екіншісі – үш ондықты, үшіншісі – үш бірлікті білдіреді. n негізді позициялық жүйеде сандарды жазу үшін n цифрдан тұратын алфавит болуы қажет. Әдетте, бұл үшін nn араб цифрлары қолданылады, ал n10 болғанда он араб цифрына әріптер қосылады. Бірнеше позициялық санау жүйесіне мысалдар келтірейік. 1-кесте Кейбір санау жүйесінің алфавиттері
Егер сан жазылатын санау жүйесінің негізін көрсету талап етілсе, онда ол сол санның төменгі индексі болып жазылады. Мысалы: 10111012, 25768, 4528, 3В8F16 Ондық санау жүйесі – біз осы күнге дейін қолданып дағдалынған санау жүйесі. “Ондық” аты ол жүйенің төркінінде он негізі жатқандығымен түсіндіріледі. Бұл жүйеде сандарды жазу үшін он цифр қолданылады, олар: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Ондық санау жүйесі позициялық санау жүйесі болып табылады, өйткені ондық санды жазуда цифрдың мәні оның позициясына немесе санда орналасқан орнына байланысты. Санның цифрына бөлінетін позицияны разряд деп атайды. Мысалы: 524, онда сан 5 жүздіктен, 2 ондықтан және 4 бірліктен тұрады. Мұнда 5 цифры салмақтырақ болғандықтан, ол санның үлкен цифры деп аталады, ал 4 цифры төмен салмақты болады да, осы санның кішкентай цифры деп аталады. Егер 524 санын қосынды түрінде жазатын болсақ, 5*102+2*101+4*100 жазбасы сол санның негізге байланысты құрылатынын көрсетеді. Мұндағы, 10 саны – санау жүйесінің негізі, ол цифрдың тұрған орнына (разрядына) байланысты дәрежеленіп, сол цифрға көбейтіледі. Бірліктер үшін негіздің дәреже көрсеткіші нөлге тең, ондықтар үшін – бірге, жүздіктер үшін – екіге, мыңдықтар үшін – үшке тең және осылайша жалғасып кете береді. Егер ондық санау жүйесінде берілген сан ондық бөлшек болатын болса, оны да осындай қосынды түрінде жазуға болады. Егер 524,1025 санын қосынды түрінде жазатын болсақ, 5*102+2*101+4*100+1*10-1+0*10-2+2*10-3+5*10-4 жазбасын алуға болады. Мұндағы негіз ондық бөлшектің бөлшек бөлігіндегі цифрлардың тұрған орнына байланысты теріс көрсеткішті дәрежемен дәрежеленіп, сол цифрға көбейтіледі. Дәреже көрсеткіштер бөлшек бөліктің алғашқы цифры үшін -1-ге тең, екінші цифры үшін – -2-ге, үшінші цифры үшін – -3-ке тең және әрі қарай осылайша жалғасып кете береді. Енді осы айтылғандарды жалпыласақ, біз кез келген санау жүйесінде берілген санды ондық санау жүйесіне аудару ережесін, яғни сандардың жазылуының толық (жазылған) түрін шығара аламыз. q негізді санау жүйесінде (q-ші санау жүйесі) q санының тізбекті дәрежелері разрядтар бірлігі ретінде болады. Кез келген разрядты q бірлік келесі разрядтың бірлігін береді. q-ші санау жүйесіндегі санды жазу үшін 0, 1, ..., q-1 сандарын кескіндейтін әр түрлі q таңбалары (цифр) қажет болады. q-ші санау жүйесіндегі q санының жазбасы 10 түрінде болады. Санның жазылуының толық түрі мына түрде болады: А q = ±(a n-1q n-1 + a n-2q n-2 + … + a 0q 0 + a -1q -1 + a -2q -2 + … + a -mq -m) мұндағы, А q – санның өзі, q – санау жүйесінің негізі, a і – берілген санау жүйесіндегі санның цифры, n – санның бүтін бөлігі разрядтарының саны, m – санның бөлшек бөлігі разрядтарының саны. Компьютерде әдетте ондық позициялық санау жүйесі емес, екілік негіздеуші санау жүйесі қолданылады. Екілік жүйеде сан екі 0 және 1 көмегімен жазылады және екілік сан деп аталады. Тек қана 0 және 1 цифрларынан тұратын екілік саннан ондық санды ажырату үшін екілік санды жазуда екілік санау жүйесінің индексіне белгі қосылады, мысалы, 1101011,1112. Екілік санның әрбір разрядын (цифрын) бит деп атайды Екілік жүйенің маңызды құндылығы – цифрды ұсыну ыңғайлылығы (мысалы, 1 цифрына электр кернеуінің бар болуы, ал 2 цифрына электр кернеуінің жоқ болуы сәйкес келуі мүмкін) және компьютер құрылғысының, яғни екілік сандармен орындалатын арифметикалық және логикалық операцияларды жүзеге асыруға арналған арифметикалы-логикалық құрылғының қарапайымдылығы. Екілік жүйенің елеулі кемшілігі – мұнда санды жазу үшін 0 және1 цифрлары көп қажет болады. Бұл адамның екілік санды қабылдауын қиындатады. Мысалы, 156 ондық санының екілік жүйедегі түрі мынандай: 10011100. Сондықтан екілік жүйе әдетте компьютердің “ішкі қажеттілігі” үшін қолданылады, ал адамның компьютермен жұмыс істеуі үшін үлкен негіздеуішті санау жүйесі таңдалады. Бұл кезде сегіздік немесе он алтылык жүйелері жиі қолданылады, өйткені кейін көрсетілетіндей, осы екі жүйелердің және екілік жүйенің арасында санды бір жүйеден басқаға ауыстыруды жеңілдететін қарапайым байланыс бар. Сегіздік санау жүйесі, яғни 8 негіздеуші санау жүйесі, сегіз цифрдың көмегімен санды көрсетеді: 0, 1, 2, 3, 4, 5, 6, 7.Мысалы, 357 сегіздік санда жеті бірлік, бес сегіз және квадраты үш сегіз бар, яғни 357 cегіздік саны 239 санға сәйкес келеді.
Екілік санды жазуды қысқарту үшін 16 негіздеуші бар санау жүйесі қолданылады. Бұл жүйені он алтылық деп атайды. Он алтылық позициялық санау жүйесінде санды жазу үшін ондық санау жүйесінің цифрлары 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 және жетпейтін алты цифрды белгілеу үшін ондық сандарының мәні 10, 11, 12, 13, 14 және 15 болатын сәйкес латын альфавитінің алғашқы үлкен әріптері: A, B, C, D, E, F қолданылады. Осылайша ондық жүйенің барлық цифрлары және сонымен қатар латынның алты әріптері он алтылық жүйенің “цифрлары” болып табылады. Он алтылық жүйенің барлық цифрларын келтірейік: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, В, С, D, E, F. Он алтылық санау жүйесінде ондық жүйеде 15+1=16 дегенге сәйкес F санынан кейін F+1 саны келеді.
| |||||||||||||||||||
4. Бекіту (5 минут)
5. Қорытындылау (5 минут)
6. Бағалау (5 минут) Жауап берген, сабаққа белсенді қатысқан студенттерді бағалау
Конспекті жазып келу. |
Оқытушы ____________Боранбаева Г.Ү.
Сабақ жоспары
Лекция 4
Пән: «Информатика» | Мерзімі: “___” 20 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Тақырыбы: | Сандарды бір санау жүйесінен екінші санау жүйесіне ауыстыру. Санау жүйесіндегі арифметика. |
Мақсаты: |
|
Білімділік | Сандарды бір санау жүйесінен екінші санау жүйесіне ауыстыру және санау жүйесіндегі сандарға арифметикалық амалдар қолдану ережелерімен таныстыру |
Дамытушылық | Сандарды бір санау жүйесінен екінші санау жүйесіне ауыстыра білу, санау жүйесіндегі сандарға арифметикалық амалдар қолдана білу дағдыларын қалыптастыру |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, жинақтылыққа, логикалық ой танымдарын нығайтуға тәрбиелеу |
Типі: | сабақ |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. |
Оқыту түрі: | жеке, топтық |
Көрнекіліктер: | 5.5 – “Бүтін және бөлшек сандарды аудырудың құрама кестесі”; Үлестірмелер 1.5; оқу құралдары; ТҚЖ: дербес компьютер және оның құрылғылары. |
САБАҚТЫҢ БАРЫСЫ | |
1. Ұйымдастыру кезеңі (2 минут) Аудиторияның тазалығын тексеру, түгелдеу. | |
2. Өткен материалды қайталау (20 минут) | |
Сұрақтар: 2.1. Санау жүйесі дегеніміз не? 2.2. Санау жүйесінің түрлерін ата.
| |
3. Жаңа сабақты түсіндіру (35 минут) Сандарды бір санау жүйесінен басқа санау жүйесіне ауыстыру қажеттілігі жиі туады, ол екі түрде жүзеге асырылады:
Кез келген санау жүйесіндегі сандарды ондық санау жүйесіне ауыстыру санның толық жазылу түрі арқылы жүзеге асырылады: А q = ±(a n-1q n-1 + a n-2q n-2 + … + a 0q 0 + a -1q -1 + a -2q -2 + … + a -mq -m) мұндағы, А q – санның өзі, q – санау жүйесінің негізі, a і – берілген санау жүйесіндегі санның цифры, n – санның бүтін бөлігі разрядтарының саны, m – санның бөлшек бөлігі разрядтарының саны. 1 мысал. 1011,0012 екілік санын ондық санау жүйесіне ауыстыр. Жауабы: 1011,0012=1*23+0*22+1*21+1*20+0*2-1+0*2-2+1*2-3=8+0+2+1+0+0+0,125=11,125 2 мысал. 132,2014 төрттік санын ондық санау жүйесіне ауыстыр. Жауабы: 132,2014=1*42+3*41+2*40+2*4-1+0*4-2+1*4-3=16+12+2+0,5+0+0,15625=30,65625 3 мысал. 736,1428 сегіздік санын ондық санау жүйесіне ауыстыр. Жауабы: 736,248=7*82+3*81+6*80+2*8-1+4*8-2=448+24+6+0,25+0,625=478,875 4 мысал. АD,8С16 оналтылық санын ондық санау жүйесіне ауыстыр. Жауабы: АD,8С16=10*161+13*160+8*16-1+12*16-2=160+13+0,5+0,75=174,25 Ондық санау жүйесінен басқа кез келген санау жүйесіне ауыстырудың берілген санға байланысты екі ережесі бар:
Бүтін ондық сандарды басқа кез келген санау жүйесіне ауыстыру Ауыстыру ережесі. Бүтін оң ондық санды басқа кез келген санау жүйесіне ауыстыру үшін берілген санды ауыстырылатын санау жүйесінің негізіне бөлу қажет. Алынған бөлінді негізден кіші болғанша бөліндіні қайтадан сол негізге бөле береді және т.с.с. Нәтижесінде соңғы бөліндіні және соңғысынан бастап барлық қалдықтарды бір қатармен жазу керек. Ондық бөлшек сандарды басқа кез келген санау жүйесіне ауыстыру Ауыстыру ережесі. Бүтін оң ондық бөлшекті басқа кез келген санау жүйесіне ауыстыру үшін бөлшекті ауыстырылатын санау жүйесінің негізіне көбейту қажет. Көбейтіндінің бүтін бөлігі ауыстырылатын санау жүйесіндегі бөлшек санның үтірден кейінгі бірінші цифры ретінде алынады, ал бөлшек бөлігі қайтадан негізге көбейтіледі. Көбейтіндінің бүтін бөлігі келесі цифр ретінде алынады да, бөлшек бөлігін қайтадан негізге көбейтеді және т.с.с. Шексіз ондық бөлшекті басқа кез келген санау жүйесіне ауыстырған кезде периодты бөлшек алынуы мүмкін. 2.3. Санау жүйесіндегі сандарға арифметикалық амалдар қолдану Екілік санау жүйесінде арифметикалық әрекеттер ондық жүйедегі ереже бойынша орындалады, тек қана айырмашылығы – санау жүйесінің негіздеушісі екіге тең және тек екі цифр қолданылады. Қосу. Қосу операциясын қарастырайық. Екілік санды қосу тасымалдау есебімен сәйкес разрядтарды қосуға әкеледі. Екі екілік санды қосу кезінде мынадай төрт ереже қолданылады: 0+0=0 1+0=1 0+1=1 1+1=10 бірліктерді көрші (үлкен) разрядқа тасымалдау жүреді. Мысалы: 101+11 (ондық жүйеде 5+3=8) екі екілік санды қосуды орындаймыз. Жетпейтін нольдерді қосып, амалды бағанада орындаған жөн. 101 +011 Қосу процесін кезеңмен қарастырайық. 1) Кіші разрядта қосу орындалады: 1+1=10. Кіші разрядта қосынды 0 жазылады және бірлік келесі үлкен разрядқа тасымалданады. 2) Келесі сол жақ разрядтың цифрлары және тасымалдың бірлігі қосылады: 0+1+1=10. Бұл разрядта қосынды 0 жазылады және бірлік тағы да келесі үлкен рвзрядқа тасымалданады. 3) Сол жақ разрядтың үшінші цифрлары және тасымалдың бірлігі қосылады: 0+1+1=азрядта қосынды 0 жазылады және бірлік тағы да келесі үлкен разрядқа тасымалданады, т.с.с. 4) Нәтижеде: 101 +011 1000 алынады. Сонымен, 10002=810. Қосу –екілік арифметикадағы маңызды операция. Компьютердегі екілік сандармен жүзеге асатын басқа үш операция – азайту, көбейту, бөлу әдетте қосудың көмегімен орындалады. Азайту. Екілік санды азқайту кезінде есте ұстау керек: 0-0=0 1-0=1 0-1=1 бірлікті көрші (үлкен) разрядтан аламыз. 1-1=0 Мысалы, 1010-101 екілік санның айырмасын табу. Кіші разрядтан бастап азайтуды бағанада орындаймыз: 1) Кіші разряд үшін 0-1 бар. Сондықтан үлкен разрядтан бірлікті аламызжәне 10-1=1-ді табамыз. 2) Келесі разрядта 0-0=0 болады. 3) Сол жақтағы разрядта тағы да 0-1 болады. Үлкен разрядтан 1-ді аламыз және 10-1=1-ді табамыз. 4) Келесі разрядта 0 қалады. 5) Нәтижеде: 1010 -101 101 алынады.
| |
4. Бекіту (15 минут)
| |
5. Қорытындылау (5 минут) | |
6. Бағалау (5 минут) | |
7. Үйге тапсырма (3 минут) Осы тақырыпқа байланысты есептер шығару. |
Оқытушы ____________Боранбаева Г.Ү.
Сабақ жоспары
Зертханалық жұмыс №1
Пән: «Информатика» | Мерзімі: “___” 20 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Тақырыбы: | Санау жүйесі. Позициялық және позициялық емес санау жүйелеріндегі сандар |
Мақсаты: |
|
Білімділік | Санау жүйесі ұғымымен, санау жүйесінің түрлерін ажырата білуді үйрету, санау жүйелеріндегі сандарға қатысты есептер шығара отырып, сол санау жүйесінің алфавиттерімен және негізгі элементтерімен терең таныстыру |
Дамытушылық | Компьютердің арифметикалық негіздері туралы білімдерін тереңдету |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, ұқыптылыққа, жауапкершілікке, белгілі бір нәтижеге жете білушілікке бейімдеу |
Типі: | Зертханалық - тәжірибелік |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. |
Оқыту түрі: | жеке, топтық |
Көрнекіліктер: | Жеке және топтық тапсырмалар; 5.4 – “Санау жүйесінің кестесі”, 5.5 – “Бүтін және бөлшек сандарды аудырудың құрама кестесі”; оқу құралдары; ТҚЖ: дербес компьютер және оның құрылғылары. |
САБАҚТЫҢ БАРЫСЫ | |
1. Ұйымдастыру кезеңі (2 минут) Аудиторияның тазалығын тексеру, түгелдеу. | |
2. Өткен материалды қайталау (15 минут) | |
Сұрақтар:
| |
3. Тәжірибелік жұмыс тапсырмасын беру (10 минут) | |
4. Тәжірибелік жұмыс тапсырмасын орындау (30 минут) | |
5. Өзіндік тапсырмаларды орындау (10 минут) | |
6. Тәжірибелік жұмыстың орындалуын бағалау (10 минут) | |
7. Үй тапсырмасын беру (3 минут) |
Оқытушы ____________Боранбаева Г.Ү.
Сабақ жоспары
Зертханалық жұмыс №2
Пән: «Информатика» | Мерзімі: “___” 20 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Тақырыбы: | Сандарды бір санау жүйесінен екінші санау жүйесіне аудару |
Мақсаты: |
|
Білімділік | Сандарды бір санау жүйесінен екінші санау жүйесіне ауыстыру тәсілдерін меңгерту, бір санау жүйесінен екінші санау жүйесіне ауыстыру ережелерімен таныстыру |
Дамытушылық | Сандарды бір санау жүйесінен екінші санау жүйесіне ауыстыра білу дағдыларын қалыптастыру |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, ұқыптылыққа, жауапкершілікке, белгілі бір нәтижеге жете білушілікке бейімдеу |
Типі: | Зертханалық - тәжірибелік |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. |
Оқыту түрі: | жеке, топтық |
Көрнекіліктер: | Жеке және топтық тапсырмалар; 5.4 – “Санау жүйесінің кестесі”, 5.5 – “Бүтін және бөлшек сандарды аудырудың құрама кестесі”; оқу құралдары; ТҚЖ: дербес компьютер және оның құрылғылары. |
САБАҚТЫҢ МАҚСАТЫ | |
1. Ұйымдастыру кезеңі (3 минут) | |
2. Үй тапсырмасын қайталау (15 минут) | |
Студенттерге қойылатын сұрақтар:
| |
3. Тәжірибелік жұмыс тапсырмасын беру (10 минут) | |
4. Тәжірибелік жұмыс тапсырмасын орындау (30 минут) | |
5. Өзіндік тапсырмаларды орындау (10 минут) | |
6. Тәжірибелік жұмыстың орындалуын бағалау (10 минут) | |
7. Үй тапсырмасын беру (2 минут) |
Оқытушы ____________Боранбаева Г.Ү.
Сабақ жоспары
Зертханалық жұмыс №3
Пән: «Информатика» | Мерзімі: “___” 20 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Тақырыбы: | Санау жүйелерінде сандарға арифметикалық амалдар орындау. |
Мақсаты: |
|
Білімділік | Санау жүйесіндегі сандарға арифметикалық амалдар қолдану ережелерімен таныстыру |
Дамытушылық | Санау жүйесіндегі сандарға арифметикалық амалдар қолдана білу дағдыларын қалыптастыру |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, ұқыптылыққа, жауапкершілікке, белгілі бір нәтижеге жете білушілікке бейімдеу |
Типі: | тәжірибелік |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. |
Оқыту түрі: | жеке, топтық |
Көрнекіліктер: | Жеке және топтық тапсырмалар; “Санау жүйесінің кестесі”, “Бүтін және бөлшек сандарды аудырудың құрама кестесі”; оқу құралдары; ТҚЖ: дербес компьютер және оның құрылғылары. |
САБАҚТЫҢ БАРЫСЫ | |
1. Ұйымдастыру кезеңі (3 минут) | |
2. Үй тапсырмасын қайталау (10 минут) | |
Студенттерге қойылатын сұрақтар:
| |
3. Тәжірибелік жұмыс тапсырмасын беру (10 минут) | |
4. Тәжірибелік жұмыс тапсырмасын орындау (30 минут) | |
5. Өзіндік тапсырмаларды орындау (10 минут) | |
6. Тәжірибелік жұмыстың орындалуын бағалау (15 минут) | |
7. Үй тапсырмасын беру (2 минут) |
Оқытушы ____________Боранбаева Г.Ү.
Сабақ жоспары
Лекция 5
Пән: «Информатика» | Мерзімі: “___” 20 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Тақырыбы: | ЭЕМ жадындағы символ және санау көрсетілімі. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Мақсаты: |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Білімділік | ЭЕМ жадындағы символ және санау көрсетілімімен, бүтін ЭЕМ жадында қолданылатын бүтін және бөлшек екілік сандардың ауыстыру кестесімен таныстыру | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Дамытушылық | Компьютердің арифметикалық негіздері туралы меңгерген білімдерін тереңдету | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, жинақтылыққа, логикалық ой танымдарын нығайтуға тәрбиелеу | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Типі: | сабақ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Оқыту түрі: | жеке, топтық | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Көрнекіліктер: | “Компьютерде қолданылатын символ және санау көрсетілімі”; Үлестірмелер оқу құралдары; ТҚЖ: дербес компьютер. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
САБАҚТЫҢ БАРЫСЫ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1. Ұйымдастыру кезеңі (3 минут) Сәлемдесу, дәрісхананың тазалығын тексеру, түгелдеу. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2. Өткен материалды қайталау (20 минут) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Студенттерге қойылатын сұрақтар:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3. Жаңа сабақты түсіндіру (35 минут) Бүтін екілік санды q=2n (4, 8, 16 және т.б.) негізді санау жүйесінде жазу үшін:
Бөлшек екілік санды q=2n (4, 8, 16 және т.б.) негізді санау жүйесінде жазу үшін:
Кез келген екілік санды q=2n (4, 8, 16 және т.б.) негізді санау жүйесінде жазу үшін:
q=2n (4, 8, 16 және т.б.) негізді санау жүйесінде жазылған кез келген санды екілік санау жүйесіне аудару үшін осы санның әрбір цифрын оның n-ретті тепе-тең цифрымен алмастыру қажет. Компьютерлік ақпарат қолданылымында 8 (сегіздік) және 16 (оналтылық) негізді санау жүйесі жиі қолданылады. 4-кесте
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4. Бекіту (10 минут) Бақылау сұрақтары
4.5. Компьютерлік ақпарат қолданылымында қандай санау жүйесі
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5. Қорытындылау (5 минут) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
6. Бағалау (5 минут)
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
7. Үйге тапсырма (2 минут) Санау жүйесіне есептер шығару |
Оқытушы ____________Боранбаева Г.Ү.
Сабақ жоспары
Бақылау жұмысы
Пән: «Информатика» | Мерзімі: “___” 20 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Тақырыбы: | Бақылау жұмысы. “Санау жүйелері” |
Міндеті: | Өткен және «Санау жүйелері» тақырыбы бойынша оқушылардың алған білім-біліктіліктерін, машық-дағдыларын тексеру |
Мақсаты: |
|
Білімділік | «Санау жүйелері» тарауы бойынша білімді тиянақтап, жалпы қорыту |
Дамытушылық | Компьютердің арифметикалық негіздері жайлы білімдері мен іс-тәжірибелерін жүйелеу |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, жинақтылыққа, логикалық ой танымдарын нығайтуға тәрбиелеу |
Типі: | сабақ |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. |
Оқыту түрі: | жеке, топтық |
Көрнекіліктер: | Нұсқалар бойынша тапырмалар; – “Санау жүйесінің кестесі”, – “Бүтін және бөлшек сандарды аудырудың құрама кестесі”; оқу құралдары; ТҚЖ: дербес компьютер және оның құрылғылары. |
САБАҚТЫҢ БАРЫСЫ | |
1. Ұйымдастыру кезеңі (3 минут) Сәлемдесу, дәрісхананың тазалығын тексеру, түгелдеу. | |
2. Өткен материалды қайталау (20 минут) | |
Студенттерге қойылатын сұрақтар:
Санау жүйесінде сандарға қолданылған арифметикалық амал нәтижесі қалай тексеріледі? | |
3. Жаңа сабақты түсіндіру (30 минут) Студенттерге нұсқаларды таратып береу. 1 НҰСҚА
17268; 124445,5616; 1111101111,11112
11111012; 1111011,1010102; 1111012
1011,1+101,01; 11011-111; 11001*11,101 2 НҰСҚА 1. Информатиканың негізгі міндеттері
564768; 5678912,5616; 101011111,1012
11011012; 110011,11102; 1011112
0,525+0,023; 36-0,0024; 111*11,011 3 НҰСҚА 1. Информатиканың бөлімдері
2567368; 56489,4516; 11101111011,1012
10011112; 10011111,1111102; 11001112
12,5+0,43; 351,7-23,1; 10011*101,111 4 НҰСҚА 1. Ақпаратты кодтаудың қандай тәсілдері бар?
6547568; 23458,6716; 10111011,1112
1100111112; 111001111,1110012; 1100101012
234,15+101,73; 11101-1011; 10011*10,1101 5 НҰСҚА 1. Санау жүйесі дегеніміз не? Қандай топтарға бөлінеді?
2546768; 56789,5616; 10111011,11012 4. Екілік санау жүйесінен сегіздік, ондық, он алтылық санау жүйесіне ауыстыру: 11010101012; 1100111,1110112; 10010101012
0,023+0,525; 12,5-0,43; 127,12*32,5
| |
Студенттерден бақылауды жинап алып тексеру | |
Студенттерді үлгеріміне қарай бағалау | |
Үйге тапсырма (2 минут) Қайталау |
Сабақ жоспары
Лекция
Пән: «Информатика» | Мерзімі: “___” 20 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Логика пәні. Жасанды, математикалық логика. | |
Сабақтың мақсаты: |
| |
Білімділік | Логика ұғымымен, логика түрлерімен таныстыру, пікірлер, олардың түрлерімен таныстыру | |
Дамытушылық | Компьютердің логикалық негіздері туралы білімдерін қалыптастыру | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, жинақтылыққа, логикалық ой танымдарын нығайтуға тәрбиелеу | |
Сабақтың типі: | сабақ | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | оқу құралдары; ТҚЖ: дербес компьютер және оның құрылғылары; Интерактивті тақта, лекция; | |
САБАҚ КЕЗЕҢДЕРІ | ||
1. | Ұйымдастыру кезеңі (3 минут) | |
| Үй тапсырмасының орындалуын бақылау және тексеру (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Жаңа сабақты түсіндіру (30 минут) | |
IV. | Жаңа сабақты бекіту (5 минут) | |
V. | Жаңа сабақты қорытындылау (25 минут) | |
VI. | Студенттердің білімдерін бағалау (5 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Лекция 3.2.8
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Логикалық операциялар, ақиқаттық кестелер. | |
Сабақтың мақсаты: |
| |
Білімділік | Логикалық операция, ақиқаттық кесте ұғымдарымен таныстырып, күрделі пікірлерге логикалық операциялар орындай білуге, ақиқаттық кестелерін құра білуге үйрету | |
Дамытушылық | Компьютердің логикалық негіздері туралы меңгерген білімдерін тереңдету | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, жинақтылыққа, логикалық ой танымдарын нығайтуға тәрбиелеу | |
Сабақтың типі: | сабақ | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат 4.12 – “Логикалық операциялар”; Үлестірмелер 1.12; оқу құралдары; ТҚЖ: дербес компьютер және оның құрылғылары; Интерактивті тақта. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасының орындалуын бақылау және тексеру (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Жаңа сабақты түсіндіру (30 минут) | |
IV. | Жаңа сабақты бекіту (5 минут) | |
V. | Жаңа сабақты қорытындылау (25 минут) | |
VI. | Студенттердің білімдерін бағалау (5 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Тәжірибелік сабақ 3.3.4
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Логикалық пікірлер. Логикалық операциялар көмегімен пікірлерді жазу. | |
Сабақтың мақсаты: |
| |
Білімділік | Логикалық операция, ақиқаттық кесте ұғымдарымен таныстырып, күрделі пікірлерге логикалық операциялар орындай білуге, ақиқаттық кестелерін құра білуге үйрету | |
Дамытушылық | Компьютердің логикалық негіздері туралы меңгерген білімдерін тереңдету | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, ұқыптылыққа, жауапкершілікке, белгілі бір нәтижеге жете білушілікке бейімдеу | |
Сабақтың типі: | тәжірибелік | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Нұсқалар бойынша тапырмалар; Плакат 4.12 – “Логикалық операциялар”; оқу құралдары; ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасын қайталау (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Тәжірибелік жұмыс тапсырмасын беру (10 минут) | |
IV. | Тәжірибелік жұмыс тапсырмасын орындау (30 минут) | |
V. | Өзіндік тапсырмаларды орындау (10 минут) | |
VI. | Тәжірибелік жұмыстың орындалуын бағалау (20 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Лекция 3.2.9
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Логикалық өрнектер, оларды түрлендіру. | |
Сабақтың мақсаты: |
| |
Білімділік | Логикалық өрнектермен жұмыс істеу және оларды түрлендіру жолдарын үйрету | |
Дамытушылық | Компьютердің логикалық негіздері туралы меңгерген білімдерін тереңдету | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, жинақтылыққа, логикалық ой танымдарын нығайтуға тәрбиелеу | |
Сабақтың типі: | сабақ | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат 4.13 – “Логикалық өрнектерді негізгі түрлендіру формулалары”; оқу құралдары: [1], [2], [8], [9], [14], [15], [17] ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасының орындалуын бақылау және тексеру (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Жаңа сабақты түсіндіру (30 минут) | |
IV. | Жаңа сабақты бекіту (5 минут) | |
V. | Жаңа сабақты қорытындылау (25 минут) | |
VI. | Студенттердің білімдерін бағалау (5 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Тәжірибелік сабақ 3.3.5
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Ақиқаттық кестелер көмегімен логикалық есептерді шығару | |
Сабақтың мақсаты: |
| |
Білімділік | Логикалық өрнектермен және ақиқаттық кестелермен жұмыс істеу үйрету | |
Дамытушылық | Компьютердің логикалық негіздері туралы меңгерген білімдерін тереңдету | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, ұқыптылыққа, жауапкершілікке, белгілі бір нәтижеге жете білушілікке бейімдеу | |
Сабақтың типі: | тәжірибелік | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат №3 – “ASCIІ кодының кестесі”; оқу құралдары: [1], [2], [8], [9], [14], [15], [17] ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасын қайталау (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Тәжірибелік жұмыс тапсырмасын беру (10 минут) | |
IV. | Тәжірибелік жұмыс тапсырмасын орындау (30 минут) | |
V. | Өзіндік тапсырмаларды орындау (10 минут) | |
VI. | Тәжірибелік жұмыстың орындалуын бағалау (20 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Тәжірибелік сабақ 3.3.6
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Логикалық схемалармен және логикалық өрнектермен жұмыс | |
Сабақтың мақсаты: |
| |
Білімділік | Логикалық схемалармен және өрнектермен жұмыс істеу және оларды түрлендіру жолдарын үйрету | |
Дамытушылық | Компьютердің логикалық негіздері туралы меңгерген білімдерін тереңдету | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, ұқыптылыққа, жауапкершілікке, белгілі бір нәтижеге жете білушілікке бейімдеу | |
Сабақтың типі: | тәжірибелік | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат №3 – “ASCIІ кодының кестесі”; оқу құралдары: [1], [2], [8], [9], [14], [15], [17] ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасын қайталау (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Тәжірибелік жұмыс тапсырмасын беру (10 минут) | |
IV. | Тәжірибелік жұмыс тапсырмасын орындау (30 минут) | |
V. | Өзіндік тапсырмаларды орындау (10 минут) | |
VI. | Тәжірибелік жұмыстың орындалуын бағалау (20 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Тәжірибелік сабақ 3.3.7
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Логикалық өрнектерді түрлендіру формулаларымен жұмыс. | |
Сабақтың мақсаты: |
| |
Білімділік | Логикалық схемалармен және өрнектермен жұмыс істеу және оларды түрлендіру формулаларын үйрету | |
Дамытушылық | Компьютердің логикалық негіздері туралы меңгерген білімдерін тереңдету | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, ұқыптылыққа, жауапкершілікке, белгілі бір нәтижеге жете білушілікке бейімдеу | |
Сабақтың типі: | тәжірибелік | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат №3 – “ASCIІ кодының кестесі”; оқу құралдары: [1], [2], [8], [9], [14], [15], [17] ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасын қайталау (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Тәжірибелік жұмыс тапсырмасын беру (10 минут) | |
IV. | Тәжірибелік жұмыс тапсырмасын орындау (30 минут) | |
V. | Өзіндік тапсырмаларды орындау (10 минут) | |
VI. | Тәжірибелік жұмыстың орындалуын бағалау (20 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Тәжірибелік сабақ 3.3.8
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Күрделі логикалық өрнектерді түрлендіру | |
Сабақтың мақсаты: |
| |
Білімділік | Логикалық схемалармен және өрнектермен жұмыс істеу және оларды түрлендіру формулаларын үйрету | |
Дамытушылық | Компьютердің логикалық негіздері туралы меңгерген білімдерін тереңдету | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, ұқыптылыққа, жауапкершілікке, белгілі бір нәтижеге жете білушілікке бейімдеу | |
Сабақтың типі: | тәжірибелік | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат №3 – “ASCIІ кодының кестесі”; оқу құралдары: [1], [2], [8], [9], [14], [15], [17] ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасын қайталау (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Тәжірибелік жұмыс тапсырмасын беру (10 минут) | |
IV. | Тәжірибелік жұмыс тапсырмасын орындау (30 минут) | |
V. | Өзіндік тапсырмаларды орындау (10 минут) | |
VI. | Тәжірибелік жұмыстың орындалуын бағалау (20 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Лекция 3.2.5
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Алгоритмдер түсінігі. Көрсетілім сипаты мен маңызы | |
Сабақтың мақсаты: |
| |
Білімділік | Алгоритм ұғымымен, оның көрсетілім сипаты және маңызымен таныстыра отырып, алгоритмнің негізгі қасиеттерін сипаттай білуге, алгоритмді талдай білуге, күнделікті тұрмыстағы іс-әрекеттерді алгоритм тұрғысынан қарастыра білуге үйрету | |
Дамытушылық | Алгоритмді талдау, қарапайым алгоритмдер құрастыру, алгоритмнің көрсетілім тәсілдерімен салыстыра отырып, блок-схемалар құрастыру дағдыларын қалыптастырып, | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, өз ойларын еркін жеткізе білуге, логикалық ой танымдарын нығайтуға тәрбиелеу | |
Сабақтың типі: | сабақ | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат №3 – “Алгоритм”; оқу құралдары: [1], [2], [8], [9], [14], [15], [17] ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасының орындалуын бақылау және тексеру (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Жаңа сабақты түсіндіру (30 минут) | |
IV. | Жаңа сабақты бекіту (5 минут) | |
V. | Жаңа сабақты қорытындылау (25 минут) | |
VI. | Студенттердің білімдерін бағалау (5 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Лекция 3.2.5
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Сызықтық алгоритмдер | |
Сабақтың мақсаты: |
| |
Білімділік | Сызықтық алгоритм ұғымымен, оның көрсетлім сипаты және маңызымен таныстыру, сызықтық алгоритм құрылымын құруды үйрету | |
Дамытушылық | Сызықтық алгоритмдер құрастыру, сызықтық алгоритмнің блок-схемаларын құрастыру дағдыларын қалыптастыру | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, жинақтылыққа, логикалық ой танымдарын нығайтуға тәрбиелеу | |
Сабақтың типі: | сабақ | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат №3 – “ASCIІ кодының кестесі”; оқу құралдары: [1], [2], [8], [9], [14], [15], [17] ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасының орындалуын бақылау және тексеру (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Жаңа сабақты түсіндіру (30 минут) | |
IV. | Жаңа сабақты бекіту (5 минут) | |
V. | Жаңа сабақты қорытындылау (25 минут) | |
VI. | Студенттердің білімдерін бағалау (5 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Тәжірибелік сабақ 3.3.9
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Блок-схемалар құру. Сызықтық алгоритмдермен жұмыс. | |
Сабақтың мақсаты: |
| |
Білімділік | Алгоритм ұғымымен, оның көрсетілім сипаты және маңызымен таныстыра отырып, алгоритмнің негізгі қасиеттерін сипаттай білуге, алгоритмді талдай білуге, күнделікті тұрмыстағы іс-әрекеттерді алгоритм тұрғысынан қарастыра білуге үйрету | |
Дамытушылық | Алгоритмді талдау, қарапайым алгоритмдер құрастыру, алгоритмнің көрсетілім тәсілдерімен салыстыра отырып, блок-схемалар құрастыру дағдыларын қалыптастырып, | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, ұқыптылыққа, жауапкершілікке, белгілі бір нәтижеге жете білушілікке бейімдеу | |
Сабақтың типі: | тәжірибелік | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат №3 – “ASCIІ кодының кестесі”; оқу құралдары: [1], [2], [8], [9], [14], [15], [17] ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасын қайталау (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Тәжірибелік жұмыс тапсырмасын беру (10 минут) | |
IV. | Тәжірибелік жұмыс тапсырмасын орындау (30 минут) | |
V. | Өзіндік тапсырмаларды орындау (10 минут) | |
VI. | Тәжірибелік жұмыстың орындалуын бағалау (20 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Лекция 3.2.5
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Тармақталған алгоритмдер | |
Сабақтың мақсаты: |
| |
Білімділік | Тармақталған алгоритм ұғымымен, оның көрсетілім сипаты және маңызымен таныстыру, тармақталған алгоритм құрылымын құруды үйрету | |
Дамытушылық | Тармақталған алгоритмдер құрастыру, тармақталған алгоритмнің блок-схемаларын құрастыру дағдыларын қалыптастыру | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, жинақтылыққа, логикалық ой танымдарын нығайтуға тәрбиелеу | |
Сабақтың типі: | сабақ | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат №3 – “ASCIІ кодының кестесі”; оқу құралдары: [1], [2], [8], [9], [14], [15], [17] ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасының орындалуын бақылау және тексеру (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Жаңа сабақты түсіндіру (30 минут) | |
IV. | Жаңа сабақты бекіту (5 минут) | |
V. | Жаңа сабақты қорытындылау (25 минут) | |
VI. | Студенттердің білімдерін бағалау (5 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Тәжірибелік сабақ 3.3.10
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Тармақталған алгоритмдермен жұмыс (толық, толымсыз, таңдау) | |
Сабақтың мақсаты: |
| |
Білімділік | Тармақталған алгоритм ұғымымен, оның көрсетілім сипаты және маңызымен таныстыру, тармақталған алгоритм құрылымын құруды үйрету | |
Дамытушылық | Тармақталған алгоритмдер құрастыру, тармақталған алгоритмнің блок-схемаларын құрастыру дағдыларын қалыптастыру | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, ұқыптылыққа, жауапкершілікке, белгілі бір нәтижеге жете білушілікке бейімдеу | |
Сабақтың типі: | тәжірибелік | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат №3 – “ASCIІ кодының кестесі”; оқу құралдары: [1], [2], [8], [9], [14], [15], [17] ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасын қайталау (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Тәжірибелік жұмыс тапсырмасын беру (10 минут) | |
IV. | Тәжірибелік жұмыс тапсырмасын орындау (30 минут) | |
V. | Өзіндік тапсырмаларды орындау (10 минут) | |
VI. | Тәжірибелік жұмыстың орындалуын бағалау (20 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Лекция 3.2.5
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Циклдік алгоритмдер | |
Сабақтың мақсаты: |
| |
Білімділік | Циклдік алгоритм ұғымымен, оның көрсетілім сипаты және маңызымен таныстыру, циклдік алгоритм құрылымын құруды үйрету | |
Дамытушылық | Циклдік алгоритмдер құрастыру, циклдік алгоритмнің блок-схемаларын құрастыру дағдыларын қалыптастыру | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, жинақтылыққа, логикалық ой танымдарын нығайтуға тәрбиелеу | |
Сабақтың типі: | сабақ | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат №3 – “ASCIІ кодының кестесі”; оқу құралдары: [1], [2], [8], [9], [14], [15], [17] ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасының орындалуын бақылау және тексеру (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Жаңа сабақты түсіндіру (30 минут) | |
IV. | Жаңа сабақты бекіту (5 минут) | |
V. | Жаңа сабақты қорытындылау (25 минут) | |
VI. | Студенттердің білімдерін бағалау (5 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Тәжірибелік сабақ 3.3.11
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Циклдік алгоритмдермен (цикл “әзір”,“дейін”,“үшін”) жұмыс | |
Сабақтың мақсаты: |
| |
Білімділік | Циклдік алгоритм ұғымымен, оның көрсетілім сипаты және маңызымен таныстыру, циклдік алгоритм құрылымын құруды үйрету | |
Дамытушылық | Циклдік алгоритмдер құрастыру, циклдік алгоритмнің блок-схемаларын құрастыру дағдыларын қалыптастыру | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, ұқыптылыққа, жауапкершілікке, белгілі бір нәтижеге жете білушілікке бейімдеу | |
Сабақтың типі: | тәжірибелік | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат №3 – “ASCIІ кодының кестесі”; оқу құралдары: [1], [2], [8], [9], [14], [15], [17] ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасын қайталау (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Тәжірибелік жұмыс тапсырмасын беру (10 минут) | |
IV. | Тәжірибелік жұмыс тапсырмасын орындау (30 минут) | |
V. | Өзіндік тапсырмаларды орындау (10 минут) | |
VI. | Тәжірибелік жұмыстың орындалуын бағалау (20 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Тәжірибелік сабақ 3.3.12
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Күрделі циклдік алгоритмдермен жұмыс | |
Сабақтың мақсаты: |
| |
Білімділік | Циклдік алгоритм ұғымымен, оның көрсетілім сипаты және маңызымен таныстыру, циклдік алгоритм құрылымын құруды үйрету | |
Дамытушылық | Циклдік алгоритмдер құрастыру, циклдік алгоритмнің блок-схемаларын құрастыру дағдыларын қалыптастыру | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, ұқыптылыққа, жауапкершілікке, белгілі бір нәтижеге жете білушілікке бейімдеу | |
Сабақтың типі: | тәжірибелік | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат №3 – “ASCIІ кодының кестесі”; оқу құралдары: [1], [2], [8], [9], [14], [15], [17] ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасын қайталау (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Тәжірибелік жұмыс тапсырмасын беру (10 минут) | |
IV. | Тәжірибелік жұмыс тапсырмасын орындау (30 минут) | |
V. | Өзіндік тапсырмаларды орындау (10 минут) | |
VI. | Тәжірибелік жұмыстың орындалуын бағалау (20 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Лекция 3.2.5
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Турбо Паскаль программалау тілі. Программа, оның құрылымы. | |
Сабақтың мақсаты: |
| |
Білімділік | Турбо Паскаль программалау тілімен, программа, оның құрылымымен таныстыру | |
Дамытушылық | Турбо Паскаль программалаутілі туралы білімдерін қалыптастыру және нығайту | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, жинақтылыққа, логикалық ой танымдарын нығайтуға тәрбиелеу | |
Сабақтың типі: | сабақ | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат №3 – “ASCIІ кодының кестесі”; оқу құралдары: [1], [2], [8], [9], [14], [15], [17] ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасының орындалуын бақылау және тексеру (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Жаңа сабақты түсіндіру (30 минут) | |
IV. | Жаңа сабақты бекіту (5 минут) | |
V. | Жаңа сабақты қорытындылау (25 минут) | |
VI. | Студенттердің білімдерін бағалау (5 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Лекция 3.2.5
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Деректердің әр түрлі типтерінің операциялары мен функциялары | |
Сабақтың мақсаты: |
| |
Білімділік | Турбо Паскаль программалау тілінің деректерінің әртүрлі типтерінің операциялары мен, функцияларымен таныстыру | |
Дамытушылық | Турбо Паскаль программалаутілі туралы білімдерін қалыптастыру және нығайту | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, жинақтылыққа, логикалық ой танымдарын нығайтуға тәрбиелеу | |
Сабақтың типі: | сабақ | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат №3 – “ASCIІ кодының кестесі”; оқу құралдары: [1], [2], [8], [9], [14], [15], [17] ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасының орындалуын бақылау және тексеру (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Жаңа сабақты түсіндіру (30 минут) | |
IV. | Жаңа сабақты бекіту (5 минут) | |
V. | Жаңа сабақты қорытындылау (25 минут) | |
VI. | Студенттердің білімдерін бағалау (5 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Тәжірибелік сабақ 3.3.13
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Сандық, логикалық және символдық типтермен жұмыс | |
Сабақтың мақсаты: |
| |
Білімділік | Турбо Паскаль программалау тілінің деректерінің әртүрлі типтерінің операциялары мен, функцияларымен таныстыру | |
Дамытушылық | Турбо Паскаль программалаутілі туралы білімдерін қалыптастыру және нығайту | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, ұқыптылыққа, жауапкершілікке, белгілі бір нәтижеге жете білушілікке бейімдеу | |
Сабақтың типі: | тәжірибелік | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат №3 – “ASCIІ кодының кестесі”; оқу құралдары: [1], [2], [8], [9], [14], [15], [17] ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасын қайталау (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Тәжірибелік жұмыс тапсырмасын беру (10 минут) | |
IV. | Тәжірибелік жұмыс тапсырмасын орындау (30 минут) | |
V. | Өзіндік тапсырмаларды орындау (10 минут) | |
VI. | Тәжірибелік жұмыстың орындалуын бағалау (20 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Лекция 3.2.5
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Айнымалы мәнді алу, деректерді енгізу-шығару, меншіктеу операторлары. Сызықтық программалау. | |
Сабақтың мақсаты: |
| |
Білімділік | Турбо Паскаль программалау тіліндегі қарапайым операторлармен, сызықтық программалаумен таныстыру | |
Дамытушылық | Турбо Паскаль программалаутілі туралы білімдерін қалыптастыру және нығайту | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, жинақтылыққа, логикалық ой танымдарын нығайтуға тәрбиелеу | |
Сабақтың типі: | сабақ | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат №3 – “ASCIІ кодының кестесі”; оқу құралдары: [1], [2], [8], [9], [14], [15], [17] ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасының орындалуын бақылау және тексеру (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Жаңа сабақты түсіндіру (30 минут) | |
IV. | Жаңа сабақты бекіту (5 минут) | |
V. | Жаңа сабақты қорытындылау (25 минут) | |
VI. | Студенттердің білімдерін бағалау (5 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Тәжірибелік сабақ 3.3.14
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Сызықтық құрылымды программалармен жұмыс | |
Сабақтың мақсаты: |
| |
Білімділік | Турбо Паскаль программалау тіліндегі қарапайым операторлармен, сызықтық программалаумен таныстыру | |
Дамытушылық | Турбо Паскаль программалаутілі туралы білімдерін қалыптастыру және нығайту | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, ұқыптылыққа, жауапкершілікке, белгілі бір нәтижеге жете білушілікке бейімдеу | |
Сабақтың типі: | тәжірибелік | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат №3 – “ASCIІ кодының кестесі”; оқу құралдары: [1], [2], [8], [9], [14], [15], [17] ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасын қайталау (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Зертханалық жұмыс тапсырмасын беру (10 минут) | |
IV. | Зертханалық жұмыс тапсырмасын орындау (30 минут) | |
V. | Зертханалық жұмыстың жазбасы (10 минут) | |
VI. | Зертханалық жұмыстың орындалуын бағалау (20 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Лекция 3.2.5
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Тармақталған программалау, циклдік алгоритмдер | |
Сабақтың мақсаты: |
| |
Білімділік | Тармақталған программалау ұғымымен, оның көрсетілім сипаты және маңызымен таныстыру, шартты оператор құрылымын құруды үйрету | |
Дамытушылық | Тармақталған программалау құрастыру, шартты оператордың блок-схемаларын құрастыру дағдыларын қалыптастыру | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, жинақтылыққа, логикалық ой танымдарын нығайтуға тәрбиелеу | |
Сабақтың типі: | сабақ | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат №3 – “ASCIІ кодының кестесі”; оқу құралдары: [1], [2], [8], [9], [14], [15], [17] ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасының орындалуын бақылау және тексеру (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Жаңа сабақты түсіндіру (30 минут) | |
IV. | Жаңа сабақты бекіту (5 минут) | |
V. | Жаңа сабақты қорытындылау (25 минут) | |
VI. | Студенттердің білімдерін бағалау (5 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Тәжірибелік сабақ 3.3.15
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Шартты және таңдау операторларымен жұмыс | |
Сабақтың мақсаты: |
| |
Білімділік | Турбо Паскаль программалау тіліндегі шартты және таңдау операторларымен, тармақталған программалаумен таныстыру | |
Дамытушылық | Турбо Паскаль программалау тілі туралы білімдерін қалыптастыру және нығайту | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, ұқыптылыққа, жауапкершілікке, белгілі бір нәтижеге жете білушілікке бейімдеу | |
Сабақтың типі: | тәжірибелік | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат №3 – “ASCIІ кодының кестесі”; оқу құралдары: [1], [2], [8], [9], [14], [15], [17] ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасын қайталау (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Зертханалық жұмыс тапсырмасын беру (10 минут) | |
IV. | Зертханалық жұмыс тапсырмасын орындау (30 минут) | |
V. | Зертханалық жұмыстың жазбасы (10 минут) | |
VI. | Зертханалық жұмыстың орындалуын бағалау (20 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Тәжірибелік сабақ 3.3.16
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Шарт алдын-ала тексерілетін циклдік оператормен жұмыс. | |
Сабақтың мақсаты: |
| |
Білімділік | Циклдік оператор ұғымымен, оның көрсетілім сипаты және маңызымен, түлерімен таныстыру, шарт соңынан тексерілетін циклдік оператор құрылымын құруды үйрету | |
Дамытушылық | Циклдік программа құрастыру, циклдік программаның блок-схемаларын құрастыру дағдыларын қалыптастыру | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, ұқыптылыққа, жауапкершілікке, белгілі бір нәтижеге жете білушілікке бейімдеу | |
Сабақтың типі: | тәжірибелік | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат №3 – “ASCIІ кодының кестесі”; оқу құралдары: [1], [2], [8], [9], [14], [15], [17] ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасын қайталау (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Зертханалық жұмыс тапсырмасын беру (10 минут) | |
IV. | Зертханалық жұмыс тапсырмасын орындау (30 минут) | |
V. | Зертханалық жұмыстың жазбасы (10 минут) | |
VI. | Зертханалық жұмыстың орындалуын бағалау (20 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Тәжірибелік сабақ 3.3.17
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Шарт соңынан тексерілетін циклдік оператормен жұмыс. | |
Сабақтың мақсаты: |
| |
Білімділік | Циклдік оператор ұғымымен, оның көрсетілім сипаты және маңызымен, түлерімен таныстыру, шарт соңынан тексерілетін циклдік оператор құрылымын құруды үйрету | |
Дамытушылық | Циклдік программа құрастыру, циклдік программаның блок-схемаларын құрастыру дағдыларын қалыптастыру | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, ұқыптылыққа, жауапкершілікке, белгілі бір нәтижеге жете білушілікке бейімдеу | |
Сабақтың типі: | тәжірибелік | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат №3 – “ASCIІ кодының кестесі”; оқу құралдары: [1], [2], [8], [9], [14], [15], [17] ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасын қайталау (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Зертханалық жұмыс тапсырмасын беру (10 минут) | |
IV. | Зертханалық жұмыс тапсырмасын орындау (30 минут) | |
V. | Зертханалық жұмыстың жазбасы (10 минут) | |
VI. | Зертханалық жұмыстың орындалуын бағалау (20 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Тәжірибелік сабақ 3.3.18
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Параметрлі циклдік оператормен жұмыс. | |
Сабақтың мақсаты: |
| |
Білімділік | Циклдік оператор ұғымымен, оның көрсетілім сипаты және маңызымен, түлерімен таныстыру, шарт соңынан тексерілетін циклдік оператор құрылымын құруды үйрету | |
Дамытушылық | Циклдік программа құрастыру, циклдік программаның блок-схемаларын құрастыру дағдыларын қалыптастыру | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, ұқыптылыққа, жауапкершілікке, белгілі бір нәтижеге жете білушілікке бейімдеу | |
Сабақтың типі: | тәжірибелік | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат №3 – “ASCIІ кодының кестесі”; оқу құралдары: [1], [2], [8], [9], [14], [15], [17] ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасын қайталау (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Зертханалық жұмыс тапсырмасын беру (10 минут) | |
IV. | Зертханалық жұмыс тапсырмасын орындау (30 минут) | |
V. | Зертханалық жұмыстың жазбасы (10 минут) | |
VI. | Зертханалық жұмыстың орындалуын бағалау (20 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Сабақ жоспары
Тәжірибелік сабақ 3.3.19
Пән: «Информатика» | Мерзімі: “___” 200 жыл |
Курс: I__ | Кабинет: _______________ |
Топ: ______________ | Оқытушы: ________________________ |
Сабақтың тақырыбы: | Күрделі циклдік операторлармен жұмыс. | |
Сабақтың мақсаты: |
| |
Білімділік | Циклдік оператор ұғымымен, оның көрсетілім сипаты және маңызымен, түлерімен таныстыру, шарт соңынан тексерілетін циклдік оператор құрылымын құруды үйрету | |
Дамытушылық | Циклдік программа құрастыру, циклдік программаның блок-схемаларын құрастыру дағдыларын қалыптастыру | |
Тәрбиелік | Адамгершілік қасиеттерін арттыра отырып, ұқыптылыққа, жауапкершілікке, белгілі бір нәтижеге жете білушілікке бейімдеу | |
Сабақтың типі: | тәжірибелік | |
Оқыту әдісі: | алынған білім көздері бойынша: сөздік, көрнекілік; | |
| танымдық қызметті ұйымдастыру тәсілі бойынша: репродуктивті, иллюстративті-түсіндірмелі. | |
Оқыту түрі: | жеке, топтық | |
Көрнекіліктер: | Плакат №3 – “ASCIІ кодының кестесі”; оқу құралдары: [1], [2], [8], [9], [14], [15], [17] ТҚЖ: дербес компьютер және оның құрылғылары. | |
САБАҚ КЕЗЕҢДЕРІ | ||
I. | Ұйымдастыру кезеңі (3 минут) | |
II. | Үй тапсырмасын қайталау (5 минут) | |
Студенттерге қойылатын сұрақтар:
| ||
III. | Зертханалық жұмыс тапсырмасын беру (10 минут) | |
IV. | Зертханалық жұмыс тапсырмасын орындау (30 минут) | |
V. | Зертханалық жұмыстың жазбасы (10 минут) | |
VI. | Зертханалық жұмыстың орындалуын бағалау (20 минут) | |
VІІ. | Үй тапсырмасын беру (2 минут) |
Мазмұны.
1-бөлім. Turbo Pascal тілі.
Кіріспе
1.1. Тіл алфавиті.
1.2. Turbo Pascal терезесінің негізгі элементтері
Turbo Pascal терезесінің негізгі командалары.
1.3. Айнымалылар, тұрақтылар, стандартты функциялармен
қызметші сөздер.
TURBO PASCAL-да қолданылатын стандартты
функциялармен қызметші сөздер.
1.4. Программа құрылымы.
Типтер түрлері.
1.4. Программа құрылымы.(жалғасы).
1.5. Тілдің негізгі операторлары.
1.6.Сызықты программалар құру.
1.7. Тармақталу командалары.
1.8. Таңдау командалары.
1.9. Қайталану командалары.
1.10. процедуралар мен функциялар.
1.11 Массивтер
1.11 Массивтер(жалғасы).
1.17.Олимпиада есептерінен мысал.
Көмекші программалар құру.
КІРІСПЕ
Информатика сабағында оқушының шығармашылығын қалыптастыруға және ақыл- ойын, ойлау қабілетін, ынтасын дамыту жолында оқушыларға түрлі есептерге программа құрғызу үлкен рөл атқарады. Программа құру әр есептін
шығаруына байланысты болса да үлкен шығармашылықты талап етеді.Оқушыларды программа құруға баулу арқылы олардың логикалық қабілеттерін дамыту мен сабаққа қызығушылығын арттырумыз керек. Жоғары деңгейлі программалау тілдерінің бірі - Паскаль. Қазіргі кезде Паскаль тілінің кеңейтілген ондаған нұсқасы бар, оның ішіндегі ІВМ РС-ге үйлесімді дербес компьютерлер жұмыс істей алатын Турбо Паскаль диалектісінің варианттары
да жеткілікті. Кітапта оның соңғы (7.0) вариантымен жұмыс істеу тәсілдері қарастырылған. Бұл вариант Турбо Паскаль алғашқы варианттарымен де үйлесімді. Бейсик тілі сияқты Паскальді оқып-үйрену жеңіл, түрлі салалық информациямен жұмыс істеуде нәтижелі болғандықтан, дүниежүзіне кең
таралған тілдердің бірі. Оның ыңғайлылығы:
- тіл алгоритмі құрылымын сақтауға негізделген. Мұнда
программаны бірте-бірте дамыту арқылы жеке блоктар түрінде
құруға болады.
Ол программалау тәсілін үйрену үшін қажет:
- тілге дамытылған мәліметтер типтері енгізілген. Олар өңделетін
мәліметтер элементтерін толық сәйкестендіріп сипаттауға және
жаңа мәліметтер типтерін енгізуге мүмкіндік береді.
- Мұнда кішігірім жеңіл программалармен бірге күрделі құрылымды
программаларды құруға да болады.
- Тіл синтаксисі жеңілдетілген, нұсқаулардың саны мүмкіндігінше
азайтылған, т.б Паскаль тілінде құрылған программаны мәшеинелік кіріспе тілге аудару үшін компилятор пайдаланылады. Турбо Паскальда программалау тәсілдері баяндалып, жиі кездесетін түйінді сөздер мен стандартты атаулар арқылы информацияны өңдеу программалары құрылған.
1. Тіл алфавиті.
Тіл алфавиті деп, осы тілдегі жазылатын программалық текстерді құру үшін пайдаланатын символдардың жиынтығын айтады. Кез - келген программалық тіл символдардан, сөздерден, сөз тізбектері және сөйлемдерден - операторлардан тұрады.Сөздер символдардан құралады, ал операторлар сөз тіркестерінен тұрады:
1. 26 латын алфавитінің әріптерінен, олармен қызметші сөздермен иденфикаторлар жазылады. Идентификаторлар -программада кездесетін барлық тұрақтыларды,айнымалыларды, функциялармен процедураларды белгілеу үшін қолданылатын әріптер мен сандар және сызықшадан тұратын қызметші сөздер. Идентификаторларға бұлардан басқа символдарды беруге болмайды, олар міндетті түрде әріптен басталуы керек және оларға тілдегі басқа қызметші сөздердің атын қоюға болмайды.
Идентификаорларды бас әріппен де, кішкентай әріптермен де жаза беруге болады.
Мысалы: Begin, begin, BEGIN - сөздері бір ұғымды
білдіреді;
2. Сандарды белгілейтін араб цифраларынан:
0,1,2,3,4,5,6,7,8,9.
Сандар бүтін және нақты болып екіге бөлінеді. Нақты сандардың бүтін бөлігімен бөлшегін нүкте арқылы бөліп жазады
-9.7, 6.25, .41,-8.178.
Ал өте үлкен немесе өте кіші шамалар экспонициал сандар түрінде жазылады-
1.801Е + 5(1.801*105), 5.74E-4(5.74*10-4);
3. Ұлттық алфавит әріптерінен, ұлттық әріптер түсініктеме
мен комментарийлар жазу үшін немесе символдық айнымалыларда қолданылады (ұлттық алфавит әріптері
клавиатураның жоғарғы жағындағы цифрлар орнына
арнаулы драйверлер қосылғанда ғана жұмыс істейді);
4. Арнаулы символдардан:
+,-,:,',,/,=,.,(,),,,$,%,& т.б.
1.2.Turbo Pascal терезесінің элементтері.
Turbo Pascal программасының терезесі программа жасауға және редакциялауға өте ыңғайлы болып табылады. Turbo Pascal программасы терезесі экранға Turbo.exe файлы іске қосылғаннан кейін шығады. Терезенің (1-сурет) жоғарғы жағында бас меню, төменгі жағында қолданылатын функционалды пернелер
орналасады. Программалық текст ортасындағы көк параққа толтырылады.
Turbo Pascal терезесі екі күйде болады: режим таңдау және редакциялау. Редакциялау режимінде парақта курсор жыпылықтап тұрады. Курсор әрдайым программаның келесі символы парақтың қай жеріне ендірілетінін көрсетіп тұрады.
Егер терезе режим таңдау күйінде болса, онда экраннан курсор жоқ болып кетеді де, менюлер қатарының бірі боялып тұрады.Редакциялау режимінен таңдау күйінен редакциялау режиміне өту үшін ESC пернесін басу керек.
1-сурет. Turbo Pascal программасының терезесі.
Программа қосылғанда экранда Noname00.pas атты жаңа бос файл автоматты түрде ашылады. Бос файлды толтырғаннан кейін оны сақтау үшін F2 немесе бас менюдегі File Save командаларын орындап, экранға шығатын диалогтық терезеге жауап беру ( 2,3 - суреттер) керек. Дискіде бұрыннан бар файлды ашу үшін бас менюдегі File Open командаларың орындау керек.(4-сурет). Программалық текст жазу үшін курсорды керекті жерге апарып, тексті клавиатурадан теріп жазу керек. Бір қатар толтырылғаннан кейін, курсорды келесі қатарға түсіру үшін Enter пернесін басу керек.Егер курсор экранның төменгі қарай айналдыру батырмаларын басу керек.
Терезені мынадай пернелермен де жылжытуға болады:
PqUp-бір бет жоғары жылжу;
PqDn - бір бет төмен жылжу;
Home - курсор тұрған қатардың басына апару;
End - курсор тұрған қатардың соңына апару;
Ctrl+ PqUp - текстің басына жылжу;
Ctr+ PqDn - текстің соңына жылжу;
Текст жазу барысында қателер кетсе, онда символдарды өшіру үшін
мынадай пернелер қолданылады:
Backspace - курсор тұрған жерден солға қарай өшіру;
Del - курсор тұрған жердегі символды өшіру;
Ctrl + Y- курсор тұрған қатардың барлығын өшіру.
2-сүрет. Жаңа файл ашу.
3а - сурет. Дискідегі бұрыннан бар файлды ашу.
3 ә-сурет. File -Open командысының диалогтық терезесі.
4 а-сурет. Файлды сақтау.
4ә - сурет. File -Save командасының диалогтық терезесі.
Turbo Pascal терезесінің редакциялау режимінде басқа текстік
редакторлар (Word) сияқты фрагменттерді буферге көшіруге,
оларды курсормен көрсетілген жерге қоюға, оларды өшіруге,
файлдар арасындағы байланыс сияқты операциялар жасауға
болады (5,6,7-суреттер). Программаны толық жазып редакциялап
болғаннан кейін компиляция (тексеру) жасау керек. Ол үшін
бас менюдегі Compile - Compile командалары орындалады (8-сурет).
Программаны орындау үшін Run-Run командалары
орындалады (9-сурет).Программаның нәтижесін көретін экран
бөлігін шығару үшін Debug - Output командаларын орындау
керек (10-сурет). Программаны жазу барысында Help менюінің
командаларын орындау арқылы анықтама алуға болады (11-сурет).
Көмекші анықтамалар ағылшын тілінде жазылған, егер ағылшын
тіліне қиналған жағдайда анықтамалық мәліметтерді Edit менюі
арқылы басқа аударма программаларға көшіріп түсінікті тілге
аударып алуға болдады. Turbo Pascal терезесінің негізгі командалары
және олардың атқаратын қызметтері келесі беттегі кестеде көрсетілген.
5-сурет. Белгілеп алған фрагментті буферге көшіру.
6-сурет. Буфердегі фрагментті курсор турған жерге қою.
7-сурет.белгілеп
8-сурет. Программаны компиляциялау.
9-сурет. Программаны орындау.
10 - сурет. Нәтиже көретін терезені шығару.
11-сурет. Көмек шақыру.
Turbo Pascal терезесінің негізгі командалары.
1.3. Айнымалылар, тұрақтылар, стандартты
функциялармен қызметші сөздер.
Айнымалылар деп программаның орындалу барысында әр түрлі мәндерді қабылдай алатын шамаларды айтады. Олар идентификаторлармен белгіленіп, әрбір уақытта белгілі бір мәнге ие бола алады.
Айнымалыларды белгілеу мысалдары:
X, X1, A, B, C1, MIN1, MAX, A[1], B[2,3].
Тұрақтылар деп программаның орындалу барысында мәндері өзгеріссіз қалатын шамаларды айтады. Тұрақтыларға CONST бөлімінде бірден мәнін берсек те, немесе VAR бөлімінде иденфикатор түрінде белгілеп алып мән берсек те болады.
Тұрақтылардың жазылу мысалдары:
CONST A=5: B=8: PI=3.14
Стандартты функцияларды программада жазу үшін, алдымен функцияның атын, одан кейін жәй жақшаның ішінде аргументін көрсету керек. Программаларда аргументтердің мәнін берген кезде міндетті түрде функциянің анықталу облысын ескеру қажет. Мысалы: түбірден еш уақытта теріс сан шықпайды, бөлшектің бөлімі 0-ге тең болмау керек т.с.с..
TURBO PASCAL-да қолданылатын стандартты
функциялармен қызметші сөздер.
1.4. Программа құрылымы.
Паскаль тіліндегі программалар бірнеше бір-бірімен байланысып
тұратын бөлімдерден тұрады. Мысалы: бір программа келесі бөлімдерден тұруы мүмкін:
1. программа тақырыбы;
2. айнымалылар мен типтер бөлімі;
3. таңбалар (белгі) бөлімі;
4. тұрақтылар бөлімі;
5. процедуралар мен функциялар бөлімі;
6. программа денесі бөлімі;
Программа тақырыбы қызметші сөздерден, латын әріптерінен тұратын программа атынан тұрады. Программа тақырыбынан кейін үтірлі нүкте қойылады. Түсініктемелер жәй жақша ( * *) немесе фигуралық жақша { } Ішінде жазылады.
Мысалы:
PROGRAM SUMMA;
{Y=2*X+5*X+8*X қатарының қосындысы}
Айнымалылар мен типтер бөлімінде (VAR, TYPE) иденфикаторлар сипатталады. Кез-келген иденфикатор өзіне тән бір типпен ғана сипатталады.
Мысалы:
TYPE MAS=ARRAY [1.. 5] of CHAR;
VAR X: INTEGER; T: CHAR;
D: ARRAY [1.. 10] of STRING;
B, C: REAL; S: SINGLE;
V: BOOLEAN; A: MAS;
Типтер түрлері.
Қарапайым типтер. Құрылымдық типтер
1.4. Программа құрылымы.(жалғасы).
Таңбалар бөлімі LABEL қызметші сөзінен басталады, одан кейін программада қолданылатын белгілердің тізімі үтір арқылы жазылады, тізімнің соңында үтірлі нүкте қойылады. Белгі ретінде бүтін сандар пайдаланылады.Белгі программада оператордың алдында жазылып, одан қос нүкте арқылы бөлінеді.
Мысалы:
LABEL 1, 2, 5, 10, 15, 20, 30, 40, 50;
... ... ... ... ... ... ....
10: операторлар;
Тұрақтылар бөлімі ( CONST ) тұрақтылар сипатталады, әрбір тұрақтыларды сипаттаған соң, үтірлі нүкте қойылады. Тұрақтылар программа орындалу барысында мәндерін өзгертпейді.
Мысалы:
CONST А=`GOD`;
CONST PI=3.14; D=250
Процедуралар ( PROCEDURE ) мен функциялар ( FUNCTION ) бөліміне көмекші программалар жазылады. Барлық процедуралар мен функциялар негізгі программаның алдында көрсетілуі тиіс.
Мысалы:
PROCEDURE SUM (M: INTEGER; VAR S: INTEGER);
BEGIN S:=0; FOR K:=1TO M DO S:=S+K; END;
FUNCTION SUM ( M:INTEGER ) : INTEGER;
BEGIN S:=0; FOR K:=1TO M DO S:=S+K; SUM:=S; END;
Программа денесі бөліміне программаны орындау үшін қолданылатын сөйлемдер (операторлар) жазылады. Олар BEGIN, END иденфикаторлары аралығында жазылады, кейде оларды операторлық жақшалар деп те айтады. Операторлар бір-бірінен үтірлі нүкте арқылы ажыратылып жазылады. Операторлар қарапайым және құрмалас болып екіге бөлінеді. Қарапайым операторлар бір ғана оператордан тұрады. Құрмалас операторлар бірнеше операторлардан тұрады.Операторларды орындайтын қызметтеріне қарай мынадай топтарға бөлуге болады:
1. меншіктеу операторы;
2. енгізу-шығару операторлары;
3. басқару операторлары;
4. процедура мен функцияны анықтау операторлары.
1.5. Тілдің негізгі операторлары.
Меншіктеу операторы берілген өрнектердің мәнін есептеп, оны айнымалыға
меншіктеу үшін қолданылады.
Меншіктеу операторының жалпы жазылу түрі:
Y:=Z
Y- айнымалының аты;
: =- меншіктеу таңбасы;
Z- өрнек;
Берілген оператор Z өрнегінің мәнін есептеп, шыққан нәтижені Y айнымалысына меншіктейді. : = таңбасының математикадағы =таңбасынан айырмашылығы көп. Мысалы: математикадағы Y=Y+1 деген жазу дұрыс емес, ал программалауда Y:=Y+1 деген меншіктеу операторы дұрыс жазылған және ол келесіні білдіреді:
Y- айнымалысының бастапқы мәніне 1 қосылады, шыққан нәтиже Y айнымалысына
жаңа мән болып меншіктеледі. Y:=5; Y:=Y+1
Y-тің бастапқы мәні 5, меншіктеу операторы орындалғаннан кейінгі мәні
Y:=6 болады. Сондай-ақ меншіктеу операторымен символдық, логикалық
айнымалылармен жұмыс істеуге болады.
Құрама және бос операторлар.
Операторлық жақшаға бірнеше операторлардың біріктіріліп жазылуын құрама
оператор дейміз.Программада құрама операторлар бір оператор тәрізді оқылып, орындалады.
Құрама операторлардың жазылу түрі:
Begin 1-оператор; 2-оператор; 3-оператор;
4-оператор; 5-оператор; ... ; n-оператор
end
Құрама оператордың кез-келген операторлардың өзі де құрама болуы мүмкін.
Мысалы:
Begin 1-оператор; 2-оператор;
Begin 3.1-оператор; 3.2-операторлар; 3.3-оператор; end;
4-оператор; 5-оператор; ... ; n-оператор
end
Бос оператор деп программаны орындау барысында ешқандай қызмет атқармайтын операторды айтамыз. Программада бос оператор тұрған жерінде, ереже бойынша бір оператор тұру керектігін көрсетеді. Бос опертор; немесе ешбір мәнді өзгертпейтін өрнектен тұрады.
Мысалы:
1. X:=1; ;Y:=SQR(X);
2. X:=1; X:=X; Y:SQR (X);
3. X:-1; BTGIN END; Y:=SQR (X);
Енгізу және шығару операторлары.
READ операторы айнымалылардың әртүрлі мәндерін клавиатурадан компьютердің
жадына енгізу үшін қолданылады.
READ операторлардың жазылу түрі:
READ (X)- X-тің мәнін енгіз;
READ (X)-А,В,С айнымалыларының мәнін енгіз;
Программаның орындалу барысында READ операторы қанша рет кездессе, сонша рет машина операторда көрсетілген айнымалылардың мәнін күтіп, ештеңе орындамай тоқтап қалады. Айнымалылардың мәні енгізілгеннен кейін машина программаны орындауын жалғастырады. Программа орындалу барысында экранда нәтижені көрнекті алу үшін, операторлар соңына LN жалғауын қосып та жазуға болады, бұл жағдайда айнымалыларының мәндерін енгізгеннен кейін курсор келесі қатарға көшеді.
Мысалы:
READLN (X);
Сонымен бірге жаңа қатарға көшу үшін параметрсіз READLN операторын қолдануға болады,бұл операторды орындағанда ENTER пернесін басса жеткілікті , программаның орындалуы келесі қатарда тұрған операторға көшеді.
WRITE операторы информацияны компьютердің жадынан экранға шығару үшін
қолданылады.
WRITE операторының жазылу түрлері:
WRITE(A)-экранға А-ның мәні шығады;
WRITE(X+2*Y)-экранға X+2*Y өрнегінің мәні шығады;
WRITE(Гимназия)-экранға гимназия сөзі шығады;
WRITE ('A=', A)- экранға A=сөзімен A-ның мәні шығады;
Мәндері нақты сандар болмайтын айнымалыларды шығарғанда,
WRITE операторында осы сандардың экранда қандай форматта шығатынын қос нүктелер арқылы жазып көрсетуге болады.
Сандардың форматының жалпы жазылу түрлері:
WRITE(X:а,в);
мұндағы
а -жалпы шығатын санға берілетін орындар саны;
в -санның бөлшек бөлігіне орындар саны.
Мысалы: Х =1.258 және А=2175 мәндерін экранға шығарайық.
WRITE(`X`=X:8:3);
X= 1.258
WRITE(`A`=A:10);
A= 2715
WRITE операторында READ операторындағыдай шығаратын нәтиженің көрнекті болуы үшін LN жалғауын қолдануға болады.
WRITELN (`X`=X:8:3);-нәтижесі экранға шығады да, курсор келесі қатарға өтеді.
Жоғарыдағы қарастырылған операторлардың көмегімен, блоксхемалары бір сызықтың
бойында орналасатын, жай сызықты программалар құруға болады.
1.6.Сызықты программалар құру.
1. Шеңбердің ауданын табу программасы.
PROGRAM AUDAN; {программа тақырыбы}
CONST PI=3.14; {тұрақты шаманы енгізу}
VAR R: INTEGER; {айнымалыларды сипаттау}
S: REAL; {R-бүтін сан, S-нақты сан}
BEGIN
READLN (R); {айнымалы енгізу}
S:=PI*SQR(R); {меншіктеу}
WRITELN (` S=`, S: 6: 2)
{ауданды шығару}
END.
Программа орындалу барысында компьютер READLN (R) операторын оқып,
айнымалының мәнін енгізгенше күтіп тоқтап қалады, нәтиже радиустың
мәнін енгізгеннен кейін шығады.
35 ( радиустың мәнін енгіземіз)
аудан S=3846,50 (алынған рәтиже)
2. Ньютонның екінші заңын программалау.
PROGRAM KUSH; {программа тақырыбы}
VAR M:INTEGER; {айнымалыларды сипаттау}
F,A:REAL; {М-бүтін сан, Ғ,А-нақты сан}
BEGIN
WRITELN (`массамен үдеудің мәедерін енгізу`);
READLN (M`A); { айнымалыларды енгізу}
F:M*A; {меншіктеу}
WRITELN (`күш F=`, F:16:4); {күшті шығару}
END.
Программа орындалу барысында бірінші экранда ``массамен үдеудің
мәндерін енгіз`` деген текст шығады, онан кейін копьютер READLN (MA)
операторын оқып айнымалылардың мәнін енгізгенше күтіп тоқтап
қалады, нәтиже дененің массасымен үдеуінің мәндерін енгізгеннен кейін шығады.
Программаның орындалуы:
Массамен үдеудің мәндерін енгіз
254 3.55 (массамен үдеу мәндерін енгіземіз)
Күш F= 901.7 (алынған нәтиже)
3. Математикалық өрнекті есептеу программасы.
Y= (Х 2+B)(A 3+COS(X)); X-айнымалы, А=3.7; В=10.
PROGRAM TENDEU; {программа тақырыбы}
VAR B:INTEGER; {айнымалыларды сипаттау}
Y,A,X:REAL; {B-бүтін сан, X,А-нақты сан}
BEGIN A:=3.7; B:=10
WRITELN `(X-тің мәнін енгізу`);
READLN (Х); { айнымалыны енгізу}
Y:(SQR(X)+B)*(SQR(A)*A+COS(X)); { меншіктеу}
WRITELN (`Y=`,Y:10:2); {Y-ті шығару}
END.
4. Нақты X және Y сандарының бүтін және бөлшек бөлігін шығаратын
программа құру.
PROGRAM SHISLO;
VAR X,Y:REAL;
BEGIN READLN (X,Y);
WRITELN (`X-тің бүтін бөлігі =`, INT(X), `Y-тің бүтін бөлігі =`, INT(Y));
WRITELN (`X-тің бөлшек бөлігі =`,FRAC (X), `Y-тің бөлшек бөлігі=`, FRAC(X));
END.
5.Бүтін X және Y сандарының қатынастарының бүтін бөлігі және қалдығын
шығаратын программа.
PROGRAM SHISLO2;
VAR X,Y:INTEGER;
BEGIN READLN (X,Y);
WRITELN (`X/Y бүтін бөлігі =`,XDIV Y, `Y- қалдығы =`,X MOD Y);
END.
1.7. Тармақталу командалары.
Программадағы операторлардың орындалу ретін басқарып отыратын
операторларды тармақталу командалары дейді. Бұл командаларының
көмегімен құрылған программалардың блоксхемасы тармақ (бұтақ)
түріне болады. Тармақталу командалары шартсыз және шартты болып
екіге бөлінеді.
GOTO шартсыз операторы.
GOTO операторы программаның орындалуын өзінде көрсетілген белгіге
аударады.
Мысалы:
GOTO 10; Программа орындалуы ешқандай шартсыз
10 белгісі бар операторға қарсы көшеді.
IF…THEN шартты операторлары.
IF…THEN шартты операторлары берілген шарттардың орындалуын реттейді.
Программалауда шартты операторларды мынадай варианттарға қолдануға болады:
1.IF шарт THEN 1 блок;
Егер шарт орындалса, онда басқару THEN операторына беріліп, 1 блок орындалады,
әйтпесе басқару үтірлі нүктеден кейінгі операторға беріледі.
2. IF шарт THEN 1 блок 2 ELSE блок;
Егер шарт орындалса, онда басқару THEN операторына беріліп, 1блок орындалады,
әйтпесе басқару ELSE операторына беріліп, 2 блок орындалады.
3.IF шарт THEN 1 блок ELSE IF 2 шарт THEN 2 блок ELSE IF 3 шарт
THEN 3 блок ELSE 4 блок;
Егер шарт орындалса, онда басқару THEN операторына беріліп, 1блок орындалады,
әйтпесе басқару ELSE операторына беріліп, 2 шарт тексеріледі, егер 2 шарт
орындалса 2 блок орындалады, орындалмаса 3 шарт тексеріледі, егер 3 шарт
орындалса 3 блок орынды, орындалмаса 4 блок орындалады.
Егер THEN не ELSE операторларында бірнеше оператор болса, онда олар операторлық жақшаға алынып жазылады. Егер IF операторында бірнеше шарт болса, онда жәй жақшаға алынып OR немесе AND қызметші сөзі арқылы бөлініп жазылады.
Тармақталу программаларын құру.
6.Екі санның үлкенін табу программасы.
PROGRAM MAXSHISLO;
VAR A, B:REAL;
BEGIN READLN (A,B);
IF AB THEN
WRITELN(`MAX=`,A)
ELSE WRITELN (MAX=`,B);
END.
7.N санының [ a, b] интервалына жататынын анықтау программасы.
PROGRAM INT shislo;
VAR N,A,B: REAL;
BEGIN READLN (N);
A:=-50; B:=200;
IF ( NA) AND (N=0
PROGRAM systema;
LABEL 1;
VAR X, A, B, Y: REAL;
BEGIN READLN (X,A,B);
IF X0 THEN
BEGIN Y:=X2*A; GOTO 1; END;
Y:=X+3*B;
1: WRITELN(`Y=`,Y:5:2);
END.
B) X+2*A, егер X
Y= X+3*B, егер X
A*B+X, егер X
X, егер X=50
PROGRAM systema;
VAR X, A, B, Y: REAL;
BEGIN READLN (X,A,B);
IF X
ELSE IF X
WRITELN(`Y=`,Y:5:2);
END.
9. Светофор программасын құру.
PROGRAM svet;
VAR X, Y: STRING;
BEGIN READLN (X);
IF X=`қызыл` THEN Y:= `ТОҚТА,КҮТ` ELSE IF X=`сары` THEN
Y=`ДАЙЫНДАЛ` ELSE IF X=`жасыл` THEN Y=`ЖҮР`
ELSE Y=`светофорда ондай түс жоқ`;
WRITELN(Y);
END.
10. Төрт банктегі валюта курсын шығару программасы.
PROGRAM valuta;
LABEL 1,2,3,4,5;
VAR X:STRING;
BEGIN READLN (X);
IF X=`Казкоммерцбанк` THEN GOTO 1 ELSE
IF X=`Темірбанк` THEN GOTO 2 ELSE
IF X=`ТуранӘлембанк` THEN GOTO 3 ELSE
IF X=` ЦентрКредитбанк` THEN GOTO 1 ELSE GOTO 5;
1: WRITELN (`$US-147.5 KZT`); WRITELN (`1 RR-5.7 KZT`);
GOTO 5;
2: WRITELN (`$US-147.8 KZT`); WRITELN (`1 RR-4.9 KZT`);
GOTO 5;
3: WRITELN (`$US-148.7 KZT`);
WRITELN (`1 RR-5.3 KZT`); GOTO 5;
4: WRITELN (`$US-148.2 KZT`);
WRITELN (`1 RR-5.4 KZT`);
5:END.
1.8. Таңдау командалары.
CASE таңдау операторының көмегімен берілген блоктардың кез-келген вариантын
таңдауға болады. Егер орындалатын блокта бірнеше оператор болса, онда олар
операторлық жақшаға алынып жазылады.
CASE N OF
1:1 блок;
2:2 блок;
… … … …
N: N блок; END;
Таңдау командаларымен программа құру.
11. Х айнымалысына байланысты Y-тің мәнін есептеу.
5*X+50*A, егер X
SQRT(X+A), егер X
Y= COS (A+B), егер X
SIN (A+B), егер X=10
PROGRAM esepteu;
VAR M:INTEGER;
X,A,B,Y: REAL;
BEGIN READLN (X,A,B);
IF X
ELSE IF X
CASE M OF
1: Y:=5*X+50*A;
2: Y:=SQRT(X+A);
3: Y:=COST (A+B);
4: Y:=SIN (A+B);
END;
WRITELN (`Y=`, Y:5:2); END.
12. Қазақстандықтардың олимпиадалық ойындарда алған
алтын медальдары (жылдар бойынша таңдау).
PROGRAM OLYMP;
VAR M:INTEGER;
BEGIN READLN (M);
CASE M OF
1996: BEGIN
WRITELN (`Грек-рим күресі - Ю.Мельниченко`);
WRITELN (`Қазіргі бессайыс - А.Парыгин`);
WRITELN (`Бокс - В.Жиров`);
2000: BEGIN
WRITELN (` Жеңіл атлетика - О.Шишигина`);
WRITELN (`Бокс - Б.Саттарханов, Е.Ибраимов`); END;
END.
13. Әртүрлі елдердің астаналары туралы мәлімет алу программасы.
PROGRAM COUNTRY; LABEL 10;
VAR M:INTEGER; X:STRING;
BEGIN READLN (X);
IF X=`Өзбекстан` THEN M:=1 ELSE IF X=Ресей` THEN M:=2
ELSE IF X= `Франция`THEN M:=3 ELSE IF X= `Жапония` THEN
M:=4 ELSE IF X=`Болгария` THEN M:=5 ELSE GOTO 10
CASE OF
1: WRITELN (`Астанасы - Ташкент, тұрғыны -2.5 млн. адам`);
2: WRITELN (`Астанасы - Москва, тұрғыны -7.2 млн. адам`);
3: WRITELN (`Астанасы - Париж, тұрғыны -6.5 млн. адам`);
4: WRITELN цикл денесі;
(`Астанасы - Токио, тұрғыны -12.8 млн. адам`);
5: WRITELN (`Астанасы - София, тұрғыны -3.5 млн. адам`);
END.
10: END.
1.9. Қайталану командалары.
Программаның белгілі бір бөлігін орындалуын бірнеше рет қайталау
үшін циклдық операторлар қолданылады. Қайталау саны цикл
ұйымдастырылғанда беріледі. Цикл тақырыптан және цикл денесінен тұрады.
Циклдерді ұйымдастыру үшін үш түрлі циклдық операторларды қолдануға болады.
1.FOR …DO циклдық операторы.
FOR K:=M TO N DO
цикл денесі;
керкі цикл болғанда:
FOR K: DOWNTO M
цикл денесі;
К - циклдық айнымалы (есептеуіш),
М- К айнымалысының алғашқы мәні,
N - К айнымалысының соңғы мәні.
К айнымалысының мәні соңғы мәннен асып кеткенше
цикл орындалады.
2. WHILE…DO циклдық операторы.
WHILE шарт DO цикл денесі;
Алдында көрсетілген шарт орындалғанша цикл орындалады.
Шартта көрсетілетін айнымалылар циклдың алдында енгізіледі.
3. REPEAT…UNTIL циклдык операторы.
REPEAT
цикл денесі;
UNTIL шарт;
Соңында көрсетілген шарт орындалғанша цикл орындалады.
Шартта көрсетілетін айнымалылар циклдың алдында енгізіледі.
Циклдік программалар құру.
14.FOR циклімен берілген қатарлар қосындысын табу.
S=1+2+3+4+…+N, яғни 1-ден n-ге дейінгі сандардың қосындысын
табуға программа құру.
А)
PROGRAM SUMMA;
VAR S,K,N:INTEGER;
BEGIN READLN (N); S:=O;
FOR K:=1 TO N DO S:=S+K;
WRITELN (`S=`,S);
END.
B)
PROGRAM PROIZV; {S=1*2*3*4*…*N}
VAR K,N:INTEGER;
S:LONGINT;
BEGIN
READLN (N); S:=1;
FOR K:=1 TO N DO
S :=S*K;
WRITELN (`S=`,S);
END.
C) PROGRAM SUMMA; {S=10*X5+15*X8 +20*X 11+25*X 14}
VAR K,N:INTEGER;
S:LONGINT;
BEGIN READLN (X); S:=O; P:=X*X;
FOR K:=6 TO N DO
BEGIN K:=K+4;P:=P*X*X*X; S:=S+K*P; END;
WRITELN (`S=`,S);
END.
D)
PROGRAM SUMMA;
{S=5*COS(X)+9*COS(X)+13*COS(X)+17*COS(X)}
VAR K,N:INTEGER;
S,X:REAL;
BEGIN READLN (X); S:=O;
FOR K:=2 TO 17 DO
BEGIN K:=K+3; S:=S+K*COS(X); END;
WRITELN (`S=`,S);
END.
E) PROGRAM SUMMA;
{S=(5*X+10)+(10*X+15)+(15*X+20)+(20*X+25)}
VAR S,K,N:INTEGER;
BEGIN READLN (X); S:=O;
FOR K:=1 TO 20 DO
BEGIN K:=K+4; S:=S+(K*X+(K+5)); END;
WRITELN (`S=`,S);
END.
15.WHILE циклімен берілген қатарлар көбейтіндісін табу.
A)
PROGRAM PROIZ; {S=(5*X+10)+(5*X4+20)+(5*X7 +30)+(5*X11+40)}
VAR K,N:INTEGER; P,T:REAL;
BEGIN READLN (X);
P:=1;T:=1/SQR(X); K:=10
WHILE K
BEGIN T:=T*X*X*X; P:=P*(5*T+K);K:=K+10; END;
WRITELN (`P=`,P:10:2);
END.
B)
PROGRAM PROIZ;
{P=(COS(4*X)+SIN(6*X))*(COS(8*X) +SIN(10*X))}
VAR K:INTEGER; P,X:REAL;
BEGIN READLN (X); P:=1;K:=4
WHILE K
BEGIN P:=P*(COS(K*X)+SIN((K+2)*X)); K:=K+4; END;
WRITELN (`P=`,P:10:2);
END.
16. Үш таңбалы барлық жәй сандарды экранға шығару.
PROGRAM PROST;
CONST X=101; Y=997;
VAR K,I.,F,R:INTEGER;
BEGIN R:=0
FOR K:=X TO Y DO
BEGIN F:=0
FOR I:=2 TO K DIV 2 DO
IF K MOD I=0 THEN F:=1; IF F=0 THEN
WRITELN (K,`жәй сан);
END;
END.
Б) Осы программаны 12345 паролімен ашу.
PROGRAM PROST;
CONST X=2; Y=999;
VAR P:INTEGER;
K,I.,F,R:INTEGER;
BEGIN
REPEAT
WRITE(`пароль енгізу`);
READ (P);
UNTIL P=12345;
R:=0 FOR K:=X TO Y DO
BEGIN F:=0;
FOR 1:=2 TO K DIV 2 DO
IF K MOD I=0 THEN F:=1
IF F=0 THEN WRITELN (K,`жәй сан);
END;
END.
17. Ең кіші ортақ көбейтіндіні табу.
PROGRAM EKOK;
VAR K,I,N,M,OK,OD: INTEGER;
BEGIN
REPEAT READLN (N,M);
UNTIL (N0) AND (M0);
IF NM THEN I:=M EISE I:=N;
FOR K:=1 TO I DO
IF (N MOD K=0) AND (M MOD K=0) THEN
OD:=K;
OK:=OD*(N DIV OD)*(M DIV OD);
WRITELN (`EKOK=`,OK); END.
18. X-тің Y дәрежесі программасы.
PROGRAM DAR; {S=X }
VAR K,X,Y: INTEGER;
S:LONGINT;
BEGIN READLN (X,Y); S:=1;
FOR K:=1 TO Y DO S:=S*X;
WRITELN (`X-тің Y дәрежесі=`,S);
END.
Б) Дәл осы программа 123456 паролімен кіретін қылып құру.
PROGRAM DAR; {S=X }
LABEL 1,2;
VAR P:STRING;
K,X,Y: INTEGER; S:LONGINT;
BEGIN WRITE (`Пароль енгізу`);
1:READLN (P);
IF P = `123456 THEN GOTO 2 ELSE
BEGIN
WRITELN ('Пароль дұрыс емес, қайта енгізіңіз'); GOTO 1END;
2:WRITELN ('Дұрыс, айнымалыларды енгіз');
READLN(X,Y);S:=1
FOR K:=1 TO Y DO S:=S*X
WRITELN (?X-тің Y дәрежесі=',S);
END.
19.Афтоморфрты сандар шығару.
(афтоморфты сан өзінің квадратының соңғы разрядына тең)
PROGRAM AFTOM;
VAR N,R,M:INTEGER;
BEGIN REPEAT READLN (N); UNTIL N0;
M:=N; R:=1; WRITELN ('M=',M);
WHILE M0 DO BEGIN M:=M DIV 10;
R:=R-10; END; IF (N*N MOD R)=N
THEN WRITLEN (N,'- афтоморфты');
ELSE WRIYELN (N,'-афтоморфты');
END.
20. Санның палиндром екенін анықтау.
(11,22,111,121,131,141,...,323,...,939,...)
PROGRAM PALINDR;
VAR N,R,M,K,L:INTEGER;
F:BOOLEAN;
BEGIN REPEAT READLN (N); UNTIL N10
M:=N; R:=1; K:=1; F:=FALSE;
WHILE M DIV 100 DO
BEGIN M:= DIV 10;
R:=R*10; K:=K+1; END; M:=N;
FOR I:=1 TO K DIV 2 DO BEGIN
IF M DIV R M MOD 10 THEN F:=TRUE;
M:=( M MOD R) DIV 10; R:=R DIV 100; END;
IF F THEN WRITELN (N,'-ПАЛИНДРОМ'); ЕLSЕ
WRITELN (N' ПАЛИНДРОМ ЕМЕС');
END.
1.10. процедуралар мен функциялар.
Программалау барысында кей жағдайларда, бір типті есептеулерге бірнеше
программалар құруға тура келеді. Осындайда артық жұмыс жасамай, барлық
есептеулерді бір ғана программа ішінде орындау үшін, көмекші программалар-
процедуралар немесе функциялар қолданылады. Процедуралар мен функциялар
программаның орындалу барысында бірнеше рет қайталанып тұратын бірнеше
операторлардан тұратын көмекші бөлігі. Программада бірнеше процедура
немесе функция болуы мүмкін. Сол,сияқты көмекші программаның да өз көмекші
программасы болуы мүмкін. Негізгі программаның сипаттамалар бөлімінде
жазылған индефекаторлар көмекші программаның ішінде де жұмыс істей береді.
Программа орындалу барысында негізгі программа шақырылады.
Процедура орындалу барысында бірнеше нәтиже алады, ал функцияның нәтижесі
бір ғана мән алады көмекші программалардың да негізі программа сииқты.
а) көмекші программа аты, параметрлері жазылатын тақырыптан;
ә) көмекші программада кездесетін индефекаторларды сипаттау бөлімінен;
б) операторлардан тұратын программа денесінен тұрады.
Процедураның жазылуы:
PROCEDURE Аты (формальды параметрлер); (*Тақырыбы*)
Сипаттамалар бөлімі; (* Бұл бөлім болмауы да мүмкін*)
BEGIN
Операторлар;
END;
Функцияның жазылуы:
FUNCTIION аты (формальді параметрлер): Типі;
Сипаттамалар бөлімі;
BEGIN Операторлар; END;
Процедура мен функциялардың нақты және формальді параметрлері болады.
Программа орындалу барысында есептелетін параметрлер нақты деп,
ал көмекші программалардың сипаттамасында көрсетілетін параметрлер
формальды деп аталады. Нақты және формальды параметрлердің типі, саны,
реттілігі сәйкес болуы тиіс. Олар бірдей белгіленуі де мүмкін. Нақты параметрлер
тұрақтылардан, айнымалылардан және өрнектерден тұруы мүмкін. Кей
процедуралар параметрлері болмауы да мүмкін.
Негізгі программада процедураны пайдалану үшін процедураның атын нақты
параметрлермен жазып шақырады .
Мысалы программа тақырыбы төмендегідей болса:
PROCEDURE SUMMA (N,M,X INTEGER);
Онда процедураны программада мынадай жолмен шақыруға болады:
SUMMA (19, А,50);
Жақшадағы19, А, 50 - нақты параметрлер болып табылады.
Сонда процедурадағы формальды параметрлер мынадай мәндерге ие болады:
N=19, M=А, X=50.
Сонымен программада процедура шақыру процесіне формальды
параметрлерді нақты параметрлердің мәнімен ауыстыру болып табылады.
Процедураның параметрлері мәндік және айнымалы болып бөлінеді.
Мәндік (аргументтік) параметрлер тек қана нақты параметрлердің мәнін
өзіне қабылдайды да , қайтып оларға өзінің мәнін бере алмайды. Ал айнымалы
параметрлер нақты орындалу барысында өзгертіп, нақты параметрлерге
жаңа мәндерін қайтып береді. Айнымалы параметрлердің алдына қызметші
сөздер қойылып жазылады
. Мысылы:
PROCEDURE PRIMER (A,B:INTEGER; VAR X,Y:INTEGER);
VAR S: ITEGER;
BEGIN
S:=A+5*B;
X:=SQR (S);
Y:=SQR (X);
END;
Бұл процедураны былай жазып шақыруға болады:
PRIMER (10,5,K,I);
Нәтижесінде:
а) формальді параметрлер 10, 5, K, І нақты параметрлердің мәнін қабылдап,
ә) процедура орындалады да,
б)X-пен Y өздерінің жаңа мәндерін K-мен І-ге береді.
1) A=10, B=5, X=K, Y=I,
2) S=10+5*5=35,
X=35*35=1225,
Y=1225*1225=1500625,
3) K=X=1225,
I=Y=1500625.
Функциялар процедуралар сияқты шақырылады.
Мысалы 1-ден 15- ке дейінгі және 1-ден 9- ға дейінгі қосындылардың
көбейтіндісін алу программасында қосынды табуға
SUMMA функциясын қолдануға болады.
FUNCTION SUMMA (M:INTEGER):INTEGER;
BEGIN
S:=0;
FOR K:=1 TO M DO
S:=S+K; SUMMA:= S;
END;
BEGIN P:=SUM(15)+SUM(9);
WRITELN('Көбейтінді ='P);
END.
1.11 Массивтер
Индексті айнымалылардың жиынтығы - массивтер дейді.
Массивтерді программада қолдану үшін, оларға белгілі
бір ат беріледі. Содан соң программаның VAR бөлімінде
ARRAY қызметші сөзімен сипаттап, компьютердің жадынан
массив элементтеріне орын бөледі. Массивтер бір өлшемді
және екі өлшемді (матрицалар) болып бөлінеді. Массив
элементтерін өндіру және шығару цикл арқылы жүзеге
асырылады. Екі өлшемді массивтердің бірінші индексі қатардың,
ал екіншісі - бағанның номерін білдіреді. Екі өлшемді массивтерді
ендіргенде екі цикл ұйымдастырылады, сыртқы цикл - қатарлар
бойынша және ішкі цикл - бағандар номері бойынша.
Бір өлшемді массивтердің сипатталу түрлері:
CONST N=100; { N-элементтер саны}
TYPE MAS=ARRAY [1..N] OF REAL;
VAR A: MAS;
Немесе бірден VAR бөлімінде:
CONST N=100;
VAR A: ARRAY[1..N] OF REAL;
Екі өлшемді массивтер (матрицалар) сипатталу түрлері:
CONST N =100; M=100;
TYPE MAS = ARRAY [1..N, 1..M] OF REAL;
{N- қатарлар саны, М- бағдар саны}
1.11 Массивтер(жалғасы).
Массивтерге программа құру.
21. Массивтің теріс элементтерінің қосындысын шығару.
' PROGRAM PR1;
CONST N=20;
VAR K:INTEGER;X:ARRAY [1..N] OF REAL;
S:REAL;
BEGIN FOR K:=1 TO N DO REFD (X[K]);
S:=0; FOR K:=1 TO N DO IF X [K]
THEN S:=S+X [K];
WRITELN (Теріс элементтер қосындысы',S:7:2); END.
22. Массивтің 5-тен үлкен элементтерінің көбейтіндісі.
PROGRAM PROIZV;
CONST N=20;
VAR K,N:INTEGER;
X:ARRAY [1..100] OF REAL; S: REAL;
BEGIN WRITLEN ('Массиф элементтерінің санын енгіз');
READ (N); FOR K:=1 TO N DO IF X[K] 5 THEN
S:=S*X[K];
WRITELN ('5 -тен үлкен элементтер қосындысы=',S:7:2); END.
23. Массивтің тақ номерлері элементтерінің ішінде 0-ге тең
элементтерінің санын шығару.
PROGRAM POV;
TYPE MAS=ARRAY[1..10] OF REAL;
VAR K: ITEGER; X:MAS; S: REAL;
BEGIN
FOR K:=1 TO 10 DO READ (X[K]);
S:=0;
FOR K:=0 TO 9 DO BEGIN K:=K+1; IF X [K]=0 THEN
S:=S+1; END;
WRITELN ('0-ге тең элементтер саны=',S:7:2); END.
24. Массивтің жұп номерлері элементтерінің ішінде
5-тен артық элементтерінің номерін экранға шығару.
PROGRAM POV;
TYPE MAS =ARRAY [1..10] OF REAL;
VAR K: INTEGER; X:MAS; S:REAL;
BEGIN
FOR K:=1 TO 10 DO READ (X[K]);
S:=0;
FOR K:=1 TO 10DO
BEGIN K:=K+1; IF X[K]5THEN
WRITELN ('5-тен үлкен элементтер саны =',K); END'END.
25.Массивтің бүтін элементтерін шығару.
PROGRAM 2PR2;
CONST N=5;
VAR A:?ARRAY [1..N] OF REAL;
P,K:INTEGER;
BEGIN
FOR K:=1 TO N DO
IF A [K]=TRUNC(A [K]) THEN P:=P+1;
WRITELN(?бүтін элементтер=?,P); END.
26.Массивтің жұп элементтерінің санын табу.
PROGRAM PR3;
CNST N=15;
VAR A: ARRAY[1..N]OF INTEGER;
P,K,I:INTEGER;
BEGIN
FOR K:=1 TO N DO
IF ODD(A[K]) THEN P:=P+1;
I:=N-P;
WRITELN('Жұп элементтер саны=',); END.
27. Массивтің тақ элементтерін экранға шығару.
PROGRAM NESHETN;
LABEL 1;
CONST N=15;
VAR A:ARRAY [1..N] OF INTEGER;
P,K:INTEGER;
BEGIN
FOR K:=1 TO N DO READ (A[K]);
P:=0;
FOR K:=1 TO NDO
BEGIN
IF ODD (A[K]) THEN GOTO 1 ELSE
WRITELN(?Тақ элемент=?,A[K]);
1:END;END.
28.Массивтің ең үлкен элементін шығару.
A) DOWNTO операторымен
PROGRAM MAX; CONST N=10;
VAR A:ARRAY [1..N] OF REAL; P:REAL; K,I:INEGER;
BEGIN FOR K:=1 TO N DO READ ( A[K]);
P:=A[N]; I:=N;
FOR K:=N DOWNTO 1 DO
IF A[K]P THEN BEGIN I:=K; P:=A[K] END;
WRITELN('Ең үлкен элемент='A[I]:4:2);
END.
В) ТО операторымен
PROGRAM MAX;
CONST N=10;
VAR A:ARRAY [1..N]OF REAL; P:REAL;
K,I:INTEGER;
BEGIN
FOR K:=1 TO N DO READ (A[K]);
P:=A[1]; I:=N;
FOR K:=1 TO N DO
IF A[K] P THEN BEGIN I:=K; P:=A[K] END;
WRITELN (?=Ең үлкен элемент?,A[I]:4:2);
END.
29. Спортсмендерге қорытынды баға шығару программасы.
( Гимнастика жарысында спортсмендердің жаттығуларын 10 төреші бағалайды.
Қорытынды баға шығарғанда, жарыс ережесі бойынша жалпы бағадан
спортсменнің ең төменгі және ең жоғарғы алған бағаларын бір- бірден алып тастап,
арифметикалық ортасын шығарады.
PROGRAM SRBALL;
VAR X:ARRAY [1..10] OF INTEGER;
A: REAL; K,S, MAX, MIN:INTEGER;
BEGIN
FOR K:=TO 10 DO READ (X[K]);
MIN:=X[1];
FOR K:=2 TO 10DO
IF X[K]MAX THEN MAX:=X[K];
S:=0;
FOR K:=1 TO 10 DO S:= S+X[K]; A:= (S-MIN-MAX)/8;
WRITELN (?Қорытынды баға A=?,A[I]:7:3);
END.
30. Массив элементтерін кему бойынша реттеу.
PROGRAM UBIV;
VAR K,I:INTEGER;
X:ARRAY [1..10] OF INTEGER;
S,MAX,A:INTEGER;
BEGIN
FOR K:=1 TO 10 DO READ (X[K]);
FOR K:=10 DOWNTO I DO
IF X[K] MAX THEN
BEGIN A:=K; MAX:=X[K]) END;
X[A]:=X[I];
X[I]:=MAX;
END;
FOR K:=1 TO 10 DO WRITELN ('X[K]:5);
END.
31.Сыныптағы әр оқушының үлгірім проценті берілген,
үлгірімі ең төмен оқушының сыныптың орта үлгірім процентіне
жетуі үшін үлгірімін қанша процентке арттыру керектігін есептеу
программасы.
PROGRAM UKP;
VAR K,I:INTEGER;
X:ARRAY [1..20] OF REAL;
S,MIN,A:REAL;
BEGIN
PEREAT
READLN (X[1]0);
UNTIL (X[1]0);
MIN:=X[1]; S:=MIN;
FOR K:=2 TO 20 DO
BEGIN
REPEAT
READLN (X[K]);
UNTIL (X[1]0);
S:=S+X[K];
IF MINX[K] THEN MIN:=X[K]
END;
WRITELN(?үлгірімді-',(S/5-MIN):7:2,'- процентке көбейту қажет');
END.
42. Массив элементтерін ендіру, шығару процедурасын құру маысалдары.
А-вартанты
PROGRAM KOM1;
CONST N=5;
TYPE MAS=ARRAY [1..N] OF INTEGER;
VAR A,B:MAS; S,P,K:INTEGER;
PROCEDURE INP (N:INTEGER; VAR X: MAS);
BEGIN
FOR K:=1 TON DO
READ (X[K]);
END;
PROCEDURE
OUT (N:INTEGER; VAR X:MAS; VAR S,P:INTEGER);
BEGIN S:=0; P:=1;
FOR K:=1 TO N DO
BEGIN S:=S+X[K]; P:=P*X[K]; P:=P*X[K] END;
END;
BEGIN INP (N,A,); OUT (N,A,S,P);
WRITELN ('SUM=',S);
WRITELN ('PROIZ='P,);
INP (N,B); OUT (N,B,S,P);
WRITELN('SUM=', S);
WRITELN('PROIZ=',P);
END.
PROGRAM KOM2;
CONST N =5;
VAR X,A,B:ARRAY[1..N] OF ITEGER;
S,P, K:INTEGER;
PROCEDURE INP;
BEGIN
FOR K:=1 TO N DO READ (X[K]);
END;
PROCEDURE OUT;
BEGIN S:=0; P:=P*X[K] END;
END;
BEGIN INP; OUT;
WRITELN ('SUM=',S);
WRITELN('PROIZ=',P);
INP; OUT;
WRITELN ('SUM=',S);
WRITELN ('PROIZ=',P);
END.
43. Шеңбердің ауданын, ұзындығын және центрінің коордмнаттар
ортасына дейінгі қашықтықты есептеу процедурасы.
А-варианты.
PROGRAM KOM3;
COST PI=3.14;
VAR X,R,Y:REAL;
S,L,P:REAL;
PROCEDURE SHENBER (R,X,Y:REAL; S,L,P:REAL);
BEGIN
S:=2*PI* SQR (R); L:=2*PI*;=SQRT (X*X+Y*Y);
END
BEGIN
READ(R,X,Y);
SHENBER (R,X,Y,S,L,P);
WRITELN('аудан=',S:4:2);
WRITELN('ұзындық=',L:4:2);
WRITELN('қашықтық=',P:4:2); END.
В-варианты
PROGRAM SUM4;
VAR N,M,T,P,K:INTEGER;S:LONGINT;
FUNCTION FACT(M:INTEGER): LONGINT;
BEGIN
1,17 Олимпиада есептерінен мысал.
32. 36-дан 5 цифр табу лотореясының программасын құру.
PROGRAM BINGO;
USES CRT; LABEL 1,2,;
VAR K,I:INTEGER; X:ARRAY [1..5] OF INTEGER;
BEGIN CLRSCR;
WRITELN ('ойынды бастау үшін ENTER бас');
READLN;
RANDOMIZE;
FOR K:=1 TO 5DO
BEGIN WRITE (K,'шардың номері-');
1:X[K]:=RANDOM (36)+1;
(*1-36 арасындағы кездейсоқ сан шығару*)
DELAY (65000); (*үзіліс жасау*)
IF K= 1 THEN GOTO 2 ELSE
FJR I:=1 TO K-1 DO
(* бұрын кездескен шкрларды алып тастау*)
IF X[K] =X[I] THEN GOTO 1;
2: WRITELN (X[K]);
END;
REPEAT UNTIL KEYPRESSED;
(*Программадан шығу үшін кез-келген пернені бас*)
END.
33. Жылдық жаз айларының, қыс айларының, көктем және күз
айларының орта температурасын шығару.
PROGRAM SRTEMP;
VAR K:INTEGER;
X:ARRAY [1..12] OF INTEGER;
S,S1,S2,S3:INTEGER;
BEGIN
FOR K:=1 TO 12 DO READ (X[K]);
S:=0;
FOR K:=1 TO 12 DO S:=S+(X[K]);
S1:=0
FOR K:=6 TO 12 DO S1:=S1+(X[K]);
S2:=0
FOR K:=1 TO 12 DO IF (K11) THEN S2:=S2+(X[K]);
S3:=0
FOR K:=3 TO 11 DO IF (K8) THEN S3:=S3+(X[K]);
WRITELN('жылдық орта температура=',S/12:7:2);
WRITELN('жаздық арта темпереатура =',S1/3:7:3);
WRITELN('қыстық орта температура=',S2/3:7:3);
WRITELN('күздік - көктемдік орта температура=',S3/6:7:3);
END.
34. Кезектегі 100 адамның ішінде ең бірінші тұрған әйел
кісінің жалпы кезектегі орнын анықтау.
PROGRAM WOMEN;
CONST N =100;
VAR A:ARRAY [1..N] OF STRING;
K:ITEGER;
BEGIN
F:=0;
FOR K:=1 TO N DO
READLN (A[K]='WOMEN') AND (F:=0) THEN
BEGIN F:=1;
WRITELN('1-ші әйел жалпы кезекте',K,'болып тұр');
END;END.
35. Арулар конкурсының бірінші турына қатысқан 17 қыздың екінші
турға шыққандарының саны мен аттарын шығару.
(жарыс шарты бойынша 2 турға 1 турдан 65-тен жоғары балл алған,
бойы 165 пен 175-тің арасында және салмағы 60-тан аспайтын қыздар шығады.)
PROGRAM KON;
VAR A,B,C:ARRAY[1..N] OF REAL;
(*A-1 турда алған балл, В-бойы, С-салмағы*)
S,P:ARRAY [1..N] OF STRING;
(*S-қыздардың аты, Р-2 турға өткендер*)
K,I,M:INTEGER;
BEGIN
FOR K:=1 TO N DO
BEGIN
READLN (S[K]); READLN (A[K],B[K],C,[K]);
END;
M:=0;
FOR K:=1 TO N DO
IF (A[K]70) AND (B[K]165)
AND (B[K]
BEGIN M:=M+1; I:=M; P[I]:=S[K] END;
WRITELN ('2- турға шыққандар саны -',M,'олар:');
FOR I:=1 TO M DO WRITELN (P[I]);
END.
36. Матрицаның оң элементтерінің санын табу.
PROGRAM MART;
CONST N=3; M=4;
VAR A:ARRAY [1..N,1..M] OF INTEGER;
K,I,S:INTEGER;
BEGIN
FOR K:=1 TO N DO
FOR I:= 1 TO M DO
READ (A[K,I]);
S:=0;
FOR K:=1 TO N DO
FOR I:=1 TO M DO
IF A [K,I]0 THEN S:=S+1;
WRITELN ('POL=',S); END.
37.Матрицаның екінші қатарындағы теріс элементтердің қосындысын табу.
PROGRAM MART;
CONST N=10; M=7;
VAR A:ARRAY [1..N,1..M] OF REAL;
K,I:INTEGER; S: REAL;
BEGIN
FOR K:=1 TO N DO
FOR I:=1 TO M DO
S:=0;
FOR K: = 2 TO M DO
FOR I:= 1 TO M DO
IF A[K,I]
WRITELN('теріс элементтер саны=',S); END.
38. Матрицаның соңғы екі бағанындағы тақ элементтердің қосындысын табу.
PROGRAM MART;
VAR A: ARRAY [1..10,1..7] OF INTEGER;
K,I,S:INTEGER;
BEGIN
FOR K:=1 TO 10 DO
FOR I:=1 TO 7 DO
READ (A[K,I]);
S:=0;
FOR K:=1 TO 10 DO
FOR K:=5 TO 4 DO
IF ODD (A[K,I]) THEN S:=S+A[K,I];
WRITELN (' тақ элементтер саны=',S);
END.
39. Матрицаның ең кіші элементі мен оның реттік номерін шығару.
PROGRAM MART;
CONST N=3, M=4;
VAR A:ARRAY [1..N, 1..M] OF INTEGER;
K,I,KMIN,IMIN:ITEGER;
BEGIN
FOR K:= 1 TO B D
FOR I:= 1 TO M DO
READ (A[K,I]); MIN:=A[1,1]; KMIN:=1; IMIN:=1;
FOR K:= 1 TO N DO
FORI:=2 TO M DO
IF MINA [K,I] THEN BEGIN
KMIN:=K; IMIN:=I; MIN:=A[K,I]; END;
WRITELN ('MIN=',MIN,'қатары-',KMIN,'бағаны-', IMIN);
END.
40. Матрицаның ең кіші элементтерін, олардың санымен
реттік номерін шығару.
PRIGRA MART;
CONST N=3; M=4;
VAR A:ARRAY [1..N,1..M] OF INTEGER;
B:ARRAY [1..N*M,1..2] OF ITEGER;
K,I,P,MIN,KMIN,IMIN:INTEGER;
BEGIN
FOR K:=1 TO N DO
FOR I:=1 TO M DO READ (A[K,I]);
MIN:=A [1,1]; P:=0;
KMIN::=1; IMIN:=1;
FOR K:= 1 TO N DO
FOR I:=1 TO M DO
IF MINA[K,I] THEN BEGIN
P:=1; MIN:=K; IMIN:=I;
MIN:=A [K,I]; END
ELSE IF MIN:=A[K,I] THEN BEGIN
P:=P+1; B[P,1]:=K; B[P,2]:=I; END;
IF P:= 1 THEN
WRITELN ('матрица 1 MIN бар-',MIN,' оны қатары-', KMIN, 'бағаны-', IMIN);
ELSE BEGIN
WRITELN(min эл. саны-',Р,' оның мәні MIN=',MIN);
FOR K:= 1 TO P DO
WRITELN('тұрған қатары-',В [K,1],' бағаны-', B[K,2]);
END; END.
41. Матрицаның элементтерін алфавит бойынша реттеу.
PROGRAM MART;
CONST N=3; M=4;
VAR A:ARRAY [1..N,1..M] OF CHAR;
K,I,J:INTEGER; MIN: CHAR;
BEGIN FOR K:=1 TO N DO
FORI:=1 TO M DO READ (A[K,I]);
FOR K:=1 TO N DO BEGIN
FOR J:=1 TO M-1 DO
FOR I:= J TO M DO
IF A[K,J] A[K,I] THEN
BEGIN MIN:= A [K,J];
A[K,J]:=A[K,I]; A[K,I]:=MIN; END;
END;
FOR K:=1 TO N DO BEGIN
FOR I:=1 TO M DO
WRITE (A[K,I]);
WRITELN; END;
END.
Көмекші программалар құру.
42. Массив элементтерін ендіру, шығару процедурасын құру мысалдары.
А-вартанты
PROGRAM KOM1;
CONST N=5;
TYPE MAS=ARRAY [1..N] OF INTEGER;
VAR A,B:MAS; S,P,K:INTEGER;
PROCEDURE INP (N:INTEGER; VAR X: MAS);
BEGIN
FOR K:=1 TON DO
READ (X[K]);
END;
PROCEDURE
OUT (N:INTEGER; VAR X:MAS; VAR S,P:INTEGER);
BEGIN S:=0; P:=1;
FOR K:=1 TO N DO
BEGIN S:=S+X[K]; P:=P*X[K]; P:=P*X[K] END;
END;
BEGIN INP (N,A,); OUT (N,A,S,P);
WRITELN ('SUM=',S);
WRITELN ('PROIZ='P,);
INP (N,B); OUT (N,B,S,P);
WRITELN('SUM=', S);
WRITELN('PROIZ=',P);
END.
PROGRAM KOM2;
CONST N =5;
VAR X,A,B:ARRAY[1..N] OF ITEGER;
S,P, K:INTEGER;
PROCEDURE INP;
BEGIN
FOR K:=1 TO N DO READ (X[K]);
END;
PROCEDURE OUT;
BEGIN S:=0; P:=P*X[K] END;
END;
BEGIN INP; OUT;
WRITELN ('SUM=',S);
WRITELN('PROIZ=',P);
INP; OUT;
WRITELN ('SUM=',S);
WRITELN ('PROIZ=',P);
END.
43. Шеңбердің ауданын, ұзындығын және центрінің коордмнаттар
ортасына дейінгі қашықтықты есептеу процедурасы.
А-варианты.
PROGRAM KOM3;
COST PI=3.14;
VAR X,R,Y:REAL;
S,L,P:REAL;
PROCEDURE SHENBER (R,X,Y:REAL; S,L,P:REAL);
BEGIN
S:=2*PI* SQR (R); L:=2*PI*;=SQRT (X*X+Y*Y);
END
BEGIN
READ(R,X,Y);
SHENBER (R,X,Y,S,L,P);
WRITELN('аудан=',S:4:2);
WRITELN('ұзындық=',L:4:2);
WRITELN('қашықтық=',P:4:2); END.
В-варианты
PROGRAM SUM4;
VAR N,M,T,P,K:INTEGER;S:LONGINT;
FUNCTION FACT(M:INTEGER): LONGINT;
BEGIN
алған фрагментті өшіру.
1. t17 болса, қайсысы жалған болады?
а)r=17
в)r212 жјне t1000
с)t=17.01.
d)t17 жјне t
e)t=19
2)Алгоритм ҝзіндісі орындаләанда
у:=0.5; х:=7.5; егер х5 жјне y1онда y:=y+1;бітті; y:=y+1
y-тіҫ мјні нешеге теҫ?
a)1
b)0
c)1.5
d)2.5
e)0.5
3. Келесі операторлар орындаләаннан кейін
z:=0; if x0 then if y0 then z:=1 else z:=2;
мўндаәы x=-1; y=1; z айнымалысыныҫ мјні неге теҫ?
a)1
b)0
c)2
d)4
e)-1
4. Программа келесі фрагментті орындаәаннан кейін:
d=50: k=25; IF DK then
p=d|d if d /k then k=2, p жјне k теҫ болады?
a)p=2500, k=2
b)p=2, k=25
c)p=1, k=25
d)p=2, k=50
e)p=50, k=25
5. Егер А С-дан ҝлкен немесе теҫ болса, онда в=5 шартына
сјйкес келетін программа фрагментін кҙрсетіҫіз
а) Егер А=В онда В:=5
в) Егер АВ=С онда В:=5
c) Егер АС онда В:=5
d) Егер (АВ) немесе (В-С) онда В:=5
6. Келесі тізбектер шартты оператор бола ала ма?
а,в,z-жай айнымалылар. IF=D then 100 else z:=5
а) Шартта қате бар
в) Қате жоқ
c) else бҙлігінде қате бар
d) then бҙлігінде қате бар
e) Шартты оператор дўрыс жазыләан
7.Қандай жаәдайда тармақты қўрылымды алгоритм
қолданылады?
а)Ішкі программаәа ҙтуде
b)Егер қандайда бір шартқа байланысты операторлар
тізбектерініҫ бірін қарастыруда
c)Јртҝрлі операторларды қайталау керек болса
d)Анықталәан операторәа ҙтуде
e)Операторлар жиынын бірнеше рет қайталау керек болса
8.Егер -нақты болса, Паскаль жазбаларында қанша қате бар?
a)2
b)1
c)0
d)3
e)4
9.Мына командалар орындаләанда у-тіҫ мјні неге теҫ болады?
x=2; y=x+3
x=x+1; y=3*y
a)18
b)-10
c)0
d)6.5
e)17
10.Қатені табыҫыз: алгоритм тҝріне қарай ... болуы мҝмкін?
a)Тармақты
b)Кестені
c)Циклдік
d)Бір уақытта қайталану жјне тармақталу
e)Сызықты
11.Меншіктеу операторыныҫ жалпы ҝлгісі?
a):В
b)А=В
c)А:=B
d) =B
e) =A
12.Массив дегеніміз не?
a)Бір атауәа жиналәан мјндер жиынтыәы
b)Біріктірілген мјндер жиынтыәы.
c)Атауәа біріктірілген мјндер жиынтыәы
d)Бірнеше атауәа біріктірілген мјндер жиынтыәы
e)Бір атауәа біріктірілген мјндер жиынтыәы
13.15 нақты, 12 бҝтін саннан, 13 символдық шамадан
тўратын массивті сипатта
a)DIM A%(15), B(12), C$(13)
b)DIM A(15), B$(12), C%(13)
c)DIM A(15), B%(12), C$(13)
d)DIM A$(15), B$(12), C(13)
e) DIM A(15), B$(12), C(13)
14.Массивті сипаттау ҝшін қандай қызметші сҙз қолданылады.
a) array, of
b)label
c)goto
d)case, of
e)else,end
15.Келесі алгоритм орындау нјтижесінде m- айнымал
мјні неге теҫ болады?
m=b(1):
for i=1 to n if B(i)0 then s=s+a(i) else if a(i)
a)Оҫ элементтері тауып , қосындысын есептейді.
b)Теріс элементтерді тауып , қосындысын есептейміз.
c)Теріс элементтерініҫ қосындысын, оҫ элементтердіҫ
санын есептейді.
d)Оҫ элементтердіҫ қосындысын , теріс элементтердіҫ
санын есептейді.
e)Теріс элементтердіҫ санын есептейді.
18Var F,B:array [1...15.0..8] of real ; t:boolean;
Кҙзсетілген операциялардыҫ қайсысы мҝмкін емес. (Поскаль).
a) A:=B
b)T:=AB
c)read (A)
d)A=B
e) A[2.3]:=B[4] [8]+B[1.1]
19.DIM А(12)операторымен сипатталәан массивте қанша элемент бар?
a)12
b)13
c)Зердедегі бос орынәа байланысты
d)12, егер бҝтін сандар болса
e)12, егер оҫ сандар болса
20. Берілген жолдыҫ ўзындыәын қайтаратын функция:
a) consat (s1, s2)
b) sin (s)
c) delete (s,i,c)
d) pos (s1, s2)
e)long (s)
21.Жолынан d таҫбаны j номеріне бастап кҙшіреді
a) Delete (k,j,d)
b) Copy (k,j,d)
c) INSERT (S1, S2, J)
d) STR (X,ST)
e) Delete (s,j,k)
22.Var t:=string [5] cипаттамасы берілген, t айнымалысы ҝшін
жадыдан неше байт орын бҙлінеді?
a)5
b)n
c)4
d)6
e) программаныҫ орындалу барысында анықталады.
23. Жолдық айнымалы белгілеу ҝшін қандай белгі қолданылады?
a) Айнымалы атыныҫ сол жаәына $ белгісі қойылады.
b) Айнымалы атыныҫ оҫ жаәына $ белгісі қойылады.
с) Айнымалы атыныҫ оҫ жаәына % белгісі қойылады.
d) Айнымалы атыныҫ сол жаәына # белгісі қойылады.
e) Айнымалы атыныҫ оҫ жаәына $ $белгісі қойылады.
24.Var SL:=string[5]; SL:= "информатика", берілген .Паскаль
тіліндегі процедура жјне функцияны пайдалана
отырып SL тексіндегі "М"символыныҫ реттік номерін қалай
табуәа болады?
a) POS ('M',sl)
b) POS ('M',sl,1)
c) instr (sl,'M')
d) POS(sl, 'M',1)
c) instr ('M',sl)
25. Паскаль тіліндегі таҫбалық процедура жјне функцияны
пайдалана отырып 7 санын "7" таҫбасына
тҝрлендіріп, нјтижесін S айнымалысына сақтаҫыз.
a) Val (S,7, Cod)
b) Val (7,S)
c) Str (7,S)
d) Str (S,7,cod)
e) Str (S,7,)
26.Ішкі программаныҫ соҫын кҙрсететін оператор...
a) Gosubn
b) End
c) Stop
d) Next
e) Return
27.Procedure p (a:integer: Var x:integer)
процедурасыныҫ сипаттамасы берілген.Тҙменгі процедураны
шақырудыҫ қайсысы дўрыс емес?
a) p(trwe,p)
b) p (в,Str (S,7,)
c) p (a)
d) p (a,в+1)
e) p (a,в)
Билет №1
1. Программаның структурасы. Стандартты функцияларды пайдалану.
2. Есеп. Жол және бағанның қиылысындағы әрбір элементтер номерлерінің қосындысының мәнін анықтайтын матрица құрыңдар. Әрбір жолдың қосындыларын есепте.
3. Есеп. Сандармен файл берілген. Клавиатура арқылы берілген барлық файлдың элементтерін басқа файлға көшіру керек.
Билет №2
Шартты оператор if.
Есеп. Бас диагональдағы элементтерді кему ретімен реттейтін программа құрастыр.
20 компоненттерден тұратын файлға программа құрастыр және қосындысын тап.
Билет №3
Көшу операторы go to. Таңдау операторы case.
Файлдың ішінде берілген сандарды кері шығару керек.
Есеп. Массив берілген. Ең үлкен және кіші элементтерін тап және орындарын ауыстыр. Оң элементтерінің қосындысын және теріс элементтердің санын табыңдар.
Билет №4
Қайталау операторы for. Факториал және дәрежені табу.
Есеп. Текст латын әріптерінен тұратын және нүктемен аяқталатын дауысты дыбысты әріптердің санын анықтау керек.
3. Есеп. а,в,с үш массиві берілген. Процедураның көмегімен ең үлкенін тап.
Билет №5
Қайталау операторы while. Қайталау операторы repeat…until.
Есеп. Мәтінде бос орындармен сөздер берілген. Мәтінде қанша сөз және ең үлкен сөзді анықта. (текстің ұзындығы 100 символ).
Есеп. Бас және екінші диагоналдардағы элементтердің қосындысын есепте.
Билет №6
1. Бір өлшемді массив берілген. Жазылуы. Негізгі массив элементтерінің операциялары. Массив элементтерін енгізу.
2. Есеп. Клавиатурадан енгізгенге дейінгі элементтерді бір файлдан екінші файлға көшіру программасын жаз.
3. Есеп. Текст берілген. Бірінші жолдағы «а»-ны «б»-ға ауыстыр.
Билет №7
1. Матрица. Жазылуы. Мысалдар. Негізгі массив элементтерінің операциялары.
2. Есеп. Берілген сөзде бірінші немесе соңғы әріп жиі кездесетіндігін анықтайтын программа жаз.
3. Есеп. 0...300 аралығындағы типі integer болатын кез-келген 100 санын файлға енгізетін программа құру керек. Файлдың ішінде 23,31,37,53 сандарының кездесетіндігін зерттеу керек.
Билет №8
1. Бір өлшемді массивті Көпіршік әдісімен ретте.
2. Типсіз файлдың әрбір бесінші элементін 5-ке ауыстыратын программа құру керек.
3. Есеп. Оқушының фамилиясы,аты және әкесінің аты берілген. Экранға фамилиясымен атын шығару керек.
Билет №9
1. Бір өлшемді массивті сызықтап реттеу (таңдау әдісі).
2. Есеп. Төрт санның ішіндегі үлкенін ішкі программаны пайдаланып екі санының ішіндегі үлкенін табатын программа құрастыр.
3. Есеп. Әр жолдағы элементтердің қосындысын есепте.
Билет №10
1. Матрицаны көпіршік әдісімен ретте (жол және баған бойынша).
2. Есеп. F(x) функциясының мәнін есептейтін программа жаз.
F(x)=
3. Есеп. Массив берілген. Бас және екінші диагональдардан ең үлкен элементті табу керек.
Билет №11
1. Матрицаны сызықтап реттеу. (жол және баған бойынша).
2. Есеп. Төмендегі қосындыны есептейтін программа құрастыр.
3. Есеп. Бос орындармен бөлінген, үш сөзден құралған сөйлемдегі ең қысқа сөздің ұзындығын есепте.
Билет №12
1. Матрицаның бас және екінші диагональдары.
2. Есеп. Файлдан текстіні оқитын «о»-ны «а» әріпіне ауыстыратын программа құрастыр.
3. Есеп. Массив берілген. Экранға тақ элементтерді шығаратын процедураны жаз.
Билет №13
1. Жолдық тип. Жолдың процедуралары және функциялары.
2. Есеп. N жолдан және N бағаннан тұратын матрица берілген. Екі бір өлшемді массивті құрастыр. Біріншіге матрицаның жұп, екіншіге тақ элементтерін жазу керек.
3. Есеп. 6 сан берілген.Процедура немесе функцияны пайдаланып 2 санның үлкенін тап.
Билет №14
1.Процедуралар,қолданушы жасаған процедуралар.
2.Есеп.Бір файлдағы жұп компоненттерді екінші файлға көшіретін программаны құр.
3.Есеп.Матрицаның бас диагоналіндегі орналасқан элементрерінің қосындысын тап.
Билет №15
1.Функция,қолданушы жасаған функция.
2.Есеп. Берілген сөзде жұп орында тұрған «у» әріпінің санын есептейтін программа құрастыр.
3.Есеп. Матрицаның бас диагоналіндегі ең үлкен және кіші элементтерін анықтап,олардың орнын ауыстыратын программа кұрастыр.
Билет №16
1.Файл.Файл типтері.Файлдың негізгі процедуралары және функциялары
2.Есеп. Төмендегі көбейтіндіні есептейтін программа құрастыр
Есеп. Әр жолдың элементтерінің қосындысын есептейтін программа жаз.
Билет №17
Санау жүйесі. Бір жүйеден екіншіге көшу.
Есеп. Квадрат матрицаның бас диагональдағы элементтері бірге тең, ал қалған элементтері нөлге тең болатындай программа құрастыр.
Есеп. Бір файлдағы 5-ке бөлінетін барлық элементтерін басқа файлға көшіретін программа құрастыр.
Билет №18
Графикалық режим. Басты процедуралары мен функциялары. Экран бетіндегі қозғалысты ұйымдастыру.
Есеп. Екінші диагональда жатқан элементтердің қосындысын есептейтін программа құрастыр.
Есеп. K санының факториалын есептейтін for цикл операторын пайдаланып
1!+2!+3!+...+n! қосындысын есепте.
Тест№1
Сандардың аталу және жазылу ережелері мен әдістерінің жиынтығы не деп аталады?
а) Санау жүйесі
б) Логика
в) Паскаль
г) Екінші санау жүйесі
2. Жалған немесе ақиқат болатын кейбір пайымдаулар не деп аталады?
а) Пікір
б) Логика
в) Санау жүйесі
г) Паскаль
3. Логикалық теріске шығару
а) ЖӘНЕ жалғаушы арқылы қарапайым А және В пайымдауларының бір құрамдасқа бірігуі
б) НЕМЕСЕ жалғауышы арқылы қарапайым А және В пайымдауларының бір құрамдасқа бірігуі
в) Қарапайым А пікіріне ЕМЕС демеулік шылауын қосу
г) Барлығы
4. Бағдарламалау тілі -
а) Мәліметтер құрылымы мен алгоритмдерін жазуға арналған белгілеулер мен ережелердің нақтыланған жүйесі
б) Машинаға түсінікті нұсқаулар тізімі ретінде жазу
в) Арнайы мәтін арқылы компьютерге тапсырманың ретін хабарлайтын ережелер мен нұсқаулар тізбегі
г) Белгілі бір нәтиже алу үшін орындалатын амалдардың айқындалған тізімі
5. DIV –
а) Бүтін бөлу
б) Қалдықты бөлу
в) Логикалық көбейту
г) Логикалық қосу
6. Бүтін типтер
а) BYTE, SHORTINT, INTEGER, WORD, LONGINT
б) REAL, SINGLE, DOUBLE, EXTENDED, COMP
в) TURE, FALSE
г) CHAR
7. Логикалық типтер
а) BYTE, SHORTINT, INTEGER, WORD, LONGINT
б) REAL, SINGLE, DOUBLE, EXTENDED, COMP
в) TURE, FALSE
г) CHAR
8. Процедура дегеніміз не?
а) Жұмыс нәтижесінде бір ғана мәнді анықтайтын операторлар тізбегі
б) Орындалу барысында нәтижесі бір немесе бірнеше мән болатын көмекші бағдарлама
в) Белгілі бір нәтиже алу үшін орындалатын амалдардың айқындалған тізімі
г) Олардың қабылдай алатын мәндерінің және олармен орындауға болатын амалдардың жиынын анықтау
9. Бос оператор
а) айнымалы атауы: =өрнек;
б) Read(x1,x2,…,xn);
в) Write (y1, y2,…,yn);
г) (;)
10. Шартты көшу операторы
а) if шарт Then1- оператор Else 2- оператор;
б) GOTO белгі;
в) Case S of
г) While do
11. Параметрлі қайталану операторы
а) Repeat Until
б) For x: =m1 to m2 do S1;
в) if шарт Then1- оператор Else 2- оператор;
г) GOTO белгі;
Тест №2
1. Сегіздік санау жүйесі қандай сандарды қабылдайды?
а) 0,1,2,3,4,5,6,7,8
б) 0,1,2,3,4,5,6,7
в) 0,1,2,3,4,5,6,7,8,9
г) 0,1,2,3,4,5
2. Логикалық шамалар
а) Жалған
б) Ақиқат және жалған
в) Ақиқат
г) Барлығы
3. Алгорифм атауы кімнің есімінің латынша Algoritmi болып жазылуынан шыққан?
а) Әбу- Нәсір Ал-Фараби
б) Қожа Ахмет Яссауии
в) Әбу – Жафар Мұхаммед ибн Мұқса әл - Хорезми
г) а мен б дұрыс
4. Бағдарламалау тілдерінің деңгейлері:
а) Төменгі деңгейлі
б) Жоғары деңгейлі
в) Өте жоғары деңгейлі
г) Барлығы
5. MOD -
а) Бүтін бөлу
б) Қалдықты бөлу
в) Логикалық көбейту
г) Логикалық қосу
6. Бағдарламаның орындалу барысында әр түрлі мәндерді қабылдай алатын шамалар
а) Тұрақтылар немесе константа
б) Айнымалылар
в) Бүтін
г) Нақты
7. Нақты типтер
а) BYTE, SHORTINT, INTEGER, WORD, LONGINT
б) REAL, SINGLE, DOUBLE, EXTENDED, COMP
в) TURE, FALSE
г) CHAR
8. Функция дегеніміз не?
а) Жұмыс нәтижесінде бір ғана мәнді анықтайтын операторлар тізбегі
б) Орындалу барысында нәтижесі бір немесе бірнеше мән болатын көмекші бағдарлама
в) Белгілі бір нәтиже алу үшін орындалатын амалдардың айқындалған тізімі
г) Олардың қабылдай алатын мәндерінің және олармен орындауға болатын амалдардың
9. Мәліметтерді экранға шығару операторы
а) айнымалы атауы: =өрнек;
б) Read(x1,x2,…,xn);
в) Write (y1, y2,…,yn);
г) (;)
10. Таңдау операторы
а) if шарт Then1- оператор Else 2- оператор;
б) GOTO белгі;
в) Case S of
г) While do
11. Экранды тазалауды іске қосу
а) USES
б) Сlrscr;
в) Uses crt;
г) GOTO;
Тест №3
1. Санау жүйесі қандай топтарға бөлінеді?
а) Позициялық
б) Позициялық, позициялық емес
в) екілік, ондық, сегіздік
г) он алтылық, сегіздік, ондық
2. Логикалық көбейту немесе конъюнкция
а) ЖӘНЕ жалғаушы арқылы қарапайым А және В пайымдауларының бір құрамдасқа бірігуі
б) НЕМЕСЕ жалғауышы арқылы қарапайым А және В пайымдауларының бір құрамдасқа бірігуі
в) Қарапайым А пікіріне ЕМЕС демеулік шылауын қосу
г) Барлығы
3. Алгоритм -
а) Есеп шешімін алуға арналған амалдар тізбегігің орындалуын жазу ережесі
б) Машинаға түсінікті нұсқаулар тізімі ретінде жазу
в) Арнайы мәтін арқылы компьютерге тапсырманың ретін хабарлайтын ережелер мен нұсқаулар тізбегі
г) Белгілі бір нәтиже алу үшін орындалатын амалдардың айқындалған тізімі
4. Паскаль тілі қандай ғалымның құрметіне аталды?
а) Николас Вирт
б) Чарлз Бэббидж
в) Блез Паскаль
г) Николас Бэббидж
5. Бағдарламаның орындалу барысында мәндері өзгеріссіз қалатын шамалар
а) Тұрақтылар немесе константа
б) Айнымалылар
в) Бүтін
г) Нақты
6. Мәліметтер типі -
а) Олардың қабылдай алатын мәндерінің және олармен орындауға болатын амалдардың жиынын анықтау
б) Бағдарламаның орындалу барысында әр түрлі мәндерді қабылдай алатын шамалар
в) Бағдарламаның орындалу барысында мәндері өзгеріссіз қалатын шамалар
г) Белгілі бір нәтиже алу үшін орындалатын амалдардың айқындалған тізімі
7. INTEGER – дің диапозон сандары
а) 0 – 255
б) -32768 - +32767
в) 0 - 65535
г) -127 - +127
8. Функцияның жазылу түрі
а) PROCEDURE
б) FUNCTION
в) VAR
г) BEGIN
9. Берілгендерді енгізу операторы
а) айнымалы атауы: =өрнек;
б) Read(x1,x2,…,xn);
в) Write (y1, y2,…,yn);
г) (;)
10. Алдын – ала берілген шартты тексеру операторы
а) if шарт Then1- оператор Else 2- оператор;
б) GOTO белгі;
в) Case S of
г) While do
11. Стандартты және пайдаланушылар модулі жарияланатын бөлім –
а) USES
б) For x: =m1 to m2 do S1;
в) if шарт Then1- оператор Else 2- оператор;
г) GOTO белгі;
Тест №4
1. Адамның ойлау нысандары мен заңдары туралы, нақты айтқанда, дәлелді пікір заңдары туралы ғылым
а) Логика
б) Санау жүйесі
в) Паскаль
г) Он алтылық санау жүйесі
2. Логикалық қосу немесе дизъюнкция
а) ЖӘНЕ жалғаушы арқылы қарапайым А және В пайымдауларының бір құрамдасқа бірігуі
б) НЕМЕСЕ жалғауышы арқылы қарапайым А және В пайымдауларының бір құрамдасқа бірігуі
в) Қарапайым А пікіріне ЕМЕС демеулік шылауын қосу
г) Барлығы
3. Бағдарлама (программа) –
а) Есеп шешімін алуға арналған амалдар тізбегігің орындалуын жазу ережесі
б) Машинаға түсінікті нұсқаулар тізімі ретінде жазу
в) Арнайы мәтін арқылы компьютерге тапсырманың ретін хабарлайтын ережелер мен нұсқаулар тізбегі
г) Белгілі бір нәтиже алу үшін орындалатын амалдардың айқындалған тізімі
4. Паскаль тілін қай жылы бағдарламалау тілі ретінде енгізді?
а) 1968 – 1971ж.ж.
б) 1971 – 1982 ж.ж.
в) 1972 – 1975ж.ж.
г) 1982 – 1985ж.ж
5. Бағдарламаның орындалу барысында әр түрлі мәндерді қабылдай алатын шамалар
а) Тұрақтылар немесе константа
б) Айнымалылар
в) Бүтін
г) Нақты
6. Қарапайым типтер
а) Бүтін – INTEGER, Нақты - REAL
б) Логикалық – BOOLEAN, Символдық - CHAR
в) Бүтін – INTEGER, Нақты – REAL, Логикалық – BOOLEAN, Символдық - CHAR
г) Нақты – REAL, Логикалық – BOOLEAN, Символдық - CHAR
7. Процедураның жазылуы
а) PROCEDURE
б) FUNCTION
в) VAR
г) BEGIN
8. Меншіктеу операторының жалпы жазылуы
а) айнымалы атауы: =өрнек;
б) Read(x1,x2,…,xn);
в) Write (y1, y2,…,yn);
г) (;)
9. Шартсыз көшу операторы
а) if шарт Then1- оператор Else 2- оператор;
б) GOTO белгі;
в) Case S of
г) While do
10. Келесі шарт бойынша циклді ұйымдастыру операторы
а) Repeat Until
б) For x: =m1 to m2 do S1;
в) if шарт Then1- оператор Else 2- оператор;
г) GOTO белгі;
11. Экранды тазалауды іске қосу
а) USES
б) Сlrscr;
в) Uses crt;
г) GOTO;
ТӘЖІРИБЕЛІК-ЗЕРТХАНАЛЫҚ ЖҰМЫСТАР ТІЗІМІ
Сабақ № | Сабақ тақырыбы |
II ТАРАУ. САНАУ ЖҮЙЕСІ | |
6 | №1. Санау жүйесі. Позициялық және позициялық емес санау жүйелеріндегі сандар. |
7 | №2. Сандарды бір санау жүйесінен екінші санау жүйесіне аудару |
8 | №3. Екілік, төрттік, сегіздік, оналтылық арифметика. Санау жүйелерінде амалдар орындау |
III ТАРАУ. ЛОГИКА | |
13 | №4. Логикалық пікірлер. Логикалық операциялар көмегімен пікірлерді жазу |
15 | №5. Ақиқаттық кестелер көмегімен логикалық есептерді шығару |
16 | №6. Логикалық схемалармен және логикалық өрнектермен жұмыс |
17 | №7. Логикалық өрнектерді түрлендіру формулаларымен жұмыс |
18 | №8. Блок-схемалар құру. Сызықтық алгоритмдермен жұмыс |
IV ТАРАУ. АЛГОРИТМДЕР | |
21 | №9. Тармақталған алгоритмдермен жұмыс (толық, толымсыз, таңдау) |
23 | №10. Циклдік алгоритмдермен (цикл ”әзір“, ”дейін“, ”үшін“) жұмыс |
25 | №11. Күрделі циклдік алгоритмдермен жұмыс |
26 | №12. Сандық, логикалық және символдық типтермен жұмыс |
V ТАРАУ. ПРОГРАММАЛАУ ТІЛІНДЕ АЛГОРИТМНІҢ ЖАЗЫЛУЫ | |
29 | №13. Сызықтық құрылымды программалармен жұмыс |
31 | №14. Шартсыз және шартты көшу операторларымен жұмыс |
33 | №15. Таңдау тармақталған операторымен жұмыс |
34 | №16. Шарт алдын-ала тексерілетін циклдік оператормен жұмыс |
35 | №17. Шарт соңынан тексерілетін циклдік оператормен жұмыс. |
36 | №18. Параметрлі циклдік оператормен жұмыс |
37 | №19. Күрделі циклдік операторлармен жұмыс. |
№1 тәжірибелік жұмыс
Санау жүйесі. Позициялық және позициялық емес санау жүйелеріндегі сандар
Мақсаты: Санау жүйесі ұғымымен, санау жүйесінің түрлерін ажырата білуді үйрету, санау жүйелеріндегі сандарға қатысты есептер шығара отырып, сол санау жүйесінің алфавиттерімен және негізгі элементтерімен терең таныстыру.
Жұмыстың орындалу тәртібі:
Теориялық мәліметтермен танысу.
Жеке нұсқадағы тапсырмаларды орындау.
Бақылау сұрақтарына жауап беру.
Орындаған жұмыс туралы жазбаша есеп беру.
Теориялық мағлұмат
Сан түсінігі – математикадағы сияқты информатикада да басты негіз.
Сандардың аталу және жазылу ережелері мен әдістерінің жиынтығы санау жүйесі деп аталады.
Санау жүйесі екі топқа бөлінеді:
Позициялық емес санау жүйесі;
Позициялық санау жүйесі.
Позициялық емес санау жүйесінде арифметикалық әрекеттерді орындау біраз қиын болғандықтан, бүкіл дүние жүзі біртіндеп позициялық санау жүйесіне ауысты.
Позициялық емес санау жүйесінде әрбір цифрдың мәні оның алатын орнына байланысты емес. Мұндай санау жүйесінің мысал ретінде римдік жүйені алуға болады. Римдік жүйеде цифр ретінде латын әріптері қолданылады:
І V X L C D M
1 5 10 50 100 500 1000
Осы жүйеде жазылған ХХХ санында Х цифры кез келген позицияда 10-ды білдіреді.
Позициялық санау жүйесінде цифрдың мәні оның орнына (позициясына) байланысты болды. Позициялық санау жүйесінің негізі деп қолданылатын цифрлар санын айтады.
Қазіргі математикада қолданылатын санау жүйесі позициялық ондық жүйе болып табылды. Оның негізі онға тең, ал жазылуы он цифрдың кез келгенін қолдану арқылы жүзеге асады:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Бұл жүйенің позициялық сипатын кез келген көп таңбалы санның мысалынан оңай түсінуге болады. Мысалы, 333 санында бірінші үтік үш жүздікті, екіншісі – үш ондықты, үшіншісі – үш бірлікті білдіреді.
n негізді позициялық жүйеде сандарды жазу үшін n цифрдан тұратын алфавит болуы қажет. Әдетте, бұл үшін nn араб цифрлары қолданылады, ал n10 болғанда он араб цифрына әріптер қосылады. Бірнеше позициялық санау жүйесіне мысалдар келтірейік.
Кейбір санау жүйесінің алфавиттері
негізі | аталуы | алфавиті |
n=2 | екілік | 0 1 |
n=4 | төрттік | 0 1 2 3 |
n=8 | сегіздік | 0 1 2 3 4 5 6 7 |
n=10 | ондық | 0 1 2 3 4 5 6 7 8 9 |
n=16 | оналтылық | 0 1 2 3 4 5 6 7 8 9 A B C D E F |
Егер сан жазылатын санау жүйесінің негізін көрсету талап етілсе, онда ол сол санның төменгі индексі болып жазылады. Мысалы: 10111012, 25768, 4528, 3В8F16
Ондық санау жүйесі – біз осы күнге дейін қолданып дағдалынған санау жүйесі. Бұл жүйеде сандарды жазу үшін он цифр қолданылады, олар: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Жеке тапсырмалар
111 және III сандарының айырмашылығы қандай?
Бестік, жетілік, он екілік санау жүйесінің алфавитін жаз
Екілік, бестік, сегіздік, он алтылық санау жүйелеріндегі алғашқы жиырма санды жаз
Сандарды негіз дәрежелерінің қосындысы түрінде өрнектеңдер:
А10=25341; А8=25341; А6=25341; А16=25341
Сандарды негіз дәрежелерінің қосындысы түрінде өрнектеңдер:
А10=125,34; А8=125,34; А6=125,34; А16=125,34
Сандарды негіз дәрежелерінің қосындысы түрінде өрнектеңдер:
А10=5341; А8=25,341; А6=0,25341; А16=341,54
Сандарды ондық санау жүйесіне аударыңдар:
А10=341; А8=341; А6=341; А16=341
Сандарды ондық санау жүйесіне аударыңдар:
А5=34,1; А8=221; А6=120; А16=Е41А,12
Мына санды 10101 екілік санау жүйесінен тоғыздық санау жүйесінда деп есептей отырып, ондық санау жүйесіне аударыңдар
10,21,201,1201 сандарының цифрлары қандай ең кіші негіз санау жүйесіне жатады?
403, 561, 666, 125 сандарының цифрлары қандай ең кіші негіз санау жүйесіне жатады?
22, 984, 1010, А219 сандарының цифрлары қандай ең кіші негіз санау жүйесіне жатады?
10 саны қандай санау жүйесінде тақ сан болады?
Қандай санау жүйесінде теңдік орындалады: 2 * 2 = 10, 2 * 3 = 11, 3 * 3 = 13?
Бақылау сұрақтары
Санау жүйесі дегеніміз не?
Санау жүйесінің түрлерін ата.
Позициялық санау жүйесіне сипаттама бер.
Позициялық емес санау жүйесіне сипаттама бер.
ЭЕМ-да қолданылатын санау жүйелеріне сипаттама бер.
№2 тәжірибелік жұмыс
Сандарды бір санау жүйесінен екінші санау жүйесіне аудару
Мақсаты: Сандарды бір санау жүйесінен екінші санау жүйесіне ауыстыру тәсілдерін меңгерту, бір санау жүйесінен екінші санау жүйесіне ауыстыру ережелерімен таныстыру.
Жұмыстың орындалу тәртібі:
Теориялық мәліметтермен танысу.
Жеке нұсқадағы тапсырмаларды орындау.
Бақылау сұрақтарына жауап беру.
Орындаған жұмыс туралы жазбаша есеп беру.
Теориялық мағлұмат
Сандарды бір санау жүйесінен басқа санау жүйесіне ауыстыру қажеттілігі жиі туады, ол екі түрде жүзеге асырылады:
Кез келген санау жүйесіндегі сандарды ондық санау жүйесіне ауыстыру;
Ондық санау жүйесіндегі сандарды кез келген санау жүйесіне ауыстыру;
Кез келген санау жүйесіндегі сандарды ондық санау жүйесіне ауыстыру санның толық жазылу түрі арқылы жүзеге асырылады:
А q = ±(a n-1qn-1+a n-2qn-2 +… + a 0q0 + a -1q-1 + a -2q-2 +… + a -mq -m)
мұндағы, А q – санның өзі,
q – санау жүйесінің негізі,
a і – берілген санау жүйесіндегі санның цифры,
n – санның бүтін бөлігі разрядтарының саны,
m – санның бөлшек бөлігі разрядтарының саны.
1 мысал. 1011,0012 екілік санын ондық санау жүйесіне ауыстыр.
Жауабы: 1011,0012=1*23+0*22+1*21+1*20+0*2-1+0*2-2+1*2-3=8+0+ 2+1+0+0+0,125=11,125
2 мысал. 736,1428 сегіздік санын ондық санау жүйесіне ауыстыр.
Жауабы: 736,248=7*82+3*81+6*80+2*8-1+4*8-2=448+24+6+0,25+ 0,625=478,875
4 мысал. АD,8С16 оналтылық санын ондық санау жүйесіне ауыстыр.
Жауабы: АD,8С16=10*161+13*160+8*16-1+12*16-2=160+13+0,5+0,75 =174,25
Ондық санау жүйесінен басқа кез келген санау жүйесіне ауыстырудың берілген санға байланысты екі ережесі бар:
Бүтін ондық сандарды басқа кез келген санау жүйесіне ауыстыру;
Ондық бөлшек сандарды басқа кез келген санау жүйесіне ауыстыру.
Ауыстыру ережесі. Бүтін оң ондық санды басқа кез келген санау жүйесіне ауыстыру үшін берілген санды ауыстырылатын санау жүйесінің негізіне бөлу қажет. Алынған бөлінді негізден кіші болғанша бөліндіні қайтадан сол негізге бөле береді және т.с.с. Нәтижесінде соңғы бөліндіні және соңғысынан бастап барлық қалдықтарды бір қатармен жазу керек.
Ауыстыру ережесі. Бүтін оң ондық бөлшекті басқа кез келген санау жүйесіне ауыстыру үшін бөлшекті ауыстырылатын санау жүйесінің негізіне көбейту қажет. Көбейтіндінің бүтін бөлігі ауыстырылатын санау жүйесіндегі бөлшек санның үтірден кейінгі бірінші цифры ретінде алынады, ал бөлшек бөлігі қайтадан негізге көбейтіледі. Көбейтіндінің бүтін бөлігі келесі цифр ретінде алынады да, бөлшек бөлігін қайтадан негізге көбейтеді және т.с.с.
Жеке тапсырмалар
Бүтін сандарды ондық санау жүйесінен үштік санау жүйесіне аудырыңдар:
а) 523; 65; 7000; 2307; 325;
б) 12; 524; 76; 121; 56.
Бүтін сандарды ондық санау жүйесінен үштік санау жүйесіне аудырыңдар:
а) 856; 664; 5012; 6435; 78;
б) 214; 89; 998; 653; 111.
Ондық бөлшектерді екілік санау жүйесіне аударыңдар (санның екілік жазбасында алты таңбаша сақталынсын)
а) 0,654; 0,321; 0,6135; 0,9876;
б) 0,555; 0,333; 0,1213; 0,453.
Ондық бөлшектерді он алтылық санау жүйесіне аударыңдар (санның екілік жазбасында алты таңбаша сақталынсын)
а) 0,745; 0,101; 0,8453; 0,3451;
б) 0,8455; 0,225; 0,1234; 0,455.
Аралас ондық бөлшек сандарды үштік, бестік санау жүйесіне аударыңдар (үтірден кейін бес таңба сақталынсын)
а) 40,5; 34,25; 124,44;
б) 78,333; 225,52; 90,99.
Аралас ондық бөлшек сандарды екілік, сегіздік санау жүйесіне аударыңдар (үтірден кейін бес таңба сақталынсын)
а) 21,5; 432,54; 678,333;
б) 12,25; 97,444; 7896,2.
Мына сандарды ондық санау жүйесіне аударыңдар:
а) 345 → А5, 0,125 → А8, 45,65 → А4;
б) 675 → А12, 0,333 → А3, 23,15 → А5.
Мына сандарды ондық санау жүйесіне аударыңдар:
а) 1,25 → А16, 675 → А7, 0,355 → А4;
б) 890 → А12, 0,675 → А8, 12,35 → А7.
Мына сандарды ондық санау жүйесіне аударыңдар:
а) 425 → А6, 0,425 → А12, 98,45 → А3;
б) 0,55 → А8, 765 → А3, 765,75 → А4.
Мына сандарды ондық санау жүйесіне аударыңдар:
а) 98 → А2, 0,545 → А16, 45,65 → А4;
б) 0,755 → А5, 907 → А6, 566,225 → А16.
Бақылау сұрақтары
Ондық бүтін сандарды кез келген санау жүйесіне қалай ауыстырады?
Ондық бөлшек сандарды кез келген санау жүйесіне қалай ауыстырады?
Кез келген санау жүйесіндегі бүтін санды ондық санау жүйесіне қалай ауыстырады?
Кез келген санау жүйесіндегі бөлшек санды ондық санау жүйесіне қалай ауыстырады?
№3 тәжірибелік жұмыс
Екілік, төрттік, сегіздік, оналтылық арифметика. Санау жүйелерінде амалдар орындау
Мақсаты: Санау жүйесіндегі сандарға арифметикалық амалдар қолдану ережелерімен таныстыру.
Жұмыстың орындалу тәртібі:
Теориялық мәліметтермен танысу.
Жеке нұсқадағы тапсырмаларды орындау.
Бақылау сұрақтарына жауап беру.
Орындаған жұмыс туралы жазбаша есеп беру.
Теориялық мағлұмат
Екілік санау жүйесінде арифметикалық әрекеттер ондық жүйедегі ереже бойынша орындалады, тек қана айырмашылығы – санау жүйесінің негіздеушісі екіге тең және тек екі цифр қолданылады.
Қосу. Қосу операциясын қарастырайық. Екілік санды қосу тасымалдау есебімен сәйкес разрядтарды қосуға әкеледі.
Екі екілік санды қосу кезінде мынадай төрт ереже қолданылады:
0+0=0
1+0=1
0+1=1
1+1=10 бірліктерді көрші (үлкен) разрядқа тасымалдау жүреді.
Мысалы: 101+11 (ондық жүйеде 5+3=8) екі екілік санды қосуды орындаймыз. Жетпейтін нольдерді қосып, амалды бағанада орындаған жөн.
101
+011 Қосу процесін кезеңмен қарастырайық.
1) Кіші разрядта қосу орындалады: 1+1=10. Кіші разрядта қосынды 0 жазылады және бірлік келесі үлкен разрядқа тасымалданады.
2) Келесі сол жақ разрядтың цифрлары және тасымалдың бірлігі қосылады: 0+1+1=10. Бұл разрядта қосынды 0 жазылады және бірлік тағы да келесі үлкен рвзрядқа тасымалданады.
3) Сол жақ разрядтың үшінші цифрлары және тасымалдың бірлігі қосылады: 0+1+1=азрядта қосынды 0 жазылады және бірлік тағы да келесі үлкен разрядқа тасымалданады, т.с.с.
4) Нәтижеде: 101
+011
1000 алынады.
Сонымен, 10002=810.
Қосу –екілік арифметикадағы маңызды операция.
Компьютердегі екілік сандармен жүзеге асатын басқа үш операция – азайту, көбейту, бөлу әдетте қосудың көмегімен орындалады.
Азайту. Екілік санды азқайту кезінде есте ұстау керек:
0-0=0
1-0=1
0-1=1 бірлікті көрші (үлкен) разрядтан аламыз.
1-1=0
Мысалы, 1010-101 екілік санның айырмасын табу. Кіші разрядтан бастап азайтуды бағанада орындаймыз:
1) Кіші разряд үшін 0-1 бар. Сондықтан үлкен разрядтан бірлікті аламызжәне 10-1=1-ді табамыз.
2) Келесі разрядта 0-0=0 болады.
3) Сол жақтағы разрядта тағы да 0-1 болады. Үлкен разрядтан 1-ді аламыз және 10-1=1-ді табамыз.
4) Келесі разрядта 0 қалады.
5) Нәтижеде: 1010
-101
101 алынады.
Жеке тапсырмалар
Үштік санау жүйесінің қосу және көбейту кестесін құрып, амалдарды орындаңдар
а) 12 + 22; ә) 221 – 11; б) 21 * 2 в) 11 ÷ 2
Екілік санау жүйесінің қосу және көбейту кестесін құрып, амалдарды орындаңдар
а) 1110 + 101; ә) 10101 – 11; б) 101 * 11 в) 1110 ÷ 10
Сегіздік санау жүйесінің қосу кестесін құрып, амалдарды орындаңдар
а) 3456 + 245; ә) 7631 – 456; б) 77771 + 2 в) 77777 – 237
Он алтылық санау жүйесінің қосу кестесін құрып, амалдарды орындаңдар
а) FFFF + 1; ә) 1996 + BABA; б) BEDA – BAC в) 1998 – A1F;
Өрнекті есептеңіз
а) 101012 * 1012 ә) AFF116 - 19D16 б) 1405 ÷ 145 в) 1212113 + 2215;
Мына теңдік дұрыс па 7+8 = 16?
Санау жүйесінде теңдік орындалатындай етіп p негізі мен n цифрын табу керек
33m5n + 2n443 = 55424
Бұл мысал негізі p болатын санау жүйесінде орындалған, m – осы жүйедегі ең үлкен цифр
Жұлдызша мен белгіленген белгісіз цифрларды анықтайтын, берілген теңдік ақиқат болатын санау жүйесінің негізін табу керек
24**1 + *235* = 116678
Бақта 100 жеміс ағашы – 14 алма және 42 алмұрт. Ағаштар қай санау жүйесінде саналған
Қосу қай санау жүйесінде орындалған?
+ | 756 307 |
2456 24 | |
3767 |
Бақылау сұрақтары
1. Санау жүйесіндегі сандарға арифметикалық амалдар қолдануға бола ма?
2. Санау жүйесіндегі сандарға арифметикалық амалдар қолдану ережелерін ата.
3. Әртүрлі санау жүйелеріндегі сандарға арифметикалық амалдар қолдануға бола ма?
4. Әртүрлі санау жүйелеріндегі сандарға арифметикалық амалдарды қалай қолданамыз?
№4 тәжірибелік жұмыс
Логикалық пікірлер. Логикалық операциялар көмегімен пікірлерді жазу
Мақсаты: Логикалық операция, ақиқаттық кесте ұғымдарымен таныстырып, күрделі пікірлерге логикалық операциялар орындай білуге, ақиқаттық кестелерін құра білуге үйрету
Жұмыстың орындалу тәртібі:
Теориялық мәліметтермен танысу.
Жеке нұсқадағы тапсырмаларды орындау.
Бақылау сұрақтарына жауап беру.
Орындаған жұмыс туралы жазбаша есеп беру.
Теориялық мағлұмат
Логика дегеніміз – адамның ойлау нысандары мен заңдары туралы, нақты айтқанда, дәлелді пікір заңдары туралы ғылым.
Ғылыми пән ретінде логиканың бірнеше нұсқалары дараланады: жасанды логика, математикалық логика, ықтималдықты логика, диалектикалық логика және т.б. Әр түрлі кестелерді жасау, қарама-қайшы түйіндерді шешу және басқа да көптеген жағдайларда адамдар логиканың көмегіне жүгінеді.
Жасанды логика сөйлеу тілімен білдіретін біздің кәдімгі мазмұнды пікірімізге талдау жасаумен байланысты.
Математикалық логика жасанды логиканың бір бөлігі болып табылады және ол кесіп – пішіп, айқындалған объектілер мен пікірлердің ақиқаттығын немесе жалғандығын бір мәнді шешуге болатын дәйектемелерді ғана зерттейді. Математикалық логика саласы пікірлер алгебрасы ретінде информатикада да жақсы меңгерілген. Қазіргі уақытта қазіргі алгебрасының негізгі операциялары енбейтін бір де бір программалау тілі жоқ. Логикалық есептерде тек қана сандар ғана емес, тосын аса шиеленіскен пікірлер де бастапқы деректер болып табылады.
Пікірлер дегеніміз – жалған немесе болатын кейбір пайымдаулар.
Мысалы, “ак қар”, “2*2=4” пікірлері ақиқат, ал “жер тегіс”, “2*2=5” пікірлері жалған. Әдетте, біз бақылайтын фактілер ақиқатқа қабылданады. Жалған пайымдаулар көбінесе пайымдаулар мен ұйғарымдардағы қатерлерден немесе қалауды шындықтың орнына беруге ұмтылудан пайда болады.
Пікірлер жалпы және жеке болып бөлінеді. Жеке пікірлер нақты фактілерді көрсетеді, мысалы “3+3
Жалпы пікірлер объектілердің қандай да бөліктері үшін ақиқат және басқа объектілер үшін жалған болуы мүмкін. Мысалы, “Иттер мысықтарды жақсы көрмейді” пікірі иттердің көпшілігі үшін әділетті, бірақ барлықтары үшін емес.
Қиын жағдайларда сұрақтардың жауабы ЖӘНЕ, НЕМЕСЕ, ЕМЕС жалғаулары арқылы құрамды пікірлермен көрсетеді. Мысалы, “Мына оқушы ақылды және зерек” пікірі қарапайым “Мына оқушы зерек ” пікірлерінен тұратын құрамды пікір болып табылады.
Ереже. Математикада НЕМЕСЕ жалғаушысы бар құрамды пікір: егер оны құрайтындардың кемінде біреуі ақиқат болса, ол ақиқат; егер оны құрайтындардың бәрі жалған болса, ол жалған пікір болады.
ЕМЕС жалғаушысы теріске шығаруды тұжырымдау үшін қолданылады. Мысалы, “х≠0” пайымдауы болады. “Бұл адам әдемі” пайымдауының теріске шығарылуы “Бұл адам әдемі емес” пайымдауына тең.
Ереже. Егер пайымдау жалған болса, онда теріске шығару ақиқат және керісінше, егер бастапқы пайымдау ақиқат болса, онда теріске шығару жалған.
Жеке тапсырмалар
Пікірлер үшін ақиқаттық кестесін толтырыңдар
Майра Әлияның досы, ол көрікті қыз және жақсы оқиды
А пікірі | В пікірі | А*В пікірі |
Майра – көрікті қыз ба? | Майра жақсы оқиды ма? | Майра - Әлияның досы |
Иә | Иә |
|
Иә | Жоқ |
|
Жоқ | Иә |
|
Жоқ | Жоқ |
|
Қорытынды: Екі пікір де ақиқат болғанда, конъюнкция ____________________.
Пайымдаулардың біреуі немесе екеуі де жалған болғанда, конъюнкция ______________.
Күрделі пікірлерді жай пікірлерді бөліп алыңдар да, оларды әріптермен белгілеңдер. Осы күрделі пікірлерді формула түрінде өрнектеңдер. Өз пікірлеріңді құрыңдар.
Пікір үшін ақиқаттық кестесін толтырыңдар
Келесі сабақта біз бейнефильм көреміз немесе шығарма жазамыз.
А пікірі | В пікірі | А+В пікірі |
Біз бейнефильм көреміз бе? | Шығарма жазамыз ба? | Келесі сабақта ма? |
Иә | Иә |
|
Иә | Жоқ |
|
Жоқ | Иә |
|
Жоқ | Жоқ |
|
Қорытынды: Пікірлердің кемінде біреуі ақиқат болғанда, дизъюнкция _______________;
Пікірлердің екеуі де жалған болғанда, дизъюнкция ______________ болады.
Күрделі пікір құрыңдар, ондағы жай пікірлерді ажыратып, әрқайсысын әріптермен белгілеңдер. Осы күрделі пікірлерді формула түрінде өрнектеңдер.
Қабырғалары тең үшбұрыштар теңбүйірлі үшбұрыштар болып табылады.
5+919-5
Логикалық операцияларға мысал келтіріңдер.
Бақылау сұрақтары
Логика дегеніміз не?
Логиканың түрлерін ата.
Пікір дегеніміз не?
Формальді логика дегеніміз не?
Математикалық логика дегеніміз не?
Пікірлер неше түрге бөлінеді?
№5 тәжірибелік жұмыс
Ақиқаттық кестелер көмегімен логикалық есептерді шығару
Мақсаты: Логикалық өрнектермен және ақиқаттық кестелермен жұмыс істеу үйрету.
Жұмыстың орындалу тәртібі:
Теориялық мәліметтермен танысу.
Жеке нұсқадағы тапсырмаларды орындау.
Бақылау сұрақтарына жауап беру.
Орындаған жұмыс туралы жазбаша есеп беру.
Теориялық мағлұмат
Логикалық шамалар: АҚИҚАТ, ЖАЛҒАН (true, false) сөздерімен бейнеленген түсінік. Пікірлердің ақиқаттығы логикалық шамалар арқылы беріледі.
Логикалық тұрақты: АҚИҚАТ немесе ЖАЛҒАН.
Логикалық айнымалы: логикалық шаманың символдың белгіленуі. Егер, А, В, Х, Y және т.б. – айнымалы логикалық шамалар берілген болса, онда олар тек АҚИҚАТ немесе ЖАЛҒАН мәндерін ғана қабылдайды.
“ЖӘНЕ” “НЕМЕСЕ” “ЕМЕС” | Конъюнкция (логикалық көбейту) Дизъюнкция (логикалық қосу) Теріске шығару. | А және В А немесе В А емес |
Логикалық көбейту
ЖӘНЕ жалғаушы арқылы қарапайым Амен В пайымдауларының бір құрамдасқа бірігуі логикалық көбейту немесе конъюнкция, ал операцияның нәтижиесі – логикалық көбейтінді деп аталады . |
ЖӘНЕ (конъюнкция) логикалық операциясы үшін ақиқаттық кесте мынадай:
А | В | А және В |
АҚИҚАТ | АҚИҚАТ | АҚИҚАТ |
АҚИҚАТ | ЖАЛҒАН | ЖАЛҒАН |
ЖАЛҒАН | АҚИҚАТ | ЖАЛҒАН |
ЖАЛҒАН | ЖАЛҒАН | ЖАЛҒАН |
Мұндағы А және В – ақиқат немесе жалған мәндер қабылдай алатын екі пікір.
Ақиқаттық кестесінен:
пікірдің екеуі де ақиқат болғанда, А және В конъюнкциясы ақиқат;
А немесе В пікірлерінің біреуі немесе екеуі де жалған болғанда, А және В конъюнкциясы жалған болатындығы көреміз.
Біріктіруші мағынада қолданылатын НЕМЕСЕ жалғауышы арқылы қарапайым А және В айтылымдарының бір құрамдасқа бірігуі логикалық қосу немесе дизъюнкция, ал операцияның нәтижесі-логикалық қосынды деп аталады.
НЕМЕСЕ логикалық операциясы үшін ақиқаттық кесте мынадай түрде болады:
А | В | А немесе В |
ИӘ | ИӘ | ИӘ |
ИӘ | ЖАЛҒАН | ИӘ |
ЖАЛҒАН | ИӘ | ИӘ |
ЖАЛҒАН | ЖАЛҒАН | ЖАЛҒАН |
Бұл операцияның ақиқаттық кестесінен, егер А да В да ақиқат мәніне ие болса; не тек қана А, не тек қана В ақиқат мәніне ие болса, онда “А немесе В” айтылымы жалған мәніне ие болады.
Егер А немесе В пікірлерінің кемінде біреуі ақиқат болғанда, А және В дизъюнкциясы ақиқат;
А және В пікірлерінің екеуі де жалған болғанда, А және В дизъюнкциясы жалған.
Логикалық теріске шығару
Қарапайым А пікіріне ЕМЕС демеулік шылауын қосу логикалық теріске шығару операциясы деп аталады, операцияны орындағаннан кейінгі нәтиже жаңа айтылымды береді.
ЕМЕС (теріске шығару) логикалық операциясы үшін ақиқаттық кесте мына түрде болады:А | А емес |
АҚИҚАТ | ЖАЛҒАН |
ЖАЛҒАН | АҚИҚАТ |
Бұл операцияның ақиқаттық кестесінен, егер бастапқы А айтылымы жалған болса, онда А емес (ақиқат емес) теріске шығару ақиқат мәніне ие болатындығын көреміз. Және керісінше, егер бастапқы А айтылымы ақиқат болса, онда А емес теріске шығаруы жалған мәніне ие болады.
бастапқы пікір жалған болғанда, теріске шығару ақиқат.
бастапқы пікір ақиқат болғанда, теріске шығару жалған.
Импликация және тепе-теңдік
Импликация (шартты пікір). Бұл логикалық операцияларға қазақ тіліндегі мынадай жалғаулар сәйкес келеді: егер ..., онда; сонда ..., болғанда; ...-ға жақын; ...-ғе жуық.
Тепе-теңдік. Бұл логикалық операцияларға қазақ тіліндегі мынадай жалғаулар сәйкес келеді: егер және тек егер; сонда және тек сонда ғана; ... болғанда.
Импликация мен тепе-теңдік операцияларының ақиқаттық кестесі
А | В | А → В | А ≡ В |
АҚИҚАТ | АҚИҚАТ | АҚИҚАТ | АҚИҚАТ |
АҚИҚАТ | ЖАЛҒАН | ЖАЛҒАН | ЖАЛҒАН |
ЖАЛҒАН | АҚИҚАТ | АҚИҚАТ | ЖАЛҒАН |
ЖАЛҒАН | ЖАЛҒАН | АҚИҚАТ | АҚИҚАТ |
Жеке тапсырмалар
Ақиқаттық кестені құрып есептер шығар
Мысал: 1. А * (-В) 2. А*(В+(-А))
А | В | -А | В+(-А) | А*(В+(-А)) |
1 | 0 | 0 | 1 | 1 |
1 | 1 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 0 |
0 | 1 | 1 | 1 | 0 |
А | -В | А*(-В) |
1 | 0 | 0 |
1 | 1 | 1 |
0 | 0 | 0 |
0 | 1 | 0 |
А*В*(-В)
(-А)*(-В)*А
А+В*(А*В)+(-В)
А+В*(-(-А+В))
–(А*В)+(А+В)
–(А+В)*-(В)+(А*(-В))
–(А*В)+В*(-В)+А
–(А)+-(В)*(А*В)*В
Пікірлер үшін ақиқаттық кестесін толтырыңдар:
Егер достарымыз барса ЖӘНЕ ауа райы жақсы болса, біз көлге демалуға барамыз.
А пікірі | В пікірі | А*В пікірі |
Достарымыз бара ма? | Ауа райы жақсы бола ма? | Демалуға барамыз ба? |
Иә | Иә |
|
Иә | Жоқ |
|
Жоқ | Иә |
|
Жоқ | Жоқ |
|
Қорытынды: Екі пікір де ақиқат болғанда, конъюнкция ____________________.
Пайымдаулардың біреуі немесе екеуі де жалған болғанда, конъюнкция ______________.
Күрделі пікірлерді жай пікірлерді бөліп алыңдар да, оларды әріптермен белгілеңдер. Осы күрделі пікірлерді формула түрінде өрнектеңдер. Өз пікірлеріңді құрыңдар.
Пікір үшін ақиқаттық кестесін толтырыңдар
Егер лотодан ұтып алсам НЕМЕСЕ ақша жинасам, мен мына машинаны сатып аламын.
А пікірі | В пікірі | А+В пікірі |
Лотодан ұтып алды ма? | Ақша жинады ма? | Машина сатып алды ма? |
Иә | Иә | |
Иә | Жоқ | |
Жоқ | Иә | |
Жоқ | Жоқ | |
Қорытынды: Пікірлердің кемінде біреуі ақиқат болғанда, дизъюнкция _______________;
Пікірлердің екеуі де жалған болғанда, дизъюнкция ______________ болады.
Күрделі пікір құрыңдар, ондағы жай пікірлерді ажыратып, әрқайсысын әріптермен белгілеңдер. Осы күрделі пікірлерді формула түрінде өрнектеңдер.
Пікір мен оны терістеуге мысал келтіріңдер.
Бақылау сұрақтары
Логикалық шамалар дегеніміз не?
Логикалық тұрақты және логикалық айнымалы дегеніміз не?
Логикалық операциялар дегеніміз не?
Ақиқаттық кестелер қалай құрылады?
Логикалық операциялар түрлеріне сипаттама беріңіз.
№6 тәжірибелік жұмыс
Логикалық схемалармен және логикалық өрнектермен жұмыс
Мақсаты: Логикалық схемалармен және өрнектермен жұмыс істеу және оларды түрлендіру жолдарын үйрету.
Жұмыстың орындалу тәртібі:
Теориялық мәліметтермен танысу.
Жеке нұсқадағы тапсырмаларды орындау.
Бақылау сұрақтарына жауап беру.
Орындаған жұмыс туралы жазбаша есеп беру.
Теориялық мағлұмат
Логикалық өрнек – жай немесе күрделі пікірлер. Күрделі пікірлер логикалық операциялар көмегімен жай пікірлерден тұрады.
Логикалық өрнектерді бейнелеудің тиімді тәсілі логикалық схемалар болып табылады. Үш негізгі логикалық операциялар мынадай схемаларда көрсетілгендей бейнеледі:
Конъюнкция | Дизъюнкция | Терістеу |
1 → және → 0 0 → 0 → және → 0 1 → 1 → және → 1 1 → 0 → және → 0 0 → | 1 → немесе → 1 0 → 0 → немесе → 1 1 → 1 → немесе → 1 1 → 0 → немесе → 0 0 → | 1 → емес → 0 0 → емес → 1 |
Бұл кестеде келесі белгілеулер қолданылған:
1 – ақиқат;
0 – жалған;
және , немесе , емес – логикалық операциялар (логикалық элементтер).
Бағытталған бағыттаушының алдындағы цифрлар – логикалық операндылар;
Бағытталған бағыттаушының соңындағы цифрлар –операция нәтижелері.
Бұл кесте – сол ақиқаттық кесте, тек логикалық схемалар түрінде берілген. Осындау түрде логикалық операциялар тізбегін және оларды есептеуді кескіндеу қолайлы.
Жеке тапсырмалар
1. Пікірлер үшін ақиқаттық кестесін толтырыңдар
Майра Әлияның досы, ол көрікті қыз және жақсы оқиды
А пікірі | В пікірі | А*В пікірі |
Майра – көрікті қыз ба? | Майра жақсы оқиды ма? | Майра - Әлияның досы |
Иә | Иә |
|
Иә | Жоқ |
|
Жоқ | Иә |
|
Жоқ | Жоқ |
|
Қорытынды: Екі пікір де ақиқат болғанда, конъюнкция ____________________.
Пайымдаулардың біреуі немесе екеуі де жалған болғанда, конъюнкция ______________.
Күрделі пікірлерді жай пікірлерді бөліп алыңдар да, оларды әріптермен белгілеңдер. Осы күрделі пікірлерді формула түрінде өрнектеңдер. Өз пікірлеріңді құрыңдар.
Пікір үшін ақиқаттық кестесін толтырыңдар
Келесі сабақта біз бейнефильм көреміз немесе шығарма жазамыз.
А пікірі | В пікірі | А+В пікірі |
Біз бейнефильм көреміз бе? | Шығарма жазамыз ба? | Келесі сабақта ма? |
Иә | Иә |
|
Иә | Жоқ |
|
Жоқ | Иә |
|
Жоқ | Жоқ |
|
Қорытынды: Пікірлердің кемінде біреуі ақиқат болғанда, дизъюнкция _______________;
Пікірлердің екеуі де жалған болғанда, дизъюнкция ______________ болады.
Күрделі пікір құрыңдар, ондағы жай пікірлерді ажыратып, әрқайсысын әріптермен белгілеңдер. Осы күрделі пікірлерді формула түрінде өрнектеңдер.
Қабырғалары тең үшбұрыштар теңбүйірлі үшбұрыштар болып табылады.
5+919-5
Логикалық операцияларға мысал келтіріңдер.
Бақылау сұрақтары
Логикалық өрнек дегеніміз не?
Логикалық өрнектер қалай бейнеленеді?
Логикалық өрнектерді түрлендірудің негізгі формулаларына сипаттама беріңіз
№7 тәжірибелік жұмыс
Логикалық өрнектерді түрлендіру формулаларымен жұмыс
Мақсаты: Логикалық схемалармен және өрнектермен жұмыс істеу және оларды түрлендіру формулаларын үйрету.
Жұмыстың орындалу тәртібі:
Теориялық мәліметтермен танысу.
Жеке нұсқадағы тапсырмаларды орындау.
Бақылау сұрақтарына жауап беру.
Орындаған жұмыс туралы жазбаша есеп беру.
Теориялық мағлұмат
Логикалық өрнектерді негізгі түрлендіру формулалары
¬¬А ≡ A.
¬(A & B) ≡ ¬А v ¬В.
¬(A v B) ≡ ¬А & ¬В.
¬(A → B) ≡ ¬А & ¬В.
A → B ≡ ¬А v В.
A → B ≡ (A & B) v (¬A & ¬B) ≡ (¬A v B) & (A v ¬B).
A & (A v B) ≡ A.
A v A & B ≡ A.
A & (A v B) ≡ ¬А & В.
A v ¬A & B ≡ A v B.
Коммутативтілік заңдылығы:
A & B ≡ B & A;
A v B ≡ B v A.
Ассоциативтілік заңдылығы:
(A v B) v С≡ А v (В v С);
(A & B) & C≡ A & (B & C).
Идемпотенттілік заңдылығы:
A v A ≡ A;
A & A ≡ A.
Дистрибутивтілік заңдылығы:
A & (B v C) ≡ (A &B) v (A & C);
A v (B & C) ≡ (A v B) & (A v C).
A v 1 ≡ 1, A & 1 ≡ A, ¬A v A ≡ 1.
A & 0 ≡ 0, A & ¬A ≡ 0.
Жеке тапсырмалар
Логикалық өрнектерді негізгі түрлендіру формулаларын дәлелдеңіз:
¬¬А ≡ A.
¬(A & B) ≡ ¬А v ¬В.
¬(A v B) ≡ ¬А & ¬В.
¬(A → B) ≡ ¬А & ¬В.
A → B ≡ ¬А v В.
A → B ≡ (A & B) v (¬A & ¬B) ≡ (¬A v B) & (A v ¬B).
A & (A v B) ≡ A.
A v A & B ≡ A.
A & (A v B) ≡ ¬А & В.
A v ¬A & B ≡ A v B.
Коммутативтілік заңдылығы:
A & B ≡ B & A;
A v B ≡ B v A.
Ассоциативтілік заңдылығы:
(A v B) v С≡ А v (В v С);
(A & B) & C≡ A & (B & C).
Идемпотенттілік заңдылығы:
A v A ≡ A;
A & A ≡ A.
Дистрибутивтілік заңдылығы:
A & (B v C) ≡ (A &B) v (A & C);
A v (B & C) ≡ (A v B) & (A v C).
A v 1 ≡ 1, A & 1 ≡ A, ¬A v A ≡ 1.
A & 0 ≡ 0, A & ¬A ≡ 0.
Бақылау сұрақтары
Коммутативтілік заңдылықты түсіндіріңіз.
Ассоциативтілік заңдылықты түсіндіріңіз.
Идемпотенттілік және дистрибутивтілік заңдылықтарын түсіндіріңіз.
№8 тәжірибелік жұмыс
Күрделі логикалық өрнектерді түрлендіру
Мақсаты: Логикалық схемалармен және өрнектермен жұмыс істеу және оларды түрлендіру формулаларын үйрету.
Жұмыстың орындалу тәртібі:
Теориялық мәліметтермен танысу.
Жеке нұсқадағы тапсырмаларды орындау.
Бақылау сұрақтарына жауап беру.
Орындаған жұмыс туралы жазбаша есеп беру.
Теориялық мағлұмат
Логикалық өрнек – жай немесе күрделі пікірлер. Күрделі пікірлер логикалық операциялар көмегімен жай пікірлерден тұрады.
Логикалық өрнектерді бейнелеудің тиімді тәсілі логикалық схемалар болып табылады. Үш негізгі логикалық операциялар мынадай схемаларда көрсетілгендей бейнеледі:
Конъюнкция | Дизъюнкция | Терістеу |
1 → және → 0 0 → 0 → және → 0 1 → 1 → және → 1 1 → 0 → және → 0 0 → | 1 → немесе → 1 0 → 0 → немесе → 1 1 → 1 → немесе → 1 1 → 0 → немесе → 0 0 → | 1 → емес → 0 0 → емес → 1 |
Бұл кестеде келесі белгілеулер қолданылған:
1 – ақиқат;
0 – жалған;
және , немесе , емес – логикалық операциялар.
Бағытталған бағыттаушының алдындағы цифрлар – логикалық операндылар;
Бағытталған бағыттаушының соңындағы цифрлар –операция нәтижелері.
Бұл кесте – сол ақиқаттық кесте, тек логикалық схемалар түрінде берілген. Осындау түрде логикалық операциялар тізбегін және оларды есептеуді кескіндеу қолайлы.
Логикалық өрнектерді негізгі түрлендіру формулалары
¬¬А ≡ A.
¬(A & B) ≡ ¬А v ¬В.
¬(A v B) ≡ ¬А & ¬В.
¬(A → B) ≡ ¬А & ¬В.
A → B ≡ ¬А v В.
A → B ≡ (A & B) v (¬A & ¬B) ≡ (¬A v B) & (A v ¬B).
A & (A v B) ≡ A.
A v A & B ≡ A.
A & (A v B) ≡ ¬А & В.
A v ¬A & B ≡ A v B.
Коммутативтілік заңдылығы:
A & B ≡ B & A;
A v B ≡ B v A.
Ассоциативтілік заңдылығы:
(A v B) v С≡ А v (В v С);
(A & B) & C≡ A & (B & C).
Идемпотенттілік заңдылығы:
A v A ≡ A;
A & A ≡ A.
Дистрибутивтілік заңдылығы:
A & (B v C) ≡ (A &B) v (A & C);
A v (B & C) ≡ (A v B) & (A v C).
A v 1 ≡ 1, A & 1 ≡ A, ¬A v A ≡ 1.
A & 0 ≡ 0, A & ¬A ≡ 0.
Жеке тапсырмалар
Логикалық өрнек берілген, өрнектің мәнін логикалық схема түрінде жаз
ЕМЕС (1 ЖӘНЕ (0 НЕМЕСЕ 1) ЖӘНЕ 1)
0 1 1 1 0
1
1
1
а, в, с, - логикалық шамалар берілген, мұндағы а – ақиқат, в – жалған, с – ақиқат
Берілген шамалардың логикалық схемасын сызыңдар.
а және в
а немесе в
–а немес в
а және в немесе с
а немесе в және с
–а немесе в және с
(а немесе в) және (с немесе в)
–(а немесе в) және (с немесе в)
–(а және в және с)
(в және -в) немесе с
Бақылау сұрақтары
Коммутативтілік заңдылықты түсіндіріңіз.
Ассоциативтілік заңдылықты түсіндіріңіз.
Идемпотенттілік және дистрибутивтілік заңдылықтарын түсіндіріңіз.
№9 тәжірибелік жұмыс
Блок-схемалар құру. Сызықтық алгоритмдермен жұмыс
Мақсаты: Алгоритм ұғымымен, оның көрсетілім сипаты және маңызымен таныстыра отырып, алгоритмнің негізігі қасиеттерін сипаттай білуге, алгоритмді талдай білуге, күнделікті тұрмпыстағы іс-әрекеттерді алгоритм тұрғысынан қарастыра білуге үйрету.
Жұмыстың орындалу тәртібі:
Теориялық мәліметтермен танысу.
Жеке нұсқадағы тапсырмаларды орындау.
Бақылау сұрақтарына жауап беру.
Орындаған жұмыс туралы жазбаша есеп беру.
Теориялық мағлұмат
Алгоритмнің өрнектелу жолдары
Алгоритмді компьютерде орындау үшін оларды алдын ала жазып алу керек, яғни ол белгілі бір заңдылықпен өрнектелуі тиіс. Жалпы алгоритмді өрнектеу түрлеріне:
табиғи тіл арқылы жазу;
белгілі бір түйінді сөздер-терминдер (псевдекодтар-жалған кодтар) арқылы қысқаша тізбекті түрде жазу, мұны қарапайым алгоритмдік тіл деп те атайды;
график жолымен (блок-схема арқылы) жазу;
программалау тілдеріне жазу жолдарын жатқызуға болады.
Алгоритмдерді график жолымен жазу, одан кейін оны программалау тіліндегі программаға айналдыру жұмыстары мемлекеттік стандартпен бекітіліп, ақпарат өңдеу жұмысында кеңінен қолданылып келеді.
Алгоритмдерді өрнектеудің көп тараған түрі – оны график арқылы бейнелеу. Бұл – түсінікті, анық, көрнекті болып есептеледі. Тек оларды сызу көбірек еңбекті талап етеді.
Графикалық жолмен алгоритмдерді жазу үшін мемлекеттік стандарт белгіленген, онда кез келген амал белгілі бір геометриялық фигурамен өрнектеледі. Ол фигуралар немесе блоктар, амалдар немесе операциялар символы деп те аталады. Блоктар бағытталған сызықтармен байланысып, бірінен соң бірі орналасады. Жиі қолданылатын амалдар, яғни мәліметтерді компьютерге енгізу, формула арқылы есептеу, шарттардың орындалуын тексеру, нәтижені қағазға басу символдары. Осы суреттегі көрсетілген блоктардан (символдардан) алгоритм схемалары құрастырылады. Алгоритмдер схемасымен ақпаратты өңдеудің әрбір сатысы немесе орындалатын операциялар реті анықталады. Көбінесе алгоритмдер схемасы оның блок-схемасы деп аталады.
Алгоритм блоктарының ішіне орындалатын іс-әрекеттің (амалдың) мазмұны жазылады. Символдардың (блоктардың) бір ену және бір шығу сызықтары болуға тиіс.
Сонымен, алгоритмнің блок-схемасын сызу үшін мағынасы алдын ала анықталған әр түрлі геометриялық фигуралар пайдаланылады. Блок-схемада пайдаланылатын фигуралар оның блоктары, ал оларды бір-бірімен қосатын сызықтар байланыс сызықтары деп аталады. Байланыс сызықтары бұрылған жағдайда оның бағытын көрсету үшін бағыттауыш қойылады.
Блок-схема құрудың төмендегідей ережелері бар:
блок-схеманың басын және соңын міндетті түрде көрсететін блок болуы керек;
блок-схемада бірімен бірі қосылмаған блоктар болмауы керек;
блок-схемада блоктар орындалу реті бойынша тізбектеле орналасуы қажет;
арифметикалық амалдарды орындайтын блоктардың бір ғана ену екі шығу сызығы болуы қажет. Ал алтыбұрышты фигурамен берілген цикл басы блогының екі ену және екі шығу сызығы болады.
Алгоритмдер блоктардың өзара байланысуына қарай үш түрлі құрылымға – сызықтық, тармақтық және циклдік болып ажыратылады.
Мысал. Y=(ax-b)(cx+d) формуласы бойынша х-тің кез келген мәні үшін у мәндерін есептеу алгоритмін құрайық:
алг формула бойынша есептеу
арг a, b, c, d, x
нәт у
басы
R1:= a*x-b
R2:=c*x+d
y:=R1*R2
соңы
Осындағы аргументке кірмеген R1, R2 аралық шамалар деп аталады. Себебі, олар тек уақытша аралық есептеулерді іске асыру үшін ғана қолданылады.
Сызықтық немесе тізбекті алгоритм. Сызықтық алгоритм өрнектелуіне қарай тізбектеле орналасқан командалардан, ал блок-схемалары бір сызық бойына орналасқан тізбекті блоктардан тұрады. әрекеттердің тізбектей орындалуын сипаттайтын алгоритмді сызықтық алгоритм дейді.
Енді мысал келтірейік: екі санның қосындысын табу алгоритмі.
алг қосынды;
арг а, b;
нәт S;
басы
а, b енгізу;
S:=а+b;
S шығару;
соңы
Жеке тапсырмалар
Керекті айнымалыларды жариялау және шығарылатын мәліметтерді енгізуін қамтамасыз ететін цилиндрдің көлемін есептейтін алгоритм жазу.
Параллелограмның ауданын есептейтін алгоритм жазу.
Параллелепипед бетінің ауданын есептейтін алгоритм құру.
Цилиндрдің ауданын есептейтін алгоритм құру.
Сатып алынған заттың бағасын есептеу алгоритмін құру.
Екі қабырға және екі қабырғаның арасындағы бұрышы бойынша үшбұрыштың ауданын есептеу алгоритмін құру.
Екі параллелді біріктірілген элементтен тұратын электр сымның кедергісін есептеу алгоритмін құру.
Саяжайға баратын және қайтып келетін жолдың бағасын есептеу алгоритмін құру.
Цилиндр бетінің ауданын есептеу алгоритмін құру.
Шақырымнан километрдің арасындағы ара қашықтығын қайта есептеу алгоритмін құру.
Ақша салу бойынша табысты есептеу алгоритмін құру.
Экран бетіне аты-жөнін шығаратын алгоритм құру.
Төмендегі үзіндіні пайдаланып, экранға шығару алгоритмін құру.
Унылая пора! Очей очерования!
Приятна мне твоя прощальная краса-
Люблю я пышное природы увяданье,
В багрец и золото одетые леса.
А.С.Пушкин
Бақылау сұрақтары
Алгоритм дегеніміз не?
Алгоритмге анықтама бер.
Алгоритнің қасиеттерін ата.
Алгоритмнің өрнектеу жолдарын ата?
Блок-схема фигураларының қызметтерін сипатта.
№10 тәжірибелік жұмыс
Тармақталған алгоритмдермен жұмыс (толық, толымсыз, таңдау)
Мақсаты: Тармақталған алгоритм ұғымымен, оның көрсетілім сипаты және маңызымен таныстыру, тармақталған алгоритм құрылымын құруды үйрету.
Жұмыстың орындалу тәртібі:
Теориялық мәліметтермен танысу.
Жеке нұсқадағы тапсырмаларды орындау.
Бақылау сұрақтарына жауап беру.
Орындаған жұмыс туралы жазбаша есеп беру.
Теориялық мағлұмат
Тармақталу алгоритмдері. Тармақталу алгоритмінде көбінесе арифметикалық теңсіздік (теңдік) түрінде берілген логикалық шарт тексеріледі. Егер ол орындалса, онда алгоритм бір жолмен, ал орындалмаса екінші жолмен жүзеге асырылады да, соңында екі тармақ қайта бірігеді. Мұндай алгоритмдерде шартты тексеру тармақталу командасы деп аталады. Оны алгоритмдік тілде өрнектегенде егер, онда, әйтпесе, бітті түйінді сөздері пайдаланылады. Орындалу тәсіліне байланысты тармақталу командасы «таңдау» (толымды) және «аттап өту» (толымсыз) болып екі түрге ажыратылады.
Алгоритмді атқару үшін алдымен тармақталу командасының шарты тексеріледі. Шарт орындалған жағдайда онда және әйтпесе түйінді сөздерінің арасындағы 1-серия командалары орындалады. Ал шарт орындалмаған жағдайда әйтпесе және бітті түйінді сөздерінің арасындағы 2-серия командалары орындалады.
егер шарт
онда 1-серия
әйтпесе 2-серия
бітті
Толымды түрдегі тармақталу схемасы
Тармақталу алгоритмі схемасының бұл түріне міндетті түрде шартты тексеру блогы кіреді. Ол ромб түрінде кескінделіп, басқа блоктармен 1 ену және 2 шығу сызықтары арқылы байланысады. Тармақталу алгоритмдерінің толымды түрі екі серияның бірін ғана таңдауды іске асырады, мұнда берілген шарт тексеріледі, егер ол шарт орындалса, онда 1-серия жүзеге асырылып, содан кейін келесі амалдарға көшеді. Ал егер де шарт орындалмаса, яғни оның орындалу мүмкіндігі жалған болса, онда 2-серия атқарылып, содан кейін ғана алгоритм әрі қарай орындалады.
егер шарт
онда серия
бітті
Алгоритм мұндай командадан құралса, шарт орындалған жағдайда СЕРИЯ орындалады да, одан соң алгоритм атқарылуы әрі қарай жалғастырылады. Шарт орындалмаса, онда бірде-бір СЕРИЯ командалары орындалмай, «аттап өту» әрекеті атқарылады. Сонымен алгоритм схемасында тармақталу кезеңінде шарт орындалса, алгоритм сериясы жүзеге асырылады да, ал шарт жалған болғанда, серия атталып өтіледі.
Енді осыларға нақты мысалдар келтірейік:
Y=
Мұндай х айнымалысының таңбасына байланысты жоғарғы не төменгі формуланы таңдап алып, сол арқылы у функциясының мәнін табамыз.
Берілген есептің блок-схемасы
2-блоктың орындалу барысында х айнымалысына белгілі бір мән беріледі де, ол мән енгізу командалары арқылы айқындалады. Шарттың ақиқат немесе жалған болуына байланысты тек 4-немесе 5-блоктардың бірі ғана орындалып, таңдау жүзеге асырылады.6-блок енгізілген х айнымалысының және у функциясының сандық мәндерін экранға немесе қағазға басып шығарады.
Жеке тапсырмалар
Квадрат теңдеудің түбірін табуға алгоритм құрыңдар.
х, у нақты сандары берілген. Табыңдар:
а) MAX(x, y); б) MIN(x, y);
x, y, z нақты сандары берілген. Табыңдар:
а) MAX(x, y, z); б) MIN(x, y, z);
a, b, c нақты сандары берілген. Егер a≥b≥c болса, онда осы сандарды екі еселеңдер, әйтпесе оларды абсалют мәндерімен ауыстырыңдар.
Координатасы х және у болатын нүкте жататын жазықтық ширегінің номерін k айнымалысына меншіктеңдер.
Екі сан берілген. Егер бірінші санның абсалюттік шамасы екінші санның абсалюттік шамасынан үлкен болса, онда бірінші санды бес есе кішірейтіп, ал кері жағдайда, оларды өзгертпей жазатын алгоритм құрыңдар.
Берліген А (х, у) нүктесі R центрі координаталар осінің бас нүктесінде болатын дөңгелекте жататынын анықтайтын алгоритм құрыңдар.
Үш бүтін сандар берілген. Осы сандардың ішінен -10-нан +10-ға дейінгі аралықта жататындарын экранға шығарыңдар.
Жұмысқа қабылдау конкурстық негізде жүргізіледі. Қабылдау шарты бойынша жұмысшы жасы 42-ден аспауы және 20 жыл жұмыс стажы талап етіледі. Жұмысшы жұмысқа қабылданатынын немесе қабылданбайтынын анықтаңдар.
Би мектебіне бойы 168 см-ден қысқа және 178 см-ден ұзын емес қыздар мен ер балалар қабылданады. Олардың салмақтары бойларынан мына формула бойынша сәйкес келу керек: салмақ мәні ≤ (бой мәні – 115). Түсуші би мектебіне қабылдана ма, қабылданбай ма, анықтаңдар.
х және у нақты сандары берілген (х≠у). Осы екі санның кішісін олардың қосындысының жарсысымен, ал үлкенін олардыңᠠекіᠠеселенген көбейтіндісімен#Ӹ#арарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарарда барлық сандарды олардың квадраттарымен ауыстырыңдар.
х, у нақты сандары берілген. Егер х және у теріс болса, онда олардың әрқайсысын модульдерімен ауыстырыңдар; ал егер екеуінің біреуі ғана теріс болса, онда екі мәнді де 0,5-ке арттырыңдар; егер екеуі де оң болса және екеуі де [0.5,2.0] кесіндісінде жатпаса, онда екі мәнді де 10 есе кішірейтіңдер, қалған жағдайда х және у-ті өзгеріссіз қалдырыңдар.
Үш бүтін берілген. Олардың ортасын табыңдар. Ортасы олардың кішісінен үлкен, бірақ үлкенінен кіші сан болып табылады.
a, b және c сандары берілген (а≠0). ax4+bx2+c=0 теңдеуінің нақты түбірлерін табыңдар. Түбірлері жоқ болса, онда «түбірі жоқ» деген мәлімет шығарыңдар.
Бақылау сұрақтары
Тармақталған алгоритм дегеніміз не?
Тармақталған алгоритмнің жазылу пішімін сипатта.
Тармақталған алгоритмнің блок-схемасын құр.
Тармақталған алгоритм құрылымын сипатта.
Тармақталған алгоритмнің орындалу тәртібін сипатта.
№11 тәжірибелік жұмыс
Циклдік алгоритмдермен (цикл «әзір», «дейін», «үшін») жұмыс
Мақсаты: Циклдік алгоритм ұғымымен, оның көрсетілім сипаты және маңызымен, түрлерімен таныстыру, циклдік алгоритм құрылымын құруды үйрету.
Жұмыстың орындалу тәртібі:
Теориялық мәліметтермен танысу.
Жеке нұсқадағы тапсырмаларды орындау.
Бақылау сұрақтарына жауап беру.
Орындаған жұмыс туралы жазбаша есеп беру.
Теориялық мағлұмат
Көптеген алгоритмдерде белгілі бір әрекеттер тізбегі бірнеше рет қайталанып орындалып отырады. Математикада, экономикада көптеген есептерді шығару кезеңдерінде де бір теңдеуді пайдаланып, ондағы айнымалының өзгеруіне байланысты оны бірнеше рет қайталап есептеуге тура келетін сәттер де жиі кездеседі. Осындай есептеу процесінің бөліктерінің қайталанып орындалуын цикл деп атайды, ал қайталанатын бөлігі бар алгоритмдер тобы циклдік алгоритмдерге жатады. Циклдік алгоритмдерді пайдалану оларды кейіннен программаларда цикл командалары түрінде қысқартып жазу мүмкіндігін береді.
Циклдік процесті қамтамасыз ететін алгоритм бөлігін қайталану командасы құрайды. Бұл команда алгоритмді жинақы етіп жазуға мүмкіндік береді.
Циклдік алгоритмдердің шарттың берілуіне байланысты бірнеше түрі бар:
Цикл әзір (шарт алдын-ала берілетін цикл),
Цикл үшін (қадамдық цикл).
Цикл әзір.
Әзір қайталану командасын алгоритмдік тілде жазу үшін әзір (әзірше), цб (цикл басы), цс (цикл соңы), әзір, түйінді сөздері қолданылады.
әзір шарт
цб
цикл тұлғасы
цс
Әзір қайталану командасының блок-схемасы
Цикл үшін.
Үшін қайталану командасын алгоритмдік тілде жазу үшін үшін, бастап, дейін, қадам түйінді сөздері қолданылады.
үшін і бастап А1 дейін А2 қадам һ
цикл тұлғасы
Үшін қайталану командасының блок-схемасы
Жеке тапсырмалар
Соңы 0 болатын, 0-ден өзгеше сандар тізбегі берілген. Осы тізбектегі теріс сандардың санын және оң сандардың қосындысын анқтаңдар.
Соңы 0 болатын, сандар тізбегі берілген. Осы тізбекте қанша жұп тең көрші сандар бар екенін анықтаңдар.
Соңы 0 болатын натурал сандар берілген. Реттік номерлері Фибоначчи саны болатын сандардың қосындыссын есептеңдер.
Соңы 0 болатын сандар тізбегі берілген. Осы сандардың ең кішісінің реттік номерін анықтаңдар.
Берліген натурал М санынан үлкен Фибоначчи санын табыңдар.
n натурал саны берілген:
- осы санның а-дан үлкен цифрларының санын табыңдар (а пернетақтадан енгізіледі).
n натурал санының цифрларының қосындысын табыңдар.
n натурал саны берілген. Осы сандағы цифрлар санын және бірінші цифрді анықтаңдар.
Есептеңдер:
10-нан артық емес барлың Фибоначчи сандарының қосындысын есептеңдер.
n сан берілген. Осы сандардың қосындысын есептеңдер.
Билет алуға кезекте әйелдер мен ер адамдар тұр. Кезекте бірінші әйелге дейін қанша ер адам тұрғанын анықтаңдар.
Есептеңдер:
Соңы 0 болатын 0-ге тең емес бүтін сандар тізбегі берілген. Бұл тізбекте қанша рет таңба өзгеретінін анықтаңдар. (Мысалы: 1, -34, 8, 14, -5 тізбегінде таңба үш рет өзгереді)
n натурал саны берілген:
Есептеңдер:
1*2*3*4+...n(n+1)*2n
Бақылау сұрақтары
Циклдік алгоритм дегеніміз не?
Циклдік алгоритмнің жазылу пішімін сипатта.
Циклдік алгоритмнің блок-схемасын құр.
Циклдік алгоритм құрылымын сипатта.
Циклдік алгоритмнің орындалу тәртібін сипатта.
№12 тәжірибелік жұмыс
Күрделі циклдік алгоритмдермен жұмыс
Мақсаты: Циклдік алгоритм ұғымымен, оның көрсетілім сипаты және маңызымен, түрлерімен таныстыру, циклдік алгоритм құрылымын құруды үйрету.
Жұмыстың орындалу тәртібі:
Теориялық мәліметтермен танысу.
Жеке нұсқадағы тапсырмаларды орындау.
Бақылау сұрақтарына жауап беру.
Орындаған жұмыс туралы жазбаша есеп беру.
Теориялық мағлұмат
Көптеген алгоритмдерде белгілі бір әрекеттер тізбегі бірнеше рет қайталанып орындалып отырады. Математикада, экономикада көптеген есептерді шығару кезеңдерінде де бір теңдеуді пайдаланып, ондағы айнымалының өзгеруіне байланысты оны бірнеше рет қайталап есептеуге тура келетін сәттер де жиі кездеседі. Осындай есептеу процесінің бөліктерінің қайталанып орындалуын цикл деп атайды, ал қайталанатын бөлігі бар алгоритмдер тобы циклдік алгоритмдерге жатады. Циклдік алгоритмдерді пайдалану оларды кейіннен программаларда цикл командалары түрінде қысқартып жазу мүмкіндігін береді.
Циклдік процесті қамтамасыз ететін алгоритм бөлігін қайталану командасы құрайды. Бұл команда алгоритмді жинақы етіп жазуға мүмкіндік береді.
Циклдік алгоритмдердің шарттың берілуіне байланысты бірнеше түрі бар:
Цикл әзір (шарт алдын-ала берілетін цикл),
Цикл үшін (қадамдық цикл).
Цикл әзір.
Әзір қайталану командасын алгоритмдік тілде жазу үшін әзір (әзірше), цб (цикл басы), цс (цикл соңы), әзір, түйінді сөздері қолданылады.
әзір шарт
цб
цикл тұлғасы
цс
Әзір қайталану командасының блок-схемасы
Цикл үшін.
Үшін қайталану командасын алгоритмдік тілде жазу үшін үшін, бастап, дейін, қадам түйінді сөздері қолданылады.
үшін і бастап А1 дейін А2 қадам һ
цикл тұлғасы
Үшін қайталану командасының блок-схемасы
Жеке тапсырмалар
Соңы 0 болатын, 0-ден өзгеше сандар тізбегі берілген. Осы тізбектегі теріс сандардың санын және оң сандардың қосындысын анқтаңдар.
Соңы 0 болатын, сандар тізбегі берілген. Осы тізбекте қанша жұп тең көрші сандар бар екенін анықтаңдар.
Соңы 0 болатын натурал сандар берілген. Реттік номерлері Фибоначчи саны болатын сандардың қосындыссын есептеңдер.
Соңы 0 болатын сандар тізбегі берілген. Осы сандардың ең кішісінің реттік номерін анықтаңдар.
Берліген натурал М санынан үлкен Фибоначчи санын табыңдар.
n натурал саны берілген:
- осы санның а-дан үлкен цифрларының санын табыңдар (а пернетақтадан енгізіледі).
n натурал санының цифрларының қосындысын табыңдар.
n натурал саны берілген. Осы сандағы цифрлар санын және бірінші цифрді анықтаңдар.
Есептеңдер:
10-нан артық емес барлың Фибоначчи сандарының қосындысын есептеңдер.
n сан берілген. Осы сандардың қосындысын есептеңдер.
Билет алуға кезекте әйелдер мен ер адамдар тұр. Кезекте бірінші әйелге дейін қанша ер адам тұрғанын анықтаңдар.
Есептеңдер:
Соңы 0 болатын 0-ге тең емес бүтін сандар тізбегі берілген. Бұл тізбекте қанша рет таңба өзгеретінін анықтаңдар. (Мысалы: 1, -34, 8, 14, -5 тізбегінде таңба үш рет өзгереді)
n натурал саны берілген:
Есептеңдер:
1*2*3*4+...n(n+1)*2n
Бақылау сұрақтары
Циклдік алгоритм дегеніміз не?
Циклдік алгоритмнің жазылу пішімін сипатта.
Циклдік алгоритмнің блок-схемасын құр.
Циклдік алгоритм құрылымын сипатта.
Циклдік алгоритмнің орындалу тәртібін сипатта.
№13 тәжірибелік жұмыс
Сандық, логикалық және символдық типтермен жұмыс
Мақсаты: Сызықтық алгоритмдерін программалауда қолданылатын жай командалар қызметімен танысу, оларды қолдану дағдысын қалыптастыру.
Жұмыстың орындалу тәртібі:
Теориялық мәліметтермен танысу.
Жеке нұсқадағы тапсырмаларды орындау.
Бақылау сұрақтарына жауап беру.
Орындаған жұмыс туралы жазбаша есеп беру.
Теориялық мағлұмат
Мәліметтердің немесе шамалардың типтері деп олардың қабылдай алатын мәндерінің және олармен орындауға болатын амалдардың жиынын анықтауды айтады, яғни тип деген шамалардың қабылдайтын мәндеріне берілетін сипаттама.
Тілді пайдаланылатын типтер скалярлық (қарапайым) және құрылымдық (структуралық) болып үлкен екі топқа жіктеледі. Ал скалярлық қарапайым типтер алдын ала анықталған стандартты және жасанды тип (программа жасаушы тағайындайтын тип) болуы мүмкін. Стандартты типтерге:
бүтін – INTEGER,
нақты – REAL,
логикалық – BOOLEAN,
символдық – CHAR,
тіркестік (STRING),
мәтіндік (TEXT) тәрізді типтер жатады.
Құрылымдық тип жиымдар – ARRAY, жазбалар – RECORD, жиын SET және файлдар – FILE түрлеріне бөлінеді.
Бұлардан өзге типтер программаның типтерді сипаттау бөлігінде анықталу қажет. Тұрақты сандардың типін олардың сыртқы пішініне қарап-ақ ажыратуға болады, ал айнымалылар мен функциялар типтері программаның сипаттау бөлімінде көрсетіледі.
Типтер
Қарапайым Күрделі
Бүтін Нақты Символдық Логикалық Жиымдар Файлдар Жазбалар Жиымдар
сан сан шама(char) шама(logican)
Мәлімет типтерінің жіктелуі
Ол үшін type түйінді сөз қолданып, жазылу пішімін былай көрсетуге болады:
type = ;
Символдық шамалар апострофқа алынған бір символды ғана мән ретінде қабылдай алады, мысалы, “R”, “Л”, “%”, т.б. Бірақ әрбір таңбаны оның кодына байланысты реттелген бүтін сандармен де өрнектеуге мүмкіндігі бар.
Мәліметтердің қарапайым түрлерін стандартты типтер деп атау қалыптасқан. Стандартты типтердің real түрінен өзгелері реттелген деп аталады, өйткені оларды бүтін сан арқылы өрнектей отырып, өсуі не кемуі бойынша реттеп орналастыруға болады.
Стандартты типтер. Схемада көрсетілгендей Паскаль тілінде төмендегі қарапайым типтер пайдаланылады:
бүтін – SHORTINT; INTEGER; LONGINT; BYTE; WORD;
нақты тип – REAL; SINGL; DOUBLN; EXTEN DED, COMP;
символдық – CHAR;
ауқымды (диапазонды) тип.
Бүтін сан түріндегі типтер. Паскаль тілінде бүтін шамалар үшін бес стнадартты тип пайдаланылады, олардың сипаттамасы кестеде көрсетілген.
Типі | Мәндерінің өзгеруі | Ұзындығы, байт |
BYTE SHORTINT INTEGER WORD LONGINT | 0 – 255 -127 – +127 -32768 – +32767 0 –65535 -2147483648 –2147483647 | 1 1 2 2 4 |
Нақты сан түріндегі типтер. Ондық аралас сандар бүтіні мен бөлшегін бөлетін үтірлері жылжымалы және тұрақты түрлерде жазылады. Үтірлері тұрақты ондық сандар кәдімгі математикадағыдай жазылады, бірақ үтір орнына нүкте қойылады. Мысалы, 25.48, –127.25, 0.67, –8.0. Үтірлері жылжымалы ондық сандар дәрежелік көрсеткіші берілген экспоненциалды түрде жазылады, мысалы, –1.25Е+12 (1,25*10¹²), 1.3Е-05 (1,3*10‾º ), т.б.
Нақты сандардың ауқымы кестеде берілген.
Типі | Ауқымы | Мәнді цифрлар | Өлшемі, байт |
REAL SINGLE DOUBLE EXTENDED COMP | -1.7 | 11–12 7–8 15–16 19–20 19–20 | 6 4 8 10 8 |
Логикалық типтегі (BOOLEAN) шамалар негізінен екі мән қабылдайды –
TRUE(ақиқат) және FALSE (жалған), олар компьютер жадында бір байт орын алады.
Символдық типтегі (CHAR) шамалар мән ретінде тек бір таңбаны ғана қабылдай алады. Мәннің символ екендігін көрсету үшін оны апостраф ішіне алып жазады. Мысалы, ‘a’, ‘h’, ‘5’, ‘*’, т.б.
Стандартты функциялар және әр түрлі типті шамаларға қолданылатын арифметикалық амалдар
Стандартты функциялар: abs (x), sqr (x)–x-тің квадраты, sin (x), cos (x),exp (x), ln (x), sqrt (x)–x-тің квадрат түбірі, arctan (x), frac (x)–санның бөлшегі, int (x)–санның бүтіні, pi (3.14159), т.б. Бірсыпыра стандартты функциялар 2.7–кестеде келтірілген. Функцияны есептеу барысында аргумент пен функция типтерінің әр уақытта сәйкес келе бермейтінінің есте сақтаған жөн.
1.Арифметикалық функциялар. Арифметикалық функцияларда бүтін және нақты шамалар пайдалынылады. Олар төмендегі кестеде көрсетілген.
Математикалық жазылуы | Паскаль тілінде жазылуы | Атқаратын қызметі | Функция типі |
| x | arctgx cosx sinx ex [ x ] π x2 √x
| abs (x) arctan (x) cos (x) sin (x) exp (x) frac (x) int (x) ln (x) Pi Sqr (x) Sqrt (x) | Аргументті абсолютті шамасы Аргументтің арктанденісі Аргументтің косинусы Аргументтің синусы Е-нің х дәрежесі х санының бөлшек бөлігі х санының бүтін бөлігі х санының натурал логарифмы π-дің мәні pi=3.14159265 х-тің квадраты х-тің квадрат түбірі | х типіндейНақты Нақты Нақты Нақты Нақты Нақты (бүтін) Нақты х типіндей нақты |
Ескерту. Егер компилятордың кілті {$N+} түрінде болса, функциялар да real нақты типі орнына extended типі пайдаланылады.
2.Типтерді өзгерту функциялары. Бұл функциялар шамалардың типтерін өзгерту үшін пайдаланылады. Мысалы, нақты санды бүтін санға, цифрлар түрінде берілген символдар тізбегін бүтін санға, т.б. аударады. Олар:
Chr(x) – x санын (кодын) символға аударады. Мұнда аргументің типі (0...255) аралығындағы бүтін сан болуы қажет.
High(х) – шаманың максимум мәнін береді. Мысалы, шаманың мәні жиым түрінде болса, онда бұл функция индекстің ең жоғарғы (максимум) мәнін, ал шаманың мәні сөз тіркесі түрінде болса, онда сипаттлған тіркес өлшеміндегі символдар санының үлкен мәнін береді.
Low(х) – шаманың минимум мәнін береді.
Ord(х) – саналатын (реттелген) типті бүтін типке көшірді, мысалы, аргумент реттелген типте (логикалық, символдық, саналатын) болса, онда нәтиже типі lonigint болады.
Round(х) – нақты санды бүтін санға дөңгелектейді.
Trunc(x) – нақты санның бүтін бөлігін береді.
Реттелген типтегі шамаларға пайдаланылатын функциялар. Бұл функциялар реттелген тптегі шамалар үшін пайдаланылады. Мысалы, элементтің алдындағы немесе сонындағы элементті анықтау, т.б. олар:
Odd(х) – х сандық шамасының тақ екендігін тексеру. Мұнда аргумент типі longint түрінде, ал сан тақ болса, нәтиже true (ақиқат), жұп болса false (жалған) болады.
Pred(x) – реттеліпорналастырылған х-тің алдыңғы мәнін береді.
Succ(x) – реттеліп орналастырылған тізбектегі х-тің келесі мәнін анықтайды. Егер бұл функцияны соңғы элементке пайдаланса, қате деген хабар шығады.
Жеке тапсырмалар
Берілген өрнектерді Паскаль тілінде жазыңыз:
Бақылау сұрақтары
Турбо Паскаль программалау тіліне сипаттама бер.
Турбо Паскаль программалау тілінің алфавитіне сипаттама бер.
Турбо Паскаль программасының құрылымына сипаттама бер.
Турбо Паскаль программалау тілінің деректер типтеріне сипаттама бер.
№14 тәжірибелік жұмыс
Сызықтық құрылымды программалармен жұмыс
Мақсаты: Сызықтық алгоритмдерін программалауда қолданылатын жай командалар қызметімен танысу, оларды қолдану дағдысын қалыптастыру.
Жұмыстың орындалу тәртібі:
Теориялық мәліметтермен танысу.
Жеке нұсқадағы тапсырмаларды орындау.
Бақылау сұрақтарына жауап беру.
Орындаған жұмыс туралы жазбаша есеп беру.
Теориялық мағлұмат
Программалау тілдерінің қарапайым операторларына: меншіктеу, шартсыз көшу, енгізу-шығару операторлары мен бос оператор және процедураларды орындау (шақыру) операторлары жатады.
Ал күрделі немесе құрама операторларға: шартты көшу, қайталау (цикл), таңдау, жалғастыру (тіркестіру), т.б. операторлар жатады.
Меншіктеу операторы
Меншіктеу операторы барлық тілдерде пайдаланылатын негізгі оператор болып табылады. Математикадағы қарапайым теңдеу тәрізді айнымалыларға сандық (символдық та болуы мүмкін) мән беру өрнегін мұнда меншіктеу операторы деп атайды.
Меншіктеу операторы жазылған өрнектердің мәнін есептеп, оны айнымалаларға беру үшін қолданылады. Өрнек мәнінің типі айнымалының типіне міндетті түрде сәйкес келуі тиіс. Кейде нақты түрдегі айнымалыға бүтін сан мәнін меншіктеуге болады, ондайда бүтін сан нақты санға айналып кетеді. Меншіктеу операторының жазылу ережесі (пішімі) төмендегідей болады:
: = ;
мұндағы - айнымалы идентификаторы, = - меншіктеу белгісі, яғни айнымалының мәні өрнектің есептелген сан мәнін қабылдайды, - арифметикалық өрнек немесе сан.
Бұл оператор екі міндет атқарады:
Айнымалылардың белгілі мәндері бойынша арифметикалық өрнектің сандық мәнін есептейді;
Табылған мән айнымалы атауына меншіктеледі (телініп жазылады), яғни анықталған мән сол айнымалыға сәйкес компьютер жады ұяшығына орналасады. Мұнда әдеттегі теңдік «=» белгісімен шатастыру тіліндегі меншіктеу «:=» белгісін шатастырмау қажет. Олар тек түр жағынан ғана емес мағынасы жағынан да өзгеше.
Енгізу операторы
Берілген мәндерді айнымалыға беру үшін меншіктеу операторын пайдалануға болады. Бірақ бұл жағдайда программа жалпылық қасиет болмайды, яғни ол тек көрсетілген мәндер үшін ғана есептеу жұмыстарын жүргізіп, қалған кез-келген мәндер үшін дұрыс нәтиже бермейді. Программаны дұрыс әрі әмбебап етіп жасау үшін айнымалылардың мәндері өзгерілетін түрде жасалып, олар пернелерден енгізілуі қажет, мұндайда программа айнымалының әр түрлі мәндері үшін дұрыс жұмыс атқара алады.
Паскаль тілінде мәлімет енгізетін READ (READ- ағылшынша оқу) операторының жалпы түрі (пішімі) төмендегідей:
READ(а1,a2, ...,аn);
READLN(а1,a2, ...,аn);
READLN;
Мұндағы а1,a2, ...,аn – айнымалы атаулары, оларды енгізу операторының параметрлері деп те атайды. Алғашқы оператор көрсетілген айнымалылардың мәндері пернелер арқылы араларына бір бос орын қалдыру арқылы енгізілген соң, курсорды келесі қатарға көшірмейді. Ал readln ( read line – «қатарды оқу» деген сөздің қысқартылуы) алдынғы оператордағыдай пернелерден мәндер енгізілгеннен кейін курсорды келесі қатарға көшіріп жібереді. Соңғы қатарда жазылған параметрсіз оператор ешбір мән енгізбей, тек курсорды келесі қатарға көшіру ісін ғана атқарады.
READ операторы орындалғанда параметрлер өздеріне сәйкес мәндерді қабылдайды. Параметрлер жаңа мән қабылдағанда олардан бұрын орналасқан (жазылған) ескі мән өшіріліп орнына жаңа мәндер жазылып отырылады да, программа параметрдің жаңа мәні бойынша жұмыс атқарады.
Мысалы.
var
I: real;
J: integer;
K: char;
begin
Read (I,J,K);
...
Осы программаға сәйкес енгізудің алғашқы нұсқасы:
212.5 38 `п` енгізудің екінші нұсқасы: `л` 121.35 25
Алғашқы нұсқасы мәлімет енгізуді орындайды, өйткені енгізілетін мәндер өз ретімен орналасқан айнымалылар типтеріне (I,J,K) сәйкес келіп тұр. Екінші нұсұа коды 10 болып келетін қате бар екенін айтады, себебі real типтес I айнымалысы үшін char типіндегі мән енгізіліп отыр.
Егер енгізу перне арқылы жүзеге асырылмай, дискідегі файл арқылы жүргізілсе, онда жақша ішінде бірінші болып файл аты жазылады.
READ (FN,а1,a2, ...,аn);
READLN (FN,а1,a2, ...,аn);
READLN (FN);
мұндағы FN – енгізілетін мәндер жазылған дискідегі файлдың аты; аi – айнымалылар идентификаторлары, файлдар да мәндер бір қатардан немесе келесі қатардан оқыла береді, сол себепті мұнда да жоғарыда көрсетілген операторлардың үш түрі қолданылады. Файлдағы мәліметтер де бір-бірінен «бос орын» не «енгізу» пернесін басу арқылы бөліну тиіс, яғни файлға әрбір мән енгізілгеннен кейін «_» ал енгізу соңында «Enter» пернесі басылады.
READ операторы кез келген санмен, символдармен және сөз тіркестерімен жұмыс атқара алады.
Сонымен, параметрлердің сандық мәндері бір-бірінен бос орын арқылы ажыратылып жазылады. Мәндерді беріп болдық дегенді білдіру үшін «Enter» (енгізу) пернесі басылады. Мысалы, енгізу операторы READ (А,В,С); түрінде берілсе, параметрлерге мәндер былай беріледі: 5_6.2_4.5 Enter. Бұл жағдайда A=5, B=6.2, C=4.5 мәндер қабылдайды. Осы мәндер арқылы программа орындалып болған соң, басқа мәндер үшін программаны қайталау қажет болса, онда программаны басынан бастап қайта орындау қажет.
Бүтін айнымалыларға бүтін, нақты айнымалыларға нақты мәндер берілу қажет.
Шығару операторы
Паскаль тілінде нәтижені экранға шығару үшін WRITE (жазу) операторы (процедурасы деп те айтылады) пайдаланылады:
WRITE(а1,a2, ...,аn);
(а1,a2, ...,аn);
WRITELN;
мұндағы а1,a2, ...,аn – айнымалы атаулары, оларды шығару операторының параметрлері деп те атайды. Жақша ішіндегі жай айнымалылар немесе апострофтармен қоршалған символдар тобы болуы мүмкін.
Алғашқы оператор көрсетілген айнымалылардың мәндері пернелер арқылы араларына бір бос орын қалдыру арқылы енгізілген соң, курсорды келесі қатарға көшірмейді. Ал writeln (write line – «қатарды жазу» деген сөздің қысқартылуы) алдынғы оператордағыдай пернелерден мәндер енгізілгеннен кейін курсорды келесі қатарға көшіріп жібереді. Соңғы қатарда жазылған параметрсіз оператор ешбір мән енгізбей, тек курсорды келесі қатарға көшіру ісін ғана атқарады.
Шығарылатын мәндердің түрі айнымалылардың типі арқылы анықталады, олар integer, real, boolean (true, false), char немесе string (сөз тіркесі) типтер түрінде беріле береді.
Мысалы.
var
I: real;
J: integer;
K: char;
begin
...
write (I,J,K);
Шығарылатын параметрлер бір-бірімен үтір арқылы ажыратылып, WRITE түйінді сөзінен соң жай жақша ішіне жазылады.
Шығару операторында жақша ішінде қағазға не экранға шығарылатын мәннің пішімін – оның алатын орнын, яғни енін толық көрсетуге болады. Бүтін санды оның енін көрсете отырып, экранға шығаруға болады, мысалы b айнымалысының бүтін түрдегі мәнін көрсету
WRITE(b:n)
операторы арқылы жүзеге асады.
Нақты сандар үшін оның жалпы енін, сонан соң бөлшек бөлігі алатын орнын көрсету қажет, сол себепті аралас сандарды бейнелеуде оның ені қоснүктемен бөлінген екі бүтін сан арқылы жазылады. Сонымен, нақты сан үшін пішім екі саннан тұрады:
І – санға берілетін барлық орын;
ІІ – үтірден кейін алынатын бөлшек бөліктің саны.
Мысалы: WRITE(Y:5:2), мұндағы 5 – нәтижеге берілген барлық оры, 2 – үтірден соңғы бөлшек бөлігіне берілетін орындар саны.
Жалпы нақты санды экранда бейнелеу операторының жазылу түрі:
WRITE(С:n:m)
Мұндағы, n – С мәнінің барлығына берілетін орын саны; m - С мәнінің бөлшек бөлігіне белгіленген орын саны. n-нің мәні таңбаны, бүтін мен бөлшекті бөлетін нүктені және бүтін сандар орнын бөлшекке қосып көрсететіндіктен, ол nm+3 болуы тиіс. Экранға шығаратын сандапрдың арасында қалдырылатын бос орындар санын да осы жолмен көрсетуге болады.
Егер операторда пішім көрсетілмесе, онда нәтижеде сол сан толық күйде экранға шығады.
Жеке тапсырмалар
Керекті айнымалыларды жариялау және шығарылатын мәліметтерді енгізуін қамтамасыз ететін цилиндрдің көлемін есептейтін алгоритм жазу.
Параллелограмның ауданын есептейтін алгоритм жазу.
Параллелепипед бетінің ауданын есептейтін алгоритм құру.
Цилиндрдің ауданын есептейтін алгоритм құру.
Сатып алынған заттың бағасын есептеу алгоритмін құру.
Екі қабырға және екі қабырғаның арасындағы бұрышы бойынша үшбұрыштың ауданын есептеу алгоритмін құру.
Екі параллелді біріктірілген элементтен тұратын электр сымның кедергісін есептеу алгоритмін құру.
Саяжайға баратын және қайтып келетін жолдың бағасын есептеу алгоритмін құру.
Цилиндр бетінің ауданын есептеу алгоритмін құру.
Шақырымнан километрдің арасындағы ара қашықтығын қайта есептеу алгоритмін құру.
Ақша салу бойынша табысты есептеу алгоритмін құру.
Экран бетіне аты-жөнін шығаратын алгоритм құру.
Төмендегі үзіндіні пайдаланып, экранға шығару алгоритмін құру.
Унылая пора! Очей очерования!
Приятна мне твоя прощальная краса-
Люблю я пышное природы увяданье,
В багрец и золото одетые леса.
А.С.Пушкин
Бақылау сұрақтары
Турбо Паскаль программалау тілінің деректер типтеріне сипаттама бер.
Турбо Паскаль программалау тілінің деректерінің әртүрлі типтеріне қолданылатын операциялар мен функцияларға сипаттама бер.
Операторлар дегеніміз не?
Қарапайым операторларға сипаттама бер.
Сызықтық программа құрылымына сипаттама бер.
№15 тәжірибелік жұмыс
Шартты және таңдау операторларымен жұмыс
Мақсаты: Тармақталу алгоритмдерін программалауда қолданылатын шартты оператор қызметімен танысу, оларды қолдану дағдысын қалыптастыру.
Жұмыстың орындалу тәртібі:
Теориялық мәліметтермен танысу.
Жеке нұсқадағы тапсырмаларды орындау.
Бақылау сұрақтарына жауап беру.
Орындаған жұмыс туралы жазбаша есеп беру.
Теориялық мағлұмат
Шартты оператор
Тармақталу процестері бар алгоритмдерді ұйымдастыру үшін шартты операторлар пайдаланылады. Тармақталу белгілі бір шарттың орындалуы немесе орындалмауына тәуелді атқарылады. Кейде бір тармақ ішінде ешбір амал орындалмай да қала береді. Шарт ретінде логикалық өрнектің мәні пайдаланылады. Турбо Паскальда екі шартты оператор бар, олар IF және CASE.
IF шартты операторы. IF (егер) шартты операторы программадағы іс-әрекеттердің табиғи орындалу реттілігін өзгертетін мүмкіндіктің ең көп тараған тәсілі болып табылады.
Жазылу пішімі:
(
иә
жоқ
толымды түрі)IF
THEN 1-оператор
ELSE 2-оператор;
Толымды түрдегі тармақталу схемасы
(
жоқ
толымсыз түрі)IF
иә
THEN 1-оператор
IF сөзінен соң жазылатын өрнек түрінде берілген шарт алдын-ала есептеледі, оның нәтижесі логикалық типті болады. Егер ол шарттың мәні TRUE (ақиқат) болса, онда THEN (онда) сөзінен кейін жазылған 1-оператор атқарылады және ELSE сөзінен кейінгі 2-оператор атқарылмайды. Екінші жағдайды, шарт мәні FALSE (жалған) болса, яғни теріс мән қабылдаса, онда ELSE сөзінен кейінгі 2-оператор атқарылып, 1-оператор атқарылмайды. IF операторлары бірінің ішіне бірі кіріп қабаттасып та орындала береді.
Таңдау операторы
CASE таңдау операторы. CASE (таңдау) таңдау операторы көп тармақты алгоритмдерді барынша қарапайым және көрнекі түрде жазуға мүмкіндік береді. Оның құрамында селектор (selector - таңдау) деп аталатын өрнек және параметрлер тізімі болуы тиіс, әрбір параметрге сйәкес таңдау тұрақтылары болуы қажет.
Жазылу пішімі:
СASE OF
1-тұрақты: 1-оператор
-тұрақты: -оператор
...............................................
n-тұрақты: n-оператор
ELSE n+1-оператор;
END;
Таңдау командасы былайша орындалады: алдымен, селектор-өрнек мәні есептелінеді де, ол тұрақтылармен салыстырылады. Егер өрнектің мәні 1-тұрақтыға тең болса, онда 1-оператор орындалады, ал өрнектің мәні 2-тұрақтыға тең болса, онда 2-оператор орындалады, өрнектің мәні 3-тұрақтыға тең болса, онда 3-оператор орындалады, т.б. тізімдегі тек бір ғана опертор орындалады да таңдау командасы осымен аяқталады. Егер селектор-өрнектің мәні ешбір тұрақты мәніне сәйкес келмесе, онда ELSE сөзінен кейін тұрған оператор орындалады. Кейде оператор құрамында ELSE қатары болмайды, ондайда END сөзінен кейін тұрған жол орындала бастайды. Сонымен, таңдау командасында селектор-өрнектің мәні ешбір тұрақты мәніне сәйкес келмеген кезде ELSE тармағы болмаса (ол таңдау командасының қысқартылған түрі), онда таңдау командасының бірде-бір операторы орындалмайды.
Жеке тапсырмалар
Квадрат теңдеудің түбірін табуға алгоритм құрыңдар.
х, у нақты сандары берілген. Табыңдар:
а) MAX(x, y); б) MIN(x, y);
x, y, z нақты сандары берілген. Табыңдар:
а) MAX(x, y, z); б) MIN(x, y, z);
a, b, c нақты сандары берілген. Егер a≥b≥c болса, онда осы сандарды екі еселеңдер, әйтпесе оларды абсалют мәндерімен ауыстырыңдар.
Координатасы х және у болатын нүкте жататын жазықтық ширегінің номерін k айнымалысына меншіктеңдер.
Екі сан берілген. Егер бірінші санның абсалюттік шамасы екінші санның абсалюттік шамасынан үлкен болса, онда бірінші санды бес есе кішірейтіп, ал кері жағдайда, оларды өзгертпей жазатын алгоритм құрыңдар.
Берліген А (х, у) нүктесі R центрі координаталар осінің бас нүктесінде болатын дөңгелекте жататынын анықтайтын алгоритм құрыңдар.
Үш бүтін сандар берілген. Осы сандардың ішінен -10-нан +10-ға дейінгі аралықта жататындарын экранға шығарыңдар.
Жұмысқа қабылдау конкурстық негізде жүргізіледі. Қабылдау шарты бойынша жұмысшы жасы 42-ден аспауы және 20 жыл жұмыс стажы талап етіледі. Жұмысшы жұмысқа қабылданатынын немесе қабылданбайтынын анықтаңдар.
Би мектебіне бойы 168 см-ден қысқа және 178 см-ден ұзын емес қыздар мен ер балалар қабылданады. Олардың салмақтары бойларынан мына формула бойынша сәйкес келу керек: салмақ мәні ≤ (бой мәні – 115). Түсуші би мектебіне қабылдана ма, қабылданбай ма, анықтаңдар.
х және у нақты сандары берілген (х≠у). Осы екі санның кішісін олардың қосындысының жартысымен, ал үлкенін олардың екі еселенген көбейтіндісімен аустырыңдар.
a, b, c, d нақты сандары берілген. Егер abcd болса, онда сандарды өзгеріссіз қалдырыңдар; кері жағдайда барлық сандарды олардың квадраттарымен ауыстырыңдар.
х, у нақты сандары берілген. Егер х және у теріс болса, онда олардың әрқайсысын модульдерімен ауыстырыңдар; ал егер екеуінің біреуі ғана теріс болса, онда екі мәнді де 0,5-ке арттырыңдар; егер екеуі де оң болса және екеуі де [0.5,2.0] кесіндісінде жатпаса, онда екі мәнді де 10 есе кішірейтіңдер, қалған жағдайда х және у-ті өзгеріссіз қалдырыңдар.
Үш бүтін берілген. Олардың ортасын табыңдар. Ортасы олардың кішісінен үлкен, бірақ үлкенінен кіші сан болып табылады.
a, b және c сандары берілген (а≠0). ax4+bx2+c=0 теңдеуінің нақты түбірлерін табыңдар. Түбірлері жоқ болса, онда «түбірі жоқ» деген мәлімет шығарыңдар.
Енгізілген апта күндеріне сәйкес жұмыс немесе демалыс күндерін анықтаңдар.
Енігізілген ай номеріне сәйкес ай атын экранға шығарыңдар.
Лагерьге келген балаларды жастарына қарай төмендегідей отрядтарға бөлген:
6-7 жас – 5-ші отряд;
7-9 жас – 4-ші отряд;
9-11 жас – 3-ші отряд;
11-13 жас – 2-ші отряд;
13-15 жас – 1-ші отряд;
Енгізілген жасы бойынша келген баланың отрядын анықтайтын программаны жазыңдар.
Апта күндерінің номері бойынша аттарын анықтаңдар.
Кез келген жыл мезгілін енгізіп, сол жылдың шығыс календары (қазақша жыл санау) бойынша қай жануардың атына сәйкес келетінін анықтайтын программа құрыңдар.
Реттік номері бойынша ай аттарын және жыл мезгілінің қайсысы екенін анықтаңдар.
Тестілеу нәтижесінде жинаған баллдар бойынша (1-100) алған бағаны мәлімдейтін программа жазыңдар:
Балл | Баға |
0≤б | Нашар |
20≤б | Қанағаттанарлықсыз |
50≤б | Қанағаттанарлық |
75≤б | Жақсы |
93≤б | Өте жақсы |
Түстің коды беріледі, сол бойынша қандай түс екенін анықтаңдар.
Топ тізімінің кестесін құрыңдар. Берілген реттік номер бойынша студенттің аты-жөнін экранға шығарыңдар.
Енгізілген символ ағылшын алфавитінің дауысты немесе дауыссыз әрпі бола ма анықтайтын программа жазыңдар.
Бақылау сұрақтары
Операторлар дегеніміз не?
Қарапайым операторларға сипаттама бер.
Тармақталған программа құрылымына сипаттама бер.
Шартты оператор құрылымына сипаттама бер.
Таңдау оператор құрылымын сипаттама бер.
№16 тәжірибелік жұмыс
Шарт алдын-ала тексерілетін циклдік операторлармен жұмыс
Мақсаты: Паскаль тіліндегі шарт алдын-ала берілетін циклдік операторлармен танысу және оларды қолдану дағдысын қалыптастыру. Итерациялық процесстермен танысу.
Жұмыстың орындалу тәртібі:
Әдістемелік нұсқаулармен танысу.
Есептің математикалық қойылымын және алгоритмін (блок схемасын) орындау.
Программа құру. Программа қатесіне анализ жасау. Программаны тестілеу. Нәтиже алу.
Бақылау сұрақтарына жауап беру.
Теориялық мағлұмат
Көп жағдайларда аргументтердің әр түрлі мәндері бойынша алгоритмнің белгілі бір бөліктерін бірнеше рет қайталауға тура келеді. Осындай процестерді ұйымдастыру үшін циклдік құрылымы бар алгоритмдер – қайталау операторлары пайдаланылады. Олар әр түрлі заңдылықтар негізіндегі ережелер бойынша құрастырылады.
Паскаль тілінде қайталау процесін жүзеге асыратын циклдік операторлардың үш түрі бар:
Шарт алдын-ала тексерілетін цикл – WHILE;
Шарт соңынан тексерілетін цикл – REPEAT;
Параметрлі (арифметикалық) цикл – FOR.
WHILE операторы. Алдын-ала берілген шарт бойынша қайталауды жүзеге асыратын бұл оператор WHILE (әзірше) және DO (орындау) түйінді сөздерінің көмегі арқылы орындалады.
Жазылу пішімі:
WHILE DO цикл тұлғасы;
жоқ
WHILE қайталану командасының блок-схемасы
Жеке тапсырмалар
Соңы 0 болатын, 0-ден өзгеше сандар тізбегі берілген. Осы тізбектегі теріс сандардың санын және оң сандардың қосындысын анқтаңдар.
Соңы 0 болатын, сандар тізбегі берілген. Осы тізбекте қанша жұп тең көрші сандар бар екенін анықтаңдар.
Соңы 0 болатын натурал сандар берілген. Реттік номерлері Фибоначчи саны болатын сандардың қосындыссын есептеңдер.
Соңы 0 болатын сандар тізбегі берілген. Осы сандардың ең кішісінің реттік номерін анықтаңдар.
Берліген натурал М санынан үлкен Фибоначчи санын табыңдар.
n натурал саны берілген:
- осы санның а-дан үлкен цифрларының санын табыңдар (а пернетақтадан енгізіледі).
n натурал санының цифрларының қосындысын табыңдар.
n натурал саны берілген. Осы сандағы цифрлар санын және бірінші цифрді анықтаңдар.
Есептеңдер:
10-нан артық емес барлың Фибоначчи сандарының қосындысын есептеңдер.
n сан берілген. Осы сандардың қосындысын есептеңдер.
Билет алуға кезекте әйелдер мен ер адамдар тұр. Кезекте бірінші әйелге дейін қанша ер адам тұрғанын анықтаңдар.
Есептеңдер:
Соңы 0 болатын 0-ге тең емес бүтін сандар тізбегі берілген. Бұл тізбекте қанша рет таңба өзгеретінін анықтаңдар. (Мысалы: 1, -34, 8, 14, -5 тізбегінде таңба үш рет өзгереді)
n натурал саны берілген:
Есептеңдер:
1*2*3*4+...n(n+1)*2n
Бақылау сұрақтары
Циклдік программа дегеніміз не?
Циклдік программаның жазылу пішімін сипатта.
Циклдік программаның блок-схемасын құр.
Циклдік программа құрылымын сипатта.
Шарт алдын-ала тексерілетін циклдік программаның орындалу тәртібін сипатта.
№17 тәжірибелік жұмыс
Шарт соңынан тексерілетін циклдік операторлармен жұмыс
Мақсаты: Паскаль тіліндегі цикл операторларымен танысу және оларды қолдану дағдысын қалыптастыру. Итерациялық процесстермен танысу.
Жұмыстың орындалу тәртібі:
Әдістемелік нұсқаулармен танысу.
Есептің математикалық қойылымын және алгоритмін (блок схемасын) орындау.
Программа құру. Программа қатесіне анализ жасау. Программаны тестілеу. Нәтиже алу.
Бақылау сұрақтарына жауап беру.
Теориялық мағлұмат
REPEAT операторы. REPEAT қайталану операторы WHILE операторына ұқсас, одан алғашқы айырмашылығы – қайталау шарты цикл соңында тексеріледі, сондықтан ол кем дегенде бір рет орындалатын болады. Екінші өзгешелігі – цикл тұлғасы шарт жалған болғанда, қайталанып, ол ақиқат болған кезде циклді орындау доғарылады.
Бұл оператор REPEAT (қайталау) және UNTIL (дейін, шейін) түйінді сөздері сөздерінің көмегі арқылы орындалады. Оператор repeat сөзінен тұратын оның тақырыбынан, цикл тұлғасынан және қайталау шартынан құрастырылады.
Жазылу пішімі:
REPEAT
1-оператор,
2
жоқ
-оператор,...
n-оператор;
UNTIL ;
REPEAT қайталану командасының блок-схемасы
Жеке тапсырмалар
Соңы 0 болатын, 0-ден өзгеше сандар тізбегі берілген. Осы тізбектегі теріс сандардың санын және оң сандардың қосындысын анқтаңдар.
Соңы 0 болатын, сандар тізбегі берілген. Осы тізбекте қанша жұп тең көрші сандар бар екенін анықтаңдар.
Соңы 0 болатын натурал сандар берілген. Реттік номерлері Фибоначчи саны болатын сандардың қосындыссын есептеңдер.
Соңы 0 болатын сандар тізбегі берілген. Осы сандардың ең кішісінің реттік номерін анықтаңдар.
Берліген натурал М санынан үлкен Фибоначчи санын табыңдар.
n натурал саны берілген:
- осы санның а-дан үлкен цифрларының санын табыңдар (а пернетақтадан енгізіледі).
n натурал санының цифрларының қосындысын табыңдар.
n натурал саны берілген. Осы сандағы цифрлар санын және бірінші цифрді анықтаңдар.
Есептеңдер:
10-нан артық емес барлың Фибоначчи сандарының қосындысын есептеңдер.
n сан берілген. Осы сандардың қосындысын есептеңдер.
Билет алуға кезекте әйелдер мен ер адамдар тұр. Кезекте бірінші әйелге дейін қанша ер адам тұрғанын анықтаңдар.
Есептеңдер:
Соңы 0 болатын 0-ге тең емес бүтін сандар тізбегі берілген. Бұл тізбекте қанша рет таңба өзгеретінін анықтаңдар. (Мысалы: 1, -34, 8, 14, -5 тізбегінде таңба үш рет өзгереді)
n натурал саны берілген:
Есептеңдер:
1*2*3*4+...n(n+1)*2n
Бақылау сұрақтары
Циклдік программа дегеніміз не?
Циклдік программаның жазылу пішімін сипатта.
Циклдік программаның блок-схемасын құр.
Циклдік программа құрылымын сипатта.
Шарт соңынан тексерілетін циклдік программаның орындалу тәртібін сипатта.
№18 тәжірибелік жұмыс
Параметрлі циклдік операторлармен жұмыс
Мақсаты: Паскаль тіліндегі параметрлі цикл операторларымен танысу және оларды қолдану дағдысын қалыптастыру. Итерациялық процесстермен танысу.
Жұмыстың орындалу тәртібі:
Әдістемелік нұсқаулармен танысу.
Есептің математикалық қойылымын және алгоритмін (блок схемасын) орындау.
Программа құру. Программа қатесіне анализ жасау. Программаны тестілеу. Нәтиже алу.
Бақылау сұрақтарына жауап беру.
Теориялық мағлұмат
FOR операторы. Циклдегі операторларды қайталау саны алдын-ала белгілі болған жағдайда FOR операторы қолданылады. Бұл операторды параметрлі цикл операторы деп те атайды, өйткені қайталау саны функция аргументі (айнымалы) сияқты циклдің параметрлі қызметін атқаратын басқару айнымалысы арқылы беріледі. Параметр өзінің алғашқы мәнінен соңғы мәніне дейін бірлік қадаммен өзгеру барысында циклге кіретін бір немесе бірнеше операторды қайталап орындау ісін атқарады.
FOR операторы FOR (үшін), TO немесе DOWNTO (дейін) және DO (орындау) түйінді сөздері арқылы жазылады.
Жазылу пішімі екі түрде болады:
(1-түрі)
FOR айнымалы:= TO A2 DO оператор;
(2-түрі)
FOR айнымалы:= DOWNTO A2 DO оператор;
Мұндағы, S1 және S2 – цикл параметрінің алғашқы және соңғы мәндерін анықтайтын өрнектер; for … do – цикл тақырыбын анықтайтын түйінді сөздер, оператор – цикл тұлғасы.
Паскаль тілінде цикл параметрі міндетті түрде бүтін немесе реттелген типтегі айнымалы болуы қажет. Параметрдің өзгеру қадамына байланысты операторда TO немесе DOWNTO (DOWN – төмен, TO – дейін, DOWNTO – кері қарай) түйінді сөздері пайдаланылады. Егер қадам +1-ге тең болса, онда операторды TO, ал қадам -1-ге тең болса, онда DOWNTO сөзі қолданылады.
Параметрдің бастапқы және соңғы мәндері бүтін сандар түрінде немесе өсуі, кемуі бойынша реттелетін типте болуы тиіс, әтпесе оларды бүтін мән беретін арифметикалық өрнектер түрінде жазуға да болады.
FOR қайталану командасының блок-схемасы
Цикл тұлғасы (блок-схемадағы ) жай немесе құрама операторлар болуы мүмкін. FOR операторының жұмысы цикл параметрінің алғашқы мәнінен соңғы мәніне дейінгі аралықты бірлік қадаммен қайталап өтпей тоқталмайды.
Цикл тақырыбы:
басқару айнымалысының (цикл параметрі) өзгері аумағын және цикл ішіндегі операторлардың қайталану санын;
цикл параметрінің өзгеру бағытын (өсуі – to, кемуі – downto) анықтайды.
FOR операторы алғашқы рет орындаларда, S1 және S2 өрнектері есептеледі де, цикл параметріне S1 меншіктеледі, яғни :=S1 операторы жүзеге асырылады. Мұнан кейін цикл ішінде мыналар орындалады:
S2 шарты тексеріледі (S1S2 болғанда) немесе
егер шарт жалған болса, онда FOR циклі ішіндегі операторлар орындалады. Ал, егер де шарт орындалса, яғни шарт ақиқат болса, онда цикл тұлғасы орындалмай, FOR операторынан кейінгі тұрған жол атқарыла бастайды.
басқару айнымалысының мәні 1-ге өседі (to) немесе 1-ге кемиді (downto) де, әрі қарай FOR операторы қайталанып орындала береді.
цикл орындалуы барысында оның параметрінің мәнін өзгертуге болмайды (мысалы, меншіктеу операторы көмегімен);
егер цикл көшу операторы көмегімен айқын түрде доғарылмаса, цикл аяқталған соң, басқару параметрінің мәні анықталмаған болып саналады.
Жеке тапсырмалар
10 бүтін сандар берілген. Олардың қаншасы ең үлкен мәнді қабылдайды.
10 санның қосындысын тауып, нәтижені S айнымалысына меншіктеңдер.
n теріс сандардың ең кішісін табыңдар.
n теріс сандардың ең үлкенін табыңдар.
n сан енгізіңдер, олардың ішінде қанша теріс сан бар екенін анықтап, нәтижені k айнымалысына меншіктеңдер.
Цифрларының қосындысы А-ға тең, ал өзі В-ға бөлінетін барлық үш орынды сандарды табыңдар (А және Б пернетақтадан енгізіледі).
Цифрларының қосындысы a-ға тең, ал өзі b цифрынан аяқталатын барлық үш орынды сандардың санын санын табыңдар (а және b пернетақтадан енгізіледі).
Барлық симметриялы төрторынды сандарды сандарды табыңдар. Мысалы: 7667, 1331 т.с.с.
n натурал саны берілген.
Есептеңдер:
(1+1/12)(1+1/22)(1+1/32)+...(1+1/ n2)
Есептеңдер:
Цифрларының квадраттарының қосындысы 11-ге бөлінетін барлық 2 орынды сандарды табыңдар.
Есептеңдер:
0.1\1!+0.2\2!+0.3\3!+…+2\20!
1-ден 100-ге дейінгі сандардың арифметикалық ортасын анықтаңдар.
у=х3 функциясының х=6, 5, 4, ...1 болғандағы мәндерін анықтаңдар.
Цифрларының қосындысы А-ға тең, ал өзі В-ға бөлінетін барлық екі орынды сандарды табыңдар (А және В пернетақтадан енгізіледі).
Цифрларының қосындысы a-ға тең, ал өзі b цифрынан аяқталатын барлық төрт орынды сандардың санын санын табыңдар (а және b пернетақтадан енгізіледі).
Бақылау сұрақтары
Циклдік программа дегеніміз не?
Циклдік программаның жазылу пішімін сипатта.
Циклдік программаның блок-схемасын құр.
Циклдік программа құрылымын сипатта.
Шарт соңынан тексерілетін циклдік программаның орындалу тәртібін сипатта.
№19 тәжірибелік жұмыс
Күрделі циклдік операторлармен жұмыс
Мақсаты: Паскаль тіліндегі параметрлі цикл операторларымен танысу және оларды қолдану дағдысын қалыптастыру. Итерациялық процесстермен танысу.
Жұмыстың орындалу тәртібі:
Әдістемелік нұсқаулармен танысу.
Есептің математикалық қойылымын және алгоритмін (блок схемасын) орындау.
Программа құру. Программа қатесіне анализ жасау. Программаны тестілеу. Нәтиже алу.
Бақылау сұрақтарына жауап беру.
Теориялық мағлұмат
FOR операторы. Циклдегі операторларды қайталау саны алдын-ала белгілі болған жағдайда FOR операторы қолданылады. Бұл операторды параметрлі цикл операторы деп те атайды, өйткені қайталау саны функция аргументі (айнымалы) сияқты циклдің параметрлі қызметін атқаратын басқару айнымалысы арқылы беріледі. Параметр өзінің алғашқы мәнінен соңғы мәніне дейін бірлік қадаммен өзгеру барысында циклге кіретін бір немесе бірнеше операторды қайталап орындау ісін атқарады.
FOR операторы FOR (үшін), TO немесе DOWNTO (дейін) және DO (орындау) түйінді сөздері арқылы жазылады.
Жазылу пішімі екі түрде болады:
(1-түрі)
FOR айнымалы:= TO A2 DO оператор;
(2-түрі)
FOR айнымалы:= DOWNTO A2 DO оператор;
Мұндағы, S1 және S2 – цикл параметрінің алғашқы және соңғы мәндерін анықтайтын өрнектер; for … do – цикл тақырыбын анықтайтын түйінді сөздер, оператор – цикл тұлғасы.
Паскаль тілінде цикл параметрі міндетті түрде бүтін немесе реттелген типтегі айнымалы болуы қажет. Параметрдің өзгеру қадамына байланысты операторда TO немесе DOWNTO (DOWN – төмен, TO – дейін, DOWNTO – кері қарай) түйінді сөздері пайдаланылады. Егер қадам +1-ге тең болса, онда операторды TO, ал қадам -1-ге тең болса, онда DOWNTO сөзі қолданылады.
Параметрдің бастапқы және соңғы мәндері бүтін сандар түрінде немесе өсуі, кемуі бойынша реттелетін типте болуы тиіс, әтпесе оларды бүтін мән беретін арифметикалық өрнектер түрінде жазуға да болады.
FOR қайталану командасының блок-схемасы
Цикл тұлғасы (блок-схемадағы ) жай немесе құрама операторлар болуы мүмкін. FOR операторының жұмысы цикл параметрінің алғашқы мәнінен соңғы мәніне дейінгі аралықты бірлік қадаммен қайталап өтпей тоқталмайды.
Цикл тақырыбы:
басқару айнымалысының (цикл параметрі) өзгері аумағын және цикл ішіндегі операторлардың қайталану санын;
цикл параметрінің өзгеру бағытын (өсуі – to, кемуі – downto) анықтайды.
FOR операторы алғашқы рет орындаларда, S1 және S2 өрнектері есептеледі де, цикл параметріне S1 меншіктеледі, яғни :=S1 операторы жүзеге асырылады. Мұнан кейін цикл ішінде мыналар орындалады:
S2 шарты тексеріледі (S1S2 болғанда) немесе
егер шарт жалған болса, онда FOR циклі ішіндегі операторлар орындалады. Ал, егер де шарт орындалса, яғни шарт ақиқат болса, онда цикл тұлғасы орындалмай, FOR операторынан кейінгі тұрған жол атқарыла бастайды.
басқару айнымалысының мәні 1-ге өседі (to) немесе 1-ге кемиді (downto) де, әрі қарай FOR операторы қайталанып орындала береді.
цикл орындалуы барысында оның параметрінің мәнін өзгертуге болмайды (мысалы, меншіктеу операторы көмегімен);
егер цикл көшу операторы көмегімен айқын түрде доғарылмаса, цикл аяқталған соң, басқару параметрінің мәні анықталмаған болып саналады.
Жеке тапсырмалар
10 бүтін сандар берілген. Олардың қаншасы ең үлкен мәнді қабылдайды.
10 санның қосындысын тауып, нәтижені S айнымалысына меншіктеңдер.
n теріс сандардың ең кішісін табыңдар.
n теріс сандардың ең үлкенін табыңдар.
n сан енгізіңдер, олардың ішінде қанша теріс сан бар екенін анықтап, нәтижені k айнымалысына меншіктеңдер.
Цифрларының қосындысы А-ға тең, ал өзі В-ға бөлінетін барлық үш орынды сандарды табыңдар (А және Б пернетақтадан енгізіледі).
Цифрларының қосындысы a-ға тең, ал өзі b цифрынан аяқталатын барлық үш орынды сандардың санын санын табыңдар (а және b пернетақтадан енгізіледі).
Барлық симметриялы төрторынды сандарды сандарды табыңдар. Мысалы: 7667, 1331 т.с.с.
n натурал саны берілген.
Есептеңдер:
(1+1/12)(1+1/22)(1+1/32)+...(1+1/ n2)
Есептеңдер:
Цифрларының квадраттарының қосындысы 11-ге бөлінетін барлық 2 орынды сандарды табыңдар.
Есептеңдер:
0.1\1!+0.2\2!+0.3\3!+…+2\20!
1-ден 100-ге дейінгі сандардың арифметикалық ортасын анықтаңдар.
у=х3 функциясының х=6, 5, 4, ...1 болғандағы мәндерін анықтаңдар.
Цифрларының қосындысы А-ға тең, ал өзі В-ға бөлінетін барлық екі орынды сандарды табыңдар (А және В пернетақтадан енгізіледі).
Цифрларының қосындысы a-ға тең, ал өзі b цифрынан аяқталатын барлық төрт орынды сандардың санын санын табыңдар (а және b пернетақтадан енгізіледі).
Бақылау сұрақтары
Циклдік программа дегеніміз не?
Шарт алдын-ала тексерілетін циклдік программаның жазылу пішімін сипатта.
Шарт соңынан тексерілетін циклдік программаның жазылу пішімін сипатта. Циклдік программа құрылымын сипатта.
Параметрлі циклдік программаның жазылу пішімін сипатта. Циклдік программаның блок-схемасын құр.
Циклдік программа құрылымын сипатта.
2
№ 7-9
Зертханалық жұмыс
№7-9 Зертханалық жұмыс
Шартты оператор және таңдау операторы
Мақсаты: Тармақталу алгоритмдерін программалауда қолданылатын шартты оператор және таңдау операторы қызметімен танысу, оларды қолдану дағдысын қалыптастыру.
Жұмыстың орындалу тәртібі:
Теориялық мәліметтермен танысу.
Жеке нұсқадағы тапсырмаларды орындау.
Бақылау сұрақтарына жауап беру.
Орындаған жұмыс туралы жазбаша есеп беру.
Әдістемелік нұсқау
Алгоритмдік тілде қойылған шартқа байланысты екі және екіден көп тармақтары бар алгоритмдер - тармақталған алгоритм деп аталады. Осындай тармақталған алгоритмді программалауға шартты оператор қолданылады.
Шартты оператордың жалпы түрде жазылуы:
If Then Else ;
Оператордың орындалуы:
логикалық өрнектің мәні есептеледі;
егер логикалық өрнектің мәні ақиқат (true) болса, Then (онда) сөзінен кейінгі 1-оператор орындалады;
ал егер логикалық өрнектің мәні жалған (false) болса, Else (әйтпесе) сөзінен кейінгі 2-оператор орындалады.
Шартты оператор алгоритмдік тілдегі тармақталу командасына сәйкес келеді.
Егер If
Онда Then
Әйтпесе Else ;
Бітті
Егер, шартқа байланысты орындалатын бір ғана оператор болса, шартты оператор қысқаша түрде жазылады.
If Then ;
Егер Then және Else қызметші сөздерінен кейін бірнеше оператор орындалатын болса, онда операторлар операторлық жақшаға (begin … end) алынып жазылады.
If Тhen
Begin
;
;
...
n-оператор
End
Еlse
Begin
;
;
...
End;
Мысалы, a және b бүтін сандарының үлкенін табу программасын жазайық:
Program maximum;
Var a, b, max: integer;
Begin
Writeln(‘a және b бүтін сандарын енгіз’);
Readln(a, b);
If ab then max:=a else max:=b;
Writeln (‘Екі санның үлкені- max= ’, max);
Readln
End.
Есептің күрделенуіне байланысты If операторы құрамына екінші бір If операторын кірістіруге болады.
If логикалық өрнек Then
If логикалық өрнек
Then
Else ;
Таңдау операторы
Программалауда қойылған шартқа байланысты алгоритмнің тармағының саны көп болғанда Сase таңдау операторын қолдану тиімді.
Таңдау операторының жалпы түрде жазылуы:
Case селектор of
C1:1-операторы;
C2:2-операторы;
...
Сn:n операторы
Else
n+1 оператор;
End;
Мұндағы: C1, C2 ... Сn- тұрақтылар, селектор - нақты типтен басқа, қарапайым типтегі кез келген өрнек.
Оператордың орындалуы:
өрнек есептелгенде нәтижесі тұрақтылардың біріне тең болуы керек;
өрнектің мәні мен тұрақты сәйкес келгенде, сол тұрақтымен белгіленген оператор орындалады. Сол себепті, өрнектің нәтижесінің типі мен тұрақты типі сәйкес келуі керек;
өрнектің мәні бірде-бір тұрақтыға сәйкес келмесе Еlse қызметші сөзінен кейінгі оператор орындалады.
Мысалы, енгізілген айдың нөмері бойынша жыл мезгілін анықтайтын программа жазайық:
Program jil;
Uses crt;
Var ai:byte;
Begin
Clrscr;
Write(‘айдың реттік нөмерін енгіз’);
Readln(ai);
Case ai of
1, 2, 12: write(‘қыс мезгілі’);
3, 4, 5: write(‘көктем мезгілі’);
6, 7, 8: write(‘жаз мезгілі’);
9, 10, 11: write(‘күз мезгілі’);
else
Writeln(‘бұл нөмерлі ай жоқ’)
End;
End.
Жеке нұсқа бойынша тапсырмалар
Квадрат теңдеудің түбірін табуға программа құрыңдар.
х, у нақты сандары берілген. Табыңдар:
а) MAX(x, y); б) MIN (x, y);
3. x, y, z нақты сандары берілген. Табыңдар:
а) MAX(x, y, z); б) MIN (x, y, z);
4. а, b, с нақты сандары берілген. Егер аbс болса, онда осы сандарды екі еселеңдер, әйтпесе оларды абсалют мәндерімен ауыстырыңдар.
5. Координатасы х және у болатын нүкте жататын жазықтық ширегінің нөмерін k айнымалысына меншіктеңдер.
6. Екі сан берілген. Егер бірінші санның абсалюттік шамасы екінші санның абсалюттік шамасынан үлкен болса, онда бірінші санды бес есе кішірейтіп, ал кері жағдайда, оларды өзгертпей жазатын программа құрыңдар.
7. Берілген А(х,у) нүктесі, центрі координаталар осінің бас
нүктесінде болатын дөңгелекте жататынын анықтайтын
программа құрыңдар.
8.Үш бүтін сандар берілген. Осы сандардың ішінен –10-нан +10- ға дейінгі аралықта жататындарын экранға шығарыңдар.
9. Жұмысқа қабылдау конкурстық негізде жүргізіледі. Қабылдау шарты бойынша жұмысшы жасы 42-ден аспауы және 20 жыл жұмыс стажы талап етіледі. Жұмысшы жұмысқа қабылданатынын немесе қабылданбайтынын анықтандар.
10. Би мектебіне бойы 168 см-ден қысқа және 178 см-ден ұзын емес қыздар мен ер балалар қабылданады. Олардың салмақтары бойларымен мына формула бойынша сәйкес келу керек: салмақ мәні (бой мәні - 115). Түсуші би мектебіне қабылдана ма, қабылданбай ма анықтандар.
11. х және у нақты сандары берілген (ху). Осы екі санның кішісін олардың қосындысының жартысымен, ал үлкенін олардың екі еселенген көбейтіндісімен ауыстырындар.
12. а, b, с ,d нақты сандары берілген. Егер аbсd болса, онда сандарды өзгеріссіз қалдырындар; кері жағдайда барлық сандарды олардың квадраттарымен ауыстырыңдар.
х, у нақты сандары берілген. Егер х және у теріс болса, онда олардың әрқайсысын 4
модульдерімен ауыстырыңдар; ал егер екеуінің біреуі ғана теріс болса, онда екі мәнді де 0,5-ке арттырыңдар; егер екеуі де оң болса және екеуі де [0.5, 2.0] кесіндісінде жатпаса, онда екі мәнді де 10 есе кішірейтіңдер, қалған жағдайда х және у-ті өзгеріссіз қалдырыңдар.
14. Үш бүтін сан берілген. Олардың ортасын табыңдар. Ортасы олардың кішісінен үлкен, бірақ үлкенінен кіші сан болып табылады.
15. а, b және с сандары берілген. (а0) ax4+bx2+c=0 теңдеуінің нақты түбірлерін табыңдар. Түбірлері жоқ болса, онда “ түбірі жоқ” деген мәлімет шығарыңдар.
16. Енгізілген апта күндеріне сәйкес жұмыс немесе демалыс күндерін анықтаңдар.
17. Енгізілген ай нөмеріне сәйкес ай атын экранға шығарыңдар.
18. Лагерьге келген балаларды жастарына қарай төмендегідей отрядтарға бөлген:
6-7 жас-5-ші отряд;
7-9 жас- 4-ші отряд;
9-11 жас-3-ші отряд;
11-13 жас-2-ші отряд;
13-15 жас-1-ші отряд;
Енгізілген жасы бойынша келген баланың отрядын анықтайтын программаны жазыңдар.
19.
1, егер ’+’, ’-‘, ’*’, ’/ ’- біреуі болса;
Р = 2, егер ‘А’,’В’- біреуі болса;
3, егер ‘ .’ болса;
20. Апта күндерінің нөмері бойынша аттарын анықтаңдар.
21. Кез келген жыл мерзімін енгізіп,сол жылдың шығыс календары (қазақша жыл санау) бойынша қай жануардың атына сәйкес келетінін анықтайтын программа құрыңдар.
22. Реттік нөмері бойынша ай аттарын және жыл мезгілінің қайсысы екенін анықтаңдар.
5
23. Тестілеу нәтижесінде жинаған баллдар бойынша (1-100) алған бағаны мәлімдейтін программа жазыңдар:
Балл | Баға |
0б | Нашар |
20б | Қанағаттанарлықсыз |
50б | Қанағаттанарлық |
75б | Жақсы |
93б | Өте жақсы |
24. Түстің коды беріледі, сол бойынша қандай түс екенін анықтаңлар.
25. Топ тізімінің кестесін құрыңдар. Берілген реттік нөмір бойынша студентің аты-жөнін экранға шығарыңдар.
26. Енгізілген символ ағылшын алфавитінің дауысты немесе дауыссыз әрпі бола ма анықтайтын программа жазыңдар.
АЛМАТЫ ҚАЛАСЫ БІЛІМ БАСҚАРМАСЫ
АЛМАТЫ МЕМЛЕКЕТТІК ПОЛИТЕХНИКАЛЫҚ КОЛЛЕДЖI
БЕКIТЕМIН
Директордың оқу iсi
жөнiндегi орынбасары
__________ Бозымбаев Б.Д.
“____” 2010ж.
ЗЕРТХАНАЛЫҚ ЖҰМЫСТАР
АЛМАТЫ 2010
КЕЛІСІЛДІ
колледж әдіскері
_________ Молдакулова М.К.
“____” 2010ж.
Құрастырған:
арнайы пән оқытушысы Боранбаева Г.Ү. _______
“ЕТ және БҚ” циклдік пәндік комиссиясында қаралды.
ЦПК төрайымы
_______ Қыдырбаева Т. А.
Хаттама №____________
“____” 2010ж.
№1 Зертханалық жұмыс
Тақырыбы: Санау жүйесі. Позициялық және позициялық емес санау жүйелеріндегі сандар
Мақсаты: Санау жүйесі ұғымымен, санау жүйесінің түрлерін ажырата білуді үйрету, санау жүйелеріндегі сандарға қатысты есептер шығара отырып, сол санау жүйесінің алфавиттерімен және негізгі элементтерімен терең таныстыру.
Жұмыстың орындалу тәртібі:
Теориялық мәліметтермен танысу.
Жеке нұсқадағы тапсырмаларды орындау.
Бақылау сұрақтарына жауап беру.
Орындаған жұмыс туралы жазбаша есеп беру.
Теориялық бөлім
Сан түсінігі – математикадағы сияқты информатикада да басты негіз.
Сандардың аталу және жазылу ережелері мен әдістерінің жиынтығы санау жүйесі деп аталады.
Санау жүйесі екі топқа бөлінеді:
Позициялық емес санау жүйесі;
Позициялық санау жүйесі.
Позициялық емес санау жүйесінде арифметикалық әрекеттерді орындау біраз қиын болғандықтан, бүкіл дүние жүзі біртіндеп позициялық санау жүйесіне ауысты.
Позициялық емес санау жүйесінде әрбір цифрдың мәні оның алатын орнына байланысты емес. Мұндай санау жүйесінің мысал ретінде римдік жүйені алуға болады. Римдік жүйеде цифр ретінде латын әріптері қолданылады:
І V X L C D M
1 5 10 50 100 500 1000
Осы жүйеде жазылған ХХХ санында Х цифры кез келген позицияда 10-ды білдіреді.
Позициялық санау жүйесінде цифрдың мәні оның орнына (позициясына) байланысты болды. Позициялық санау жүйесінің негізі деп қолданылатын цифрлар санын айтады.
Қазіргі математикада қолданылатын санау жүйесі позициялық ондық жүйе болып табылды. Оның негізі онға тең, ал жазылуы он цифрдың кез келгенін қолдану арқылы жүзеге асады:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Бұл жүйенің позициялық сипатын кез келген көп таңбалы санның мысалынан оңай түсінуге болады. Мысалы, 333 санында бірінші үтік үш жүздікті, екіншісі – үш ондықты, үшіншісі – үш бірлікті білдіреді.
n негізді позициялық жүйеде сандарды жазу үшін n цифрдан тұратын алфавит болуы қажет. Әдетте, бұл үшін nn араб цифрлары қолданылады, ал n10 болғанда он араб цифрына әріптер қосылады. Бірнеше позициялық санау жүйесіне мысалдар келтірейік.
Кейбір санау жүйесінің алфавиттері
негізі | аталуы | алфавиті |
n=2 | екілік | 0 1 |
n=4 | төрттік | 0 1 2 3 |
n=8 | сегіздік | 0 1 2 3 4 5 6 7 |
n=10 | ондық | 0 1 2 3 4 5 6 7 8 9 |
n=16 | оналтылық | 0 1 2 3 4 5 6 7 8 9 A B C D E F |
Егер сан жазылатын санау жүйесінің негізін көрсету талап етілсе, онда ол сол санның төменгі индексі болып жазылады. Мысалы: 10111012, 25768, 4528, 3В8F16
Ондық санау жүйесі – біз осы күнге дейін қолданып дағдалынған санау жүйесі. Бұл жүйеде сандарды жазу үшін он цифр қолданылады, олар: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
Жеке тапсырмалар
111 және III сандарының айырмашылығы қандай?
Бестік, жетілік, он екілік санау жүйесінің алфавитін жаз
Екілік, бестік, сегіздік, он алтылық санау жүйелеріндегі алғашқы жиырма санды жаз
Сандарды негіз дәрежелерінің қосындысы түрінде өрнектеңдер:
А10=25341; А8=25341; А6=25341; А16=25341
Сандарды негіз дәрежелерінің қосындысы түрінде өрнектеңдер:
А10=125,34; А8=125,34; А6=125,34; А16=125,34
Сандарды негіз дәрежелерінің қосындысы түрінде өрнектеңдер:
А10=5341; А8=25,341; А6=0,25341; А16=341,54
Сандарды ондық санау жүйесіне аударыңдар:
А10=341; А8=341; А6=341; А16=341
Сандарды ондық санау жүйесіне аударыңдар:
А5=34,1; А8=221; А6=120; А16=Е41А,12
Мына санды 10101 екілік санау жүйесінен тоғыздық санау жүйесінда деп есептей отырып, ондық санау жүйесіне аударыңдар
10,21,201,1201 сандарының цифрлары қандай ең кіші негіз санау жүйесіне жатады?
403, 561, 666, 125 сандарының цифрлары қандай ең кіші негіз санау жүйесіне жатады?
22, 984, 1010, А219 сандарының цифрлары қандай ең кіші негіз санау жүйесіне жатады?
10 саны қандай санау жүйесінде тақ сан болады?
Қандай санау жүйесінде теңдік орындалады: 2 * 2 = 10, 2 * 3 = 11, 3 * 3 = 13?
Бақылау сұрақтары
Санау жүйесі дегеніміз не?
Санау жүйесінің түрлерін ата.
Позициялық санау жүйесіне сипаттама бер.
Позициялық емес санау жүйесіне сипаттама бер.
ЭЕМ-да қолданылатын санау жүйелеріне сипаттама бер.
№2 Зертханалық жұмыс
Тақырыбы: Сандарды бір санау жүйесінен екінші санау жүйесіне аудару
Мақсаты: Сандарды бір санау жүйесінен екінші санау жүйесіне ауыстыру тәсілдерін меңгерту, бір санау жүйесінен екінші санау жүйесіне ауыстыру ережелерімен таныстыру.
Жұмыстың орындалу тәртібі:
Теориялық мәліметтермен танысу.
Жеке нұсқадағы тапсырмаларды орындау.
Бақылау сұрақтарына жауап беру.
Орындаған жұмыс туралы жазбаша есеп беру.
Теориялық бөлім
Сандарды бір санау жүйесінен басқа санау жүйесіне ауыстыру қажеттілігі жиі туады, ол екі түрде жүзеге асырылады:
Кез келген санау жүйесіндегі сандарды ондық санау жүйесіне ауыстыру;
Ондық санау жүйесіндегі сандарды кез келген санау жүйесіне ауыстыру;
Кез келген санау жүйесіндегі сандарды ондық санау жүйесіне ауыстыру санның толық жазылу түрі арқылы жүзеге асырылады:
А q = ±(a n-1qn-1+a n-2qn-2 +… + a 0q0 + a -1q-1 + a -2q-2 +… + a -mq -m)
мұндағы, А q – санның өзі,
q – санау жүйесінің негізі,
a і – берілген санау жүйесіндегі санның цифры,
n – санның бүтін бөлігі разрядтарының саны,
m – санның бөлшек бөлігі разрядтарының саны.
1 мысал. 1011,0012 екілік санын ондық санау жүйесіне ауыстыр.
Жауабы: 1011,0012=1*23+0*22+1*21+1*20+0*2-1+0*2-2+1*2-3=8+0+ 2+1+0+0+0,125=11,125
2 мысал. 736,1428 сегіздік санын ондық санау жүйесіне ауыстыр.
Жауабы: 736,248=7*82+3*81+6*80+2*8-1+4*8-2=448+24+6+0,25+ 0,625=478,875
4 мысал. АD,8С16 оналтылық санын ондық санау жүйесіне ауыстыр.
Жауабы: АD,8С16=10*161+13*160+8*16-1+12*16-2=160+13+0,5+0,75 =174,25
Ондық санау жүйесінен басқа кез келген санау жүйесіне ауыстырудың берілген санға байланысты екі ережесі бар:
Бүтін ондық сандарды басқа кез келген санау жүйесіне ауыстыру;
Ондық бөлшек сандарды басқа кез келген санау жүйесіне ауыстыру.
Ауыстыру ережесі. Бүтін оң ондық санды басқа кез келген санау жүйесіне ауыстыру үшін берілген санды ауыстырылатын санау жүйесінің негізіне бөлу қажет. Алынған бөлінді негізден кіші болғанша бөліндіні қайтадан сол негізге бөле береді және т.с.с. Нәтижесінде соңғы бөліндіні және соңғысынан бастап барлық қалдықтарды бір қатармен жазу керек.
Ауыстыру ережесі. Бүтін оң ондық бөлшекті басқа кез келген санау жүйесіне ауыстыру үшін бөлшекті ауыстырылатын санау жүйесінің негізіне көбейту қажет. Көбейтіндінің бүтін бөлігі ауыстырылатын санау жүйесіндегі бөлшек санның үтірден кейінгі бірінші цифры ретінде алынады, ал бөлшек бөлігі қайтадан негізге көбейтіледі. Көбейтіндінің бүтін бөлігі келесі цифр ретінде алынады да, бөлшек бөлігін қайтадан негізге көбейтеді және т.с.с.
Жеке тапсырмалар
Бүтін сандарды ондық санау жүйесінен үштік санау жүйесіне аудырыңдар:
а) 523; 65; 7000; 2307; 325;
б) 12; 524; 76; 121; 56.
Бүтін сандарды ондық санау жүйесінен үштік санау жүйесіне аудырыңдар:
а) 856; 664; 5012; 6435; 78;
б) 214; 89; 998; 653; 111.
Ондық бөлшектерді екілік санау жүйесіне аударыңдар (санның екілік жазбасында алты таңбаша сақталынсын)
а) 0,654; 0,321; 0,6135; 0,9876;
б) 0,555; 0,333; 0,1213; 0,453.
Ондық бөлшектерді он алтылық санау жүйесіне аударыңдар (санның екілік жазбасында алты таңбаша сақталынсын)
а) 0,745; 0,101; 0,8453; 0,3451;
б) 0,8455; 0,225; 0,1234; 0,455.
Аралас ондық бөлшек сандарды үштік, бестік санау жүйесіне аударыңдар (үтірден кейін бес таңба сақталынсын)
а) 40,5; 34,25; 124,44;
б) 78,333; 225,52; 90,99.
Аралас ондық бөлшек сандарды екілік, сегіздік санау жүйесіне аударыңдар (үтірден кейін бес таңба сақталынсын)
а) 21,5; 432,54; 678,333;
б) 12,25; 97,444; 7896,2.
Мына сандарды ондық санау жүйесіне аударыңдар:
а) 345 → А5, 0,125 → А8, 45,65 → А4;
б) 675 → А12, 0,333 → А3, 23,15 → А5.
Мына сандарды ондық санау жүйесіне аударыңдар:
а) 1,25 → А16, 675 → А7, 0,355 → А4;
б) 890 → А12, 0,675 → А8, 12,35 → А7.
Мына сандарды ондық санау жүйесіне аударыңдар:
а) 425 → А6, 0,425 → А12, 98,45 → А3;
б) 0,55 → А8, 765 → А3, 765,75 → А4.
Мына сандарды ондық санау жүйесіне аударыңдар:
а) 98 → А2, 0,545 → А16, 45,65 → А4;
б) 0,755 → А5, 907 → А6, 566,225 → А16.
Бақылау сұрақтары
Ондық бүтін сандарды кез келген санау жүйесіне қалай ауыстырады?
Ондық бөлшек сандарды кез келген санау жүйесіне қалай ауыстырады?
Кез келген санау жүйесіндегі бүтін санды ондық санау жүйесіне қалай ауыстырады?
Кез келген санау жүйесіндегі бөлшек санды ондық санау жүйесіне қалай ауыстырады
№3 Зертханалық жұмыс
Тақырыбы: Санау жүйелерінде сандарға арифметикалық амалдар қолдану
Мақсаты: Санау жүйесіндегі сандарға арифметикалық амалдар қолдану ережелерімен таныстыру.
Жұмыстың орындалу тәртібі:
Теориялық мәліметтермен танысу.
Жеке нұсқадағы тапсырмаларды орындау.
Бақылау сұрақтарына жауап беру.
Орындаған жұмыс туралы жазбаша есеп беру.
Теориялық бөлім
Екілік санау жүйесінде арифметикалық әрекеттер ондық жүйедегі ереже бойынша орындалады, тек қана айырмашылығы – санау жүйесінің негіздеушісі екіге тең және тек екі цифр қолданылады.
Қосу. Қосу операциясын қарастырайық. Екілік санды қосу тасымалдау есебімен сәйкес разрядтарды қосуға әкеледі.
Екі екілік санды қосу кезінде мынадай төрт ереже қолданылады:
0+0=0
1+0=1
0+1=1
1+1=10 бірліктерді көрші (үлкен) разрядқа тасымалдау жүреді.
Мысалы: 101+11 (ондық жүйеде 5+3=8) екі екілік санды қосуды орындаймыз. Жетпейтін нольдерді қосып, амалды бағанада орындаған жөн.
101
+011 Қосу процесін кезеңмен қарастырайық.
1) Кіші разрядта қосу орындалады: 1+1=10. Кіші разрядта қосынды 0 жазылады және бірлік келесі үлкен разрядқа тасымалданады.
2) Келесі сол жақ разрядтың цифрлары және тасымалдың бірлігі қосылады: 0+1+1=10. Бұл разрядта қосынды 0 жазылады және бірлік тағы да келесі үлкен рвзрядқа тасымалданады.
3) Сол жақ разрядтың үшінші цифрлары және тасымалдың бірлігі қосылады: 0+1+1=азрядта қосынды 0 жазылады және бірлік тағы да келесі үлкен разрядқа тасымалданады, т.с.с.
4) Нәтижеде: 101
+011
1000 алынады.
Сонымен, 10002=810.
Қосу –екілік арифметикадағы маңызды операция.
Компьютердегі екілік сандармен жүзеге асатын басқа үш операция – азайту, көбейту, бөлу әдетте қосудың көмегімен орындалады.
Азайту. Екілік санды азқайту кезінде есте ұстау керек:
0-0=0
1-0=1
0-1=1 бірлікті көрші (үлкен) разрядтан аламыз.
1-1=0
Мысалы, 1010-101 екілік санның айырмасын табу. Кіші разрядтан бастап азайтуды бағанада орындаймыз:
1) Кіші разряд үшін 0-1 бар. Сондықтан үлкен разрядтан бірлікті аламыз және 10-1=1-ді табамыз.
2) Келесі разрядта 0-0=0 болады.
3) Сол жақтағы разрядта тағы да 0-1 болады. Үлкен разрядтан 1-ді аламыз және 10-1=1-ді табамыз.
4) Келесі разрядта 0 қалады.
5) Нәтижеде: 1010
-101
101 алынады.
Жеке тапсырмалар
Үштік санау жүйесінің қосу және көбейту кестесін құрып, амалдарды орындаңдар
а) 12 + 22; ә) 221 – 11; б) 21 * 2 в) 11 ÷ 2
Екілік санау жүйесінің қосу және көбейту кестесін құрып, амалдарды орындаңдар
а) 1110 + 101; ә) 10101 – 11; б) 101 * 11 в) 1110 ÷ 10
Сегіздік санау жүйесінің қосу кестесін құрып, амалдарды орындаңдар
а) 3456 + 245; ә) 7631 – 456; б) 77771 + 2 в) 77777 – 237
Он алтылық санау жүйесінің қосу кестесін құрып, амалдарды орындаңдар
а) FFFF + 1; ә) 1996 + BABA; б) BEDA – BAC в) 1998 – A1F;
Өрнекті есептеңіз
а) 101012 * 1012 ә) AFF116 - 19D16 б) 1405 ÷ 145 в) 1212113 + 2215;
Мына теңдік дұрыс па 7+8 = 16?
Санау жүйесінде теңдік орындалатындай етіп p негізі мен n цифрын табу керек
33m5n + 2n443 = 55424
Бұл мысал негізі p болатын санау жүйесінде орындалған, m – осы жүйедегі ең үлкен цифр
Жұлдызша мен белгіленген белгісіз цифрларды анықтайтын, берілген теңдік ақиқат болатын санау жүйесінің негізін табу керек
24**1 + *235* = 116678
Бақта 100 жеміс ағашы – 14 алма және 42 алмұрт. Ағаштар қай санау жүйесінде саналған
10. Қосу қай санау жүйесінде орындалған?
+ | 756 307 |
2456 24 | |
3767 |
Бақылау сұрақтары
1. Санау жүйесіндегі сандарға арифметикалық амалдар қолдануға бола ма?
2. Санау жүйесіндегі сандарға арифметикалық амалдар қолдану ережелерін ата.
3. Әртүрлі санау жүйелеріндегі сандарға арифметикалық амалдар қолдануға бола ма?
4. Әртүрлі санау жүйелеріндегі сандарға арифметикалық амалдарды қалай қолданамыз?
№4 Зертханалық жұмыс
Тақырыбы: Логикалық операциялар, ақиқаттық кестесі. Логикалық өрнектер және олардың мағынасы.
Мақсаты: Логикалық операция, ақиқаттық кесте ұғымдарымен таныстырып, күрделі пікірлерге логикалық операциялар орындай білуге, ақиқаттық кестелерін құра білуге үйрету
Жұмыстың орындалу тәртібі:
Теориялық мәліметтермен танысу.
Жеке нұсқадағы тапсырмаларды орындау.
Бақылау сұрақтарына жауап беру.
Орындаған жұмыс туралы жазбаша есеп беру.
Теориялық бөлім
Логика дегеніміз – адамның ойлау нысандары мен заңдары туралы, нақты айтқанда, дәлелді пікір заңдары туралы ғылым.
Ғылыми пән ретінде логиканың бірнеше нұсқалары дараланады: жасанды логика, математикалық логика, ықтималдықты логика, диалектикалық логика және т.б. Әр түрлі кестелерді жасау, қарама-қайшы түйіндерді шешу және басқа да көптеген жағдайларда адамдар логиканың көмегіне жүгінеді.
Жасанды логика сөйлеу тілімен білдіретін біздің кәдімгі мазмұнды пікірімізге талдау жасаумен байланысты.
Математикалық логика жасанды логиканың бір бөлігі болып табылады және ол кесіп – пішіп, айқындалған объектілер мен пікірлердің ақиқаттығын немесе жалғандығын бір мәнді шешуге болатын дәйектемелерді ғана зерттейді. Математикалық логика саласы пікірлер алгебрасы ретінде информатикада да жақсы меңгерілген. Қазіргі уақытта қазіргі алгебрасының негізгі операциялары енбейтін бір де бір программалау тілі жоқ. Логикалық есептерде тек қана сандар ғана емес, тосын аса шиеленіскен пікірлер де бастапқы деректер болып табылады.
Пікірлер дегеніміз – жалған немесе болатын кейбір пайымдаулар.
Мысалы, “ак қар”, “2*2=4” пікірлері ақиқат, ал “жер тегіс”, “2*2=5” пікірлері жалған. Әдетте, біз бақылайтын фактілер ақиқатқа қабылданады. Жалған пайымдаулар көбінесе пайымдаулар мен ұйғарымдардағы қатерлерден немесе қалауды шындықтың орнына беруге ұмтылудан пайда болады.
Пікірлер жалпы және жеке болып бөлінеді. Жеке пікірлер нақты фактілерді көрсетеді, мысалы “3+3
Жалпы пікірлер объектілердің қандай да бөліктері үшін ақиқат және басқа объектілер үшін жалған болуы мүмкін. Мысалы, “Иттер мысықтарды жақсы көрмейді” пікірі иттердің көпшілігі үшін әділетті, бірақ барлықтары үшін емес.
Қиын жағдайларда сұрақтардың жауабы ЖӘНЕ, НЕМЕСЕ, ЕМЕС жалғаулары арқылы құрамды пікірлермен көрсетеді. Мысалы, “Мына оқушы ақылды және зерек” пікірі қарапайым “Мына оқушы зерек ” пікірлерінен тұратын құрамды пікір болып табылады.
Ереже. Математикада НЕМЕСЕ жалғаушысы бар құрамды пікір: егер оны құрайтындардың кемінде біреуі ақиқат болса, ол ақиқат; егер оны құрайтындардың бәрі жалған болса, ол жалған пікір болады.
ЕМЕС жалғаушысы теріске шығаруды тұжырымдау үшін қолданылады. Мысалы, “х≠0” пайымдауы болады. “Бұл адам әдемі” пайымдауының теріске шығарылуы “Бұл адам әдемі емес” пайымдауына тең.
Ереже. Егер пайымдау жалған болса, онда теріске шығару ақиқат және керісінше, егер бастапқы пайымдау ақиқат болса, онда теріске шығару жалған.
Жеке тапсырмалар
Пікірлер үшін ақиқаттық кестесін толтырыңдар
Майра Әлияның досы, ол көрікті қыз және жақсы оқиды
А пікірі | В пікірі | А*В пікірі |
Майра – көрікті қыз ба? | Майра жақсы оқиды ма? | Майра - Әлияның досы |
Иә | Иә |
|
Иә | Жоқ |
|
Жоқ | Иә |
|
Жоқ | Жоқ |
|
Қорытынды: Екі пікір де ақиқат болғанда, конъюнкция ____________________.
Пайымдаулардың біреуі немесе екеуі де жалған болғанда, конъюнкция ______________.
Күрделі пікірлерді жай пікірлерді бөліп алыңдар да, оларды әріптермен белгілеңдер. Осы күрделі пікірлерді формула түрінде өрнектеңдер. Өз пікірлеріңді құрыңдар.
Пікір үшін ақиқаттық кестесін толтырыңдар
Келесі сабақта біз бейнефильм көреміз немесе шығарма жазамыз.
А пікірі | В пікірі | А+В пікірі |
Біз бейнефильм көреміз бе? | Шығарма жазамыз ба? | Келесі сабақта ма? |
Иә | Иә |
|
Иә | Жоқ |
|
Жоқ | Иә |
|
Жоқ | Жоқ |
|
Қорытынды: Пікірлердің кемінде біреуі ақиқат болғанда, дизъюнкция _______________;
Пікірлердің екеуі де жалған болғанда, дизъюнкция ______________ болады.
Күрделі пікір құрыңдар, ондағы жай пікірлерді ажыратып, әрқайсысын әріптермен белгілеңдер. Осы күрделі пікірлерді формула түрінде өрнектеңдер.
Қабырғалары тең үшбұрыштар теңбүйірлі үшбұрыштар болып табылады.
5+919-5
Логикалық операцияларға мысал келтіріңдер.
Бақылау сұрақтары
Логика дегеніміз не?
Логиканың түрлерін ата.
Пікір дегеніміз не?
Формальді логика дегеніміз не?
Математикалық логика дегеніміз не?
Пікірлер неше түрге бөлінеді?
№5 Зертханалық жұмыс.
Тақырыбы: Сызықтық, тармақталу циклдік алгоритмдерді жазу
Мақсаты: Алгоритм ұғымымен, оның көрсетілім сипаты және маңызымен таныстыра отырып, алгоритмнің негізігі қасиеттерін сипаттай білуге, алгоритмді талдай білуге, күнделікті тұрмпыстағы іс-әрекеттерді алгоритм тұрғысынан қарастыра білуге үйрету.
Жұмыстың орындалу тәртібі:
Теориялық мәліметтермен танысу.
Жеке нұсқадағы тапсырмаларды орындау.
Бақылау сұрақтарына жауап беру.
Орындаған жұмыс туралы жазбаша есеп беру.
Теориялық мағлұмат
Алгоритмді компьютерде орындау үшін оларды алдын ала жазып алу керек, яғни ол белгілі бір заңдылықпен өрнектелуі тиіс. Жалпы алгоритмді өрнектеу түрлеріне:
табиғи тіл арқылы жазу;
белгілі бір түйінді сөздер-терминдер (псевдекодтар-жалған кодтар) арқылы қысқаша тізбекті түрде жазу, мұны қарапайым алгоритмдік тіл деп те атайды;
график жолымен (блок-схема арқылы) жазу;
программалау тілдеріне жазу жолдарын жатқызуға болады.
Алгоритмдерді график жолымен жазу, одан кейін оны программалау тіліндегі программаға айналдыру жұмыстары мемлекеттік стандартпен бекітіліп, ақпарат өңдеу жұмысында кеңінен қолданылып келеді.
Алгоритмдерді өрнектеудің көп тараған түрі – оны график арқылы бейнелеу. Бұл – түсінікті, анық, көрнекті болып есептеледі. Тек оларды сызу көбірек еңбекті талап етеді.
Графикалық жолмен алгоритмдерді жазу үшін мемлекеттік стандарт белгіленген, онда кез келген амал белгілі бір геометриялық фигурамен өрнектеледі. Ол фигуралар немесе блоктар, амалдар немесе операциялар символы деп те аталады. Блоктар бағытталған сызықтармен байланысып, бірінен соң бірі орналасады. Жиі қолданылатын амалдар, яғни мәліметтерді компьютерге енгізу, формула арқылы есептеу, шарттардың орындалуын тексеру, нәтижені қағазға басу символдары. Осы суреттегі көрсетілген блоктардан (символдардан) алгоритм схемалары құрастырылады. Алгоритмдер схемасымен ақпаратты өңдеудің әрбір сатысы немесе орындалатын операциялар реті анықталады. Көбінесе алгоритмдер схемасы оның блок-схемасы деп аталады.
Алгоритм блоктарының ішіне орындалатын іс-әрекеттің (амалдың) мазмұны жазылады. Символдардың (блоктардың) бір ену және бір шығу сызықтары болуға тиіс.
Сонымен, алгоритмнің блок-схемасын сызу үшін мағынасы алдын ала анықталған әр түрлі геометриялық фигуралар пайдаланылады. Блок-схемада пайдаланылатын фигуралар оның блоктары, ал оларды бір-бірімен қосатын сызықтар байланыс сызықтары деп аталады. Байланыс сызықтары бұрылған жағдайда оның бағытын көрсету үшін бағыттауыш қойылады.
Блок-схема құрудың төмендегідей ережелері бар:
блок-схеманың басын және соңын міндетті түрде көрсететін блок болуы керек;
блок-схемада бірімен бірі қосылмаған блоктар болмауы керек;
блок-схемада блоктар орындалу реті бойынша тізбектеле орналасуы қажет;
арифметикалық амалдарды орындайтын блоктардың бір ғана ену екі шығу сызығы болуы қажет. Ал алтыбұрышты фигурамен берілген цикл басы блогының екі ену және екі шығу сызығы болады.
Алгоритмдер блоктардың өзара байланысуына қарай үш түрлі құрылымға – сызықтық, тармақтық және циклдік болып ажыратылады.
Мысал. Y=(ax-b)(cx+d) формуласы бойынша х-тің кез келген мәні үшін у мәндерін есептеу алгоритмін құрайық:
алг формула бойынша есептеу
арг a, b, c, d, x
нәт у
басы
R1:= a*x-b
R2:=c*x+d
y:=R1*R2
соңы
Осындағы аргументке кірмеген R1, R2 аралық шамалар деп аталады. Себебі, олар тек уақытша аралық есептеулерді іске асыру үшін ғана қолданылады.
Сызықтық немесе тізбекті алгоритм. Сызықтық алгоритм өрнектелуіне қарай тізбектеле орналасқан командалардан, ал блок-схемалары бір сызық бойына орналасқан тізбекті блоктардан тұрады. әрекеттердің тізбектей орындалуын сипаттайтын алгоритмді сызықтық алгоритм дейді.
Енді мысал келтірейік: екі санның қосындысын табу алгоритмі.
алг қосынды;
арг а, b;
нәт S;
басы
а, b енгізу;
S:=а+b;
S шығару;
соңы
Тармақталу алгоритмдері. Тармақталу алгоритмінде көбінесе арифметикалық теңсіздік (теңдік) түрінде берілген логикалық шарт тексеріледі. Егер ол орындалса, онда алгоритм бір жолмен, ал орындалмаса екінші жолмен жүзеге асырылады да, соңында екі тармақ қайта бірігеді. Мұндай алгоритмдерде шартты тексеру тармақталу командасы деп аталады. Оны алгоритмдік тілде өрнектегенде егер, онда, әйтпесе, бітті түйінді сөздері пайдаланылады. Орындалу тәсіліне байланысты тармақталу командасы «таңдау» (толымды) және «аттап өту» (толымсыз) болып екі түрге ажыратылады.
Алгоритмді атқару үшін алдымен тармақталу командасының шарты тексеріледі. Шарт орындалған жағдайда онда және әйтпесе түйінді сөздерінің арасындағы 1-серия командалары орындалады. Ал шарт орындалмаған жағдайда әйтпесе және бітті түйінді сөздерінің арасындағы 2-серия командалары орындалады.
егер шарт
онда 1-серия
әйтпесе 2-серия
бітті
Толымды түрдегі тармақталу схемасы
Тармақталу алгоритмі схемасының бұл түріне міндетті түрде шартты тексеру блогы кіреді. Ол ромб түрінде кескінделіп, басқа блоктармен 1 ену және 2 шығу сызықтары арқылы байланысады. Тармақталу алгоритмдерінің толымды түрі екі серияның бірін ғана таңдауды іске асырады, мұнда берілген шарт тексеріледі, егер ол шарт орындалса, онда 1-серия жүзеге асырылып, содан кейін келесі амалдарға көшеді. Ал егер де шарт орындалмаса, яғни оның орындалу мүмкіндігі жалған болса, онда 2-серия атқарылып, содан кейін ғана алгоритм әрі қарай орындалады.
егер шарт
онда серия
бітті
Алгоритм мұндай командадан құралса, шарт орындалған жағдайда СЕРИЯ орындалады да, одан соң алгоритм атқарылуы әрі қарай жалғастырылады. Шарт орындалмаса, онда бірде-бір СЕРИЯ командалары орындалмай, «аттап өту» әрекеті атқарылады. Сонымен алгоритм схемасында тармақталу кезеңінде шарт орындалса, алгоритм сериясы жүзеге асырылады да, ал шарт жалған болғанда, серия атталып өтіледі.
Енді осыларға нақты мысалдар келтірейік:
Y=
Мұндай х айнымалысының таңбасына байланысты жоғарғы не төменгі формуланы таңдап алып, сол арқылы у функциясының мәнін табамыз.
Берілген есептің блок-схемасы
2-блоктың орындалу барысында х айнымалысына белгілі бір мән беріледі де, ол мән енгізу командалары арқылы айқындалады. Шарттың ақиқат немесе жалған болуына байланысты тек 4-немесе 5-блоктардың бірі ғана орындалып, таңдау жүзеге асырылады.6-блок енгізілген х айнымалысының және у функциясының сандық мәндерін экранға немесе қағазға басып шығарады.
Жеке тапсырмалар
Керекті айнымалыларды жариялау және шығарылатын мәліметтерді енгізуін қамтамасыз ететін цилиндрдің көлемін есептейтін алгоритм жазу.
Параллелограмның ауданын есептейтін алгоритм жазу.
Параллелепипед бетінің ауданын есептейтін алгоритм құру.
Цилиндрдің ауданын есептейтін алгоритм құру.
Сатып алынған заттың бағасын есептеу алгоритмін құру.
Екі қабырға және екі қабырғаның арасындағы бұрышы бойынша үшбұрыштың ауданын есептеу алгоритмін құру.
Екі параллелді біріктірілген элементтен тұратын электр сымның кедергісін есептеу алгоритмін құру.
Саяжайға баратын және қайтып келетін жолдың бағасын есептеу алгоритмін құру.
Цилиндр бетінің ауданын есептеу алгоритмін құру.
Шақырымнан километрдің арасындағы ара қашықтығын қайта есептеу алгоритмін құру.
Ақша салу бойынша табысты есептеу алгоритмін құру.
Экран бетіне аты-жөнін шығаратын алгоритм құру.
Квадрат теңдеудің түбірін табуға алгоритм құрыңдар.
х, у нақты сандары берілген. Табыңдар:
а) MAX(x, y); б) MIN(x, y);
x, y, z нақты сандары берілген. Табыңдар:
а) MAX(x, y, z); б) MIN(x, y, z);
a, b, c нақты сандары берілген. Егер a≥b≥c болса, онда осы сандарды екі еселеңдер, әйтпесе оларды абсалют мәндерімен ауыстырыңдар.
Координатасы х және у болатын нүкте жататын жазықтық ширегінің номерін k айнымалысына меншіктеңдер.
Екі сан берілген. Егер бірінші санның абсалюттік шамасы екінші санның абсалюттік шамасынан үлкен болса, онда бірінші санды бес есе кішірейтіп, ал кері жағдайда, оларды өзгертпей жазатын алгоритм құрыңдар.
Берліген А (х, у) нүктесі R центрі координаталар осінің бас нүктесінде болатын дөңгелекте жататынын анықтайтын алгоритм құрыңдар.
Үш бүтін сандар берілген. Осы сандардың ішінен -10-нан +10-ға дейінгі аралықта жататындарын экранға шығарыңдар.
Жұмысқа қабылдау конкурстық негізде жүргізіледі. Қабылдау шарты бойынша жұмысшы жасы 42-ден аспауы және 20 жыл жұмыс стажы талап етіледі. Жұмысшы жұмысқа қабылданатынын немесе қабылданбайтынын анықтаңдар.
Би мектебіне бойы 168 см-ден қысқа және 178 см-ден ұзын емес қыздар мен ер балалар қабылданады. Олардың салмақтары бойларынан мына формула бойынша сәйкес келу керек: салмақ мәні ≤ (бой мәні – 115). Түсуші би мектебіне қабылдана ма, қабылданбай ма, анықтаңдар.
х және у нақты сандары берілген (х≠у). Осы екі санның кішісін олардың қосындысының жартысымен, ал үлкенін олардың екі еселенген көбейтіндісімен аустырыңдар.
a, b, c, d нақты сандары берілген. Егер abcd болса, онда сандарды өзгеріссіз қалдырыңдар; кері жағдайда барлық сандарды олардың квадраттарымен ауыстырыңдар.
х, у нақты сандары берілген. Егер х және у теріс болса, онда олардың әрқайсысын модульдерімен ауыстырыңдар; ал егер екеуінің біреуі ғана теріс болса, онда екі мәнді де 0,5-ке арттырыңдар; егер екеуі де оң болса және екеуі де [0.5,2.0] кесіндісінде жатпаса, онда екі мәнді де 10 есе кішірейтіңдер, қалған жағдайда х және у-ті өзгеріссіз қалдырыңдар.
Үш бүтін берілген. Олардың ортасын табыңдар. Ортасы олардың кішісінен үлкен, бірақ үлкенінен кіші сан болып табылады.
a, b және c сандары берілген (а≠0). ax4+bx2+c=0 теңдеуінің нақты түбірлерін табыңдар. Түбірлері жоқ болса, онда «түбірі жоқ» деген мәлімет шығарыңдар.
Бақылау сұрақтары
Алгоритм дегеніміз не?
Алгоритмге анықтама бер.
Алгоритнің қасиеттерін ата.
Алгоритмнің өрнектеу жолдарын ата?
Блок-схема фигураларының қызметтерін сипатта.
Тармақталған алгоритм дегеніміз не?
Тармақталған алгоритмнің жазылу пішімін сипатта.
Тармақталған алгоритмнің блок-схемасын құр.
Тармақталған алгоритм құрылымын сипатта.
Тармақталған алгоритмнің орындалу тәртібін сипатта.
№6 Зертханалық жұмыс
Тақырыбы: Мәліметтердің түрлі типтерін енгізу-шығару
Мақсаты: Сызықтық алгоритмдерін программалауда қолданылатын жай командалар қызметімен танысу, оларды қолдану дағдысын қалыптастыру.
Жұмыстың орындалу тәртібі:
Теориялық мәліметтермен танысу.
Жеке нұсқадағы тапсырмаларды орындау.
Бақылау сұрақтарына жауап беру.
Орындаған жұмыс туралы жазбаша есеп беру.
Теориялық бөлім
Программалау тілдерінің қарапайым операторларына: меншіктеу, шартсыз көшу, енгізу-шығару операторлары мен бос оператор және процедураларды орындау (шақыру) операторлары жатады.
Ал күрделі немесе құрама операторларға: шартты көшу, қайталау (цикл), таңдау, жалғастыру (тіркестіру), т.б. операторлар жатады.
Меншіктеу операторы
Меншіктеу операторы барлық тілдерде пайдаланылатын негізгі оператор болып табылады. Математикадағы қарапайым теңдеу тәрізді айнымалыларға сандық (символдық та болуы мүмкін) мән беру өрнегін мұнда меншіктеу операторы деп атайды.
Меншіктеу операторы жазылған өрнектердің мәнін есептеп, оны айнымалаларға беру үшін қолданылады. Өрнек мәнінің типі айнымалының типіне міндетті түрде сәйкес келуі тиіс. Кейде нақты түрдегі айнымалыға бүтін сан мәнін меншіктеуге болады, ондайда бүтін сан нақты санға айналып кетеді. Меншіктеу операторының жазылу ережесі (пішімі) төмендегідей болады:
: = ;
мұндағы - айнымалы идентификаторы, = - меншіктеу белгісі, яғни айнымалының мәні өрнектің есептелген сан мәнін қабылдайды, - арифметикалық өрнек немесе сан.
Мысалы: x:=2*y+z;
z:=a+b;
Мұндағы := меншіктеу белгісінің оң жағындағы өрнек есептелініп, сандық мәні оң жақтағы айнымалыға айнымалыға меншіктелінеді.
Символдық мәндерді меншіктеуде апостроф (‘) таңбасын қолданамыз.
Мысалы: k:=’Информатика’;
j:=’*’
Бұл оператор екі міндет атқарады:
Айнымалылардың белгілі мәндері бойынша арифметикалық өрнектің сандық мәнін есептейді;
Табылған мән айнымалы атауына меншіктеледі (телініп жазылады), яғни анықталған мән сол айнымалыға сәйкес компьютер жады ұяшығына орналасады. Мұнда әдеттегі теңдік «=» белгісімен шатастыру тіліндегі меншіктеу «:=» белгісін шатастырмау қажет. Олар тек түр жағынан ғана емес мағынасы жағынан да өзгеше.
Бос оператор
Бос оператор ешқандай да әрекеттің орындалмайтынын көрсетеді, ол программа блогынан шықпай-ақ, бірнеше жолды орындамай өткізіп жіберіп, блок соңына бірден көшетін кезде пайдаланылады. Мұндайда END сөзінің алдына белгі жазылып, соңына қос нүкте қойылады.
Label belgi;
…
Begin
…
goto belgi; {Блок соңына көшу}
…
Belgi: end; {бос оператор белгісі}
Кейде бос оператор begin, end сөздерінен немесе ешбір мәнді өзгертпейтін өрнектен тұрады.
Бос оператор ешқандай да амал орындамайды. Бос оператор қалдырылып кеткен (жоқ оператор) оператордың орнын белгілеу үшін пайдаланылады. Әдетте, бос оператор орнына нүктелі үтір «;» қойып кетуге болады.
Енгізу операторы
Берілген мәндерді айнымалыға беру үшін меншіктеу операторын пайдалануға болады. Бірақ бұл жағдайда программа жалпылық қасиет болмайды, яғни ол тек көрсетілген мәндер үшін ғана есептеу жұмыстарын жүргізіп, қалған кез-келген мәндер үшін дұрыс нәтиже бермейді. Программаны дұрыс әрі әмбебап етіп жасау үшін айнымалылардың мәндері өзгерілетін түрде жасалып, олар пернелерден енгізілуі қажет, мұндайда программа айнымалының әр түрлі мәндері үшін дұрыс жұмыс атқара алады.
Паскаль тілінде мәлімет енгізетін READ (READ- ағылшынша оқу) операторының жалпы түрі (пішімі) төмендегідей:
READ(а1,a2, ...,аn);
READLN(а1,a2, ...,аn);
READLN;
Мұндағы а1,a2, ...,аn – айнымалы атаулары, оларды енгізу операторының параметрлері деп те атайды. Алғашқы оператор көрсетілген айнымалылардың мәндері пернелер арқылы араларына бір бос орын қалдыру арқылы енгізілген соң, курсорды келесі қатарға көшірмейді. Ал readln ( read line – «қатарды оқу» деген сөздің қысқартылуы) алдынғы оператордағыдай пернелерден мәндер енгізілгеннен кейін курсорды келесі қатарға көшіріп жібереді. Соңғы қатарда жазылған параметрсіз оператор ешбір мән енгізбей, тек курсорды келесі қатарға көшіру ісін ғана атқарады.
READ операторы орындалғанда параметрлер өздеріне сәйкес мәндерді қабылдайды. Параметрлер жаңа мән қабылдағанда олардан бұрын орналасқан (жазылған) ескі мән өшіріліп орнына жаңа мәндер жазылып отырылады да, программа параметрдің жаңа мәні бойынша жұмыс атқарады.
Мысалы.
var
I: real;
J: integer;
K: char;
begin
Read (I,J,K);
...
Осы программаға сәйкес енгізудің алғашқы нұсқасы:
212.5 38 `п` енгізудің екінші нұсқасы: `л` 121.35 25
Алғашқы нұсқасы мәлімет енгізуді орындайды, өйткені енгізілетін мәндер өз ретімен орналасқан айнымалылар типтеріне (I,J,K) сәйкес келіп тұр. Екінші нұсұа коды 10 болып келетін қате бар екенін айтады, себебі real типтес I айнымалысы үшін char типіндегі мән енгізіліп отыр.
Егер енгізу перне арқылы жүзеге асырылмай, дискідегі файл арқылы жүргізілсе, онда жақша ішінде бірінші болып файл аты жазылады.
READ (FN,а1,a2, ...,аn);
READLN (FN,а1,a2, ...,аn);
READLN (FN);
мұндағы FN – енгізілетін мәндер жазылған дискідегі файлдың аты; аi – айнымалылар идентификаторлары, файлдар да мәндер бір қатардан немесе келесі қатардан оқыла береді, сол себепті мұнда да жоғарыда көрсетілген операторлардың үш түрі қолданылады. Файлдағы мәліметтер де бір-бірінен «бос орын» не «енгізу» пернесін басу арқылы бөліну тиіс, яғни файлға әрбір мән енгізілгеннен кейін «_» ал енгізу соңында «Enter» пернесі басылады.
READ операторы кез келген санмен, символдармен және сөз тіркестерімен жұмыс атқара алады.
Сонымен, параметрлердің сандық мәндері бір-бірінен бос орын арқылы ажыратылып жазылады. Мәндерді беріп болдық дегенді білдіру үшін «Enter» (енгізу) пернесі басылады. Мысалы, енгізу операторы READ (А,В,С); түрінде берілсе, параметрлерге мәндер былай беріледі: 5_6.2_4.5 Enter. Бұл жағдайда A=5, B=6.2, C=4.5 мәндер қабылдайды. Осы мәндер арқылы программа орындалып болған соң, басқа мәндер үшін программаны қайталау қажет болса, онда программаны басынан бастап қайта орындау қажет.
Бүтін айнымалыларға бүтін, нақты айнымалыларға нақты мәндер берілу қажет.
Шығару операторы
Паскаль тілінде нәтижені экранға шығару үшін WRITE (жазу) операторы (процедурасы деп те айтылады) пайдаланылады:
WRITE(а1,a2, ...,аn);
(а1,a2, ...,аn);
WRITELN;
мұндағы а1,a2, ...,аn – айнымалы атаулары, оларды шығару операторының параметрлері деп те атайды. Жақша ішіндегі жай айнымалылар немесе апострофтармен қоршалған символдар тобы болуы мүмкін.
Алғашқы оператор көрсетілген айнымалылардың мәндері пернелер арқылы араларына бір бос орын қалдыру арқылы енгізілген соң, курсорды келесі қатарға көшірмейді. Ал writeln (write line – «қатарды жазу» деген сөздің қысқартылуы) алдынғы оператордағыдай пернелерден мәндер енгізілгеннен кейін курсорды келесі қатарға көшіріп жібереді. Соңғы қатарда жазылған параметрсіз оператор ешбір мән енгізбей, тек курсорды келесі қатарға көшіру ісін ғана атқарады.
Шығарылатын мәндердің түрі айнымалылардың типі арқылы анықталады, олар integer, real, boolean (true, false), char немесе string (сөз тіркесі) типтер түрінде беріле береді.
Мысалы.
var
I: real;
J: integer;
K: char;
begin
...
write (I,J,K);
Шығарылатын параметрлер бір-бірімен үтір арқылы ажыратылып, WRITE түйінді сөзінен соң жай жақша ішіне жазылады.
Шығару операторында жақша ішінде қағазға не экранға шығарылатын мәннің пішімін – оның алатын орнын, яғни енін толық көрсетуге болады. Бүтін санды оның енін көрсете отырып, экранға шығаруға болады, мысалы b айнымалысының бүтін түрдегі мәнін көрсету
WRITE(b:n)
операторы арқылы жүзеге асады.
Нақты сандар үшін оның жалпы енін, сонан соң бөлшек бөлігі алатын орнын көрсету қажет, сол себепті аралас сандарды бейнелеуде оның ені қоснүктемен бөлінген екі бүтін сан арқылы жазылады. Сонымен, нақты сан үшін пішім екі саннан тұрады:
І – санға берілетін барлық орын;
ІІ – үтірден кейін алынатын бөлшек бөліктің саны.
Мысалы: WRITE(Y:5:2), мұндағы 5 – нәтижеге берілген барлық оры, 2 – үтірден соңғы бөлшек бөлігіне берілетін орындар саны.
Жалпы нақты санды экранда бейнелеу операторының жазылу түрі:
WRITE(С:n:m)
Мұндағы, n – С мәнінің барлығына берілетін орын саны; m - С мәнінің бөлшек бөлігіне белгіленген орын саны. n-нің мәні таңбаны, бүтін мен бөлшекті бөлетін нүктені және бүтін сандар орнын бөлшекке қосып көрсететіндіктен, ол nm+3 болуы тиіс. Экранға шығаратын сандапрдың арасында қалдырылатын бос орындар санын да осы жолмен көрсетуге болады.
Егер операторда пішім көрсетілмесе, онда нәтижеде сол сан толық күйде экранға шығады.
Жеке тапсырмалар
Керекті айнымалыларды жариялау және шығарылатын мәліметтерді енгізуін қамтамасыз ететін цилиндрдің көлемін есептейтін алгоритм жазу.
Параллелограмның ауданын есептейтін алгоритм жазу.
Параллелепипед бетінің ауданын есептейтін алгоритм құру.
Цилиндрдің ауданын есептейтін алгоритм құру.
Сатып алынған заттың бағасын есептеу алгоритмін құру.
Екі қабырға және екі қабырғаның арасындағы бұрышы бойынша үшбұрыштың ауданын есептеу алгоритмін құру.
Екі параллелді біріктірілген элементтен тұратын электр сымның кедергісін есептеу алгоритмін құру.
Саяжайға баратын және қайтып келетін жолдың бағасын есептеу алгоритмін құру.
Цилиндр бетінің ауданын есептеу алгоритмін құру.
Шақырымнан километрдің арасындағы ара қашықтығын қайта есептеу алгоритмін құру.
Ақша салу бойынша табысты есептеу алгоритмін құру.
Экран бетіне аты-жөнін шығаратын алгоритм құру.
Бақылау сұрақтары
Турбо Паскаль программалау тілінің деректер типтеріне сипаттама бер.
Турбо Паскаль программалау тілінің деректерінің әртүрлі типтеріне қолданылатын операциялар мен функцияларға сипаттама бер.
Операторлар дегеніміз не?
Меншіктеу операторына сипаттама бер.
Енгізу операторы
Шығару операторы
№7 Зертханалық жұмыс
Тақырыбы: Операторлармен жұмыс: меншіктеу, шартты, таңдау, құрама
Мақсаты: Паскаль тіліндегі параметрлі цикл операторларымен танысу және оларды қолдану дағдысын қалыптастыру. Итерациялық процесстермен танысу.
Жұмыстың орындалу тәртібі:
Әдістемелік нұсқаулармен танысу.
Есептің математикалық қойылымын және алгоритмін (блок схемасын) орындау.
Программа құру. Программа қатесіне анализ жасау. Программаны тестілеу. Нәтиже алу.
Бақылау сұрақтарына жауап беру.
Теориялық мағлұмат
Көшу немесе шартсыз көшу операторы операторлардың рет-ретімен орналасуын бұзып, келесі атқарылуды, яғни белгісі бар операторға көшу ісін орындайдй. Ол GOTO (көшу) түйінді сөзінен басталады, одан кейін LABEL бөлімінде сипатталған белгі атауы (саны) көрсетіледі. Оның жазылу пішімі
GOTO ;
Мұндағы - LABEL бөлімінде көрсетілген белгінің біреуі.
БЕЛГІ
20-сурет. Көшу операторының синтактикалық диаграммасы
Жоғарыда көрсетілгендей программа ішіндегі белгі оператор алдына қос нүкте арқылы бөлініп жазылады. Жалпы дұрыс (құрылымдық) программалау ережесі бойынша бұл операторды қолданбауға тырысу керек. Ол программаны оқып, түсіну жұмысын қиындатады. Бұл операторды құрылымдық тәртіппен құрылған программа ішінде пайдалануға болмайды. Сондықтан оны барынша аз қолдануға тырысып, мыналарды есте сақтағаны жөн:
Оператор пайдаланылған жағдайда (онсыз программа құру мүмкіндігі жоқта ғана), оны программа мәтіні бойынша тек төмен қарай көшу үшін пайдаланған жөн; бұл операторды кері қайту үшін қолдану қажет болса, цикл операторымен алмастыруға тырысу керек;
Белгі тұрған орнын мен көшу операторының арасы мәтін бойынша бір беттен (немесе дисплей экраны биіктігінен) артпауы тиіс.
GOTO операторын қолданған кезде, оның қатарына жүйелі жақша ішіне неліктен басқа қатарға көшу қажет екендігін түсіндіріп кету керек немесе оның орнына кейінірек көрсетілетін шартты көшу операторын пайдаланған жөн.
Құрама оператор
Бірнеше операторлардың бірігуінен шыққан операторларды құрама оператор деп атаймыз. Бұл операторлар Begin (басы) және end (соңы) қызметші сөздер арасында жазылады. әр оператордан кейін (;) нүктелі үтір таңбасы қойылады.
Құрама операторлардың жалпы жазылуы:
begin
1-оператор;
2-оператор;
...
N-оператор
end.
Құрама лператордың ішінде тағы бір құрама оператор болуы мүмкін. Бұл жағдайда программа денесін құрама оператор деп қарастыруға болады. Құрама операторға шатты көшу, таңдау, және қайталау операторлары жатады.
Шартты оператор. Тармақталған программалау
Тармақталу процестері бар алгоритмдерді ұйымдастыру үшін шартты операторлар пайдаланылады. Тармақталу белгілі бір шарттың орындалуы немесе орындалмауына тәуелді атқарылады. Кейде бір тармақ ішінде ешбір амал орындалмай да қала береді. Шарт ретінде логикалық өрнектің мәні пайдаланылады. Турбо Паскальда екі шартты оператор бар, олар IF және CASE.
IF шартты операторы. IF (егер) шартты операторы программадағы іс-әрекеттердің табиғи орындалу реттілігін өзгертетін мүмкіндіктің ең көп тараған тәсілі болып табылады.
иә
Ж
жоқ
азылу пішімі:(толымды түрі)
IF
THEN 1-оператор
ELSE 2-оператор;
иә
(толымсыз түрі)
I
жоқ
FTHEN 1-оператор
IF сөзінен соң жазылатын өрнек түрінде берілген шарт алдын-ала есептеледі, оның нәтижесі логикалық типті болады. Егер ол шарттың мәні TRUE (ақиқат) болса, онда THEN (онда) сөзінен кейін жазылған 1-оператор атқарылады және ELSE сөзінен кейінгі 2-оператор атқарылмайды. Екінші жағдайды, шарт мәні FALSE (жалған) болса, яғни теріс мән қабылдаса, онда ELSE сөзінен кейінгі 2-оператор атқарылып, 1-оператор атқарылмайды. IF операторлары бірінің ішіне бірі кіріп қабаттасып та орындала береді.
Таңдау операторы
CASE таңдау операторы. CASE (таңдау) таңдау операторы көп тармақты алгоритмдерді барынша қарапайым және көрнекі түрде жазуға мүмкіндік береді. Оның құрамында селектор (selector - таңдау) деп аталатын өрнек және параметрлер тізімі болуы тиіс, әрбір параметрге сйәкес таңдау тұрақтылары болуы қажет.
Жазылу пішімі:
СASE OF
1-тұрақты: 1-оператор
-тұрақты: -оператор
...............................................
n-тұрақты: n-оператор
ELSE n+1-оператор;
END;
Таңдау командасы былайша орындалады: алдымен, селектор-өрнек мәні есептелінеді де, ол тұрақтылармен салыстырылады. Егер өрнектің мәні 1-тұрақтыға тең болса, онда 1-оператор орындалады, ал өрнектің мәні 2-тұрақтыға тең болса, онда 2-оператор орындалады, өрнектің мәні 3-тұрақтыға тең болса, онда 3-оператор орындалады, т.б. тізімдегі тек бір ғана опертор орындалады да таңдау командасы осымен аяқталады. Егер селектор-өрнектің мәні ешбір тұрақты мәніне сәйкес келмесе, онда ELSE сөзінен кейін тұрған оператор орындалады. Кейде оператор құрамында ELSE қатары болмайды, ондайда END сөзінен кейін тұрған жол орындала бастайды. Сонымен, таңдау командасында селектор-өрнектің мәні ешбір тұрақты мәніне сәйкес келмеген кезде ELSE тармағы болмаса (ол таңдау командасының қысқартылған түрі), онда таңдау командасының бірде-бір операторы орындалмайды.
Жеке тапсырмалар
Шартты көшу операторына байланысты x аргументі бойынша функцияның мәнін есептеудің блок схемасы және программасын жазыңыздар
x, x
y=
x2, x≥0
Шартты көшу операторы байланысты x аргументі бойынша функцияның мәнін есептеудің блок схемасы және программасын жаз
х+4, x
y=
x2+6, x≥0
Шартты көшу операторына байланысты квадрат теңдеуді шешу программасын жазу
ax2+bx+c=0, a≠0
Таңдау операторына байланысты реттік нөмері бойынша ай аттарын және жыл мезгілінің қайсысы екендігін анықтаудың программасын құру
Таңдау операторына байланысты берілген сандардың жұп немесе тақ екендігін анықтау программасын құру
Жазықтықтағы А(х,у) нүктесінің қай ширекте жататындығын анықтау программасын құр.
Берілген үш санның көбейтіндісін және қосындысын есептеп қайсысы үлкен екендігін табу керек. Яғни x,y,z нақты сандар берілген. Max(x*y*z, x+y+z) eсептеу программасын құрыңыздар
Бақылау сұрақтары
Шартсыз көшу операторына сипаттама бер
Құрама операторға сипаттама бер
Шартты көшу операторына сипаттама бер
Таңдау операторына сипаттама бер
№8 Зертханалық жұмыс
Тақырыбы: Параметрлі цикл операторы
Мақсаты: Паскаль тіліндегі параметрлі цикл операторларымен танысу және оларды қолдану дағдысын қалыптастыру.
Жұмыстың орындалу тәртібі:
Әдістемелік нұсқаулармен танысу.
Есептің математикалық қойылымын және алгоритмін (блок схемасын) орындау.
Программа құру. Программа қатесіне анализ жасау. Программаны тестілеу. Нәтиже алу.
Бақылау сұрақтарына жауап беру.
Теориялық бөлім
FOR операторы. Циклдегі операторларды қайталау саны алдын-ала белгілі болған жағдайда FOR операторы қолданылады. Бұл операторды параметрлі цикл операторы деп те атайды, өйткені қайталау саны функция аргументі (айнымалы) сияқты циклдің параметрлі қызметін атқаратын басқару айнымалысы арқылы беріледі. Параметр өзінің алғашқы мәнінен соңғы мәніне дейін бірлік қадаммен өзгеру барысында циклге кіретін бір немесе бірнеше операторды қайталап орындау ісін атқарады.
FOR операторы FOR (үшін), TO немесе DOWNTO (дейін) және DO (орындау) түйінді сөздері арқылы жазылады.
Жазылу пішімі екі түрде болады:
(1-түрі)
FOR айнымалы:= TO A2 DO оператор;
(2-түрі)
FOR айнымалы:= DOWNTO A2 DO оператор;
Мұндағы, S1 және S2 – цикл параметрінің алғашқы және соңғы мәндерін анықтайтын өрнектер; for … do – цикл тақырыбын анықтайтын түйінді сөздер, оператор – цикл тұлғасы.
Паскаль тілінде цикл параметрі міндетті түрде бүтін немесе реттелген типтегі айнымалы болуы қажет. Параметрдің өзгеру қадамына байланысты операторда TO немесе DOWNTO (DOWN – төмен, TO – дейін, DOWNTO – кері қарай) түйінді сөздері пайдаланылады. Егер қадам +1-ге тең болса, онда операторды TO, ал қадам -1-ге тең болса, онда DOWNTO сөзі қолданылады.
Параметрдің бастапқы және соңғы мәндері бүтін сандар түрінде немесе өсуі, кемуі бойынша реттелетін типте болуы тиіс, әтпесе оларды бүтін мән беретін арифметикалық өрнектер түрінде жазуға да болады.
FOR қайталану командасының блок-схемасы
Цикл тұлғасы (блок-схемадағы ) жай немесе құрама операторлар болуы мүмкін. FOR операторының жұмысы цикл параметрінің алғашқы мәнінен соңғы мәніне дейінгі аралықты бірлік қадаммен қайталап өтпей тоқталмайды.
Цикл тақырыбы:
басқару айнымалысының (цикл параметрі) өзгері аумағын және цикл ішіндегі операторлардың қайталану санын;
цикл параметрінің өзгеру бағытын (өсуі – to, кемуі – downto) анықтайды.
FOR операторы алғашқы рет орындаларда, S1 және S2 өрнектері есептеледі де, цикл параметріне S1 меншіктеледі, яғни :=S1 операторы жүзеге асырылады. Мұнан кейін цикл ішінде мыналар орындалады:
S2 шарты тексеріледі (S1S2 болғанда) немесе
егер шарт жалған болса, онда FOR циклі ішіндегі операторлар орындалады. Ал, егер де шарт орындалса, яғни шарт ақиқат болса, онда цикл тұлғасы орындалмай, FOR операторынан кейінгі тұрған жол атқарыла бастайды.
басқару айнымалысының мәні 1-ге өседі (to) немесе 1-ге кемиді (downto) де, әрі қарай FOR операторы қайталанып орындала береді.
цикл орындалуы барысында оның параметрінің мәнін өзгертуге болмайды (мысалы, меншіктеу операторы көмегімен);
егер цикл көшу операторы көмегімен айқын түрде доғарылмаса, цикл аяқталған соң, басқару параметрінің мәні анықталмаған болып саналады.
Параметрлі цикл операторының жазылуына және оның орындалуына мысалдар келтірейік:
Оператордың жазылуы | Нәтижесі |
FOR k: =-1 TO 6 DO Write(x,’,’)
| -1,0,1,2,3,4,5,6. |
FOR k: =3 TO 3 DO Write(x,’,’)
| 3 |
FOR k: =1 TO 9 DO Write(x,’,’)
| 1,2,3,4,5,6,7,8,9. |
FOR k: =-1 TO -6 DO Write(x,’,’)
| Цикл орындалмайды |
FOR k: =10 downto 6 DO Write(x,’,’)
| 10,9,8,7,6 |
FOR k: =0 downto -1 DO Write(x,’,’)
| 0,-1 |
FOR k: =-1 TO 6 DO Write(x,’,’)
| Цикл орындалмайды |
Мысалы, P= 1*2*,…,*10 сандарының көбейтіндісін есептеу
P
Var i, P:іnteger;
Begin
P:=1;
For i:=1 to 10 do
P:=P*i
Writeln (‘P=’,P);
Readln
End.
Жеке тапсырмалар
y=x3 функциясын x=6,5,4,…,1 болғандағы мәндерін анықтау. Нәтижеде, жоғарыдағы мысалдағыдай аргументтің және функцияның мәні кесте түрінде шығады. Мұндағы цикл, x-тің кему қадамы бойынша ұйымдастыру.
1-ден 100 дейінгі сандардың арифметикалық ортасын анықтаудың программасын құру.
қосындысын есептеу программасын жазыңыз
Бақылау сұрақтары
Циклдік программа дегеніміз не?
Шарт алдын-ала тексерілетін циклдік программаның жазылу пішімін сипатта.
Шарт соңынан тексерілетін циклдік программаның жазылу пішімін сипатта. Циклдік программа құрылымын сипатта.
Параметрлі циклдік программаның жазылу пішімін сипатта. Циклдік программаның блок-схемасын құр.
Циклдік программа құрылымын сипатта.
№9 Зертханалық жұмыс
Тақырыбы: Алдыңғы шарт бойынша қайталау цикл операторы
Мақсаты: Паскаль тіліндегі алдыңғы шарт бойынша қайталау цикл операторларымен танысу және оларды қолдану дағдысын қалыптастыру.
Жұмыстың орындалу тәртібі:
Әдістемелік нұсқаулармен танысу.
Есептің математикалық қойылымын және алгоритмін (блок схемасын) орындау.
Программа құру. Программа қатесіне анализ жасау. Программаны тестілеу. Нәтиже алу.
Бақылау сұрақтарына жауап беру.
Теориялық бөлім
Қайталау операторлары. Циклдік программалау
Көп жағдайларда аргументтердің әр түрлі мәндері бойынша алгоритмнің белгілі бір бөліктерін бірнеше рет қайталауға тура келеді. Осындай процестерді ұйымдастыру үшін циклдік құрылымы бар алгоритмдер – қайталау операторлары пайдаланылады. Олар әр түрлі заңдылықтар негізіндегі ережелер бойынша құрастырылады.
Паскаль тілінде қайталау процесін жүзеге асыратын циклдік операторлардың үш түрі бар:
Шарт алдын-ала тексерілетін цикл – WHILE;
Шарт соңынан тексерілетін цикл – REPEAT;
Параметрлі (арифметикалық) цикл – FOR.
WHILE операторы. Алдын-ала берілген шарт бойынша қайталауды жүзеге асыратын бұл оператор WHILE (әзірше) және DO (орындау) түйінді сөздерінің көмегі арқылы орындалады.
Жазылу пішімі:
WHILE DO цикл тұлғасы;
WHILE операторы
жоқ
алгоритмдік тілдегі «әзір» циклкомандасына сәйкес. «Әзір» цикл командасының
жазылуы және блок схемасы:
әзір
цб
цс
бітті
WHILE қайталану командасының блок-схемасы
Егер, цикл денесі екі немесе екіден де көп операторлардан тұрса, оларды операторлар жақшасының ішіне жазамыз.
While do
begin
end;
мысалы, y=x2 функцияның мәнін есептеу, мұндағы x=1,2,3,4,5,6. программаның нәтижесінде х аргументтінің мәні мен сәйкес функцияның мәні кесте түрінде шығады. Х-тің өзгерту қадамы 1-ге тең.
Program ecep1;
Var у, х:іnteger;
Begin
х:=1; {х-тің бастапқы мәнін меншіктеу}
While x
Begin
y:=sqr(x); {х-тің мәні бойынша у-ті есептеу}
Writeln (‘x=’,x_!_y=’,y); {х және у экранға шығару}
x:=x+1; {x-тің өзгеру қадамы}
еnd;
End.
Нәтиже:
x=1 ! y=1
x=2 ! y=4
x=3 ! y=9
x=4 ! y=16
x=5 ! y=25
x=6 ! y=36
Жеке тапсырмалар
1. у=х3 функциясының х=1, 2, 3, ...7 болғандағы мәндерін анықтаңдар.
2. 1-ден 50 дейінгі жұп сандардың қосындысын есептеу, яғни s-2+4+6+…+20 Циклдің өзгерт қадамы 2 болатын программасын жазыңыз
3. қосындысын есептеу программасын жазыңыз
4. Программадан үзінді берілген. Циклдің қайталану саны қанша? Программаның соңында a,b,s айнымалылар мәндері неге тең?
a:= 1; b:=1;
While a+b
Begin
a:=a+1; b:=b+2
end;
S:=a+b
Бақылау сұрақтары
Қайталау операторы дегеніміз не?
Алдыңғы шарт бойынша қайталау цикл операторына сипаттама бер
«Әзір» цикл командасының жазылуы және блок схемасы
Қалай жазылады?
№10 Зертханалық жұмыс
Тақырыбы: Соңғы шарт бойынша қайталау цикл операторы
Мақсаты: Паскаль тіліндегі соңғы шарт бойынша қайталау цикл операторларымен танысу және оларды қолдану дағдысын қалыптастыру.
Жұмыстың орындалу тәртібі:
Әдістемелік нұсқаулармен танысу.
Есептің математикалық қойылымын және алгоритмін (блок схемасын) орындау.
Программа құру. Программа қатесіне анализ жасау. Программаны тестілеу. Нәтиже алу.
Бақылау сұрақтарына жауап беру.
Теориялық бөлім
REPEAT операторы. REPEAT қайталану операторы WHILE операторына ұқсас, одан алғашқы айырмашылығы – қайталау шарты цикл соңында тексеріледі, сондықтан ол кем дегенде бір рет орындалатын болады. Екінші өзгешелігі – цикл тұлғасы шарт жалған болғанда, қайталанып, ол ақиқат болған кезде циклді орындау доғарылады.
Бұл оператор REPEAT (қайталау) және UNTIL (дейін, шейін) түйінді сөздері сөздерінің көмегі арқылы орындалады. Оператор repeat сөзінен тұратын оның тақырыбынан, цикл тұлғасынан және қайталау шартынан құрастырылады.
Жазылу пішімі:
REPEAT
1-оператор,
2-оператор,
...
n
жоқ
-оператор;UNTIL ;
REPEAT қайталану командасының блок-схемасы
Циклдің денесі – қайталанып орындалатын бір немесе бірнеше операторлардан тұрады. Цикл денесін құрайтын операторлар санына шектеу қойылмайды. Шартты тексеру логикалық өрнек арқылы жүргізіледі.
REPEAT операторы алгоритмдік тілдегі «дейін» цикл командасына ұқсас. «Әзір» цикл командасынан «дейін» циклінің айырмашылығы: қойылған шартқа тәуелсіз бірінші цикл денесі орындалады. Содан кейін, шарт тексеріледі. Демек, шарт ақиқат болмаса цикл денесі кемінде бір рет орындалады.
Жеке тапсырмалар
1. 1кг ірімшік 300 теңге тұрады. Ірімшіктің 100, 200, 300,..., 1000 граммына төленетін теңгені анықтайтын және есептің жауабын кесте түрінде шығарудың блок схемасын және программасын жазыңыз
2. Бүтін сандардың n тізбегі берілген. Осы тізбектегі оң таңбалы бүтін сандардың санын анықтаудың программасын жазыңыз
3. Операторлар орындалғаннан кейінгі a және b айнымалысының мәні неге тең болады:
a:=1; b:=1;
REPEAT
a:=a+2; b:=b+1;
Until a
4. қосындысын есептеу программасын жазыңыз
Бақылау сұрақтары
Цикл денесі дегеніміз не?
Соңғы шарт бойынша қайталау цикл операторына сипаттама бер
Repeat операторының жалпы жазылуы және орындалуы
«Әзір» цикл командасынан «дейін» циклінің айырмашылығы
№11 Зертханалық жұмыс
Тақырыбы: Қабаттасқан циклдер, циклдегі тармақталу операторы
Мақсаты: Паскаль тіліндегі қайталау цикл операторларымен танысу және оларды қолдану дағдысын қалыптастыру.
Жұмыстың орындалу тәртібі:
Әдістемелік нұсқаулармен танысу.
Есептің математикалық қойылымын және алгоритмін (блок схемасын) орындау.
Программа құру. Программа қатесіне анализ жасау. Программаны тестілеу. Нәтиже алу.
Бақылау сұрақтарына жауап беру.
Теориялық бөлім
Күрделі циклдер
Күрделі қайталанушы процесстерді ұйымдастыруда бір цикл операторы құрамында екінші бір цикл операторы болуы мүмкін. Бұл жағдайда бірінші цикл операторы – сыртқы цикл, ал, оның құрамындағы екінші оператор – ішкі цикл деп аталады. Сыртқы және ішкі циклді ұйымдастыруды мына шарт орындалады: ішкі циклдің барлық операторы сыртқы цикл денесіне толық енеді.
Мысалы, суретте екі параметрлі цикл операторлары арқылы жазылған күрделі циклдің жұмысы сипатталынған
Мысалы, берілген қосындыны есептеудің блок схемасын және программасын жазайық
Program ecep1;
Var i,j:integer;
Sum:real;
Begin
Sum:=0;
For i:=1 to 20 do {сыртқы цикл}
For j:=1 to 10 do sum:=sum+1/(i+sqr(j)); {ішкі цикл}
Writeln (‘sum=’,sum:5:2)
End.
Паскаль тілінде қайталау процесін жүзеге асыратын циклдік операторлардың үш түрі бар: арифметикалық цикл - FOR, шарттын алдын ала тексеретін цикл - WHILE және шартты соңынан тексеретін цикл - REPEAT.
Жеке тапсырмалар
1. Шардың көлемін анықтау V=4πr3
2. Берілген қосындыны есептеудің блок схемасын және программасын құру:
3. Көбейту кестесін құрудың программасын күрделі цикл түрінде құр.
4. z =x+2y функциясының мәнін есептеу, мұндағы x= 2,4,6,8,10 және y= 5,6,7,8,9. Бұл программадағы күрделі циклді while (цикл-әзір) және for (параметрлі қайталау) операторларымен ұйымдастырамыз. Программаның нәтижесінде, аргументтер x және y мәндері мен z функцияның мәні кесте түрінде шығады. X-тің өзгерту қадамы 2 болса, y-тің өзгеруі 1 қадамға тең. Осының программасын жазыңыз.
Бақылау сұрақтары
Қабаттасқан циклдер туралы айтыңыз.
Блок схемасын көрсет
Программаны қалай жазу керек?
№12-13 Зертханалық жұмыс
Тақырыбы: Процедуралық блоктың құрылымы. Параметрсіз процедураларды жазу.
Мақсаты: Процедуралар мен функцияларды қолданып программа құруды үйрену және оларды пайдаланып есептер шығару.
Жұмыстың орындалу тәртібі:
Әдістемелік нұсқаулармен танысу.
Есептің математикалық қойылымын және алгоритмін (блок схемасын) орындау.
Программа құру. Программа қатесіне анализ жасау. Программаны тестілеу. Нәтиже алу.
Бақылау сұрақтарына жауап беру.
Теориялық бөлім
Орындалу барысында нәтижесі бір немесе бірнеше мән болатын көмекші программа процедура деп аталады Кез келген процедура программа блогына ұқсас түрде жазылады да, оның тақырыбы мен тұлғасы болады. Процедура тақырыбы procedure түйінді сөзінен, оның идентификаторын (атынан) және жай жақшаға алынып, типтері жазылған көрсетпелі параметрлер тізімінен тұрады. Қажет болмаған жағдайда параметрлерді жайбай кетуге рұқсат етілген. Негізгі программа көлемінде осы процедура аты жазылса, ол тек осы бөлікте көрсетілген әрекеттерді орындауы тиіс. Процедура тұлғасы тәуелсіз блок тәрізді жазылады да, шағын программа түрінде қарастырылады.
Процедурадағы сипатталған белгілер, тұрақтылар, типтер және т.б. тек процедура ішінде ғана анықталып болып саналады. Процедура ішінде негізгі программада сипатталып анықталған кез келген ауқымды (глобалды) айнымалылар мен тұрақтыларды пайдалануға рұқсат етілген.
procedure (көрсетпелі параметрлер тізімі);
const …;
type …;
var …;
begin
операторлар
end;
Процедураның жазылуы:
PROCEDURE Аты (формальды параметрлер); (*Тақырыбы*)
Сипаттамалар бөлімі; (* Бұл бөлім болмауы да мүмкін*)
BEGIN
Операторлар;
END;
Процедура өздігінен орындалмайды, оның атын және нақтылы параметрлердін жазу арқылы шақырып орындау керек. Процедураны шақыру жолындағы нақтылы параметрлер саны мен типтері осы процедураны сипаттауда анықталған көрсетпелі параметрлер саны мен типтеріне сәйкес келуі тиіс.
Мысалы;
Шеңбердің ауданын, ұзындығын және центрінің координаттар ортасына дейінгі қашықтықты есептеу процедурасы.
PROGRAM KOM3;
CONST PI=3.14;
VAR X,R,Y:REAL;
S,L,P:REAL;
PROCEDURE SHENBER (R,X,Y:REAL; S,L,P:REAL);
BEGIN
S:=2*PI* SQR (R); L:=2*PI*;=SQRT (X*X+Y*Y);
END
BEGIN
READ(R,X,Y);
SHENBER (R,X,Y,S,L,P);
WRITELN('аудан=',S:4:2);
WRITELN('ұзындық=',L:4:2);
WRITELN('қашықтық=',P:4:2); END.
Параметрсіз процедура сипатталуы: Procedure P; S;
P- процедураның идентификаторы, S-процедураның денесі. Кейде процедураның параметрлері болмауы да мүмкін.
Жұмыс нәтижесінде бір ғана мәнді анықтайтын операторлар тізбегі функция деп аталады. Тұтынушы анықтаған функцияның тақырыбы function (функция) деп аталатын түйінді сөзінен тұрады. Функцияның негізгі қызметін оның тұлғасы – BEGIN және END сөздерінің арасында орналасқан операторлар атқарады да, ең соңында «;» қойылады. Жазылу түрі:
function (формальды параметрлер тізімі):;
const …;
type …;
var …;
begin
операторлар
end;
Мысал, берілген m және k мәндері бойынша F=m! – k! мәнін есептеу керек.
Program Example28;
Var f, m, k:integer;
Function fact (n& integer): integer;
Var p, i:integer;
Begin
P:=1; For i:=2 to n do p:=p*I;
Fact:=p;
End;
Begin
Write(‘m, k-мәндерін енгіз:’); Readln(m,k);
F:=fact (m)-fact(k);
Writeln(‘F=’, f: 5);
End.
Нәтиже:
m, k –мәндерін енгіз: 7 4
F=5016
Жеке тапсырмалар
1,2,3,...N бүтін сандарының қосындысын және көбейтіндісін процедура түрінде есептейтін программа құрыңыздар.
Дөңес төртбұрыштың ауданын есептейтін программа құру керек, төртбұрыштың төрт қабырғасы мен диоганалы берілген. Диоганаль төртбұрышты екі үшбұрышқа бөледі. Әрбір үшбұрышқа Герон формуласын қолданып, программа құрыңыздар
k!–ды есептейтін функцияны анықтайтын және соның негізінде элементті орналастыру санын Nnm=n!/m!(n-m)! табу программасын құрыңыздар
Кез келген екі санның үлкенін анықтайтын max2 функциясын пайдалана отырып, төрт санның үлкенін анықтайтын max4 функциясын жасап, содан кейін төрттен енгізілген сегіз санның үлкенін және солардың сәйкес қосындылары мен айырымдарының да үлкенін табу программасын құрыңыздар.
1-позиядан 25-позицияға дейін түзу сызық жүргізетін lin процедурасын
пайдалана отырып, y=f(x) функциясының мәндерін оның аргументі x0–ден xk–ға дейін, қадамы dx болып өзгерген кезде кесте түрінде басып шығару қажет болсын. Бұл алгоритмді y=2.5x2-1.82x+1.52 функциясы үшін құру программасын жазыңыздар.
Берілген кез келген a,b,c сандарының үлкенін (mx) және кішісін
(mn) анықтайтын процедура жасайық. Ол үшін max және min функцияларын пайдаланып программа құрыңыздар
Бақылау сұрақтары
Процедура дегеніміз не?
Қандай түйінді сөз қолданылады?
Жазылу түрі
Функция дегеніміз не?
Қандай түйінді сөз қолданылады?
Жазылу түрі
№14-15 Зертханалық жұмыс
Тақырыбы: Мәндер параметрімен, айнымалылар параметрлері мен процедураларды жазу. Формальді және факторлы параметрлер
Мақсаты: Мән мен айнымалы параметрлерді, формальды және факторлы параметрлерді қолданып программа құруды үйрену және оларды пайдаланып есептер шығару
Жұмыстың орындалу тәртібі:
Әдістемелік нұсқаулармен танысу.
Есептің математикалық қойылымын және алгоритмін (блок схемасын) орындау.
Программа құру. Программа қатесіне анализ жасау. Программаны тестілеу. Нәтиже алу.
Бақылау сұрақтарына жауап беру.
Теориялық бөлім
Параметр деп қолдану аймағында белгілі бір мән меншіктелетін айнымалыны айтады. Параметрлер формальды және нақтылы болады. Қосалқы тақырыбында жазылатын параметрлер көрсетпелі немесе формальды деп аталады. Ал қосалқы программа ішінде нақтылы параметрлердің орныны нақты түрде қойылатын мәндер немесе өрнектер нақтылы немесе факторлы параметрлер болып табылады.
var қызметші сөзі қолданылмай сипатталған айнымалылар формалды мән-параметр деп аталады. Параметрлі процедура поцедураны шақыру кезінде мән-параметрлер мәндері бойынша беріледі де, ал айнымалы –параметрлер нұсқау арқылы беріледі. Мән-параметрлер негізгі программадан қосалқы программаға бастапқы мәндерді беру үшін қолданылады. Алдыңғы var түйінді сөзі пайдаланылмаған формалды параметрлер тізімінде мән-параметрлер үтір арқылы ажыратылып, типі көрсетіліп тұрады. Мысалы:
Procedure A(x,y:integer; z,k:real)
Function S3(n,m:integer; s,t1:real):real;
Формалды параметр мән-параметрге сәйкес келіп тұрса, нақтылы параметр ретінде кез келген өрнек бола алады.
Процедураның параметрлері тұрақты, айнымалы типті арифметикалық өрнекті де бастапқы мән ретінде қабылдауы мүмкін. Мысалы,
а) procedure AYDAN (a,b,c: real; var S: real);
ә) procedure MSAL (K:integer; var p: integer);
Бірінші процедурадағы a,b,c –формалды параметрлері мән-параметрлер, ал S-формалды параметрі айнымалы –параметр болады.
Айнымалы-параметрлер процедура тақырыбында var сөзінен кейін жазылады да, міндетті түрде типі көрсетіліп, процедура нәтижесін анықтау үшін қолданылады. Әрбір айнымалы-параметр түрінде анықталған формалды параметрге сонымен типі бірдей нақтылы параметр сәйкес келуі тиіс. Мысалы,
Procedure М1(var x,y:integer; var t:real);
Айнымалы-параметрлерді пайдалануға бір мысал келтірейік.
Program Kb_sum2;
Var a,b:real;
Sumab, subab:real;
Procedure kw2(x,y:real; var sum,sub:real);
Begin
Sum:=x*x+y*y;
Sub:=x*x+y*y;
End;
Begin
a:=1.5;
b:=3.4;
kw2(a,b,sumab, subab);
writeln(‘a,b сандарының квадраттарының қосындысы:’, sumab);
writeln(‘a,b сандарының квадраттарының айырымы:’,subab);
end.
Мұндағы a,b-мән-параметрлер, ал sum, sub-айнымалы-параметрлер, олардың мәндері sumab, subab айнымалыларына беріледі.
Жеке тапсырмалар
Айнымалылардың мәндерінің алмастыруға программа құрыңыздар.
Екі бүтін санды қосу программасын процедура және функция түрінде құрастыру программасын жазыңыздар.
Дөңес төртбұрыштың ауданың есептейтін программаны параметрі мән болып келетін процедураның көмегімен құру программасын жазыңыздар
Берілген екі санды дәрежелеп, олардың қосындысын табуда дәрежелеуді функция арқылы есептеу программасын құрастырыңыздар, y=am+bn
Бақылау сұрақтары
Параметр дегеніміз не?
Параметрдің қандай түрлері бар?
Формалды дегеніміз не?
Факторлы дегеніміз не?
Мән-параметр дегеніміз не?
Айнымалы-параметр дегеніміз не?
№16-17 Зертханалық жұмыс
Тақырыбы: Бірөлшемді жиымдармен жұмыс –енгізу, шығару, өңдеу. Көпөлшемді жиымдармен жұмыс –енгізу, шығару, өңдеу
Мақсаты: Паскаль тіліндегі жиымдармен танысу және оларды қолдану дағдысын қалыптастыру және есептер шығару.
Жұмыстың орындалу тәртібі:
Әдістемелік нұсқаулармен танысу.
Есептің математикалық қойылымын және алгоритмін (блок схемасын) орындау.
Программа құру. Программа қатесіне анализ жасау. Программаны тестілеу. Нәтиже алу.
Бақылау сұрақтарына жауап беру.
Теориялық бөлім
Жиым - бұл бір атаумен (жиым идентификаторы) белгіленіп біріктіріленбіртекті элементтер жиыны. Жиымдардың негізгі параметрлеріне оның типі (сандық, символдық, логикалық), өлшемі (бір өлшемді, екі өлшемді т.с.с) және көлемі (жиымдардың әрбір өлшемдегі элементтерінің саны) жатады.жиымды сипаттау үшін array of сөз тіркесі қолданылады
Type =array[] of ;
Var:;
Мұндағы array (жиым), of (-дан, -ден, -тан, -тен) –түйінді сөздер; [] - real, integer базалық типтерінен өзге кез келген стандартты тип, яғни индекстің типі ретінде шектеулісаналатын, логикалық және литерлік типтер пайдаланылады; - құраушылар (элементтер) типі, яғни Паскаль тілінде пайдалануға болатын жиым элементтерінің типі.
Бір өлшемді жиымды көбінесе сызықты жиым дейді, оларды тип бөлігінде сипаттаудың тағы да бірнеше мысал қарастырайық
Type S1=array [1..N] of real;
S2=array [1..M] of integer;
S3=array [1..K] of char;
S4=array [0..20] of boolean;
Var A, B: S1;
L, G: S4;
C : S2;
D :S3;
Егер жиым атауында бір ғана индекс болса, онда ол жиымды бір өлшемді, ал екі индекс болса- екі өлшемді және т.с.с. индекс болса, көп өлшемді жиым дейді. Бір өлшемді жиым вектор элементтері, ал екі өлшемді жиым матрица болып табылады. Екі өлшемді жиымды көбінесе айнымалы бөлігінде былай сипаттау жиі қолданылады:
VAR B:array[1..N, 1..M] of ;
Егер көп өлшемді жиым құратын кезде базалық тип ретінде басқа жиым алынса, онда сипаттау бөлігі былай жазылады.
Type vector = array[1..4] of integer;
Massiv = array[1..4] of vector;
Var B:T;
Жеке тапсырмалар
13 бүтін саннан тұратын тізбектің (жиымның) арифметикалық ортасын және оның әр элементтінің арифметикалық ортасын ауытқуын табатын программа құрыңыздар
Нақты элементтерден тұратын сызықты жиым (а1, а2, а3, ..., аn) берілген. Осы жиымның ең кіші элементтін және оның индекстік нөмерін табатын програма құрыңыздар
n-элементтен тұратын нақты сандар жиымының элементтерін өсуі бойынша реттеп орналастыру программасын жазыңыздар
Көбейту кестесін толтыруға арналған программа құрыңыздар
Екі өлшемді а және b матрицаларының қосындысы болып табылатын s матрицасын табу керек.
n элементтен тұратын жиым берілген.Тақ нөмірлі элементтерді квадрат дәрежеге шығарыңыз.
n элементі бар жиым берілген. Жұп нөмірлі элементтер мен тақ нөмірлі элементтердің қосындыларын бөлек-бөлек табыңыз.
n элементі(натурал сандар) бар жиым берілген. Ондағы жұп сандарды 0-мен, тақ сандарды (-1)-мен ауыстырыңыз.
Қорытынды жиымды басып шығарыңыз.
n элементі бар(n-жұп) жиым берілген. Оларды мына ретпен: a1,an,a2,an-1,…,an/2,an/2+1 басып шығарыңыз.
n элементі бар(n-жұп) жиым берілген. Мұндағы жұп және тақ нөмірлі элементтердің орнын былайша: а1 мен а2-ні, а3-пен а4-ті т.с.с ауыстырыңыз. Қорытынды жиымды шығарыңыз.
Әрқайсысы n элементтен тұратын екі жиым берілген.
Құрамына кезекпен 1-жиым, сосын 2-жиым элементтері енетін 3-жиым құрып оны баспаға шығарыңыз.
n элементі бар(n-жұп) жиым берілген. Элементтері берілген жиымның 1-і мен соңғысының және 2-і мен соңғының алдындағы элементтерінің т.с.с қосындыларынан тұратын екі есе кіші жиым құрыңыз. Қорытынды жиымды басып шығарыңыз.
n элементі(натурал сандар) бар жиым берілген. Мүшелері тақ сан болатын элементтер санын анықтаңыз.
Бақылау сұрақтары
Жиым дегеніміз не?
Жиымдардың жазылу түрі
Бір өлшемдіжиым дегеніміз не?
Екі өлшемдіжиым дегеніміз не?
Көп өлшемдіжиым дегеніміз не?
Көп өлшемдіжиым қалай сипатталады?
№18 Зертханалық жұмыс
Тақырыбы: Жолдық мәліметтермен жұмыс енгізу, шығару, өңдеу
Мақсаты: Паскаль тіліндегі жолдық мәліметтермен танысу және оларды қолдану дағдысын қалыптастыру, олармен есептер шығару.
Жұмыстың орындалу тәртібі:
Әдістемелік нұсқаулармен танысу.
Есептің математикалық қойылымын және алгоритмін (блок схемасын) орындау.
Программа құру. Программа қатесіне анализ жасау. Программаны тестілеу. Нәтиже алу.
Бақылау сұрақтарына жауап беру.
Теориялық бөлім
Турбо Паскальда символдар тізбегінен тұратын тұрақтылар – жолдық тұрақты, ал мәндері осы тұрақтылар болатын айнымалылар- жолдық айнымалылар деп аталады. Жолдық айнымалының сипатталуы:
String[].
Мұндағы - қатардың ұзындығын білдіреді және көрсетілуі міндетті емес. Қатар ұзындығы көрсетілмеген жағдайда 255-ке тең деп есептелінеді. Жолдық қатарға бөлінген орынның 0-ші байтына осы қатардың ұзындығынынң мәні жазылады.
Мысалы:
Type jol=string[6]; {жолдың сипатталуы}
Var Fam:jol;
Esim : string[15];
Begin
Fam : =’Әбдраимқызы‘;
Esim :=’Айгүл’; {жолдық айнымалыға меншіктелген жолдық тұрақты}
…
Жолдық өңдеуде ‘+’ таңбасымен белгіленетін конкатенация (жалғастыру) операциясы қолданылады.
Жолдық айнымалыларды салыстыру үшін қатынас операциялары (=, , ,=,
Турбо Паскальда жолдық айнымалыларға қолданылатын процедуралар: Read, Readln, Write, Writeln, Delete, Insert, Str, Val, және функциялар: Length, Concat, Copy, Pos.
Delete(S, m, n) – берілген S қатардағы m-ші нөмерден бастап, n таңбаны өшіреді.
Insert (s1, s2, n) – s1 қатардағы s2 қатарға, n-ші нөмерлі таңбадан бастап қосады.
Str(x[:ені[:дәдігі]], S) – x-сандық мәнді S – жолдық қатарға өзгертеді.
Мұндағы S – қатардың ені, дәлдігі (үтірден кейінгі таңба саны) – міндетті емес параметрлер.
Val(S, X, code) – S жолдық мәнді X сандық түрге өзгертеді. Ал code – бүтін айнымалы. Егер функцияжолдық мәнді сандық түрге өзгерте алмаса, онда code-нің мәні нөлден өзгеше болады.
Length(S) – S жолдық қатардың ұзындығын, яғни таңбалар санын анықтайды.
Concat(S1[,S2,…SN]) – S1 қатарды қалған қатарлармен жалғастырады.
Copy(S, m, n) – S қатардан m-ші нөмерден бастап n таңбаны бөліп алады.
Pos(Substr, S) – Pos функциясы - S-қатардан ізделінетін Substr таңбалар тізбегі басталатын таңба нөмерін анықтайды.
Жеке тапсырмалар
Берілген сөйлемдегі ‘(‘ және ‘)’ таңбаларының теңдігін тексеретін программа құрыңыздар
Ұзындығы 255-тен аспайтын текс берілген («БАҚЫЛАУ БАҒАСЫ»). Қазақ алфавиті бойынша әріптер жиілігін анықтайтын программа құрыңыздар
Берілген текстегі сөздер арасындағы бос орындардың біреуін ғана қалдырып, тексті баспаға берудің программасын құрыңыздар.
n-элементтен тұратын нақты сандар жиымының элементтерін өсуі бойынша реттеп орналастыру программасын жазыңыздар
Көбейту кестесін толтыруға арналған программа құрыңыздар
Екі өлшемді а және b матрицаларының қосындысы болып табылатын s матрицасын табу керек.
Бақылау сұрақтары
Жолдық айнымалы қалай сипатталады?
Жолдық айнымалыларды салыстыру үшін қандай қатынас операциялары қолданылады?
Жолдық айнымалыларға қандай процедуралар қолданылады?
Жолдық айнымалыларға қандай функциялар қолданылады?
№19 Зертханалық жұмыс
Тақырыбы: Типтелген файлдарға қолданылатын процедуралар мен функциялар
Мақсаты: Паскаль тіліндегі типтелген файлдарға қолдынылатын процедуралар мен функциялармен танысу және оларды қолдану дағдысын қалыптастыру, оларды есеп шығаруға қолдану.
Жұмыстың орындалу тәртібі:
Әдістемелік нұсқаулармен танысу.
Есептің математикалық қойылымын және алгоритмін (блок схемасын) орындау.
Программа құру. Программа қатесіне анализ жасау. Программаны тестілеу. Нәтиже алу.
Бақылау сұрақтарына жауап беру.
Теориялық бөлім
Файл дегеніміз –саны алдын-ала анықталған бірдей типтегі элементтер жиынтығы. Файл элементтерінің саны файлдың ұзындығы деп аталады.
Файлдарды типтер немесе айнымалылар бөлігінде сипаттауға болады.
Типтелген файлдың сипатталуы:
Type ‘файл аты’=File of ‘элементтер типі’;
Var ‘айнымалы’: ‘файл аты’
Var ‘файл аты’: File of ‘элементтер типі’;
элементтер типі – файлдық типтен басқа кез келген тип бола алады.
Мысалы:
Var dan:file of integer; {бүтін сандардан тұратын файл}
F:file of char; {символдардан тұратын файл}
Паскаль тілінде файлдарды және олардың элементтерін өңдеу үшін стандартты процедуралар мен функциялар қолданылады.
Файлдарға қолданылатын процедуралар мен функциялар
Assingn(f, ) – процедурасы f ішкі файл атауын сыртқы атауымен байланыстырады.
f ішкі файл атауы – программада сипатталған файлдық айнымалы. Сыртқы атауы айнымалы немесе типі string тұрақы түрде беріледі.
Мысалы, Assign(f, “c:\ primer.dat”); {f файлдық айнымалы C дискісіндегі primer.dat файлымен байланысқан}
Rewrite(f) – процедурасы f файлын деректерді жазу үшін ашады. Егер f файлы бұрын болса, онда ол жойылады.
Write(f,x) – процедурасы x айнымалысының мәнін кзекті элементті f файлына жазады.
Reset(f) – процедурасы f файлын оқу үшін ашады. Файлдық көрсеткіш файлдың басына орналасады.
Read(f, x) – процедурасы f файлының ағымдағы элементін x айнымалысына меншіктейді және оқиды.
Close(f) – процедурасы f файлын жабады.
Seek(f, n) – процедурасы файл көрсеткішін n-ші нөмерлі элементке орналастырады.
EOF(f) – функциясы файл соңын анықтайды. Егер файлдың соңы табылса, функция true мәнін, әйтпесе false мәнін қабылдайды. Цикл операторында, шартты операторда қолданылады. Мысалы, While not EOF(f) Do ;
File Size(f) – функциясы f файлының ұзындығын анықтайды.
File Pos(f) – функциясы файл элементінің нөмерін анықтайды.
Erase(f) – функциясы дискідегі файлды өшіреді.
Rename(f, жаңа атауы) – функциясы файлдың атын өзгертеді.
Жеке тапсырмалар
Файл құру, элементтерін енгізу программасын құрыңыздар
Файл элементтерін шығару программасын құрыңыздар
Берілген сөйлемдегі ‘(‘ және ‘)’ таңбаларының теңдігін тексеретін программа құрыңыздар
Бақылау сұрақтары
Файл дегеніміз не?
Файлдың ұзындығы дегеніміз не?
Файлдың қандай түрлері бар?
Типтелген файлдар қалай сипатталады?
Типтелген файлдарды өңдеуге қандай процедуралар мен функциялар қолданылады?
46
© 2019, Кабирова Джамиля Мухтаржановна 8271 2