Алгоритм және оның қасиеттері
Егер сіз берілген есепті шешу үшін
Алгоритм деп берілген есепті шешудегі жасалатын
1. Алгоритм дискретті информациялармен жасалатын әрекеттерді
2. Алгоритм біздің қалауымызға қарай өзгертуге
3. Бір алгоритмнің өзін бірнеше
Алгоритмнің мұндай қасиетін көпшілікке бірдейлік,
4. Әрбір алгоритм белгілі бір бастапқы
Осы айтылғандардан алгоритім бастапқы деректерді пайдаланып
Алгоритмнің ең маңызды қасиеті жоғарыда анықталғандық
Сонымен алгоритм туралы мына төмендегідей тұжырымдар
алгоритмдер әртүрлі есептерді шешу үшін пайдаланылады;
алгоритмді атқарушыдан аз білім талап етілетіндіктен
әрбір алгоритм толық аяқталған әрекеттерді орындайтын
атқарушы орындайтын командалардың жиынын атқарушының командалар
алгоритмдегі командалар атқарушының командалар жүйесінен алынады;
алгоритмдегі командалар тізбегінің орындалуы алгоритмдік процесс
алгоритмдегі әрбір команда оның қадамы
санаулы әрекеттен кейін ғана алгоритмде іздеген
алгоритмдегі әрбір әрекет атқарушыға түсінікті және
бірнеше есептің шешімін табу үшін бір
құрылған алгоритмді атқару есептің мазмұнына ой
алгоритм әрбір атқарушыға арналып құрылады;
алгоритмнің командалары атқарушыға түсінікті және орындалатын
алгоритмді атқаруды тек адамға емес компьютерге
Алгоритмнің құрамы дараланып және оның әрекеттері
Алгоритмдік тілді падалану оны құрушының өзіне
Алгоритмді жазудың бірнеше тәсілдері бар.Төменде алгоритмді
Алгоритмді бейнелеу әдістерінің ішінен біз блок
Блок-схема
Блок схема компьютерге программалар жасау практикасында
Блок деп аталатын мұндай фигуралардың ішіне
Төмендегі 1-кестеде стандартты блок – схема
Басы, соңы блоктарынан басқа әрбір блоктың
Атқаратын қызметі жағынан блоктар негізгі және
Блоктардың анықтайтын әрекеттері, яғни түсініктер блокты
Деректерді енгізу блогы есептеу есептерін шешуде
Деректерді өңдеу блогы қандай да бір
Бұл блокта формуланың сол жағында тұрған
Шартты тексеру блогы есептелу процесінің барысы
Аталуы
Жұмыр
Деректерді енгізу немесе
Параллеограм
Тіктөртбұрыш
кез келген әрекет.
Жоғары жағы
жиектелген
тіктөртбұрыш
Екі шеті
жиектелген
тіктөртбұрыш
Магниттік диск
ендіру және одан оқу
Ия
Шартты тармақталу
Ромб
Жұмыр
Түйін
біріктіру.
Байланыссыз
екі сызықтың
қиылысуы
Блоктарды қосатын
Сызықтар ағыны
бағыттары
Сызықтар
ағынының бағытын
өзгерту
Түсініктеме
блоктарын түсіндіру.
Сызықтық алгоритм
Егер алгоритмнің N қадамы болса және
Алгоритмнің басы
Мәліметтерді енгізу
Осы алгритмнің барлық N қадамы
дан төмен қарай тізбектеле орындалады.
Нәтижелерді шығару
Алгоритмнің соңы
Мысалы, табаны В, биіктігі Н үшбұрышьң
Тармақталушы алгоритм
Егер алгоритм қадамдарының тізбектеле орындалуы қандай
Алгоритм орындалғанда "иә" немесе " жоқ
Кез келген шарт мынадай үш бөлімнен
сол жақ бөлігі;
салыстыру таңбасы;
оң жақ бөлігі.
Мысалдар келтірейік: А > 0, Х
Мына төменде алгоритмнің тармақталушының бөлігінің жалпы
егер < шарт >
онда "иә" тармағы
әйтпесе " жоқ " тармағы
бітті
Мұнда егер, онда, әйтпесе, бітті
↓
иә
↓
Тармақталу командасы мына тшөмендегідей қысқаша түрде
егер < шарт >
онда
"иә" тармағы
бітті
↓
жоқ иә
↓
Шартты тексеру блогын сіздер блок –
Мысал үшін ах + вх +
↓
↓
↓
↓
иә жоқ
↓
↓
Қайталанушы алгоритм
Егер берілген шамаға тәуелді алгоритмнің белгілі
Кез келген қайталанушы алгогритмде ол аяқталу
Мына төменде циклдің басында параметр үшін
Әзір < шарт >
ЦБ
команадалар тізбегі
ЦС
Мұнда әзір, ЦБ (циклдің басы),
↓
↓
жоқ
↓
↓
Ал мына суретте циклдің соңында параметр
↓
↓
↓
↓
↓
жоқ
↓
↓
Осы соңғы циклге мысал келтірейік.
S = К
↓
↓
↓
↓
↓
↓
↓
Алгоритмдерді құрылымын негізге
ала отырып құрастыру
Компьютер есеп шығару үшін алгоритм құру
Түсінікті әрі өте жеңіл қабылданатын болуы;
Алгоритмнің жеңіл тексерлетін болуы;
Құрылымын түгел өзгерпей-ақ өзін модификациялауға мүмкіндік
Осы аталғандарға қол жеткізу үшін алгоритмдерді
Ілесу, тармақталу және қайталану негізге алынады,
Блок-схемадан көрініп тұрғанындай бұл алгоритм екі
Екінші ілесуде (тармақталу командасының қысқаша түрде
Программаларды жасақтау технологиясы
Программалауға кіріспе
Компьютер жұмыс істеу үшін оған керекті
Пргораммалаушы мамандығы дүние жүзіндегі ең бір
Программалау мамандығын таңдаған адам өмір бойы
Оқып шығып бірден программалаушы бола салатын
Прграммалаушының дайындығы негізгі ұғымдарды оқып үйренуден
Компьютер командаларға бағынып жұмыс істейді. Біздер
Бірінші команданы ендірдік, компьютер оны қалай
Ал егер жиі қайталанатын командалар тізбегін
Прграмманы арнайы дайындықпен өткен адамдар жасайды.
программалау саймандары
программалар кітапханасы
Программалау саймандары
Программалау саймандары дегеніміз не?-деген сұраққа жауап
Ал станоктар мен жабдықтардың өздері қандай
Осылайша, сұрақты қоя берсек әрбір станоктың
Осы күнге дейін кейде трактор бұзылып
Енді программа жасаудың жоғарыда келтірілген мысалға
Программалаушы пайдаланатын сайманнның өзі прграмма болып
Процессордың түсінетін және орындайтын кодтарының жиынын
INTEL фирмасының үйлесімді процессорларының командалар жүйесінде
Программалау саймандары – бұл шын мәнінде
Программалар кітапханасы
Зауытта жұмысшы тракторды құрастырғанда оған қажетті
Программалаушы адам да программа құрғанда осы
Мұндай кітапханалар жылдан жылға сұранысқа ие,
Он бес жылдан астам уақыт бұрын
Қазіргі кезде стандартты, коммерциялық және фирмалық
Программаның көрінісі
Хат жазғанда да адамдар оларды әр
Программаларды да программалаушылар арнай тілдердің көмегімен
Жүздеген программалау тілдері және олардың әрқайсының
Бірақ барлық программалау тілдерінің бір ортақ
Бейсик тілі
Машина тілі
Схемадан көрініп тұрғанындай программаны қандай тілде
Аудару ағылшынша трансляция ( translation )
Сондықтан біздер қандай программалау тілі туралы
Есепті компьютерде шығаруға даярлау технологиясы
Есепті компьютерде шығарудың
негізгі кезеңдері
Есепті компьютерде шығару біраз бөлігі компьютерсіз
Есептің қойылуы:
есеп туралыақпараттарды жинау;
есептің шартын тұжырымдау;
есепті шығарудың ақтық мақсатын анықтау;
деректерді сипаттау ( олардың түрін, шамалардың
Есепті, моделдерді талдау және зерттеу:
есептің бар ұқсастарын талдау;
техникалық және программалық құралдарды талдау;
математикалық модельді жасақтау;
деректер құрлымын жасақтау.
Алгаритмді жасақтау:
алгоритмді жобалау тәсілдерін таңдау;
алгоритмді жазу пішінін ( блок-схема, мектептік
тестерді және тестілеу тәсілдерін таңдау;
алгоритмді жобалау.
Программалау:
программалау тілін таңдау;
деректерді ұйымдастыру тәсілдерін айқындау;
алгоритмді таңдалынып алынған программалау тілінде жазу.
5. Тестілеу және жөндеу:
синтаксистік жөндеу;
семантикалық және логикалық құрлымын жөндеу;
тестілік есептеулер және тестілеу нәтижелерін талдау;
программаны жетілдіру.
6. Есептің шешілу нәтижесін талдпу:
Қажет болатын болса 2-5 кезеңдерді қайтадан
Программаны даярлау:
нақтылы есепті шығару үшін программаны жетілдіру;
есепті шешуге, математикалық модельге, алгоритмге, программаға,
Математикалық модельдер
Зерттелетін объект немесе процесс олардың сандық
дененің геометриялық параметрлерін сипаттайтын формулалар;
физикалық процестерді сипаттайтын формулалар;
химиялық формулалар;
тауардың бағасын есептеп шығаруға арналған тұрмыстық
Математикалық модель деп- объектіні немесе процесті
Математикалық модельдерді жазуда әр түрлі ғылымдарда
Математикалық модельді жасақтау көптеген есептерді компьютерде
Математикалық модель адамның шығармашылық жұмысының өнімі
Математикалық модельдің мысалы ретінде дененің түзу
Vxt+
мұнда, х- ағымдағы координата, х0- бастапқы
Құбылысты сипаттау үшін оның ең маңызды
Метематикалық модельді ең ұтымды түрде есептеу
Әрине есептеу экспериментінің нәтижесі егер модельде
Сонымен, есепті шешу үшін метематикалық моделін
метематикалық модель құруда негізге алынатын болжамды
алғашқы деректер және нәтижелер деп неніесептеу
нәтижелерді алғашқы деректермен байланыстыратын метематикалық қатысты
Математикалық модельді құруда алғашқы деректер арқылы
Ғылыми есептерді шығарғанда мүмкіндігінше шындыққа жақын
Есепті компьютерде шығаруға даярлауды мынадай схемамен
Өмірде күрделі есептерді шығаруда үлкен ұжымдар
Есептің бірінші формальды түсінігін сол есеп
Ең соңында программалауды тағы бір мамандар
Программаны жасақтаудың негізгі кезеңдері
Программаны жасақтаудың процесін мынадай формуламен өрнектеуге
Программаны жасақтау→даярлау+тексеру және жөндеу.
Жаңадан ғана жасалған программа қателіктің болуы-бұл
Программаны компьютердің қабылдауына және оның нәтижесін
Программа мәтінін «қолмен» қарап шығу, тексеру
Программа мәтінін қарап шығу. Программа мәтінін
Программаны тексеру. Программалаушы программаны тексергенде оның
Тексеру кезінде программаның не істейтіндігін ұмыту
Программаны айналдыру. Айналдырудың мәні программаның компьютерде
Айналдыруды орындау үшін кейбір алғашқы деректерді
Айналдыру- бұл еңбекті көп талап ететін
Алғашқы деректерді программаны айналдыру кезінде программа-ның
Программаны жөндеу және тестілеу
Программаны жөндеу (debugging- жөндеу ағылшын сөзі
Тестілеу (test ағылшын сөзі сынау деген
Жөндеу және тестілеу бұлар бірінен бірі
жөндеу кезінде синтаксистік қателіктердің және кодтаудың
тестілеу процесі кезінде айқын қателіктері жоқ
Тестілеу қателіктің бар екендігін тағайындайды, ал
Қазіргі заманғы программалау жөндеу жұмысы
Жөндеу программасы әдетте мына төмендегідей мүмкіндіктер
әрбір командадан соң, тоқтай отырып, программаны
кез-келген айнымалының ағымдағы мәнәі қарау
программада «тексеру нұктелерін» орнату, яғни аралық
Программаны жөндеуде мыналарды есте сақтау маңызды;
жөндеу процесінің басында қарапайым тестілік деректерді
пайда болатын қиындықтарды айқын ажыратып және
қателіктің есебі компьютерде деп есептемеу керек.
Тест дегеніміз-алғашқы деректердің кейбір жиыны және
Программа қаншалықты өте мұқият жөнделсе де
Егер программа таңдалынып алынған тестілік деректер
Тестілеу тәсілін жүзеге асыру үшін тестердің
Эталондық нәтижелерді прогрмманың компьютерде орындалу нәтижесін
Тестілік деректер қателіктердің пайда болуының барлық
алгоритмнің әрбір тармағының сыннан өтуі;
кезектегі тестіден өткізу алдыңғы өткізудегі тексерілмегендердің
программаның жалпы жұмыс істейтіндігін тексеру үшін
есептеу көлемін қысқарту үшін тестідегі арифметикалық
тізбектер элементі санының, итерациялық есептеулер үшін
есептеулерді азайтудың тексеру сенімділігін төмендетпеуі;
тестілік деректер жиынын кездейсоқ таңдау күткен
тестілік деректерді күрделендіруде түсідің біртіндеп жүргізілуі.
Тестілеу процесінің кезеңдері
Тестілеу процесін үш кезеңге бөлуге болады.
1.Қалыпты жағдайда тексеру. Программалардың жұмыс істеуінің
2.Экстремальды жағдайда тексеру. Бұл жерде тестілік
Барлық программалар қандайда бір шектеулі алғашқы
Айнымалының теріс және нолдік мәндерін өңдеуге
Егер массив элементтері оны хабарлауда көрсетілген
Егер өңделіп жатқан сан өте кіші
Программа дұрыс емес деректерді дұрыс
Программа өзі дұрыс өңдей алмайтын кез
Программалауда кездесетін қателіктер
Компьютерде есеп шығарудың барлық кезеңдерінде, атап
Мысалы есенптің дұрыс қойылмауы, есепті шығару
Әдетте синтаксистік қателіктер трансляциялау кезінде байқалады.
Сондықтан компьютердің синткасистік қателіктер туралы хабарының
Синтаксистік қателіктердің мысалдары:
тыныс белгілерінің қалып кетуі;
жақшалардың сәйкес келмеуі;
оператордың дұрыс жазылмауы;
қызметші сөздің дұрыс жазылмауы;
айнымалы атының дұрыс жазылмауы;
цуиклдің аяқталу шартының жоқ болуы;
массив сипаттамасының жоқ болуы т.с.с.
Транслятор таба алмайтын қателіктер
Программада пайдаланылатын операторлар дұрыс жазылғанымен транслятор
Осындай қателіктердің мысалдарын келтірейік.
Логикалық қателіктер:
кейбір шартты тексергенмен кейін алгоритмнің қай
мүмкін болатын шарттарды толық есептемеу;
программада алгоритм блоктарын орындау үшін қажет
Циклдерде кездесетін қателіктер:
циклдің басын дұрыс көрсетпеу;
циклдің аяқталу шарттарын дұрыс көрсетпеу;
итерация санын дұрыс көрсетпеу;
шексіз цикл.
Ендіру-шығару қателіктері; деректермен жұмыс істеудегі қателіктер:
деректердің түрін дұрыс бермеу;
талап етілген аз немесе көп деректерді
деректерді дұрыс түзетпеу;
Айнымалыларды пайдалануда кететін қателіктер:
айнымалыларды олардың бастапқы мәндерін көрсетпей пайдалану;
бір айнымалыны басқа айнымалының орнына қате
Массивтермен жұмыс істеуде кететін қателіктер:
алдын ала нолге келтірілмеген массивтер;
дұрыс сипатталмаған массивтер;
индекстерінің берілу реттілігі дұрыс емес массивтер.
Арифметикалық операцияларды орындауда кететін қателіктер:
айнымалының түрінр дұрыс көрсетпеу (мысалы,
әрекеттер ретін дұрыс анықтамау;
нөлге бөлу;
теріс санның квадрат түбірін табу;
санның мәнді разрядын жоғалту.
Осы қателіктердің бәрін тестілеудің көмегімен табуға
Программалау жүйесі
Программалау жүйесі компьютердің программалық қамсыздандыруының құрамына
Программалау процесі үш кезеңге бөлінеді:
есепті шешудің алгоритмін құру;
программа құру;
жасалған программаны тексеру.
Екінші кезеңдегі, яғни программа қрудағы қиындық
Әрбір компьютер үшін жасалған программаның дұрыс
Барлық осы аталған қиыншылықтар программалар жасаудағы
қолмен программалауды жеке жұмыстарын автоматтандыру тәсілдері;
бағыныңқы программалар кітапханасын құру;
программалаудың әр түрлі тілдерін пайдалану.
Қолмен программалаудың жеке жұмыстарын автоматтандыру тәсілдері.
Қазіргі кезде программаның дұрыстығын тексеру үшін
Программаны жөндеу процесі бірнеше әмбебеп жөндеуші
Программалау тілдері
Программаларды жасауда қазіргі заманғы компьютерлерде әр
Жалпы жағдайда тіл деп информацияның жазылыуын
Тілдің құрамында информацияның негізгі элементтерін құрудың
Программалау тілі деп деректерді жазуға және
Програмалаудың әр түрлі тілдерін пайдалану.
Әр түрлі белгілер бойынша жіктеуге болатын
машинаға тәуелді тілдер;
машинаға тәуелсіз тілдер;
Машинаға тәуелді тілдер өз кезегінде былай
машина тілі;
машинаға бағдарланған тілдер;
Машинаға бағдарланған тілдер кейде автокодтар деп
символдық кодтау тілдері, басқаша айтқанда мнемокодтар;
макротілдер.
Макротілдер машина тілінің командаларына тікелей ұқсастығы
Машинаға тәуелсіз тілдер программаларды бөлшектеу дәрежесіне
процедулалы- бағдарланған тілдер;
проблемалы – бағдарланған тілдер.
Процедулалы – бағдарланған тілдер есепті шешу
Проблемалы – бағдарланған тілдер есептерді сипаттау
Бірақ алгоритмдік тілдер өздігінен барлық проблеманы,
Алгоритмдік тілден программаны машина тіліне аудару
Машина тілі
Компьютердің ақпараттық бөлігі тікелей түсінетін жалғыз
Машина тілі деп копьютердің құрамындағы процессор
Архитектурасы әртүрлі процессорлардың машина тілдері де
Сонымен әрбір компьютердің өзінің машина тілі
Машина тілінде программалау деп программаға енетін
Командалардың кодтары әр түрлі санақ жүйелерінде
екілік;
сегіздік;
он алтылық;
Мысалы, процессордың А аккумляторының ішіндегісін В
Санақ жүйелері
Екілік
Сегіздік
Он алтылық
Келтірілген мысалдан көрініп тұрғандай команда он
Машина кодтарын пайдаланып программалау үшін
Бірақ қазіргі кезде машина тілінде программалау
процессор командаларының көптеген кодтарын есте сақтауға
жадтың абсолюттік адрестері, әсіресе шартты өтулердің
жазылған программаны қайта жетілдіріп, өзгертіп жасау
машина кодтарында жазылған программалар өте қиын
тек қана сандардан тұратын программаны жасау
Осылауша машина тілі цифрлар тілі бола
Ассемблер және макроассемблер
Ассамблер таңбалар (символдар)тілі бола отырып,белгілі
Ассамблер тілінде программаның барлық элементтері
Ассамблер тілінде программалауда пайдаланылатын таңбалық
Ассамблер тілінде программа жасау үшін машина
сыртқы құрылғылармен жабдықталған дербес компьютер;
процессордың түріне қарай резиденттік немесе жүйелік
Машина тіліне қарағанда ассамблер тілі едәуір
Ассамблер тілі машинаға бағдарланған тіл, яғни
Программа жасауда ассамблер тілі машина тіліне
Бұл біліктілігі жоғары программалаушыларға жоғары
Ассамблер тілінің осындай артықшылықтарына байланысты
Ассамблер тілінің көмегімен программа жасаушы адам
процессордың машина тілінің әрбір командасының
ассамблер тілінде жазылған программалық қатардың
командалардың нұсқаларын және адрестеудің тәсілдерін
таңбалық тұрақтыларды және бүтін сандық тұрақтыларды
программалауды ассамблерлеу (транслациялау) процесін басқарушы пседокомандаларды.
Ассамблер тілі кез келген компьютерге түсінікті,өйткені
Ассемблер тіліндегі программалар басқа тілдерде жазылған
Ассемблер тіліндегі программалар компьютердің барлық
Ассемблер тілін әрқайсысы машина командаларының бір
Трансляторлар
Жоғары деңгейлі тілдер көптеген алгоритмдерді үйреншікті
Жоғары деңгейлі тілдерді программа жасауда пайдалану
Әрбр программалау тілінің өзінің аты бар.Көптеген
Қазіргі кезде жоғары деңгейлі программалау тілдері
процедуралы (көптеген классикалық программалау тілдері,
логикалық (ЛИСПЫ, ПРОЛОГ т.б.);
объектік-бағдарланған (С++, Java т.б.).
Қысқа программаларды жасауда процедуралық программалау
Әртүрлі программалау тілдерінің арасында айтарлықтай
Бұл тілдердің әрқайсысына тоқталмай-ақ, осы тілдерді
Ассемблердің ендірілетін тілі мнемокод, макроассемблер-макротіл, ал
Транслятор арқылы өңделіп алынған программа тікелей
Трансляциялау кезеңімен орындау кезеңдері уақыт
Машина тілінде немесе жүктелуші тілде ұсынылған
Транслятордың жұмысын төрт кезеңге бөлуге болады:
лексикалық талдау. Мұның негізгі атқаратын қызыметі
синтаксистік талдау. Бұл кезңде бастапқы мәтінді
объктік программаны жасау. Бұл кезеңде шын
объктік программаны безендіру және беру. Бұл
Шығарылатын есептің сипатына және пайдаланушылардың
Трансляциялаудың жалпы схемасы мына төмендегі суретте
Ендірілетін - - - -
тіл
тілдегі программа
- - - - - -
түрлендіру
Шығарылатын --
тіл.
деңгейлі тілдегі
программа.
Сонымен бастапқы модульді машина тілдегі немесе
Ендірілетін тілге, трансляциялау кезеңдерінің өту ретіне
ассамблер;
компилятор;
интерпретатор.
Ассемблер
Ассамблер–бұл төменгі деңгейлі тілдің трансляторы, оның
- - - - -
макроассамблер
тіліндегі программа
- - - -
программа және
құрастырушы
үшін информация
Ассемблер бастапқы модульді объектік программаның бір
Объектік модульдің оны оған тәуелсіз трансляцияланған
Интерпретатор және компилятор
Жоғары деңгейлі тілдің трансляторы трансляциялау
Интерпретатор
Жоғарғы деңгейлі
тілдегі программа
Компилятор программаның барлық операторларын трансляциялайды,
Компилятор
Объектік модуль
немесе төменгі
деңгейлі тілдегі
программа
Жоғарғы деңгейлі тілдердің көпшілігі үшін комбиляторлар
Бағыныңқы программалар кітапханасы
Бірнеше программада немесе бір программаның бірнеше
Компьютердің жадында тұрақты сақталатын стандартты
Жеткілікті толық бағыныңқы программалар кітапханасы бар
Сенімді жұмыс імтейтін сыртқы есте сақтау
Құрылып жатқан программаға компилятор математикалық
Құрастырушы
Құрастырушы бірнеше объектік модульді операциялық
Объектік
модульдерді
құрастыру
Компьютерде
орындауға
дайын, машина
тілдегі программа
Мұндай құрастырудың қажеттілігін әрбір объектік
Құрастырушы әрбір машина командасының және деректердің
Жөндеуші
Пайдаланушы құрған программадағы қателіктерді іздеуді
Әрбір жөндеуші программа нақтылы программалау тілінде
Компьютердің оперативті жадына машина тіліндегі
Пайдаланушы модуліндегі қателіктерді екі түрге бөлуге
синтаксистік (пайдаланып отырған программалау тілінің
мазмұндық (арифметикалық өрнектердегі дұрыс қойылмаған
Мазмұнындағы қателіктер шын мәнінде автор ойлаған
Синтаксистік қателерді мәтінді синтаксистік талдау
Мазмұнындағы қателіктерді анықтау үшін жоғарыда
Программаны жөндеу процесі кезінде программалаушыға
Бақылау нүктесі–бұл мына төмендегідей қосымша
аралық нәтижелерді баспаға шығару;
прогрмманың кезектегі бөлігіне қажетті бастапқы
прогрммада қарастырған командалардың орындалу реттілігін
Егер кезектегі орындаған (немесе орындалуға
Жөндеуші екі бөлімнен тұрады;
қайталаушы;
өңдеуші.
Қайталаушы программа жөнделіп жатқан программаның
Компьютерде программаны орындауға даярлаудың танымал
Мәтін редакторын
пайдаланып
орындалады
Алғашқы модуль
Компилятормен
немесе ассамблермен
орындалады
Стандартты
бағыныңқы программа
кітапханасы, қосымша
объектік модульдер
Құрастырушы
программа орындайды
Жүктелетін модуль
Модульді программалау
Басқа программалармен бірлесе отырып бірнеше рет
Стандартты бағыныңқы программаның өзі модуль болып
Модульдің бағыныңқы программадан айырмашылығы басқа
Қазіргі заманғы программалау жүйелері осы модульді
пайдаланушы модуль;
жүктелуші модуль;
абсолютті модуль.
Пайдаланушы модулі
Бұл үлгідегі модуль адамға ыңғайлы программалау
Пайдаланушы модулі екі бөлімнен тұрады:
модуль денесі;
паспорт.
Модуль денесі модульдің мәнін анықтайтын оның
Жүктелуші модуль
Модульдер біреше қайтара пайдалануға арналғандықтан
Программаны алгоритмдік тілден машина тіліне аудару
Екінші кезеңде жүктелетін модульді нақтылы программамен
Модульді жүктеу жаңа программаға модуль қосылған
Жүктелуші модуль пайдаланушы модуль сияқты екі
модуль денесі;
паспорт.
Модуль туралы қосымша информациясы бар және
Абсолютті модуль
Бұл жүктеу нәтижесінде алынған модуль. Ол
Модульді программалаудағы нақты есепті шешуге
Пайдаланушының компьютер көмегімен белгілі бір жұмыс
трансляциялауға жататын пайдаланушы модулінің мәтіні;
қандай модулдерді трансляциялағанан соң кітапханаға жазу
жеке модулдерден, оның ішінде дайын модулдерден
алынған программаларды орындау туралы нұсқау.
Қазіргі заманғы, программалау жүйесі көп тілді
Трансляторлар пайдаланушы модулін жүктелуші тілге аударады,
Жүктелуші модулдер компьютердің сыртқы жадындағы бір
Біріне-бірі сілтеме жасай толтырылған паспорттар
Бұдан әрі модульдерді тікелей жүктеу жұмысы
Программалау тілдерінің қолданылуы
Кез келген компьютер информацияны жадына жүктелген
Программалау тілі символдардың жиынынан, осы символдардан
Есептелуге тиісті есептерді шығаруға операторлы программалау
Операторлы тілдерде алгоритмнің әрбір элементі қандайда
Кәдімгі жағдайда барлық операторлар арнайы ағылшын
Шын мәнінде программа мүлтіксіз орындалғанда есептің
Осы тұрғыдан қарағанда программалау тілдері
Сонымен программа дегеніміз-бұл алгоритмді компьютер
Қалай біз программалауды алгоритмдеуден бөліп қарасақ
Алгоритмді жазуға байланысты қиындақтарды әдетте оңай
Алгоритмді жазудың күрделілігі берілген тілді одан
Егер алгоритмді жасақтау проблемасы қиындық тудырса,
Нақтылы дағдылар әр түрлі есептерді шығару
Жинақталған білім мен дағдыны қолдану мүмкіндігі
Әрбір есеп әдетте сөз түрінде адам
BASIC программалау тілі туралы мағұлматтар
BASIC (beginners All- purpose Symblic Instuction
1985 жылы орта мектептегі «Информатика
Мұғалім BASIC праграмалау тілімен оқушыларды таныстырғанда
BASIC тілінде операторлар праграмалау кезінде қолданылады
BASIC тілінің алфавиті
Кез–келген прогрмманы жазу үшін BASIC тілінде
Оларға мыналар жатады:
1. Латын алфавитінің бас және кіші
2. Орыс алфавитінің бас және кіші
1. Араб цифрлары 0,1,2,3,4,5,6,7,8,9.
2. Арихметикалық амалдардың таңбалары:
+поюс;
-минус;
*көбейту;
/ бөлу;
^ дәрежеге шығару
5. Қатынас амлдардың таңбалары.
= тең:
> үлкен
< кіші
= кіші несесе тең (үлкен емес);
тең емес.
6.Бөлгіш, басқа арнайы және қызметші символдар.
. нүкте;
, үтір:
; нүктелі үтір;
: қос нүкте;
# нөмір;
$ ақша бірлігінің таңбасы немесе доллар
% пайыз;
& коммперциялық И, немесе амперсанд деп
_ астын сызу;
' апостраф;
" тырнақша;
( сол дөңгелек жақша;
) оң дөңгелек жақша;
[ сол квадрат жақша;
] оң квадрат жақша;
? сұрақ белгісі;
@ коммерциялық «ЭТ»;
! леп белгісі;
Бұлардан басқа көмекші және қосымша символдар
Арихметикалық амалдар және қатынас амалдардың
BASIC тілінің алфавитінен тілдің элементтері -
Деректер және олардың түрлері
Кез – келген есепті компьютерде
нені өндеу кере?
Қалайша өндеу керек?
деген сұрақтарға жауап беретіндей етіп
Осы жоғарыда аталған информацияның бірінші
Сандық және символдық тұрақтылар;
Сандық және символдық айнымалылар:
Сандық және символдық массивтер.
Тұрақтылар
Праграмманың орындалуы барысында өзгермейтін шамаларды тұрақтылар
Сандық тұрақты деп, праграммада нақтьы сан
Сандық тұрақтылардың мынандай түрлері бар:
бүтін ондық;
бүтін оналтылық;
бүтін сегіздік;
бүтін екілік;
нақты тұрақты үтірі (нүктелі);
нақты жылжымалы үтірлі (нүктелі);
Бұл тізімен сандық тұрақтының екі түрін
бүтін тұрақты;
нақты тұрақты;
Абсолюті дәл берілген бүтін
Бүтін тұрақты пайыз «%» таңбасымен аяқталатын
Мұндағы % таңбасы бүтін тұрақты екендігінің
Бұл аралықтан тыс жатқан бүтін тұрақтылармен
127;-1719;+13123 бүтін ондық тұрақтылар;
НFFA, H12E,- H1Aоналтылық тұрақтылар;
О1416, -О7583- сегіздік тұрақтылар;
В0101, -В10011101- екілік тұрақтылар;
BASIC тілінде сандар бізге үйреншікті болып
Сандарды жазуда компьютерлердің бпрлық амалдарды ақтық
Нақты санның бүтін бөлігі бөлшек бөлігінен
Екінші тәсілде ол сандар жылжымалы нүктелі
Нақты тұрақты нүктелі сандар дара дәлдікті
!- дара дәлдіктің таңбасы;
# (немесе бос орын) – екі
Мұндай арнайы таңбалар болмаған жағдайда (
Тұрақты нүктелі сандардың мысалдары:
2.793!, -9.485!- дара дәлдікті:
394.3715802- 1.879 –екі еселі дәлдікті;
497.6573, -41378.28.
Компьютерде өнделгеннен 6 цифрдан тұратын санды
сан дейміз. Мұндай сандар- 9.99999*1062-ден +9.99999*1062-ге
Компьютерде нүктелі тұрақтылар да дара дәлдікті
Математикалық жазылу
-6.2
5.000
0.006
8.6*105
-0.00032
0000=0*10
Сандардың оның діріжесі түрінде жазылып
BASIC тілінің кейбір түрлерінде нақты тұрақтыларды
BASIC тілінің алфавитіне енетін тырнақшаға
Символдық тұрақтыға енбейтін жалғыз символ: ол-
Тырнақшаға алынғандардың бәрі символдық тұрақтының мәні
Символдық тұрақтылар мітіндерді өндеуде, сонымен бірге
Айнымалылар
Айнымалылар деп программаның орындалуы кезінде
Қызметші сөздер айнымалының аты бола алмайды.
Айнымалылардың тұрақтылар сияқты үш түрі
бүтін айнымалы;
нақты айнымалыны;
символдық айнымалы;
Айнымалылардың түрі олардың қабылдаған мәндерінің түріне
% - бүтін;
!- дара дәлдікті;
# - (немесе бос орын )-екі
$ -символдық.
Мысалдар келтірейік:
К1# -екі еселі дәлдікті сандық айнымалы;
М2!-дара дәлдікті сандық айнымалы;
Н%- бүтін сандық айнымалы;
А1$- символдық айнымалы.
Айнымалының түрлерін арнайы операторлардың көмегімен хабарлауға
DEFINT - бүтін
DEFSNG < әріптер тізімі> -дара дәлдікті
DEFDBG - символдық айнымалылар.
Бұл жағдайда айнымалының түрі әріптер тізіміне
Айнымалылардың типтері %, !, #символдары арқылы
Нақты айнымалы латын әріптерімен немесе соңынан
Ол нақты тұрақты үшін рұқсат етілген
Бүтін айнымалы да нақты айнымалы сияқты
Символдық айнымалы соңынан $ таңбасы келетін
Аттары белгілі бір әріптен және цифрдан
Мысалы:
А5- нақты айнымалы;
А5%- бүтін айнымалы;
А5% -символдық айнымалы.
Айнымалы атының дұрыс жазылуының мысалдары:
2С- цифрдан басталады;
Ю1-орыс әріптері рұқсат етілмейді;
$2- ақша бірлігінің символынан басталады;
%К – пайыз символынан басталады.
BASIC тілінде қарастырылған символдардан басқа индексті
BASIC тілінің стандартты функциялары
BASIC тілінде ең көп тарлған
BASIC тілінде пайдалынатын стандатты функциялар:
SIN(X)- синус (sin) функциясы, х
COS(X)- косниус (cos) функциясы, х
TAN(X) тангенс (tgx) функциясы, х
ATN (X)- арктангенс (arctgx) функцифясы,-p/2п-ден+p/2 п
EXP(X)- дәрежесі х болатын е=2.718281828
LOG(X)- нанурал логарифм (Inx) функциясы, х
SQR(X)- квадрат түбір ( )
ABS(X)- абсалютті шама ( )функциясы,
INT(X)- бүтін санды функция, х аргументінен
SGN(X)- таңба (sign x) функциясы. Төмендегі
SGN(X)=
RGN(X)-кездейсоқ сандар функциясы, 0-ден 1-ге дейінгі
FIX(X)*- х-тың сандық мәнінің бөлшек бөлігі
CINT(X)- x-тың стандатты нақты мәнін бүтін
CDBL(X)-x- тың стандарты нақты мінін екі
CSNG(X)- x-тың екі еселі дәлдікті мәнін
Тригонометриялық функциялардың аргументтері радианмен беріледі. Егер
= * РІ/
BASIC тілінің кейбір түрлерінде х санының
Бүтін санды INT(X) функциясы, х аргументінен
Мысалы, INT(24.67)=24.
Берілген санды оған жақын бүтін санға
INT(X) функциясын мына төмендегі өрнектің көмегімен
INT((X*10D)+5)/10D. Мұнда, D –пайдаланушы беретін және
RID(X) функциясының аргументі пайдаланылмайды және кез-келген
Берілген аралықтағы кездейсоқ сандарды да алуға
Арифметикалық өрнектер
Сандық тұрақтылармен айнымалылармен және стандартты функциялармен
Стандартты мәндердің есептелу ережесін білдіретін
Арихметикалық амалдардың таңбаларына мыналар жатады:
^ - дәрежеге шығару;
* - көбейту;
/ - бөлу;
+ -қосу;
- - алу.
Өрнектерді жазуда мына мөмендегі ұсыныстар мен
1. Формулалар ешқандай төменгі немесе
Арихметикалық өрнекті жазудың мысалдары:
Математикалық жазылуы
5
а
в+5
3с
а+в
4+с
2 Әсіресе өзіңе-өзің сенімсіздеу жағдайларда
алдымен функцияның мәні есептеледі;
одан соң барлық дәрежеге шығару амалдары;
бұдан кейін көбейту мен бөлу;
ең соңында қосу және бөлу;
Мысады, BASIC тіліндегі -2+А/В*С+3^2 өрнегі мына
Х= 32;
Ү=(А/В)С;
Z=-2+Ү+Х.
3. Арихметикалық амалдың екі таңбасын екі
4. Бүтін және нақты шамалармен орындалатын
5. mju Бүтін дәрежеге шығару көптеген
6. Егер дәреженің көрсеткіші нақты сан
Логикалық өрнектер және операциялар
Кейбір жағдайдарда программада қандай әрекет жасау
Екі өрнектің мәнін салыстыру нәтижесіне ақиқат
BASIC праграммалау тілі алты салыстыру
Таңба
>
>=