- •Лексические основы языка программирования
- •Классификация лексем
- •Переменные
- •Описание массивов
- •Алгоритмы
- •Управляющие структуры
- •Конструкция ветвления
- •Конструкция мультиветвления
- •Решение простейших задач с помощью конструкции цикла1
- •Решение простейших задач с помощью конструкции цикла 2
- •Конструкции передачи управления
- •Подпрограммы
- •Параметры функций
- •Пример функции
- •Пример функции 1
- •Рекурсивные функции
- •Трансляция
- •Компиляторы и интерпретаторы
Параметры функций
Какое из следующих утверждений относительно параметров функций неверно
параметры, перечисляемые в заголовке функции называются формальными
в объявлении и определении одной функции типы и порядок следования параметров должны совпадать
в объявлении функции для параметров не обязательно указывать имена
для вызова функции нужно указать ее имя, за которым в круглых скобках перечисляются имена формальных параметров
Пример функции
Пусть описана функция bool f(int k) {if (k>0) return true; return false;} и вызвана f(k1) Установите соответствие
k – тип возвращаемого значения
k1 – оператор возврата значения функции
return – формальный параметр
bool – фактический параметр
Пример функции 1
Пусть описана функция bool k(int a, int b). Установите соответствие
bool – количество параметров
k – имя функции
2 - вызов функции
b – тип возвращаемого значения
k (2,2) – имя параметра
Особенности функций в языке C++
Пусть описана функция int sum (int a=1, int b=2) {return a b;} Она вернет значение 4 если будет вызвана следующим образом
sum();
sum(2);
sum(3);
sum(2,3);
Рекурсивные функции
Какое из следующих утверждений относительно рекурсии неверно
если у задачи есть очевидное итерационное решение, то рекурсии следует избегать
механизм рекурсии подразумевает постоянную работу со стеком
функция называется косвенно рекурсивной в том случае, если она содержит вызов самой себя
рекурсивные алгоритмы эффективны в тех задачах, где рекурсия используется в определении данных
Пример рекурсивной функции
Пусть описана функция int f (int a) {if (a==1) return 1; return a+f(a-1);}. Какое значение будет возращено при вызове f(3)
Строки
Какое задание строки неверно
const int n1=20; char str1[n1]; gets(str1);
int n2=20; char *str2=new char [n2]; gets(str2);
char str3[]= “abcde”;
char *str4= ‘abcde’;
Функции для работы со строками
Имя функция стандартной библиотеки языка С для сравнения строк
Функции для работы с файлами
Имя функция стандартной библиотеки языка С для чтения символа из файла
IDE
Что из нижеуказанного не входит в функции редактора связей
на основе грамматики языка распознает смысловые конструкции языка
дополняет объектный модуль нужными библиотечными функциями
если необходимо, объединяет объектный модуль с другими объектными модулями
формирует исполняемый модуль программы
Трансляция
Суть какого метода заключается в следующем - осуществляет декодирование программы, написанной на языке программирования, в эквивалентную программу на машинном языке, и по мере этого декодирования выполняются соответствующие команды, применятся к обрабатываемым данным
трансляция
компиляция
интерпретация
динамическая кодогенерация
Компиляторы и интерпретаторы
Достоинство метода интерпретации
один и тот же текст программы практически без всяких изменений может запускаться на разных компьютерах
наличие синтаксических ошибок в операторах выявляется только в момент их выполнения
сравнительно высокая скорость выполнения
наличие ограничений при переносе с одной платформы на другую
Составила профессор кафедры ПМиИ д.ф.-м.н. Т.Э.Шульга
Заведующий кафедрой ТОИиИТ, д.ф.-м.н., профессор В.Н. Гусятников