1997 Пересдача (Вариант 1) (Решённые задачи прошлых лет)
Описание файла
Файл "1997 Пересдача (Вариант 1)" внутри архива находится в папке "Решённые задачи прошлых лет". PDF-файл из архива "Решённые задачи прошлых лет", который расположен в категории "". Всё это находится в предмете "языки программирования" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
Главная › 1-й курс › 2-й курс › 3-й курс › 4-й курс ›5-й курс › Спецкурсы › Ссылки › Карта › (версия для печати)найти на сайтеЭкзамен по курсу «Языки программирования»Вариант 1. (1997) (пересдача)См. оригинал здесь.1. Напишите (и объясните ответ), что будет выдано в стандартный канал вывода при выполнении вызова функции Q вследующем фрагменте программы:class X {public :int i;X(int j = 2) { i = j; };void P() { cout << i; };};class Y : public X {int i;public :virtual void P() { X::P(); cout << i; };Y(int j) { i = j+1; };};X * a; Y * b;void Q(){a = new X(1); b = new Y(1); b->P(); a = b; a->P();}2. Дайте определение и пример процедуры, динамически привязанной к типу, в языке Оберон-2.3.
Напишите на языке Ада спецификацию пакета, эквивалентную приведенному ниже описанию класса на языке Си++.open in browser PRO versionAre you a developer? Try out the HTML to PDF APIpdfcrowd.comtemplate <class T, int size>class STACK {public :STACK();~STACK();int Push(const T&);int Pop (T&);int Empty();int Full();protected :T body[size];int top;};4.
Какие типы модулей есть в языке Модула-2? Какие модули Модулы-2 могут быть единицами компиляции?5. Дайте определение и пример динамического массива в языке Ада.6. Напишите (и объясните ответ), что будет выдано в стандартный канал вывода при выполнении вызова функции Q вследующем фрагменте программы :int i = 0;class STRING {char * cp;public :STRING (const char * s){ cp = new char [strlen (s) + 1];strcpy (cp, s);};STRING (STRING& s){ cp = new char [strlen (s.cp) + 1];strcpy (cp, s.cp);};STRING (const STRING& s1, const STRING& s2){cp = new char [strlen (s1.cp) + strlen (s2.cp) + 1];strcat (strcpy (cp, s1.cp), s2.cp); };~STRING () { i++; delete [] cp; };operator char * () { return cp; };void out () { cout << cp << '\n'; }};void f(STRING s) { s.out();}void q(){ char * p = "string1";STRING s("string2", "string3"); f (p); f (s);open in browser PRO versionAre you a developer? Try out the HTML to PDF APIpdfcrowd.com}void Q(){ q(); cout << i; }7.
Какие типы конструкторов есть в языке Си++?8. Что будет выдано в стандартный канал вывода (процедурой PUT) в результате вызова процедуры P? Объяснитеответ.E1, E2 : EXCEPTION;PROCEDURE P1 (i : in INTEGER) ISBEGINIF i = 1 THEN RAISE E1; END IF;IF i = 2 THEN RAISE E2; END IF;PUT («P1-Finish»);EXCEPTIONWHEN E2 => PUT («Catch1»); RAISE;WHEN E1 => PUT («Catch2»);END P1;PROCEDURE P2 ISBEGINP1 (2); PUT («P2-Finish»);EXCEPTIONWHEN E1 => PUT («Catch3»);WHEN E2 => PUT («Catch4»);END P2;PROCEDURE P ISE1, E2 : EXCEPTION;PROCEDURE P2 ISBEGINP1 (2); PUT («Finish-P2»);EXCEPTIONWHEN E1 => PUT («Catch5»);WHEN E2 => PUT («Catch6»);END P2;BEGINP1 (1); P2; P1 (2); PUT («Finish»);EXCEPTIONWHEN E1 => PUT («Catch7»);WHEN E2 => PUT («Catch8»);open in browser PRO versionAre you a developer? Try out the HTML to PDF APIpdfcrowd.comWHEN OTHERS => PUT («Catch9»);END P;© 2006–2014 CMC@MSU › cmcmsu.info@gmail.comopen in browser PRO versionAre you a developer? Try out the HTML to PDF APIhttp://cmcmsu.no-ip.info/pdfcrowd.com.