Ответы: Решённые задачи прошлых лет
Описание
Характеристики ответов (шпаргалок)
Список файлов
- Прочти меня!!!.txt 136 b
- Решённые задачи прошлых лет
- 1-2-3.doc 44 Kb
- 1997 Пересдача (Вариант 1).pdf 95,13 Kb
- 1997 Пересдача (Вариант 1).txt 2,67 Kb
- 1999 Экзамен (Вариант 1).pdf 104,66 Kb
- 1999 Экзамен (Вариант 2).pdf 103,24 Kb
- 1999 вариант 2.txt 1,1 Kb
- 1999 досрок.doc 54 Kb
- 2000 досрок.doc 24 Kb
- 2001 досрок 1.doc 22 Kb
- 2001 досрок 2.doc 22,5 Kb
- 2002 Задачи.txt 1,13 Kb
- 2002 досрок + людской треш.txt 28,78 Kb
- 2002 досрок.txt 2,04 Kb
- 2003 Экзамен (Вариант 1).pdf 91,13 Kb
- 2004 Экзамен (Вариант 1).pdf 104,15 Kb
- 2004 экзамен.doc 23 Kb
- 2005 Экзамен (Вариант 1).pdf 83,67 Kb
- 2005 экзамен (Вариант 1) (решение).txt 379 b
- 2005 экзамен (Вариант 1).doc 25,5 Kb
- 2005 экзамен (Вариант 2).doc 25,5 Kb
- 2005 экзамен (Вариант 3).doc 25,5 Kb
- 2005 экзамен (Вариант 4).doc 25,5 Kb
- 2006 Экзамен (Вариант 1).pdf 85,81 Kb
- 2006 досрок 1 (решение).txt 335 b
- 2006 досрок 1.bmp 2,14 Mb
- 2006 досрок 2.bmp 2,14 Mb
- 2007 Экзамен (Вариант 1).pdf 84,95 Kb
- 2007 досрок.jpg 482,66 Kb
- 2007 экзамен.txt 1,08 Kb
- 2008 Пересдача (Вариант 1).pdf 65,6 Kb
- 2008 экзамен 1.doc 26 Kb
- 2008 экзамен 2.doc 25,5 Kb
- 2008-2003 экзамен (из методички).docx 41,38 Kb
- 2011 экзамен
- WP_000034.jpg 1,55 Mb
- WP_000035.jpg 1,56 Mb
- WP_000046.jpg 1,54 Mb
- WP_000047.jpg 1,57 Mb
- 2014 экзамен ответы вариант 1.pdf 218,29 Kb
- 2014 экзамен ответы вариант 2.pdf 199,18 Kb
- 2014 экзамен.docx 24,77 Kb
- 2015 экзамен ответы вариант 1.pdf 251,21 Kb
- 2015 экзамен ответы вариант 2.pdf 227,35 Kb
- 2016 пересдача ответы вариант 1.pdf 249,63 Kb
- 2016 пересдача ответы вариант 2.pdf 268,8 Kb
- 2016 экзамен ответы вариант 1.pdf 249,63 Kb
Файл скачан с сайта StudIzba.com
При копировании или цитировании материалов на других сайтах обязательно используйте ссылку на источник
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. Напишите на языке Ада спецификацию пакета, эквивалентную приведенному ниже описанию класса на языке Си++.
template <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);
}
void Q(){ q(); cout << i; }
7. Какие типы конструкторов есть в языке Си++?
8. Что будет выдано в стандартный канал вывода (процедурой PUT) в
результате вызова процедуры P? Объясните ответ.
E1, E2 : EXCEPTION;
PROCEDURE P1 (i : in INTEGER) IS
BEGIN
IF i = 1 THEN RAISE E1; END IF;
IF i = 2 THEN RAISE E2; END IF;
PUT ("P1-Finish");
EXCEPTION
WHEN E2 => PUT ("Catch1"); RAISE;
WHEN E1 => PUT ("Catch2");
END P1;
PROCEDURE P2 IS
BEGIN
P1 (2); PUT ("P2-Finish");
EXCEPTION
WHEN E1 => PUT ("Catch3");
WHEN E2 => PUT ("Catch4");
END P2;
PROCEDURE P IS
E1, E2 : EXCEPTION;
PROCEDURE P2 IS
BEGIN
P1 (2); PUT ("Finish-P2");
EXCEPTION
WHEN E1 => PUT ("Catch5");
WHEN E2 => PUT ("Catch6");
END P2;
BEGIN
P1 (1); P2; P1 (2); PUT ("Finish");
EXCEPTION
WHEN E1 => PUT ("Catch7");
WHEN E2 => PUT ("Catch8");
WHEN OTHERS => PUT ("Catch9");
END P;
1. Дайте определение и пример динамического массива в языке Ада.
2. Напишите фрагмент программы на языке Си++, эквивалентный приведенной ниже спецификации пакета на языке Ада.
GENERIC
TYPE T IS PRIVATE;
PACKAGE LISTS IS
TYPE LIST IS PRIVATE;
PROCEDURE INSERT (S: INOUT LIST; X: IN T);
PROCEDURE GET (S: INOUT LIST; X: OUT T);
PROCEDURE CLEAR (S: INOUT LIST);
PRIVATE
TYPE PLINK IS ACCESS;
TYPE LINK IS RECORD INF:T; NEXT:PLINK; END RECORD;
TYPE PLINK IS ACCESS LINK;
TYPE LIST IS RECORD LAST:PLINK := NULL; END RECORD;
END LISTS;
3. Дайте определение и пример группового предохранителя (стража) типа в языке Оберон.
4. Какие виды конструкторов есть в языке Си++?
5. Напишите родовую функцию вычисления минимума от двух однотипных переменных на языке Ада. Напишите пример конкретизации этой родовой функции.
6. Смоделируйте на языке Оберон понятие, аналогичное скрытому типу данных на языке Модула-2.
7. В каких языках из перечисленных ниже есть конструкции, аналогичные виртуальным функциям языка Си++? Как они называются в этих языках?
Си, Ада, Ада 95, Оберон, Оберон-2, Модула-2, Java
1. Дайте определение и пример динамического массива в языке Ада.
2. Напишите фрагмент программы на языке Си++, эквивалентный приведенной ниже спецификации пакета на языке Ада.
GENERIC
TYPE T IS PRIVATE;
PACKAGE LISTS IS
TYPE LIST IS PRIVATE;
PROCEDURE INSERT (S: INOUT LIST; X: IN T);
PROCEDURE GET (S: INOUT LIST; X: OUT T);
PROCEDURE CLEAR (S: INOUT LIST);
PRIVATE
TYPE PLINK IS ACCESS;
TYPE LINK IS RECORD INF:T; NEXT:PLINK; END RECORD;
TYPE PLINK IS ACCESS LINK;
TYPE LIST IS RECORD LAST:PLINK := NULL; END RECORD;
END LISTS;
3. Дайте определение и пример группового предохранителя (стража) типа в языке Оберон.
4. Какие виды конструкторов есть в языке Си++?
5. Напишите родовую функцию вычисления минимума от двух однотипных переменных на языке Ада. Напишите пример конкретизации этой родовой функции.
6. Смоделируйте на языке Оберон понятие, аналогичное скрытому типу данных на языке Модула-2.
7. В каких языках из перечисленных ниже есть конструкции, аналогичные виртуальным функциям языка Си++? Как они называются в этих языках?
Си, Ада, Ада 95, Оберон, Оберон-2, Модула-2, Java
Возможно не удалось распознать кодировку файла
<html>insomnio
21.01.2003 16:43 Вариант экзамена по ЯП, предварительный экзамен, 2002 г.
1)Что будет напечатано в результате работы следующей программы на Си++?
#include <iostream.h>
class x {
public:
virtual void f() {cout<< ”x::fn”; g();}
void g() { cout<< ”x::gn”;}
};
class y: public x {
public:
void f() {cout<< ”y::fn”;}
void g() { cout<< ”y::gn”; f();}
};
class z: public y {
public:
void f() {cout<< ”z::fn”;}
void g() { cout<< ”z::gn”; f();}
};
void p(x*px,y*py){
px->f(); px->g();
py->f(); py->g();
delete px; delete py;
}
void main(){
p(new x,new y)
cout<<”--------------n”;
p(new y, new z);
}
2)В каких из перечисленных ниже языков есть понятие динамического связывания подпрограмм (методов класса)?
Ада 83, Ада 95, Си++, Оберон, Оберон-2, Модула-2, java, delphi, c#.
3)Ниже приведена спецификация шаблонной функции перемножения матриц
(двухмерных массивов) на языке Си++. Напишите пример конкретизации этой функции, а также соответствующее описание родовой функции на языке Ада.
template <class t> matrix<t>& matmult (matrix<t>& a, matrix<t>&b);
4)В каких из перечисленных языков есть конструкция try-finally? Объясните ее смысл для какого-нибудь языка:
Ада, Си++, Оберон, Модула-2, java, delphi, c#.
5)Сколько конструкторов имеет класс s, описанный на языке c++? Ответ обоснуйте.
struct s { explicit s(int); double i,j;};
6)Объясните смысл конструкции package в языке java.
insomnio
21.01.2003 16:47 а сколько заданий будет на основном экзамене?
fury
21.01.2003 17:01 2insomino:
Я уже ситаксиса Ады не помню :)), но фишка в том, что если в С++ ты просто используешь шаблонный тип (допустим Т), то в Аде тебе нужно будет написать, кажется, так type t is private with то ли function "+" то ли operation "+", короче, нужно указать, что над Т можно выполнять те операции, которые тебе понадобятся (для перемножения матриц это, ясное дело, "+" и "*"). Тебе нужно будет создать новый тип (матрица объектов Т), а уж затем, собственно, описать функцию. Кстати, не забудь указывать в параметрах, какие из них входные, а какие выходные (in и out). Сишный & ,вроде, в Аде как inout.
Если кто-нить кинет линк на лекции, то смогу конкретно написать, а не пусто разглагольствовать :о)
Конкретизация=пример использования (подразумевался пример на С++, как я понимаю).
insomnio
21.01.2003 17:49 Так у нас в Аде у функций все параметры in... или меня глючит? или нам надо процедуру писать?
А какого размера эта матрица? Это тоже параметр? Или она динамическая, без размера? В общем, как плохо быть тупой :( Я уже второй день только и пытаюсь переписать родовой сегмент на си++, а шаблон на Аде...
insomnio
21.01.2003 17:53 А как переписать вот это на си++
generic
type Т is private;
package lists is
type list is private;
procedure insert (s: inout list; x: in t) ;
procedure get (s: inout list; x: out deprocedure clear (s: inout list);
private
type plink is access;
type link is record inf:t; next:plink; end record;
type plink is access link;
type list is record last:plink := null; end record;
end lists;
а еще лучше это
generic
type t is private;
size : integer;
with function "+" (x,y:t) return t;
with function "*" (x,y:t) return t;
with function "/" (x,y:t) return t;
package g_matrix is
type m is limited private;
function "+" (x,y:m) return m;
function "*" (x,y:m) return m;
function "/" (x,y:m) return m;
procedure set(x: in out m; i,j:integer; el:t);
function get(x: m; i,j:integer) return t;
private
Тype m is array(1..size,1..size) of t;
end g_matrix;
в общем хоть что-нибудь!!!!!
заранее большое-пребольшое спасибо.
fury
21.01.2003 18:01 generic
type t is private;
with function "+" (a,b:t) return t;
with function "*" (a,b:t) return t;
type tm is new matrix(t); .
function matmult(a: inout tm, b: inout tm) return tm;
Блин, на работе запарка :((
Но вот, вроде бы так, хотя не искючено, что я мог где-нить напутать или что-нить забыть - поправьте, если что :о)
fury
21.01.2003 18:04 хотя, последняя строчка может быть и procedure matmult(a: inout tm, b: inout tm); - не уверен в обоих вариантах :((
insomnio
21.01.2003 18:41 а что такое type tm is new matrix(t)?
kaily
21.01.2003 18:49 Господа, а лекциями точно пользоваться на парте можно будет, да? Точно-точно?
fury
21.01.2003 18:54 2insomino:
Фишка в том, что matrix - это уже шаблонный тип (посмотри, что в С++ мы его используем как matrix<t>), объвленный где-то (нам этого не показывают), значит, в Аде мы тоже можем считать его объявленным. Теперь, чтобы не мучиться, снова объявляя matrix с новым типом элементов Т, мы просто создаём новый тип на базе имеющегося, что в принципе и означает строчка
type tm is new matrix(t).
Кстати, в лекциях это, вроде, было - правда, я этого не видел :о)
fury
21.01.2003 18:56 но лучше поищи в лекциях - меня часто глюююююючит :)))
fury
21.01.2003 19:03 Кстати, чтобы сделать первое задание нужно просто запомнить две вещи:
1) Однажды объявленная виртуальной, функция такой и остаётся во всех наследованных классах
2) Если функция невиртуальная, то в месте её вызова жёстко прописывается её адрес. Если же она виртульная, то в месте её вызова на самом деле записывается её адрес из vtbl (таблица виртуальных методов), который потом вычисляется в соответствии с тем, какой класс был передан в качестве параметра.
insomnio
21.01.2003 19:17 2fury
Мой ник insomnio (что в переводе - бессонница),а не insomino :)))
Спасибо большое, большое, пребольшое!
Только вопрос такой, а в Аде разве можно параметризовать тип matrix типом t? Что это за конструкция?
И вообще, зачем нам пишут, что это двумерный массив?
ЗЫ Мне кажется скоро я свихнусь, мне уже по ночам снятся родовые сегменты.
insomnio
21.01.2003 19:20 В лекциях был пример, если на Аде мы пишем
generic
type t is private;
type index is range < >;
type arr is array(index range < >) of t;
with function "<"(a, b: t) return boolean;
procedure g_sort(a: in out arr);
То на си++
template<class t>
class vector{…};
template<class t> void sort(vector<t> &v);
Тут-то мы на Аде явно выписываем тип arr. Или это необязательно?
demoniak
21.01.2003 20:43 2insomnio: наверно на Аде обязательно т.к. он входит в родовую функцию, а на Си++ не обязательно писать шаблоный класс т.к. он отдельно. ИМХО.
Ничего не понимаю, как это сдавать......
demoniak
21.01.2003 20:45 отдельно от шаблоной функции......
что такое конкретизация? Это типа выписать шаблоную функцию для конкретного типа?
kaily
21.01.2003 21:13 Так что насчет лекций? Можно ли точно ими пользоваться - кто-нибудь знает? Кто-нибудь был на последней лекции и слышал это своими ушами?:))
insomnio
21.01.2003 21:38 2demoniak
да, это просто надо выписать для какого-то конкретного типа, вместо t что-то подставить.
2kaily
я была и слышала это своими ушами. пользоваться можно всем. только это тебе не поможет, уверяю.
Аааааа, я ничего не понимаю! Как это сдавать? Это невозможно сдать, это выше моего понимания, это непостижимо моему уму!
titanikum (я)
21.01.2003 21:55 жжжжуть, депресняк полный...:-(
kaily
21.01.2003 22:29 Читаю я ваши неоптимистичные посты... и начинаю задумываться вот над чем:):
Вариант экзамена по ЯП, предварительный экзамен, 2002 г.
1)Что будет напечатано в результате работы следующей программы на Си++?
#include <iostream.h>
class X
{
public:
virtual void f() {cout<< ”X::fn”; g();}
void g() { cout<< ”X::gn”;}
};
class Y: public X
{
public:
void f() {cout<< ”Y::fn”;}
void g() { cout<< ”Y::gn”; f();}
};
class Z: public Y
{
public:
void f() {cout<< ”Z::fn”;}
void g() { cout<< ”Z::gn”; f();}
};
void P(X*px,Y*py)
{
px->f();
px->g();
py->f();
py->g();
delete px;
delete py;
}
void main()
{
P(new X,new Y)
cout<<”--------------n”;
P(new Y, new Z);
}
2) В каких из перечисленных ниже языков есть понятие динамического связывания подпрограмм (методов класса)?
Ада 83, Ада 95, Си++, Оберон, Оберон-2, Модула-2, Java, Delphi, C#.
3)Ниже приведена спецификация шаблонной функции перемножения матриц
(двухмерных массивов) на языке Си++. Напишите пример конкретизации этой функции, а также соответствующее описание родовой функции на языке Ада.
Template <class T> Matrix<T>& MatMult (Matrix<T>& A, Matrix<T>& B);
4)В каких из перечисленных языков есть конструкция try-finally? Объясните ее смысл для какого-нибудь языка:
Ада, Си++, Оберон, Модула-2, Java, Delphi, C#.
5)Сколько конструкторов имеет класс S, описанный на языке C++? Ответ обоснуйте.
Struct S { explicit S(int); double i,j;};
6)Объясните смысл конструкции package в языке Java
<!--EndFragment-->
1
super - ссылка на базовый класс. В Delphi такого нет.
Пример:
public class A { public void a() {} }
public class B extends A {public void a() {}; public void b() {super.a();} }
2
3
4
В Java он вызывается сборщиком мусора. Нет свертки стека
5
B :: f
A :: g
B :: f
B :: g
B :: f
------------------------------------
C :: f
A :: g
C :: f
B :: g
C :: f
6
7
8
1
Java, C#
Смысл - очистить мусор при выходе из try-блока по исключению (аналг свертки стека в С++)
2
Два - описанный и конструктор копирования
3
4
5
public void f()
{
try
{ g(); h(); }
catch(E1){}
catch(E2){}
catch(E3){}
catch {unexpected();}
}
6
X::f X::g Y::f Y::g
Y::f X::g Z::f Y::g
7
C++, Java, C#, Ada 95
8
Распознанный текст из изображения:
Фамилия И.О.
Г'руина
1. В каких из перечисленных ниже языков есть конструкция пу-ГгпаНу? Объясните ее
смысл для какого-нибудь языка.
Ада, Си++, Оберон, Модула-2, 1ача, Пе!р)г(, С((
2. Сколько конструкторов имеет класс Б, описанный на языке Си++? Ответ обоснуйте. з(тасс Б ( ехр1гсй Я(ш()) г(оиЫе ъ)) );
3. Объясните смысл конструкции рас(гайе в языке )ача.
4. Дайте определение и пример скрытого типа данных на языке Модула-2, Есть ли аналоги
такой конструкции на языке )ача?
5. Смоделируйте на языке Си(( функцию языка Си++
чоЫ ГО (1згозч (Е1,Е2,ЕЗ) ( 80' ЬО( )
6. Что будет напечатано в результате работы следующей программы на Си++?
яшс!иг(е <(озпеаш.)г> с1азз Е: риЫк У (
с!азз Х ( риЫк:
риЫк: чоЫ ГО ( сои( « "ЕхГш"; )
чгг(иа1 чоЫ ГО (сои( « "Хх()п"; 80; ) чоЫ 80 ( сои( « "Лхй'и"; ГО;)
чоЫ80 (сои(« Ххй)п )) )1
чоЫ Р(Х*рх,У*ру) (
с1аш У: риЫк Х ( рх->ГО; рх->80;
риЫгс: ру->ГО; ру->80)
чоЫГО ( сои!« "Узун"; ) г)е(еге рх; г(е!еге ру;
чоЫ 80 ( сои( «? Ухй)п"; ГО))
чоЫ гпашО (
Р(пезч Х, пезч У)1
сош«" †††††††††--- †††'а
Р(пеи У, пезч Е);
7. В каких из перечисленных ниже языков есть понятие динамического связывания
подпрограмм (методов класса)?
Ада 83, Ада 95, Си.ь, Оберон, Оберон-2, Модула-2, Гача, Ое1рЫ, С()
8. Напишите на языке )ача объявления, эквивалентные приведенным ниже описаниям ва
языке Оберон-2.
ТУРЕ Т* = КЕСОЕО
1*, 7: 1)зТЕЯЕК?
Е((Ог
ТУРЕ Т1* = КЕСОЕО (Т)
К : 1НТЕСЕКг
ЕНРг
РЕОСЕОБНЕ (ЧАЕ Х. "Т) Р" (1 : 1((ТЕСЕЕ);
РКОСЕООКЕ (ЧАК Х: Т1) Р* (1 : 1)(ТЕСЕЕ)г
Распознанный текст из изображения:
Фамилия И.О.
Группа
1. Сколько конструкторов имеет класс Я, описанный на языке Си ' +? Ответ обоснуйте.
а|гас| Б ( йоиЫе Ч; );
2. Объясните смысл конструкции пшпезрасе в языке С((?
3. |(то такое дочерние пакеты в языке Ада 95? Есть ли аналоги такой конструкции в языке
Оберон (илн Оберон-2)?
4. Объясните, что такое ограниченные приватные типы в языке Ада. Мо|кно ли
смоделировать такие типы на языке )ача (если можно, то объясните, каким образом)?
6. В каких из перечисленных ниже языков про| раммнст может явно определять неявные
преобразования для своих типов данных?
Ада 83, Ада 95, Си-н-, Оберон, Оберон-2, Модула-2, )ача, С((
7. Напишите на языке Ое!р11( описания, эквивалентные приведенным ниже описаниям на
языке Оберон-2.
тгге т*= кесоко
|*,к . тнтесек(
ело|
т|*= кесоко (т|
|нтеоек;
енп|
Рт-= Рс|нтек то т; Рт|* =- Ро|нтее то т|;
Рассеоиле (Г:Рт| Р*;
вести
Г. ° :=С; Г.К|=1|
ЕНО Р|
Рвосеоике (Г:Рт|| |";
вес|и
Г ° |: — '1| Г ко=о| Гз'= Г т+Г Гц
ЕНО Р|
Рвосепике (Г;Рт|| и О
ВЕ61Н
Г.Р; г,):=Г.1чГмм
ЕНО Р|
8, В каких из перечисленных ниже языков есть конструкция саге(г(...) (или аналогичная
ей)? Обьясните ей смысл для какого-нибудь языка.
Ада, Си+т, Оберон, Модула-2, )ача, Ое!рЫ, С(?
5, Что будет напечатано в результате работы
(((пс1и((е <(озггеаш.(з>
с!азз Х (
риЫ|с:
чоЫ 10 (сои| « "Хирш" 180' )
Мг|иа( чо(((80 ( сош « "Хсйл";)
с1аза У ( риЫю Х (
риЫ|с:
чо|й РО ( сош « "г'(рл"; )
чоЫ 80 ( сои| « "Улй л"; (00
с!азз 2 ( риЫ|с г' (
риЫю;
следу|ошей программы на Си.н-?
чоЫ (О ( сои| « "Уибп"; )
чо(б ф) ( сои| « "Есй(п"; (0;)
чоЫ Р(Х*рх,"г'*ру) (
рх->ГО( рх->80;
ру- ГО( ру->80;
бе!еге рх; |(е1е|е ру;
чои1 |пашО (
Р(пе|ч У пеи 'г')
сош«"---- — ----------(л";
Р(леш 7., печг 2)(
Распознанный текст из изображения:
Группа
Фамилия И.О.
1. В каких языках из перечисленных ниже при обработке исключительных ситуаций
используется семантика завершения? Объясните, что о((а означает.
Ада, Си, Си++, Оберон, Оберон-2, Модула-2, Хауа, С№
2. Дайте определение оператора цикла 1огеасЬ в языке С№. Каким условиям должен
удовлетворять класс-коллекция, чтобы его можно было использовать в этом операторе?
3. Объясните все смыслы употребления ключевого слова рг(гуа(е в языке Ада.
4. Объясните семантику ключевого слова у!еЫ в языке С№.
5. Что будет напечатано в результате работы следующей программы на Си++?
х хз у у; я в;
х*рг = багз у*ру = ау; я*рв
1 « ' 1;
д(); )
япе ваап () (
6. В каких языках из перечисленных ниже отсутствует перечислимый тип данных?
Си, Паскаль, Ада 83, Ада 95, Си++, Оберон, Оберон-2, Модула-2, С№.
Опишите реализацию перечислимого типа данных в языке 1ача.
7. Опишите на языке Си++ шаблон класса, реализующего абстрактный тип данных Опеле
(очередь). Реализацию функций класса писать не надо.
8. В каких из перечисленных ниже языков есть возможность раздельной трансляции
вложенных модулей? Приведите пример для какого-нибудь языка.
Ада, Си-н-, Оберон, Модула-2, 1ауа, Ре1рЫ, С№
()япс1пс(е <ьовггеаш. )з>
с1авв х (
рпЫз.с:
ззоас( д() ( сепг «
вагепа1 чоас( Г()
с1авв У: рпЫьс Х (
рпЫз.с:
ззозн д() ( сопЕ« 2« ' '; )
ззоз.с( й О ( и() з )
с1авв Е: рпЫъс У (
рпЫяс:
вояс( д() ( сопг « 3 «
ззоас( г () ( д();
ззояс( опг (з'ояс() (
рх->г () з рх->д();
ру->г (); ру — > д();
сопг « 'з,п'з
опг() рх = ру опв(); ру = рв; оие ();
гегигп О;
1
Ada, C++, C#, Delphi, Java
Суть такова: при появлении исключения выполнение текущего блока команд прекращается, управление передается в catch-блок, где производятся какие-то действия, после которых программа выполняется не с места появления ошибки, а с места выхода из try-блока
2
Пройти по всем элементам коллекции
Нужно написать класс, реализующий интерфейс ICollection
3
4
class Program
{
public static IEnumerable<long> fib()
{
yield return 0;
long i = 0, j = 1;
while (true)
{
yield return j;
long temp = i;
i = j; j = temp + j;
}
}
static void Main(string[] args)
{
foreach (long n in fib())
{
if (n > 1000)
break;
Console.WriteLine(n);
}
}
}
5
1 1 2 2
2 1 2 2
2 1 3 2
6
Оберон, Оберон-2
В Java перечислимый тип есть класс.
public enum test {A,B,C};
test x;
x = B;
7
template<class T> class Queue
{
protected:
T* start;
T* end;
public:
T pop();
void push(T);
};
8
Начать зарабатывать