Конвертиране на дати в цифров формат

Алгоритъмът за решаване на проблема:

Алгоритми за преобразуване на низ от цифрови дати, могат да се използват в програми, които изпълняват всяко изчисление, свързани с датите.

Ние няма да пиша наведнъж най-ефективния и кратка програма. На първо място, алгоритъм за вземане на решение е достатъчно прозрачно и ясно.

Програма на Паскал:

Алгоритъм програма 1. Линия

Въведеното потребителско данните, съхранявани в променлива и низ.

Премахването на всеки низ от знаци се извършва по същия начин, както в подготовката на своя индекс в масива. Например, в [1], ще доведат до първия времето символ. Можете дори да се премахне частта: S [1..2] ще извлече първите два знака. Въпреки това, тъй като те се превърнат в брой?

функция РСР връща поредния номер на аргумента, преминали към него. Ако тя предава характер, той се връща номер му в таблицата със символ. Това ще бъде стойността на типа на цяло число. Например, символът "0" (нула) може да бъде 48 m. Следователно РСР ( "0") връща 48. Броят на цифри е последвано за пореден на "1" - 49, 2 '' - 50 ', 3' - 51, и т.н.

За да превежда символично представяне на числа (например "7") на броя (7) за извършване на такава израз е достатъчно: РСР ( "7 ') - РСР (" 0 "). Разликата между броя на информационните символи е само на седем единици. По този начин, ние можем да преведем символично представяне на числа в брой.

Следващият проблем е, че цифрите в датата на двуцифрено (месец и ден) и четири години (година). Имаме ценим само отделни цифри. Въпреки това, с цифрите и да знае позицията им по-специално, че е лесно да се изчисли самия номер. Например, ако първият брой е 2 (ТЕМ), и април 2 (единица), след това лесно да се получи 24: 10 * 2 + 4 Година WXYZ изчислява съгласно формулата w * + х * 1000 100 10 + у * + Z.

Освен това, не трябва да забравяме да се объркат в низа за дата. Те са символи за номера 3 и 6. Те нямат никаква роля в изчисленията не вземат.

Алгоритъм 2. Използване на цикъл и масив

Както се вижда, прекалено много пъти в предходната програма изпълнена vyrazhenieord (и [номер]) - РСР ( "0"). Такива действия се осъществяват най цикъла, а резултатът не е пусната в променливите и масив.

Той иска да се превърнат в цикъл всички символи на низа, с изключение на 3-ти и 6-ти (тези, които са с точка), и запълване на масива.

Алгоритъм 2. Бързо решение

В действителност, не е необходимо да се използва масив, цикъл и дори допълнителни променливи. Всичко е направено много по-лесно, но изразите са доста дълги и може да бъде неразбираем за начинаещи.