Implementarea funcției atoi (), fulcrumweb

Scopul acestei sarcini: un test rapid (de până la 20 de minute) de cunoaștere de bază a buclelor C ++ și lucrul cu șiruri de caractere.
Timp: până la 20 de minute
Formatul execuției: codul este scris pe foaie, fără acces la documentație







Criterii pentru evaluarea FulcrumWeb:

În primul rând, candidatul trebuie să fie convins de caracterul complet și unic al afirmației problemei.

În sarcină se spune că implementarea funcției de transformare, în timp ce numele funcției seamănă cu funcția standard C - atoi (). Dacă nu sunteți familiarizat cu specificația exactă a acestei funcții și cu principiul manipulării erorilor - este necesar să clarificați acest lucru.

Ne așteptăm să audem următoarele întrebări:

  1. Ce funcție ar trebui să revină dacă argumentul său este NULL sau deloc un număr.
  2. Care este comportamentul funcției, dacă argumentul începe cu numere, dar se termină cu alte caractere, de exemplu, "123hello"
  3. Ce valoare sau excepție ar trebui returnată funcția dacă valoarea acesteia este mai mare decât intervalul permis de tipul de date int
  4. Este necesar să se sprijine diferite platforme - 32 și 64 de biți
  5. În ce sistem de calcul trebuie să funcționeze această funcție? este suficient de puternic?
  6. Este necesar să susținem cifrele negative? sau rezultatul "-1" poate fi folosit pentru a indica o eroare de execuție.
  7. este necesar să ignorăm spațiile albe la începutul liniei, dacă da, ce caractere pot fi sugerate de spațiul alb (spațiu, fila)?






După primirea răspunsurilor noastre, vă așteptăm să implementați corpul funcției în 10-25 de minute.

Programatorul novice (fără experiență) suntem doar o lipsă totală de întrebări la formularea problemei, dar sperăm să nu fie găsit în punerea în aplicare a apelului funcției matematice pow funcția exponentiere ().

De la programatori cu experiență, ne așteptăm să auzim cel puțin câteva dintre întrebările de mai sus și o implementare sigură care conține manipularea de bază a erorilor.

Link-uri utile:







Trimiteți-le prietenilor: