Conversia date în format numeric
Algoritmul pentru rezolvarea problemei:
Algoritmi pentru conversia unei reprezentări șir de date numerice pot fi utilizate în programe care efectuează orice calcul asociat cu datele.
Nu vom scrie în același timp cel mai eficient program și scurt. În primul rând, algoritmul de decizie este suficient de transparentă și simplă.
Programul în Pascal:
Algoritmul programului 1. Linia
Datele introduse de utilizator stocate într-o variabilă de șir de caractere.
Eliminarea oricărui șir de caractere se realizează în același mod ca și prepararea indicelui său în matrice. De exemplu, s [1] va avea ca rezultat un prim simbol de sincronizare. Puteți elimina chiar felia: s [1..2] va extrage primele două caractere. Cu toate acestea, deoarece acestea sunt convertite într-un număr?
Funcția ord returnează numărul de serie al argumentului trecut la ea. Dacă ea transmite un caracter, acesta returnează numărul din tabela de simboluri. Acest lucru va fi valoarea de tip întreg. De exemplu, simbolul '0' (zero) poate fi de 48 m. Prin urmare, ord ( '0') returnează 48. Numărul de cifre este urmat în ordinea consecutivă '1' - 49, 2 '' - 50“, 3' - 51, etc.
Pentru a traduce reprezentare simbolică a numerelor (de exemplu „7“) în numărul (7) pentru a realiza o astfel de expresie este suficientă: ord ( „7“) - ord ( „0“). Diferența dintre numărul de simboluri de date este doar șapte unități. Astfel, putem traduce reprezentarea simbolică a numerelor, în număr.
Următoarea problemă este că numerele din data de două cifre (luna și ziua) și patru ani (an). Avem valoare numai cifre individuale. Cu toate acestea, cu numerele și cunoscând poziția lor, în special, este ușor de a calcula numărul în sine. De exemplu, dacă primul număr este de 2 (zeci) și aprilie 2 (unitate), apoi obține cu ușurință 24: 10 * 2 + 4 wxyz Anul calculat conform formulei w * + x * 1000 100 10 + y * + z.
În plus, nu trebuie să uităm să rateze punctul din șirul data. Acestea sunt simboluri pentru numere de 3 și 6. Acestea nu au nici un rol în calculele nu iau.
Algoritmul 2. Utilizarea ciclului și matrice
După cum se poate observa, de prea multe ori în programul anterior vyrazhenieord executat (s [număr]) - ORD ( „0“). Astfel de acțiuni sunt cel mai bine efectuate în ciclul, iar rezultatul nu este pus în variabilele și o matrice.
Ea vrea să se convertească la ciclu toate caracterele din șir, cu excepția a 3 și a 6-a (cei care sunt un punct), și umple matrice.
Algoritmul 2. Soluție rapidă
De fapt, nu este necesar de a utiliza o matrice, buclă și chiar variabile suplimentare. Totul se face mult mai ușor, dar expresiile sunt destul de lungi și pot fi de neînțeles pentru incepatori.