- •1 Билет.
- •2 Билет.
- •3 Билет.
- •4 Билет.
- •5 Билет.
- •6 Билет. Способы описания языков программирования: бнф-нотации, синтаксические диаграммы.
- •7 Билет.
- •8 Билет. Переменные, область действия, время жизни, класс памяти.
- •10 Билет.
- •19 Билет. Ввод/вывод данных на c.
- •21 Билет. Производные типы данных, массивы, работа с массивами.
- •26 Билет. Файлы прямого и последовательного доступа к данным. Форматизированный и неформатизированный ввод/вывод.
- •28 Билет. Понятие подпрограммы, назначение подпрограммы, использование подпрограмм.
- •30 Билет. Передача параметров в подпрограмму. Параметры входные и выходные, параметры передаваемые по значению и по адресу.
- •1) По значению.
- •2) По адресу.
- •31 Вопрос. Использование подпрограмм. Параметры формальные, локальные, глобальные, обращение к подпрограммам, фактические параметры.
- •32 Билет. Передача параметров-массивов в подпрограмму. Примеры.
- •33 Билет. Передача параметров-функций в подпрограмму.
- •34 Билет. Рекурсивные функции. Примеры.
- •35 Билет. Понятие структурного программирования, этап проектирования - композиция и декомпозиция, понятие статической и динамической структуры программы, спецификация программы.
- •36 Билет. Понятие частичной и полной корректности программы, правила вывода - общий вид, правила консеквенции.
- •2 Способа создания динамической переменной:
- •42. Понятие линейного связного списка, типы списков, представление стека с помощью массива, пример использования стека.
- •43. Использование динамических переменных для представления и работы со стеком.
- •44. Очередь, реализация очереди массивом.
- •45. Очередь, представление и реализация основных операций с помощью динамических переменных.
- •46. Реализация основных операций со списком: добавление, удаление, поиск.
- •47. Деревья, основные операции над деревьями, представление дерева массивом.
- •48. Двусвязные линейные списки, построение и обход бинарного дерева.
- •49. Операции поиска и удаления в бинарном дереве.
30 Билет. Передача параметров в подпрограмму. Параметры входные и выходные, параметры передаваемые по значению и по адресу.
Передача параметров в подпрограмму.
Передача параметра есть замена формального параметра фактическим. Передать параметры можно двумя способами.
1) По значению.
2) По адресу.
При передаче параметра по значению копии значений фактических параметров записываются в стек и оттуда подпрограмма их берет и использует. Сами же значения остаются для подпрограммы недоступны и она их менять не может.
При передаче параметров по адресу в стек записываются адреса фактических параметров, и подпрограмма обращается по этим адресам для использования значений, это значит что значения таких параметров могут быть изменены. По адресу параметры могут передаваться с помощью указателей и ссылок.
Формальные параметры делятся на входные и выходные.
Значения входных параметров должны быть известны до обращения к подпрограмме, а значения выходных параметров вычисляются в подпрограмме и могут использоваться в вызывающей программе.
Входные параметры могут передаваться как по адресу так и по значению, а выходные параметры должны передаваться только по адресу.
31 Вопрос. Использование подпрограмм. Параметры формальные, локальные, глобальные, обращение к подпрограммам, фактические параметры.
Использование подпрограммы.
Использование подпрограммы позволяет избегать дублирования одинаковых частей программы, делая программу короче, но увеличивая время её выполнения за счет необходимости реализации обращения к подпрограмме и передачи параметров.
Типы параметров
Параметры указанные в описании называются формальными.
Указанные в обращении называются фактическими.
Все величины описанные в подпрограмме, а также формальные параметры, являются локальными величинами т.е. областью их действия является тело функции.
глобальные
Обращение к подпрограмме.
Чтобы использовать подпрограмму необходим уметь описать подпрограмму и уметь обратиться к ней в нужном месте с конкретными значениями параметров.
Описать подпрограмму - значит выбрать для неё имя, определенный набор величин, от которых будет зависеть выполнение вспомогательного алгоритма при каждом обращении к нему и реализация вспомогательного алгоритма с помощью средств выбранного языка программирования.
Обратиться к подпрограмме - значит указать её имя с конкретными значениями параметров в данной точке вызывающей(основной) программы.
32 Билет. Передача параметров-массивов в подпрограмму. Примеры.
При использовании массива в качестве параметра в функции передается указатель на его первый элемент, т.е. массив всегда передается по адресу, при этом информация о количестве элементов массива теряется и поэтому размер массива надо пер ? ?????? отдельным параметром.
Если нужно запретить изменение значения элементов массива или любой другой величины, то в описании параметра добавим ключевое слово const
Программа. Сумма элементов одномерного массива.
#include <iostream.h>
const int n =5 // размерность массива
// прототип функции
int sum (const.int n*mas, const int n); // (int mas[], int n)
int main () {
int marks[n]={1,2,3,4,5};
cout << "сумма элементов массива:"sum(marks,n)<<'\n';
return 0;
}
// определение функции.
int sum (const int *mas, const int n) // (int mas[], int n);
int s=0;
for (int i=0;i<n;i++) s=s+mas[i];
return s;
}
размерность известна и постоянна.
дальше идёт задача с многомерным массивом я хз надо её или нет.
после неё идёт :
Если параметрами являются многомерные массивы и их размерность не известна на этапе компиляции, то все размерности безусловно должны передаваться как параметры, массив рассматривается как одномерный, а значение индекса, определяющего положение элемента в массиве вычисляется в программе по формуле.
дальше идёт пример описывающий этот процесс ^ хз нужен он или нет. завтра разберемся)