- •Теоретические вопросы к экзамену к экзамену по курсу «Программирование и алгоритмизация»
- •A)Время жизни и область видимости программных объектов.Б) Инициализация глобальных и локальных переменных
- •Операторы языка Си. Оператор выражение, составной оператор, операторы условного перехода
- •Операторы цикла while и do … while
- •Указатели. Типизированные и нетипизированные.
- •Работа с файлами. Файловая переменная, открытие, закрытие файла.
- •Чтение и запись в файлы. Функция eof()
- •Определение и вызов функций. Фактические и формальные параметры.
- •Определение и вызов функций. Передача массивов и указателей на функции.
- •Бинарный поиск в упорядоченном массиве.
- •Сортировка массива на примере одного из алгоритмов.
Указатели. Типизированные и нетипизированные.
Работа с файлами. Файловая переменная, открытие, закрытие файла.
Для обработки файлов используют библиотеку ввода-вывода stdio.h. Файловая переменная описывается с помощью типа данных FILE Пример:FILE*fi;
Необходимо определить способо ткрытия, задать местонахождение файла и связать с ним файловую переменную. Функция fopen() :FILE*fopen(constchar*filename,constchar*mode); Первый параметр–путь к файлу. Второй параметр –способ открытия файла. FILE*fi; fi=fopen("data.txt","rt"); if(fi==0)//обработка ошибки…
Команда закрытия файла: fclose (имя-файловой-переменной)
Чтение и запись в файлы. Функция eof()
Определение и вызов функций. Фактические и формальные параметры.
Функция - это совокупность объявлений и операторов, обычно предназначенная для решения определенной задачи. Каждая функция должна иметь имя, которое используется для ее объявления, определения и вызова. В любой программе на СИ должна быть функция с именем main (главная функция), именно с этой функции, в каком бы месте программы она не находилась, начинается выполнение программы.
Определение функции должно располагаться в глобальной области видимости, до начала функции main, могут бы и варианты когда функции описаны в другом файле. Можно перед мэйн функцией описать прототип функции т.е. int kp101 (int, char, int), а где-то после мэйн( ) описать функцию
int kp101 (int a, char name, int kar)
{
Int c;
…
Операторы;
Return c;
}
Тип_возвращаемого_значения индификатор_функции (Список аргументов или параметров) { тело} . Формальные параметры – это что мы передаем так сказать из окружающей среды, ну т.е аргументы, а фактические параметры это то некоторые значения используемые во время выполнения функции.
Бля пример) хз поймете меня нет и вообще правильно ли отвечаю не знаю !
double summ ( double a, double c) { int d; d=a+c; return d;}
int main( ){ double opa; double x1,x2; scanf(“%f”, x1); scanf(“%f”, x2); opa=summ(x1,x1); printf(“%f”, opa) getch( ); return 0; }
x1,x2 –в нашем случаи формальные параметры или аргументы, а a и c – фактические параметры, которые используются в функции double summ(double,double)
Вызов функции состоит из идентификатора функции и списка аргументов в круглых скобках. summ(x1,x2):
Определение и вызов функций. Передача массивов и указателей на функции.
Бинарный поиск в упорядоченном массиве.
Пусть есть упорядоченный по возрастанию массив целых чисел. Нужно определить, содержит ли этот массив некоторое число (образец).
Метод (алгоритм) бинарного поиска реализуется следующим образом:
1. Сначала образец сравнивается со средним (по номеру) элементом массива (рис. 5.10, а).
Если образец равен среднему элементу, то задача решена.
Если образец больше среднего элемента, то это значит, что искомый элемент расположен ниже среднего элемента (между элементами с номерами sred+1 и niz), и за новое значение verb принимается sred+i, а значение niz не меняется (рис. 5.10, б).
Если образец меньше среднего элемента, то это значит, что искомый элемент расположен выше среднего элемента (между элементами с номерами verh и sred-1), и за новое значение niz принимается sred-1, а значение verh не меняется (рис. 5.10, в).
а b
c