labc#_10

14

Click here to load reader

Transcript of labc#_10

Page 1: labc#_10

PROIECT DE PROGRAME NR. 1. Operaţii. Organizarea ciclurilor în program. Lucrul cu consola

I. Scopul lucrării

1. Studierea programelor ce au o structură simplă, alternativă sau ciclică.2. Elaborarea unei aplicaţii de consolă.3. Aplicarea algoritmilor standard.4. Lucrul în regimul de dialog.

II. Formularea problemei

De efectuat următoarele operaţii conform variantei:1. De verificat dacă numărul n (numerele m, n şi k) satisface condiţia indicată.2. De indicat toate numerele din intervalul [a; b], care satisfac condiţia indicată.3. De indicat primele n numere, care satisfac condiţia indicată.

III. Datele iniţiale

a, b – numere întregi de la –32768 la +32767 (1); c, d – limitele intervalului (2); n – număr natural: 0100 (3).

IV. Indicaţii metodice

1. Programul trebuie să fie universal, adică trebuie să se obţină rezultatul pentru orice date iniţiale.2. De utilizat şi de apelat funcţii.

V. La tipar de extras

1. Pentru (1) rezultatul testării.2. Pentru (2–3) rezultatul.

VI. Variantele însărcinărilor

Nr. var. Condiţia1 Tripletele (m, n, k) de numere naturale care verifică condiţia: m2 + n2 = k2.2 Numere perfecte. Un număr n este perfect dacă este egal cu suma divizorilor lui diferiţi de n; exemplu: 6=1+2+3.3 Numerele Fibonacci, şir definit de relaţia de recurentă ti+1 = ti + ti-1, i=1, 2,..., avînd t0 = t1 = 1.4 k – Media aritmetică a 2 numere precedente m şi n.5 Numerele prime "permutabile": numere prime ce îşi păstrează proprietatea de a rămîne prime pentru toate

permutările cifrelor lor. Ex. 13 şi 31; 131, 113 şi 311, etc. 2, 3 sau 4 cifre.6 Numere impare succesive a căror sumă este egală cu n3, pentru n = 1,...,20. (Ex. 13=1, 23=3+5, 33=7+9+11, etc.).7 Numerele Armstrong: întregi de trei cifre abc cu proprietatea abc = a3 + b3 + c3.8 Numerele prime.9 Numerele pare.10 Numărul numerelor relativ prime cu n şi mai mici ca n.11 Numerele divizibile la n.12 Numere palindroame.13 Numerele prime "inverse": numere prime ce îşi păstrează proprietatea de a rămîne prime la inversarea cifrelor lor.

Ex. 13 şi 31; 113 şi 311, etc.). 2, 3 sau 4 cifre.14 Numerele, a căror suma cifrelor este divizibilă la n.15 Numere prietene.16 Numerele impare.

Page 2: labc#_10

PROIECT DE PROGRAME NR. 2. Organizarea ciclurilor în program. Lucrul cu tabele de numere

I. Scopul lucrării

1. Studierea programelor ce au o structură ciclică.2. Organizarea subproceselor în formă de funcţii.3. Utilizarea tabelelor de numere.4. Elaborarea unei aplicaţii Windows.

II. Formularea problemei

De efectuat următoarele operaţii conform variantei:1. De efectuat citirea datelor tabelului de la tastatură utilizînd diferite componente.2. De generat datele tabelului în mod aleator.3. De determinat într-un tabel de numere valorile minimă şi maximă.4. De aranjat un tabel de numere în ordine crescătoare sau descrescătoare, utilizând una sau mai multe metode de sortare.5. De căutat un număr indicat printre elemente tabelului.6. De efectuat rotirea la stînga sau la dreapta a elementelor tabelului cu una sau mai multe poziţii.7. De efectuat ştergerea primului, ultimului element sau a elementului indicat.8. De inserat un nou element în faţa primului element, după ultimul element, în faţa sau după elementul indicat.9. De determinat caracteristicile tabeluluui, conform variantei.10. De scris funcţii pentru citirea, afişarea şi prelucrarea tabelelor.

III. Datele iniţiale

Rangul n şi tabelul x[n].

IV. Indicaţii metodice

1. Programul trebuie să fie universal, adică trebuie să se obţină rezultatul pentru orice date iniţiale.2. De utilizat meniuri.3. De definit funcţii pentru fiecare prelucrare.4. Dacă nu-s elemente, care satisfac condiţia indicată, de afişat mesajul corespunzător.

V. La tipar de extras

1. Pentru (1–9) tabelul iniţial.2. Pentru (1–9) rezultatul (rezultatele) obţinute.

VI. Variantele însărcinărilor

Nr. var. Caracteristicile1 Suma numerelor de pe poziţiile pare şi suma numerelor de pe poziţiile impare.2 Produsul numerelor de pe poziţiile pare şi produsul numerelor de pe poziţiile impare.3 Media numerelor de pe poziţiile pare şi media numerelor de pe poziţiile impare.4 Media numerelor pare şi media numerelor impare.5 Suma numerelor pare şi media numerelor impare.6 Produsul numerelor pare şi produsul numerelor impare.7 Suma şi numărul elementelor, care sînt pătrate ale unui număr natural.8 Numărul, suma şi media numerelor prime pozitive.9 Numărul, suma şi media numerelor negative.10 Numărul, suma şi media numerelor pozitive.11 Numărul, suma şi media numerelor pozitive, divizibile la n.12 Numărul, suma şi media numerelor palindroame.13 Numărul, suma şi media numerelor de pe poziţii pare.14 Numărul, suma şi media numerelor de pe poziţii impare.15 Numărul, suma şi media numerelor Armstrong.16 Numărul zerourilor anumerelor negative şi pozitive.

Page 3: labc#_10

PROIECT DE PROGRAME NR. 3. Lucrul cu matrice de numere

I. Scopul lucrării

1. Utilizarea tabelelor bidimensionale de numere. Generarea de matrice.2. Elaborarea unei aplicaţii Windows.

II. Formularea problemei

De efectuat următoarele operaţii conform variantei:1. De scris funcţii pentru citirea, afişarea şi prelucrarea matricelor citite de la tastatură.2. De scris funcţii pentru generarea matricelor aleatoare.3. De determinat într-o matrice valorile minimă şi maximă şi poziţiile lor.4. De interschimbat 2 linii (variantele impare) sau 2 coloane (variantele pare).5. De adăugat o linie (variantele pare) sau coloană (variantele impare), de completat conform variantei.6. De aranjat o matrice după linia (variantele pare) sau coloana (variantele impare) adăugată.7. De determinat punctele şa ale matricei.8. De generat o matrice conform variantei.

III. Datele iniţiale

k, l – numărul liniilor (coloanelor), ce vor fi interschimbate (3); k – numărul liniei (coloanei), după care se va efectua aranjarea (5).

IV. Indicaţii metodice

1. Programul trebuie să fie universal, adică trebuie să se obţină rezultatul pentru orice date iniţiale.2. Matricea poate fi de formă pătratică sau dreptunghiulară.

V. La tipar de extras

1. Pentru (1–7) matricea iniţială. Pentru (3) valorile minimă şi maximă şi poziţiile lor. 2. Pentru (4–6) matricea finală. Pentru (7) punctele şa şi poziţiile lor. Pentru (8) matricea generată.

VI. Variantele însărcinărilor

Nr

Punctul 4 Punctul 6 (test 33) Nr

Punctul 4 Punctul 6 (test 33)

1 suma elementelor pare

9 suma elementelor impare

2 numărul elementelor prime

10 numărul elementelor divizibile prin 5

3 numărul elementelor pare

11 numărul elementelor impare

4 numărul elementelor nule

12 numărul elementelor nenule

5 suma tuturor elementelor

13 produsul tuturor elementelor

6 media aritmetică a tuturor elementelor

14 minimumul

7 maximumul 15 produsul elementelor nenule

Page 4: labc#_10

8 media elementelor pare

16 media elementelor impare

Page 5: labc#_10

PROIECT DE PROGRAME NR. 4. Şiruri de caractere

I. Scopul lucrării

1. Însuşirea deprinderilor de algoritmizare şi programare a problemelor legate de prelucrarea datelor textuale.2. Utilizarea funcţiilor standard de prelucrare a şirurilor de caractere.3. Stocarea datelor în fişiere text.4. Utilizarea funcţiilor standard de prelucrare a datelor din fişiere text.5. Organizarea subproceselor în formă de funcţii.6. Lucrul în regimul de dialog.

II. Formularea problemei

De efectuat următoarele operaţii conform variantei:1. Într-o frază de determinat numărul de cuvinte.2. De determinat cuvintele dintr-o frază, care satisfac condiţia indicată.3. De interschimbat 2 cuvinte cu locurile într-o frază.4. De înlocuit un cuvânt cu altul într-o frază.5. De dublat literele cuvintelor dintr-o frază.6. Într-un fişier text de determinat numărul de cuvinte.7. De înscris în alt fişier text cuvintele, care satisfac condiţia indicată.8. De interschimbat 2 cuvinte cu locurile într-un fişier text.9. De înlocuit un cuvânt cu altul într-un fişier text.

III. Datele iniţiale

O frază s, citită de la tastatură (1–5); un fişier text, conţinutul căruia este cules cu ajutorul unui editor de texte (6–9). În unele variante litera indicată.

IV. Indicaţii metodice

1. Programul trebuie să fie universal, adică trebuie să se obţină rezultatul pentru orice date iniţiale.2. De scris funcţii de citire şi prelucrare a datelor textuale, citite de la tastatură sau dintr-un fişier text.

V. La tipar de extras

1. Pentru (1–5) fraza iniţială şi rezultatele: fraza finală sau cuvintele selectate.2. Pentru (6–9) conţinutul fişierului iniţial şi rezultatele: conţinutul fişierului final sau cuvintele selectate.

VI. Variantele însărcinărilor

Nr. var. Condiţia (punctele 2 şi 7)1 Cuvântul (cuvintele) de lungimea maximă.2 De inversat cuvintele.3 Cuvintele, ce conţin cel puţin 2 litere indicate.4 Cuvintele, care încep şi se termină cu una şi aceaşi literă.5 Cuvintele, lungimea cărora e mai mare ca 6.6 Cuvinte care încep cu litera dată.7 Cuvintele-numere separate.8 Distribuţia frecvenţei lungimii cuvintelor.9 Cuvintele, ce conţin litera indicată de cel puţin 2 ori.10 Cuvintele - palindroame.11 Cuvintele cu litere majuscule.12 Cuvinte care încep cu o literă din domeniul indicat.13 Cuvintele cu litere duble (2 litere cosecutive aceleaşi).14 Cuvintele, ce conţin o vocală de cel puţin 2 ori.15 Cuvinte, lungimea cărora e mai mică decît 5.16 Cuvintele-numere separate, care reprezintă pătratele numerelor.

Page 6: labc#_10

PROIECT DE PROGRAME NR. 5. Colecţii

I. Scopul lucrării

1. Însuşirea deprinderilor de algoritmizare şi programare a problemelor legate de prelucrarea datelor neomogene.2. Utilizarea funcţiilor standard de prelucrare a datelor din fişiere binare.3. Organizarea fişierelor externe. Stocarea datelor în fişiere binare.4. Organizarea subproceselor în formă de funcţii.5. Definirea unei clase de bază.6. Aranjarea datelor din fişiere.7. Utilizarea fişierelor proiect.

II. Formularea problemei

Fie descrise următoarele structuri de date neomogene:I. Student – cu câmpurile: Id; Numele; Ziua, luna şi anul naşterii; Anul de studii; Semestrul; Notele pe semestru;

II. Tara – cu câmpurile: Id; Denumirea; Aria; Populaţia; Numărul de şcoli; Numărul de spitale, PIB;III. Elev – cu câmpurile: Id; Numele; Ziua, luna şi anul naşterii; Clasa; Notele pe trimestru;IV. Tren – cu câmpurile: Numărul trenului; Staţia de plecare; Staţia-terminus; Zilele săptămânii; Ora de plecare.De efectuat următoarele operaţii conform variantei:1. De organizat datele iniţiale în formă de structuri şi clase.2. De înscris datele iniţiale într-un fişier binar. De adăugat date.3. De afişat conţinutul fişierului iniţial / intermediar / final.4. De modificat (corectat) datele din fişier.5. De efectuat operaţiile necesare conform variantei.6. De aranjat datelor din fişier în ordinea indicată conform variantei.7. De definit metode de citire şi afişarea a membrilor clasei.8. De definit şi de aplicat metode pentru efectuare operaţiilor prevăzute.9. De organizat definirea funcţiilor în fişiere-sursă separate, utilizând fişierul proiect.

III. Datele iniţiale

Se introduce iniţial un set de articole ( 5), apoi se adaugă date (în total, cel puţin 20 articole).

IV. Indicaţii metodice

1. Programul trebuie să fie universal, adică trebuie să se obţină rezultatul pentru orice date iniţiale.2. De scris funcţii de înscriere, adăugare, afişare, modificare, aranjare şi prelucrare a datelor din (în) fişierul binar.

V. La tipar de extras

Pentru (3–6, 8) afişarea informaţiei iniţiale şi a informaţiei conform variantei indicate în formă de tabele.

VI. Variantele însărcinărilor

Nr.

Problema Condiţia (punctele 5 şi 8) Condiţia (punctele 6 şi 8)

1 I. Student De calculat media totală a grupei şi de afişat lista studenţilor cu media mai mare decât media totală.

Descrescătoare (Media – reitingul)

2 II. Tara De afişat informaţia despre o ţară, indicând densitatea populaţiei, numărul şcolilor, spitalelor, la 1000 de oameni.

Descrescătoare (Nr. de spitale / 1000)

3 III. Elev De calculat media totală a clasei şi de afişat lista elevilor cu media mai mică decât media totală.

Descrescătoare (Data de naştere)

4 IV. Tren De afişat lista trenurilor, care circulă din staţia indicată. Crescătoare (St. plecare + ora)5 I. Student De afişat lista studenţilor-eminenţi. Crescătoare (Numele, alfabetică)6 II. Tara De afişat informaţia despre ţara (ţările) cu densitate max şi

min.Descrescătoare (Populaţia)

7 III. Elev De afişat lista elevilor dintr-o clasă anumită. Descrescătoare (Nota medie)8 IV. Tren De afişat lista trenurilor, care circulă spre staţia indicată. Crescătoare (St. – terminus + ora)9 I. Student De afişat lista studenţilor-restanţieri. Descrescătoare (Data de naştere)10 II. Tara De afişat informaţia despre ţara (ţările) cu PIB max şi min. Descrescătoare (Densitatea

populaţiei)11 III. Elev De afişat lista elevilor, care s-au născut într-o lună anumită. Crescătoare (Clasa + alfabetică)12 IV. Tren De afişat lista trenurilor, care circulă pe data indicată. Crescătoare (St.plecare+St.–terminus)13 I. Student De afişat informaţia despre studenţii cu numele de familie, ce

încep cu o literă, dintr-un interval anumit.Crescătoare (Anul de studii, Numele)

14 II. Tara De afişat informaţia despre ţara (ţările) cu populaţia max şi min.

Crescătoare (alfabetică)

Page 7: labc#_10

15 III. Elev De afişat lista elevilor-eminenţi. Crescătoare (Numele)16 IV. Tren De afişat lista trenurilor, care circulă spre staţia indicată pe

data indicată.Descrescătoare (St. – terminus + St. plecare)

Page 8: labc#_10

PROIECT DE PROGRAME NR. 6. Interfeţe

I. Scopul lucrării

1. Însuşirea deprinderilor de algoritmizare şi programare a problemelor legate de aplicarea listelor dinamice.2. Aplicarea operaţiilor de creare, parcurgere şi ştergere a listei; de adăugare (ştergere) a elementelor în (din) listă.3. Prelucrarea datelor din fişiere text.4. Utilizarea funcţiilor standard de prelucrare a datelor din fişiere text.5. Organizarea subproceselor în formă de funcţii.6. Utilizarea funcţiilor recursive.7. Utilizarea fişierelor proiect.

II. Formularea problemei

De efectuat următoarele operaţii conform variantei:1. De înscris datele iniţiale, conform variantei, într-un fişier text cu ajutorul unui editor de texte arbitrar.2. De citit datele din fişier şi de le înscris într-o listă dinamică. 3. De prelucrat datele din listă conform variantei.4. De aranjat lista în ordinea indicată conform variantei.5. De înscris în alt fişier text lista ordonată.6. De şters elementul indicat din listă.7. De şters lista.8. De organizat definirea funcţiilor în fişiere-sursă separate, utilizând fişierul proiect.9. De utilizat funcţii recursive.

III. Datele iniţiale

Într-un fişier text se înscriu datele iniţiale, conform variantei. În unele variante – informaţii necesare suplimentare.

IV. Indicaţii metodice

1. Programul trebuie să fie universal, adică trebuie să se obţină rezultatul pentru orice date iniţiale.2. De scris funcţii de citire şi prelucrare a datelor dintr-un fişier text.3. Tipul listei se alege conform condiţiei problemei.

V. La tipar de extras

Pentru (2–4, 6) afişarea informaţiei iniţiale, curente şi a informaţiei conform variantei indicate.

VI. Variantele însărcinărilor

Nr.

Datele iniţiale Condiţia (punctul 3) Condiţia (p. 4) Condiţia (punctul 5)

1 Coordonatele (x, y) ale unor puncte din plan.

Lista punctelor, care se află pe prima bisectoare.

Descrescătoare, x Punctele cu coordonate < 0.

2 Mulţime de segmente din plan S={(X1,Y1),…,(Xn,Yn)}

Lista segmentelor orizontale şi verticale. Crescătoare, x Segmentele orizontale

3 Mulţime de cercuri: C={(X0,Y0,r0), …, (Xn,Yn,rn).

Suma ariilor cercurilor cu centrul pe prima bisectoare.

Descrescătoare, r Cercurile cu centrul pe prima bisectoare.

4 Culoarea, marca şi numărul de înmatriculare al unor automobile.

Numărul şi lista automobilelor cu marca indicată.

Crescătoare, marca + numărul

Automobile cu numărul < 500

5 Datele stud-lor: Nume, An, Medie. Lista studenţilor cu media > 8. Crescătoare, nume Studenţii din anul 5.6 Coordonatele segmentelor. Primul segment din cadranul I şi ultimul

segment paralel cu acesta (dacă există).Crescătoare, x Segmentele verticale

7 Matrice rară: linia, coloana, val. Lista elementelor de pe diagonala principală Crescătoare, val Elementele negative8 Numerele reale x1,x2,…,xn. Numărul şi lista elementelor nenule Crescătoare Elementele ce se repetă9 Coordonatele (x, y) ale unor

puncte din plan.Să se insereze înaintea p., care nu sunt pe prima bisectoare, p. simetric faţă de acesta.

Descrescătoare, x+y

Punctele de pe prima bisectoare.

10 Datele stud-lor: Nume, An, Medie Lista studenţilor restanţieri. Descresc., Media Studenţii-restanţieri11 Numerele naturale x1,x2,…,xn . Numărul şi lista elementelor pare Crescătoare Elementele, divizibile 412 Culoarea, marca şi numărul de

înmatriculare al unor automobileNumărul automobilelor cu marca indicată de culoarea indicată.

Crescătoare, marca + culoarea

Automobile de marca indicată

13 Coordonatele (x, y) ale unor puncte din plan.

Să se modifice prin simetrie coordonatele astfel ca p. să fie situate în primul cadran.

Crescătoare, y Punctele, aflate pe axele Ox sau Oy.

14 Matrice rară: linia, coloana, val. Minimumul elementelor de pe diagonala princ.

Crescătoare,lin+col

Elementele negative

15 Numerele reale x1,x2,…,xn Numărul şi lista elementelor pozitive Descrescătoare Elementele negative16 Numerele naturale x1,x2,…,xn. Să se adauge divizorii după numere Descrescătoare Elementele impare

Page 9: labc#_10

PROIECT DE PROGRAME NR. 7. CLASE

I. Scopul lucrării

1. Utilizarea conceptelor de bază ale programării orientate pe obiect: clase, moştenire, incapsulare, polimorfism.2. Organizarea fişierelor externe. Stocarea datelor în fişiere text şi binare.3. Organizarea subproceselor în formă de funcţii.4. Elaborarea aplicaţiilor complexe. Utilizarea fişierelor proiect.

II. Formularea problemei

De elaborat un program conform variantei.

III. Datele iniţiale

Se introduce iniţial un set de date ( 5), apoi se adaugă date.

IV. Indicaţii metodice

1. Toate operaţiile conform variantelor de realizat cu ajutorul unor funcţii, grupate în fişiere separate.2. Acţiunile se selectează dintr-un meniu. Activarea unei opţiuni din meniu se va face cu ajutorul tastelor - săgeţi sus şi

jos. Selectarea propriu-zisă a ei se va realiza acţionând tasta Enter. Programul se va termina când se va alege ultima opţiune sau se va acţiona tasta Escape (în meniu). Ca variantă, se propune utilizarea mouse - lui.

3. De utilizat cel puţin 4 fişiere-sursă: a) - pentru descrierile globale (comune); b) – pentru prelucrarea fişierelor de date (introducerea datelor ); c) – pentru prelucrarea datelor; d) – pentru afişarea datelor.

V. La tipar de extras

Se va face afişarea informaţiei iniţiale şi a informaţiei conform variantei indicate, astfel ca să fie testată valabilitatea tuturor metodelor definite.

VI. Variantele însărcinărilor

1. Să se realizeze o aplicaţie complexă care să gestioneze un set de date referitoare la elevii participanţi la un concurs. Programul va realiza următoarele: crearea bazei de date; adăugarea unui elev în baza de date, precum şi ştergerea unui elev din baza de date; căutarea unui elev în fişier; ordonarea alfabetică a elevilor din baza de date, precum şi ordonarea descrescătoare după medii a elevilor din baza de date; listarea conţinutului fişierului (la un moment dat).

2. Scrieţi un program cuprinzînd diferite funcţii de prelucrare a fişierelor ce conţin numere întregi: ordonare, căutare, adăugare sau ştergere de articole etc.

3. Să se scrie un program care să realizeze un pian electronic. Fiecărei taste i se va ataşa o notă muzicală. Tastele funcţionale (Fl .. F12) vor fi folosite pentru diferite operaţii speciale: salvarea melodiei curente într-un fişier, restaurarea şi redarea unei melodii dintr-un fişier etc.

4. Să se realizeze un program pentru o agendă telefonică permiţind gestionarea unor persoane, a adreselor lor şi a numerelor lor de telefon. Operaţiile care vor fi realizate sunt: adăugare persoană, eliminare persoană, căutare număr de telefon a unei persoane, căutarea unei persoane a cărui număr de telefon se cunoaste, modificare număr de telefon persoană, ordonare alfabetică; listarea persoanelor într-un fişier text.

5. Scrieţi un program pentru evidenţa împrumuturilor de cărţi la o bibliotecă. Programul va permite editarea unui raport lunar ce va cuprinde: data raportului, numărul de împrumuturi, numărul de cărţi împrumutate, numărul de cărţi înapoiate, numărul de cărţi pierdute, împrumuturile restante.

6. Să se scrie un program cu o interfaţă cît mai prietenoasă, care să realizeze evidenţa aprovizionărilor-vînzărilor efectuate într-un magazin.

7. Să se realizeze o aplicaţie complexă care să gestioneze un set de date referitoare la studenţi. Programul va realiza urmatoarele: crearea bazei de date; adăugarea unui student, ştergerea unui student; căutarea unui student în fişier; ordonarea alfabetică a studenţilor din baza de date, precum şi ordonarea descrescatoare dupa medii a studenţilor din baza de date; listarea conţinutului fişierului.

8. Să se realizeze o aplicaţie complexă care să gestioneze un set de date referitoare la studenţi. Programul va realiza urmatoarele: crearea bazei de date; adăugarea unui student; ştergerea unui student; căutarea unui student în fişier; ordonarea alfabetică a studenţilor din baza de date, precum şi ordonarea descrescatoare dupa medii a studenţilor din baza de date; listarea conţinutului fişierului.