Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

'Рабочая программа'
Курс читается на кафедре «Теоретическая кибернетика» ММФ НИУ НГУ и предназначен для изучения математических дисциплин комбинаторики и дискретного ана...полностью>>
'Документ'
Сейчас в условиях низкого уровня договорной дисциплины, ненадежности и часто просто недобросовестности контрагентов все большее развитие должны получа...полностью>>
'Документ'
Озадаченная вопросом, что же может быть лучше гор, я заснула накануне своего путешествия в Гималаи. Разбудил, и, несколько ошарашил меня, не менее ин...полностью>>
'Документ'
Информация, содержащаяся в настоящем ежеквартальном отчете, подлежит раскрытию в соответствии с законодательством Российской Федерации о ценных бумаг...полностью>>

Учебно-методический комплекс учебной дисциплины сдм. 02 «программирование» подготовки магистров по направлению 050200 «Физико-математическое образование» магистерская программа «Информатика в образовании»

Главная > Учебно-методический комплекс
Сохрани ссылку в одной из сетей:

Методические рекомендации по изучению курса

Для преподавателей

Учебный курс предназначен для начальной подготовки программиста в овладении знаниями, умениями и навыками языка программирования Си++.

Курс разделен на три модуля, в каждом модуле по три лекции. На каждое лекционное занятие должно быть предусмотрено минимум одно практическое занятие и 4 часа на самостоятельную работу. В каждой практической работе помимо основных задач есть дополнительные, которые по усмотрению преподавателя могут быть включены в практику. Таким образом на изучение курса отводится 15 лекционных часа, 24 практических и 36 часа самостоятельных занятий.

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

При изложении теоретического материала желательно пользоваться иллюстративными пособиями в виде слайдов или презентаций, чтобы повысить наглядность подачи материала и степень его запоминания.

Самостоятельная работа студента – часть его подготовки к промежуточной и итоговой аттестации, поэтому при подготовке к практическим занятиям необходимо задавать студентам задачи на дом. Большая часть задач должна выполняться студентом самостоятельно в аудитории.

Для студентов

Для повышения уровня знаний и качества подготовки студентам рекомендуется:

  1. при подготовке к практическим занятиям тщательно прорабатывать теоретический материал заданного раздела лекций, обращая особое внимание на терминологию. Кроме курса лекций необходимо пользоваться основной и дополнительной литературой;

  2. при выполнении практических работ необходимо учитывать, что основной объем выполняется самостоятельно на базе тех знаний, которые были получены на занятиях в компьютерном классе, поэтому желательно иметь домашний компьютер с установленным программным обеспечением;

  3. все задачи должны быть самодокументированы, т.е. в тексте задачи должно быть достаточно комментариев для понимания кода программы;

  4. самостоятельно (на основе решенных в аудитории задач) выполнять решение дополнительных задач, заданных преподавателем по изучаемому разделу;

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

АТТЕСТАЦИЯ КАЧЕСТВА УСВОЕНИЯ ЗНАНИЙ

Т Е С Т

1. Какие основные типы данных известны вам в языке С++?

  1. стековые, регистровые;

  2. константы, переменные;

  3. char, int, float,double;

  4. символьные, строковые, целые.

2. В каком порядке происходит выравнивание типов при смешивании операндов?

  1. char, short, int, float, double;

  2. short, double, float, char, int;

  3. double, char, int, short, float;

  4. char, int, short, double, float.

3. Каков диапазон значений у типов: float, int, double?

  1. -256-+256, 0-65536, -65536-+65536;

  2. -+-3.4Е+38-3.4Е-38, -32768-32767, -128-+127;

  3. -32768-32767, 0-65536, -128-+127;

  4. -3.4E+308-3.4E+308, 0-65535, 0-+255.

4. В чем разница между понятиями «тип данных» и «модификатор данных»?

  1. Модификатор никогда не пишется явно;

  2. тип определяет знак, модификатор – размер;

  3. тип определяет размер, модификатор – знак;

  4. модификатор можно объявить, тип – нет.

5. Где в языке С++ должны объявляться локальные переменные?

  1. только после инструкций тела функции;

  2. в любом месте локальной (внешней) функции;

  3. только в объявлении прототипа функций;

  4. в любом месте программы.

6. В каком порядке будут выполняться операции: () + && ^ % ?

  1. () ? ^ % && +

  2. () % + ^ ? &&

  3. && ? ^ + () %

  4. ? ^ % () && +

7. Что производит с переменной i при операции i++?

  1. заносит значение переменной i в первые два регистра;

  2. увеличивает значение сегмента памяти на 2;

  3. прибавляет единицу после участия i в другие операции;

  4. прибавляет единицу перед участия i в другие операции.

8. Какие значения будут присвоены X(1) и Y(0) после операции: ?

  1. ;

  2. ;

  3. ;

  4. .

9. В какой из данных строк содержатся только логические операции?

  1. * -> & >= <= | / ^ ?=

  2. += -= *= /= >= <= > < =

  3. && > >= < <= = = || ! !=

  4. += && || >= > <= < != &

10. Чем определяется порядок выполнения операций в выражении?

  1. объемом оперативной памяти и приоритетом;

  2. только расставленными круглыми скобками;

  3. круглыми скобками и приоритетом операций;

  4. приоритетом и размером выражения.

11. Процесс перевода инструкций языка С++ в машинный код называется ________________________.

12. Каким типом данных должны быть объявлены переменные, которые могут хранить вещественную часть:

  1. float;

  2. double;

  3. int;

  4. char.

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

  1. cout << enl << “\t”;

  2. cout << enl << “\n”;

  3. cout << enl << “\f”;

  4. cout << enl << “\s”;

14. Командой в С++ для печати на экране строки символов, является:

  1. cout >>;

  2. cin <<;

  3. cout <<;

  4. cin >>.

15. Командой в С++ для чтения вводимой информации из стандартного потока ввода, является:

  1. cout >>;

  2. cin <<;

  3. cout <<;

  4. cin >>.

16. Чем линейные вычислительные процессы отличаются от циклических?

  1. тем, что они повторяются много раз;

  2. тем, что они выполняются по порядку следования в программе;

  3. тем, что они идут гораздо медленнее;

  4. тем, что они выполняются только один раз.

17. Каковы основные свойства алгоритма?

  1. непрерывность, идеальность, знаковость;

  2. точность, дискретность, определенность, определяемость;

  3. коммутативность, инициализируемость, массовость, определенность;

  4. всеобщность, дискретность, результативность, определенность.

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

  1. for, while, do while;

  2. continue, go to, switch;

  3. go to, break, continue, switch;

  4. for, go to, while, switch.

19. Какие операторы в С++ применяются для организации циклических вычислительных процессов?

  1. go to, break, continue, switch;

  2. for, while, do while;

  3. go to, for, do while;

  4. for, go to, while, switch.

20. В каком случае оправдано применение оператора GOTO?

  1. в случае написания разделительных программ;

  2. в случае входа внутрь вложенных циклов;

  3. в любом месте, где это удобно;

  4. в случае выхода из вложенных циклов.

21. Какие значения будут присвоены a[i] и i после выполнения выражения: ; (до выполнения операции i=2)?

  1. ;

  2. ;

  3. ;

  4. это зависит от модели используемого компилятора.

22. Как в языке С++ объявить массив целого типа из 10 элементов?

  1. int a(10);

  2. int a[10];

  3. char b[10];

  4. float b(10).

23. Как в языке С++ представляются многомерные массивы?

  1. в виде совокупности многомерных ячеек в памяти;

  2. в виде последовательности символов в памяти;

  3. в виде совокупности регистров стека;

  4. в виде особого одномерного массива.

24. Чем характеризуется любой одномерный массив?

  1. аргументами и именем массива;

  2. числом элементов массива и параметрами;

  3. именем массива и числом элементов;

  4. именем массива и параметрами.

25. Почему в языке С++ выгодно динамическое представление массивов?

  1. так как увеличивается быстродействие компьютера;

  2. так как память никогда не используется зря;

  3. так как остается больше места для других данных;

  4. все приведенные ответы.

26. К чему может привести использование очень больших локальных массивов?

  1. вследствие записи по нулевому адресу будет испорчена оперативная память;

  2. откажется действовать компоновщик;

  3. вследствие переполнения стека программа завершится до начала выполнения;

  4. может произойти любое из указанных действий.

27. Почему нельзя передать двумерный массив функции, ожидающей указатель на указатель?

  1. потому что двумерный массив превращается в указатель на массив;

  2. потому что будет испорчена оперативная память;

  3. потому что возможны сбои в работе программы;

  4. потому что размер массива всегда больше размера указателя.

28. Что вычислит оператор sizeof при попытке определить с его помощью размер массива, который передан функции в качестве параметра?

  1. количество элементов в массиве;

  2. размер указателя на массив;

  3. размер массива указателей;

  4. размер массива указателей на указатель.

29. Что в языке С++ называется указателем?

  1. константа, определяемая в процессе работы;

  2. переменная, содержащая адрес другой переменной;

  3. заголовочная функция программы;

  4. определитель сегмента стека в оперативной памяти.

30. Что в языке С++ означает строка: void *t?

  1. константа void инициализирует тип t;

  2. константа void – указатель на переменную t;

  3. тип void инициализирует переменную t;

  4. тип void инициализирует константу t.

31. К чему в языке С++ может привести использование указателей?

  1. работающая программа зависнет;

  2. будет перегружена память компьютера;

  3. откажется действовать компилятор;

  4. может произойти любое из указанных действий.

32. Какое различие существует между именем массива и соответствующим указателем?

  1. имя массива – константа, указатель – переменная;

  2. указатель оперирует только с константами;

  3. имя массива занимает больший объем памяти;

  4. указатель занимает больший объем памяти.

33. В какой из строк объявляется переменная целого типа и ее адрес сохраняется в другой переменной?

  1. ;

  2. ;

  3. ;

  4. .

34. Массив символов, обрабатываемая как единый модуль – это ________________.

35. Сопоставьте функции – члены класса string и их действия:

  1. char *strcpy (char *s1, const char *s2);

  2. char *strcat (char *s1, const char *s2);

  3. int strcmp (const char *s1, const char *s2);

  4. char *strok (char *s1, const char *s2);

  5. size_t strlen (const char *s).

      1. добавляет строку s2 к строке s1;

      2. определяет длину строки s.

      3. разбивает строку s1 на лексемы, содержащимися в строке s2;

      4. копирует строку s2 в массив символов s1;

      5. сравнивает строки s1 и s2.

36. Какая функция в С++ очищает экран?

  1. delscr();

  2. clrscr();

  3. clsscr();

  4. cleane().

37. В какой из строк аргументы функции main написаны правильно (выберите несколько вариантов)?

  1. (int argc, char *argv[], char *envp[]);

  2. (int argc, char argv[], char envp[]);

  3. (int argc, char *envp);

  4. (int argc, char *argv[]).

38. К чему может привести широкое использование функций в программе?

  1. значительно увеличивается длина исходного файла;

  2. размер исполняемого файла уменьшится;

  3. программа начнет работать гораздо быстрее;

  4. размер исполняемого файла увеличится.

39. Какая из 3-х функций: – будет вызвана первой при вычислении значения переменной a в выражении ?

  1. функции ;

  2. функции ;

  3. функции ;

  4. нельзя точно сказать.

40. Когда функция в языке С++ завершает свое выполнение?

  1. только при достижении оператора return;

  2. только при достижении оператора break;

  3. только при достижении завершающей фигурной скобки;

  4. в случаях а или в.

41. Функция, которая прямо или косвенно вызывает сама себя, называется ____________________________.

42. Повторный запуск рекурсивного механизма вызовов функции приводит:

  1. к нарастающим затратам процессорного времени и требуемого объема памяти;

  2. к отказу действия компилятора;

  3. к завершению программы до начала выполнения;

  4. к перезагрузке программы.

43. Совокупности типов данных, построенные с использованием данных других типов, называются _____________________.

44. Какие из перечисленных ниже утверждений неверны (выберите несколько вариантов)?

  1. компоненты структуры могут быть различных типов;

  2. компоненты структуры должны быть различных типов;

  3. структура представляет собой совокупность данных;

  4. компоненты структуры имеют атрибут private по умолчанию.

45. Какие из перечисленных ниже утверждений неверны?

  1. класс представляет собой набор переменных;

  2. компоненты класса имеют атрибут public по умолчанию;

  3. компоненты класса должны быть различных типов;

  4. в языке С++ недопустима вложенность классов;

  5. описание класса не может производиться в другом классе;

  6. все утверждения верны.

46. Какое ключевое слово начинает определение структуры?

  1. class {};

  2. struct {};

  3. main {};

  4. void {}.

47. Функция определенная внутри класса, называется ________________.

48. Какое ключевое слово начинает определение класса?

  1. class {};

  2. struct {};

  3. void {}.

  4. main {};

49. Препятствиями к созданию новых типов данных с помощью struct являются:

  1. возможность существования данных, не имеющих начальных значений;

  2. возможность существования данных с неправильными начальными значениями;

  3. необходимость изменения всех программ, использующих struct, при изменении реализации struct;

  4. отсутствие средств защиты, гарантирующих, что данные не содержат несогласованных значений;

  5. все утверждения верны.

50. Каково различие между оператором точка и оператором доступа к члену класса по имени класса?

  1. оператор точка именуется оператором доступа к члену класса по имени класса, а оператор доступа – оператором прямого доступа к члену класса;

  2. оператор точка именуется оператором прямого доступа к члену класса, а оператор доступа – оператором доступа к члену класса по имени класса;

  3. оператор точка именуется оператором закрытого доступа к члену класса, а оператор доступа – оператором доступа к члену класса по имени класса;

  4. различий нет.

Правильные ответы:

  1. в

  2. а

  3. б

  4. в

  5. б

  6. б

  7. в

  8. б

  9. в

  10. в

  11. компиляцией

  12. б

  13. а

  14. в

  15. г

  16. б

  17. г

  18. в

  19. б

  20. г

  21. г

  22. б

  23. б

  24. в

  25. г

  26. в

  27. а

  28. б

  29. б

  30. в

  31. г

  32. а

  33. б

  34. строка

  35. 1-г, 2-а, 3-д, 4-в, 5-б

  36. б

  37. а, г

  38. б

  39. г

  40. г

  41. рекурсией

  42. а

  43. структуры

  44. б, г

  45. е

  46. б

  47. членом

  48. а

  49. д

  50. б

Шкала оценки:

Кол-во правильных ответов

Оценка

52

отлично

41 – 51

хорошо

21 – 40

удовлетворительно

до 20

не удовлетворительно

ИТОГОВАЯ АТТЕСТАЦИЯ

ВОПРОСЫ (к экзамену)

  1. История и назначение языка Си++.

  2. Структура программы на языке С++. Примеры. Этапы создания исполняемой программы.

  3. Состав языка С++. Константы и переменные С++.

  4. Типы данных в С++.

  5. Выражения. Знаки операций.

  6. Сводка операций: скобки, порядок вычислений, инкремент и декремент, преобразование типа.

  7. Основные операторы С++ (присваивание, составные, выбора, циклов, перехода). Синтаксис, семантика, примеры.

  8. Этапы решения задачи. Виды ошибок. Тестирование.

  9. Массивы (определение, инициализация, способы перебора).

  10. Сортировка массивов (простой обмен, простое включение, простой выбор).

  11. Поиск в одномерных массивах (дихотомический и линейный).

  12. Указатели. Операции с указателями. Примеры.

  13. Динамические переменные. Операции new и delete. Примеры.

  14. Ссылки. Примеры.

  15. Одномерные массивы и указатели. Примеры.

  16. Многомерные массивы и указатели. Примеры.

  17. Динамические массивы. Примеры.

  18. Символьная информация и строки. Функции для работы со строками (библиотечный файл string.h).

  19. Функции в С++. Рекурсия. Примеры.

  20. Прототип функции. Библиотечные файлы. Директива препроцессора #include.

  21. Передача одномерных массивов в функции. Примеры.

  22. Передача многомерных массивов в функции. Примеры.

  23. Передача строк в функции. Примеры.

  24. Функции с умалчиваемыми параметрами. Примеры.

  25. Подставляемые функции. Примеры.

  26. Функции с переменным числом параметров. Примеры.

  27. Перегрузка функции. Шаблоны функций. Примеры.

  28. Указатели на функции. Примеры.

  29. Ссылки на функции. Примеры.

  30. Типы данных, определяемые пользователем (переименование типов, перечисление, структуры, объединения). Примеры.

  31. Структуры. Определение, инициализация, присваивание структур, доступ к элементам структур, указатели на структуры, битовые поля структур.

  32. Динамические структуры данных (однонаправленные и двунаправленные списки).

  33. Создание списка, печать, удаление, добавление элементов (на примере однонаправленных и двунаправленных списков).

  34. Классы и члены: функции-члены, классы, ссылка на себя, инициализация, удаление, подстановка.

  35. Классы: друзья, уточнение имени члена, вложенные классы, статические члены, указатели на члены, структуры и объединения.

  36. Конструкторы и деструкторы, локальные переменные.

  37. Объекты класса как члены, массивы объектов класса, небольшие объекты.

  38. Потоковый ввод-вывод в С++. Открытие и закрытие потока. Стандартные потоки ввода-вывода.

  39. Прямой доступ к файлам.

  40. Создание бинарных и текстовых файлов, удаление, добавление, корректировка элементов, печать файлов.

Список задач, выносящихся на итоговую аттестацию

  1. Определить, попадет ли точка с координатами (х;у) в указанную область.

  2. Дана последовательность целых чисел из n элементов. Найти:

a) среднее арифметическое;

b) максимальное значение;

  1. Дана последовательность целых чисел из n элементов. Найти:

    1. количество отрицательных элементов;

    2. номер минимального элемента;

  2. Дана последовательность целых чисел из n элементов. Найти:

    1. количество четных чисел;

    2. минимальный из четных элементов этой последовательности.

  3. Дана последовательность целых чисел, за которой следует 0. Найти:

    1. среднее арифметическое;

    2. (максимальное значение;

  4. Дана последовательность целых чисел, за которой следует 0. Найти:

    1. количество отрицательных элементов;

    2. номер минимального элемента;

  5. Найти сумму чисел Фибоначчи, меньших заданного числа Q.

  6. Напечатать N простых чисел.

  7. Найти сумму целых положительных нечетных чисел, меньших 200.

  8. Напишите программу, которая проверяет принадлежность числа диапазону от 0 до 100 включительно.

  9. Напишите программу, которая считывает переменную и выводит ее куб.

  10. Дан массив целых чисел. Найти: а)среднее арифметическое; б) максимальное значение;

  11. Дан массив целых чисел. Найти:

    1. количество четных чисел;

    2. минимальный из четных элементов этого массива.

  12. Дан массив целых чисел. Перевернуть массив.

  13. Дан массив целых чисел. Поменять местами пары элементов в массиве: 1 и 2, 3 и 4, 5 и 6 и т. д.

  14. Циклически сдвинуть массив на k элементов влево (вправо).

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

  16. Определить какое слово встречается в строке чаще всего.

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

  18. Преобразовать строку таким образом, чтобы все слова в ней были напечатаны наоборот.

  19. Преобразовать строку так, чтобы все буквы в ней были отсортированы по возрастанию.

  20. Напечатать самое длинное и самое короткое слово в этой строке.

  21. Получите от пользователя три порции информации: имя собаки, ее породу и возраст. Затем напечатайте предложение, используещее эту информацию.

  22. Сформировать динамический массив строк. Удалить из него строку с заданным номером.

  23. Дан массив int *a. Удалить из массива все элементы, совпадающие с первым элементом, используя динамическое выделение памяти.

  24. Найти количество цифр в строке символов, используя функции.

  25. Удалить из однонаправленного (двунаправленного) списка элемент с заданным номером (ключом).

  26. Добавить в однонаправленный (двунаправленный) список элемент с заданным номером.

  27. Создать структуру «Книга»:

  • название;

  • автор;

  • год издания;

  • количество страниц.

Удалить 3 элемента из начала файла, добавить элемент перед элементом с указанным названием.

  1. Удалить из бинарного файла, в котором записаны целые числа все четные элементы.

  2. Добавить в бинарный файл, в который записаны элементы типа struct Student {char name[20];int age;}; k элементов после элемента с заданной фамилией.

  3. Удалить из текстового файла все четные строки.

  4. Добавить порядковый номер в каждую строку текстового файла.

  5. В текстовом файле заменить все строки, начинающиеся с буквы «f» на строки, начинающиеся с буквы «a».

Примерные темы рефератов

  1. История С++.

  2. С++ – язык объектно-ориентированного программирования.

  3. Особенности языка С++.

  4. Дружественные функции и классы С++.

  5. Использование виртуальных функций и полиморфизм С++.

  6. Работа с файлами в языке С++.

  7. Многомерные массивы в С++.

  8. Конструкторы и деструкторы в С++.

  9. Классы контейнеры и итераторы.

  10. Композиция и наследование С++.

  11. Исключения – что это такое?

  12. Потоки ввода-вывода.

  13. Стандартные манипуляторы ввода-вывода.

  14. Проектирование библиотек.

Примерные темы практических работ
  1. Составление простейших программ для освоения операций ввода-вывода и инструкций языка.

  2. Решение задач на использование условных и циклических операторов.

  3. Решение задач на использование оператора выбора.

  4. Массивы и сортировки.

  5. Массивы и указатели.

  6. Строки и ссылки.

  7. Использование функции и рекурсии.

  8. Структуры.

  9. Однонаправленный и двунаправленный списки.

  10. Классы и члены.

  11. Работа с файлами

ВОПРОСЫ ДЛЯ КОНТРОЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ

  1. Что такое алгоритм. Назовите свойства алгоритма.

  2. СИ++ - язык программирования высокого уровня.

  3. Перечислите основные этапы создания исполняемой программы на языке СИ++.

  4. Что такое директивы препроцессора в СИ++?

  5. Перечислите виды программных ошибок.

  6. Что такое массив и как с ними работать? Использование датчика случайных чисел для формирования массива.

  7. Перечислите классы задач по обработке массивов.

  8. Перечислите операции с указателями.

  9. Что такое ссылки, строки, указатель?

  10. Функции в СИ++.

  11. Дайте определение локальных и глобальных переменных.

  12. Что представляют однонаправленные и двунаправленные списки?

  13. Что такое стек и очередь?

  14. Приведите примеры разработки, реализации и использования классов.

  15. Дополнительные свойства классов.

  16. Что такое конструкторы и деструкторы?

  17. Как работают с файлами?

ОСНОВНЫЕ ПОНЯТИЯ ДИСЦИПЛИНЫ

(термины)

ANSI – Национальный институт стандартизации США. ANSI C++ - это спецификация, которая необходима компиляторам C++ для поддержки полных, обновленных и корректных версий языка C++. ANSI C++ включает определенное количество функциональных возможностей, таких как обработка исключительных ситуаций, шаблоны и булевы типы, которых не было в ранних версиях C++.

Абстрактный класс (Abstract class) – класс, который нельзя использовать для создания объектов, но который может быть полезен как общий шаблон (то есть интерфейс) для других классов. В абстрактном классе есть хотя бы одна чисто виртуальная функция.

Адрес (Address) – нумерованная область в памяти, в которой хранится элемент данных или код программы.

Аргумент (Argument) – значение, которое передается функции.

Ассоциативность (Associativity) – правило (или слева направо, или справа налево), которое определяет, как вычислять выражение, состоящее из двух или более операторов с одним и тем же уровнем приоритета.

Базовый класс (Base class) – класс, от которого осуществляется наследование, объявляя подкласс.

Булево выражение (Boolean) – истинное/ложное значение или истинная/ложная операция. В полной версии ANS С++ поддерживается специальный тип bool. Если этот тип не доступен, вы можете использовать тип int для хранения значений истина/ложь. C++ описывает истину и ложь значениями 1 и 0 соответственно, но любое ненулевое значение интерпретируется как истина.

Встраиваемая функция (inline function) – это функция, утверждения которой вставляются в код функции, которая ее вызывает. В нормальном вызове функции управление программы перескакивает на новое место и затем возвращается, когда заканчивается выполнение. Этого не происходит со встраиваемой функцией.

Выражение (Expression) – один из фундаментальных составляющих блоков программы на C++. В общем, выражением является все, что имеет значение.

Глобальная переменная (Global variable) – переменная, используемая более чем одной функцией в модуле, т.е. функциями одного исходного файла.

Данное-член (Data member) – поле данных класса. Если данное-член не объявлен статическим static (об этом ключевом слове не рассказывалось в этой книге), то каждый объект получает свою собственную копию объекта данных.

Деструктор (Destructor) – это функция-член, выполняющая очистку и завершение действий при разрушении объекта.

Директива (Directive) – общая команда компилятору. Директива отличается от выражения тем, что она не объявляет переменных и не создает выполняемый код.

Заголовочный файл (Header file) – это файл объявлений и (опционально) директив; он должен быть включен (при помощи использования директивы #include) в остальные файлы.

Инкапсуляция (Encapsulation) – возможность скрыть или защитить содержимое.

Исключение (Exception) – необычное событие, возникшее в процессе выполнения программы, обычно вследствие ошибки, которое требует немедленной обработки программой.

Исходный файл (Source file) – текстовый файл, содержаний выражения C++ (и директивы, опционально).

Класс (Class) – определенный пользователем тип данных (или тип данных, определенный в библиотеке). В C++ класс можно объявлять, используя ключевые слова class, struct или union.

Когда вы объявляете функцию-член и размещаете ее определение внутри объявления класса, то она автоматически становится встраиваемой.

Код (Code) – еще один синоним слова «программа». Слово «код» подразумевает скорее программистский взгляд на программу, а не взгляд пользователя, который видит только конечный результат рабочего цикла программы. Когда программисты говорят о «коде», они обычно подразумевают исходный код, то есть набор выражений C++, составляющих программу.

Компилятор (Compiler) – языковой транслятор, который считывает вашу C++ программу и выдает машинный код и, в конечном счете, исполняемый файл, который фактически может быть запущен на компьютере.

Константа (Constant) – значение, которое нельзя изменить.

Конструктор (Constructor) – функция-член, которая вызывается при создании объекта. Конструктор «объясняет», как инициализировать объект. Конструктор носит такое же имя, как и класс, в котором он объявлен, и не имеет возвращаемого значения. (Но неявно конструктор возвращает экземпляр класса).

Литерная константа (Literal constant) – численная или строковая константа, в отличие от символического имени, которое может стать константой (при помощи использования ключевого слова const).

Локальная переменная (Local variable) – переменная, которая является закрытой (private) для определенной функции или блока утверждения. Ее преимущество состоит в том (например), что каждая функция может иметь собственную переменную х, но изменения х внутри одной функции не будет путаться со значением х другой функции. Эта особенность - вариант права функции на закрытость - является ключевым моментом современных языков программирования.

Массив (Array) – структура данных, состоящая из нескольких элементов, которые имеют одинаковый тип. Доступ к элементам осуществляется через индексный номер.

Наследование (Inheritance) – возможность предоставлять классу атрибуты другого, ранее объявленного класса. Это осуществляется посредством создания подклассов. Новый класс автоматически содержит все члены, объявленные в базовом классе. (Исключение: класс не наследует конструкторы).

Непрямой (доступ) (Indirection) – доступ к данным, через указатель.

Объект (Object) – модуль тесно взаимосвязанных данных, который может иметь определенное поведение (в форме функции-члена), как и данные. Тип объекта – это его класс, а для данного класса вы можете объявить любое количество объектов. Проще говоря, объект — это интеллектуальная структура данных.

Объявление (Declaration) – выражение, предоставляющее информацию о типе переменной, класса или функции. Объявление функции может быть или прототипом (который содержит только информацию о типе), или описанием (в котором описывается, что именно делает функция). В C++ каждая переменная и функция, кроме функции main, должна быть объявлена до ее использования.

Операнд (Operand) – выражение, участвующее в операции. Один или более операндов объединяются для формирования более сложных выражений.

Оператор (Operator) – символ, который объединяет одно или более выражений в более сложное выражение. Некоторые операторы являются унарными; это означает, что они могут быть применены только к одному операнду. Существуют также бинарные операторы; это означает, что они могут, объединять два операнда.

Описание, функция (Definition, function) – последовательность выражений, описывающих работу функции. Во время выполнения функции управление программой передается этим выражениям.

Переменная (Variable) – именованная ячейка для хранения данных программы.

Плавающая точка (Floating point) – формат данных, который может хранить как дробные части чисел, так и сами числа в более широком диапазоне, чем целочисленные форматы (int, char, short, long). В компьютере числа с плавающей точкой хранятся в двоичном формате (основа 2) и отображаются в десятичном виде. Основной тип с плавающей точкой в C++ - это double, который соответствует «двойной точности».

Подкласс (Subclass) – класс, который наследуется от другого класса. Подкласс автоматически включает все члены базового класса, кроме его конструкторов. Любые явные объявления в подклассе создают дополнительные или подмененные члены.

Приведение (Cast) – операция, которая изменяет тип данных выражения.

Приоритет (Precedence) – правила, определяющие, какие операции должны выполняться первыми в сложном выражении.

Прототип (Prototype) – объявление функции, в котором указывается только информация о типе. (Это не объявление.)

Реализация (Implementation) – это слово имеет множество различных значений в разных контекстах; но в C++ это слово обычно относится к определению функции для виртуальной функции.

Ссылка (Reference) – переменная или аргумент, который служит дескриптором другой переменной или аргумента.

Строка (String) – последовательность текстовых символов, которую можно использовать для представления слов и фраз или даже полных предложений.

Строковый литерал (String literal) – текстовая строка, заключенная в кавычки и представляющая собой постоянную строковую величину. Когда компилятор C++ видит строковый литерал, он сохраняет символы в сегменте данных, а затем при обработке кода заменяет строковый литерал адресом данных.

Указатель (Pointer) – переменная, содержащая адрес другой переменной. (Указатель также может быть установлен на NULL, в этом случае он ни на что не указывает.)

Утверждение (Statement) – основной элемент синтаксиса программы C++. Утверждение C++ можно считать аналогом команды или предложения естественного языка, такого как английский. Как и длина предложения, длина выражения C++ не фиксирована. Оно может быть прервано в любой момент, как правило, точкой с запятой. Определение функции состоит из последовательности утверждений.

Функция (Function) – группа утверждений, выполняющих какую-либо задачу. Количество действий, которые может выполнять функция, не ограничено, но в идеале все действия, осуществляемые определенной функцией, должны быть направлены на решение одной какой-либо задачи.

Функция-член (Member function) – функция, объявленная внутри класса. Функции-члены (иногда называемые «методами» в других языках) - это важный аспект объектно-ориентированного программирования. Они определяют операции над объектами класса.

РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА

Основная

  1. Подбельский В.В. Язык Си++: Учеб. пособие. – 5-е изд. – М.: Финансы и статистика, 2003. – 560 с.: ил.

  2. Савич У. Программирование на Си++. 4-е изд. – СПб.: Питер; Киев: Издательская группа BHV, 2004. – 781 с.: ил.

  3. Оверленд Брайан С++ без страха: [учеб. пособие: пер. с англ.] – М.: Изд-во Триумф, 2005. – 432 с.: ил.

  4. Астахова, И.Ф Язык C+: Пробное учебное пособие / ВГУ., Воронеж: Б.и., 2001

  5. Франка П. C++. Учебный курс / СПб.: Питер, 2004

  6. Лафоре Р. Объектно-ориентированное программирование в С++/ СПб.: Питер, 2003

  7. Б. Страуструп., Язык программирования C++, 3-е изд./Пер. с англ., М.: «Невский Диалект» — «Издательство БИНОМ», 1999 г. — 991 с., ил.

  8. Березин Б.И., Березин С.Б., Начальный курс С и С++ . – М .: ДИАЛОГ - МИФИ, 1999. –288 с.

  9. Ирэ, Пол. Объектно-ориентированное программирование с использованием C++. Киев: ДиаСофт, 1995.

  10. Лаптев В.В. С++. Экспресс-курс. – СПб.: БХВ-Петербург, 2004. – 512 с.: ил.

Дополнительная

  1. Голуб А.И. С и C++. Правила программирования. – М.: Бином, 1996.-272с.

  2. Дейтел П.Дж., Дейтел X.М. Как программировать на C++. Введение в объектно-ориентированное проектирование с использованием UML / Пер. с англ. – М.: Бином, 2002. – 1152 с.

  3. Кениг Э., My Б. Э. Эффективное программирование на C++. Серия C++ In-Depth, т. 2 / Пер. с англ. – М.: Вильяме, 2002. – 384 с., ил.

  4. Керниган Б.В., Пайк Р. Практика программирования / Пер. с англ. – СПб.: Невский Диалект, 2001. – 381 с., ил.

  5. Липпман С.Б. Основы программирования на C++. Серия C++ In-Depth, т. 1 / Пер. с англ. – М.: Вильяме, 2002. – 256 с., ил.

  6. Павловская Т.А. C/C++. Программирование на языке высокого уровня. – СПб.: Питер, 2002. – 464 с., ил.

  7. Романов Е.Л. Язык Си++ в задачах, вопросах и ответах. Серия Учебники НГТУ. – Новосибирск: НГТУ, 2003. – 428 с.

  8. Сэджвик Р. Фундаментальные алгоритмы на C++. Анализ. Структуры данных. Сортировка. Поиск / Пер. с англ. – К.: ДиаСофт, 2001.

  9. Халперн П. Стандартная библиотека C++ на примерах / Пер. с англ. – М.: Вильяме, 2001. – 336 с., ил.

  10. Хенкеманс Д., Ли М. Программирование на C++ / Пер. с англ. – СПб.: Символ-Плюс, 2002. – 416 с., ил.



Скачать документ

Похожие документы:

  1. Отчет о результатах самообследования Укрупненной группы специальностей (угс) (4)

    Публичный отчет
    Подготовка специалистов в области автоматизации и управления в университете осуществляется с 1977 года сначала в рамках специальности 0639 со специализацией по автоматизации технологических процессов полиграфии; с 1986 года с заменой
  2. Государственный образовательный стандарт высшего профессионального образования направление 511600 Прикладные математика и физика

    Образовательный стандарт
    Нормативный срок освоения основной образовательной программы подготовки магистра по направлению 511600 Прикладные математика и физика 6 лет. Форма обучения – только очная.
  3. Отчет о самообследовании основной образовательной программы по направлению 151000. 68 Конструкторско-технологическое обеспечение автоматизированных машиностроительных производств

    Публичный отчет
    Самообследование направления подготовки магистров 151 .68 Конструкторско-технологическое обеспечение автоматизированных машиностроительных производств (магистерская программа «Металлорежущие станки») проводилось в соответствии с распоряжением
  4. Отчет о самообследовании основной образовательной программы по направлению 150900. 68 Технология, оборудование и автоматизация

    Публичный отчет
    (магистерская программа «Технология машиностроения») проводилось в соответствии с распоряжением по Оренбургскому государственному университету от 06.10.
  5. Состоит из программы подготовки бакалавра по соответствующему направлению (4 года) и специализированной подготовки магистра (2 года). Квалификационная характеристика выпускника (1)

    Документ
    Степень выпускника — магистр информационных технологий. Нормативный срок освоения основной образовательной программы подготовки магистра по направлению 511900 – ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ при очной форме обучения 6 лет.

Другие похожие документы..