- •М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. Разбиение материала на модули
- •Список литературы
13.2. Наиболее употребляемые графические функции.
Цвет фона устанавливается функцией setbkcolor(int сolor), где аргумент - это номер или имя цвета, рекомендуется использовать имя цвета, т.к. это позволяет не запоминать нумерацию, например:
setbkcolor(LIGHTBLUE);
Функция putpixel (int x, int y, int color)ставит точку с координатами (x,y) цвета color, например:
putpixel(5,15,RED);
Цвет вычерчиваемых линий определяется функцией setcolor(int color).
Тип вычерчиваемых линий определяется функцией setlinestyle(int linestyle, unsigned upattern, int thickness), здесь linestyle определяет форму линии, которая может быть:
SOLID_LINE - сплошной,
DOTTED_LINE- точечной,
DASHED_LINE- пунктирной,
upattern задается не равной нулю, если нужно задать свою форму, thickness определяет толщину линии:
NORM_WIDTH- нормальная,
THICK_WIDTH - толстая.
Функция line(int x1,int y1,int x2,int y2) соединяет линией точки (x1,y1) и (x2,y2), например:
line (5,15,40,120);
Функция bar(int left, int top, int right, int bottom) рисует прямоугольник, смысл аргументов такой же как у функции setviewport(), заполнение прямоугольника определяется функцией setfillstyle(int рattern,int сolor), где сolor - цвет заполнения, а рattern тип заполнения. Возможны следующие основные типы заполнения:
EMPTY_FILL- не заполняется,
SOLID_FILL- сплошное заполнение заданным цветом,
LINE_FILL - заполнение прерывающейся линией ----,
LTSLASH_FILL - заполнение наклонной линией ///,
LTBKSLASH_FILL- заполнение наклонной линией \\\.
Пример:
setfillstyle(SOLID_FILL,WHITE);
bar(34,25,125,75);
Функция bar3d(int left, int top, int right, int deрth, int topflag) рисует прямоугольный параллелепипед, где аргумент deрth определяет третье измерение, а topflag - необходимость вычерчивания верхней поверхности (1 - нужно вычерчивать).
Функция circle(int x,int y,int radius) рисует окружность с центром в точке (x,y) и радиусом radius.
Функции arc(), ellipse(), fillpoly() - рисуют, соответственно, дугу, эллипс и многоугольник, информацию об их аргументах и о многих других функциях можно получить из редактора языка Си, подведя курсор на имя интересующей функции и нажав Ctrl-F1.
Функция floodfill(int x, int y, int border) заполняет область экрана, ограниченную любой замкнутой линией, здесь border цвет этой линии. (x,y) любая точка заполняемой области. Цвет и тип заполнения определяется функцией setfillstyle().
Функция outtextxy(int x, int y, char far *textstring) выводит в точку (x,y) заданный текст, цвет букв определяется функцией setcolor(), а графика, направление надписи и размеры - функцией settextstyle(int font, int direction, int charsize).
В конце программы нужно обязательно закрыть графический режим функцией closegraph().
13.3. Примеры программ использующих графический режим. Разноцветные концентрические кольца.
#include <graphics.h>
#include <conio.h>
Void main()
{ int graphdriver=DETECT,graphmode,i;
Initgraph(&graphdriver,&graphmode," ");
setgraphmode(VGAHI);
clearviewport();
setviewport(0,0,640,449,0);
setbkcolor(BLACK);
setcolor(WHITE);
for(i=0;i < 16;i++)
{ circle(320,240,10*(i+1));
setfillstyle(SOLID_FILL,i);
floodfill(325+10*i,240,WHITE);
}
getch();
closegraph();
}
Программа рисует концентрические кольца всех 16-ти цветов, функция getch(), как указывалось выше, прерывает выполнение программы до нажатия любой клавиши, позволяя сохранять графический рисунок на экране нужное время.