50.33K

6.1 - 2 тема

1.

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

2.

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

3.

Қателердің негізгі түрлері
01
Синтаксистік қате
Кодтың жазылу ережесі бұзылған.
Python кодты талдау кезінде анықтайды.
02
Орындалу қатесі
Код орындалғанда ерекшелік туындайды.
Өңделмеген ерекшелік жұмысты тоқтатады.
03
Логикалық қате
Код орындалады, бірақ нәтиже қате.
Күтілетін және нақты нәтиже сәйкес келмейді.

4.

Синтаксистік қате
Python ережесіне сай жазылмаған код талдаудан өтпейді.
Қате нұсқа
Түзетілген нұсқа
age = 18
if age >= 18
print("Кіруге болады")
age = 18
if age >= 18:
print("Кіруге болады")
Себебі: if шартынан кейін қос нүкте жетіспейді.
Белгілері: жабылмаған жақша, тырнақша немесе қате шегініс.

5.

Орындалу кезіндегі қате-Runtime Error
Код жазылуы дұрыс, бірақ берілген дерекпен амал орындалмайды.
total = 120
count = 0
average = total / count
print(average)
Түзету: бөлгішті алдын ала тексеру
if count != 0:
print(total / count)
else:
print("Саны нөлге тең")
ZeroDivisionError
Нөлге бөлуге болмайды.
Қате бөлуді орындаған
кезде туындайды.

6.

Жиі кездесетін орындалу қателері
NameError
TypeError
print(score)
print("Жас: " + 18)
score айнымалысына мән берілмеген.
Жол мен санды + арқылы қосу мүмкін емес.
IndexError
ValueError
items = [10, 20]
print(items[2])
number = int("он")
Бар индекстер: 0 және 1.
Мәтін бүтін санның жазылуына сай емес.

7.

Логикалық қате
Бағдарлама тоқтамайды, бірақ есептің талабын дұрыс орындамайды.
price = 10000
discount = 20
final_price = price - discount
print(final_price)
Код пайыздың орнына 20 теңгені алып тастайды.
discount_amount = price * discount / 100
final_price = price - discount_amount
print(final_price)
final_price = price * (1 - discount / 100)
Шарт: 20% жеңілдік
Нақты
9980
Күтілетін
8000

8.

Қатенің түрін қалай ажыратамыз?
❖ Код іске қосылмайды → Syntax Error
❖ Іске қосылады, кейін қате шығады → Runtime Error
❖ Іске қосылады, бірақ жауап қате → Logic Error

9.

Практикалық тапсырма
Әр фрагмент: қате түрі / себебі / түзетілген код / жаңа нәтиже
1. 50 балдан бастап өтті
2. Екінші элементті шығару
score = 75
if score >= 50
print("Өтті")
numbers = [4, 8]
print(numbers[2])
3. Екі санның орташа мәні
4. Санға 5 қосу
a = 6
b = 10
average = a + b / 2
print(average)
value = "15"
print(value + 5)

10.

Қорытынды
❑ Орындалу кезіндегі қате (Runtime Error) — бағдарлама іске қосылғаннан кейін, оның
орындалу барысында пайда болатын қате. Код синтаксистік жағынан дұрыс
болғанымен,
белгілі
бір
операцияны
орындау
мүмкін
болмайды.
Мысалы: нөлге бөлу, тізімде жоқ индекске жүгіну.
❑ Синтаксистік қате (Syntax Error) — бағдарламалау тілінің жазылу ережелері бұзылған
кезде пайда болатын қате. Мұндай жағдайда бағдарлама дұрыс іске қосылмайды.
Мысалы: жақшаның, қос нүктенің немесе тырнақшаның қойылмауы.
❑ Логикалық қате (Logic Error) — бағдарлама қатесіз орындалғанымен, алгоритм
немесе есептеу логикасы дұрыс болмағандықтан қате нәтиже беретін жағдай.
Мысалы: 20% жеңілдіктің орнына бағадан 20 теңге алып тастау.
English     Русский Rules