КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Программаларды оптимизациялау
Кесте Бланк Меню Хабарлама 5. Мәтін Хабарлама – диалогтық ортаның ең қарапайым типі. Ол экранға қысқаша хабарлама шығарылады және қандай да бір жағдайға дейін көрсетіліп тұрады. Мысалы, «Файл атын енгізіңіз». Меню – шешімнің бірнеше варианты ұсынылғанда, пайдаланушының біреуін таңдайтын диалогтық орта. Таңдауды сәйкес пернені басу немесе тышқанмен көрсету арқылы орындалады. Менюдің экранда орналасу тәсіліне қарай сызықтық және жазықтық түрлері болады. Сызықтық меню вертикаль және горизонталь болып бөлінеді. Жазықтық менюлердің сызықтық менюлерден айырмашылығы – меню позициялары экран жазықтығының кез келген орнында орналаса алуы. Мысалға екі өлшемді меню – таңдау кестелерін жатқызуға болады. Бланк ақпаратты енгізу және түзету үшін қолданылады. Толтыру графалары экранның кез келген бөлігінде орналасып, түрлі ұзындыққа ие бола алады. Мысалы, анкета, мінездеме және т.б. Кестелер де ақпаратты енгізу және түзету үшін қолданылады. Айырмашылығы – кестеде құрылымды ақпарат сақталады, оның мәндері элементтерден тұрады, ал әртүрлі жолдарда орналасқан осы элементтердің бір типке жататындары бағандар құрады. Мысалы, «сессия нәтижелері» кестесі. Мәтін экранға кез келген мәтінді шығару үшін қолданылады. Мысалы, пайдаланушы инструкциясы, көмек және т.б. Ең маңызды мәселе – ЭЕМ-де орындалу жағынан программаның дұрыс жазылуы. Айнымалыларды бір әріппен атауға немесе NEXT цикл операторын цикл айнымалынсыз жазуға болмайтынын бірден атап өткен жөн. Программаның орындалуы кезінде жады көлемі және орындалу уақытын оптимизациялау мәселесін дұрыс шешу керек. Бұл екі критерий бір-бірі арқылы оптимизацияланады, яғни программа орындалуын тездету үшін көбірек мәндерді, көбірек аралық нәтижелерді есте сақтап отыру керек, олардың қайта-қайта есептеле бермеуін қадағалау керек, яғни жады көбірек шығындалады. Пуск->Программалар-> Q Basic-> Q basic.exe Программаның орындалу процессі екі бөлімнен тұрады: 1. Q Basic мәтіндік редакторының көмегімен машина жадысына мәтінді енгізу 2. программа орындалу үшін Q Basic интерпретаторын қосу. Интерпретатор қосылған соң, компьютер экраны келесідей болады: Бұл экран үш бөліктен тұрады: жоғарғы бөліктегі меню жолы, ортадағы терезе аймағы және төмендегі статус жолы.
Q basic.exe файлын іске қосқаннан кейін экранда басты менюдің жоғарғы жағында, редактрлеу терезесі және төменгі жағында подсказка, функционалдық пернетақтамен орындалатын әрекеттер (1.1 сурет).
1.1 сурет. QBasic экранының жүктелгеннен кейінгі түрі
Вход в главное меню QBasic-тің басты менюіне кіру Alt+F (File менюін ашу) немесе Alt+R (Run менюін ашу), Esc батырмасы редакторлеуге оралу.
File (файл) – файлмен және жүйеден шығу әрекеті; Edit (редактировать) – уақытша буфермен және бүлінген мәтінді қайтадан қалпына келтіру (Cut қию, Copy көшіру, қою, тазалау); View (түр) - Бағыныңқы программаларды қарау Search (іздеу) - функцияны немесе қатенің орнын, процедураны, мәтінді іздеу; Run (машина жұмысы) - компиляция және программаның орындалуы; Debug (отладка) - отладка программы; Options (варианты)- Қосымша мүмкіндіктер; FILE менюінің опциясы
New. Жаңадан редактрлеу терезесін ашу және NAME.BAS аттарымен байланыстыру. Open... диалогтық терезені ашу, керек файлдың атын жазуды енгізу.
SAVE. Жаңа файлдың атын сұрау ортасы осы тереземен NAME.BAS аттарымен байланысты болған жағдайда ағымдағы редактрлеу терезесіндегі мазмұнын дискілік файлға жазу. SAVE АS. Ағымдағы редактрлеу терезесінің мазмұнын дискілік файлға басқа атпен жазатын жағдайда сақтау.
PRINT. Ағымдағы редактрлеу терезесінің мазмұнын баспаға жіберу. EXIT. QBASIC жұмысын аяқтау.
RUN менюінің опциясы
RUN Программаны орындау. REM программаның басы. END прграмманың соңы.
Мысал: Q BASIC- те программа құруды қарастырайық. Екі санның қосындысының программасын жазу. REM екі санның қосындысы CLS INPUT “ Бірінші санды енгізу:”;Х INPUT “Екінші санды енгізу:”;Y Z= X+Y PRINT “Қосындысы тең:”;Z END Программаны орындау үшін менюден Запуск (RUN) Þ Старт немесе Shift F5 пернесін басу. Алгоритм құрылымы: Сызықтық алгоритм
Тапсырма. Дұрыс үшбұрыштың ауданын есептейтін программа жазу және блок-схема құру қажет. Берліген шеңбердің радиусы мына формула бойынша есептеледі. R=abc/4S Шешімі: R=abc/4S ауданның мәнін шығару S=abc/4R блок-схема
QBasic тілінде программаны жазу
REM INPUT «1 мәнді енгізу»; a INPUT «2 мәнді енгізу»; b INPUT «3 мәнді енгізу»; c R=4.5 PRINT «үшбұрыштың ауданы,»; S END Тармақталған алгоритм
Алгоритмдерді көрсету құралдарында тармақталу командасы бар, оның көмегімен алгоритмнің қандай да бір тармағын орындау, осы жолды жүзеге асыру таңдалады. Тармақталуды жүзеге асыру формасы:
Көрсетілген конструкцияларда орындау жолын көрсету шартты орындауға байланысты болады. Егер шарт орындалса, онда орындаушы 1 серияны орындайды, кері жағдайда 2 серияны орындайды. Тармақталу командасының қысқартылған формасын қолданған жағдайда командалар сериясы тек шарт орындалғанда ғана орындалады. Шарттарды жазу кезінде қолданылатын қатынас опреациялардың белгілерін көрсетейік
Тармақталған алгоритмі бар есепті шығару мысалы: Есеп: Пернетақтадан Х санын енгізіп, А нәтижесін Х-тің енгізілген мәніне қарай түрлі формулалар бойынша есептеп шығаратын программа жазу. 1. Программаны жазу үшін бірінші есепті шығарудың блок-схемасын құрастырайық:
басы енгізу Х
Х < -1 X<5 A= X+ Sin X A=1
шығару А соңы
QBASIC-те программа кодын жазайық:
REM вычисление по формуле CLS INPUT “X=”;X IF X <-1 THEN A=X+SIN (X) ELSE IF X<5 THEN A=3*SQR(X+1) ELSE A=1 END IF END IF PRINT “A=”;A END Программаны орындау үшін RUN=>Start менюін таңдау немесе Shift+F5 пернелер комбинациясын қолдану керек.
Бұл конструкция келесідей орындалады. Алдымен 1 шарт тексеріледі. Егер ол орындалса, онда 1 серия орындалады, содан кейін басқару END IF сөзінен кейін жазылған инструкцияларға беріледі. Егер 1 шарт орындалмаса, онда 2 шарт тексеріледі, ол орындалған жағдайда 2 серия орындалады. Егер ол да орындалмаса, онда 3 шарт тексеріледі және т.с.с. Егер осы шарттардың ешқайсысы орындалмаса, онда ELSE сөзінен кейін орналасқан серия орындалады. ELSE сөзі болмауы да мүмкін. Бұл жағдайда егер шарттарды тексеру «жоқ» нәтижесін берсе, онда сериялардың ешқайсысы да орындалмайды. Барлық жағдайда да командалардың сәйкес сериясы (операторлар топтары) орындалған соң, басқару END IF сөзінен кейін жазылған инструкцияларға беріледі
QBASIC тіліндегі логикалық операцияларды енгізейік:
Тек екі қарапайым шарт орындалып жатқан жағдайда AND (және) логикалық операциясы бар күрделі шарт нағыз ақиқат болып саналады. Егер қарапайым шарттардың ең болмаса біреуі орындалып жатса, OR (немесе) логикалық операциясы бар күрделі шарт ақиқат болып саналады. NOT А = 0 логикалық операциясы А = 0 шартына тең.
REM CLS INPUT “X=”;X IF X <-1 THEN A=X+SIN (X) IF -1<=X AND X<5 THEN A=3*SQR(X+1) IF X>=5 THEN A=1 PRINT “A=”;A END
Өздігінен орындауға арналған тапсырма: ТАҢДАУ КОМАНДАСЫ Егер тармақталу командасында әрекеттердің екі вариантынан аса көрсетілсе, оның жазбасы ыңғайсыз болып қалады. Бұл жағдайларды алгоритмде көрсетудің құралы таңдау командасы болып табылады, оның көмегімен алгоритм қарапайым және көрнекті болып көрінеді. Таңдауды жүзеге асыру формалары келесі кестеде келтірілген.
Орындаушы таңдау командасының барлық шарттарын бірінен соң бірін тексеріп, оның ең бірінші орындалатынын табады. Осындай шартты тауып, орындаушы оның артында тұрған командалар сериясын орындайды, осымен таңдау командасының орындалуы аяқталады. Егер, мысалы, 1 шарт әрі 2 шарт орындалса, онда орындаушы 1 серияны ғана орындайды. Шарттардың ешқайсысы орындалмаған жағдайда «кері жағдайда» сөзінен кейін жазылған команда орындалады. Қысқартылған формада бұл жағдайда ештеңе орындалмайды. Тармақталған алгоритмі бар есепті шығару мысалы. Есеп: Пернетақтадан енгізілген апта күнінің номеріне сәйкес монитор экранына орыс тілінде бұл күннің не жұмыс күні, не демалыс күні екенін шығаратын программа жазу. QBASIC-те программа кодын жазайық: REM апта күнін таңдау CLS INPUT”День=”;Day SELECT CASE Day CASE 1,2,3,4,5 Print “Рабочий день” CASE 6,7 PRINT “Выходной день” END SELECT Программа келесідей орындалады: Алдымен CLS функциясы экранды тазартады, сосын День=? хабарламасы шығады, осыдан кейін апта күнін енгізу керек. Енгізілген күн Day айнымалысына жазылады. Барлық шарттардың орындалуын тізбектей тексеріп, SELECT CASE орындалатын шарттарды іздейді. Осындай шартты тауып, орындаушы оның артында тұрған командалар сериясын орындайды, сонымен таңдау командасының орындалуы аяқталады Қайталану алгоритмі
Есептерді шығару кезінде әрекеттерді анықтайтын параметрлердің әртүрлі мәндерінде біртипті әрекеттерді бірнеше рет қайталау қажеттілігі туындайды. Осындай әрекеттерді жүзеге асыратын алгоритмдер циклдік деп, ал бірнеше рет қайталанатын әрекеттер тізбегі (цикл денесі) циклдер деп аталады. Циклдерді қолдану арқылы көлемі жағынан шағын программалардың көмегімен есептеулердің үлкен көлемдерін орындауға мүмкіндік бар. Қайталанулар саны алдын ала берілген және белгісіз циклдер деп бөлінеді FOR...NEXT операторларының қайталануы: FOR. NEXT операторларының қайталану ережелері: o Параметрі бар қайталау командасы циклдік құрылымы бар алгоритмдерді жазуды көрнекті етеді o Алдымен FOR операторы параметрдің бастапқы, соңғы мәндерін және қадам мәнін орнатады. Одан кейін параметрдің көрсетілген бастапқы мәні үшін цикл денесі орындалады. Сосын NEXT операторы алдымен параметр мәніне қадам шамасын қосып өзгертеді де, циклдің аяқталу шартын тексереді o Егер параметрдің ағымдағы мәні соңғы мәнінен аспаса, NEXT операторы есептеу процесін FOR операторынан кейін орналасқан жолға ауыстырады, кері жағдайда – NEXT операторынан кейін орналасқан жолға ауыстырады. o Қайталанулар саны алдын ала белгісіз циклге қарағанда бұл циклде параметр тек қадам шамасына ғана өзгере алады, яғни Х=Х+Х. Есеп: Әрбір бактерия бір минут ішінде екіге бөлінеді. Уақыттың бастапқы мезетінде бір ғана бактерия бар. Уақыттың сіз көрсеткен мезетінде (7 мин., 15 мин.,) бактериялар санын есептейтін программа жазыңыз.
Дата добавления: 2014-12-16; Просмотров: 1447; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |