Да се напише програма, която позволява са се въведе цяло число и проверява дали числото е:
- положително
- четно
- едноцифрено
- двуцифрено
- трицифрено
Да се напише програма, която позволява са се въведе цяло число и проверява дали числото е:
[c] за С++ програми [/c]
[pascal] за паскал [/pascal]

за Къде се намира точка
за Вмъкване и изтриване на елемент *
за Позицията на X




за Броят на максималните елементи




за Броят на максималните елементи
за Пари за закуска




за Ученици с дадена оценка




за По-големи от средното| П | В | С | Ч | П | С | Н |
|---|---|---|---|---|---|---|
| « февр. | ||||||
| 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 | |
program Project1; var c: integer; begin WriteLn('Vuvedete chislo, koeto da bude provereno:'); ReadLn(c); if c<0 then WriteLn('Chisloto e otricatelno') else WriteLn('Chisloto e polojitelno'); if c mod 2=0 then WriteLn('Chisloto e chetno') else WriteLn('Chisloto e nechetno'); if ((c<9) and (c>0) or (c>-9) and(c<9)) then WriteLn('Chisloto e ednocifreno') else if ((c>9) and (c<=99) or (c<-9) and (c>=-99)) then WriteLn('Chisloto e dvucifreno') else if ((c>99) and (c<=999) or (c<-99) and (c>=-999)) then WriteLn('Chisloto e tricifreno'); ReadLn; end.Любо, супер – проверката за едно-/дву-/трицифрено работи и за отрицателни числа! Хубаво е, че си се сетил и за това.
Ако обаче поставяш командите след then и else на нов ред, кодът на програмата ще бъде по-четлив.
VAR chislo : integer; BEGIN write('vavedi chislo '); readln(chislo); if ((chislo>=0) and (chislo<=9)) then writeln('vavedenoto chislo e ednocifreno') else if ((chislo>=10) and (chislo<=99)) then writeln('vevedenoto chislo e dvucifreno') else if ((chislo>=100) and (chislo<=999)) then writeln('vavedenoto chislo e tricifreno') else writeln('vavedenoto chislo e mnogocifreno'); if ((frac(chislo/2))=0) then writeln('chisloto e chetno') else if ((frac(chislo/2))>0) then writeln('chisloto e nechetno'); readln; END.Калояне, всичко е вярно и изглежда много добре :-)
Програмата може още съвсем малко да се оптимизира: например едно число не може да бъде хем четно, хем нечетно. Така че ако си проверил за четно, нямаш нужда от втори if отдолу и проверка за нечетно – може директно да поставиш командата за отпечатване. Щом не е вярно, че е четно, няма какво друго да е, освен да е нечетно.
Другото е проверката за четни числа. Оригинален е начинът по който си го направил и се радвам че си се сетил сам. За целочислени числа обаче е по-коректно да проверяваш дали са кратни на нещо с mod, а не с Frac. С mod ще е по-бързо (макар и незначително), защото имаш само една операция и тя е целочислена, а те са по-бързи. По твоят начин имаш две операции (деление и frac) и те са с реални числа, които по принцип изискват повече време за пресмятане от процесора. За една проверка разликата във времето за изпълнение е нищожна, но ако този код се намира в програма, която извършва например 100 000 проверки, там може и да се усети.