51.90K

6.1-1 тема

1.

КМ6 / ОН6.1
Бағдарламалық кодты
түзетудің мақсаты
КМ6. Бағдарламалық кодтың жұмыс жасау рефакторингін тексеру
ОН6.1. Бағдарламалық модуль деңгейінде бағдарламалық қамтамасыз етудің
бағдарламалық кодын түзетуді жүзеге асыру

2.

Сабақтың мақсаты
01
Кодты түзету ұғымын және мақсатын түсіндіру
02
Қате бар кодты дұрыс кодтан ажырату
03
Қатенің орнын тауып, себебін түсіндіру
04
Кодты түзетіп, нәтижесін тексеру
Күтілетін нәтиже
Кодты не үшін түзететінімізді өз сөзіңізбен түсіндіре алу

3.

Debugging дегеніміз не?
Бағдарламадағы қатені табу,
оның себебін анықтау және жою процесі.
Қате белгілері
❖ Бағдарлама іске қосылмайды
❖ Жұмыс барысында тоқтайды
❖ Қате нәтиже береді
❖ Кейбір деректерде ғана қателеседі
Түзетуден кейін нәтижені міндетті түрде тексереміз.

4.

Кодты не үшін түзетеміз?
Мақсат: бағдарламаның күтілетін нәтижені дұрыс беруі.
price = 5000
quantity = 3
total = price + quantity
print(total)
Есептеу логикасындағы қате: қосу орнына көбейту
керек.
total = price * quantity
Нақты нәтиже
5003
Күтілетін нәтиже
15000

5.

Қатені түзету кезеңдері
1
Қатені байқау
Күтілетін және нақты нәтижені салыстыру
2
Қатені қайталау
Сол кіріс деректерімен қайта іске қосу
3
Қатенің орнын табу
Нәтижеге әсер ететін жолды анықтау
4
Себебін анықтау
Неліктен қате шыққанын түсіндіру
5
Кодты түзету
Қажетті өзгерісті енгізу
6
Қайта іске қосу
Түзетілген бағдарламаны орындау
7
Нәтижені тексеру
Бастапқы және басқа деректермен тексеру

6.

Testing және Debugging
Testing
Debugging
«Не дұрыс емес?»
Күтілетін және нақты нәтижені
салыстырады, қатені байқайды.
«Неліктен дұрыс емес?»
Қатенің себебін және орнын
анықтайды, кодты түзетеді.
def add(a, b):
return a - b
Күтілетін: 8
Нақты: 2
print(add(5, 3))
return a + b
Түзеткен соң қайта тексереміз: add(5, 3) нәтижесі 8 болуы керек.

7.

Қатені бірге табайық
a = 10
b = 20
average = a + b / 2
print("Орташа мән:", average)
Алдымен бөлу орындалған: 10 + (20 / 2) = 20.
average = (a + b) / 2
Жақша қосындыны бірінші есептеуге мүмкіндік береді.
Нақты
20.0
Күтілетін
15.0

8.

Қарапайым бағдарламалық қателер
Айнымалы атауы
Шарттың шекарасы
name = "Aruzhan"
print(Name)
age = 18
if age > 18:
print("Кіруге болады")
Тізім индексі
Есептеу логикасы
numbers = [10, 20, 30]
print(numbers[3])
price = 2000
quantity = 5
total = price + quantity

9.

Практикалық тапсырма
Шарттары:
Студентке тапсырма
❖ тауар бағасы — 2500 тг;
❖ саны — 4;
❖ егер жалпы сома 8000 тг немесе
одан жоғары болса, 10% жеңілдік
беріледі;
❖ жеткізу құны — 1000 тг;
❖ жеңілдіктен кейін тапсырыс
сомасы 10000 тг немесе одан
жоғары болса, жеткізу тегін.
➢ Бағдарламадан қателерді табыңыз.
➢ Қате орналасқан жолды көрсетіңіз.
➢ Әр қатенің себебін түсіндіріңіз.
➢ Кодты түзетіңіз.
➢ Түзетілген бағдарламаның
нәтижесін жазыңыз.
➢ Нәтиженің дұрыс екенін есептеу
арқылы дәлелдеңіз.

10.

def calculate_order(price, quantity):
total = price + quantity
if total > 8000:
discount = total * 10
total = total - discount
if total > 10000:
delivery = 0
else:
delivery = 1000
№
1
2
final_price = total - delivery
3
return final_price
price = 2500
quantity = 4
result = calculate_order(price, quantity)
print("Төлем сомасы:", result)
4
5
Қате
Себебі
Түзету

11.

Қорытынды
1. Debugging дегеніміз не?
2. Testing пен Debugging айырмашылығы қандай?
3. Түзетуден кейін не үшін қайта тексеру қажет?
English     Русский Правила