Вопросы по курсу.

1.       Что такое дополнительный код?

2.       Какое отношение  кольцо вычетов имеет к дополнительному коду?

3.       Каков алгоритм деления на 2 для целого числа в дополнительном коде на уровне бит?

4.       Какие преимущества у дополнительного кода представления целых чисел по сравнению с прямым кодом?

5.       В чем преимущество вещественных чисел с фиксированной точкой над вещественными числами с плавающей точкой?

6.       В чем преимущество вещественных чисел с плавающей точкой над вещественными числами с фиксированной точкой?

7.       Что означает фраза одно вещественное число с плавающей точкой много меньше другого?

8.       Могут ли натуральные числа от 1 до миллиона точно представляться в виде вещественного числа типа float? Ответ обосновать.

9.       Определение машинного эпсилон.

10.   С какой точностью представляется вещественное число в виде вещественного числа с плавающей точкой (если оно не слишком большое)?

11.   На основе каких постулатов строится тип NUMBER (Oracle)?

12.   Как правильно выписать условие на языке С, что у квадратного уравнения существует единственное решение?

13.   По каким формулам следует вычислять на языке С корни квадратного уравнения в случае наличия двух корней?

14.   Определение абсолютной ошибки вещественного числа. Теорема о распространении абсолютной ошибки при арифметических операциях.

15.   Определение относительной ошибки вещественного числа. Теорема о распространении относительной ошибки при арифметических операциях.

16.   Связь машинного эпсилон и абсолютной/относительной ошибок представления вещественных чисел с плавающей точкой.

17.   Почему вещественные числа с плавающей точкой могут самопроизвольно меняться в программе?

18.   Почему нельзя сравнивать на равенство вещественные числа с плавающей точкой?

19.   Основные свойства понятия алгоритм?

20.   Что такое время работы алгоритма?

21.   Что значит задача a сводится к задаче b за время O(f(n))?

22.   Что такое верхняя оценка времени работы алгоритма?

23.   Что такое верхняя оценка времени решения задачи?

24.   Что такое нижняя оценка времени работы алгоритма?

25.   Что такое нижняя оценка времени решения задачи?

26.   Теорема о взаимосвязи нижних оценок времен решения задач при сведении задач. Формулировка. Идея доказательства.

27.   Теорема о взаимосвязи верхних оценок времен решения задач при сведении задач. Формулировка. Доказательство.

28.   Определение сортировки. Условия существования сортировки.

29.   Теорема о существовании и единственности сортировки.

30.   Сколько операторов сравнения надо определить, чтобы реализовать сортировку?

31.   Сортировка пузырьком. Случай оптимальности сортировки пузырьком.

32.   Теорема о верхней оценке времени работы алгоритма сортировки пузырьком в случае когда время обмена местами двух элементов=Θ(|i-j|).

33.   Определения сортировки, основанной на сравнениях.

34.   Чему соответствует одно ребро в дереве решений для задачи сортировки?

35.   Чему соответствует одна вершина в дереве решений для задачи сортировки?

36.   Сколько конечных вершин (листьев) у дерева решений для задачи сортировки? В каком случае?

37.   Формулировка теоремы о верхней оценке времени решения задачи сортировки, основанной на сравнениях.

38.   Формулировка теоремы о нижней оценке времени решения задачи сортировки, основанной на сравнениях.

39.   Можно ли построить сортировку, основанную на сравнениях, которая для любого N будет работать в каких-то случаях быстрее, чем за время O(n log n)?

40.   Привести пример алгоритмов, которые не укладываются в схему алгоритма на основе дерева решения.

41.   Идея алгоритма сортировки слиянием с рекурсией.

42.   Идея алгоритма сортировки слиянием без рекурсии.

43.   Сколько и какой дополнительной памяти требует алгоритм слиянием с рекурсией?

44.   Сколько и какой дополнительной памяти требует алгоритм слиянием без рекурсии?

45.   Теорема об оптимальности алгоритма слияния двух упорядоченных массивов.

46.   Общее описание алгоритма QSort.

47.   Теорема о среднем времени работы алгоритма QSort.

48.   Алгоритм HeapSort.

49.   Теорема об оценке времени работы алгоритма HeapSort.

50.   Определение и основные свойства объекта куча (пирамида) из алгоритма HeapSort.

51.   Теорема о времени работы алгоритма построения пирамиды.

52.   Определение устойчивой сортировки.

53.   Сортировка подсчетом.

54.   Цифровая сортировка.

55.   Для каких данных применима сортировка подсчетом?

56.   Для каких данных применима цифровая сортировка?

57.   Сколько дополнительной памяти требует сортировка подсчетом?

58.   Сколько дополнительной памяти требует цифровая сортировка?

59.   Определение выпуклой оболочки.

60.   Алгоритм Грэхема построения выпуклой оболочки.

61.   Теоремы о верхней оценке решения задачи построения выпуклой оболочки в R2 в рамках алгоритмов, основанных на сравнениях.

62.   Теоремы о нижней оценке решения задачи построения выпуклой оболочки в R2 в рамках алгоритмов, основанных на сравнениях.

63.   Определение диаграммы Вороного.

64.   Теорема о существовании диаграммы Вороного.

65.   Определение триангуляции Делоне.

66.   Связь диаграммы Вороного и триангуляции Делоне.

67.   Поиск порядковой статистики за линейное время в среднем.

68.   Идея поиска порядковой статистики за линейное время в худшем случае.

69.   Поиск порядковой статистики последовательности целых чисел {ai} (i=1,…,n) за линейное время для случая ai<O(n). Основные идеи.

70.   Задача поиска порядковой статистики в большой окрестности каждой точки серого изображения.

71.   Регулярные выражения в UNIX. Простые примеры использования.

72.   bash: Что такое локальные и импортируемые переменные?

73.   bash: Синтаксис цикла for

74.   bash: примеры вычисления арифметических выражений.

75.   bash: примеры вычисления логических выражений.

76.    Понятия палитры, битовых плоскостей, true color в изображениях.

77.   Основные идеи формата изображения BMP.

78.   C++. Понятия инкапсуляции и полиморфизма.

79.   C++. Понятия простых и сложных классов.

80.   С++. Чем отличаются структуры от классов?

81.   Статические элементы структур/классов. Синтаксис.

82.   C++. Конструкторы. Синтаксис. Вызов для подобъектов.

83.   C++. Деструкторы. Синтаксис.  Вызов для подобъектов.

84.   С++. Почему присваивание по умолчанию нельзя использовать в сложных классах?

85.   С++. Зачем нужен конструктор копирования?

86.   C++. Переопределение бинарных операторов. Синтаксис.

87.   C++. Переопределение унарных операторов. Синтаксис.

88.   C++. Переопределение операторов преобразования типа. Синтаксис.

89.   C++. Какие операторы не могут переопределяться как глобальные функции?

90.   C++. Оператор запятая. Использование.

91.   C++. Примеры сложных неявных преобразований типов.

92.   C++. Отведение памяти.

93.   C++. Конструкторы копирования. Примеры использования.

94.   C++. Параметры по умолчанию. Синтаксис.

95.   C++. Исключения.

96.   С++. SEH-исключения Microsoft.

97.   C++. Возможность продолжения работы программы при выбросе исключения с места выброса исключения.

98.   С++. Дружественные функции/классы. Примеры.

99.   C++. Ввод/вывод на экран. Общий синтаксис.

100.    C++. Ввод/вывод на экран. Манипуляторы.

101.    С++. move-конструкторы. Примеры использования.

102.    С++. move-присваивание. Примеры использования.

103.    С++. casts.

104.    C++. Шаблоны классов. Общий синтаксис.

105.    C++. Шаблоны функций. Общий синтаксис.

106.    C++. Шаблоны. Что может передаваться через параметры шаблонов?

107.    С++. Можно ли определять шаблоны в CPP-файле? Синтаксис.

108.    С++. placement  new

109.    C++. Как грамотно сделать аналог realloc на C++ ?

110.    C++. Идея того, как сделать, чтобы оператор [] выполнял бы разные действия слева и справа от знака присваивания.

111.    С++. Пример использования auto.

112.    C++.  initializer_list. Пример использования.

113.    Структуры данных. Чем определяется структуры данных? Общие понятия.

114.    Структура данных стек. Определение.

115.    Структура данных стек. Описать класс на С++ для реализации стека (без определения функций).

116.    Структура данных дек. Описать класс на С++ для реализации дека (без определения функций).

117.    Структура данных очередь. Описать класс на С++ для реализации очереди (без определения функций).

118.    Структура данных двунаправленный список. Описать класс на С++ для реализации двунаправленного списка (без определения функций).

119.    Структура данных однонаправленный список. Описать класс на С++ для реализации однонаправленного списка (без определения функций).

120.    Структура данных циклический список. Описать класс на С++ для реализации циклического списка (без определения функций).

121.    Идеи бессылочной реализации списка.

122.    Итераторы в стиле STL. Какие функции надо реализовать для реализации такого итератора?

123.    Итераторы в стиле STL. Написать описание класса для реализации такого итератора (без определения функций).

124.    Основные идеи реализации списка с собственным выделением памяти.

125.    Бинарные деревья. Определение дерева поиска.

126.    Бинарные деревья. Идеально-сбалансированные деревья. Определение.

127.    Бинарные деревья. Идеально-сбалансированные деревья. Определение.

128.    Бинарные деревья. Сбалансированные деревья. Определение.

129.    Бинарные деревья. Связь между идеально-сбалансированными, идеально-сбалансированными’ и сбалансированными  деревьями.

130.    Теорема о связи высоты и количества элементов в сбалансированном дереве. Основная идея доказательства.

131.    Бинарные деревья. Идеально-сбалансированные деревья. Нарисовать пример (в текстовом окошке).

132.    Бинарные деревья. Идеально-сбалансированные’ деревья. Нарисовать пример (в текстовом окошке).

133.    Бинарные деревья. Сбалансированные деревья. Нарисовать пример (в текстовом окошке).

134.    Бинарные деревья. Сбалансированные деревья. Описание на С++ одной вершины сбалансированного дерева.

135.    Бинарные деревья. Деревья поиска. Описание на С++ одной вершины дерева поиска.

136.    Бинарные деревья. Деревья поиска. Поиск элемента по его индексу.

137.    Бинарные деревья. Деревья поиска. Краткое описание алгоритма нахождения минимума/максимума.

138.    Бинарные деревья. Сбалансированные деревья. Краткое описание алгоритма нахождения минимума/максимума.

139.    Бинарные деревья. Деревья поиска. Краткое описание алгоритма нахождения следующего элемента.

140.    Бинарные деревья. Сбалансированные деревья. Краткое описание алгоритма нахождения следующего элемента.

141.    Бинарные деревья. Деревья поиска. Краткое описание алгоритма вставки элемента.

142.    Бинарные деревья. Сбалансированные деревья. Краткое описание алгоритма балансировки при вставке элемента (понятие вращения /``вздергивания’’ элемента можно не уточнять).

143.    Бинарные деревья. Сбалансированные деревья. Понятие поворота.

144.    Бинарные деревья. Сбалансированные деревья. Время работы алгоритма вставки элемента.

145.    Бинарные деревья. Сбалансированные деревья. Сколько поворотов требуется для вставки элемента?

146.    Бинарные деревья. Деревья поиска. Краткое описание алгоритма поиска элемента.

147.    Бинарные деревья. Деревья поиска.  Краткое описание алгоритма удаления элемента.

148.    Бинарные деревья. Сбалансированные деревья.  Краткое описание алгоритма балансировки при уничтожения элемента (понятие вращения /``вздергивания’’ элемента можно не уточнять).

149.    Бинарные деревья. Деревья поиска. Объединение деревьев со стыковочным элементом.

150.    Бинарные деревья. Деревья поиска. Объединение деревьев без стыковочного элемента.

151.    Бинарные деревья. Деревья поиска. Разбиение дерева по разбивающему элементу.

152.    Бинарные деревья. Сбалансированные деревья. Объединение деревьев со стыковочным элементом.

153.    Бинарные деревья. Сбалансированные деревья. Время работы алгоритма объединения деревьев со стыковочным элементом.

154.    Бинарные деревья. Сбалансированные деревья. Время работы алгоритма объединения деревьев без стыковочного элемента.

155.    Бинарные деревья. Сбалансированные деревья. Разбиение дерева по разбивающему элементу.

156.    Бинарные деревья. Сбалансированные деревья. Время работы алгоритма разбиения дерева по разбивающему элементу.

157.    Подход к решению задачи создания структуры данных для хранения множества непересекающихся отрезков на числовой прямой.

158.    Красно-черные деревья. Определение.

159.    Красно-черные деревья. Определение.

160.    Красно-черные деревья. Описание класса на языке С++ для хранения одной вершины красно-черного дерева.

161.    Красно-черные деревья. Теорема о связи количества элементов и высоте.

162.    В-деревья. Определение.

163.    В-деревья. Теорема о связи количества элементов и высоте.

164.    В-деревья. Алгоритм поиска элемента.

165.    В-деревья. Добавление элемента. Основные идеи.

166.    В-деревья. Удаление элемента. Основные идеи.

167.    В+-деревья. Определение.

168.    STL. Последовательные контейнеры.

169.    STL. Ассоциативные контейнеры.

170.    STL. vector. Основные функции

171.    STL. deque. Основные функции

172.    STL. queue. Основные функции

173.    STL. Когда лучше применять дек, а когда вектор (в соответствии с внутренним строением)?

174.    STL. list. Основные функции

175.    STL. map. Основные функции

176.    STL. set. Основные функции. 

177.    STL. multimap. Основные функции.

178.    STL. multiset. Основные функции. 

179.    STL. queue. Основные функции. 

180.    STL. priority_queue. Основные функции. 

181.    STL. Функциональные объекты. Общее описание реализации.

182.    STL. Функциональные объекты. Пример собственного определения.

183.    STL. Алгоритмы. Несколько примеров.

184.    Хеширование. Набор предписаний для структуры данных, основанной на хешировании.

185.    Хеширование. Простой пример хеширование для работы со строками.

186.    Хеширование. Метод многих списков. Общее описание.

187.    Хеширование. Метод многих списков. Оценка сверху на время добавление элемента.

188.    Хеширование. Метод многих списков. Оценка среднего времени на добавление элемента.

189.    Хеширование. Метод многих списков. Основные идеи удаления элемента.

190.    Хеширование. Метод многих списков. Основные идеи добавления элемента.

191.    Хеширование. Метод многих списков. Стратегия работы с подобной структурой данных для обеспечения времени выполнения основных операций = O(1). 

192.    Хеширование. Метод линейных проб. Добавление элемента.

193.    Хеширование. Метод линейных проб. Удаление элемента.

194.    Основные идеи реализации хэш-функции на основе деления.

195.    Основные идеи реализации хэш-функции на основе умножения.

196.    CRC-алгоритм проверки целостности данных на основе представления числа как многочлена с коэффициентами в поле вычетов по модулю 2. Основные идеи.

197.    Графы. Определение. Ориентированные и неориентированные графы.

198.    Графы.  Инцидентность/смежность вершин/ребер. 

199.    Графы. Теорема о графическом представлении графов в R3.

200.    Графы. Планарные графы.

201.    Графы. Теорема о существовании плоской укладки графов.

202.    Приведение неориентированного дерева к ориентированному.

203.    Теорема о существовании плоской укладки дерева.

204.    Графы. Основное утверждение, на котором строится алгоритм волны.

205.    Графы. Время работы алгоритмы волны для случая графа без кратных ребер и петель.

206.    Графы. Формула Эйлера.

207.    Оценка количества ребер и граней конечного планарного графа через количество вершин. Основные идеи доказательства.

208.    Теорема о времени работы алгоритма волны для случая планарного графа.

209.    Основное утверждение, на котором строится алгоритм Дейкстры.

210.    Простой алгоритм Дейкстры.

211.    Модифицированный алгоритм Дейкстры.

212.    Алгоритм Дейкстры для STL.

213.    Модифицированная приоритетная очередь. Основные операции.

214.    Модифицированная приоритетная очередь. Алгоритм добавления элемента.

215.    Модифицированная приоритетная очередь. Алгоритм модификации элемента.

216.    Модифицированная приоритетная очередь. Алгоритм удаления первого элемента.

217.    C/C++. Модель памяти. Стек/куча.

218.    С/С++. Оценить сколько раз можно погрузиться в рекурсию в конструкции void f(){f();}

219.    C/C++. Ограничения на размер локальных автоматических переменных.

220.    Понятия процессов/нитей.

221.    С/С++. Как реализовать функцию, которая при первом вызове делает одно действие, а при последующих – другие.

222.    С/С++. Время жизни переменных.

223.    С/С++. Область видимости переменных.

224.    С/С++. Различие во времени рождения статических переменных.

225.    С/С++. Для каких массивов существует существенное ограничение на размер?

226.    C/C++. Что такое фактические и формальные параметры функций?

227.    С/С++. Кратко о механизмах передачи параметров в функции.

228.    С/С++. Что такое goto на уровне ассемблера?

229.    С/С++. Что такое вызов функции на уровне ассемблера?

230.    С/С++. Что такое switch на уровне ассемблера?

231.    С. Как создать двумерный массив за одно отведение памяти?

 

Вопросы по языку С.

1.       Арифметические операции. Оператор присваивания, как бинарный оператор, его значение.

2.       В каком случае допустимо использование #include "mysuperlib.h"? В каком случае допустимо использование #include <mysuperlib.h>?

3.       Директивы препроцессора: #define, #undef, #if..#else..#endif, #ifdef, #pragma once. Правила хорошего тона при оформлении оператора #define.

4.       Директивы препроцессора: #include. Правила оформления (с помощью директив #ifdef/#define и #pragma once)

5.       Для значений какого типа данных отводится 8 бит?

6.       Какая комбинация знаков соответствует операции декрементирования?

7.       Какая комбинация знаков соответствует операции присваивания с суммированием?

8.       Какие объекты передаются в функции в языке С по ссылке?

9.       Какие способы передачи параметров в функции существуют в различных языках программирования?

10.   Какое значение будет иметь переменная p после выполнения операций:
 int p=3, x=6;if ((p%x)>2) p=p+x;else if (p%2==0) p=p-x; else p=-p-x; }

11.   Какое значение будет иметь переменная p после выполнения операций: 
int p=3;switch (p<<1) { case 2: break;    case 3: p+=1; break;  case 4: p=p+2;  default: p=0; }

12.   Какое служебное слово используется для завершения текущей итерации цикла (продолжение цикла при помощи перехода к следующей итерации)?

13.   Какое служебное слово является заголовком оператора цикла с постусловием?

14.   Какое служебное слово является заголовком оператора цикла с постусловием?

15.   Какой знак соответствует операции остаток от деления целых чисел

16.   Какой знак соответствует операции получения адреса операнда?

17.   Какой знак соответствует операции получения остатка от деления целочисленных операндов?

18.   Какой знак соответствует операции поразрядного инвертирования внутреннего двоичного кода целочисленного аргумента (побитовое отрицание)?

19.   Какой синтаксис (функциональная схема) соответствует конструкции if-else?

20.   Какой синтаксис соответствует конструкции do-while?

21.   Какой тип данных имеет диапазон значений 0...+255?

22.   Логические операции. Выражения, воспринимаемые как логические.

23.   Математическая библиотека. Основные функции.

24.   Математическая библиотека. Правила использования функций pow().

25.   Математическая библиотека. Различие функции pow() на С и С++.

26.   Может ли прототип double sign(double); являться прототипом функции с заголовком double sign(double k)?

27.   Можно ли использовать "continue" внутри оператора switch?

28.   Можно ли использовать "return" внутри оператора switch?

29.   Написать функцию, рекурсивно (!) определяющую является ли целое число N точной степенью двойки. Привести пример вызова такой функции.

30.   Что будет выведено на экран: {int x[5]; printf(”%d”,(int)sizeof(x));}

31.   Что будет выведено на экран при вызове функции: void f(int x[5]){ printf(”%d”,(int)sizeof(x));}

32.   Может ли синтаксически индекс массива быть отрицательным?

33.   Напишите выводимое значение. int mass[]={1, 6, 9, 2, 5};int *mass2 = &mass[3];printf("%d", mass2[-1]);

34.   Напишите десятичное значение «-16» в прямом двоичном коде (ответ дать в 8битном представлении).

35.   Напишите десятичное значение «-16» в обратном двоичном коде (ответ дать в 8битном представлении).

36.   Напишите десятичное значение «-16» в дополнительном двоичном коде (ответ дать в 8битном представлении).

37.   Напишите значение выражения: (!1)+(!0)+(!(-5)).

38.   Напишите значение выражения: (!18)-(5<<2)+(6^5).

39.   Напишите значение выражения: (3==5)? 3 : 5.

40.   Напишите значение выражения: (4<<2)|4;

41.   Напишите значение выражения:  (6&5);

42.   Напишите значение выражения:  (6^5);

43.   Напишите значение выражения: (5<<1)+(3!=5)

44.   Напишите значение выражения: (7>>1)&4;

45.   Напишите значение выражения: 3+4>5 && 3+5>4;

46.   Напишите идентификатор, определяющий действия при отсутствии нужного варианта в операторе switch?

47.   Напишите идентификатор, соответствующий операции определения размера операнда?

48.   Напишите название базового типа данных, который указывает на целое число увеличенной длины (длинное целое).

49.   Напишите название директивы макроподстановки.

50.   Напишите название директивы препроцессора определения макроса или препроцессорного идентификатора.

51.   Напишите название директивы препроцессора проверки неопределённости идентификатора.

52.   Напишите название квалификатора, который можно использовать с базовыми типами данных для установления «короткого» целого числа.

53.   Напишите название квалификатора, который можно использовать с базовыми типами данных для установления значений со знаком.

54.   Напишите название оператора, который возвращает размер в байтах переменной или типа?

55.   Напишите название функции арксинуса, принадлежащей математической библиотеке.

56.   Напишите название функции записи символа в файл.

57.   Напишите название функции установки произвольной позиции в файле.

58.   Напишите название функции форматированного чтения из файла.

59.   Напишите название функции форматированного чтения из строки.

60.   Напишите название функции, возвращающей значение натурального логарифма

61.   Напишите название функции, возвращающей значение первого числа в степени второго

62.   Напишите название функции, возвращающей наибольшее целое, не превышающее данное значение.

63.   Напишите название функции, выполняющей выделение памяти и перенос в неё копию заданной строки.

64.   Напишите название функции, выполняющей поиск второй заданной строки в первой.

65.   Напишите название функции, выполняющей сравнение заданных строк.

66.   Напишите название функции, выполняющей сцепление строк символов.

67.   Напишите название функции, вычисляющей ближайшее целое, не меньшее, чем данный вещественный аргумент

68.   Напишите название функции, считывающей один символ из файла.

69.   Напишите название функции, считывающей очередной символ из стандартного входного потока (stdin).

70.   Напишите последовательность символов, выводимую при выполнении кода: 
int main () {char str[] = "12345678910"; char * pch;pch=strchr(str,'5'); printf ("%s\n", pch);return 0;}

71.   Напишите последовательность символов, выводимую при выполнении кода: 
int main(void) {char s1[80], s2[80];strcpy(s1, "A1"); strcpy(s2, "B2"); strcat(s1, s2);printf("%s", s1); return 0; }

72.   Напишите последовательность символов, выводимую при выполнении кода: int main(void) {int a=27;char str[] = "12345678910";printf("%2s\n", str);return 0;}

73.   Напишите последовательность символов, используемую внутри printf для выведения вывода вещественного числа в поле из 7 позиций.

74.   Напишите последовательность символов, используемую внутри printf для выведения двойных кавычек.

75.   Напишите последовательность символов, используемую внутри printf для выведения строки символов.

76.   Напишите последовательность символов, используемую внутри printf для выведения табуляции.

77.   Напишите последовательность символов, используемую внутри printf для выведения указателя.

78.   Напишите последовательность символов, используемую внутри printf для выведения целого десятичного числа.

79.   Напишите последовательность символов, используемую внутри printf для выведения числа в экспоненциальной форме.

80.   Напишите последовательность символов, используемую внутри printf для выведения числа с двойной точностью.

81.   Напишите последовательность символов, используемую внутри printf для выведения шестнадцатеричного числа.

82.   Напишите последовательность символов, используемую внутри printf для печати в выводимой строке не менее 15 символов.

83.   Что может содержаться в include-файлах и что в C-файлах.

84.   Операторы перехода (break, continue, goto).

85.   Описать случаи, когда использование оператора goto является дурным тоном и когда оно необходимо.

86.   Операторы условия и выбора (if, switch). Синтаксис.

87.   Оператор цикла forСинтаксис.

88.   Оператор цикла  whileСинтаксис.

89.   Оператор цикла  do-while. Синтаксис.

90.   Операция ? : . Рекурсивное использование данного оператора.

91.   Опишите ситуацию, в которой sizeof(x) возвращает значение, отличное от 10, в случае если x описывается как char x[10].

92.   Основные скалярные типы (различные целые, вещественные).

93.   Формат представления констант (различных целых, различных вещественных, символьных, строковых).

94.   Почему при выполнении функции printf(“1”) на экране может ничего не появиться. Как исправить эту ситуацию?

95.   Работа с бинарными файлами. fopen/fclose/fread/fwrite.

96.   Работа с бинарными файлами. Использование функций fseek()/ftell()

97.   Работа с текстовыми файлами. Правила использования функции fgets().

98.   Основные идеи считывание строк неограниченной длины с помощью функции fgets().

99.   Стандартная библиотека ввода-вывода: семейство функций printf().

100.    Основные спецификации формата в функциях типа printf().

101.    Стандартная библиотека ввода-вывода: семейство функций scanf().Основные спецификации формата

102.     Стандартная библиотека ввода-вывода: семейство функций scanf(). Форматы %n и [] с примерами использования.

103.    Строки в языке С, принципы организации,

104.    Функции strlen, strcat, strcpy. В том числе, что они возвращают?

105.    Функции strdup,strcmp, strstr, strchr. В том числе, что они возвращают?

106.    Указатели и массивы. Указать в каких случаях их использование дает различный результат.

107.    Функции и прототипы, оператор return.

108.    Объяснить логику компилятора, не позволяющего без описания определять функции перед использованием.

109.    Чем отличается предназначение конструкции if-else от конструкции #if-#else-#endif?

110.    Чем отличается функция printf от функции fprintf.

111.    Как осуществить вывод на экран с помощью функции fprintf?

112.    Чем является а в выражении double *a;?

113.    Что может являться прототипом функции func?:  
а)
 func(x); б) void func(double); в) double func(double x); г) int fun(double x);

114.    Что появится на экране при выполнении функции printf(“%d\n”,~-2);

Вопросы по языку Python.

1.       Как запустить программу на Python?

2.       Модель памяти Python

3.       Что хранится в памяти для каждой переменной в Python?

4.       Что значит фраза a=b в Python?

5.       Арифметические операции в Python.

6.       Логические операции в Python

7.       Определение функций в Python

8.        Как задаются блоки в Python?

9.       Вывод на экран в Python. В том числе задание разделителей и вида завершения вывода функцией вывода.

10.   Открытие/закрытие файла

11.   Вид оператора if

12.   Аналог оператора ?:  (из С) в Python.

13.   Исключения в Python. Пример.

14.   Подключение модулей на примере математического модуля.

15.   Оператор for  на примере разбиение строки на слова

16.   Списки в Python. Функции добавления элемента в список/удаления элемента из списка.

17.   Перебор элементов списка в Python

18.   Сортировка в Python. Пример.

19.   Лямбда-функции. Пример.

20.   Кортежи.

21.   Словари

22.   Использование кортежей в качестве индексов для словарей