Да се напише програма, която позволява са се въведе цяло число и проверява дали числото е:
- положително
- четно
- едноцифрено
- двуцифрено
- трицифрено
Да се напише програма, която позволява са се въведе цяло число и проверява дали числото е:
[c] за С++ програми [/c]
[pascal] за паскал [/pascal]
П | В | С | Ч | П | С | Н |
---|---|---|---|---|---|---|
« февр. | ||||||
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Любо, супер – проверката за едно-/дву-/трицифрено работи и за отрицателни числа! Хубаво е, че си се сетил и за това.
Ако обаче поставяш командите след then и else на нов ред, кодът на програмата ще бъде по-четлив.
Калояне, всичко е вярно и изглежда много добре :-)
Програмата може още съвсем малко да се оптимизира: например едно число не може да бъде хем четно, хем нечетно. Така че ако си проверил за четно, нямаш нужда от втори if отдолу и проверка за нечетно – може директно да поставиш командата за отпечатване. Щом не е вярно, че е четно, няма какво друго да е, освен да е нечетно.
Другото е проверката за четни числа. Оригинален е начинът по който си го направил и се радвам че си се сетил сам. За целочислени числа обаче е по-коректно да проверяваш дали са кратни на нещо с mod, а не с Frac. С mod ще е по-бързо (макар и незначително), защото имаш само една операция и тя е целочислена, а те са по-бързи. По твоят начин имаш две операции (деление и frac) и те са с реални числа, които по принцип изискват повече време за пресмятане от процесора. За една проверка разликата във времето за изпълнение е нищожна, но ако този код се намира в програма, която извършва например 100 000 проверки, там може и да се усети.