- •1.2. Правила записи программ на языке с
- •1.3 Правила формального описания синтаксиса языка программирования
- •1.5.3. Описание данных в языке с
- •1.5.4 Правила записи констант различных типов
- •1.5.5. Символьные строки
- •Глава 2. Понятие функции
- •2.1. Стандартная функция printf
- •2.2. Стандартная функция scanf
- •Перед каждым аргументом, не являющимся строкой (адресом) ставится знак & и трактуется как вычисление адреса.
- •2.3. Стандартные математические функции
- •2.4. Простейшие функции, определяемые программистом
- •3.5. Дополнительные арифметические операции
- •3.6. Дополнительные операции присваивания
- •3.7. Битовые операции
- •3.8. Операторы отношения
- •Глава 4. Структурное программирование и язык с
- •4.2. Операторы языка с
- •4.3. Оператор цикла while
- •4.4. Оператор цикла do – while (цикл с постусловием)
- •4.5. Условный оператор и условная операция
- •4.6. Оператор цикла for (цикл с известным числом повторений)
- •4.7. Запись алгоритмов при помощи диаграмм Несси-Шнейдермана
- •4.8. Оператор прерывания цикла
- •4.9. Оператор продолжения цикла (continue)
- •4.10. Множественный выбор
- •Глава 5. Типовые приемы в программировании
- •5.1. Использование счетчиков
- •5.2. Вычисление суммы и произведения.
- •5.3. Вычисление минимума и максимума последовательностей.
- •5.4. Использование флагов
- •Глава 6. Простейшая графика
- •6.1.Графические режимы
- •6.2. Идеология bgi и WinBgi
- •6.3.Основные графические функции
- •6.3.1. Управление графическими режимами
- •6.3.2. Графические примитивы
- •6.3.3. Установки и их проверка
- •6.3.4. Работа с текстом
- •Глава 7. Модульное программирование
- •7.2. Библиотеки функций
- •Глава 8. Массивы
- •8.1. Описание массива
- •8.2. Ввод – вывод массивов
- •8.3. Инициализация массива
- •8.6. Двумерные массивы
- •8.6.1. Инициализация двумерного массива
- •8.7. Многомерные массивы
- •Глава 9. Работа с файлами
- •9.1. Открытие и закрытие файлов
- •Глава 10. Структуры языка с
- •10.1. Описание структур
- •10.2. Трактовка имени структуры
- •10.2.1. Доступ к полям структуры
- •10.3. Инициализация структур
- •10.4. Структуры и функции
- •10.5. Поля бит в структурах
- •10.6. Объединение
- •Глава 11. Дополнительные сведения о функциях
- •11.1. Области видимости.
- •Глава 12. Анимация
- •Глава 13. Рекурсия
- •13.1. Понятие рекурсии
- •13.2. Вычисление факториала
- •13.3. Числа Фибоначчи
- •13.4. Замена итерационных алгоритмов рекурсивными
- •13.5. Применение рекурсии в графике
5.4. Использование флагов
Часто в программах надо фиксировать факт наступления каких либо событий. Для этого используются флаги. Т.е. значение логического и целого типа.
Пример: с клавиатуры вводятся сведения об экзаменационных оценках группы студентов. Признаком завершения ввода является ввод всех отрицательных оценок для очередного студента. Считаем, что в сессию было 3 экзамена. Найти средний балл по дисциплине, средний балл по каждому студенту, а также узнать были ли круглые отличники.
int m1,m2,m3,s1,s2,s3,s,n,f;
n=f=s1=s2=s3=0;
do
{
prinf(“\nVvedite chislo stydentov(3 chel)”);
scanf(“%d%d%d”,&m1,&m2,&m3);
if((m1<0)||(m2<0)||(m3<0)) break;
n++;
s1+=m1;
s2+=m2;
s3+=m3;
prinf(“Avarage iz %lf\n”,(m1+m2+m3)/3.0);
if((m1+m2+m3)==15) printf(“Otlichnik”);
f=1;
}
while(1);
printf(“Avarage1=%lf/n Avarage2=%lf/n Avarage3=%lf/n”,double(s1/n),double(s2/n),double(s3/n);
if f printf(“были”)
else printf(“ne bilo”)
Глава 6. Простейшая графика
6.1.Графические режимы
Консольный режим предполагает вывод информации в текстовом виде. Существует ряд текстовых режимов работы видеокарты. В текстовом режиме минимальным элементом экрана является знакоместо. Экран представляет собой матрицу знакомест. В каждом знакоместе может быть расположен лишь один знак, включая пробел.
Один из распространенных текстовых режимов – 80*25. Первым шагом к графическому интерфейсу можно считать псевдографику.
Графический режим характеризуется тем, что управление экраном происходит попиксельно.
6.2. Идеология bgi и WinBgi
В 80-х годах, одной из крупнейших фирм по производству сред ПО была Borland. У нее были продукты Borland (Turbo) Pascal и Borland (Turbo) C++. У этих продуктов была общая графическая библиотека. Она называлась Borland Graphical Interface.
В BGI имеется ряд драйверов для работы в различных графических режимах и набор типов и функций для управления экраном в графическом режиме. С развитием графических операционных систем, работающих в защищенном режиме, не позволяют прикладному программисту управлять машиной в целом и графической картой в частности. Поэтому BGI не может работать в таких условиях. Поэтому созданы различные библиотеки для работы в графическом окне. И одна из таких библиотек – WinBGI, которая реализует все функции BGI и предоставляет ряд дополнительных, но работает в графическом окошке.
Все графические примитивы в BGI и WinBGI изображается с «текущими настройками». Все элементы располагаются в один слой, поэтому когда происходит вывод примитивов поверх текущего изображения, то пиксели затираются.
6.3.Основные графические функции
6.3.1. Управление графическими режимами
Для перехода в графический режим в BGI используется функция initgraph (int *graphdriver, int graphmode, char *paintdriver).
Для подключения графического режима надо использовать <graphics.h>. Также может понадобиться включение в проект некоторых cpp-файлов.
int initwindow(int width; int height; const char title=”windows BGI”…); //инициализирует графическое окно
После завершения работы нрафики, графические функции следует закрыть с помощью функции void closegraph(int wind ALL_WINDOW)
void cleardevice //очистка текущего окошка