Главная / Программирование / Структуры и алгоритмы компьютерной обработки данных

Структуры и алгоритмы компьютерной обработки данных - ответы на тесты Интуит

Правильные ответы выделены зелёным цветом.
Все ответы: Комплекс лекций с упражнениями для обучения моделированию задач на базе основных структур данных, алгоритмизации и программированию в среде MS Visual Studio 2010. Каждая тема содержит лекционный материал, примеры программных кодов, задания для аудиторной и самостоятельной работы.
В программе объявлен и проинициализирован массив int a[]={9,8,7,6,5,4,3,2,1,0}. Укажите значение a[a[a[9]]].
(1) 9
(2) 0
(3) 1
(4) элемент с таким индексом в данном массиве не определен
Какой тип данных нельзя использовать в качестве типа элемента структуры?
(1) массив
(2) функция
(3) указатель на структуру
(4) тип перечисления
В языке С++ файлы делятся на:
(1) типизированные
(2) текстовые
(3) двоичные
(4) структурированные
Чем ограничен размер динамической памяти?
(1) размером оперативной памяти
(2) размером внешних накопителей
(3) размером стековой области
(4) нет никаких ограничений
Укажите допустимые присваивания для переменной ch символьного типа.
(1) ch=55;
(2) ch=5.5;
(3) ch='&';
(4) ch='&&&';
Укажите, что характерно для динамической структуры данных
(1) структура не имеет имени
(2) структуре выделяется память на этапе компиляции
(3) количество элементов структуры строго фиксировано
(4) размерность структуры может меняться в процессе выполнения программы
Укажите вид функции временной трудоемкости для следующей функции в зависимости от размера массива void out (int str,int slb, int m[max_x][max_y]){ int i,j; for (i=0;i<str;i++) { for (j=0;j<slb;j++) printf("%4d",m[i][j]); printf("\n"); } }
(1) O(n)
(2) O(n2)
(3) O(log n)
(4) O(n log n)
Дана последовательность чисел: 2, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 8. Нумерация элементов начинается с нуля. Элемент с каким номером будет найден методом бинарного поиска по ключу key=5?
(1) 7
(2) 8
(3) 9
(4) 11
Укажите последовательности, которые являются бинарными пирамидами
(1) 8, 4, 7, 3, 1, 5, 2, 2, 0
(2) 8, 7, 4, 3, 1, 5, 2, 2, 0
(3) 8, 5, 7, 4, 3, 3, 2, 2, 3
(4) 8, 5, 7, 4, 6, 3, 2, 2, 3
Укажите объявление указателя-константы на вещественную переменную.
(1) const float ci=1;
(2) const float *pci;
(3) float *const cpi;
(4) const float *const cpc;
Укажите пример некорректной инициализации строки
(1) char text[]="Язык программирования";
(2) char text[]={"Язык", "программирования"};
(3) char text[]='Язык программирования';
(4) char text[5]="Язык программирования";
Укажите название алгоритма сортировки, фрагмент кода которой представлен ниже. void Sort (int k,int x[max]) { int i,j,min,temp; for (i=0;i<k-1;i++) { min=i; for (j=i+1;j<k;j++){ if (x[j]<x[min]) min=j; } temp=x[i]; x[i]=x[min]; x[min]=temp; } }
(1) пузырьковая сортировка
(2) шейкерная сортировка
(3) сортировка методом простого выбора
(4) сортировка методом простого включения
Определите размер структуры, которая объявлена следующим образом: struct Book { int num[5]; char titl[30]; char x; };
(1) 36
(2) 40
(3) 51
(4) 52
Что будет являться результатом выполнения функции fp=fopen("t.txt","r+");, если файл t.txt не существует?
(1) создается и открывается файл с именем t.txt
(2) на диск записывается пустой файл с именем t.txt
(3) действие игнорируется, программа продолжает выполняться
(4) выдается ошибка при исполнении программы
Укажите некорректное выделение динамической памяти, если выполнено объявление int *pt;
(1) pt = new int;
(2) pt = new int [15];
(3) pt = new int [];
(4) pt = new int (15);
Укажите для целого знакового 4-байтного типа преобразования к целевому типу без потери информации:
(1) к плавающему типу
(2) к целому беззнаковому 4-байтному типу
(3) к символьному типу
(4) к целому знаковому 2-байтному типу
К динамическим структурам данных относятся:
(1) двусвязный список
(2) файл
(3) поток
(4) стек
Разработана рекурсивная функция F(n,k). Определите глубину рекурсии при вызове F(4,7) int F(int n, int k){ if(n==1 || k==1) return 1; if(n<=k) return F (n,n-1)+1; return F(n,k-1)+ F(n-k,k); }
(1) 3
(2) 4
(3) 5
(4) 7
Дан программный код. Какое значение возвращает функция Search? int Search(int *x, int k, int key){ int i; for (i = k-1; i >=0 ; i--) if ( x[i] == key ) break; return i > 0 ? i : -1; }
(1) значение минимального элемента массива
(2) номер последнего минимального элемента массива
(3) номер последнего элемента, совпадающего с ключом поиска
(4) номер первого элемента, совпадающего с ключом поиска
В вершину пирамиды помещен элемент. На какой позиции он остановится в результате спуска вниз? Нумерация элементов начинается с нуля files
(1) 1
(2) 3
(3) 4
(4) 7
Укажите, что запрещено выполнять над указателем, который объявлен const int *const pa.
(1) изменять значения указателя
(2) изменять значение, на которое указывает указатель
(3) инициализировать указатель
(4) разыменовывать указатель
Укажите длину строки char text[]={'Р','е','д','а','к','т','о','р','\0'};
(1) длина не определена
(2) 10
(3) 9
(4) 8
Укажите обращение, аналогичное обращению mas[i][j] к элементу двумерного массива размерности MN.
(1) mas[i,j]
(2) *(*(mas+i)+j)
(3) mas[N*i+j]
(4) mas[0][0]+ N*i+j
Объявлена структура mail. Укажите верные для этой структуры присваивания struct mail { int id; union { struct { char name[30]; char dept[10]; char location[3]; } active; struct { char name[30]; char street[20]; char city_state[3]; char zip[5]; } retired; } info; } preson;
(1) mail={1,'Petrov','Ufa','RUS'};
(2) preson.id=23;
(3) preson.info.active.name='Petrov';
(4) info.active.name='Petrov';
(5) active.name='Petrov';
Какое значение возвращает функция fgets(buf, 8, fp);, если указатель установлен на начало файла fp, который имеет вид: Язык Программирования С++
(1) Я
(2) Язык
(3) Язык Про
(4) ЯзыкПрог
Какая область динамической памяти, выделенной под одномерный массив mass, будет освобождена следующим действием: delete mass;?
(1) вся используемая динамическая память
(2) область, занятая всеми элементами массива mass
(3) область, занятая только первым элементом массива mass
(4) к массиву данная операция не применима
Укажите ситуации, когда функция со спецификатором inline будет трактоваться как обычная не подставляемая функция.
(1) всегда используется как подставляемая функция
(2) никогда не используется как подставляемая
(3) функция является рекурсивной
(4) вызывается более одного раза в выражении
В программном коде выполнено объявление однонаправленного списка: struct Single_List { int Data; Single_List *Next; }; Single_List *Head; Укажите верно объявленный прототип функции формирования списка из n элементов
(1) void Make(int n,Single_List Head);
(2) void Make(int n,Single_List* Head);
(3) void Make(int n,Single_List** Head);
(4) void Make(int n,(**Single_List) Head);
Значение какого выражения возвращает функция Rec(a,x,n), код которой приведен ниже? float Rec(float *a, float x, int n){ if(n==0) return a[0]; return a[n]+x*Rec(a,x,n-1); }
(1) a0xn+a1xn-1+...an-1x+an
(2) anxn+an-1xn-1+...a1x+a0
(3) (a0+a1+...an-1+an)x
(4) an+an-1x+...a1x+a0x
Размер хеш-таблицы HashTableSize =7. Определите хеш-коды для первых пяти простых чисел, сформированные функцией Hash int Hash(int Key, int HashTableSize) { return Key % HashTableSize; }
(1) 1, 2, 3, 5, 0
(2) 2, 3, 5, 0, 4
(3) 0, 1, 2, 3, 4
(4) 2, 3, 5, 7, 4
Дан массив элементов: 4, 7, 3, 8, 5, 6, 3, 7, 2, 6, 8. Укажите порядок элементов этого массива после выполнения первого прохода сортировки Хоара по невозрастанию. Опорный элемент расположен на средней позиции
(1) 8, 8, 7, 7, 6, 6, 5, 4, 3, 3, 2
(2) 8, 7, 5, 4, 3, 6, 8, 7, 6, 3, 2
(3) 8, 7, 7, 8, 6, 5, 3, 3, 2, 6, 4
(4) 7, 4, 8, 3, 6, 5, 7, 3, 6, 2, 8
В какой строке будут выведены одинаковые результаты, если ранее выполнены следующие инициализации: int a=3,*pa,*pb; pa=&a; pb=pa;
(1) printf ("\n%p %p ",pa, pb);
(2) printf ("\n%p %p ",&pb, &a);
(3) printf ("\n%d %d ",*pa, *pb);
(4) printf ("\n%d %d ",pb, a);
Укажите результат выполнения функции сравнения строк в приведенном фрагменте кода (элементы строки – символы латинского алфавита): char ch[]="abcd",sh[]="abc"; int i; i=strcmp(ch,sh); printf ("%d",i);
(1) 1
(2) 0
(3) -1
(4) над строками сравнение не определено
Укажите в байтах размер памяти, занимаемой массивом, который объявлен так: int m[][5][3]={{{1,2,3},{1}},{{4},{7,8}}};
(1) 28
(2) 32
(3) 120
(4) для безразмерного массива размер не определен
Укажите доступ к элементу структуры, эквивалентный обращению (*man).name:
(1) man<-name
(2) *man.name
(3) man->name
(4) *(man.name)
Укажите верное условие вместо многоточия, чтобы выполнялась проверка на корректность открытия файла ofs: if (...) cout << "Файл не открыт\n";
(1) !ofs
(2) ofs
(3) !ofs.is_open()
(4) feof(ofs)
Какие действия выполняет приведенный фрагмент кода? int *mas, n=10, i; mas = new int [n]; mas[0]= a[1]=1; for (i=2; i<n; i++) mas[i]= mas[i-1]+ mas[i-2];
(1) динамическая память под массив не выделена, фрагмент ошибочный
(2) обращение к элементам массива неверно, фрагмент ошибочный
(3) выделяет динамическую память для 10 целочисленных элементов и заполняет его случайными числами
(4) выделяет динамическую память для 10 целочисленных элементов массива и заполняет его числами Фибоначчи
Укажите, какое значение возвращает функция f(a,b,c), если объявлены int a=3,b=5,c=18; и функция перегружена следующим образом: float f(int a, int b, int c){ return float((a+b+c)/3); } float f(float a, float b, float c){ return a+b+c; }
(1) ошибка вызова функции
(2) 26
(3) 8.66667
(4) 8
Какое действие над списком выполняет следующая функция: bool List(Single_List* Head, int DataItem){ Single_List *ptr; ptr = Head; while (ptr != NULL){ if (DataItem == ptr->Data) return true; else ptr = ptr->Next; } return false; }
(1) удаление элемента из списка
(2) вставка элемента в середину списка
(3) поиск элемента в списке
(4) проверка списка на пустоту
Функция Аккермана задана формулой: A(m,n)= \begin{cases} n+1,\text{ при }m=0 \\ A(m-1,1),\text{ при }m>0,n=0; \\ A(m-1,A(m,n-1)),\text{ при }m>0,n>0. \end{cases} Найдите А(3, 2)
(1) 3
(2) 4
(3) 29
(4) 38
Технология данного метода хеширования состоит в том, что элементы множества, которым соответствует одно и то же хеш-значение, связываются в цепочку-список. О каком методе хеширования идет речь?
(1) открытое хеширование
(2) закрытое хеширование
(3) таблица прямого доступа
(4) повторное хеширование
Дан массив элементов: 4, 7, 9, 0, 3, 2, 6, 8, 7. Укажите порядок элементов этого массива после выполнения одного прохода сортировки Шелла по неубыванию с шагом h=4
(1) 4, 7, 0, 9, 2, 3, 6, 8, 7
(2) 3, 2, 6, 0, 4, 7, 9, 8, 7
(3) 0, 2, 3, 4, 6, 7, 7, 8, 9
(4) 0, 4, 7, 9, 2, 3, 6, 8, 7
Укажите результат выполнения операции pa++, если выполнено объявление int *pa; и инициализация указателя адресом 0012FF48.
(1) 0012FF48
(2) 0012FF49
(3) 0012FF52
(4) данная операция над указателями не определена
В каких строках будут выведены одинаковые результаты, если ранее выполнены следующие инициализации: char ch[]="abd",*pch; pch=ch;
(1) printf ("%p %p\n",&ch,&pch);
(2) printf ("%p %p\n",ch,pch);
(3) printf ("%s %s\n",ch,pch);
(4) printf ("%p %p\n",&ch,pch);
Укажите неверные варианты объявления и/или инициализации массива.
(1) int mas[];
(2) int mas[]={1,2,3,4,5};
(3) int mas[][]={1,2,3,4,5};
(4) int mas[2][3]={1,2,3,4,5};
Прототип функции объявлен так: struct Student f (char Name[30]); Данная функция:
(1) возвращает структуру как результат
(2) возвращает указатель на структуру как результат
(3) передает структуру как параметр
(4) передает указатель на объект структурного типа как параметр
Укажите отличительные особенности средств доступа к файлам в потоковом режиме
(1) предоставляют возможность буферизации данных
(2) обеспечивают преобразования данных из машинного представления
(3) дают возможность перемещать указатель текущей позиции в файле
(4) с файлом связывается файловый дескриптор
Укажите порядок освобождения динамической памяти, выделенной ранее под двумерный массив
  • free (matr[i]);
  • free (matr);
  • for (int i=0; i<n; i++)
  • (1) 231
    (2) 321
    (3) 213
    (4) 312
    Каково назначение типа void?
    (1) используется для определения функций, которые не возвращают значения
    (2) указывает о пустом списке аргументов функции
    (3) указание об ошибке вызова функции
    (4) используется в операции приведения типов
    В программном коде выполнено объявление динамической структуры стека: struct Single_List { int Data; Single_List *Next; }; struct Stack { Single_List *Top; }; . . . . . . . . . . . . . . . Stack *Top_Stack; Какое значение содержит Top_Stack->Top?
    (1) значение элемента из вершины стека
    (2) адрес вершины стека
    (3) адрес конца стека
    (4) адрес элемента внутри стека
    Укажите верные высказывания
    (1) количество элементов полных рекурсивных обращений всегда не меньше глубины рекурсивных вызовов
    (2) одни и те же наборы параметров однозначно соответствуют одной вершине дерева рекурсии
    (3) у дерева рекурсии может быть пустое множество листьев
    (4) объем рекурсии равен количеству вершин полного рекурсивного дерева без единицы
    Укажите, на какую позицию произойдет второе смещение начала подстроки при поиске в тексте по алгоритму Кнута, Морриса и Пратта. Строка: АВСКВАВСМКВ, подстрока: ВСМ. Нумерация в строке начинается с нуля
    (1) 6
    (2) 4
    (3) 1
    (4) 0
    В алгоритме внешней сортировки используется три вспомогательных файла и отдельно реализуются распределение и слияние. Определите характеристики такой сортировки
    (1) однофазная
    (2) двухфазная
    (3) двухпутевая
    (4) многопутевая
    Укажите операции, разрешенные над указателями:
    (1) умножение
    (2) деление
    (3) взятие адреса
    (4) присваивание
    Какие действия со строками происходят в ходе выполнения фрагмента кода: char * str (char *s1, char *s2){ char *ps1 = s1; while ((*s1++ = *s2++) != 0); return ps1; }
    (1) из строки s1 удаляются все вхождения строки s2
    (2) происходит сравнение строк
    (3) содержимое строки s2 побайтово копируется в строку s1
    (4) содержимое строки s1 побайтово копируется в строку s2
    Укажите верные аналогичные обращения к элементу одномерного массива в присваивании mas[i]=3.
    (1) mas+i=3;
    (2) &mas+i=3;
    (3) *mas+i=3;
    (4) *(mas+i)=3;
    Объявлено объединение с битовыми полями и выполнено присваивание cod.n=12. Укажите значение поля a3 union { unsigned n; struct { unsigned a0 : 1; unsigned a1 : 1; unsigned a2 : 1; unsigned a3 : 1; unsigned a4 : 1; unsigned a5 : 1; unsigned a6 : 1; unsigned a7 : 1; } byte; } cod;
    (1) 0
    (2) 1
    (3) 12
    (4) 21
    Охарактеризуйте смещение в двоичном файле f, задаваемое функцией fseek(f,sizeof(int)+sizeof(float),SEEK_SET);.
    (1) от текущей позиции на 8 байтов вперед
    (2) от текущей позиции на 8 байтов назад
    (3) от конца файла на 8 байтов назад
    (4) от начала файла на 8 байтов вперед
    Укажите верный вызов функции, если объявлен ее прототип void gen(int nn, int a, int b, int ***mas) и переменная int **mass
    (1) gen(n,0,10,**mass);
    (2) gen(n,0,10,*mass);
    (3) gen(n,0,10,&mass);
    (4) gen(n,0,10,mass);
    Что возвращает функция, фрагмент кода которой приведен ниже? int Rec(int n) { if (n<10) return n; return Rec(n/10)+n%10; }
    (1) количество цифр числа n
    (2) количество всех делителей числа n
    (3) сумму цифр числа n
    (4) сумму всех делителей числа n
    Укажите, какие свойства красно-черного дерева нарушены в приведенном изображении? files
    (1) неправильный цвет корня
    (2) нарушено цветовое соотношение предков с потомками
    (3) нарушена черная высота дерева
    (4) структура является красно-черным деревом
    Сколькими способами можно расставить 4 ферзей на доске размера 44?
    (1) расстановок не существует
    (2) 1
    (3) 2
    (4) 4
    Дано случайное дерево поиска. Укажите примеры входных последовательностей, которые могли бы сформировать данное дерево files
    (1) 1, 2, 6, 8, 3, 4
    (2) 1, 2, 3, 6, 8, 4
    (3) 1, 2, 6, 3, 8, 4
    (4) 1, 2, 6, 8, 4, 3
    Во входном файле дан массив чисел: 5 6 9 3 2 3 4 5 4 7 8 6 0 Выполните первое распределение входных данных по двум вспомогательным файлам f1 и f2, используя сортировку по неубыванию естественным слиянием
    (1) f1: 5 6 9 3 4 7 8 6 f2: 2 3 4 5 0
    (2) f1: 5 6 9 2 3 4 5 6 f2: 3 4 7 8 0
    (3) f1: 5 6 2 3 4 7 0 f2: 9 3 4 5 8 6
    (4) f1: 5 6 9 4, 5 4 0 f2: 3 2 3 7 8 6
    Что является результатом выполнения фрагмента кода: int *(*f)(char);?
    (1) объявление указателя на функцию f типа int
    (2) объявление функции c именем f типа указатель на int
    (3) объявление функции с именем f типа int
    (4) объявление указателя на функцию f типа указатель на int
    Укажите действия, эквивалентные по значению следующей инициализации: char c='\0';
    (1) char c="0";
    (2) char c=0;
    (3) char c='\n';
    (4) char c='\x000';
    Укажите, что возвращает функция, фрагмент кода которой представлен ниже: int f (int k,int x[max]) { int i,m=x[0]; for (i=1;i<k;i++) if (m>x[i]) m=x[i]; return m; }
    (1) максимальный элемент двумерного массива
    (2) максимальный элемент одномерного массива
    (3) минимальный элемент одномерного массива
    (4) минимальный элемент двумерного массива
    К битовым полям нельзя применять следующие действия:
    (1) объявлять массивы битовых полей
    (2) обращаться через указатель: (*УказательНаСтруктуру).ИмяПоля
    (3) объявлять битовые поля вне структур
    (4) выполнять присваивания значений битовым полям
    Что используется в качестве рабочей области при выполнении операций исключения, вставки и замены в файлах?
    (1) редактируемый файл
    (2) дополнительный файл
    (3) массив указателей в памяти программы
    (4) редактирование файла выполняется без дополнительных ресурсов памяти
    Охарактеризуйте результат разыменования нулевого указателя
    (1) будет возвращено значение '0'
    (2) будет возвращено заранее непредсказуемое значение
    (3) программа аварийно завершится с ошибкой сегментации
    (4) указатель не может иметь нулевое значение
    Формирование какой последовательности описывает рекурсивная функция Rec, код которой приведен ниже? int Rec(int n) { if (n<3) return n; return Rec(n-1)*Rec(n-2); }
    (1) 1, 1, 2, 2, 3, 3, ...
    (2) 1, 2, 3, 4, 5, 6, ...
    (3) 1, 2, 2, 4, 8, 32, ...
    (4) 1, 2, 2, 4, 4, 8, 8, ...
    Укажите представление дерева во входном потоке, если каждой вводимой пустой связи соответствует символ звездочка '*': files
    (1) ABDEG*CF*
    (2) ABD*G*ECF*
    (3) ABD**EG***C*F**
    (4) ABCD**EG**F**
    Укажите методы организации исчерпывающего поиска
    (1) метод пошаговой детализации
    (2) перебор с возвратом
    (3) метод решета
    (4) метод ветвей и границ
    Дана частотность появления символов в тексте. Выполните кодирование символов методом Хаффмана. Укажите код символа 'е'. Считать, что очередной бит кода начинает формироваться с единицы
    abcde
    0,40,150,220,050,18
    (1) 10
    (2) 110
    (3) 111
    (4) 1110
    Укажите порядок вершин при обходе графа в ширину, начиная с вершины 1 files
    (1) 1 2 5 7 3 4 6 8
    (2) 1 2 3 4 5 6 7 8
    (3) 1 2 7 3 5 8 4 6
    (4) 1 2 4 5 7 3 6 8
    Каким образом компилятором происходит контроль конца списка параметров во фрагменте кода: float sum(int k, ...) { int *p=&k; float s=0; for(;k!=0;k--) s+=*(++p); return s; }
    (1) известен признак конца списка параметров
    (2) известно количество параметров в списке
    (3) контроль конца списка параметров данной функции проводить не надо
    (4) количество параметров у функций при компиляции должно быть фиксировано
    Укажите корректные способы конкатенации строк s1 и s2 в строку s3. Считать, что размер s3 позволяет выполнить это действие.
    (1) s3=s1+s2;
    (2) s3=s1; s3=s3+s2;
    (3) s3= strcat(s1,s2);
    (4) *s3=*s1+*s2
    Укажите, какие действия с массивом выполняет функция, фрагмент кода которой представлен ниже: void t(int str,int slb, int m[max][max],int min[max]){ int i,j; for (j=0;j<slb;j++){ min[j]=0; for (i=1;i<str;i++) if (m[i][j]<m[min[j]][j]) min[j]=i; } }
    (1) поиск номеров минимальных элементов в каждом столбце двумерного массива
    (2) поиск минимальных элементов в каждом столбце двумерного массива
    (3) поиск суммы элементов в каждом столбце двумерного массива
    (4) поиск номера минимального элемента двумерного массива
    При объявлении union { unsigned a0 : 3; unsigned a1 : 1; unsigned a2 : 2; } byte; битовые поля располагаются в памяти:
    (1) все в разных байтах
    (2) поля перекрывают друг друга
    (3) все поля располагаются в одном байте и имеют общее начало
    (4) последовательно бит за битом
    Выполнение каких функций изменяет позицию указателя в файле?
    (1) fwrite
    (2) fseek
    (3) printf
    (4) fopen
    Охарактеризуйте ошибку при использовании указателя во фрагменте кода: int *n; *n=34;
    (1) указатель неверно объявлен
    (2) указатель нельзя использовать без предварительного выделения памяти
    (3) значение присваивается неинициализированному указателю
    (4) не освобождена память под указатель
    Какое значение возвращает рекурсивная функция Rec(8), код которой приведен ниже? int Rec(int n) { if (n<1) return 0; if (n%3==0) return n/3; return Rec(n-1)+Rec(n-2); }
    (1) 0
    (2) 6
    (3) 13
    (4) 45
    Укажите вид обхода дерева, представленного на рисунке, если порядок просмотра вершин следующий: D B E A C F files
    (1) прямой
    (2) обратный
    (3) симметричный
    (4) этот путь не является обходом
    Укажите опорную схему рекурсивных вычислений, которая способствует уменьшению трудоемкости алгоритма за счет исключения несущественных случаев
    (1) увидеть
    (2) характеристическое свойство
    (3) перенести часть условий в проверку
    (4) найти родственника
    Определите коэффициент сжатия текста "abcaabbaac", к которому применено сжатие по методу Хаффмана. Размер входной последовательности на 1 байт больше ее длины
    (1) 88/15
    (2) 88/3
    (3) 4
    (4) 8
    Дано описание алгоритма поиска кратчайшего пути на графе. "Алгоритм находит кратчайший путь из данной вершины до остальных вершин. Построим множество S вершин, для которых кратчайшие пути от начальной вершины уже известны. На каждом шаге к множеству S добавляется та из оставшихся вершин, расстояние до которой от начальной вершины меньше, чем для других оставшихся вершин." Укажите название алгоритма
    (1) алгоритм Дейкстры
    (2) алгоритм Флойда
    (3) волновой алгоритм
    (4) алгоритм перебора с возвратом
    Какой объект объявлен следующим образом: float **nb;?
    (1) указатель на функцию вещественного типа
    (2) переменная вещественного типа
    (3) указатель на вещественное число
    (4) указатель на указатель на вещественное число
    Укажите результат вывода на экран после выполнения фрагмента кода, если с клавиатуры введена строка: Я скоро завершу тестирование. char str[100]; cin >> str; cout << str;
    (1) Я
    (2) Я скоро завершу тестирование
    (3) "Я скоро завершу тестирование"
    (4) Я скоро завершу тестирование\0
    В программе объявлен и проинициализирован массив int a[]={2,4,6,8,10,12,14,16}. Укажите значение *(a+a[2]).
    (1) элемент с таким индексом в данном массиве не определен
    (2) 2
    (3) 10
    (4) 14
    Какой тип данных можно использовать в качестве типа элемента структуры?
    (1) строка
    (2) указатель на объявляемую структуру
    (3) объявляемая структура
    (4) массив указателей
    Библиотека С++ поддерживает следующие уровни ввода-вывода:
    (1) низкоуровневый
    (2) потоковый
    (3) для консоли и портов
    (4) типизированный
    Из какой области выделяются блоки динамической памяти?
    (1) стековой области
    (2) области программы
    (3) области свободной памяти
    (4) области глобальных переменных
    Укажите допустимые присваивания для переменной m вещественного типа.
    (1) m='f';
    (2) m=.5e-04;
    (3) m=float(47)/4;
    (4) m=5,5;
    Укажите, что характерно для динамической структуры данных
    (1) в процессе выполнения программы может меняться характер взаимосвязи между элементами структуры
    (2) структуре выделяется память в процессе выполнения программы
    (3) структура обязательно имеет имя
    (4) размерность структуры не меняется в процессе выполнения программы
    Укажите вид функции временной трудоемкости для следующей функции в зависимости от параметра n float Step(float p, int n){ if (n==0) return 1; if (n%2==0) return pow(Step(p,n/2),2); return p*Step(p,n-1); }
    (1) O(n)
    (2) O(n2)
    (3) O(log n)
    (4) O(n log n)
    Дана последовательность чисел: 2, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 7, 7, 8, 8, 8, 8. Нумерация элементов начинается с нуля. Элемент с каким номером будет найден методом бинарного поиска по ключу key=8?
    (1) 14
    (2) 15
    (3) 16
    (4) 17
    Укажите последовательности, которые не являются бинарными пирамидами
    (1) 7, 5, 7, 4, 2, 6, 5, 3, 2
    (2) 7, 5, 7, 4, 6, 2, 5, 3, 2
    (3) 8, 6, 8, 3, 0, 7, 6, 1, 3
    (4) 8, 6, 8, 3, 0, 7, 6, 1, 3, 1
    Укажите объявление указателя-константы на вещественную константу.
    (1) const float ci=1;
    (2) const float *pci;
    (3) float *const cpi;
    (4) const float *const cpc;
    Укажите пример корректной инициализации строки
    (1) char text[100]="Редактор";
    (2) char text[]={'Р','е','д','а','к','т','о','р','\0'};
    (3) char text[]={"Р","е","д","а","к","т","о","р","\0"};
    (4) char text[100]='Редактор';
    Укажите название алгоритма сортировки, фрагмент кода которой представлен ниже. void Sort (int k,int x[max]) { int i,j, temp; for (i=0;i<k;i++) { temp=x[i]; for (j=i-1; j>=0 && x[j]>temp; j--) x[j+1]=x[j]; x[j+1]=temp; } }
    (1) пузырьковая сортировка
    (2) шейкерная сортировка
    (3) сортировка методом простого выбора
    (4) сортировка методом простого включения
    Определите размер объединения, которое объявлено следующим образом: union Book { int num[5]; char titl[30]; char x; };
    (1) 36
    (2) 32
    (3) 30
    (4) 52
    Что будет являться результатом выполнения функции fp=fopen("t.txt","w+");, если файл t.txt не существует?
    (1) создается и открывается файл с именем t.txt
    (2) на диск записывается пустой файл с именем t.txt
    (3) действие игнорируется, программа продолжает выполняться
    (4) выдается ошибка при исполнении программы
    Укажите корректное выделение динамической памяти, если выполнено объявление float *pf;
    (1) *pf = new float;
    (2) pf = new float [15];
    (3) pf = new float [];
    (4) pf = new sizeof(float);
    Укажите для плавающего 4-байтного типа преобразования к целевому типу без потери информации:
    (1) к плавающему 8-байтному типу
    (2) к целому беззнаковому 8-байтному типу
    (3) к целому знаковому 8-байтному типу
    (4) к целому беззнаковому 4-байтному типу
    К динамическим структурам данных относятся:
    (1) очередь
    (2) дек
    (3) бинарное дерево
    (4) указатель на список
    Разработана рекурсивная функция F(n,k). Определите объем рекурсии без листьев при вызове F(5,9) int F(int n, int k){ if(n==1 || k==1) return 1; if(n<=k) return F (n,n-1)+1; return F(n,k-1)+ F(n-k,k); }
    (1) 4
    (2) 5
    (3) 6
    (4) 7
    Дан программный код. Какое значение возвращает функция Search? int Search(int *x, int k, int key){ x = (int *)realloc(x,(k+1)*sizeof(int)); x[k] = key; int i = 0; while ( x[i] != key ) i++; return i < k ? i : -1; }
    (1) значение максимального элемента массива
    (2) номер последнего максимального элемента массива
    (3) номер последнего элемента, совпадающего с ключом поиска
    (4) номер первого элемента, совпадающего с ключом поиска
    В вершину пирамиды помещен элемент. На какой позиции он остановится в результате спуска вниз? Нумерация элементов начинается с нуля files
    (1) 2
    (2) 5
    (3) 6
    (4) 8
    Укажите, что разрешено выполнять над указателем, который объявлен int const *pa.
    (1) изменять значения указателя
    (2) изменять значение, на которое указывает указатель
    (3) инициализировать указатель
    (4) разыменовывать указатель
    Укажите в байтах объем памяти, выделяемой под строку char text[]="Программа";
    (1) 9
    (2) 10
    (3) 11
    (4) объем не определен
    Укажите обращение, аналогичное обращению *(*(mas+i)+j) к элементу двумерного массива размерности MN.
    (1) *(mas+N*i+j)
    (2) mas[i][j]
    (3) mas[0][0]+ N*i+j
    (4) mas[i,j]
    Объявлена структура mail. Укажите верные для этой структуры присваивания struct mail { int id; union { struct { char name[30]; char dept[10]; char location[3]; } active; struct { char name[30]; char street[20]; char city_state[3]; char zip[5]; } retired; } info; } preson;
    (1) struct.preson={1,"Petrov","Ufa","RUS"};
    (2) preson.id="23";
    (3) preson.info.retired.name="Petrov";
    (4) preson.retired.name="Petrov";
    (5) preson.name="Petrov";
    Какое значение возвращает функция fgetc(fp);, если указатель установлен на начало файла fp, который имеет вид: Язык Программирования С++
    (1) Я
    (2) Язык
    (3) Язык Программирования С++
    (4) ЯзыкПрограммированияС++
    Укажите верное освобождение динамической памяти, занятой всеми элементами массива mass.
    (1) delete [] mass;
    (2) delete mass;
    (3) free (mass);
    (4) free (*mass);
    Укажите достоинства использования подставляемых функций в программе.
    (1) уменьшается время, затрачиваемое на вызов функции
    (2) уменьшается объем памяти под программный код
    (3) функция становится доступной в любом программном коде
    (4) быстрее выполняются рекурсивные вызовы подставляемой функции
    В программном коде выполнено объявление однонаправленного списка: struct Single_List { int Data; Single_List *Next; }; Single_List *Head; Укажите верно объявленный прототип функции печати списка
    (1) void Print(Single_List Head);
    (2) void Print(Single_List* Head);
    (3) void Print(Single_List** Head);
    (4) void Print((*Single_List) Head);
    Значение какого выражения возвращает функция Rec(1, n), код которой приведен ниже? int Rec(int s,int k){ if(k==0) return s; return Rec(1+s*k,k-1); }
    (1) 1+2+3+...+n
    (2) n!
    (3) 1!+2!+3!+…+n!
    (4) s+2s+3s+...+ks
    Хеш-таблица формируется методом середин квадратов. Определите хеш-коды для первых пяти двузначных простых чисел, сформированные функцией Hash int Hash(int Key) { return ((Key*Key)/10)%10 ; }
    (1) 2, 6, 8, 6, 2
    (2) 1, 1, 2, 3, 5
    (3) 12, 16, 28, 36, 52
    (4) 1, 9, 9, 1, 9
    Дан массив элементов: 4, 7, 3, 8, 5, 6, 3, 7, 2, 6, 8. Укажите порядок элементов этого массива после выполнения второго прохода сортировки Хоара по неубыванию. Опорный элемент расположен на средней позиции
    (1) 3, 2, 4, 3, 5, 6, 6, 7, 7, 8, 8
    (2) 2, 3, 3, 4, 5, 6, 6, 7, 7, 8, 8
    (3) 4, 3, 3, 2, 5, 6, 7, 7, 8, 6, 8
    (4) 3, 4, 5, 7, 8, 2, 3, 6, 6, 7, 8
    В каких строках будут выведены одинаковые результаты, если ранее выполнены следующие инициализации: int a=3,*pa,*pb; pa=&a; pb=pa;
    (1) printf ("\n%d %d ",*pa, a);
    (2) printf ("\n%d %d ",pa, a);
    (3) printf ("\n%p %p ",&pa, &pb);
    (4) printf ("\n%d %d ",*pb, a);
    Укажите результат выполнения функции сравнения строк в приведенном фрагменте кода (элементы строки – символы латинского алфавита): char ch[]="aacd",sh[]="abc"; int i; i=strcmp(ch,sh); printf ("%d",i);
    (1) 1
    (2) 0
    (3) -1
    (4) над строками сравнение не определено
    Укажите в байтах размер памяти, занимаемой массивом, который объявлен так: float m[][6]={{6.2},{14.3,0.3},{7.0,1.0,5.5,7.8}};
    (1) 28
    (2) 48
    (3) 72
    (4) для безразмерного массива размер не определен
    Укажите доступ к элементу структуры, эквивалентный обращению (*child).book[1]:
    (1) child->book[]
    (2) child->book[1]
    (3) *(child.book[1])
    (4) child.book
    Укажите верное условие вместо многоточия, чтобы выполнялось корректно чтение из открытого файла ofs: while(...) { ch=getc(ofs); printf("%c",ch); }
    (1) feof(ofs)
    (2) !feof(ofs)
    (3) ofs
    (4) !ofs.is_open()
    Какие действия выполняет приведенный фрагмент кода? int n=20, i; float *mas; mas = (float *) calloc(n,sizeof(float)); for (i=0; i<n; i++) mas[i]= exp(i);
    (1) выделяет динамическую память для 20 вещественных элементов и заполняет его случайными числами
    (2) выделяет динамическую память для 20 вещественных элементов массива и заполняет его значениями экспоненциальной функции
    (3) не выполнено явное преобразование типа указателя при выделении динамической памяти, фрагмент ошибочный
    (4) во фрагменте ошибка вследствие неверного обращения к элементам массива
    Укажите, какое значение возвращает функция g(a,b,c), если объявлены int a=3,b=5,c=18; и функция перегружена следующим образом: float g(int a, int b, int c,int d){ return float(a+b+c)/4; } float g(float a, float b, float c){ return a+b+c; }
    (1) ошибка вызова функции
    (2) 6.5
    (3) 8.5
    (4) 8
    Какое действие над списком выполняет следующая функция: void List(Single_List* Head){ if (Head != NULL){ List(Head->Next); delete Head; } }
    (1) удаление элемента из списка
    (2) удаление всего списка
    (3) вставка элемента в середину списка
    (4) проверка списка на пустоту
    Функция Аккермана задана формулой: A(m,n)= \begin{cases} n+1,\text{ при }m=0 \\ A(m-1,1),\text{ при }m>0,n=0; \\ A(m-1,A(m,n-1)),\text{ при }m>0,n>0. \end{cases} Найдите общее число вершин рекурсивного дерева при вызове А(2, 1)
    (1) 2
    (2) 3
    (3) 13
    (4) 14
    При данном методе хешировании в хеш-таблице хранятся непосредственно сами элементы, а не заголовки списков элементов. Поэтому в каждой записи (сегменте) может храниться только один элемент. О каком методе хеширования идет речь?
    (1) открытое хеширование
    (2) закрытое хеширование
    (3) таблица прямого доступа
    (4) повторное хеширование
    Дан массив элементов: 4, 7, 3, 0, 3, 2, 6, 8, 7, 2, 6, 4. Укажите порядок элементов этого массива после выполнения одного прохода сортировки Шелла по невозрастанию с шагом h=6
    (1) 7, 4, 3, 0, 3, 2, 8, 6, 7, 2, 6, 4
    (2) 8, 7, 7, 6, 6, 4, 4, 3, 3, 2, 2, 0
    (3) 8, 7, 6, 6, 4, 2, 7, 4, 3, 3, 2, 0
    (4) 6, 8, 7, 2, 6, 4, 4, 7, 3, 0, 3, 2
    Укажите результат выполнения операции pb+pa, если выполнено объявление int *pa,*pb; и инициализация указателей адресами 0012FF48 и 0012FF64 соответственно.
    (1) 0025FEAC
    (2) 16
    (3) 4
    (4) данная операция над указателями не определена
    В каких строках будут выведены разные результаты, если ранее выполнены следующие инициализации: char ch[]="abd",*pch; pch=ch;
    (1) printf ("%p %p\n",&pch,pch);
    (2) printf ("%p %p\n",&ch,ch);
    (3) printf ("%s %s\n",&ch,ch);
    (4) printf ("%p %p\n",&ch,pch);
    (1) int mas[3]={2.3,4.5,5};
    (2) int mas[3]={{1},{2},{3}};
    (3) int mas[][3]={{1,2,3},{4,5}};
    (4) int mas[5][3]={{1,2,3},{4,5}};
    Прототип функции объявлен так: struct Student *f (char Name[30]); Данная функция:
    (1) возвращает структуру как результат
    (2) возвращает указатель на структуру как результат
    (3) передает структуру как параметр
    (4) передает указатель на объект структурного типа как параметр
    Каким образом происходит контроль пользовательских дескрипторов при распределенном доступе к файлам?
    (1) по достижению символа конца файла
    (2) по количеству считанных из файла байтов
    (3) по количеству считанных из файла строк
    (4) по счетчику ссылок в записи таблицы файлов
    Укажите порядок выделения динамической памяти под двумерный массив
  • matr[i] = new int [m];
  • int n=5, m=6,**matr;
  • for (int i=0; i<n; i++)
  • matr = new int * [n];
  • (1) 2134
    (2) 2431
    (3) 2314
    (4) 2341
    Какой тип имеет переменная перечисляемого типа, который объявлен так: enum year {winter, spring, summer, autumn};?
    (1) строковый
    (2) целочисленный
    (3) символьный
    (4) тип void
    В программном коде выполнено объявление динамической структуры очереди: struct Double_List { Double_List *Prior; int Data; Double_List *Next; }; struct Queue { Double_List *Begin; Double_List *End; }; . . . . . . . . . . . . . . . Queue *My_Queue; Укажите примеры правильно выполненной адресации
    (1) My_Queue->Begin->Next->Data
    (2) My_Queue->Begin->Data
    (3) My_Queue->Data
    (4) Begin->Data
    Укажите верные высказывания
    (1) глубина рекурсивных вызовов может превосходить максимальный размер стека
    (2) все рекурсивные слои сохраняются в памяти до полного завершения программы
    (3) операции открытия и закрытия рекурсивного слоя требуют дополнительных временных затрат
    (4) одноименные переменные различных рекурсивных обращений не накладываются друг на друга
    Составьте таблицу смещений при поиске подстроки в строке по алгоритму Бойера и Мура. Строка: АВВОМРАВАВМАВ, подстрока: ВАВ. Нумерация в строке начинается с нуля
    (1) 1, 2, 7
    (2) 0, 1, 2, 7
    (3) 0, 1, 4, 5, 6, 7
    (4) 0, 1, 2, 3, 4, 5, 6, 7
    В алгоритме внешней сортировки используется два вспомогательных файла и совмещены распределение и слияние. Определите характеристики такой сортировки
    (1) однофазная
    (2) двухфазная
    (3) двухпутевая
    (4) многопутевая
    Укажите операции, запрещенные над указателями:
    (1) разыменование
    (2) сравнение
    (3) приведение типов
    (4) сложение с вещественным числом
    Какие действия со строками происходят в ходе выполнения фрагмента кода: char * str (char *s1, char *s2) { char *p1, *p2; p1 = s1; p2 = s2; while ( *p1) p1++; while ((*p1++ = *p2++) != 0); return s1; }
    (1) из строки s1 удаляются все вхождения строки s2
    (2) конкатенация строк s1 и s2 с сохранением результата в s1
    (3) содержимое строки s2 побайтово копируется в строку s1
    (4) содержимое строки s1 побайтово копируется в строку s2
    Укажите верные аналогичные обращения к указателю на одномерный массив в присваивании int *p; p=mas;
    (1) int *p; p=mas[0];
    (2) int *p; p=&mas[0];
    (3) int *p; p=*mas[0];
    (4) int *p; p=*mas;
    Объявлено объединение с битовыми полями и выполнено присваивание cod.n=18. Укажите значение поля a2 union { unsigned n; struct { unsigned a0 : 1; unsigned a1 : 1; unsigned a2 : 1; unsigned a3 : 1; unsigned a4 : 1; unsigned a5 : 1; unsigned a6 : 1; unsigned a7 : 1; } byte; } cod;
    (1) 0
    (2) 1
    (3) 2
    (4) 18
    Охарактеризуйте смещение в двоичном файле f, задаваемое функцией fseek(f,-sizeof(int),SEEK_END);
    (1) от текущей позиции на 4 байта вперед
    (2) от текущей позиции на 4 байта назад
    (3) от конца файла на 4 байта назад
    (4) от начала файла на 4 байта вперед
    Укажите верный вызов функции, если объявлен ее прототип void out(int nn, int **mas) и переменная int **mass
    (1) out(n,**mass);
    (2) out(n,*mass);
    (3) out(n,mass);
    (4) out(n,&mass);
    Что возвращает функция, фрагмент кода которой приведен ниже? long int Rec(int n) { if (n<2) return 1; return Rec(n-1)*n; }
    (1) произведение цифр числа n
    (2) количество цифр числа n
    (3) количество делителей числа n
    (4) факториал числа n
    Укажите, какие свойства красно-черного дерева нарушены в приведенном изображении? files
    (1) неправильный цвет листьев
    (2) нарушено цветовое соотношение предков с потомками
    (3) нарушена черная высота дерева
    (4) структура является красно-черным деревом
    Сколько существует основных расстановок 4 ферзей на доске размером 44?
    (1) расстановок не существует
    (2) 1
    (3) 2
    (4) 4
    На схеме показано вращение АВЛ-дерева. Определите вид вращения files
    (1) малое правое
    (2) большое правое
    (3) малое левое
    (4) большое левое
    После распределения по двум файлам были получены данные (серии разделены апострофом) f1: 3 7 2 8 5 9 1 3 f2: 6 9 3 5 7 7 Выполните слияние этих результатов в один файл согласно алгоритму простой сортировки по неубыванию
    (1) 3 7 6 9 2 8 3 5 5 9 7 7 1 3
    (2) 3 7 2 8 6 9 3 5 5 9 1 3 7 7
    (3) 3 7 2 8 5 9 1 3 6 9 3 5 7 7
    (4) 3 6 7 9 2 3 5 8 5 7 7 9 1 3
    Что является результатом выполнения фрагмента кода: int *f(char);?
    (1) объявление указателя на функцию f типа int
    (2) объявление функции c именем f типа указатель на int
    (3) объявление функции с именем f типа int
    (4) объявление указателя на функцию f типа указатель на int
    Укажите действия, эквивалентные по значению следующей инициализации: char c='\x000';
    (1) char c="0";
    (2) char c='0';
    (3) char c='\0';
    (4) char c=0;
    Укажите, что возвращает функция, фрагмент кода которой представлен ниже: float a (int k, float x[max]) { int i; float s=0.0; for (i=0;i<k;i++) s+=x[i]; return s/k; }
    (1) сумму элементов одномерного массива
    (2) среднее арифметическое элементов одномерного массива
    (3) результат деления каждого элемента одномерного массива на k
    (4) сумму элементов одномерного массива, равных заданному
    К битовым полям можно применять следующие действия:
    (1) адресовать битовые поля
    (2) объявлять битовые поля вне объединений
    (3) обращаться через ссылку: УказательНаСтруктуру -> ИмяПоля
    (4) выполнять арифметические операции над битовыми полями
    Какая особенность записи данных в файлы не позволяет напрямую выполнять вставку и замену в файлах?
    (1) редактируемый файл всегда очищается при открытии
    (2) запись всегда происходит только в конец файла
    (3) при записи данных из буфера автоматически дописывается символ конца файла
    (4) запись в файл напрямую невозможна
    Охарактеризуйте значение указателя в результате выделения памяти для массива из нулевого или отрицательного числа элементов
    (1) будет возвращено значение NULL
    (2) будет возвращено заранее непредсказуемое значение
    (3) программа аварийно завершится с ошибкой сегментации
    (4) будет возвращено значение адреса выделенной области памяти
    Формирование какой последовательности описывает рекурсивная функция Rec, код которой приведен ниже? int Rec(int n) { if (n<5) return n; return Rec(n-1)+Rec(n%4); }
    (1) 1, 2, 3, 4, 1, 2, 3, 4, ...
    (2) 1, 2, 3, 4, 6, 8, 10, 12, ...
    (3) 1, 2, 3, 4, 5, 6, 7, 8, ...
    (4) 1, 2, 3, 4, 5, 7, 10, 10, ...
    Укажите представление дерева во входном потоке, если каждой вводимой пустой связи соответствует символ звездочка '*': files
    (1) ABDG**CE**F**
    (2) ABD*G***CE**F**
    (3) ABD*G**CE**F**
    (4) ABCDEF*G******
    Какое решение задачи называется частичным?
    (1) один из вариантов, соответствующий условию задачи
    (2) часть одного из вариантов, соответствующего условию задачи
    (3) один из вариантов решения, полностью отличный от остальных
    (4) краевые решения задачи
    Дана частотность появления символов в тексте. Выполните кодирование символов методом Хаффмана. Укажите среднюю длину кодового слова, которая равна сумме произведений вероятности на длину кода каждого символа соответственно. Считать, что очередной бит кода начинает формироваться с единицы
    abcde
    0,40,150,220,050,18
    (1) 4
    (2) 3
    (3) 2,8
    (4) 2,14
    Укажите порядок вершин при обходе графа в глубину, начиная с вершины 1 files
    (1) 1 2 4 5 7 3 6 8
    (2) 1 2 3 4 6 5 7 8
    (3) 1 2 3 4 6 4 5 1 7 8
    (4) 1 2 3 4 5 6 7 8
    Каким образом компилятором происходит контроль конца списка параметров во фрагменте кода: double rec(double(*pf)(double), double a, double b){ int N, i; double h,s=0.0; printf("\nВведите количество интервалов разбиения: N= "); scanf("%d",&N); printf("\na= "); h=(b-a)/N; for (i=0;i<N;i++) s+=pf(a+h/2+i*h); return h*s; }
    (1) известен признак конца списка параметров
    (2) известно количество параметров в списке
    (3) у данной функции фиксированное число параметров, контроль не нужен
    (4) количество параметров функций вводится с клавиатуры
    Укажите корректное усечение начала строки s на n символов и вывод результата. Считать, что такое действие со строкой s возможно.
    (1) char *p; p=s[n]; printf ("%s",p);
    (2) char *p; p=&s[n]; printf ("%s",p);
    (3) char *p; p=*s[n]; printf ("%s",p);
    (4) char *p; p=s+n; printf ("%s",p);
    Укажите, какие действия с массивом выполняет функция, фрагмент кода которой представлен ниже: void p(int strslb, int m[max][max]) { int i,buf,t; for (i=0;i<strslb;i++){ buf= m[i][i]; t= abs(strslb-i-1); m[i][i]= m[i][t]; m[i][t]=buf; } }
    (1) поиск номеров минимальных элементов в каждом столбце двумерного массива
    (2) циклический сдвиг столбцов квадратной матрицы
    (3) обмен значениями элементов диагоналей квадратной матрицы, расположенных в одной строке
    (4) замена значений всех элементов главной диагонали на модуль максимального элемента
    При объявлении struct { unsigned a0 : 3; unsigned a1 : 1; unsigned a2 : 3; } byte; битовые поля располагаются в памяти:
    (1) все с разными адресами
    (2) в одном байте, в порядке, определяемом реализацией
    (3) как массив битовых полей
    (4) как указатели на битовые поля
    Выполнение каких функций не изменяет позицию указателя в файле?
    (1) fwrite
    (2) fread
    (3) fopen
    (4) fclose
    Охарактеризуйте ошибку при использовании действий с указателями во фрагменте кода: int *p,i=55; p=&i; delete p;
    (1) попытка освободить нединамическую память
    (2) указатель неверно объявлен
    (3) значение присваивается неинициализированному указателю
    (4) несоответствие типов в присваивании
    Укажите вид обхода дерева, представленного на рисунке, если порядок просмотра вершин следующий: D E B F C A files
    (1) прямой
    (2) обратный
    (3) симметричный
    (4) этот путь не является обходом
    Укажите опорную схему рекурсивных вычислений, в которой возможен переход к задаче большей размерности
    (1) обобщить
    (2) увидеть
    (3) найти родственника
    (4) переформулировать
    Выполните кодирование текста "abcaabbaac", к которому применено сжатие по методу Хаффмана. Считать, что очередной бит кода начинает формироваться с единицы
    (1) 00011000000101000010
    (2) 101001101011100
    (3) 100111010010010
    (4) 101111001111
    Дано описание алгоритма поиска кратчайшего пути на графе. "Алгоритм находит кратчайшее расстояние между двумя любыми вершинами графа на основании факта о том, что всякий неэлементарный кратчайший путь состоит из других кратчайших путей." Укажите название алгоритма
    (1) алгоритм Дейкстры
    (2) алгоритм Флойда
    (3) волновой алгоритм
    (4) алгоритм перебора с возвратом
    Как получить доступ к значению переменой x, если выполнены объявления и инициализации: int *p, x, **q; x = 10; p = &x; q = &p;
    (1) printf("%d", **q);
    (2) printf("%d", *q);
    (3) printf("%d", q);
    (4) printf("%d", *p);
    Укажите результат вывода на экран после выполнения фрагмента кода, если с клавиатуры введена строка: Я скоро завершу тестирование. char str[100]; gets(str); puts(str);
    (1) Я
    (2) Я скоро завершу тестирование
    (3) "Я скоро завершу тестирование"
    (4) Я скоро завершу тестирование\n
    В программе объявлен и проинициализирован массив int a[]={1,3,8,5,0,4,9,2,13}. Укажите значение a(a[7]+a[1]).
    (1) элемент с таким индексом в данном массиве не определен
    (2) 8
    (3) 4
    (4) 13
    Какой тип данных нельзя использовать в качестве типа элемента структуры?
    (1) файл
    (2) объединение
    (3) указатель на объединение
    (4) указатель на указатель
    Укажите верные высказывания
    (1) поток определяется как последовательность байтов
    (2) поток зависит от устройства ввода-вывода данных
    (3) потоковый ввод-вывод осуществляется посредством буферизации данных
    (4) при потоковом вводе данных обрабатываются только типизированные файлы
    Динамическая память явно не освобождена в программе. Тогда:
    (1) она будет занята и после завершения программы
    (2) она автоматически освободится после завершения работы программы
    (3) она освободится только при выходе из среды программирования
    (4) она освободится только после выключения компьютера
    Укажите допустимые присваивания для переменной b логического типа.
    (1) b='true';
    (2) b=true;
    (3) b=1;
    (4) b=5>6;
    Укажите, что характерно для динамической структуры данных
    (1) при нехватке памяти под элементы структуры они записываются поверх себя же
    (2) динамической структуре данных сопоставляется статическая переменная типа указатель
    (3) количество элементов структуры может не фиксироваться
    (4) в процессе работы программы не может меняться характер взаимосвязей между элементами структуры
    Укажите вид функции временной трудоемкости для следующей функции в зависимости от параметра n float G(float p, int n){ if(n==0) return 1; return G(p,n-1)*p; }
    (1) O(n)
    (2) O(n2)
    (3) O(log n)
    (4) O(n log n)
    Дана последовательность n вещественных чисел. Необходимо найти число по ключу key с точностью e алгоритмом бинарного поиска. Оцените время выполнения алгоритма
    (1) O(n)
    (2) O(1+log n)
    (3) O(n/e)
    (4) O(log 1/e)
    Укажите последовательности, которые являются бинарными пирамидами
    (1) 9, 6, 8, 3, 5, 7, 4, 2, 1, 4
    (2) 9, 5, 8, 3, 4, 7, 4, 2, 1, 6
    (3) 9, 6, 6, 2, 5, 8, 7, 0, 1, 3
    (4) 9, 6, 8, 2, 5, 6, 7 0, 1, 3
    Укажите объявление указателя на вещественную константу.
    (1) const float ci=1;
    (2) const float *pci;
    (3) float *const cpi;
    (4) const float *const cpc;
    Укажите пример некорректной инициализации строки
    (1) char text[]={'Р','е','д','а','к','т','о','р'};
    (2) char text[]={'Р','е','д','а','к','т','о','р','\0'};
    (3) char text[8]={'Р','е','д','а','к','т','о','р','\0'};
    (4) char text[]={"Р","е","д","а","к","т","о","р","\0"};
    Укажите название алгоритма сортировки, фрагмент кода которой представлен ниже. void Sort (int k,int x[max]) { int i,j,buf; for (i=k-1;i>0;i--) for (j=0;j<i;j++) if (x[j]>x[j+1]) { buf=x[j]; x[j]=x[j+1]; x[j+1]=buf; } }
    (1) пузырьковая сортировка
    (2) шейкерная сортировка
    (3) сортировка методом простого выбора
    (4) сортировка методом простого включения
    Определите размер структуры, которая объявлена следующим образом: struct Book { int number; union { char titl[30]; char x; } info; };
    (1) 50
    (2) 36
    (3) 32
    (4) 30
    Что будет являться результатом выполнения функции fp=fopen("t.txt","а+");, если файл t.txt существует?
    (1) файл открывается, содержимое удаляется
    (2) файл открывается, содержимое не удаляется
    (3) файл открывается только для чтения
    (4) выдается ошибка при исполнении программы
    Укажите ошибку при использовании операции выделения динамической памяти, если выполнено объявление char *ph;
    (1) ph = new char [20];
    (2) ph = *(new char);
    (3) ph = new char ('&');
    (4) ph = new char;
    Укажите для целого беззнакового 4-байтного типа преобразования к целевому типу без потери информации:
    (1) к плавающему типу
    (2) к целому знаковому 4-байтному типу
    (3) к логическому типу
    (4) к целому беззнаковому 8-байтному типу
    К динамическим структурам данных относятся:
    (1) объединение
    (2) функция
    (3) красно-черное дерево
    (4) кольцевой список
    Разработана рекурсивная функция F(n,k). Определите число листьев рекурсии при вызове F(7,5) int F(int n, int k){ if(n==1 || k==1) return 1; if(n<=k) return F (n,n-1)+1; return F(n,k-1)+ F(n-k,k); }
    (1) 8
    (2) 10
    (3) 12
    (4) 16
    Дан программный код. Какое значение возвращает функция Search? int Search(int *x, int k, int key){ bool found = false; int high = k - 1, low = 0; int middle = (high + low) / 2; while ( !found && high >= low ){ if (key == x[middle]) found = true; else if (key < x[middle]) high = middle - 1; else low = middle + 1; middle = (high + low) / 2; } return found ? middle : -1 ; }
    (1) значение среднего элемента массива
    (2) номер последнего элемента, совпадающего с ключом поиска
    (3) номер первого элемента, совпадающего с ключом поиска
    (4) номер элемента, совпадающего с ключом поиска
    В вершину пирамиды помещен элемент. На какой позиции он остановится в результате спуска вниз? Нумерация элементов начинается с нуля files
    (1) 8
    (2) 4
    (3) 3
    (4) 2
    Укажите, что запрещено выполнять над указателем, который объявлен const int *pa.
    (1) изменять значения указателя
    (2) изменять значение, на которое указывает указатель
    (3) инициализировать указатель
    (4) разыменовывать указатель
    Укажите длину строки char text[]="Программа";
    (1) 9
    (2) 10
    (3) 11
    (4) длина не определена
    Укажите обращение, аналогичное обращению (*(arr+i))[j] к элементу двумерного массива размерности MN.
    (1) *(mas+N*i+j)
    (2) mas[i][j]
    (3) *(*(mas+i)+j)
    (4) mas[i,j]
    Объявлена структура mail. Укажите верные для этой структуры присваивания struct mail { int id; union { struct { char name[30]; char dept[10]; char location[3]; } active; struct { char name[30]; char street[20]; char city_state[3]; char zip[5]; } retired; } info; } preson;
    (1) mail.preson={1,"Petrov","Ufa","RUS"};
    (2) preson.info.active.dept="Center";
    (3) preson.info.active={"Petrov","Ufa","RUS"};
    (4) dept.active.info.preson="Center";
    (5) name="Petrov";
    Какое значение возвращает функция fscanf(fp, "%s %s", buf1, buf2); если указатель установлен на начало файла fp, который имеет вид: Язык Программирования С++
    (1) ЯзыкПрограммирования
    (2) Язык Программирования
    (3) 20
    (4) 2
    Какая область динамической памяти, выделенной под одномерный массив mass, будет освобождена следующим действием: free (mass);?
    (1) вся используемая динамическая память
    (2) область, занятая всеми элементами массива mass
    (3) область, занятая только первым элементом массива mass
    (4) к массиву данная операция не применима
    Укажите возможные недостатки использования подставляемых функций в программе.
    (1) увеличивается время, затрачиваемое на вызов функции
    (2) увеличивается объем памяти под программный код
    (3) функция доступна для подстановки только один раз
    (4) компилятор не всегда может выполнить подстановку из-за контекста
    В программном коде выполнено объявление однонаправленного списка: struct Single_List { int Data; Single_List *Next; }; Single_List *Head; Укажите верно объявленный прототип функции поиска элемента в списке
    (1) bool Find(Single_List Head, int Data);
    (2) bool Find(Single_List* Head, int Data);
    (3) bool Find(Single_List** Head, int Data);
    (4) bool Find((**Single_List) Head, int Data);
    Значение какого выражения возвращает функция Rec(1, 1, n), код которой приведен ниже? int Rec(int a,int b,int k){ if(k<2) return b; return Rec(b,a+b,k-1); }
    (1) 1+1+2+3+...+n
    (2) 1+1+2+2+3+3+...+n+n
    (3) сумму n первых чисел последовательности Фибоначчи
    (4) n-ый член последовательности Фибоначчи
    Хеш-таблица формируется методом поразрядного сложения двузначных представлений цифр числа с последующим переводом результата в десятичное число. Определите хеш-коды для первых пяти двузначных составных чисел, сформированные функцией хеширования
    (1) 1, 1, 1, 1, 1
    (2) 1, 3, 5, 6, 7
    (3) 0, 2, 4, 5, 6
    (4) 1, 3, 5, 5, 7
    Дан массив элементов: 7, 9, 0, 3, 2, 4, 7, 6, 5, 2, 0. Укажите порядок элементов этого массива после выполнения второго прохода сортировки Хоара по невозрастанию. Опорный элемент расположен на средней позиции
    (1) 9, 7, 7, 6, 5, 4, 3, 2, 2, 0, 0
    (2) 7, 9, 5, 6, 7, 4, 2, 3, 0, 2, 0
    (3) 7, 9, 7, 6, 5, 4, 2, 3, 2, 0, 0
    (4) 7, 9, 5, 6, 7, 4, 2, 3, 0, 2, 0
    В каких строках будут выведены одинаковые результаты, если ранее выполнены следующие инициализации: int a=3,*pa,*pb; pa=&a; pb=pa;
    (1) printf ("\n%p %p ",pa, &a);
    (2) printf ("\n%p %p ",&pa, &a);
    (3) printf ("\n%d %d ",*pa, *pb);
    (4) printf ("\n%p %p ",pb, &a);
    Укажите результат выполнения функции сравнения строк в приведенном фрагменте кода (элементы строки – символы латинского алфавита): char ch[]="abd",sh[]="abc"; int i; i=strcmp(ch,sh); printf ("%d",i);
    (1) 1
    (2) 0
    (3) -1
    (4) над строками сравнение не определено
    Укажите в байтах размер памяти, занимаемой массивом, который объявлен так: int m[][7]={{6,2,4,8},{13},{5,6,7}};
    (1) 84
    (2) 32
    (3) 48
    (4) для безразмерного массива размер не определен
    Укажите доступ к элементу структуры, эквивалентный обращению woman->name:
    (1) name<-woman
    (2) *woman.name
    (3) *(woman.name)
    (4) (*woman).name
    Укажите верное условие вместо многоточия, чтобы выполнялась проверка на корректность открытия файла int.txt: if(...) perror("int.txt");
    (1) feof("int.txt")
    (2) (f=fopen("int.txt","w"))==0
    (3) f=fopen("int.txt","w")==0
    (4) "int.txt".is_open()
    Какие действия выполняет приведенный фрагмент кода? int n=15, i; double *mas; mas = (double *)malloc(sizeof(double)); for (i=0; i<n; i++) cin << mas[i];
    (1) выделяет динамическую память для 15 вещественных элементов и считывает в него элементы с клавиатуры
    (2) не выполнено явное преобразование типа указателя при выделении динамической памяти, фрагмент ошибочный
    (3) во фрагменте ошибка вследствие неверного обращения к элементам массива
    (4) динамическая память выделена только для одного вещественного числа, фрагмент ошибочный
    Укажите, какое значение возвращает функция h(a,b,c), если объявлены int a=3,b=6;float c=4.5; и функция перегружена следующим образом: int h(int a, float b, int c){ return int(a+b+c)/3; } float h(float a, int b, float c){ return a+b+c; }
    (1) ошибка вызова функции
    (2) 13.5
    (3) 4.5
    (4) 4
    Какое действие над списком выполняет следующая функция: bool List(Single_List* Head){ if (Head!=NULL) return false; else return true; }
    (1) удаление элемента из списка
    (2) вставка элемента в конец списка
    (3) поиск элемента в списке
    (4) проверка списка на пустоту
    Функция Аккермана задана формулой: A(m,n)= \begin{cases} n+1,\text{ при }m=0 \\ A(m-1,1),\text{ при }m>0,n=0; \\ A(m-1,A(m,n-1)),\text{ при }m>0,n>0. \end{cases} Найдите объем рекурсии при вызове А(2, 2)
    (1) 4
    (2) 18
    (3) 26
    (4) 27
    Если осуществляется попытка поместить элемент х в сегмент с номером h(x), который уже занят другим элементом, то в соответствии с данной методикой выбирается последовательность других номеров сегментов h1(x),h2(x),..., куда можно поместить элемент х. Каждое из этих местоположений последовательно проверяется, пока не будет найдено свободное. О какой методике хеширования идет речь?
    (1) открытое хеширование
    (2) метод остатков от деления
    (3) таблица прямого доступа
    (4) повторное хеширование
    Дан массив элементов: 5, 0, 6, 4, 9, 7, 9, 2, 1, 0. Укажите порядок элементов этого массива после выполнения одного прохода сортировки Шелла по неубыванию с шагом h=5
    (1) 0, 4, 5, 6, 9, 0, 1, 2, 7, 9
    (2) 0, 5, 4, 6, 7, 9, 2, 9, 0, 1
    (3) 5, 0, 2, 1, 0, 7, 9, 6, 4, 9
    (4) 5, 0, 0, 2, 1, 7, 9, 9, 6, 4
    Укажите результат выполнения операции pa--, если выполнено объявление float *pa; и инициализация указателя адресом 0012FF54.
    (1) 0012FF50
    (2) 0012FF53
    (3) 0012FF54
    (4) данная операция над указателями не определена
    В каких строках будут выведены одинаковые результаты, если ранее выполнены следующие инициализации: char ch[]="abd",*pch; pch=ch;
    (1) printf ("%p %s\n",&pch,pch);
    (2) printf ("%p %s\n",&ch,ch);
    (3) printf ("%s %s\n",pch,&ch);
    (4) printf ("%p %p\n",pch,&ch);
    Укажите неверные варианты объявления и/или инициализации массива.
    (1) int mas[3]={2+5,7,8};
    (2) int mas[9]={1,2,3,4};
    (3) int mas[2][]={{1,2,3},{4,5}};
    (4) int mas[2][3]={1,2,3,4,5,6,7,8,9};
    Прототип функции объявлен так: void STU (struct Student *pst); Данная функция:
    (1) возвращает структуру как результат
    (2) возвращает указатель на структуру как результат
    (3) передает структуру как параметр
    (4) передает указатель на объект структурного типа как параметр
    Укажите отличительные особенности средств прямого доступа к файлам
    (1) предоставляют возможность буферизации данных
    (2) не обеспечивают преобразования данных из машинного представления
    (3) дают возможность перемещать указатель текущей позиции в файле
    (4) с файлом связывается файловый дескриптор
    Укажите порядок освобождения динамической памяти, выделенной ранее под двумерный массив
  • delete matr [i];
  • for (int i=0; i<n; i++)
  • delete [] matr;
  • (1) 123
    (2) 321
    (3) 213
    (4) 231
    Укажите случаи допустимого неявного преобразования типов в выражениях, если выполнено объявление int s;:
    (1) s=20/6;
    (2) s=4.5%8;
    (3) s=int(48.6/4);
    (4) s=48.6/4;
    В программном коде выполнено объявление динамической структуры дека: struct Double_List { Double_List *Prior; int Data; Double_List *Next; }; struct Deque { Double_List *Begin; Double_List *End; }; . . . . . . . . . . . . . . . Deque *My_Deque; Какого типа значение содержится по адресу: My_Deque->End->Next?
    (1) целочисленное значение информационного поля
    (2) указатель на внутренний элемент дека
    (3) указатель на один из концов дека
    (4) указатель на информационное поле
    Укажите верные высказывания
    (1) уменьшить трудоемкость рекурсивного алгоритма невозможно
    (2) глубина рекурсивных вызовов ограничена максимальным размером стековой области
    (3) база рекурсии содержит тривиальный случай для задачи
    (4) трудоемкость рекурсивного алгоритма не зависит от количества параметров функции
    Укажите, на какую позицию произойдет пятое смещение начала подстроки при поиске в тексте по алгоритму Бойера и Мура. Строка: АВСССКВАВСМВВВК, подстрока: ВСМ. Нумерация в строке начинается с нуля
    (1) 4
    (2) 6
    (3) 11
    (4) подстрока будет найдена меньше, чем за 5 смещений
    В алгоритме внешней сортировки используется два вспомогательных файла и отдельно реализуются распределение и слияние. Определите характеристики такой сортировки
    (1) однофазная
    (2) двухфазная
    (3) двухпутевая
    (4) многопутевая
    Укажите операции, разрешенные над указателями:
    (1) сложение указателей
    (2) вычитание указателей
    (3) инкремент
    (4) декремент
    Какие действия со строками происходят в ходе выполнения фрагмента кода: char * str (char *s) { int i; char *p; for(i=0; s[i] && s[i]==' '; i++); p = &s[i]; return p; }
    (1) из строки s удаляются все левые пробелы
    (2) из строки s удаляются все правые пробелы
    (3) к строке s добавляются слева пробелы
    (4) вычисляется длина строки
    Укажите верные аналогичные обращения к элементу одномерного массива в присваивании *(mas+i)=8;
    (1) *mas+i=8;
    (2) mas+i=8;
    (3) mas[i]=8;
    (4) &mas+i=8;
    Объявлено объединение с битовыми полями и выполнено присваивание cod.n=14. Укажите значение поля a1 union { unsigned n; struct { unsigned a0 : 1; unsigned a1 : 1; unsigned a2 : 1; unsigned a3 : 1; unsigned a4 : 1; unsigned a5 : 1; unsigned a6 : 1; unsigned a7 : 1; } byte; } cod;
    (1) 0
    (2) 1
    (3) 8
    (4) 14
    Охарактеризуйте смещение в двоичном файле f, задаваемое функцией fseek(f,sizeof(float),SEEK_CUR);
    (1) от текущей позиции на 4 байта вперед
    (2) от текущей позиции на 4 байта назад
    (3) от конца файла на 4 байта назад
    (4) от начала файла на 4 байта вперед
    Укажите верное описание прототипа функции, если ее вызов осуществляется как gen(n,0,10,&mass); и объявлена переменная int **mass
    (1) void gen(int nn, int a, int b, int &mas)
    (2) void gen(int nn, int a, int b, int *mas)
    (3) void gen(int nn, int a, int b, int **mas)
    (4) void gen(int nn, int a, int b, int ***mas)
    Что возвращает функция, фрагмент кода которой приведен ниже? int Rec(int n, int p) { if (n%p!=0) return 0; return Rec(n/p,p)+1; }
    (1) количество цифр числа n, кратных p
    (2) p-ичный порядок числа n
    (3) сумму цифр числа n, кратных p
    (4) сумму всех делителей числа n, не превосходящих p
    Сколько существует расстановок 5 ферзей на доске размера 55, при которой один из ферзей занимает центр доски?
    (1) расстановок не существует
    (2) 1
    (3) 2
    (4) 5
    Дано упорядоченное бинарное дерево. Укажите позицию вставки элемента с ключом 3 в это дерево, чтобы соблюдалась балансировка дерева files
    (1) левый потомок 8
    (2) правый потомок 6
    (3) левый потомок 2
    (4) правый потомок 2
    Во входном файле дан массив чисел: 5 6 9 3 2 3 4 5 4 7 8 6 0 Выполните первое распределение входных данных по двум вспомогательным файлам f1 и f2, используя сортировку по невозрастанию естественным слиянием
    (1) f1: 5 6 2 3 4 7 0 f2: 9 3 4 5 8 6
    (2) f1: 9 8 7 6 6 5 5 f2: 4 4 3 3 2 0
    (3) f1: 5 9 3 2 4 7 f2: 6 3 5, 4 8 6 0
    (4) f1: 9 6 5 4 3 3 2 f2: 8 7 6 5 4 0
    Что является результатом выполнения фрагмента кода: int (*f)(char);?
    (1) объявление указателя на функцию f типа int
    (2) объявление функции c именем f типа указатель на int
    (3) объявление функции с именем f типа int
    (4) объявление указателя на функцию f типа указатель на int
    Укажите действия, эквивалентные по значению следующей инициализации: char c=0;
    (1) char c="0";
    (2) char c='0';
    (3) char c[]={'0'};
    (4) char c='\0';
    Укажите, какие действия с массивом выполняет функция, фрагмент кода которой представлен ниже: void z (int k,int x[max]){ int i; for (i=0;i<k;i++) if (x[i]<0) x[i]=-x[i]; }
    (1) переставляет отрицательные элементы по убыванию
    (2) находит разность всех отрицательных элементов
    (3) находит минимальный отрицательный элемент в массиве
    (4) заменяет значения отрицательных элементов их модулями
    Какие действия не допустимы над битовыми полями?
    (1) объявлять массивы битовых полей
    (2) обращаться через указатель: (*УказательНаСтруктуру).ИмяПоля
    (3) объявлять битовые поля вне структур
    (4) выполнять присваивания значений битовым полям
    Каким образом можно выполнить редактирование файла, если его целиком нельзя разместить в памяти программы?
    (1) такую задачу решить невозможно
    (2) в качестве рабочей области использовать вспомогательный файл
    (3) считывать файл по частям, которые можно разместить в памяти
    (4) слишком большие файлы автоматически усекаются до допустимого размера
    Охарактеризуйте результат, возвращаемый операцией или функцией выделения памяти, если затребованный размер памяти слишком большой
    (1) будет возвращено заранее непредсказуемое значение
    (2) будет возвращено значение NULL
    (3) будет возвращено значение адреса части выделенной памяти
    (4) программа аварийно завершится с ошибкой сегментации
    Формирование какой последовательности описывает рекурсивная функция Rec, код которой приведен ниже? int Rec(int n) { if (n<4) return n; return Rec(Rec(n-3)); }
    (1) 1, 2, 3, 1, 2, 3, 1, 2, 3, ...
    (2) 1, 2, 3, 4, 5, 6, 7, 8, 9, ...
    (3) 1, 2, 3, 3, 2, 1, 1, 2, 3, ...
    (4) 1, 2, 3, 3, 3, 3, 3, 3, 3, ...
    Укажите представление дерева во входном потоке, если каждой вводимой пустой связи соответствует символ звездочка '*': files
    (1) AB*D**CE*G**F**
    (2) ABC*DEF***G**F**
    (3) ABD**CEG**F**
    (4) ABD*CEG*F*
    Какой способ реализации рекурсивных вычислений относится к возвратной рекурсии?
    (1) соединение рекурсии с динамической базой
    (2) организация косвенной рекурсии
    (3) соединение метода перебора с возвратом и рекурсии
    (4) организация отслеживания рекурсивных возвращений
    Дана частотность появления символов в тексте. Выполните кодирование символов методом Хаффмана. Укажите длину кода символа 'b'. Считать, что очередной бит кода начинает формироваться с единицы
    abcde
    0,40,150,220,050,18
    (1) 1
    (2) 2
    (3) 3
    (4) 4
    Укажите порядок вершин при обходе графа в ширину, начиная с вершины 5 files
    (1) 5 1 4 7 2 3 6 8
    (2) 5 1 7 8 4 3 6 2
    (3) 5 1 7 8 2 4 3 6
    (4) 5 1 4 7 8 2 3 6
    Каким образом компилятором происходит контроль конца списка параметров во фрагменте кода: float arifm(int k, ...) { int *p=&k;//настроили указатель на параметр k float s=*p; //значение первого параметра присвоили s int i; for(i=1;(*p)!=0;i++) //пока нет конца списка s+=*(++p); return s/(i-1); }
    (1) известен признак конца списка параметров
    (2) известно количество параметров в списке
    (3) контроль конца списка параметров данной функции проводить не надо
    (4) количество параметров у функций при компиляции должно быть фиксировано
    Укажите корректное формирование пустой строки в переменной char s[10];.
    (1) strcpy(s, "");
    (2) s="";
    (3) *s=0;
    (4) s='\0';
    Укажите, что возвращает функция, фрагмент кода которой представлен ниже: int d(int str,int slb, int m[max_x][max_y]){ int i,j,mm=m[0][0]; for(i=0;i<str;i++) for(j=0;j<slb;j++) if((i==j)&&(m[i][j]>mm)) mm=m[i][j]; return mm; }
    (1) максимальный элемент двумерного массива
    (2) максимальный элемент главной диагонали двумерного массива
    (3) количество элементов главной диагонали
    (4) количество элементов главной диагонали, превосходящих заданное число
    При объявлении union { unsigned a0 : 3; unsigned a1 : 1; unsigned a2 : 2; } byte; битовые поля располагаются в памяти:
    (1) все в разных байтах
    (2) поля перекрывают друг друга
    (3) все поля располагаются в одном байте и имеют общее начало
    (4) последовательно бит за битом
    Выполнение каких функций изменяет позицию указателя в файле?
    (1) fread
    (2) feof
    (3) fclose
    (4) fseek
    Охарактеризуйте ошибку при использовании действий с указателями во фрагменте кода: int *p; for (i=0;i<32000;i++) p= new int;
    (1) память выделяется под необъявленный указатель
    (2) указатель неверно объявлен
    (3) к операции new необходимо применить явное преобразование типов
    (4) происходит "утечка" памяти
    Какое значение возвращает рекурсивная функция Rec(108,72), код которой приведен ниже? int Rec(int n,int k) { if (n%k==0) return k; return Rec(k,n%k); }
    (1) 1
    (2) 12
    (3) 36
    (4) 72
    Укажите вид обхода дерева, представленного на рисунке, если порядок просмотра вершин следующий: A B D E C F files
    (1) прямой
    (2) обратный
    (3) симметричный
    (4) этот путь не является обходом
    Укажите опорную схему рекурсивных вычислений, в которой совокупность всех или части условий любой задачи оформлена в виде некоторого предиката
    (1) увидеть
    (2) характеристическое свойство
    (3) перенести часть условий в проверку
    (4) найти родственника
    Дано кодовое дерево. Каким из представленных строк оно соответствует? files
    (1) aaccwwcc
    (2) aaaaccwwss
    (3) aaaaccccccwwssss
    (4) caws
    Дано описание алгоритма поиска кратчайшего пути на графе. "Алгоритм находит оптимальное решение задачи о кратчайшем пути на графе методом проб и ошибок (попробуем сходить в эту сторону: не получится – вернемся и попробуем в другую)." Укажите название алгоритма
    (1) алгоритм Дейкстры
    (2) алгоритм Флойда
    (3) волновой алгоритм
    (4) алгоритм перебора с возвратом
    Даны следующие объявления и инициализации: int x, *p, **q, ***r; x=5; p = &x; q = &p; r = &q; Укажите истинные высказывания:
    (1) значением переменой r является адрес адреса переменной p
    (2) значением переменой q является число 5
    (3) значением переменой p является число 5
    (4) значением переменой p является адрес, по которому хранится число 5
    Укажите результат вывода на экран после выполнения фрагмента кода, если с клавиатуры введена строка: Я скоро завершу тестирование. char str[100]; scanf("%s", str); printf("%s", str);
    (1) Я
    (2) Я скоро завершу тестирование
    (3) "Я скоро завершу тестирование"
    (4) Я скоро завершу тестирование\0