Limbaje de programare: Laborator 11

Fișiere

Temă pentru laborator

Probleme propuse

  1. Scrieți un program care citește toate cuvintele (presupuse de cel mult 64 de caractere) dintr-un fișier cu numele dat pe linia de comandă și le afișează doar pe cele de lungime mai mare decât 3.
  2. Scrieți un program care numără toate cuvintele mai lungi de 10 caractere dintr-un fișier cu numele dat pe linia de comandă (cuvintele pot fi oricât de lungi).
  3. Un fișier bitmap conține un antet de 54 de octeți. La deplasamentul 18 și respectiv 22 în fișier se află, în format binar, pe câte 4 octeți, dimensiunea orizontală și respectiv verticală a imaginii. Scrieți un program care afișează dimensiunile imaginii, numele fișierului fiind dat pe linia de comandă.
    La deplasamentul 34 în fișier se află numărul de octeți ocupați de imaginea propriu-zisă. Fișierele bitmap cu 8 biți pe pixel folosesc câte un octet pentru fiecare componentă de culoare (R, G, B) dintr-un pixel. Verificați că numărul de octeți indicat în fișier e consistent cu dimensiunile imaginii și dimensiunea totală a fișierului.
  4. Implementați programul UNIX grep care caută un cuvânt într-un fișier cu numele dat pe linia de comandă. Tratați cazurile: a) cuvântul trebuie să fie de sine stătător; b) poate apare la începutul unui cuvânt mai lung; c) poate apare oriunde în alt cuvânt.
  5. Implementați programul UNIX split de despărțire a unui fișier în fragmente (cu opțiunile -b sau -l, vezi pagina de manual)
  6. Scrieți un program care afișează, sortate în ordine alfabetică, liniile un fișier text cu numele dat pe linia de comandă. Se presupune că o linie are cel mult 128 de caractere, dar fișierul poate avea oricâte linii.
  7. Scrieți un program care citește un fișier cu numele dat pe linia de comandă (presupus a avea cel mult 1000 de linii de cel mult 100 de caractere) și îl afișează în ordine crescătoare a lungimii liniilor.
    Suplimentar: liniile de lungime egală vor fi afișate în ordine alfabetică.
  8. Scrieți un program care elimină comentariile dintr-un program C. Numele fișierului în care se scrie rezultatul e format din numele fișierului inițial (dat pe linia de comandă) adăugând extensia .pp.
  9. Scrieți un program care primește pe linia de comandă un argument de forma -Dșir1=șir2 și un nume de fișier și înlocuiește în fișierul dat fiecare apariție a șirului șir1 cu șir2. Numele fișierului în care se scrie rezultatul e format din numele fișierului inițial (dat pe linia de comandă) adăugând extensia .pp.

Marius Minea
Last modified: Tue Nov 29 07:00:00 EET 2011