Void f(char s[])
{ char lit; int i, j, n;
for( n =0; s[n] != ‘\0’; n++);
for(i = 0, j = n – 1; i < j; i++, j--)
{ lit = s[i]; s[i] = s[j]; s[j] = lit; }
}
[a] инвертирует всю исходную строку
[a] находит длину исходной строки
[a] делает сортировку символов исходной строки
[a] меняет местами символы в строке
[a] инвертирует последний символ строки на начальный
[q]3:1: Каким образом необходимо описать формальный параметр X функции F для того, чтобы она смогла поменять значение переменной в основной программе, связанной с формальным параметром Х?
[a] F(int *X) {…}
[a] F(int X) {…}
[a] F(int &X) {…}
[a] F(X) {…}
[a] F(int X[]) {…}
[q]3:1: Что делает следующая функция, в которую передаются две строки s1 и s2?
void F(char *s1, char *s2) { while (*s1++ = *s2++); }
[a] реализуется операция присваивания строки s2 строке s1
[a] копируется строка s1 в строку s2
[a] копируется последний символ строки s2 в последний символ строки s1
[a] копируется первый символ строки s2 в первый символ строки s1
[a] реализуется «перенос» содержимого строки s2 в строку s1, наподобие функции strcpy() стандартной библиотеки языка Си
[q]3:1: Что лежит в основе структурного подхода к программированию?
[a] иерархическая декомпозиция задачи на простые подзадачи простейшей структуры
[a] декомпозиция исходных данных на простые структуры
[a] проектирование «сверху - вниз»
[a] проектирование «снизу - вверх»
[a] ограничения на конструкции алгоритмов с целью пошаговой детализации
[q]3:1: Что составляет основу процедурного языка программирования Си?
[a] вложение подпрограмм, локализация и ограничение области «видимости» данных, а также основные «структурные» операторы и операторы передачи управления
[a] функциональная декомпозиция и использование простейших операторов управления
[a] основные «структурные» операторы передачи управления и иерархическая декомпозиция исходных данных
[a] основные операции и операторы, а также использование операций перехода: goto, break и continue
[a] возможность вызова функций из функции с ограничением области «видимости» данных
[q]3:1: Дальнейшее развитие структурного подхода вылилось в модульное программирование. Что предполагает модульное программирование?
[a] выделение групп подпрограмм, использующих одни и те же глобальные данные в отдельно компилируемые модули
[a] отдельно компилируемые библиотеки подпрограмм
[a] выделение подпрограмм, использующие определенные вычислительные ресурсы
[a] выделение подпрограмм, связи между которыми осуществляются через специальный интерфейс
[a] модули, доступ к реализации которых (телам подпрограмм и к некоторым «внутренним» переменным) запрещен
[q]3:1: Каким образом в структурном программировании осуществляется взаимодействие программных объектов?
[a] путем вызова библиотечных и пользовательских функций
[a] путем передачи сообщений
[a] путем передачи данных в вызываемые функции
[a] путем использования операторов управления и меток
[a] путем использования механизма функциональной декомпозиции
[q]3:1: Решение о том, как представлять в программе исходные данные задачи невозможно принимать, не зная:
[a] какие алгоритмы будут к ним применяться
[a] какие функции будут использоваться в программе
[a] к каким объектам будут применяться операции программы
[a] структуру алгоритмов, представляемых текстом программы
[a] всех аспектов строения данных.
105