Вход на сайт Навигация по сайту Любить и уважать Бонус-счастливчики
|
Содержимое файла " .09.doc" (без форматирования) ЗМІСТ Вступ……………………….……………………….………........……3 1. Етап……………….............................................................................4 2. Етап.....................................................................................................7 3. Етап.....................................................................................................9 Висновок.................................................................................................10 Література………...................................................................................11 ВСТУП Дана курсова робота має на меті закріпити теоретичні навички студента, здобуті при вивченні дисципліни Апаратні та програмні засоби ПК, а також навички оформлення документів за ДСТУ. Вона складається із трьох залежних частин. Перша частина присвячена розрахунку значень коефіцієнтів a,b,c та розрахунку діапазонів значень та написання програми розрахунку полінома(значення х задано в самій програмі). У другій частині проводиться модернізація програми, де х вже вводиться з клавіатури. У третій частині додаються функції виводу результату. Ми отримаєм робочу програму, яка вичисляє поліном виду: ЕТАП 1 1.1Заданий поліном: ,в якому: a=24 b=44 c=64 (згідно № варіанта) 1.2 З допомогою ПК вичисляєм діапазон змінни у, підставляючи замість х значення від -100 до 100. у лежить в діапазоні від 63 до 234 363, тоді: уmin=64 ymax=244 464 1.3 Знаходимо діапазон зміни кожної частини полінома.В нашому випадку це та , не залежить від . on.DSMT4 HYPER14HYPER15:мінімальне значення 0,а максимальне 240000; : мінімальне значення -4400,а максимальне 4400. 1.4 Розробляємо частину програми розрахунку полінома, значення х задається в самій програмі у вигляді константи. Опис програми та схема алгоритму: Програма вичисляє поліном по формулі .По перше підносим до квадрату “x”,потім множимо на 23.По друге, х множимо на 43.Тоді сумуємо отриманні значення і поміщаємо в змінну у, яка являється результатом даної задачі.Завершенням програми є вивід результату програми. Нам потрібно працювати з 32-бітними змінними, тому прописуємо рядок .386.Розробим програме де х задається в програмі. m/dopb353753.zip" \* MERGEFORMATINET HYPER14HYPER15 Рис. 1. -Схема алгоритма. Лістинг програми при х=30: .386 .MODEL flat, stdcall ;модель памяти и конвенция ;о передаче параметров OPTION CASEMAP:NONE ;опция различия строчных и ;прописных букв Include masm32.inc ; Подключение библиотек, ;подключение описаний процедур и констант include \masm32\include\windows.inc include \masm32\include\kernel32.inc includelib \masm32\lib\kernel32.lib include \masm32\include\shell32.inc includelib \masm32\lib\shell32.lib include \masm32\include\user32.inc includelib \masm32\lib\user32.lib include \masm32\include\masm32.inc includelib \masm32\lib\masm32.lib include \masm32\include\gdi32.inc includelib \masm32\lib\gdi32.lib include \masm32\include\debug.inc includelib \masm32\lib\debug.lib .CONST ; начало раздела констант MsgExit DB 13,10,"Press Enter to Exit",0AH,0DH,0 .DATA ;раздел инициализированных переменных A DWORD 24 ;задаем константы B DWORD 44 M DWORD 64 X DWORD 30 fmt db 'у= %d',0 Title1 db 'Ответ',0 .DATA? ;раздел неинициализированных переменных Y DWORD ? ; резервируем место для Y inbuf DB 100 DUP (?) .CODE ;начало сегмента кода Start: mov eax,X ; поместить число в регистр EAX mov ecx,A imul eax ;умножить EAX и A, результат в EAX imul ecx push eax ; запишем в стек mov ebx,B mov eax,X imul ebx pop ebx add eax,ebx ; команда сложения EAX и EBX add eax,M invoke wsprintf,ADDR inbuf,ADDR fmt,eax ;вывод сообщения invoke MessageBox,0,offset inbuf,offset Title1,MB_OK invoke ExitProcess,0 ;завершение программы End Start ; конец модуля ЕТАП 2 2.1 Добавляєм до розробленої програми процедури введення значення х та перевірки його значення на належність до діапазону від -100 до100. . Лістинг закінченої програми: .386 .MODEL flat, stdcall ;модель памяти и конвенция о передаче ;параметров OPTION CASEMAP:NONE ;опция различия строчных и ;прописных букв Include masm32.inc ; Подключение библиотек, подключение описаний ;процедур и констант include \masm32\include\windows.inc include \masm32\include\kernel32.inc includelib \masm32\lib\kernel32.lib include \masm32\include\shell32.inc includelib \masm32\lib\shell32.lib include \masm32\include\user32.inc includelib \masm32\lib\user32.lib include \masm32\include\masm32.inc includelib \masm32\lib\masm32.lib include \masm32\include\gdi32.inc includelib \masm32\lib\gdi32.lib include \masm32\include\debug.inc includelib \masm32\lib\debug.lib .CONST ; начало раздела констант MsgExit DB 13,10,"Press Enter to Exit",0AH,0DH,0 .DATA ;раздел инициализированных переменных A DWORD 24 B DWORD 44 M DWORD 64 X DWORD ? ; резервируем место fmt db 'у= %d',0 Title1 db 'ЙА Відповідь:',0 zapros DB 'Vvedit X vid -100 do 100:',13,10,0 ; запрос buffer DB 10 dup ('0'); буфер ввода .DATA? ; Y DWORD ? fX DWORD ? ; старшее слово переменной X Buffer DB 10 DUP (?) inbuf DB 100 DUP (?).DATA? ;раздел неинициализированных переменных Y DWORD ? inbuf DB 100 DUP (?) .CODE ;начало сегмента кода Start: @vvod: Invoke StdOut,ADDR zapros Invoke StdIn,ADDR buffer,LengthOf buffer Invoke StripLF,ADDR buffer ; ; Преобразование в SDWORD Invoke atol,ADDR buffer mov DWORD PTR X,EAX @proverka: CMP X, -100 ;проверяем введенное значение меньше ли она -100 если да то ;возвращаем в начало ввода JLE @vvod @dfaf: CMP X, 100 ; аналогичная проверка JGE @vvod @vu4islenie: mov ecx,A imul eax imul ecx push eax mov ebx,B mov eax,X imul ebx pop ebx add eax,ebx add eax,M invoke wsprintf,ADDR inbuf,ADDR fmt,eax ;вывод ;сообщения invoke MessageBox,0,offset inbuf,offset Title1,MB_OK invoke ExitProcess,0 ;завершение программы End Start ; конец модуля Перевіряємо програму на працездатність рис.3: Рис.3-Введння х Результат програми зображенний на рис.4: Рис.4-Результат програми ЕТАП 3 До програми яку ми розробили добавляєм перевірку коректності вивединого результату, чи не дорівнює він 0: … @prover4ka: CMP EAX, 0 JZ vvod … Зробемо перевірку правельності програми: Відповідь збігається,тому програма працює вірно. Висновок Виконавши дану курсову роботу я закріпив теоретичні навички , здобуті при вивченні дисципліни Апаратні та програмні засоби ПК, а також навички оформлення документів за ДСТУ. Вона складається із трьох залежних частин. Перша частина присвячена розрахунку значень коефіцієнтів a,b,c та розрахунку діапазонів значень та написання програми розрахунку полінома(значення х задано в самій програмі). У другій частині проводиться модернізація програми, де х вже вводиться з клавіатури. У третій частині додаються функції виводу результату. Ми отримали робочу програму, яка вичисляє поліном виду: Результат програми зображенний на рисунку 4.Програма працює вірно. Література 1.Конспект лекцій Апаратні та програмні засоби ПК, авт.Троянський О.В. 2.Ефремов В.Д., Мелехин В.Ф., Дурандин К.П. и др. Вычислительные машины и системы. Учебник для вузов – 2М.: Высшая школа, 1994. 3.Григорьев В.Л. Архитектура и программирование. –М.: БИНОМ, 1993 ІРТ РТ-100500 11 Акрушів Літ. Курсова робота з дисципліни Апаратні та програмні засоби ПК Затверд. Н. Контр. Реценз. Троянський О. Перевір. Котлетка Розроб. РТС 10.103.09 ПЗ 2 Арк. Дата Підпис № докум. Арк. Змн. РТС 10.103.09 ПЗ 3 Арк. Дата Підпис № докум. Арк. Змн. РТС 10.103.09 ПЗ 6 Арк. Дата Підпис РТС 10.103.09 ПЗ 5 Арк. Дата Підпис № докум. Арк. Змн. РТС 10.103.09 ПЗ 4 Арк. Дата Підпис № докум. Арк. Змн. № докум. Арк. Змн. РТС 10.103.09 ПЗ 8 Арк. Дата Підпис № докум. Арк. Змн. РТС 10.103.09 ПЗ 7 Арк. Дата Підпис № докум. Арк. Змн. РТС 10.103.09 ПЗ 11 Арк. Дата Підпис № докум. Арк. Змн. РТС 10.103.09 ПЗ 10 Арк. Дата Підпис № докум. Арк. Змн. РТС 10.103.09 ПЗ 9 Арк. Дата Підпис № докум. Арк. Змн. |
Посетителей: 2, из них зарегестрированных: 0, гостей: 2 Зарегистрированные пользователи: Подробно | Страница сгенерирована за 0.0806 сек. |