- •Мiнiстерство аграрної політики україни миколаївський державний аграрний університет методичні вказівки
- •Миколаїв –2003
- •Введение
- •1. Понятие переменной
- •2. Арифметические операции
- •3. Логические операции
- •4. Основные операторы (ключевые слова)
- •4.1 Арифметические операторы.
- •4.2 Оператор условия if.
- •4.3. Оператор цикла for.
- •4.4. Оператор безусловного перехода goto.
- •4.5. Оператор цикла while.
- •If(условие)
- •4.6. Ключевые слова break и continue.
- •5. Основные правила составления программ.
- •5.1. Подключение необходимых библиотек языка Си.
- •5.2. Ключевое слово main().
- •Void main ()
- •5.3. Описание переменных.
- •5.4. Реализация основных математических функции в языке Си.
- •6. Массивы
- •6.1. Описание массивов.
- •6.2. Конструкция #define для объявления размерности массивов.
- •Void main()
- •6.3. Инициализация массивов при объявлении.
- •7. Функция printf().
- •7.1. Вывод на экран заданного текста.
- •7.2. Вывод на экран значений переменных.
- •8. Примеры программ.
- •8.1. Печать координат вектора превышающих заданный порог.
- •8.2. Умножение двух прямоугольных матриц.
- •Void main()
- •8.3. Разложение числа на простые множители.
- •Void main()
- •8.4. Решение физической задачи.
- •Void main()
- •9. Работа с компилятором языка си
- •9.1. Подготовка к запуску компилятора.
- •9.2. Набор текста программы и его редактирование.
- •9.3. Компиляция и отладка программы.
- •9.4. Запуск программы на исполнение.
- •10. Ввод информации в программу с экрана
- •10.1. Функция scanf().
- •Int day, year;
- •10.2. Примеры программ, использующих ввод данных с экрана. Ввод вектора с экрана.
- •Void main()
- •Ввод даты с экрана.
- •Void main()
- •Доработка программы решения физической задачи из раздела 8.4.
- •Void main()
- •11. Управление работой программы с клавиатуры.
- •11.1. Предпочтительные функции для работы с клавиатурой.
- •11.2. Программа печати кода нажатой клавиши.
- •Void main()
- •12. Создание пользовательских функций.
- •12.1. Общие правила написания пользовательских функций.
- •12.2. Пример использования пользовательских функций.
- •Void main()
- •13. Представление о графических функциях языка с.
- •13.1. Подготовка графического режима.
- •Initgraph(&graphdriver, &graphmode," ");
- •13.2. Наиболее употребляемые графические функции.
- •13.3. Примеры программ использующих графический режим. Разноцветные концентрические кольца.
- •Void main()
- •Initgraph(&graphdriver,&graphmode," ");
- •Управления движением курсора.
- •Void cursor(int dh,int iocur,int jocur,int incur,int jncur);
- •Void main()
- •Initgraph(&graphdriver,&graphmode," ");
- •Void cursor(int dh, int iocur,int jocur,int incur,int jncur)
- •14. Упражнения для самостоятельной работы.
- •15. Задачи для самостоятельного составления программ
- •15.1. Не сложные задачи.
- •15.2. Задачи средней сложности.
- •15.3. Задачи повышенной сложности.
- •16. Разбиение материала на модули
- •Список литературы
Void main()
{ double xn,xk,dx,dn,xt;
printf("Введите начало интервала, содержащего единственный корень:\n");
scanf("%lf",&xn);
printf("Введите конец этого интервала:\n");
scanf("%lf",&xk);
printf("Введите точность поиска корня:\n");
scanf("%lf",&dx);
if(f(xn)*f(xk) >= 0)
{ printf("Условия поиска корня не выполняются!\n");
getch();
return;
}
dn=xk-xn;
while(dn > dx)
{ xt=(xk+xn)/2;
if( f(xn)*f(xt) < 0)
xk=xt;
else
if( f(xn)*f(xt) > 0)
xn=xt;
else
break;
dn=xk-xn;
}
printf("Корень уравнения: x= %.12f,\n",xt);
printf("f(x)= %.12f.\n",f(xt));
getch();
}
// Тело функции:
double f(double x)
{
return 2*sin(5*x)*cos(6*x)+cos(x)-sin(7*x)*cos(4*x);
// return 16*x-13;
}
Например, для уравнения на интервале[0;0.5] при точности 0.0000000001 программа выдает:
Корень уравнения: x= 0.325635760382,
f(x)= 0.000000000089.
Для уравнения на интервале[0;1] при точности 0.01 (в этом случае корень уравнения совпадет с серединой интервала на 4-ом шаге) получается следующий результат:
Корень уравнения: x=0.812500000000,
f(x)= 0.000000000000.
13. Представление о графических функциях языка с.
13.1. Подготовка графического режима.
Прежде всего, необходимо объявить две переменные типа int, которые по их смысловой нагрузке лучше назвать graphdriver и graphmode. Graphdriver это тип графического драйвера, которому следует присвоить значение DETECT, что означает автоматическую идентификацию графического драйвера. Graphmode –тип используемого экрана и в этом случае также устанавливается автоматически. Таким образом в описаниях переменных должна быть строка:
int graphdriver=DETECT, grafmode;
Затем необходимо загрузить графический драйвер функцией initgraph():
Initgraph(&graphdriver, &graphmode," ");
Последний аргумент есть путь к графическому драйверу egavga.bgi, и поскольку путь к нему не указан, он будет искаться в текущей директории, куда его надо обязательно положить из директории L:\COMPILE\TCPP\.
Без дополнительных драйверов доступен только режим дисплея VGAHI, в котором количество точек на экране 640x480, количество поддерживаемых цветов 16. Режим устанавливается функцией setgraphmode (int mode). Для рассматриваемого режима mode=VGAHI. За начало координат принят левый верхний угол, нумерация точек ведется от нуля, поэтому нижний правый угол имеет координаты (639,479).
Обязательно необходимо установить окно функцией setviewport(int left, int top, int right, int bottom, int clip), которая также производит очистку экрана. В процессе работы можно очистить экран функцией clearviewport(), которая не имеет аргументов.
Аргументы функции setviewport():
left- левая граница окна,
top- верхняя граница окна,
right- правая граница окна,
bottom - нижняя граница окна,
clip- признак отсечения рисунка при выходе за границы окна (1-отсекается, 0-нет ).
Ниже приводится номера и названия цветов используемые в языке С при количестве цветов 16:
0 - ВLACK– черный,
1 - BLUE– синий (голубой),
2 - GREEN – зеленый,
3 - CYAN– бирюзовый,
4 - RED– красный,
5 - MAGENTA- ярко-красный,
6 - BROWN– коричневый,
7 - LIGHTGRAY- светло-серый,
8 - DARKGRAY- темно-серый,
9 - LIGHTBLUE- светло-голубой,
10 - LIGHTGREEN- светло-зеленый,
11 - LIGHTCYAN- светло-бирюзовый,
12 - LIGHTRED- светло-красный,
13 - LIGHTMAGENTA- светло-ярко-красный,
14 - YELLOW-желтый
15 - WHITE-белый
Все прототипы графических функций находятся в библиотеке graphics.h.