Testare pe tema programarii. Test de cunoștințe de programare. Funcțiile se numesc virtuale

12.02.2022 Programe

Întrebări de testare despre „Programare orientată pe obiecte în C++”

Răspunsurile corecte la testul C++ sunt indicate cu *.

1. Clasa este:

Orice tip de date definit de utilizator

- * tip de date definit de utilizator care combină datele și funcțiile de procesare

O structură pentru care programul are funcții pentru a lucra cu el

5.Test. Membrii clasei pot fi

- * atât variabilele cât și funcțiile pot fi declarate private sau publice

Doar variabilele declarate private

Doar funcțiile declarate private

Doar variabilele și funcțiile declarate private

Numai variabilele și funcțiile declarate publice

6. Ce este un constructor?

- * o metodă al cărei nume se potrivește cu numele clasei și care este apelată automat când este creat un obiect al clasei

O metodă al cărei nume este același cu numele clasei și care este apelată automat atunci când clasa este declarată (înainte de crearea obiectului clasei)

O metodă al cărei nume nu este neapărat același cu numele clasei și care este apelată atunci când este creat un obiect al clasei

O metodă al cărei nume se potrivește cu numele clasei și care trebuie apelată în mod explicit din programul principal atunci când se declară un obiect al clasei

4. Obiectul este

Variabilă care conține un pointer către o clasă

- * instanță de clasă

O clasă care conține date și metode de procesare

8. Verificați afirmațiile corecte

- * constructorii de clasă nu sunt moșteniți

Pot exista mai mulți constructori pentru o clasă; sintaxa acestora este determinată de programator

- * pot exista mai mulți constructori pentru o clasă, dar sintaxa acestora trebuie să respecte regulile de supraîncărcare a funcției

Constructorul returnează un pointer către un obiect

- * constructorul nu returnează o valoare

9. Ce se numește un destructor?

Metodă care distruge un obiect

Metodă care șterge un obiect

- * metoda care elibereaza memoria ocupata de un obiect

Funcție de sistem care eliberează memoria ocupată de un obiect

7. Alegeți afirmațiile potrivite

- * constructorul poate avea parametri

Constructorul este moștenit, dar trebuie supraîncărcat

Constructorul trebuie întotdeauna apelat explicit înainte ca obiectul să fie declarat

- * constructorul este apelat automat când un obiect este declarat

Fiecare declarație de clasă trebuie să conțină propriul constructor

- * dacă constructorul nu este creat, compilatorul îl va crea automat

10. Alegeți afirmațiile potrivite

Un destructor este o metodă de clasă folosită pentru a șterge un obiect

- * un destructor este o metodă de clasă folosită pentru a elibera memoria ocupată de un obiect

Un destructor este o funcție separată a programului principal folosit pentru a elibera memoria ocupată de un obiect

- * destructorul nu este moștenit

Destructorul este moștenit, dar trebuie supraîncărcat

Test- 11. Ce se numește moștenire?

- * acesta este mecanismul prin care o clasă derivată primește elemente ale părintelui și le poate completa sau modifica proprietățile și metodele

Acesta este un mecanism pentru suprascrierea metodelor clasei de bază

Acesta este mecanismul prin care o clasă derivată primește toate câmpurile clasei de bază

Acesta este mecanismul prin care o clasă derivată primește elemente ale părintelui său, le poate adăuga, dar nu le poate suprascrie.

12. Selectați declarația corectă de clasă derivată

Clasa Mai multeDetalii::Detalii;

Clasa Mai multeDetalii: Detalii ale clasei publice;

- * clasa Mai multeDetalii: Detalii publice;

Clasa Mai multeDetalii: clasa(Detalii);

13. Alegeți afirmațiile corecte:

Dacă elementele clasei sunt declarate private, atunci ele sunt accesibile numai descendenților clasei, dar nu și funcțiilor externe

- * dacă elementele clasei sunt declarate private, atunci ele nu sunt inaccesibile nici descendenților clasei, nici funcțiilor externe

Dacă elementele sunt declarate publice, atunci ele sunt disponibile pentru descendenții clasei, dar nu și pentru funcțiile externe

- * dacă elementele sunt declarate publice, atunci acestea sunt disponibile atât pentru descendenții clasei, cât și pentru funcțiile externe

14. Se determină posibilitatea și metoda de accesare a elementelor clasei de bază de către clasa derivată

Chei de acces: private, publice, protejate în corpul clasei derivate

Numai cu cheia de acces protejată în antetul declarației de clasă derivată

- * chei de acces: private, publice, protejate în antetul declarației de clasă derivată

Chei de acces: private, publice, protejate în corpul clasei de bază

15. Selectați mapările corecte între specificatorul clasei de bază, cheia de acces din declarația clasei derivate și drepturile de acces ale clasei derivate la elementele clasei de bază

Cheie de acces - publică; în clasa de bază: privat; drepturile de acces în clasa derivată sunt protejate

- * cheie de acces - orice; în clasa de bază: privat; drepturi de acces în clasa derivată - fără drepturi

- * cheie de acces - protejată sau publică; în clasa de bază: protejat; drepturile de acces în clasa derivată sunt protejate

Cheie de acces - privată; în clasa de bază: public; drepturi de acces în clasa derivată - public

- * cheie de acces – oricare; în clasa de bază: public; drepturi de acces în clasa derivată - la fel ca cheia de acces

16. Funcția prietenoasă este

O funcție a unei alte clase ale cărei argumente includ elemente ale acestei clase

- * o funcție declarată într-o clasă cu atributul friend, dar nu este membru al clasei;

O funcție care este membru al unei clase și declarată cu atributul friend;

O funcție care este declarată într-o altă clasă ca prietenoasă cu aceasta

17. Alegeți afirmațiile corecte:

- * o funcție poate fi prietenoasă cu mai multe clase

O funcție prieten nu poate fi o funcție obișnuită, ci doar o metodă a unei alte clase

- * o funcție prietenoasă este declarată în interiorul clasei ale cărei elemente are nevoie de acces

O funcție prieten nu poate fi o metodă a unei alte clase

18. Un șablon de funcție este...

- * definirea unei funcții în care tipului de date în curs de prelucrare i se atribuie un simbol

Un prototip de funcție cu un tip condiționat în loc de nume de parametri

O definiție a funcției care specifică opțiuni posibile pentru tipurile de parametri care trebuie procesați

O definiție a funcției în care prototipul specifică un tip condiționat, iar definiția specifică opțiuni pentru tipurile de parametri care trebuie procesați

2. Alegeți afirmațiile corecte:

- * implicit, membrii clasei au atributul privat

În mod implicit, membrii clasei au atributul public;

Membrii clasei au acces numai la elemente publice;

- * elementele de clasă cu atributul privat sunt disponibile numai pentru membrii clasei

3. Redefinirea operațiilor are forma:

Numele clasei, cuvânt cheie funcționare, simbol de funcționare

- * class_name, operator cuvânt cheie, simbol operație, argumente pot fi specificate în paranteze

Class_name, operator cuvânt cheie, listă de argumente

Class_name, două puncte, cuvânt cheie operator, simbol operație

Test- 19. Pentru a accesa elementele obiectului, utilizați:

- * la accesarea prin numele obiectului - punct, la accesarea printr-un pointer - operația „->”

La accesarea prin numele obiectului - două puncte, la accesarea printr-un pointer - operația „punct”.

Când accesați prin numele obiectului - un punct, când accesați printr-un pointer - două puncte

Când accesați prin numele obiectului, utilizați două puncte; când accesați printr-un pointer, utilizați operația „->”.

20. Polimorfismul este:

- * o facilitate care permite folosirea unui nume pentru a desemna acțiuni comune claselor înrudite

Un instrument care vă permite să utilizați metode cu aceleași nume în aceeași clasă;

Un instrument care vă permite să utilizați metode cu nume diferite într-o clasă pentru a efectua aceleași acțiuni

Un instrument care vă permite să supraîncărcați funcții cu care să lucrați tipuri diferite sau un număr diferit de argumente.

21. Polimorfismul este implementat prin mecanisme:

- * funcții de supraîncărcare, funcții virtuale, șabloane

Supraîncărcarea funcțiilor, moștenirea metodei, șabloane;

Moștenirea metodelor, funcțiilor virtuale, șabloane

Supraîncărcări de funcții, moștenire, funcții virtuale.

22. Funcțiile se numesc virtuale:

- * funcții de clasă de bază care pot fi suprascrise într-o clasă derivată

Funcții ale clasei de bază care nu sunt utilizate în clasa derivată;

Funcții de clasă de bază care nu pot fi suprascrise în clasa de bază;

Funcții de clasă derivate suprascrise de la clasa de bază

23. Selectați opțiunea corectă pentru alocarea memoriei dinamice pentru variabila float X:

- * float *ptr = float nou; X = *ptr;

Float&ptr = float nou; X = &ptr;

Float * ptr = X = float nou;

24. Polimorfismul în programarea orientată pe obiect este implementat:

- * prin mecanisme de supraîncărcare (funcții și operații), funcții virtuale și șabloane

Prin mecanisme de supraîncărcare (funcții și operații) și șabloane;

Prin funcții și șabloane virtuale;

Prin mecanisme de supraîncărcare (funcții și operații) și funcții virtuale

25. Definiția clasei date

int sănătate, armo;

monstr(int he, int arm);

26.Test. Specificați proprietățile și metodele disponibile pentru funcțiile externe

Sănătate, armo
monstr(int he, int arm);
monstr(int he=50, int arm=10);

- * culoare int;
monstr(int he=50, int arm=10);

Sănătate, armură, culoare
monstr(int he=50, int arm=10);

Culoarea int;
monstr(int he, int arm);

Dacă ați studiat deja mai multe subiecte în limbajul C++, sau pur și simplu cunoașteți bine acest limbaj de programare, aveți ocazia să vă testați cunoștințele susținând un test interactiv! Mai jos, tabelul prezintă 6 etape (părți) ale testării. Întrebările testului au fost special împărțite în subgrupe separate. Acest lucru a fost făcut pentru a reduce numărul de întrebări într-un test separat. După cum puteți vedea, întrebările testului sunt organizate în ordine de la ușor la greu, cu elementele de bază mai întâi, declarații de ramificație, bucle etc. De exemplu, dacă susțineți testul 3, se presupune că ați trecut deja testele 1 și 2. Bineînțeles, dacă nu. Este interesant să dai testele 1 și 2, nu trebuie. Vă recomand să începeți de la bun început, cu testul 1. Vă garantez că veți învăța ceva nou pentru dvs.

Testarea C++ (partea 1) Noțiuni de bază pentru programare, bucle (for , while , do while), operator de comutare cu alegere multiplă 30
Testarea C++ (partea 2) Operații aritmetice și logice, dacă operator de selecție, intrare/ieșire, conversie tip de date. 34
Testarea C++ (Partea 3) Șiruri, referințe, pointeri, matrice. 33

Programarea este procesul de scriere, testare, depanare și întreținere a codului software. Codul programului este scris într-un limbaj de programare de la zero sau folosind dezvoltări gata făcute. Scrierea aplicațiilor necesită multe cunoștințe, cum ar fi cunoașterea domeniul subiectului, cunoștințe de algoritmi și, bineînțeles, capacitatea de a folosi instrumente de dezvoltare.

Pentru a pregăti tinerii profesioniști să studieze limbaje și tehnologii specifice de programare, a fost creat testul Programare - Fundamente.

Publicul țintă al testului de programare

Testul Noțiunile de bază ale programării conține întrebări foarte simple și, cel mai probabil, nu va cauza dificultăți persoanelor care au o anumită experiență, chiar minimă, în programare.

Testul este destinat în primul rând celor care abia încep să învețe programarea. După consolidarea cunoștințelor tale teoretice, te invităm să alegi una dintre numeroasele căi pentru dezvoltarea ta ulterioară în domeniul dezvoltării software.

Structura testului de programare

Întrebările testului nu au fost încă împărțite pe subiecte, deoarece lista lor este în curs de aprobare.

Cu toate acestea, se pot distinge deja următoarele categorii de întrebări:

  • Concepte și termeni de bază
  • algebră booleană
  • Sisteme numerice
  • Algoritmi simpli

Dezvoltarea ulterioară a testului Bazele programării

Cele mai importante definiții ale termenilor de programare vor fi adăugate în curând testului.

Pentru a dezvolta gândirea algoritmică, testul va fi completat cu întrebări cu fragmente de pseudocod.

Sperăm că testul va fi util tuturor celor care abia încep să învețe programarea. Așteptăm cu nerăbdare sugestiile și comentariile dumneavoastră.

Testul 1. Programare

1. Care este alfabetul unei limbi?

1) Setul de simboluri în limba rusă utilizat în compunerea oricăror texte se numește alfabetul limbii.

2) Setul de numere și semne de punctuație utilizate în compunerea textelor se numește alfabetul unei limbi.

3) Setul de semne elementare utilizate în compunerea oricăror texte se numește alfabetul unei limbi.

Raspunsul corect este 3.

2. Cea mai mică unitate de informație?

1) Bit.

2) octet.

3) KB.

Raspunsul corect este 1.

3. Pentru ce este folosit un computer?

1) Un computer este un dispozitiv pentru tipărirea textului.

2) Un computer este un dispozitiv pentru prelucrare universală informație.

3) Un computer este un dispozitiv pentru jocuri.

Raspunsul corect este 2.

4. Ce se numește algoritm?

1) Algoritm – o descriere a unei secvențe de acțiuni (plan), a cărei execuție strictă duce la rezolvarea unei probleme date într-un număr finit de pași.

2) Algoritm – o descriere a secvenței de acțiuni (plan) pentru rezolvarea unei probleme.

3) Algoritm – un plan brut pentru rezolvarea unei probleme.

Raspunsul corect este 1.

5. Ce este compilarea?

1) Compilare - compilare automată a unui program de mașină dintr-un program sursă scris într-un limbaj de programare, realizată de un traducător-compilator. Limbile de tip compilare traduc mai întâi întregul text al programului în codul mașinii și abia apoi fișierul rezultat poate fi executat.

2) Compilare - compilarea automată a unui program de mașină dintr-un program sursă scris în orice limbaj de programare.

3) Compilare - compilare automată a unui program de mașină, rând cu rând, a programului sursă scris într-un limbaj de programare, realizată de un traducător-interpret. Limbajele de programare de tip compilare, atunci când execută un program, traduc o linie de program în cod mașină într-o singură trecere.

Raspunsul corect este 1.

6. Ce este interpretarea?

1) Interpretare - compilare automată a unui program de mașină, rând cu rând, a programului sursă scris într-un limbaj de programare, realizată de un traducător-interpret. Limbajele de programare interpretative, atunci când execută un program, traduc o linie de program în cod mașină într-o singură trecere.

2) Interpretare - compilarea automată a unui program mașină dintr-un program sursă scris într-un limbaj de programare, realizată de un traducător-interpret. Limbile de interpretare traduc mai întâi întregul text al programului în codul mașinii și abia apoi fișierul rezultat poate fi executat.

3) Interpretare - compilarea automată a unui program de mașină dintr-un program sursă scris în orice limbaj de programare.

Raspunsul corect este 1.

7. În ce secțiune sunt descrise variabilele?

1) În secțiunea care descrie constantele.

2) În secțiunea descriere tip.

3) În secțiunea descriere variabilă.

Raspunsul corect este 3.

8. Prin ce se caracterizează variabila?

1) Nume, tip, valoare.

2) Nume, sens.

3) Valoare, tip.

Raspunsul corect este 1.

9. Cum se termină programul?

1) SFÂRȘIT.

2) Clrscr.

3) Readln.

Raspunsul corect este 1.

10. Cum este scrisă declarația de ieșire?

Raspunsul corect este 1.

11. Cum este scrisă declarația de intrare?

1) PRINT a1;a2; …;un WRITELN(а1,а2,..,аn)

2) Citiți a1;a2; …;o tastă de citire(а1,а2,..,аn)

3) Intrare a1;a2; …;un Readln(а1,а2,..,аn)

Raspunsul corect este 3.

12. Cum este scris operatorul de atribuire?

a=1 a:=1;

A:=1 a=1;

A=:1 a=:1;

Raspunsul corect este 1.

13. Scrieți următoarele expresii în Qbasic și Turbo Pascal 7.0: y = 5 x 2 – 10 x + 2;

1) Y=5*x*x+10*x+2 Y:=5*x*x+10*x+2

2) Y=5*x*x+10x+2 Y:=5*x*x+10x+2

3) Y=5x*x+10x+2 Y:=5x*x+10x+2

Raspunsul corect este 1.

14. Ce operații pot fi aplicate variabilelor de tip întreg?

1) Adunarea, scăderea, înmulțirea, împărțirea, găsirea restului.

2) Adunarea, scăderea, înmulțirea, împărțirea întregului, găsirea restului.

3) Adunarea, înmulțirea, împărțirea întregului, găsirea restului.

Raspunsul corect este 3.

15. Există un operator condiționat:

DACĂ D10 ATUNȚI PRIMĂ „Noi” ELSE PRIMĂ „Rău”

if D10 Then writeln("ypa") Else Writeln(" rău...");

Este posibil să-l înlocuiți cu următoarele afirmații:

1) DACĂ D10 ATUNCI TIPRIȚI „Rău” ALTE TIPRIȚI „Hurra”

if D10 Then Writeln("nлoxo...") Else Writeln("ypa").

2) DACĂ NU (D=10) ATUNCI TIPRIȚI „Rău” ALTE TIPRIȚI „Hurra”

Dacă NU(D=10) Atunci scrieți(‘nлoxo…) Altfel scrieți(„ypa”).

3) DACĂ NU (D0) ATUNCI TIPRIȚI „Rău” ALTE TIPRIȚI „Hurra”

Dacă nu (D10) Atunci scrieți("nлoxo...") Altfel scrieți("ypa").

Raspunsul corect este 3.

16. Un operator de buclă al cărui corp nu poate fi executat nici măcar o dată (în funcție de valoarea parametrului de buclă) este un operator de buclă:

1) cu o precondiție (WHILE) și o postcondiție (DO ... LOOP în Pascal REPEAT);

2) cu o precondiție (WHILE) și cu un număr dat de repetări (FOR);

3) cu un număr dat de repetări (FOR) și cu o postcondiție (DO ... LOOP în Pascal REPEAT).

Raspunsul corect este 2.