1999 Экзамен (Вариант 1) (Решённые задачи прошлых лет)
Описание файла
Файл "1999 Экзамен (Вариант 1)" внутри архива находится в папке "Решённые задачи прошлых лет". PDF-файл из архива "Решённые задачи прошлых лет", который расположен в категории "". Всё это находится в предмете "языки программирования" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
Главная › 1-й курс › 2-й курс › 3-й курс › 4-й курс ›5-й курс › Спецкурсы › Ссылки › Карта › (версия для печати)найти на сайтеЭкзамен по курсу «Языки программирования»Вариант 1. (1999)См. оригинал здесь.1. Дайте определение интерфейса в языке Ява. Как интерфейсы могут быть реализованы на языке C++?2.
Напишите спецификацию шаблонной функции на языке Си++, эквивалентной спецификации родовой процедуры наязыке Ада, приведенной ниже.generictype ELEM is private;type INDEX is (<>);type VECTOR is array (INDEX) of ELEM;with function «>» (A,B: in ELEM) return BOOLEAN is <>;procedure G_SORT (A: in out VECTOR);3. Как реализована динамическая проверка типа в языке Оберон (перечислите все средства)?4.
Напишите (и объясните ответ), что будет выдано в стандартный канал вывода при выполнении вызова функции Q вследующем фрагменте программы:int i = 0;class STRING {char * cp;public :STRING (const char * s){cp = new char [strlen (s) + 1];strcpy (cp, s);open in browser PRO version Are you a developer? Try out the HTML to PDF APIpdfcrowd.com}STRING (const 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(){ STRING p ("string1");STRING s("string2","string3");f (p); f (s);}void Q(){ q(); cout << i; }5.
Напишите фрагмент программы на языке Си++, эквивалентный фрагменту программы на языке системы Delphi.tryG(1);finallyi := 5;end;6. Дайте определение и пример виртуального множественного наследования в языке Си++.7. Перечислите способы передачи параметров в языках программирования. Какие из этих способов реализованы вязыках Си и Паскаль?8. Что будет выдано в стандартный канал вывода при вызове функции F()? Преобразуйте спецификацию классов так,open in browser PRO versionAre you a developer? Try out the HTML to PDF APIpdfcrowd.comчтобы было выдано:1 1 2 22 2 3 33 3 3 3Единственным допустимым видом преобразования является добавление спецификатора virtual.class X {public:void g() { cout << 1 << ' '; }void f() { g();}};class Y: public X {public:void g() { cout << 2 << ' ';}void f() { g(); }};class Z: public Y {public:void g() { cout << 3 << ' '; }void f() { g(); }};X x; Y y; Z z;X * px = &x; Y * py = &y; Z * pz = &z;void out(void) {px->f(); px->g(); py->f(); py->g();cout << '\n';}void F(void) {open in browser PRO versionAre you a developer? Try out the HTML to PDF APIpdfcrowd.comout(); px = py; py = pz;out(); px = pz; py = pz;out();}© 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.