И.Г. Головин - Варианты письменного экзамена, страница 2
Описание файла
PDF-файл из архива "И.Г. Головин - Варианты письменного экзамена", который расположен в категории "". Всё это находится в предмете "языки программирования" из 5 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 2 страницы из PDF
Сравните между собой конструкции "uses" в языке Delphi и "use" вязыке Ада (для чего применяются, сходства, отличия).4. В каких из перечисленных ниже языков длина массива являетсятолько статическим атрибутом? Приведите пример массива с динамическиматрибутом - длиной для какого-либо языка.Ада, Си++, Оберон, Модула-2, Java, C#85. Что означают термины "семантика возобновления" и "семантиказавершения" при обработке исключений? Для каждого способа (семантики)приведите пример языка, где этот способ (семантика) используется.6. Назовите хотя бы один язык, в котором нельзя передаватьподпрограммы как параметры других подпрограмм.7.
В каких классах памяти могут размещаться данные в языкахпрограммирования? В каких классах памяти размещаются объекты классовязыка С#?8. Ниже приведена спецификация родового пакета Stacks на языке Ада.Напишите объявление шаблонного класса на языке Си++, предназначенногодля той же роли, что и этот пакет.GENERICTYPE T IS PRIVATE; SIZE : INTEGER;PACKAGE Stacks ISTYPE Stack IS LIMITED PRIVATE;PROCEDURE Push(S: IN OUT Stack; X : IN T);PROCEDURE Pop(S: IN OUT Stack; X : OUT T);FUNCTION IsEmpty(S : IN Stack) RETURN BOOLEAN;FUNCTION IsFull(S : IN Stack) RETURN BOOLEAN;PRIVATETYPE Stack is RECORDBody : ARRAY (1..SIZE) OF T;Top : INTEGER := 1;END RECORD;END Stacks;92.2. Вариант 20041.
Что будет напечатано в результате работы следующей программы наСи++?#include <iostream.h>class X {public:virtual void f() {cout << "X::f\n"; g(); }void g() { cout << "X::g\n";}};class Y : public X {public:void f() { cout << "Y::f\n"; }void g() { cout << "Y::g\n"; f();}};class Z : public Y {public:void f() { cout << "Z::f\n"; }void g() { cout << "Z::g\n"; f();}};void P(X*px,Y*py) {px->f(); px->g();py->f(); py->g();delete px; delete py;}int main() {P(new X, new Y);cout<<"------------------------------\n";P(new Y, new Z); return 0;}2.
В каких из перечисленных ниже языков есть понятие динамическогосвязывания подпрограмм (методов класса)?Ада 83, Ада 95, Си++, Оберон, Оберон-2, Модула-2, Java, Delphi, C#3. Напишитенаязыке Ада 95 объявления, эквивалентныеприведенным ниже описаниям на языке Оберон-2.TYPE T* = RECORD I*, J : INTEGER; END;TYPE T1* = RECORD (T) K : INTEGER; END;PROCEDURE (VAR X: T) P* (L : INTEGER);PROCEDURE (VAR X: T1) P* (L : INTEGER);4. В каких из перечисленных ниже языков есть конструкция try-finally?Объясните её смысл для какого-нибудь языка.Ада, Си++, Оберон, Модула-2, Java, Delphi, C#105.
Сколько конструкторов имеет класс S, описанный на языке Си++?Ответ обоснуйте.struct S { explicit S(int); double i,j; };6. Объясните смысл конструкции package в языке Java.7. Смоделируйте на языке Оберон понятие, аналогичное скрытому типуданных на языке Модула-2.8. Смоделируйте на языке Си++ функциюvoid f() throw (E1,E2,E3) { g(); h(); }предполагая, что конструкция throw не допускается компилятором.2.3. Вариант 20051.
Что будет напечатано в результате работы следующей программы наСи++?#include <iostream>using namespace std;class A {public:virtual void f() {cout << "A::f\n"; g(); }void g() { cout << "A::g\n";}};class B : public A {public:void f() { cout << "B::f\n"; }void g() { cout << "B::g\n"; f();}};class C : public B {public:void f() { cout << "C::f\n"; }void g() { cout << "C::g\n"; f();}};void P(A*pa,B& b) {pa->f(); pa->g();b.f(); b.g();delete pa;}int main() {B b;P(new A, b);cout<<"------------------------------\n";C c;P(new B, c); return 0;}2.
Объясните, что означает термин «семантика возобновления» приобработке исключительных ситуаций. Приведите пример моделированиясемантики возобновления на языке Си++.113. Напишите спецификацию абстрактного типа данных Deque (очередьс двумя “хвостами”) на языках Ада и Java (тела методов и тело пакета можноопустить).4. Объясните, что означает термин «абстрактная функция».
В каких изперечисленных ниже языков есть соответствующее понятие?Ада 83, Ада 95, Си++, Модула-2, Java, Delphi, C#5. Что означает ключевое слово super на языке Java? Есть ли его аналогв языке С#? Если есть, то приведите пример на каждом из этих языков.6. В каких из перечисленных ниже языков есть конструкция «свойство»(property)? Объясните, что она означает (на примере какого-либо языка).Java, Ада 83, Ада 95, Си++, Delphi, Оберон, Оберон-2, Модула-2, C#7. Объясните, что означает термин «перегрузка»(overloading).
В какихиз перечисленных ниже языков есть соответствующее понятие?Ада 83, Ада 95, Си++, Модула-2, Java, Delphi, C#, Оберон, Оберон-28. Чем отличается деструктор языка Си++ от деструктора языка С#?2.4. Вариант 20061. В каких языках из перечисленных ниже есть понятие «размеченноеобъединение»? Объясните, что оно означает.Ада, Си++, Оберон, Модула-2, Java, C#, Паскаль2. Назовите две причины большей надежности указателей языка Ада 83по сравнению с указателями языка Си++.3. Объясните, что означает понятие «раздельная независимаятрансляция».
В каких языках из перечисленных ниже есть это понятие?Ада, Си, Си++, Оберон, Оберон-2, Модула-2, Java, C#, Паскаль4. Объясните смысл конструкции where в языке C# (версия 2.0).5. Что будет напечатано в результате работы следующей программы наСи++?#include <iostream>using namespace std;class X {public:X() { f(); cout << '\n';}virtual void g(){cout<<1<<' ';}void f() { g();}};12class Y: public X {public:Y() {f(); cout << '\n';}void g() { cout<< 2<< ' ';}void f() { g(); }};class Z: public Y {public:Z(){g(); f(); cout << '\n';}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';}int main () {out(); px = py;out(); py = pz;out(); return 0;}6.
В каких языках из перечисленных есть понятие «исключения»?Приведите пример возникновения исключения в каком-либо из этихязыков.Си, Си++, Ада 83, Ада 95, Visual Basic, Оберон, Модула-2, C#, Delphi7. Ниже приведена спецификация шаблонной функции перемноженияматриц(двумерных массивов) на языке Си++.
Напишите примерконкретизации этой функции, а также соответствующее описание родовойфункции на языке Ада.template <class T> Matrix<T>& MatMult (Matrix<T>& A,Matrix<T>&B);8. В каких областях памяти могут быть размещены объекты классовязыка Си++?132.5. Вариант 20071. В каких языках из перечисленных нижеисключительных ситуаций используется семантикаОбъясните, что она означает.при обработкевозобновления?Ада, Си, Си++, Оберон, Оберон-2, Модула-2, Java, C#2. Что такое «явная реализация интерфейсов»? В каких языках онаиспользуется?3. Дайте определение оператора цикла for в языке Java (всеразновидности).
Каким условиям должен удовлетворять класс-коллекция,чтобы его можно было использовать в этом операторе?4. Дайте определение сопрограммы. Чем сопрограмма отличается отподпрограммы?5. Что будет напечатано в результате работы следующей программы наСи++?#include <iostream.h>class X {public:void g() { cout << 1 << ' '; }virtual void f() { g();}};class Y: public X {public:virtual 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';}int main () {out(); px = py;out(); py = pz;out(); return 0;}146.
В каких языках из перечисленных ниже отсутствует перечислимыйтип данных?Си, Паскаль, Ада 83, Ада 95, Си++, Оберон, Оберон-2, Модула-2Опишите реализацию перечислимого типа данных в языке C#.7. Опишите на языке Ада родовой модуль, реализующий абстрактныйтип данных Queue (очередь). Реализацию процедур и функций писать ненадо.8. В каких из перечисленных ниже языков есть двусторонняя связьмежду модулями при раздельной трансляции? Объясните её смысл длякакого-нибудь языка.Ада, Си++, Оберон, Модула-2, Java, Delphi, C#2.6. Вариант 2008 (пересдача)1. Объясните смысл ключевого слова sealed в языке C#. В каких изперечисленных ниже языков есть соответствующее понятие?Java, Ада 83, Ада 95, Си++, Delphi, Оберон, Оберон-2, Модула-22.
Объясните, что означает термин «вложенные модули». В каких изперечисленных ниже языков есть соответствующее понятие?Ада 83, Ада 95, Delphi, Оберон, Оберон-23. Напишите спецификацию абстрактного типа данных HashTable(перемешанная таблица, хэш-таблица) на языках Модула-2 и Java (теламетодов и модуль реализации можно опустить).4. Объясните, что означает термин «виртуальный метод»? В каких изперечисленных ниже языков есть соответствующее (или аналогичное)понятие?Ада 83, Ада 95, Java, Delphi, Оберон, Оберон-2, Cи, Cи++, С#5.