Тізімді өңдеу операторлары
ҚАЗАҚСТАН РЕСПУБЛИКАСЫ
БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ
М.Әуезов атындағы Оңтүстік Қазақстан мемлекеттік университеті
Есептеу техникасы және бағдарламалық қамтамасыз ету кафедрасы
ШАЙМЕРДЕНОВА Л.Е., СЕЙТХАНОВА А.Д.
АЛГОРИТМДЕУ ЖӘНЕ БАҒДАРЛАМАЛАУ
5В070400- Есептеу техникасы және бағдарламалық қамтамасыз ету
мамандығы студенттер үшін
ДӘРІСТЕР ЖИНАҒЫ
Шымкент, 2018
ӘОК 004.738.1
Құрастырушылар: Шаймерденова Л.Е., Сейтханова А.Д. Алгоритмдеу және бағдарламалау. Дәрістер жинағы. - Шымкент: ОҚМУ, 2018. -152 б.
Дәрістер жинағы Алгоритмдеу және бағдарламалау пәнінің оқу жоспарының талаптары мен типтік оқу бағдарламасына сәйкес жасалынып, дәрістер сабағына қажетті материалдарды қамтиды.
Дәрістер жинағы 5B070400 - Есептеу техникасы және бағдарламалық қамтамасыз ету мамандығының студенттеріне арналған.
Пікір жазғандар:
Оспанова А.О. - т.ғ.д., Есептеу техникасы және бағдарламалық қамтамасыз ету кафедрасының профессоры
Есептеу техникасы және бағдарламамен қамтамасыз ету кафедрасының мәжілісінде 12 09 2017, хаттама № 2), Ақпараттық технологияла және энергетика жоғары мектебінің ОИТжӘҚ комитетінде (20 10 2017, хаттама № 2) қаралып, баспаға ұсынылды.
Баспаға М.Әуезов атындағы ОҚМУ-дың Оқу-Әдістемелік кеңесі ұсынған, 27 10 2017ж. хаттама № _2_
(C) М.Әуезов атындағы ОҚМУ, 2018ж.
Басылымға жпауапты Шаймерденова Л.Е.
МАЗМҰНЫ
Кіріспе
6
Бағалау критерийлері
7
Дәріс 1
Компьютердің программалық құралдары
10
Компьютерді программалық қамтамасыз етудің жалпы түсінігі.
Программалаудың интергациядланған жүйелері.
Процедураға бағытталған тілдер және объектілерге бағытталған программалау туралы түсініктер.
Дәріс 2
Есептерді алгоритмдеудің негіздері
14
Алгоритмнің анықтамасы.
Алгоритм қасиеттері.
Алгоритмдерді сипаттау тәсілдері.
Алгоритмдердің негізгі құрылымдары.
Дәріс 3
Тілдің негіздері, мәліметтер түрлері және өңдеу ортасы
19
Python тілі тарихы
Программа құрылымы
Комментарийлер
Айнымалылар
Дәріс 4
Мәліметтер түрлері
Мәліметтер түрлерін классификация жасау
28
Дәріс 5
Мәліметтерді енгізу және шығару
32
print() функциясы
sys.stdout объектінін write() әдісі
input () функциясы
Дәріс 6
Базалық математикалық операциялар және есептеулер
35
Математикалық операциялар
Екілік операторлар
Меншіктеу операторы
Операторларды орындау реті
Дәріс 7
Шартты оператор IF
42
Логикалық өрнектер.
Салыстыру операторлары.
Логикалық операторлар
Салыстыру операторлардың орындау реті
Дәріс 8
Шартты операторларжайлы түсінік.
If конструкциясы.
if...else тармақталу операторы.
Таңдау операторы If...elif...
Айнымалыға мәнің меншіктейтін тармақталу операторы.
46
Дәріс 9
Циклдік оператор FOR
52
FOR операторының форматы
Дәріс 10
range() функцисы
enumerate() функциясы
55
Дәріс 11
Циклдік оператор WHILE
60
WHILE операторының форматы.
WHILE циклның жұмыс стеу тәртібі.
Дәріс 12
continue операторы
break операторы
64
Дәріс 13
Тізімдер. Қатарлар. Кортеждер
67
Қатарлар.
Қатарлар операторлары.
Қатарлар өңдеу функциялары мен әдістері
Дәріс 14
Тізім.
Тізімді өңдеу операторлары.
Кортеждер.
Кортеждерді өңдеу әдістері.
73
Дәріс 15
Программалау тілінде функцияны хабарлау
78
Қолданушының функциялары жайлы түсінік.
Функцияны құру және шақыру
Функцияның параметрлері мен аргуметтері.
Жергілікті және ауқымды айнымалылар.
Дәріс 16
Рекурсия
83
Рекурсия.
Факториалды есептеу
Дәріс 17
Екі өлшемді массивтер
86
Кірітілген тізімдерді өңдеу және шығару.
Кірітілген тізімді құру.
Екі өлшемді массивті шығару.
Дәріс 18
Екі өлшемді массивті өңдеу.
Екі өлшемді массив генераторы.
89
Дәріс 19
Жиындар
92
Жиындар жайлы түсінік.
Жиындарды құру.
Дәріс 20
Жиын элементтерін өңдеу.
Жиын операциялары.
94
Дәріс 21
Сөздіктер
96
Сөздік жайлы түсінік.
Сөздікті құрастыру
Сөздіктермен жұмыс жасау.
Дәріс 22
Сөздік әдістеріфункциялары.
Сөздік операциялары. Мысалдар.
100
Дәріс 23
Объектілі - бағытталған программалауға кіріспе
106
ОБП негіздері. Класты және объектіні анықтау.
Объектіні құру. Класстар әдісі. Алғашқы ОБ программасы.
Дәріс 24
Инкапсуляция.
Мұрагерлік.
Полиморфизм.
Оператордың шамадан тыс жүктелуі
113
Дәріс 25
Модульдер
119
Python-дағы модуль.
Стандартты кітапханадан модульді қосу.
Псевдонимді қолдану.
from инструкциясы
Дәріс 26
Өз модулін құру.
Модулді құру мәселелері
122
Дәріс 27
Қателерді талдау (throw Exceptions)
124
try ... except ... инструкциясы
raise операторы
assert операторы
Дәріс 28
try... finally инструкциясы
Қателіктер классы (exceptions).
Қателер иерархиясы
126
Дәріс 29
Өзге кітапханаларды пайдалану
131
Кітапхананы өңдау мүмкіндіктері.
mathLab кітапхананы қолдану
Дәріс 30
Python тілінің қосымша мүмкіндіктері
CGI: Python-да қарапайым сайт құру.
Hello world.
Формаларды өңдеу, cookies.
Мысал.
Сайтты Интернетте жариялау
133
Ұсынылған әдебиттер тізімі
147
МАЗМҰНЫ
Алгоритмдеу және программалау, Python курсы құрылымдық бағдарламалаудың негізгі тұжырымдамаларын (деректер және олардың түрлері, операциялары, айнымалы мәндері, бағдарламадағы циклдар, циклдар және функциялар) түсінік береді.
Python тілін таңдау, бұл басқа тілдерге қарағанда, бағдарламалауды үйрену үшін басқа тілдерге қарағанда бірқатар артықшылықтары бар: кодтың анықтығы, іске асыру жылдамдығы.
Курс 30 сағатқа есептелген. Бұл Python бағдарламалау тіліне толық нұсқаулық емес.
Курстың мақсаттары мен міндеттері
Курстың негізгі мақсаты - құрылымдық бағдарламалаудың негізгі тұжырымдамаларын қалыптастыру, бағдарламалаушы логика.
Курстық бағдарлама
Бағдарламалау тілдері мен олардың тарихи даму идеясы, бағдарлама кодын аудару жолдары. Деректер түрлері (бүтін сандар, қалқымалы нүктелер, жолдар) және деректер құрылымдары (жолдар, тізімдер, сөздіктер), айнымалылар, өрнектер, тармақтар (if-else, if-elif-else) және циклдар (while, for). Деректерді енгізу және шығару. Функция туралы түсінік, жергілікті және жаһандық айнымалылар.
БАҒАЛАУ КРИТЕРИЙЛЕРІ
Оқушылардың оқу пәндерін меңгеруінің тиімділігі көптеген факторларға, бірінші кезекте, Дирингтегі жұмысқа байланысты. Дәріс емтиханның бір сұрағына және бір қатарға қатысты тақырыптарға сәйкес келетін бір тақырып ретінде қарастырылуы мүмкін. Дұрыс лекция материалы студентке өзін-өзі дайындауға арналған тұрақты негіз құруға мүмкіндік береді, пайдалы ақпаратты алуға және түзетуге мүмкіндік береді.
Дәрістің қабылдануы және оны жазу - алынған мәліметтерді есепке ала отырып, оны қабылдау үшін ыңғайлы нысанда бағалауға және қорытындылай отырып, дәріс берушінің түсінігін түсінуге бағытталған тұрақты назар аудару процесі. Яғни студенттің лекциядағы өзіндік жұмысы жаңа ақпаратты түсінуден және оны ұтымды түрде ұтымды етуден тұрады.
Дұрыс жазылған Дерір сізге материалды жақсы түсінуге мүмкіндік береді, зертханалық жаттығуларға, калоquiums және емтихандарға сәтті дайындалады. Дәрісті тыңдау үшін барлық материалдан ең маңызды нәрсені таңдау және жазу керек. Сондықтан лекцияға алдын-ала дайындық студентке ескертулерге бару қажет болған сәтті ұстауға мүмкіндік береді және сіз тек лекцияға мұқият тыңдай аласыз.
Дәріс материалын ұсынудың тәсілдері әртүрлі болуы мүмкін. Мұғалім материалды жаза алады, айтады, жазу үшін ештеңе бермейді немесе оқушылармен диалог түрінде сабақ жүргізе алады. Көбінесе жоғарыда аталған әдістердің екеуін немесе үшін қосуды байқауға болады. Абстракцияның тиімділігі лекция жазудың дұрыс әдісін меңгеруге байланысты. Дәріс материалдың негізгі мазмұнын ғана анықтайтын қысқа, қарапайым сөйлемдер түрінде жазылуы мүмкін. Жеке лекциялар үшін порталда дәріс беретін (кестелер, графиктер, диаграммалар) ұсынылған қағазға қажетті материалдарды әкелу керек. Бұл материал сипатталады, түсіндіріледі, тікелей лекцияда толықтырылады.
Теориялық білім беру үшін академиялық қарызды жою. Егер студенттер академиялық қарызға ие болса, дәріс материалдарын қалпына келтіру керек. Осы мақсатта студенттің зерттелген материалдың негізгі түйінін жасауы сұралуы мүмкін. Негізгі жиынтықтың міндеттері: дағдыларды құрылымдау, материалды жүйелеу, негізгі, ғылыми және ғылыми-практикалық білімдерді таныстыру, бұзылған түрдегі, графикалық мәдениет. Ақпараттың негізгі көзі - ақпарат көзі, мұнда қарастырылып отырған мәселенің құрылымдық сипаттамасы жүйелі, жалпыланған, схемалық түрде ұсынылған.
Білім алушылардың оқу жетістіктерін бағалау жүйесі
Әріптік жүйе бойынша бағалау
Балдың сандық көрсеткіші
% көрсеткіш
Дәстүрлі жүйе бойынша бағалау
Білім алушының білімін бағалау критерияларын
А
4,0
95-100
Өте жақсы
Студент көрсетті:
- материалдарды толық және терең меңгеруі
- сабақтың барлық түрі бойынша толық, дәйекті, логикалы жауап беруі;
- пәнді оқуда негізгі және қосымша арнайы әдебиеттерден ақпараттарды қолдана алу дағдысы,
- Ғаламтор ақпараттық ресурстарды және шетелдік әдебиеттермен жұмыс жасай алуы;
А-
3,67
90-94
Студент көрсетті:
- материалдарды толық меңгеруі
- сабақтың барлық түрі бойынша толық, дәйекті, логикалы жауап беруі;
- пәнді оқуда арнайы әдебиеттерді қолдану дағдысы,
В+
3,33
85-89
Жақсы
Студент көрсетті:
- материалдарды меңгеруі
- сабақтың барлық түрі бойынша толық, дәйекті, сауатты және баяндауда анықсыздықтар бар болса;
- пәнді оқуда ұсынылған әдебиеттерден қолдана алу дағдысы,
В
3,0
80-84
Студент көрсетті:
- материалдарды меңгеруі;
- сабақтың барлық түрі бойынша жауапты елеусіз қателіктермен баяндауы;
- оқытушының жетекшілігімен теориялық білімді қолдану дағдысы;
-жіберілген қателіктерді өзбетінше түзету қабілеттілігі;
В-
2,67
75-79
Студент көрсетті:
- материалдарды меңгеруі;
- елеусіз қателіктермен жауаптарды баяндап беруі;
- оқытушының жетекшілігімен теориялық білімді қолдану дағдысы;
- оқытушының көмегімен жіберілген қателіктерді түзете білуі;
- барлық тапсырмалар түрі бойынша жіберілген қателіктерді уақытылы жою.
С+
2,33
70-74
қанағаттанарлық
Студент көрсетті:
- материалдарды меңгеруі;
- барлық тапсырмалар түрі бойынша жауап беру барысында дұрыс тұжырымдаманың толық болмауы;
- бағдарлама материалдарын баяндау барысында ретінің бұзылуы;
- оқытушының жетекшілігімен бағдарлама материалдарынының жеке бөлімдерін қортындылау дағдысы;
С
2,0
65-69
Студент көрсетті:
- негізгі материалды меңгеруі;
- барлық тапсырма түрлері бойынша жауаптардың дұрыс тұжырымдаманың толық болмауы;
- бағдарлама материалдарынының жеке бөлімдерін қортындылаудағы қиындықтардың болуы;
С-
1,67
60-64
Студент көрсетті:
- негізгі материалды меңгеруі;
- барлық тапсырма түрлері бойынша жауаптардың дұрыс тұжырымдаманың толық болмауы;
-оқытушының ұсынылған әдебиеттерін қолданудағы қиындықтардың болуы;
-бағдарлама материалдарынының қортындылаудағы қиындықтардың болуы;
Д+
1,33
55-59
Студент көрсетті:
- жеке бөлімдерді меңгеруі;
- барлық тапсырма түрлері бойынша жауаптардың дұрыс тұжырымдаманы түсінбеуі;
- бағдарлама материалдарынының қортындылаудағы қиындықтардың болуы;
Д
1,0
50-54
Студент көрсетті:
- негізгі материалдардың жеке бөлімдерін игеру қиындығы;
- барлық тапсырмалар түрі бойынша тұжырымдамаларды түсінбеу;
- оқытушының көрсетілген қателіктерді түзету барысындағы қиындықтардың болуы; .
F
0
0-49
қанағаттанарлықсыз
Студент көрсетті:
- бағдарлама материалын білмеуі,
- барлық тапсырмалар түрі бойынша елеулі қателіктердің жіберілуі.
Дәріс 1. Компьютердің программалық құралдары.
Компьютерді программалық қамтамасыз етудің жалпы түсінігі..
Программалаудың интергациядланған жүйелері.
Процедураға бағытталған тілдер және объектілерге бағытталған программалау туралы түсініктер.
Бағдарламалау - компьютерлерге арналған бағдарламаларды құрастырудың әдістерін және әдістерін зерттейтін информатика бөлімі. Сонымен қатар, бағдарламалау - оны компьютерде шешуге арналған тапсырманы дайындау.
Бағдарлама - компьютер түсінетін командалардың тізбегі.
Бағдарлама латын және орыс әріптері, сандар, тыныс белгілері және операция белгілері болып табылады.
1. Компьютерді программалық қамтамасыз етудің жалпы түсінігі.
Компьютердің ұзақ мерзімді жадындағы барлық құрылғыларда сақталған бағдарламалар жиынтығы оның бағдарламалық жасақтамасы (бағдарламалық жасақтама) болып табылады.
Бағдарламалық жасақтама компьютердің ажырамас бөлігі болып табылады. Бұл компьютердің техникалық құралдарының қисынды жалғасы, олардың мүмкіндіктерін кеңейту және қолдану аясы.
Бағдарламалық қамтамасыз етуді жіктеу.
Барлық бағдарламалар шартты түрде үш санатқа бөлінеді:
1) Пайдаланушылар үшін қажетті жұмысты орындауды тікелей қолдайтын қолданбалы бағдарламалар.
2) Әр түрлі қосалқы функцияларды орындайтын жүйелік бағдарламалар, мысалы:
:: компьютерлік ресурстарды басқару.
:: пайдаланылатын ақпараттың көшірмесін жасау.
:: компьютеріңіздің құрылғыларының денсаулығын тексеру.
:: компьютер туралы анықтама ақпаратын беру және т.б.
3) Компьютерге арналған жаңа бағдарламаларды жасау үрдісін жеңілдететін аспаптық программалық жүйелер.
Бағдарламалық жасақтаманың келесі топтары:
:: Операциялық жүйелер.
:: Бағдарламалау жүйелері.
:: Аспаптық жүйелер.
:: Біріктірілген пакеттер.
:: Динамикалық электрондық кестелер.
:: компьютерлік графикалық жүйелер.
Деректер базасын басқару жүйесі (ДББЖ).
:: Қолданбалы бағдарламалар.
2. Программалаудың интергациядланған жүйелері
Интегрирленген даму ортасы, IDE (Integrated Development Environment) бағдарламалық жасақтама (бағдарламалық қамтамасыз ету) әзірлеу үшін бағдарламашылар пайдаланатын бағдарламалық құралдардың кешені.
Даму ортасы мыналарды қамтиды:
:: Мәтін редакторы,
:: Аудармашы (компилятор және немесе аудармашы),
:: Сілтеме редакторы - құрастыруды автоматтандыру құралы,
:: түзеткіш.
Мәтіндік редактор - бағдарламаның мәтінін бағдарламалау тілінде теруге мүмкіндік беретін редактор. Ол үшін кез-келген мәтіндік редакторды қолдануға болады, бірақ арнайы мәтіндік редакторды пайдалану жақсы.
Аудармашы бағдарламалау жүйелерінің негізі болып табылады. аудармашылар мен құрастырушылар: .. бағдарламалау тілдері аудармашылар, яғни, машина тілінде (нысан коды) ішіне бағдарлама бастапқы кодты аудармасын қамтамасыз бағдарламалар екі түрі бар.
Аудармашы - сериялық синхронды аударма және бағдарламаның әр желісі жұмысын қамтамасыз етеді, және сіз бағдарлама бүкіл рәсімін орындауға, әрбір іске толығымен қайталанады аудармашы. төмен жылдамдық - аудармашының артықшылығы интерактивті режимде және тиімсіз оңай отладка бағдарламасы болып табылады.
Компилятор - бастапқы кодын машиналық кодқа аударатын аудармашы. Егер бағдарлама мәтінінде синтаксистік қателер болмаса, машина коды жасалады. Бірақ бұл, әдетте, жұмыс коды емес; Осы бағдарлама бойынша стандартты мүмкіндіктердің рәсімдері жетіспейді, сондықтан компилятор нысан коды, және кеңейту .obj деп аталатын, аралық коды жасайды.
тігіледі (коллектор) - объект модульдері мен бағдарлама жеке бөліктерін біріктіреді бағдарламаны орындау үшін дайын бір бағдарламасына компилятор жеткізілетін кітапханаларында қамтылған (rasshireniem.lib файлдармен) стандартты функцияларын стандартты кіші модульдер қосады яғни, .exe файлын жасайды. Бұл файл тәуелсіз мәнге ие және ол құрылған (немесе ұқсас) операциялық жүйенің басқаруымен жұмыс істей алады.
Отладчик орындалу барысында бағдарламаның жұмысын талдауға мүмкіндік береді. Оны пайдаланып, әртүрлі айнымалы мәндердің қалай өзгеретінін қадағалай отырып, қадамдарды жеке қадамдастырылған бастапқы кодының қадамдарын орындауға болады. Айырып алушы болмаса, үлкен қосымшаны әзірлеу өте қиын. Сондай-ақ, кешенді дамыту ортада тізімделген (мысалы шебері ретінде) стандартты міндеттерді дамуын жеңілдету, Жобаны басқару және операциялық көмек және стандартты дайындамалар кіреді. Бағдарламаны түзеткеннен кейін, басқару мысалын қолданып, бағдарлама шешімінің дұрыстығын тексеріңіз, яғни. тестілеу. Нәтижелерді әрі қарай талдау.
3. Процедураға бағытталған тілдер және объектілерге бағытталған программалау туралы түсініктер.
Қолданыстағы бағдарламалау тілдері төрт негізгі топқа бөлінеді: процедуралық, объективті, функционалды және логикалық. Әрбір көзқарастың қысқаша анықтамасын берейік.
Процедуралық бағдарламалау - бұл бағдарлама деректерден бөлінгенде және деректерді өңдейтін нұсқаулардың дәйектілігінен тұрады. Деректер, әдетте, айнымалылар түрінде сақталады. Есептеудің бүкіл процесі олардың мазмұнын өзгертуге дейін азаяды.
Declarative programming languages - декларациялар мен құрылымдардың тілдері. Олар функционалдық және логикалық бағдарламалау тілдерін қамтиды. Бұл тілдерде алгоритмдік әрекеттер анық орындалмайды, яғни алгоритм бағдарламашы тарапынан орнатылмайды, бірақ ол бағдарламаның өзі арқылы жасалады. Декларативтік тілдер көрсетілген, кейбір құрылым немесе жүйе құрылады, яғни объектінің кейбір қасиеттері жарияланады (жарияланады). Бұл тілдер ААЖ жүйелерінде, CAD пакеттері деп аталатын, моделдеуде, жасанды интеллект жүйесінде кеңінен қолданылды.
Объектілі-бағдарланған бағдарламалау - бұл тілдерде айнымалылар мен функциялар сыныптар деп аталады (үлгілер). Осының арқасында бағдарламаны құрылымдаудың жоғары деңгейіне қол жеткізілді. Кластерден құрылған нысандар бір-бірінің әдістерін (функциялары немесе процедуралары) шақырады және осылайша қасиеттердің күйін өзгертеді. Ресми математикалық тұрғыдан объектілерге бағдарланған бағдарламаларды жазу тәсілі процедуралық бағдарламалау үлгісіне негізделеді, бірақ OOP-тың мазмұндық жағында функцияға емес, сонымен қатар нысан бойынша стандартты автоматты интервьюктік интерфейсі бар интегралдық жүйе ретінде қолданылады.
Процедуралық-бағдарланған бағдарламалау тілі - міндеттерді шешуге мүмкіндік беретін әрекеттердің сипаттамасына (реттілігіне) негізделген жоғары деңгейлі бағдарламалау тілі. Әдетте процедуралық бағытталған тілдер бағдарламаларды рәсімдер жиынтығы немесе кіші бағдарламалар ретінде анықтайды.
Объектілі-бағытталған бағдарламалау (ООП) - бұл бағдарламалардың әрқайсысы белгілі бір сыныптың данасы болып табылатын объектілер жинағы түрінде бағдарламаны ұсынуға негізделген бағдарламалау әдістемесі және мұра иерархиясын қалыптастыратын сыныптар
OOP процедуралық бағдарламалау идеологиясын дамыту нәтижесінде пайда болды, онда деректерді өңдеу және кіші процедуралар (рәсімдер, функциялар) формальды түрде байланысты емес.
OOP негізгі ерекшеліктері:
Біріншіден, инкапсуляция - олардың мазмұнын бірыңғай түрге біріктіретін және оған қатысты кейбір операцияларды немесе әдістерді іске асыратын сыныптар-қолданушы анықтайтын деректер түрлерін анықтау. Сыныптар әдетте OOP тілдеріндегі деректерді модульдік, инкапсуляциялау және абстракциялау үшін негіз болып табылады.
2. Екінші негізгі элемент - мұра, жаңа түрді қолданыстағы түрдің элементтерін (сипаттары мен әдістерін) иеленетін, оларды өзгертетін немесе кеңейтетін кезде анықтауға мүмкіндік береді. Бұл мамандандыру мен жалпылама білдіруге ықпал етеді.
3. Полиморфизм деп аталатын үшінші функция түрлі кластардың объектілеріне бірдей сілтеме жасауға мүмкіндік береді (әдетте иерархия ішінде). Бұл сабақтарды одан да ыңғайлы етеді және оларға негізделген бағдарламаларды кеңейтуге және қолдауға көмектеседі.
Бақылау сұрақтары
1. Төмендегі ұғымдарға анықтама беріңіз: бағдарламалау, бағдарламалық қамтамасыз ету, бағдарламалық қамтамасыз ету. Компьютердің бағдарламалық жасақтамасын тізімдеңіз.
2. Қолданбалы және жүйелік бағдарламаларға анықтамалар беріп, аспаптық программалық жүйелерге беріледі. Мысалдар келтіріңіз.
3. Интеграцияланған бағдарламалау жүйелерінің не екенін түсіндіріңіз. Бағдарламалау тілдері мен бағдарламалау орталарын түсіндіріңіз.
4. Аудармашы дегеніміз не? Аудармашылардың қандай түрлері бар? Оларды сипаттаңыз.
5. Объектілі-бағытталған бағдарламалау тұжырымдамасын сипаттаңыз. OOP негізгі ерекшеліктерін сипаттаңыз.
Дәріс 2. Есептерді алгоритмдеудің негіздері
Алгоритмнің анықтамасы.
Алгоритм қасиеттері.
Алгоритмдерді сипаттау тәсілдері.
Алгоритмдердің негізгі құрылымдары.
1. Алгоритмнің анықтамасы.
Алгоритм - айнымалы бастапқы деректерден қажетті нәтижеге әкелетін есептеу процесін анықтайтын нақты рецепт.
алгоритм бірегей қалаған нәтижеге көзін және аралық деректерді өңдеу анықтау қадамдар немесе операциялардың ақырғы ретін қамтуға тиіс.
Алгоритм - мәселені шешу нәтижесінде бастапқы және аралық деректерді түрлендіру процесін анықтайтын ақырғы тізбегі талаптар (ережелер).
Алгоритм - іс-шаралар (жоспар) бірізділігі сипаттамасы, қатаң жүзеге асыру қадамдар соңғы саны проблемасын шешу әкеледі.
Алгоритм - алдын ала белгіленген нақты және дәл рецепті ықтимал қылмыскер қадамдар соңғы саны мәселені шешу үшін бірнеше қадамдар жасаған.
Алгоритмдердің пайда болуы математиканың тууымен байланысты. 1000-нан астам жыл бұрын Хорезм Абдулла (немесе Абу Джафар) түскен ғалым, (825) Мұхаммед бин Муса аль-Хорезми, ол көп мәнді сандарды арифметикалық операцияларды орындау қалай сипатталған, онда математика туралы кітап авторы. Бұл математик кітабының латын тіліне аударылғаннан кейін Еуропада сөз алгоритмі пайда болды.
2. Алгоритм қасиеттері.
Алгоритмнің негізгі қасиеттері:
1. Дискреция (алгоритм белгілі бір тәртіптегі нақты әрекеттерден тұруы керек);
анықтау 2. (әр жағдайда кез-келген іс-қимыл қатаң және мағыналы анықталған болуы тиіс, арқасында алгоритм процесінің осы меншігіне берілген бастапқы деректерге біржақты нәтиже protsecca есептеу алу ешқандай қосымша нұсқауларды не ақпарат peshaemoy мәселені tpebuet табиғатта механикалық емес, тартады ..);
3. Pezultativnost немесе аяқ қадамдар немесе алгоритм ақырғы санынан кейін проблеманы шешуге әкелуі тиіс, немесе, өйткені тиісті хабарлар бар ерітінді алу мүмкін еместігі тоқтату болып табылады;
4. Бұқаралық ақпарат (Бұл сипат алгоритм сол алгоритм түрлі кіріс деректермен пайдалануға болады Осы түрдегі барлық проблемаларды шешу үшін қолайлы болуы тиіс дегенді білдіреді.);
5. Орындаушы үшін айқындық - алгоритмді орындаушы оны қалай орындау керектігін түсінуі керек. Басқаша айтқанда, еркін алгоритмі және бастапқы деректер нұсқасын бар, суретші осы алгоритм орындауға әрекет білуі керек.
3. Алгоритмдерді сипаттау тәсілдері.
Алгоритмдерді сипаттаудың келесі әдістері бар:
:: ауызша сипаттама (табиғи тілде жазу);
:: графикалық сипаттамасы;
:: Бағдарлама сипаттамасы (бағдарламалардың мәтіндері алгоритмдік тілде).
Алгоритмдерді жобалау ережелері.
Келесі негізгі графикалық кескіндер блоктық диаграмма түрінде алгоритмді құрастыру үшін пайдаланылады.
4. Алгоритмдердің негізгі құрылымдары
Алгоритмдер жеке негізгі (яғни негізгі) элементтерден тұратын кейбір құрылымдар ретінде ұсынылуы мүмкін. Кез-келген алгоритмнің логикалық құрылымы үш негізгі құрылымдардың комбинациясымен ұсынылуы мүмкін:
* келесі,
* тармақталған,
* қайталау немесе цикл.
4.1. Негізгі құрылым - келесі. Ол бір-бірінің артындағы әрекеттер тізбегі арқылы қалыптасады. Бұл құрылымның тән ерекшелігі - бір кірістің және бір шығудың болуы.
4.2. Негізгі құрылым тармақталған. Шартты тексерудің нәтижесіне байланысты алгоритмді жұмыс істеудің альтернативті тәсілдерінің бірін таңдауды қамтамасыз етеді. Әрбір жол жалпы шығуына әкеледі, сондықтан алгоритм қай жолдың таңдалғанына қарамастан жұмысын жалғастырады. Филиал құрылымы төрт негізгі нұсқада болады:
* Егер-Онда;
* Егер-Онда-Әйтпесе;
* Таңдау;
* Таңдау - Әйтпесе.
алгоритмический язык
Язык блок-схем
1. если -- то
если условие
то действия
все
2. если -- то -- иначе
если условие
то действия 1
иначе действия 2
все
3. выбор
выбор
при условие 1: действия 1
при условие 2: действия 2
. . . . . . . . . . . .
при условие N: действия N
все
4. выбор -- иначе
выбор
при условие 1: действия 1
при условие 2: действия 2
. . . . . . . . . . . .
при условие N: действия N
иначе действия N+1
все
Примеры структуры ветвление
алгоритмический язык
Язык блок-схем
если x 0
то y := sin(x)
все
если a b
то a := 2*a; b := 1
иначе b := 2*b
все
выбор
при n = 1: y := sin(x)
при n = 2: y := cos(x)
при n = 3: y := 0
все
выбор
при a 5: i := i+1
при a = 0: j := j+1
иначе i := 10; j:=0
все
4.3.Циклдің негізгі құрылымы. Циклдің денесі деп аталатын әрекеттердің кейбір жиынын бірнеше орындауды қамтамасыз етеді. Циклдердің негізгі түрлері кестеде келтірілген:
алгоритмический язык
Язык блок-схем
Цикл типа пока. Предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока.
нц пока условие
тело цикла
(последовательность действий)
кц
Цикл типа для. Предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне.
нц для i от i1 до i2
тело цикла
(последовательность действий)
кц
Примеры структуры цикл
алгоритмический язык
Язык блок-схем
нц пока i = 5
S := S+A[i]
i := i+1
кц
нц для i от 1 до 5
X[i] := i*i*i
Y[i] := X[i]2
кц
Бақылау сұрақтары
1. Алгоритм дегеніміз не? Алгоритмдердің қасиеттерін сипаттаңыз және сипаттаңыз.
2. Алгоритм дегеніміз не? Алгоритмдерді сипаттау әдістерін сипаттау және сипаттау.
3. Блок-схеманың графикалық бейнелерін сипаттаңыз және сипаттаңыз.
4. Алгоритм түсінігі. Әртүрлі алгоритмдердің мысалдарын келтіріңіз.
5. Сипаттаңыз және тармақталған құрылымдық алгоритмдердің мысалын келтіріңіз.
6. If-To және If-To-Otherwise түріндегі тармақталған құрылымның алгоритмдерінің ерекшеліктері қандай? Алгоритмдердің мысалдарын келтіріңіз.
7. Таңдау түрінің тармақталған құрылымының алгоритмдерінің ерекшеліктері қандай? Алгоритмдердің мысалдарын келтіріңіз.
8. Циклдық құрылымның сипаттамасын келтіріп, алгоритмдер келтіріңіз.
9. For және Bye түріндегі циклдық құрылымның алгоритмдерінің ерекшеліктері қандай? Алгоритмдердің мысалдарын келтіріңіз.
Дәріс3. Тілдің негіздері, мәліметтер түрлері және өңдеу ортасы
Python тілі тарихы
Программа құрылымы
Комментарийлер
Айнымалылар
Python - кең ауқымды тапсырмаларды шешуге арналған интерпретацияланған, объектілі-бағдарланған жоғары деңгейлі бағдарламалау тілі. Сонымен бірге, сандық және мәтіндік ақпаратты өңдей аласыз, суреттерді жасайсыз, дерекқорлармен жұмыс істей аласыз, веб-сайттарды және графикалық интерфейспен қосымшаларды дамытасыз. Python - кросс-платформа тілі, ол барлық операциялық жүйелерде жұмыс істейтін бағдарламаларды жасауға мүмкіндік береді.
1. Python тілі тарихы
Python-ті құруды Гуидо ван Россум 1991 жылы бастады, ол Ameba-ның бөлінген OS-да жұмыс істеді. Ол жүйелік қоңырауларды қолдайтын кеңейтілген тілге мұқтаж болды. Негізді ABC және Modula-3 жасалды. Титул ретінде ол Python-ты BBC-ның комедиялық Monty Python's Flying Circus (Monty Python's Flying Circus) сериясын таңдады және жыланның атымен емес. Содан бері, Python Guido компаниясының жұмыс істеген ұйымдарының қолдауымен әзірленген. Әсіресе, қазіргі уақытта белсенді тіл белсенді түрде дамып келеді, оны тек қана авторлар тобы ғана емес, әлемнің әртүрлі бағдарламашыларының бірлестігі де жасайды. Дегенмен Гидо ван Россум үшін тіл дамуының бағыттары туралы соңғы сөз қалады.
2. Программа құрылымы
Python бағдарламасы бір немесе бірнеше модульден тұруы мүмкін. Әрбір модуль 7 биттік ASCII кодтауымен үйлесімді кодтауда кеңейту py (консольдық бағдарлама) немесе pyw (графикалық интерфейсі бар бағдарлама) бар мәтіндік файл болып табылады. Ең маңызды битты пайдаланатын кодтау үшін, кодтау атауын анық көрсетуіңіз керек.
Бұл файлдағы барлық нұсқаулар сызық бойынша орындалады. Яғни Python бағдарламасында аудармашы тұрғысынан логикалық жолдар тұрады. Бір логикалық желісі әдетте физикалық бірінде орналасқан, бірақ ұзақ желісі логикалық бірнеше физикалық ішіне сплит (Жақша ішіндегі) анық (а кері қиғаш сызық) немесе жанама болуы мүмкін:
print a, - өте ұзын жол, ол сәйкес келмейді,
80, танысу
Ескерту:
барлық мысалдарда, негізінен сайтында http:python.org табуға болады құжатта Python Style Guide, сәйкес, Python Кодекстің ресми стилі қолданылады
Python бағдарламасы қарапайым мәтіндік файл болғандықтан, оны кез-келген мәтін өңдеушісімен өңдей аласыз - мысалы, Notepad ++. Алайда, бұл код жарқырататын, сонымен қатар әр түрлі сұрауларды алуға ғана емес, мамандандырылған өңдегішін пайдалану үшін жақсы болып табылады және Сіз бағдарламасын тіруге мүмкіндік береді. сондықтан көптеген редакторлар :. т.б. кешенді PyDev, Netbeans, бар PyScripter, PythonWin, UliPad, Eclipse бар - редакторлар тізімі http:wiki.python.orgmoin PythonEditors бетінде табуға болады. Болашақта, егер басқаша көрсетілмесе, Windows-дағы стандартты Python кітапханасының бөлігі болып табылатын интерактивті аудармашы IDLE-ды қолданамыз.
Python бағдарламасы - нұсқаулықтары бар қарапайым мәтіндік файл. Әр нұсқаулық бөлек жолға орналастырылады. Егер мәлімдеме салынбаған болса, ол жолдың басында бастау керек, әйтпесе қате туралы хабар көрсетіледі (1-сурет). Бұл жағдайда, импорттау мәлімдемесіне дейін қосымша бос орын бар, ол қате туралы хабарды шығаруға әкелді.
Сур.1. Қате туралы хабарлама
Файлдың бірінші жолында кодтауды көрсету қажет. Егер кодтау көрсетілмесе, файл UTF-8 кодтауында сақталған деп есептеледі. Windows-1251-ні кодтау үшін жол келесідей болады:
# - * - кодтау: cp1251 - * -
IDLE редакторы көрсетілген кодтауды ескереді және файлды сақтағанда автоматты түрде қайта жазылады.
Көптеген бағдарламалау тілдерінде (мысалы, PHP, Perl және т.б.), әрбір мәлімдеме нүктелі үтірмен аяқталуы керек. Python-те сіз өтініштің соңында нүктелі үтірді қоюға болады, бірақ бұл қажет емес. Нұсқаудың соңы - сызықтың соңы. Дегенмен, егер сіз бір жолда бірнеше нұсқауларды орналастыру керек болса, нүктелі үтірді көрсетуіңіз керек:
х = 5; у = 10; z = х + у # Три инструкции на одной строке
print (z)
15
Python тілінің тағы бір айрықша ерекшелігі блоктың ішіндегі нұсқауларды бөлу үшін шектеу белгілерінің болмауы.
1 = 1
while i 11:
print (i)
i += 1
print ("Конец программы")
Блоктың ішіндегі барлық нұсқаулардың алдында бос орындардың бірдей саны бар екенін ескеріңіз. Python блоктарды осылай бөледі. кеңістіктердің тең санына алдында нұсқаулары блок дене болып табылады. соңы блок аз бос алдында орналасқан бағыттауыш болып табылады. желісі Бағдарлама соңы басып шығарады Біздің жағдайда, бұл функция басып шығару (). блогындағы кеңістіктер саны әр түрлі болады, онда аудармашы жөнделмес қате туралы хабарды көрсетеді, және бағдарлама тоқтатылады.
----------------------------------- ----------------------------------- ----------
Ескерту:
----------------------------------- ----------------------------------- ----------
Python бағдарламасында блоктағы нұсқауларды бөлектеу үшін төрт бос орынды қолдануға болады.
Егер блок бір нұсқадан тұрса, оны негізгі нұсқаулықпен бір жолға қоюға болады. Мысалы, код:
for i in range (1, 11):
print(i)
print ("Конец программы")
былай жасса болады:
for i in range (1, 11) : print (i)
print ("Конец программы")
Егер нұсқау тым ұзын болса, оны келесі жолға жылжытуға болады, мысалы:
* жолдың соңында \ таңбасын қойыңыз. Бұл кейіпкерден кейін, жаңа сызық таңбасын сақтау керек. Басқа рәміздер (түсініктемелерді қосқанда) рұқсат етілмейді. Мысал:
х = 15 + 20 \
+ 30
print (х)
* өрнекті жақшаға салыңыз. Бұл әдіс жақсырақ, себебі кез келген өрнекті жақша ішінде орналастыруға болады. Мысал:
х = (15 + 20 # Это комментарий
+ 30)
print (х)
* Тізімнің анықтамасы мен сөздік бірнеше жолға қойылуы мүмкін; тік жақшалар мен жақшалар пайдаланылады. Тізім анықтамасының мысалы:
arr = [15, 20, # Это комментарий
30]
print (arr)
Сөздікті анықтау мысалы:
arr = {"x": 15, "у": 20, # Это комментарий
"z": 30}
print (arr)
4.Комментарийлер
Түсіндірмелер бағдарламаның мәтінінде түсіндірмелерді енгізуге арналған, аудармашы оларды толық елемейді. Түсініктеме ішінде, орындалуы керек нұсқауларды қоса, кез келген мәтінді орналастырмау керек.
Python-да бір жолды түсініктеме бар. # Белгісімен басталады:
# Это комментарий
Python тілінде көп жолды түсініктеме жоқ болғандықтан, жиі түсіндірілген фрагмент үш еселенген тырнақшаға (немесе үш еселенген ауытқулар) орналастырылады:
"""
Эта инструкция выполнена не будет
print ("Привет, мир!")
"""
Айта кету керек, бұл код фрагменті аудармашы тарапынан елемейді, себебі бұл түсініктеме емес. Фрагменттің орындалуы нәтижесінде жол түрінің нысаны құрылады. Дегенмен, үш еселенген баға белгілерінің ішіндегі нұсқаулар орындалмайды, себебі аудармашы олардың мәтінін табады. Мұндай сызықтар - түсініктемелер емес, құжаттаманың сызығы.
5. Айнымалылар
Python-дағы барлық деректер нысандармен ұсынылған. Әрбір нысанның деректер түрі және мәні бар. Айнымалылар нысанға кіру үшін пайдаланылады. Инициализацияланған кезде, объектке сілтеме (компьютердің жадындағы нысанның мекенжайы) айнымалыға сақталады. Осы сілтеменің арқасында кейінірек бағдарламаны нысаннан өзгертуге болады.
Әр айнымның бірегей атауы болуы керек - латын әріптерінен, сандардан және астыңғы сызықтардан тұратын идентификатор, онда айнымалы атау сандықтан басталмайды. Сонымен қатар, атаудың басында төменгі сызықша сипаттан аулақ болу керек, өйткені мұндай символы бар идентификаторларға арнайы мақсат тағайындалады. Мысалы, астыңғы сызықпен басталатын атаулар модульден импорттау * мәлімдемесінің көмегімен модульден импортталмайды және аудармашы үшін басында және соңында екі астын сызып көрсететін атаулар бар.
Айнымалы сөздер ретінде кілт сөздерді пайдалана алмайсыз. Кілт сөздердің тізімін 2-суретте көрсетілген кодқа рұқсат етіңіз.
Сур.2. Барлық кілт сөздердің тізімі
Кілтсөздерден басқа, енгізілген идентификаторлармен бір-біріне қайталанбау керек.
IDLE редакторында енгізілген идентификаторлар күлгін түсте болады. Айнымалылардың түсіне назар аударыңыз - қара болуы керек. Айнымалы мәннің бөлінгенін байқасаңыз, айнымалы мәнді өзгерту керек. Кірістірілген идентификаторлардың толық тізімін алу үшін 3-суретте көрсетілген кодқа рұқсат беріледі.
Сур.3. Кірістірілген идентификаторлардың тізімін алу
Айнымалылардың дұрыс атаулары: x, y1, strName, str_name.
Жарамсыз айнымалы атаулар: 1y, айнымалы атауы.
Айнымалы атауды көрсете отырып, әріптердің жағдайын қарастырған жөн: x және X әртүрлі айнымалылар (4-сурет):
Сур.4. Python - регистрді ескеретін тіл
6. Ауыспалы мәнге тағайындау
Python динамикалық теруді пайдаланады. Бұл мән айнымалы мәнге тағайындалғанда, аудармашы автоматты түрде айнымалы деректер түрлерінің біріне тағайындайды. Айнымалының мәні = операторы арқылы тағайындалады:
Бір жолда бірнеше айнымалы мәнді бірден тағайындауға болады:
Айнымалы мәнге тағайындалғаннан кейін, нысанға сілтеме сақталады, ол нысанның өзі емес. Бұл топты тағайындау кезінде ескерілуі керек. Топты тағайындау сандарға, жолдарға және жолақтарға пайдаланылуы мүмкін, бірақ бұл өзгермейтін нысандар үшін жасалмайды. Мысал:
Бұл мысалда біз екі элементтің тізімін жасадық және x және y айнымалыларына мән бердік. Енді айнымалы мәндегі мәнді өзгертейік:
Мысалдан көріп отырғандай, айнымалы мәндегі мәнді өзгерту y айнымалы мәндегі мәнді өзгертеді. Осылайша, екі айнымалылар екі түрлі объектілерге қарағанда, бірдей нысанға сілтеме жасайды. Екі нысан алу үшін жеке тапсырманы орындау керек:
Екі айнымалы бірдей нысанға сілтеме жасайтынын тексеру үшін, бекіту болып табылады. Айнымалылар бірдей объектке сілтеме жасаса, оператор оператор True мәнін қайтарады:
Кодекстің тиімділігін арттыру үшін аудармашы кішігірім бүтін сандарды және шағын жолдарды кэштейді. Бұл айнымалыға айнымалы 2-ге берілген болса, сол айнымалы сілтемеде сақталатын болады. Мысал:
Sys: getrefcount () әдісінен нысан сілтемелерінің санын қараңыз:
Нысанға сілтемелер саны нөлге тең болғанда, нысан негізгі жадтан автоматты түрде жойылады. Ерекшелік - бұл кэшталған объектілер.
Позициялық меншіктеу
Топтық тағайындаудан басқа, Python позициялық тағайындауды қолдайды. Бұл жағдайда айнымалы мәндер үтір арқылы = оператордың сол жағында көрсетіледі және мәндер үтірлермен оңға бөлінеді. Позициялық тағайындаудың мысалы:
Позиционалды тағайындаумен, айнымалылардың мәндерін орындарда өзгертуге болады. Мысал:
Оператордың кез келген жағында = sequences көрсетілуі мүмкін. Естеріңізге сала кетейік, тізбектерге тізімдер, тізімдер, жолақтар, ауқымдар, байттар және байтақылар түрлері кіреді. Мысал:
= Оператордың оң және сол жағындағы элементтердің саны сәйкес келуі керек екенін ескеріңіз, әйтпесе қате туралы хабар көрсетіледі:
Python 3, егер оператордың оң және сол жағындағы элементтер саны сәйкес болмаса = айнымалы мәнде қажет емес элементтердің тізімін сақтауға мүмкіндік береді. Мұны істеу үшін айнымалы атаудан бұрын жұлдызшаны (*) пайдалану керек. Мысал:
Бұл мысалдан көріп отырғандай, айнымалы жұлдызшамен әрдайым тізім бар болғанша. Айнымалы мәндер жеткіліксіз болса, бос тізім берілді. Жұлдызша бір айнымалы мәннен бұрын ғана көрсетілуі мүмкін екендігін есте сақтаңыз. Әйтпесе, белгісіздік пайда болады және аудармашы қате туралы хабарды көрсетеді:
Тәжірибелік жұмыс
1. Var_int айнымалы мәнін 10, var_float - 8.4, var_str дейін Жоқ деп орнатыңыз.
2. var_int айнымалысында сақталған мәнді өзгертіп, оны 3,5 есе көбейтіңіз, нәтижені big_int айнымалы мәніне қосыңыз.
3. var_float ішінде сақталған мәнді біреуін азайту арқылы өзгертіңіз, нәтижені бір айнымалымен байланыстырыңыз.
4. var_int параметрін var_float, содан кейін var_float үшін big_int деп бөліңіз. Осы өрнектердің нәтижесін кез-келген айнымалыға байланыстырмаңыз.
5. var_str айнымалы мәнін NoNoYesYesYes деп өзгертіңіз. Жаңа мән жасаған кезде, біріктіру әрекеттерін (+) және жолды қайталауды (*) пайдаланыңыз.
6. Барлық айнымалылардың мәндерін басып шығарыңыз.
Тәжірибелік жұмыс нәтижесі
----------------------------------- ----------------------------------- ----------
var_int = 10
----------------------------------- ----------------------------------- ----------
var_float = 8.4
----------------------------------- ----------------------------------- ----------
var_str = "No"
----------------------------------- ----------------------------------- ----------
big_int = var_int * 3.5
----------------------------------- ----------------------------------- ----------
var_float = var_float -- 1
----------------------------------- ----------------------------------- ----------
var_int var_float
----------------------------------- ----------------------------------- ----------
1.3513513513513513
----------------------------------- ----------------------------------- ----------
big_int var_float
----------------------------------- ----------------------------------- ----------
4.72972972972973
----------------------------------- ----------------------------------- ----------
var_str = var_str * 2 + "Yes" * 3
----------------------------------- ----------------------------------- ----------
var_int
----------------------------------- ----------------------------------- ----------
10
----------------------------------- ----------------------------------- ----------
var_float
----------------------------------- ----------------------------------- ----------
7.4
----------------------------------- ----------------------------------- ----------
big_int
----------------------------------- ----------------------------------- ----------
35.0
----------------------------------- ----------------------------------- ----------
var_str
----------------------------------- ----------------------------------- ----------
'NoNoYesYesYes'
Бақылау сұрақтары
1. Python бағдарламалау тілінің қысқаша сипаттамасын беріңіз.
2. Python тілінің тарихын қысқаша сипаттаңыз.
3. Python бағдарламасының ерекшелігі қандай?
4. Құрылғының ішіндегі нұсқаулар қалай ерекшеленеді? Блоктың бөлігі қандай? Нұсқаудың аяқталуының белгісі деген не?
5. Тым ұзын нұсқауларды бөлудің қандай жолдары бар? Нұсқаудың аяқталуының белгісі деген не?
6. Түсініктеме дегеніміз не? Бір жолды және көп жолды пікірлер қалай жазылған.
7. Идентификатор дегеніміз не? Идентификаторларды құрастыру ережелерін келтіріңіз. Дұрыс және қате айнымалы атаулардың мысалдарын келтіріңіз.
8. Тапсырманың мақсаты қандай?
9. Айнымалы атау үшін ережелер мен нұсқаулықтар қандай?
Дәріс4
Мәліметтер түрлері
Мәліметтер түрлерін классификация жасау
Мәліметтер түрлері
Python 3-те нысандарда келесі деректер түрлері болуы мүмкін:
* bool - логикалық деректер түрі. Шын мәнін немесе жалған мәндерін қамтуы мүмкін, олар сәйкесінше 1 және 0 сандары сияқты әрекет етеді:
* NoneType - Жоқ мәнімен нысан (ешқандай мән көрсетілмейді):
В логическом контексте значение None интерпретируется как False:
* int - целые числа. Размер числа ограничен лишь объемом оперативной памяти:
* float - вещественные числа:
* complex - комплексные числа:
* str - Unicode-строки:
* bytes - неизменяемая последовательность байтов:
* bytearray - изменяемая последовательность байтов:
* list - списки. Тип данных list аналогичен массивам в других языках программирования:
* tuple - кортежи:
* range - диапазоны:
* diet - словари. Тип данных diet аналогичен ассоциативным массивам в других языках программирования:
* set - множества (коллекции уникальных объектов):
* frozenset - неизменяемые множества:
* ellipsis - обозначается в виде трех точек или слова Ellipsis. Тип ellipsis используется в расширенном синтаксисе получения среза:
* function - функции:
* module - модули:
* type - классы и типы данных. Все данные в языке Python являются объектами, даже сами типы данных!
Мәліметтер түрлерін классификация жасау
Деректердің негізгі түрлері айнымалы және өзгермелі болып бөлінеді. Өзгертуге болатын түрлері:
:: тізімдер,
:: сөздіктер және
:: борттық түрі.
Тізім элементін өзгертудің мысалы:
Өзгеріссіз түрлері мыналарды қамтиды:
:: сандар,
:: сызықтар,
:: кілттер,
Және ауқымдары
:: байттарды теріңіз.
Мысалы, жолды басқа екі жолдан алу үшін, біріктіру әрекетін пайдалану керек және айнымалыға жаңа нысанға сілтеме тағайындаңыз:
Сонымен қатар, деректер түрлері тізбектер мен карталарға бөлінеді. Бірізділікке мыналар жатады:
:: сызықтар,
:: тізімдер,
:: кілттер,
:: диапазондар,
:: байттар мен борттық түрлер,
және картаға сөздіктер.
Кездейсоқтар мен дисплейлер барлық элементтерді __next __ () немесе келесі () функциясын қолданып, итераторлардың механизмін қолдайды. Мысалы, келесідей тізім элементтерін тізімдей аласыз:
Егер сөздік пайдаланылса, онда әрбір иерархияда кілт қайтарылады:
Іс жүзінде бұл әдіс пайдаланылмайды. Оның орнына, біз үшін итератордың механизмін пайдаланатын цикл үшін пайдаланылады. Мысалы, келесідей тізім элементтерін тізімдей аласыз:
Сондай-ақ, сөзді бірдей жаза аласыз. Мысалы, әрбір әріптен кейін сызықшаны енгізіңіз:
Сөздік элементтері іздеудің мысалы:
Дискілер сонымен қатар элементке индексі бойынша қатынауды қолдайды, қиманы, біріктіруді (операторды +), қайталауды (операторды *) және оқиғаларды тексеруді (операторда) тексереді. Осы операциялардың бәрі тіл үйрену барысында егжей-тегжейлі қарастырылатын болады.
Бақылау сұрақтары
1. Сіз қандай деректерді білесіз? Оларды сипаттаңыз.
2. бөлшек сандарды бүтін санға түрлендіру мүмкін бе? бөлшек сан бойынша бүтін ... жалғасы
БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ
М.Әуезов атындағы Оңтүстік Қазақстан мемлекеттік университеті
Есептеу техникасы және бағдарламалық қамтамасыз ету кафедрасы
ШАЙМЕРДЕНОВА Л.Е., СЕЙТХАНОВА А.Д.
АЛГОРИТМДЕУ ЖӘНЕ БАҒДАРЛАМАЛАУ
5В070400- Есептеу техникасы және бағдарламалық қамтамасыз ету
мамандығы студенттер үшін
ДӘРІСТЕР ЖИНАҒЫ
Шымкент, 2018
ӘОК 004.738.1
Құрастырушылар: Шаймерденова Л.Е., Сейтханова А.Д. Алгоритмдеу және бағдарламалау. Дәрістер жинағы. - Шымкент: ОҚМУ, 2018. -152 б.
Дәрістер жинағы Алгоритмдеу және бағдарламалау пәнінің оқу жоспарының талаптары мен типтік оқу бағдарламасына сәйкес жасалынып, дәрістер сабағына қажетті материалдарды қамтиды.
Дәрістер жинағы 5B070400 - Есептеу техникасы және бағдарламалық қамтамасыз ету мамандығының студенттеріне арналған.
Пікір жазғандар:
Оспанова А.О. - т.ғ.д., Есептеу техникасы және бағдарламалық қамтамасыз ету кафедрасының профессоры
Есептеу техникасы және бағдарламамен қамтамасыз ету кафедрасының мәжілісінде 12 09 2017, хаттама № 2), Ақпараттық технологияла және энергетика жоғары мектебінің ОИТжӘҚ комитетінде (20 10 2017, хаттама № 2) қаралып, баспаға ұсынылды.
Баспаға М.Әуезов атындағы ОҚМУ-дың Оқу-Әдістемелік кеңесі ұсынған, 27 10 2017ж. хаттама № _2_
(C) М.Әуезов атындағы ОҚМУ, 2018ж.
Басылымға жпауапты Шаймерденова Л.Е.
МАЗМҰНЫ
Кіріспе
6
Бағалау критерийлері
7
Дәріс 1
Компьютердің программалық құралдары
10
Компьютерді программалық қамтамасыз етудің жалпы түсінігі.
Программалаудың интергациядланған жүйелері.
Процедураға бағытталған тілдер және объектілерге бағытталған программалау туралы түсініктер.
Дәріс 2
Есептерді алгоритмдеудің негіздері
14
Алгоритмнің анықтамасы.
Алгоритм қасиеттері.
Алгоритмдерді сипаттау тәсілдері.
Алгоритмдердің негізгі құрылымдары.
Дәріс 3
Тілдің негіздері, мәліметтер түрлері және өңдеу ортасы
19
Python тілі тарихы
Программа құрылымы
Комментарийлер
Айнымалылар
Дәріс 4
Мәліметтер түрлері
Мәліметтер түрлерін классификация жасау
28
Дәріс 5
Мәліметтерді енгізу және шығару
32
print() функциясы
sys.stdout объектінін write() әдісі
input () функциясы
Дәріс 6
Базалық математикалық операциялар және есептеулер
35
Математикалық операциялар
Екілік операторлар
Меншіктеу операторы
Операторларды орындау реті
Дәріс 7
Шартты оператор IF
42
Логикалық өрнектер.
Салыстыру операторлары.
Логикалық операторлар
Салыстыру операторлардың орындау реті
Дәріс 8
Шартты операторларжайлы түсінік.
If конструкциясы.
if...else тармақталу операторы.
Таңдау операторы If...elif...
Айнымалыға мәнің меншіктейтін тармақталу операторы.
46
Дәріс 9
Циклдік оператор FOR
52
FOR операторының форматы
Дәріс 10
range() функцисы
enumerate() функциясы
55
Дәріс 11
Циклдік оператор WHILE
60
WHILE операторының форматы.
WHILE циклның жұмыс стеу тәртібі.
Дәріс 12
continue операторы
break операторы
64
Дәріс 13
Тізімдер. Қатарлар. Кортеждер
67
Қатарлар.
Қатарлар операторлары.
Қатарлар өңдеу функциялары мен әдістері
Дәріс 14
Тізім.
Тізімді өңдеу операторлары.
Кортеждер.
Кортеждерді өңдеу әдістері.
73
Дәріс 15
Программалау тілінде функцияны хабарлау
78
Қолданушының функциялары жайлы түсінік.
Функцияны құру және шақыру
Функцияның параметрлері мен аргуметтері.
Жергілікті және ауқымды айнымалылар.
Дәріс 16
Рекурсия
83
Рекурсия.
Факториалды есептеу
Дәріс 17
Екі өлшемді массивтер
86
Кірітілген тізімдерді өңдеу және шығару.
Кірітілген тізімді құру.
Екі өлшемді массивті шығару.
Дәріс 18
Екі өлшемді массивті өңдеу.
Екі өлшемді массив генераторы.
89
Дәріс 19
Жиындар
92
Жиындар жайлы түсінік.
Жиындарды құру.
Дәріс 20
Жиын элементтерін өңдеу.
Жиын операциялары.
94
Дәріс 21
Сөздіктер
96
Сөздік жайлы түсінік.
Сөздікті құрастыру
Сөздіктермен жұмыс жасау.
Дәріс 22
Сөздік әдістеріфункциялары.
Сөздік операциялары. Мысалдар.
100
Дәріс 23
Объектілі - бағытталған программалауға кіріспе
106
ОБП негіздері. Класты және объектіні анықтау.
Объектіні құру. Класстар әдісі. Алғашқы ОБ программасы.
Дәріс 24
Инкапсуляция.
Мұрагерлік.
Полиморфизм.
Оператордың шамадан тыс жүктелуі
113
Дәріс 25
Модульдер
119
Python-дағы модуль.
Стандартты кітапханадан модульді қосу.
Псевдонимді қолдану.
from инструкциясы
Дәріс 26
Өз модулін құру.
Модулді құру мәселелері
122
Дәріс 27
Қателерді талдау (throw Exceptions)
124
try ... except ... инструкциясы
raise операторы
assert операторы
Дәріс 28
try... finally инструкциясы
Қателіктер классы (exceptions).
Қателер иерархиясы
126
Дәріс 29
Өзге кітапханаларды пайдалану
131
Кітапхананы өңдау мүмкіндіктері.
mathLab кітапхананы қолдану
Дәріс 30
Python тілінің қосымша мүмкіндіктері
CGI: Python-да қарапайым сайт құру.
Hello world.
Формаларды өңдеу, cookies.
Мысал.
Сайтты Интернетте жариялау
133
Ұсынылған әдебиттер тізімі
147
МАЗМҰНЫ
Алгоритмдеу және программалау, Python курсы құрылымдық бағдарламалаудың негізгі тұжырымдамаларын (деректер және олардың түрлері, операциялары, айнымалы мәндері, бағдарламадағы циклдар, циклдар және функциялар) түсінік береді.
Python тілін таңдау, бұл басқа тілдерге қарағанда, бағдарламалауды үйрену үшін басқа тілдерге қарағанда бірқатар артықшылықтары бар: кодтың анықтығы, іске асыру жылдамдығы.
Курс 30 сағатқа есептелген. Бұл Python бағдарламалау тіліне толық нұсқаулық емес.
Курстың мақсаттары мен міндеттері
Курстың негізгі мақсаты - құрылымдық бағдарламалаудың негізгі тұжырымдамаларын қалыптастыру, бағдарламалаушы логика.
Курстық бағдарлама
Бағдарламалау тілдері мен олардың тарихи даму идеясы, бағдарлама кодын аудару жолдары. Деректер түрлері (бүтін сандар, қалқымалы нүктелер, жолдар) және деректер құрылымдары (жолдар, тізімдер, сөздіктер), айнымалылар, өрнектер, тармақтар (if-else, if-elif-else) және циклдар (while, for). Деректерді енгізу және шығару. Функция туралы түсінік, жергілікті және жаһандық айнымалылар.
БАҒАЛАУ КРИТЕРИЙЛЕРІ
Оқушылардың оқу пәндерін меңгеруінің тиімділігі көптеген факторларға, бірінші кезекте, Дирингтегі жұмысқа байланысты. Дәріс емтиханның бір сұрағына және бір қатарға қатысты тақырыптарға сәйкес келетін бір тақырып ретінде қарастырылуы мүмкін. Дұрыс лекция материалы студентке өзін-өзі дайындауға арналған тұрақты негіз құруға мүмкіндік береді, пайдалы ақпаратты алуға және түзетуге мүмкіндік береді.
Дәрістің қабылдануы және оны жазу - алынған мәліметтерді есепке ала отырып, оны қабылдау үшін ыңғайлы нысанда бағалауға және қорытындылай отырып, дәріс берушінің түсінігін түсінуге бағытталған тұрақты назар аудару процесі. Яғни студенттің лекциядағы өзіндік жұмысы жаңа ақпаратты түсінуден және оны ұтымды түрде ұтымды етуден тұрады.
Дұрыс жазылған Дерір сізге материалды жақсы түсінуге мүмкіндік береді, зертханалық жаттығуларға, калоquiums және емтихандарға сәтті дайындалады. Дәрісті тыңдау үшін барлық материалдан ең маңызды нәрсені таңдау және жазу керек. Сондықтан лекцияға алдын-ала дайындық студентке ескертулерге бару қажет болған сәтті ұстауға мүмкіндік береді және сіз тек лекцияға мұқият тыңдай аласыз.
Дәріс материалын ұсынудың тәсілдері әртүрлі болуы мүмкін. Мұғалім материалды жаза алады, айтады, жазу үшін ештеңе бермейді немесе оқушылармен диалог түрінде сабақ жүргізе алады. Көбінесе жоғарыда аталған әдістердің екеуін немесе үшін қосуды байқауға болады. Абстракцияның тиімділігі лекция жазудың дұрыс әдісін меңгеруге байланысты. Дәріс материалдың негізгі мазмұнын ғана анықтайтын қысқа, қарапайым сөйлемдер түрінде жазылуы мүмкін. Жеке лекциялар үшін порталда дәріс беретін (кестелер, графиктер, диаграммалар) ұсынылған қағазға қажетті материалдарды әкелу керек. Бұл материал сипатталады, түсіндіріледі, тікелей лекцияда толықтырылады.
Теориялық білім беру үшін академиялық қарызды жою. Егер студенттер академиялық қарызға ие болса, дәріс материалдарын қалпына келтіру керек. Осы мақсатта студенттің зерттелген материалдың негізгі түйінін жасауы сұралуы мүмкін. Негізгі жиынтықтың міндеттері: дағдыларды құрылымдау, материалды жүйелеу, негізгі, ғылыми және ғылыми-практикалық білімдерді таныстыру, бұзылған түрдегі, графикалық мәдениет. Ақпараттың негізгі көзі - ақпарат көзі, мұнда қарастырылып отырған мәселенің құрылымдық сипаттамасы жүйелі, жалпыланған, схемалық түрде ұсынылған.
Білім алушылардың оқу жетістіктерін бағалау жүйесі
Әріптік жүйе бойынша бағалау
Балдың сандық көрсеткіші
% көрсеткіш
Дәстүрлі жүйе бойынша бағалау
Білім алушының білімін бағалау критерияларын
А
4,0
95-100
Өте жақсы
Студент көрсетті:
- материалдарды толық және терең меңгеруі
- сабақтың барлық түрі бойынша толық, дәйекті, логикалы жауап беруі;
- пәнді оқуда негізгі және қосымша арнайы әдебиеттерден ақпараттарды қолдана алу дағдысы,
- Ғаламтор ақпараттық ресурстарды және шетелдік әдебиеттермен жұмыс жасай алуы;
А-
3,67
90-94
Студент көрсетті:
- материалдарды толық меңгеруі
- сабақтың барлық түрі бойынша толық, дәйекті, логикалы жауап беруі;
- пәнді оқуда арнайы әдебиеттерді қолдану дағдысы,
В+
3,33
85-89
Жақсы
Студент көрсетті:
- материалдарды меңгеруі
- сабақтың барлық түрі бойынша толық, дәйекті, сауатты және баяндауда анықсыздықтар бар болса;
- пәнді оқуда ұсынылған әдебиеттерден қолдана алу дағдысы,
В
3,0
80-84
Студент көрсетті:
- материалдарды меңгеруі;
- сабақтың барлық түрі бойынша жауапты елеусіз қателіктермен баяндауы;
- оқытушының жетекшілігімен теориялық білімді қолдану дағдысы;
-жіберілген қателіктерді өзбетінше түзету қабілеттілігі;
В-
2,67
75-79
Студент көрсетті:
- материалдарды меңгеруі;
- елеусіз қателіктермен жауаптарды баяндап беруі;
- оқытушының жетекшілігімен теориялық білімді қолдану дағдысы;
- оқытушының көмегімен жіберілген қателіктерді түзете білуі;
- барлық тапсырмалар түрі бойынша жіберілген қателіктерді уақытылы жою.
С+
2,33
70-74
қанағаттанарлық
Студент көрсетті:
- материалдарды меңгеруі;
- барлық тапсырмалар түрі бойынша жауап беру барысында дұрыс тұжырымдаманың толық болмауы;
- бағдарлама материалдарын баяндау барысында ретінің бұзылуы;
- оқытушының жетекшілігімен бағдарлама материалдарынының жеке бөлімдерін қортындылау дағдысы;
С
2,0
65-69
Студент көрсетті:
- негізгі материалды меңгеруі;
- барлық тапсырма түрлері бойынша жауаптардың дұрыс тұжырымдаманың толық болмауы;
- бағдарлама материалдарынының жеке бөлімдерін қортындылаудағы қиындықтардың болуы;
С-
1,67
60-64
Студент көрсетті:
- негізгі материалды меңгеруі;
- барлық тапсырма түрлері бойынша жауаптардың дұрыс тұжырымдаманың толық болмауы;
-оқытушының ұсынылған әдебиеттерін қолданудағы қиындықтардың болуы;
-бағдарлама материалдарынының қортындылаудағы қиындықтардың болуы;
Д+
1,33
55-59
Студент көрсетті:
- жеке бөлімдерді меңгеруі;
- барлық тапсырма түрлері бойынша жауаптардың дұрыс тұжырымдаманы түсінбеуі;
- бағдарлама материалдарынының қортындылаудағы қиындықтардың болуы;
Д
1,0
50-54
Студент көрсетті:
- негізгі материалдардың жеке бөлімдерін игеру қиындығы;
- барлық тапсырмалар түрі бойынша тұжырымдамаларды түсінбеу;
- оқытушының көрсетілген қателіктерді түзету барысындағы қиындықтардың болуы; .
F
0
0-49
қанағаттанарлықсыз
Студент көрсетті:
- бағдарлама материалын білмеуі,
- барлық тапсырмалар түрі бойынша елеулі қателіктердің жіберілуі.
Дәріс 1. Компьютердің программалық құралдары.
Компьютерді программалық қамтамасыз етудің жалпы түсінігі..
Программалаудың интергациядланған жүйелері.
Процедураға бағытталған тілдер және объектілерге бағытталған программалау туралы түсініктер.
Бағдарламалау - компьютерлерге арналған бағдарламаларды құрастырудың әдістерін және әдістерін зерттейтін информатика бөлімі. Сонымен қатар, бағдарламалау - оны компьютерде шешуге арналған тапсырманы дайындау.
Бағдарлама - компьютер түсінетін командалардың тізбегі.
Бағдарлама латын және орыс әріптері, сандар, тыныс белгілері және операция белгілері болып табылады.
1. Компьютерді программалық қамтамасыз етудің жалпы түсінігі.
Компьютердің ұзақ мерзімді жадындағы барлық құрылғыларда сақталған бағдарламалар жиынтығы оның бағдарламалық жасақтамасы (бағдарламалық жасақтама) болып табылады.
Бағдарламалық жасақтама компьютердің ажырамас бөлігі болып табылады. Бұл компьютердің техникалық құралдарының қисынды жалғасы, олардың мүмкіндіктерін кеңейту және қолдану аясы.
Бағдарламалық қамтамасыз етуді жіктеу.
Барлық бағдарламалар шартты түрде үш санатқа бөлінеді:
1) Пайдаланушылар үшін қажетті жұмысты орындауды тікелей қолдайтын қолданбалы бағдарламалар.
2) Әр түрлі қосалқы функцияларды орындайтын жүйелік бағдарламалар, мысалы:
:: компьютерлік ресурстарды басқару.
:: пайдаланылатын ақпараттың көшірмесін жасау.
:: компьютеріңіздің құрылғыларының денсаулығын тексеру.
:: компьютер туралы анықтама ақпаратын беру және т.б.
3) Компьютерге арналған жаңа бағдарламаларды жасау үрдісін жеңілдететін аспаптық программалық жүйелер.
Бағдарламалық жасақтаманың келесі топтары:
:: Операциялық жүйелер.
:: Бағдарламалау жүйелері.
:: Аспаптық жүйелер.
:: Біріктірілген пакеттер.
:: Динамикалық электрондық кестелер.
:: компьютерлік графикалық жүйелер.
Деректер базасын басқару жүйесі (ДББЖ).
:: Қолданбалы бағдарламалар.
2. Программалаудың интергациядланған жүйелері
Интегрирленген даму ортасы, IDE (Integrated Development Environment) бағдарламалық жасақтама (бағдарламалық қамтамасыз ету) әзірлеу үшін бағдарламашылар пайдаланатын бағдарламалық құралдардың кешені.
Даму ортасы мыналарды қамтиды:
:: Мәтін редакторы,
:: Аудармашы (компилятор және немесе аудармашы),
:: Сілтеме редакторы - құрастыруды автоматтандыру құралы,
:: түзеткіш.
Мәтіндік редактор - бағдарламаның мәтінін бағдарламалау тілінде теруге мүмкіндік беретін редактор. Ол үшін кез-келген мәтіндік редакторды қолдануға болады, бірақ арнайы мәтіндік редакторды пайдалану жақсы.
Аудармашы бағдарламалау жүйелерінің негізі болып табылады. аудармашылар мен құрастырушылар: .. бағдарламалау тілдері аудармашылар, яғни, машина тілінде (нысан коды) ішіне бағдарлама бастапқы кодты аудармасын қамтамасыз бағдарламалар екі түрі бар.
Аудармашы - сериялық синхронды аударма және бағдарламаның әр желісі жұмысын қамтамасыз етеді, және сіз бағдарлама бүкіл рәсімін орындауға, әрбір іске толығымен қайталанады аудармашы. төмен жылдамдық - аудармашының артықшылығы интерактивті режимде және тиімсіз оңай отладка бағдарламасы болып табылады.
Компилятор - бастапқы кодын машиналық кодқа аударатын аудармашы. Егер бағдарлама мәтінінде синтаксистік қателер болмаса, машина коды жасалады. Бірақ бұл, әдетте, жұмыс коды емес; Осы бағдарлама бойынша стандартты мүмкіндіктердің рәсімдері жетіспейді, сондықтан компилятор нысан коды, және кеңейту .obj деп аталатын, аралық коды жасайды.
тігіледі (коллектор) - объект модульдері мен бағдарлама жеке бөліктерін біріктіреді бағдарламаны орындау үшін дайын бір бағдарламасына компилятор жеткізілетін кітапханаларында қамтылған (rasshireniem.lib файлдармен) стандартты функцияларын стандартты кіші модульдер қосады яғни, .exe файлын жасайды. Бұл файл тәуелсіз мәнге ие және ол құрылған (немесе ұқсас) операциялық жүйенің басқаруымен жұмыс істей алады.
Отладчик орындалу барысында бағдарламаның жұмысын талдауға мүмкіндік береді. Оны пайдаланып, әртүрлі айнымалы мәндердің қалай өзгеретінін қадағалай отырып, қадамдарды жеке қадамдастырылған бастапқы кодының қадамдарын орындауға болады. Айырып алушы болмаса, үлкен қосымшаны әзірлеу өте қиын. Сондай-ақ, кешенді дамыту ортада тізімделген (мысалы шебері ретінде) стандартты міндеттерді дамуын жеңілдету, Жобаны басқару және операциялық көмек және стандартты дайындамалар кіреді. Бағдарламаны түзеткеннен кейін, басқару мысалын қолданып, бағдарлама шешімінің дұрыстығын тексеріңіз, яғни. тестілеу. Нәтижелерді әрі қарай талдау.
3. Процедураға бағытталған тілдер және объектілерге бағытталған программалау туралы түсініктер.
Қолданыстағы бағдарламалау тілдері төрт негізгі топқа бөлінеді: процедуралық, объективті, функционалды және логикалық. Әрбір көзқарастың қысқаша анықтамасын берейік.
Процедуралық бағдарламалау - бұл бағдарлама деректерден бөлінгенде және деректерді өңдейтін нұсқаулардың дәйектілігінен тұрады. Деректер, әдетте, айнымалылар түрінде сақталады. Есептеудің бүкіл процесі олардың мазмұнын өзгертуге дейін азаяды.
Declarative programming languages - декларациялар мен құрылымдардың тілдері. Олар функционалдық және логикалық бағдарламалау тілдерін қамтиды. Бұл тілдерде алгоритмдік әрекеттер анық орындалмайды, яғни алгоритм бағдарламашы тарапынан орнатылмайды, бірақ ол бағдарламаның өзі арқылы жасалады. Декларативтік тілдер көрсетілген, кейбір құрылым немесе жүйе құрылады, яғни объектінің кейбір қасиеттері жарияланады (жарияланады). Бұл тілдер ААЖ жүйелерінде, CAD пакеттері деп аталатын, моделдеуде, жасанды интеллект жүйесінде кеңінен қолданылды.
Объектілі-бағдарланған бағдарламалау - бұл тілдерде айнымалылар мен функциялар сыныптар деп аталады (үлгілер). Осының арқасында бағдарламаны құрылымдаудың жоғары деңгейіне қол жеткізілді. Кластерден құрылған нысандар бір-бірінің әдістерін (функциялары немесе процедуралары) шақырады және осылайша қасиеттердің күйін өзгертеді. Ресми математикалық тұрғыдан объектілерге бағдарланған бағдарламаларды жазу тәсілі процедуралық бағдарламалау үлгісіне негізделеді, бірақ OOP-тың мазмұндық жағында функцияға емес, сонымен қатар нысан бойынша стандартты автоматты интервьюктік интерфейсі бар интегралдық жүйе ретінде қолданылады.
Процедуралық-бағдарланған бағдарламалау тілі - міндеттерді шешуге мүмкіндік беретін әрекеттердің сипаттамасына (реттілігіне) негізделген жоғары деңгейлі бағдарламалау тілі. Әдетте процедуралық бағытталған тілдер бағдарламаларды рәсімдер жиынтығы немесе кіші бағдарламалар ретінде анықтайды.
Объектілі-бағытталған бағдарламалау (ООП) - бұл бағдарламалардың әрқайсысы белгілі бір сыныптың данасы болып табылатын объектілер жинағы түрінде бағдарламаны ұсынуға негізделген бағдарламалау әдістемесі және мұра иерархиясын қалыптастыратын сыныптар
OOP процедуралық бағдарламалау идеологиясын дамыту нәтижесінде пайда болды, онда деректерді өңдеу және кіші процедуралар (рәсімдер, функциялар) формальды түрде байланысты емес.
OOP негізгі ерекшеліктері:
Біріншіден, инкапсуляция - олардың мазмұнын бірыңғай түрге біріктіретін және оған қатысты кейбір операцияларды немесе әдістерді іске асыратын сыныптар-қолданушы анықтайтын деректер түрлерін анықтау. Сыныптар әдетте OOP тілдеріндегі деректерді модульдік, инкапсуляциялау және абстракциялау үшін негіз болып табылады.
2. Екінші негізгі элемент - мұра, жаңа түрді қолданыстағы түрдің элементтерін (сипаттары мен әдістерін) иеленетін, оларды өзгертетін немесе кеңейтетін кезде анықтауға мүмкіндік береді. Бұл мамандандыру мен жалпылама білдіруге ықпал етеді.
3. Полиморфизм деп аталатын үшінші функция түрлі кластардың объектілеріне бірдей сілтеме жасауға мүмкіндік береді (әдетте иерархия ішінде). Бұл сабақтарды одан да ыңғайлы етеді және оларға негізделген бағдарламаларды кеңейтуге және қолдауға көмектеседі.
Бақылау сұрақтары
1. Төмендегі ұғымдарға анықтама беріңіз: бағдарламалау, бағдарламалық қамтамасыз ету, бағдарламалық қамтамасыз ету. Компьютердің бағдарламалық жасақтамасын тізімдеңіз.
2. Қолданбалы және жүйелік бағдарламаларға анықтамалар беріп, аспаптық программалық жүйелерге беріледі. Мысалдар келтіріңіз.
3. Интеграцияланған бағдарламалау жүйелерінің не екенін түсіндіріңіз. Бағдарламалау тілдері мен бағдарламалау орталарын түсіндіріңіз.
4. Аудармашы дегеніміз не? Аудармашылардың қандай түрлері бар? Оларды сипаттаңыз.
5. Объектілі-бағытталған бағдарламалау тұжырымдамасын сипаттаңыз. OOP негізгі ерекшеліктерін сипаттаңыз.
Дәріс 2. Есептерді алгоритмдеудің негіздері
Алгоритмнің анықтамасы.
Алгоритм қасиеттері.
Алгоритмдерді сипаттау тәсілдері.
Алгоритмдердің негізгі құрылымдары.
1. Алгоритмнің анықтамасы.
Алгоритм - айнымалы бастапқы деректерден қажетті нәтижеге әкелетін есептеу процесін анықтайтын нақты рецепт.
алгоритм бірегей қалаған нәтижеге көзін және аралық деректерді өңдеу анықтау қадамдар немесе операциялардың ақырғы ретін қамтуға тиіс.
Алгоритм - мәселені шешу нәтижесінде бастапқы және аралық деректерді түрлендіру процесін анықтайтын ақырғы тізбегі талаптар (ережелер).
Алгоритм - іс-шаралар (жоспар) бірізділігі сипаттамасы, қатаң жүзеге асыру қадамдар соңғы саны проблемасын шешу әкеледі.
Алгоритм - алдын ала белгіленген нақты және дәл рецепті ықтимал қылмыскер қадамдар соңғы саны мәселені шешу үшін бірнеше қадамдар жасаған.
Алгоритмдердің пайда болуы математиканың тууымен байланысты. 1000-нан астам жыл бұрын Хорезм Абдулла (немесе Абу Джафар) түскен ғалым, (825) Мұхаммед бин Муса аль-Хорезми, ол көп мәнді сандарды арифметикалық операцияларды орындау қалай сипатталған, онда математика туралы кітап авторы. Бұл математик кітабының латын тіліне аударылғаннан кейін Еуропада сөз алгоритмі пайда болды.
2. Алгоритм қасиеттері.
Алгоритмнің негізгі қасиеттері:
1. Дискреция (алгоритм белгілі бір тәртіптегі нақты әрекеттерден тұруы керек);
анықтау 2. (әр жағдайда кез-келген іс-қимыл қатаң және мағыналы анықталған болуы тиіс, арқасында алгоритм процесінің осы меншігіне берілген бастапқы деректерге біржақты нәтиже protsecca есептеу алу ешқандай қосымша нұсқауларды не ақпарат peshaemoy мәселені tpebuet табиғатта механикалық емес, тартады ..);
3. Pezultativnost немесе аяқ қадамдар немесе алгоритм ақырғы санынан кейін проблеманы шешуге әкелуі тиіс, немесе, өйткені тиісті хабарлар бар ерітінді алу мүмкін еместігі тоқтату болып табылады;
4. Бұқаралық ақпарат (Бұл сипат алгоритм сол алгоритм түрлі кіріс деректермен пайдалануға болады Осы түрдегі барлық проблемаларды шешу үшін қолайлы болуы тиіс дегенді білдіреді.);
5. Орындаушы үшін айқындық - алгоритмді орындаушы оны қалай орындау керектігін түсінуі керек. Басқаша айтқанда, еркін алгоритмі және бастапқы деректер нұсқасын бар, суретші осы алгоритм орындауға әрекет білуі керек.
3. Алгоритмдерді сипаттау тәсілдері.
Алгоритмдерді сипаттаудың келесі әдістері бар:
:: ауызша сипаттама (табиғи тілде жазу);
:: графикалық сипаттамасы;
:: Бағдарлама сипаттамасы (бағдарламалардың мәтіндері алгоритмдік тілде).
Алгоритмдерді жобалау ережелері.
Келесі негізгі графикалық кескіндер блоктық диаграмма түрінде алгоритмді құрастыру үшін пайдаланылады.
4. Алгоритмдердің негізгі құрылымдары
Алгоритмдер жеке негізгі (яғни негізгі) элементтерден тұратын кейбір құрылымдар ретінде ұсынылуы мүмкін. Кез-келген алгоритмнің логикалық құрылымы үш негізгі құрылымдардың комбинациясымен ұсынылуы мүмкін:
* келесі,
* тармақталған,
* қайталау немесе цикл.
4.1. Негізгі құрылым - келесі. Ол бір-бірінің артындағы әрекеттер тізбегі арқылы қалыптасады. Бұл құрылымның тән ерекшелігі - бір кірістің және бір шығудың болуы.
4.2. Негізгі құрылым тармақталған. Шартты тексерудің нәтижесіне байланысты алгоритмді жұмыс істеудің альтернативті тәсілдерінің бірін таңдауды қамтамасыз етеді. Әрбір жол жалпы шығуына әкеледі, сондықтан алгоритм қай жолдың таңдалғанына қарамастан жұмысын жалғастырады. Филиал құрылымы төрт негізгі нұсқада болады:
* Егер-Онда;
* Егер-Онда-Әйтпесе;
* Таңдау;
* Таңдау - Әйтпесе.
алгоритмический язык
Язык блок-схем
1. если -- то
если условие
то действия
все
2. если -- то -- иначе
если условие
то действия 1
иначе действия 2
все
3. выбор
выбор
при условие 1: действия 1
при условие 2: действия 2
. . . . . . . . . . . .
при условие N: действия N
все
4. выбор -- иначе
выбор
при условие 1: действия 1
при условие 2: действия 2
. . . . . . . . . . . .
при условие N: действия N
иначе действия N+1
все
Примеры структуры ветвление
алгоритмический язык
Язык блок-схем
если x 0
то y := sin(x)
все
если a b
то a := 2*a; b := 1
иначе b := 2*b
все
выбор
при n = 1: y := sin(x)
при n = 2: y := cos(x)
при n = 3: y := 0
все
выбор
при a 5: i := i+1
при a = 0: j := j+1
иначе i := 10; j:=0
все
4.3.Циклдің негізгі құрылымы. Циклдің денесі деп аталатын әрекеттердің кейбір жиынын бірнеше орындауды қамтамасыз етеді. Циклдердің негізгі түрлері кестеде келтірілген:
алгоритмический язык
Язык блок-схем
Цикл типа пока. Предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока.
нц пока условие
тело цикла
(последовательность действий)
кц
Цикл типа для. Предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне.
нц для i от i1 до i2
тело цикла
(последовательность действий)
кц
Примеры структуры цикл
алгоритмический язык
Язык блок-схем
нц пока i = 5
S := S+A[i]
i := i+1
кц
нц для i от 1 до 5
X[i] := i*i*i
Y[i] := X[i]2
кц
Бақылау сұрақтары
1. Алгоритм дегеніміз не? Алгоритмдердің қасиеттерін сипаттаңыз және сипаттаңыз.
2. Алгоритм дегеніміз не? Алгоритмдерді сипаттау әдістерін сипаттау және сипаттау.
3. Блок-схеманың графикалық бейнелерін сипаттаңыз және сипаттаңыз.
4. Алгоритм түсінігі. Әртүрлі алгоритмдердің мысалдарын келтіріңіз.
5. Сипаттаңыз және тармақталған құрылымдық алгоритмдердің мысалын келтіріңіз.
6. If-To және If-To-Otherwise түріндегі тармақталған құрылымның алгоритмдерінің ерекшеліктері қандай? Алгоритмдердің мысалдарын келтіріңіз.
7. Таңдау түрінің тармақталған құрылымының алгоритмдерінің ерекшеліктері қандай? Алгоритмдердің мысалдарын келтіріңіз.
8. Циклдық құрылымның сипаттамасын келтіріп, алгоритмдер келтіріңіз.
9. For және Bye түріндегі циклдық құрылымның алгоритмдерінің ерекшеліктері қандай? Алгоритмдердің мысалдарын келтіріңіз.
Дәріс3. Тілдің негіздері, мәліметтер түрлері және өңдеу ортасы
Python тілі тарихы
Программа құрылымы
Комментарийлер
Айнымалылар
Python - кең ауқымды тапсырмаларды шешуге арналған интерпретацияланған, объектілі-бағдарланған жоғары деңгейлі бағдарламалау тілі. Сонымен бірге, сандық және мәтіндік ақпаратты өңдей аласыз, суреттерді жасайсыз, дерекқорлармен жұмыс істей аласыз, веб-сайттарды және графикалық интерфейспен қосымшаларды дамытасыз. Python - кросс-платформа тілі, ол барлық операциялық жүйелерде жұмыс істейтін бағдарламаларды жасауға мүмкіндік береді.
1. Python тілі тарихы
Python-ті құруды Гуидо ван Россум 1991 жылы бастады, ол Ameba-ның бөлінген OS-да жұмыс істеді. Ол жүйелік қоңырауларды қолдайтын кеңейтілген тілге мұқтаж болды. Негізді ABC және Modula-3 жасалды. Титул ретінде ол Python-ты BBC-ның комедиялық Monty Python's Flying Circus (Monty Python's Flying Circus) сериясын таңдады және жыланның атымен емес. Содан бері, Python Guido компаниясының жұмыс істеген ұйымдарының қолдауымен әзірленген. Әсіресе, қазіргі уақытта белсенді тіл белсенді түрде дамып келеді, оны тек қана авторлар тобы ғана емес, әлемнің әртүрлі бағдарламашыларының бірлестігі де жасайды. Дегенмен Гидо ван Россум үшін тіл дамуының бағыттары туралы соңғы сөз қалады.
2. Программа құрылымы
Python бағдарламасы бір немесе бірнеше модульден тұруы мүмкін. Әрбір модуль 7 биттік ASCII кодтауымен үйлесімді кодтауда кеңейту py (консольдық бағдарлама) немесе pyw (графикалық интерфейсі бар бағдарлама) бар мәтіндік файл болып табылады. Ең маңызды битты пайдаланатын кодтау үшін, кодтау атауын анық көрсетуіңіз керек.
Бұл файлдағы барлық нұсқаулар сызық бойынша орындалады. Яғни Python бағдарламасында аудармашы тұрғысынан логикалық жолдар тұрады. Бір логикалық желісі әдетте физикалық бірінде орналасқан, бірақ ұзақ желісі логикалық бірнеше физикалық ішіне сплит (Жақша ішіндегі) анық (а кері қиғаш сызық) немесе жанама болуы мүмкін:
print a, - өте ұзын жол, ол сәйкес келмейді,
80, танысу
Ескерту:
барлық мысалдарда, негізінен сайтында http:python.org табуға болады құжатта Python Style Guide, сәйкес, Python Кодекстің ресми стилі қолданылады
Python бағдарламасы қарапайым мәтіндік файл болғандықтан, оны кез-келген мәтін өңдеушісімен өңдей аласыз - мысалы, Notepad ++. Алайда, бұл код жарқырататын, сонымен қатар әр түрлі сұрауларды алуға ғана емес, мамандандырылған өңдегішін пайдалану үшін жақсы болып табылады және Сіз бағдарламасын тіруге мүмкіндік береді. сондықтан көптеген редакторлар :. т.б. кешенді PyDev, Netbeans, бар PyScripter, PythonWin, UliPad, Eclipse бар - редакторлар тізімі http:wiki.python.orgmoin PythonEditors бетінде табуға болады. Болашақта, егер басқаша көрсетілмесе, Windows-дағы стандартты Python кітапханасының бөлігі болып табылатын интерактивті аудармашы IDLE-ды қолданамыз.
Python бағдарламасы - нұсқаулықтары бар қарапайым мәтіндік файл. Әр нұсқаулық бөлек жолға орналастырылады. Егер мәлімдеме салынбаған болса, ол жолдың басында бастау керек, әйтпесе қате туралы хабар көрсетіледі (1-сурет). Бұл жағдайда, импорттау мәлімдемесіне дейін қосымша бос орын бар, ол қате туралы хабарды шығаруға әкелді.
Сур.1. Қате туралы хабарлама
Файлдың бірінші жолында кодтауды көрсету қажет. Егер кодтау көрсетілмесе, файл UTF-8 кодтауында сақталған деп есептеледі. Windows-1251-ні кодтау үшін жол келесідей болады:
# - * - кодтау: cp1251 - * -
IDLE редакторы көрсетілген кодтауды ескереді және файлды сақтағанда автоматты түрде қайта жазылады.
Көптеген бағдарламалау тілдерінде (мысалы, PHP, Perl және т.б.), әрбір мәлімдеме нүктелі үтірмен аяқталуы керек. Python-те сіз өтініштің соңында нүктелі үтірді қоюға болады, бірақ бұл қажет емес. Нұсқаудың соңы - сызықтың соңы. Дегенмен, егер сіз бір жолда бірнеше нұсқауларды орналастыру керек болса, нүктелі үтірді көрсетуіңіз керек:
х = 5; у = 10; z = х + у # Три инструкции на одной строке
print (z)
15
Python тілінің тағы бір айрықша ерекшелігі блоктың ішіндегі нұсқауларды бөлу үшін шектеу белгілерінің болмауы.
1 = 1
while i 11:
print (i)
i += 1
print ("Конец программы")
Блоктың ішіндегі барлық нұсқаулардың алдында бос орындардың бірдей саны бар екенін ескеріңіз. Python блоктарды осылай бөледі. кеңістіктердің тең санына алдында нұсқаулары блок дене болып табылады. соңы блок аз бос алдында орналасқан бағыттауыш болып табылады. желісі Бағдарлама соңы басып шығарады Біздің жағдайда, бұл функция басып шығару (). блогындағы кеңістіктер саны әр түрлі болады, онда аудармашы жөнделмес қате туралы хабарды көрсетеді, және бағдарлама тоқтатылады.
----------------------------------- ----------------------------------- ----------
Ескерту:
----------------------------------- ----------------------------------- ----------
Python бағдарламасында блоктағы нұсқауларды бөлектеу үшін төрт бос орынды қолдануға болады.
Егер блок бір нұсқадан тұрса, оны негізгі нұсқаулықпен бір жолға қоюға болады. Мысалы, код:
for i in range (1, 11):
print(i)
print ("Конец программы")
былай жасса болады:
for i in range (1, 11) : print (i)
print ("Конец программы")
Егер нұсқау тым ұзын болса, оны келесі жолға жылжытуға болады, мысалы:
* жолдың соңында \ таңбасын қойыңыз. Бұл кейіпкерден кейін, жаңа сызық таңбасын сақтау керек. Басқа рәміздер (түсініктемелерді қосқанда) рұқсат етілмейді. Мысал:
х = 15 + 20 \
+ 30
print (х)
* өрнекті жақшаға салыңыз. Бұл әдіс жақсырақ, себебі кез келген өрнекті жақша ішінде орналастыруға болады. Мысал:
х = (15 + 20 # Это комментарий
+ 30)
print (х)
* Тізімнің анықтамасы мен сөздік бірнеше жолға қойылуы мүмкін; тік жақшалар мен жақшалар пайдаланылады. Тізім анықтамасының мысалы:
arr = [15, 20, # Это комментарий
30]
print (arr)
Сөздікті анықтау мысалы:
arr = {"x": 15, "у": 20, # Это комментарий
"z": 30}
print (arr)
4.Комментарийлер
Түсіндірмелер бағдарламаның мәтінінде түсіндірмелерді енгізуге арналған, аудармашы оларды толық елемейді. Түсініктеме ішінде, орындалуы керек нұсқауларды қоса, кез келген мәтінді орналастырмау керек.
Python-да бір жолды түсініктеме бар. # Белгісімен басталады:
# Это комментарий
Python тілінде көп жолды түсініктеме жоқ болғандықтан, жиі түсіндірілген фрагмент үш еселенген тырнақшаға (немесе үш еселенген ауытқулар) орналастырылады:
"""
Эта инструкция выполнена не будет
print ("Привет, мир!")
"""
Айта кету керек, бұл код фрагменті аудармашы тарапынан елемейді, себебі бұл түсініктеме емес. Фрагменттің орындалуы нәтижесінде жол түрінің нысаны құрылады. Дегенмен, үш еселенген баға белгілерінің ішіндегі нұсқаулар орындалмайды, себебі аудармашы олардың мәтінін табады. Мұндай сызықтар - түсініктемелер емес, құжаттаманың сызығы.
5. Айнымалылар
Python-дағы барлық деректер нысандармен ұсынылған. Әрбір нысанның деректер түрі және мәні бар. Айнымалылар нысанға кіру үшін пайдаланылады. Инициализацияланған кезде, объектке сілтеме (компьютердің жадындағы нысанның мекенжайы) айнымалыға сақталады. Осы сілтеменің арқасында кейінірек бағдарламаны нысаннан өзгертуге болады.
Әр айнымның бірегей атауы болуы керек - латын әріптерінен, сандардан және астыңғы сызықтардан тұратын идентификатор, онда айнымалы атау сандықтан басталмайды. Сонымен қатар, атаудың басында төменгі сызықша сипаттан аулақ болу керек, өйткені мұндай символы бар идентификаторларға арнайы мақсат тағайындалады. Мысалы, астыңғы сызықпен басталатын атаулар модульден импорттау * мәлімдемесінің көмегімен модульден импортталмайды және аудармашы үшін басында және соңында екі астын сызып көрсететін атаулар бар.
Айнымалы сөздер ретінде кілт сөздерді пайдалана алмайсыз. Кілт сөздердің тізімін 2-суретте көрсетілген кодқа рұқсат етіңіз.
Сур.2. Барлық кілт сөздердің тізімі
Кілтсөздерден басқа, енгізілген идентификаторлармен бір-біріне қайталанбау керек.
IDLE редакторында енгізілген идентификаторлар күлгін түсте болады. Айнымалылардың түсіне назар аударыңыз - қара болуы керек. Айнымалы мәннің бөлінгенін байқасаңыз, айнымалы мәнді өзгерту керек. Кірістірілген идентификаторлардың толық тізімін алу үшін 3-суретте көрсетілген кодқа рұқсат беріледі.
Сур.3. Кірістірілген идентификаторлардың тізімін алу
Айнымалылардың дұрыс атаулары: x, y1, strName, str_name.
Жарамсыз айнымалы атаулар: 1y, айнымалы атауы.
Айнымалы атауды көрсете отырып, әріптердің жағдайын қарастырған жөн: x және X әртүрлі айнымалылар (4-сурет):
Сур.4. Python - регистрді ескеретін тіл
6. Ауыспалы мәнге тағайындау
Python динамикалық теруді пайдаланады. Бұл мән айнымалы мәнге тағайындалғанда, аудармашы автоматты түрде айнымалы деректер түрлерінің біріне тағайындайды. Айнымалының мәні = операторы арқылы тағайындалады:
Бір жолда бірнеше айнымалы мәнді бірден тағайындауға болады:
Айнымалы мәнге тағайындалғаннан кейін, нысанға сілтеме сақталады, ол нысанның өзі емес. Бұл топты тағайындау кезінде ескерілуі керек. Топты тағайындау сандарға, жолдарға және жолақтарға пайдаланылуы мүмкін, бірақ бұл өзгермейтін нысандар үшін жасалмайды. Мысал:
Бұл мысалда біз екі элементтің тізімін жасадық және x және y айнымалыларына мән бердік. Енді айнымалы мәндегі мәнді өзгертейік:
Мысалдан көріп отырғандай, айнымалы мәндегі мәнді өзгерту y айнымалы мәндегі мәнді өзгертеді. Осылайша, екі айнымалылар екі түрлі объектілерге қарағанда, бірдей нысанға сілтеме жасайды. Екі нысан алу үшін жеке тапсырманы орындау керек:
Екі айнымалы бірдей нысанға сілтеме жасайтынын тексеру үшін, бекіту болып табылады. Айнымалылар бірдей объектке сілтеме жасаса, оператор оператор True мәнін қайтарады:
Кодекстің тиімділігін арттыру үшін аудармашы кішігірім бүтін сандарды және шағын жолдарды кэштейді. Бұл айнымалыға айнымалы 2-ге берілген болса, сол айнымалы сілтемеде сақталатын болады. Мысал:
Sys: getrefcount () әдісінен нысан сілтемелерінің санын қараңыз:
Нысанға сілтемелер саны нөлге тең болғанда, нысан негізгі жадтан автоматты түрде жойылады. Ерекшелік - бұл кэшталған объектілер.
Позициялық меншіктеу
Топтық тағайындаудан басқа, Python позициялық тағайындауды қолдайды. Бұл жағдайда айнымалы мәндер үтір арқылы = оператордың сол жағында көрсетіледі және мәндер үтірлермен оңға бөлінеді. Позициялық тағайындаудың мысалы:
Позиционалды тағайындаумен, айнымалылардың мәндерін орындарда өзгертуге болады. Мысал:
Оператордың кез келген жағында = sequences көрсетілуі мүмкін. Естеріңізге сала кетейік, тізбектерге тізімдер, тізімдер, жолақтар, ауқымдар, байттар және байтақылар түрлері кіреді. Мысал:
= Оператордың оң және сол жағындағы элементтердің саны сәйкес келуі керек екенін ескеріңіз, әйтпесе қате туралы хабар көрсетіледі:
Python 3, егер оператордың оң және сол жағындағы элементтер саны сәйкес болмаса = айнымалы мәнде қажет емес элементтердің тізімін сақтауға мүмкіндік береді. Мұны істеу үшін айнымалы атаудан бұрын жұлдызшаны (*) пайдалану керек. Мысал:
Бұл мысалдан көріп отырғандай, айнымалы жұлдызшамен әрдайым тізім бар болғанша. Айнымалы мәндер жеткіліксіз болса, бос тізім берілді. Жұлдызша бір айнымалы мәннен бұрын ғана көрсетілуі мүмкін екендігін есте сақтаңыз. Әйтпесе, белгісіздік пайда болады және аудармашы қате туралы хабарды көрсетеді:
Тәжірибелік жұмыс
1. Var_int айнымалы мәнін 10, var_float - 8.4, var_str дейін Жоқ деп орнатыңыз.
2. var_int айнымалысында сақталған мәнді өзгертіп, оны 3,5 есе көбейтіңіз, нәтижені big_int айнымалы мәніне қосыңыз.
3. var_float ішінде сақталған мәнді біреуін азайту арқылы өзгертіңіз, нәтижені бір айнымалымен байланыстырыңыз.
4. var_int параметрін var_float, содан кейін var_float үшін big_int деп бөліңіз. Осы өрнектердің нәтижесін кез-келген айнымалыға байланыстырмаңыз.
5. var_str айнымалы мәнін NoNoYesYesYes деп өзгертіңіз. Жаңа мән жасаған кезде, біріктіру әрекеттерін (+) және жолды қайталауды (*) пайдаланыңыз.
6. Барлық айнымалылардың мәндерін басып шығарыңыз.
Тәжірибелік жұмыс нәтижесі
----------------------------------- ----------------------------------- ----------
var_int = 10
----------------------------------- ----------------------------------- ----------
var_float = 8.4
----------------------------------- ----------------------------------- ----------
var_str = "No"
----------------------------------- ----------------------------------- ----------
big_int = var_int * 3.5
----------------------------------- ----------------------------------- ----------
var_float = var_float -- 1
----------------------------------- ----------------------------------- ----------
var_int var_float
----------------------------------- ----------------------------------- ----------
1.3513513513513513
----------------------------------- ----------------------------------- ----------
big_int var_float
----------------------------------- ----------------------------------- ----------
4.72972972972973
----------------------------------- ----------------------------------- ----------
var_str = var_str * 2 + "Yes" * 3
----------------------------------- ----------------------------------- ----------
var_int
----------------------------------- ----------------------------------- ----------
10
----------------------------------- ----------------------------------- ----------
var_float
----------------------------------- ----------------------------------- ----------
7.4
----------------------------------- ----------------------------------- ----------
big_int
----------------------------------- ----------------------------------- ----------
35.0
----------------------------------- ----------------------------------- ----------
var_str
----------------------------------- ----------------------------------- ----------
'NoNoYesYesYes'
Бақылау сұрақтары
1. Python бағдарламалау тілінің қысқаша сипаттамасын беріңіз.
2. Python тілінің тарихын қысқаша сипаттаңыз.
3. Python бағдарламасының ерекшелігі қандай?
4. Құрылғының ішіндегі нұсқаулар қалай ерекшеленеді? Блоктың бөлігі қандай? Нұсқаудың аяқталуының белгісі деген не?
5. Тым ұзын нұсқауларды бөлудің қандай жолдары бар? Нұсқаудың аяқталуының белгісі деген не?
6. Түсініктеме дегеніміз не? Бір жолды және көп жолды пікірлер қалай жазылған.
7. Идентификатор дегеніміз не? Идентификаторларды құрастыру ережелерін келтіріңіз. Дұрыс және қате айнымалы атаулардың мысалдарын келтіріңіз.
8. Тапсырманың мақсаты қандай?
9. Айнымалы атау үшін ережелер мен нұсқаулықтар қандай?
Дәріс4
Мәліметтер түрлері
Мәліметтер түрлерін классификация жасау
Мәліметтер түрлері
Python 3-те нысандарда келесі деректер түрлері болуы мүмкін:
* bool - логикалық деректер түрі. Шын мәнін немесе жалған мәндерін қамтуы мүмкін, олар сәйкесінше 1 және 0 сандары сияқты әрекет етеді:
* NoneType - Жоқ мәнімен нысан (ешқандай мән көрсетілмейді):
В логическом контексте значение None интерпретируется как False:
* int - целые числа. Размер числа ограничен лишь объемом оперативной памяти:
* float - вещественные числа:
* complex - комплексные числа:
* str - Unicode-строки:
* bytes - неизменяемая последовательность байтов:
* bytearray - изменяемая последовательность байтов:
* list - списки. Тип данных list аналогичен массивам в других языках программирования:
* tuple - кортежи:
* range - диапазоны:
* diet - словари. Тип данных diet аналогичен ассоциативным массивам в других языках программирования:
* set - множества (коллекции уникальных объектов):
* frozenset - неизменяемые множества:
* ellipsis - обозначается в виде трех точек или слова Ellipsis. Тип ellipsis используется в расширенном синтаксисе получения среза:
* function - функции:
* module - модули:
* type - классы и типы данных. Все данные в языке Python являются объектами, даже сами типы данных!
Мәліметтер түрлерін классификация жасау
Деректердің негізгі түрлері айнымалы және өзгермелі болып бөлінеді. Өзгертуге болатын түрлері:
:: тізімдер,
:: сөздіктер және
:: борттық түрі.
Тізім элементін өзгертудің мысалы:
Өзгеріссіз түрлері мыналарды қамтиды:
:: сандар,
:: сызықтар,
:: кілттер,
Және ауқымдары
:: байттарды теріңіз.
Мысалы, жолды басқа екі жолдан алу үшін, біріктіру әрекетін пайдалану керек және айнымалыға жаңа нысанға сілтеме тағайындаңыз:
Сонымен қатар, деректер түрлері тізбектер мен карталарға бөлінеді. Бірізділікке мыналар жатады:
:: сызықтар,
:: тізімдер,
:: кілттер,
:: диапазондар,
:: байттар мен борттық түрлер,
және картаға сөздіктер.
Кездейсоқтар мен дисплейлер барлық элементтерді __next __ () немесе келесі () функциясын қолданып, итераторлардың механизмін қолдайды. Мысалы, келесідей тізім элементтерін тізімдей аласыз:
Егер сөздік пайдаланылса, онда әрбір иерархияда кілт қайтарылады:
Іс жүзінде бұл әдіс пайдаланылмайды. Оның орнына, біз үшін итератордың механизмін пайдаланатын цикл үшін пайдаланылады. Мысалы, келесідей тізім элементтерін тізімдей аласыз:
Сондай-ақ, сөзді бірдей жаза аласыз. Мысалы, әрбір әріптен кейін сызықшаны енгізіңіз:
Сөздік элементтері іздеудің мысалы:
Дискілер сонымен қатар элементке индексі бойынша қатынауды қолдайды, қиманы, біріктіруді (операторды +), қайталауды (операторды *) және оқиғаларды тексеруді (операторда) тексереді. Осы операциялардың бәрі тіл үйрену барысында егжей-тегжейлі қарастырылатын болады.
Бақылау сұрақтары
1. Сіз қандай деректерді білесіз? Оларды сипаттаңыз.
2. бөлшек сандарды бүтін санға түрлендіру мүмкін бе? бөлшек сан бойынша бүтін ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz