Open UsingCoding opened 4 years ago
17.1
Это не замечание, а скорее пометка на будещее. Здесь следовало бы все проверки сделать в одну линию, что увеличило бы читаемость. https://github.com/NiCrOmAnT/Labs/blob/38a27897e6f9ac154a0f7090e5b062c41a6f86b2/Lab17/171.pas#L14-L45
Пример:
IF (Ch = '0') THEN Num := 0;
17.2
- [x] Для это в паскале сущетсвует специальная константа в паскале -
MAXINT
https://github.com/NiCrOmAnT/Labs/blob/38a27897e6f9ac154a0f7090e5b062c41a6f86b2/Lab17/172.pas#L61- [x] А тут не используемая переменная. Её даже не я обнаружил, а мой компилятор) https://github.com/NiCrOmAnT/Labs/blob/38a27897e6f9ac154a0f7090e5b062c41a6f86b2/Lab17/172.pas#L4
- [x] А также программа при вводе
2569745
выводит-5
- [x] Так же посоветовал бы изменить проверку на переполнение, на данный момент у вас строго определенные значения. Стоит использовать константу, о которой я писал выше и не стоит проверять полученные цифры из процедуры ReadDigit на конкретные значения, типа 7 https://github.com/NiCrOmAnT/Labs/blob/38a27897e6f9ac154a0f7090e5b062c41a6f86b2/Lab17/172.pas#L61-L82
Исправлено
Переменная I в вашем случае больше не нужна (17.2)
17.1
IF (Ch = '0') THEN Num := 0;
17.2
[x] Для это в паскале сущетсвует специальная константа в паскале -
MAXINT
https://github.com/NiCrOmAnT/Labs/blob/38a27897e6f9ac154a0f7090e5b062c41a6f86b2/Lab17/172.pas#L61[x] А тут не используемая переменная. Её даже не я обнаружил, а мой компилятор) https://github.com/NiCrOmAnT/Labs/blob/38a27897e6f9ac154a0f7090e5b062c41a6f86b2/Lab17/172.pas#L4
[x] А также программа при вводе
2569745
выводит-5
[x] Так же посоветовал бы изменить проверку на переполнение, на данный момент у вас строго определенные значения. Стоит использовать константу, о которой я писал выше и не стоит проверять полученные цифры из процедуры ReadDigit на конкретные значения, типа 7 https://github.com/NiCrOmAnT/Labs/blob/38a27897e6f9ac154a0f7090e5b062c41a6f86b2/Lab17/172.pas#L61-L82