2010 Вариант 1, 2, 3, 4 (Коллоквиум. Варианты заданий и ответы)
Описание файла
Файл "2010 Вариант 1, 2, 3, 4" внутри архива находится в папке "Коллоквиум. Варианты заданий и ответы". PDF-файл из архива "Коллоквиум. Варианты заданий и ответы", который расположен в категории "". Всё это находится в предмете "практикум (прикладное программное обеспечение и системы программирования)" из 4 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
class Ex {int code;public:Ex(int i) : code(i) {}Ex(const Ex& ex) : code(ex.code) {}int Get() const { return code; }};struct Ex90 : Ex {Ex90() : Ex(90) {}};void f() {throw Ex90();printf("dog\n");}void t() {try { f(); }catch(Ex90 &x) {printf("cat\n");throw Ex(x.Get() + 1);printf("sheep\n");}catch(Ex &) { printf("horse\n"); }printf("cow\n");}int main() {try { t(); }catch(Ex &x) { printf("elephant %d\n", x.Get()); }catch(...) { printf("wolf\n"); }return 0;}10.
×òî íàïå÷àòàåò ñëåäóþùàÿ ïðîãðàììà?ðåàëèçóåòñÿ â Ñ++?À50 300.12345678òàêèì îáðàçîì, ÷òîáû âñå êîíñòðóêöèè ôóíêöèèãð.10main()9Åñëè â ðåàëèçàöèè ôóíêöèéB::g() è main() åñòü îøèáêè, îáúÿñíèòå, âmain() è B::g() ê èìåíàì êàæäîé ïðàïîìîùüþ ñèìâîëà :: ïðåôèêñ, óêàçûâàþùèé,int x = 0;void f(int a, int b) { x = a+b; }class A {int x;public:void f() { x = 2; }void f(char a1, char b1) { x = a1-b1; }};class B: public A {public:void f(int a) { ::x = a; }void g () {f();f(0);f(5.3 , 1);x = 1;}};int main () {B b;f(2);f(3, 'a');return 0;}ñ êàêîé îáëàñòüþ âèäèìîñòè ñâÿçàíî èìÿ.âèëüíîé êîíñòðóêöèè äîáàâüòå c÷åì îíè çàêëþ÷àþòñÿ.
 òåëå ôóíêöèé2.åòñÿ.Èçìåíÿòü ôóíêöèþmain, èñïîëüçîâàòü ìåõàíèçì èñêëþ÷åíèé, à òàêæå ôóíêöèèexit(), terminate() è ò. ï. äëÿ äîñðî÷íîãî çàâåðøåíèÿ ïðîãðàììû çàïðåùà-int main () {A a1(5), a2 = 3;a1 *= 10;a2 *= a1 *= 2;cout << a1.get() << ' ' << a2.get() << endl;return 0;}áûëè âåðíûìè, à íà ýêðàí âûäàëîñüÎïèñàòü êëàññÔ.È.Î.1.Â.1_20109. ÎÎÏ.
Äàòü îïðåäåëåíèå èíêàïñóëÿöèè. ×òî òàêîå ÀÒÄ? Êàêèì îáðàçîì ÀÒÄclass A {int i;public:A(int x) { i = x; printf("first\n"); }virtual ~A() { printf("second\n"); }int f() const { return i + g() + h(); }virtual int g() const { return i; }int h() const { return 39; }};class B : public A {public:B() : A(70) { printf("third\n"); }~B() { printf("fourth\n"); }int f() const { return g() - 2; }virtual int g() const { return 4; }int h() const { return 6; }};int main() {B b;A* p = &b;printf("result = (%d ; %d)\n", p->f(), b.f());return 0;}5. ×òî íàïå÷àòàåò ñëåäóþùàÿ ïðîãðàììà?template <class Cs> void func(const Cs& ref) { /*...*/ }template <int n> void func(int t = n) { /*...*/ }template <double f> void func(double d = f) { /*...*/ }÷¼ì îíè çàêëþ÷àþòñÿ.4.
Åñòü ëè îøèáêè â ñëåäóþùèõ çàãîëîâêàõ øàáëîíîâ? Åñëè åñòü, ïîÿñíèòå, âÅñòü ëè â ýòîì òåêñòå îøèáêè? Åñëè äà, òî â ÷¼ì îíè çàêëþ÷àþòñÿ?struct A {int i;virtual void f() = 0;virtual ~A() {}};int g(A a) { return a.i * 5; }3. Äàí òåêñò ôðàãìåíòà ïðîãðàììû:fCls(íå èçìåíÿÿ îïèñàíèå ôóíêöèèñòàëî îøèáî÷íûì.f)òàê, ÷òîáûclass I {int i;public:I() : i(9) { printf("sun\n"); }I(int a) : i(a) { printf("venus %d\n", i); }I(const I& other) : i(other.i) { printf("earth %d\n", i); }~I() { printf("moon\n"); }int Get() { return i; }void operator+=(const I& op) { i+=op.i; }};void f(I& x, I y) {y += 1000;x += y;}int main() {I i1;I i2(20);i2 += 400;f(i1, i2);printf("%d %d\n", i1.Get(), i2.Get());return 0;}8.
×òî íàïå÷àòàåò ñëåäóþùàÿ ïðîãðàììà?òîëüêî îïèñàíèåÄîïîëíèòå îïèñàíèå êëàññàclass Cls {int i;public:Cls() { i = 1; }};void f(Cls *p, Cls *q) {*p = *q;}7. Äàíû îïèñàíèå êëàññà è ôóíêöèè:int A::x;int main () {const A a;a.x = 1;a.get_0();return 0;}äóþùåãî ôðàãìåíòà ïðîãðàììû:6. Îïèñàòü êëàññ À òàêèì îáðàçîì, ÷òîáû áûëè âåðíûìè âñå êîíñòðóêöèè ñëå-class Ex {int code;public:Ex(int i) : code(i) {}Ex(const Ex& ex) : code(ex.code) {}int Get() const { return code; }};struct Ex60 : Ex {Ex60() : Ex(60) {}};void f() {throw Ex60();printf("sword\n");}void t() {try { f(); }catch(Ex60 &x) {printf("lance\n");throw Ex(x.Get() + 1);printf("dagger\n");}catch(Ex &) { printf("knife\n"); }printf("hammer\n");}int main() {try { t(); }catch(Ex &x) { printf("arche %d\n", x.Get()); }catch(...) { printf("pistole\n"); }return 0;}10.
×òî íàïå÷àòàåò ñëåäóþùàÿ ïðîãðàììà?ïîëó÷åííîì ïðîèçâîäíîì êëàññå?B10 20 30.12345678òàêèì îáðàçîì, ÷òîáû âñå êîíñòðóêöèè ôóíêöèèãð.10main()9D::h() è main() åñòü îøèáêè, îáúÿñíèòå, âmain() è D::h() ê èìåíàì êàæäîé ïðàïîìîùüþ ñèìâîëà :: ïðåôèêñ, óêàçûâàþùèé,Åñëè â ðåàëèçàöèè ôóíêöèédouble a = 0;void f(double x =void f() { a = 1;struct B {double a;void f(){ a =};class D: B {public:void f(int a)void h() {f('r');f();a = 2;}};int main () {D d;f();f(6);return 0;}{ ::a = a; }2; }2) { a = x; }}ñ êàêîé îáëàñòüþ âèäèìîñòè ñâÿçàíî èìÿ.âèëüíîé êîíñòðóêöèè äîáàâüòå c÷åì îíè çàêëþ÷àþòñÿ.
 òåëå ôóíêöèé2.åòñÿ.Èçìåíÿòü ôóíêöèþmain, èñïîëüçîâàòü ìåõàíèçì èñêëþ÷åíèé, à òàêæå ôóíêöèèexit(), terminate() è ò. ï. äëÿ äîñðî÷íîãî çàâåðøåíèÿ ïðîãðàììû çàïðåùà-int main () {B b1, b2 = b1, b3 (b2);cout << b1.get() << ' ' << b2.get() << ' ' << b3.get() << endl;return 0;}áûëè âåðíûìè, à íà ýêðàí âûäàëîñüÎïèñàòü êëàññè èìåíà äîáàâëåííûõ â ïðîèçâîäíîì êëàññå ÷ëåíîâ îòëè÷àþòñÿ îò èìåí áàçîâîãî1.Ô.È.Î.êëàññà.  ÷åì îòëè÷èå ñòàòóñà private è public äëÿ ÷ëåíîâ áàçîâîãî êëàññà âÂ.2_20109.
Ïóñòü ïðîèçâîäíûé êëàññ ïîëó÷åí èç áàçîâîãî ñïîñîáîì public-íàñëåäîâàíèÿclass A {int i;public:A(int x) { i = x; printf("mercury\n"); }virtual ~A() { printf("venus\n"); }int f() const { return 96; }virtual int g() const { return i; }int h() const { return i - f() - g(); }};class B : public A {public:B(int x) : A(x+20) { printf("earth\n"); }~B() { printf("mars\n"); }int f() const { return 8; }virtual int g() const { return 3; }int h() const { return f() + g(); }};int main() {B b(17);A* p = &b;printf("result = (%d ; %d)\n", p->h(), b.h());return 0;}5.
×òî íàïå÷àòàåò ñëåäóþùàÿ ïðîãðàììà?template <int n> class A { /*...*/ };template <float f> class B { /*...*/ };template <class Cs> class C { /*...*/ };÷¼ì îíè çàêëþ÷àþòñÿ.4. Åñòü ëè îøèáêè â ñëåäóþùèõ çàãîëîâêàõ øàáëîíîâ? Åñëè åñòü, ïîÿñíèòå, âÅñòü ëè â ýòîì òåêñòå îøèáêè? Åñëè äà, òî â ÷¼ì îíè çàêëþ÷àþòñÿ?struct S {virtual void f() const = 0;virtual ~S() {}};struct A {S s;int i;};3. Äàí òåêñò îïèñàíèÿ äâóõ ñòðóêòóð:fmystr(íå èçìåíÿÿ îïèñàíèå ôóíêöèèñòàëî îøèáî÷íûì.class I {int i;public:I() : i(6) { printf("owl\n"); }I(int a) : i(a) { printf("sheep %d\n", i); }I(const I& other) : i(other.i) { printf("horse %d\n", i); }~I() { printf("wolf\n"); }int Get() { return i; }void operator*=(const I& op) { i*=op.i; }};void f(I x, I &y) {x *= 1;y *= x;}int main() {I i1;I i2(3);i1 *= 7;f(i1, i2);printf("%d %d\n", i1.Get(), i2.Get());return 0;}8.
×òî íàïå÷àòàåò ñëåäóþùàÿ ïðîãðàììà?÷òîáû òîëüêî îïèñàíèåÄîïîëíèòå îïèñàíèå ñòðóêòóðûstruct mystr {int a, b;};int i = sizeof(mystr);int f(mystr s) {return 0;}7. Äàíû îïèñàíèÿ ñòðóêòóðû, ïåðåìåííîé è ôóíêöèè:const char C::c = '+';int main () {C ob;C::f();return 0;}äóþùåãî ôðàãìåíòà ïðîãðàììû:f)òàê,6. Îïèñàòü êëàññ Ñ òàêèì îáðàçîì, ÷òîáû áûëè âåðíûìè âñå êîíñòðóêöèè ñëå-ÎÎÏ. ×òî òàêîå ïîëèìîðôèçì? Êàêèå âèäû ïîëèìîðôèçìà ðåàëèçîâàíû âclass Ex {int code;public:Ex(int i) : code(i) {}Ex(const Ex& ex) : code(ex.code) {}int Get() const { return code; }};struct Ex51 : Ex {Ex51() : Ex(51) {}};void f() {throw Ex51();printf("train\n");}void t() {try { f(); }catch(Ex51 &x) {printf("plane\n");throw Ex(x.Get() + 1);printf("helicopter\n");}catch(Ex &) { printf("car\n"); }printf("truck\n");}int main() {try { t(); }catch(Ex &x) { printf("boat %d\n", x.Get()); }catch(...) { printf("rocket\n"); }return 0;}10.
×òî íàïå÷àòàåò ñëåäóþùàÿ ïðîãðàììà?âûïîëíåíèÿ ïðîãðàììû èëè âî âðåìÿ ðàáîòû êîìïèëÿòîðà?Ñ++, ñ ïîìîùüþ êàêèõ ìåõàíèçìîâ? Êîãäà ýòè ìåõàíèçìû ðàáîòàþò, âî âðåìÿ9.14 10 481234567810main()9S::g() è main() åñòü îøèáêè, îáúÿñíèòå, âmain() è S::g() ê èìåíàì êàæäîé ïðàïîìîùüþ ñèìâîëà :: ïðåôèêñ, óêàçûâàþùèé,Åñëè â ðåàëèçàöèè ôóíêöèéfloat y = 0;void f(float a) { y = a; }class T {int y;public:void f() { y = 2; }};class S : public T {public:void f(float n, float m) { ::y = n * m; }void f(char c1, char c2) { ::y = c1 + c2; }void g () {f();f(1);f(-1 , 1);y = 2;}};int main () {S b;f(5);f('+', 6);return 0;}ñ êàêîé îáëàñòüþ âèäèìîñòè ñâÿçàíî èìÿ.âèëüíîé êîíñòðóêöèè äîáàâüòå c÷åì îíè çàêëþ÷àþòñÿ.
 òåëå ôóíêöèé2.åòñÿ.Èçìåíÿòü ôóíêöèþmain, èñïîëüçîâàòü ìåõàíèçì èñêëþ÷åíèé, à òàêæå ôóíêöèèexit(), terminate() è ò. ï. äëÿ äîñðî÷íîãî çàâåðøåíèÿ ïðîãðàììû çàïðåùà-int main () {C c1(7), c2 = 5, c3(c1+c2);cout << c1.get() << ' ' << c2.get() << ' ' << c3.get() << endl;return 0;}.Îïèñàòü êëàññ C òàêèì îáðàçîì, ÷òîáû âñå êîíñòðóêöèè ôóíêöèèãð.áûëè âåðíûìè, à íà ýêðàí âûäàëîñü1.Ô.È.Î.Â.3_2010{ return b.g() + 2; }int f() = 0;{ return f() * 10; }~B() {}class A {int i;public:A(int x) { i = x; printf("dog\n"); }virtual ~A() { printf("cat\n"); }int f() const { return i + g() + h(); }virtual int g() const { return i; }int h() const { return 5; }};class B : public A {public:B() : A(21) { printf("sheep\n"); }~B() { printf("horse\n"); }int f() const { return g() - 3; }virtual int g() const { return 7; }int h() const { return 9; }};int main() {B b;A* p = &b;printf("result = (%d ; %d)\n", p->f(), b.f());return 0;}5.
×òî íàïå÷àòàåò ñëåäóþùàÿ ïðîãðàììà?struct mystruct { int a, b; };template <int n> void func(int t = n) { /*...*/ }template <mystruct a> void func(mystruct *p = &a) { /*...*/ }template <class Cs> void func(const Cs& ref) { /*...*/ }÷¼ì îíè çàêëþ÷àþòñÿ.4. Åñòü ëè îøèáêè â ñëåäóþùèõ çàãîëîâêàõ øàáëîíîâ? Åñëè åñòü, ïîÿñíèòå, âÅñòü ëè â ýòîì òåêñòå îøèáêè? Åñëè äà, òî â ÷¼ì îíè çàêëþ÷àþòñÿ?class B {public:virtualint g()virtual};int h(B b)3.
Äàí òåêñò ôðàãìåíòà ïðîãðàììû:smartstr,óäîâëåòâîðÿþùóþ äâóì óñëîâèÿì:class I {int i;public:I() : i(5) { printf("fist\n"); }I(int a) : i(a) { printf("lance %d\n", i); }I(const I& other) : i(other.i) { printf("dagger %d\n", i); }~I() { printf("pistole\n"); }int Get() { return i; }void operator+=(const I& op) { i+=op.i; }};void f(I& x, I y) {y += 1000;x += y;}int main() {I i1;I i2(30);i2 += 700;f(i1, i2);printf("%d %d\n", i1.Get(), i2.Get());return 0;}8. ×òî íàïå÷àòàåò ñëåäóþùàÿ ïðîãðàììà?(2) íåëüçÿ ñîçäàòü ìàññèâ ýëåìåíòîâ òèïà smartstr â äèíàìè÷åñêîé ïàìÿòè.(1) ìîæíî ñîçäàòü îáúåêò òèïà smartstr;7.
Îïèøèòå ñòðóêòóðó ñ èìåíåìint main () {const X x;X::g();x.h();return 0;}äóþùåãî ôðàãìåíòà ïðîãðàììû:6. Îïèñàòü êëàññ Õ òàêèì îáðàçîì, ÷òîáû áûëè âåðíûìè âñå êîíñòðóêöèè ñëå-class Ex {int code;public:Ex(int i) : code(i) {}Ex(const Ex& ex) : code(ex.code) {}int Get() const { return code; }};struct Ex90 : Ex {Ex90() : Ex(90) {}};void f() {throw Ex90();printf("beta\n");}void t() {try { f(); }catch(Ex90 &x) {printf("gamma\n");throw Ex(x.Get() + 1);printf("delta\n");}catch(Ex &) { printf("epsilon\n"); }printf("omicron\n");}int main() {try { t(); }catch(Ex &x) { printf("tau %d\n", x.Get()); }catch(...) { printf("omega\n"); }return 0;}10.
×òî íàïå÷àòàåò ñëåäóþùàÿ ïðîãðàììà?ðåàëèçàöèÿ êàæäîãî ïîñòóëàòà óïðîùàåò ïðîöåññ ñîçäàíèÿ ñëîæíîãî ÏÏ?ãð.30 10 20.1234567810main()9X::g() è main() åñòü îøèáêè, îáúÿñíèòå, âmain() è X::g() ê èìåíàì êàæäîé ïðàïîìîùüþ ñèìâîëà :: ïðåôèêñ, óêàçûâàþùèé,Åñëè â ðåàëèçàöèè ôóíêöèévoid f(){ putchar ('f'); }class Y {public:void f() {}};class X : public Y {double a;X(int k = 0) { a = k; }public:X(double r ) { a = r; }void f(int x) { a = x; }void f(int x, int y = 5) { a = x - y; }void g() {f();f(3);f(1, 2);}};int main () {Y y;X a;X b(2.5);b.f();return 0;}ñ êàêîé îáëàñòüþ âèäèìîñòè ñâÿçàíî èìÿ.âèëüíîé êîíñòðóêöèè äîáàâüòå c÷åì îíè çàêëþ÷àþòñÿ.  òåëå ôóíêöèé2.åòñÿ.Èçìåíÿòü ôóíêöèþmain, èñïîëüçîâàòü ìåõàíèçì èñêëþ÷åíèé, à òàêæå ôóíêöèèexit(), terminate() è ò.
ï. äëÿ äîñðî÷íîãî çàâåðøåíèÿ ïðîãðàììû çàïðåùà-int main() {D d1, d2 (1), d3(2);d1 = d2 + d3;cout << d1.get() << ' ' << d2.get() << ' ' << d3.get() << endl;return 0;}áûëè âåðíûìè, à íà ýêðàí âûäàëîñüÎïèñàòü êëàññ D òàêèì îáðàçîì, ÷òîáû âñå êîíñòðóêöèè ôóíêöèèÔ.È.Î.1.Â.4_20109. ÎÎÏ. Ïåðå÷èñëèòå îñíîâíûå ïîñòóëàòû (ìåõàíèçìû) ÎÎÏ. Êàêèì îáðàçîìclass A {int i;public:A(int x) { i = x; printf("sword\n"); }virtual ~A() { printf("lance\n"); }int f() const { return 49; }virtual int g() const { return i; }int h() const { return i - f() - g(); }};class B : public A {public:B(int x) : A(x+60) { printf("dagger\n"); }~B() { printf("knife\n"); }int f() const { return 5; }virtual int g() const { return 2; }int h() const { return f() + g(); }};int main() {B b(13);A* p = &b;printf("result = (%d ; %d)\n", p->h(), b.h());return 0;}5.