Diferență între revizuiri ale paginii „PC Tema 1”
(→Notare) |
(→Notare) |
||
(Nu s-au afișat 5 versiuni intermediare efectuate de același utilizator) | |||
Linia 52: | Linia 52: | ||
</li> | </li> | ||
<li>Tasta <code style="color: red">Enter</code> produce un caracter numit '''newline''' care are codul ASCII 10 (sau '\n').</li> | <li>Tasta <code style="color: red">Enter</code> produce un caracter numit '''newline''' care are codul ASCII 10 (sau '\n').</li> | ||
− | <li>Formatul textului de la ieșire trebuie să fie identic cu cel de | + | <li>Formatul textului de la ieșire trebuie să fie identic cu cel de la secțiunea "Date de ieșire" pentru a evita depunctarea de către programul de evaluare.</li> |
<li>[ftp://hermes.arh.pub.ro/public/course/pc/tema1 Acesta] este un executabil pentru Linux pe 32 de biți care implementează tema. Îl puteți folosi pentru testare.</li> | <li>[ftp://hermes.arh.pub.ro/public/course/pc/tema1 Acesta] este un executabil pentru Linux pe 32 de biți care implementează tema. Îl puteți folosi pentru testare.</li> | ||
+ | <li> '''Atenție:''' Nu afișați în consolă nimic altceva decât se cere explicit în problemă. Mai concret, nu printați nimic înainte de citirea textului de la tastatură (ex: Introduceți textul: ). | ||
</ol> | </ol> | ||
Linia 67: | Linia 68: | ||
Pentru această temă se pot acorda 10 puncte: | Pentru această temă se pot acorda 10 puncte: | ||
− | * 7 puncte pentru comportamentul aplicației, care se acordă automat în funcție de calitatea temei | + | * 7 puncte pentru comportamentul aplicației, care se acordă automat de către platforma de testare, imediat după predare, în funcție de calitatea temei; |
− | * 3 puncte pentru stilul de scriere a programului, alinierea codului, nume lizibile de variabile, etc., care se acordă de către un cadru didactic. | + | * 3 puncte pentru stilul de scriere a programului, alinierea codului, nume lizibile de variabile, etc., care se acordă ulterior de către un cadru didactic. |
<span style="color: red; font-weight: bold;">Atenție: </span> Pentru această temă se pot SCĂDEA 11 puncte, dacă aceasta se dovedește că este copiată. | <span style="color: red; font-weight: bold;">Atenție: </span> Pentru această temă se pot SCĂDEA 11 puncte, dacă aceasta se dovedește că este copiată. | ||
Linia 74: | Linia 75: | ||
= Termen limită = | = Termen limită = | ||
− | Termenul limită pentru depunerea temei este 21 noiembrie. Apoi, pentru fiecare zi întârziere, veți fi penalizați cu un punct. | + | Termenul limită pentru depunerea temei este 21 noiembrie, ora 23:55. Apoi, pentru fiecare zi întârziere, veți fi penalizați cu un punct. |
Versiunea curentă din 16 noiembrie 2015 19:22
În telecomunicații, diferite caractere trimise în cadrul unui SMS au un statut special și de aceea trebuie numărate pentru a calcula corect dimensiunea în octeți a mesajului, și deci costul serviciului de transmisie. Pentru această temă, se cere numărarea și afișarea diferitelor tipuri de caractere dintr-un mesaj citit de la tastatură.
Cerință
Dându-se un șir de caractere, citit caracter cu caracter, de la tastatură, până la întâlnirea caracterului newline ('\n'), să se numere și să se afișeze câte caractere s-au introdus din ficare categorie:
- litere mici (a-z)
- litere mari (A-Z)
- cifre (0-9)
- caractere neprintabile (spații sau caractere tab - '\t')
- caractere speciale (orice alt caracter printabil de pe tastatură care nu este literă, cifră sau spațiu).
Date de intrare
O singura linie de text, terminată cu Enter
.
Exemplu
Andrei s-a dus la piata si a cumparat 3 kilograme de cartofi si 5 de castraveti!
Date de ieșire
Cinci linii de text, de formatul următor:
Litere mici: %d Litere mari: %d Cifre: %d Caractere neprintabile: %d Caractere speciale: %d
Exemplu (pentru intrarea de mai sus)
Litere mici: 60 Litere mari: 1 Cifre: 2 Caractere neprintabile: 15 Caractere speciale: 2
Observații
- Un caracter se poate citi de la tastatură cu funcția
getchar()
. Această funcție este definită în fișierul headerstdio.h
. Exemplu:#include<stdio.h> int main(){ printf("Introduceti un caracter: "); char c = getchar(); printf("Caracterul introdus a fost: %c\n", c); return 0; }
- Tasta
Enter
produce un caracter numit newline care are codul ASCII 10 (sau '\n'). - Formatul textului de la ieșire trebuie să fie identic cu cel de la secțiunea "Date de ieșire" pentru a evita depunctarea de către programul de evaluare.
- Acesta este un executabil pentru Linux pe 32 de biți care implementează tema. Îl puteți folosi pentru testare.
- Atenție: Nu afișați în consolă nimic altceva decât se cere explicit în problemă. Mai concret, nu printați nimic înainte de citirea textului de la tastatură (ex: Introduceți textul: ).
Restricții
Nu se pot utiliza vectori/ șiruri de caractere.
Livrabile și modalitate de predare
Predarea se face pe platforma Web-Cat și constă în upload-ul unui singur fișier sursă C care să implementeze funcționalitatea cerută.
Notare
Pentru această temă se pot acorda 10 puncte:
- 7 puncte pentru comportamentul aplicației, care se acordă automat de către platforma de testare, imediat după predare, în funcție de calitatea temei;
- 3 puncte pentru stilul de scriere a programului, alinierea codului, nume lizibile de variabile, etc., care se acordă ulterior de către un cadru didactic.
Atenție: Pentru această temă se pot SCĂDEA 11 puncte, dacă aceasta se dovedește că este copiată.
Termen limită
Termenul limită pentru depunerea temei este 21 noiembrie, ora 23:55. Apoi, pentru fiecare zi întârziere, veți fi penalizați cu un punct.