- •1.Учебно-методический комплекс дисциплины
- •Данные о преподавателе:
- •1.2 Данные о дисциплине:
- •Выписка из учебного плана
- •1.3 Пререквизиты
- •1.4 Постреквизиты
- •1.5 Цели и задачи дисциплины
- •1.6 Перечень и виды заданий и график их выполнения
- •Виды заданий и сроки их выполнения
- •1.7 Список литературы
- •1.8 Контроль и оценка знаний.
- •1.9 Политика и процедура курса
- •2 Содержание Активного раздаточного материала
- •2,1 Тематический план курса
- •2.2 Конспект лекционных занятий
- •#Define millenium 1000
- •// Нельзя изменять
- •/* Это моя первая программа на Си*/
- •Void main()
- •Void main ()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main(void)
- •If (логическое выражение) оператор 1;
- •Void main()
- •If (логическое выражение)
- •If (условие 1 )
- •If (условие 1 )
- •If (X) printf ("Число не равно нулю");
- •Void main()
- •Void main(void)
- •Void main()
- •Void main()
- •Int n; // Количество узлов интерполяции
- •Int k; // Номер узла
- •Void main()
- •Vvedi 5 7
- •Int *a; // Указатель на массив целых чисел
- •Void main()
- •Int vect[10], s1[50];
- •Int vect [n];
- •Void main( )
- •Int min; // номер минимального элемента
- •Int random ( int n )
- •Void lin(char a)
- •Void z1(int * X, int * y)
- •Void z1(int*, int*);
- •Int имя переменной;
- •Void main()
- •8 Есть цифра
- •8 Есть буква или цифра
- •Int integ;
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Int ocen;
- •Void main( )
- •File *указатель на файл;
- •Fclose(имя_указателя);
- •Void main()
- •Int h; /*дескриптор создаваемого файла*/
- •Void main()
- •Initgraph(&g_driver,&g_mode," ");
- •Vgamed 1 640x350
- •Vgahi 2 640x480
- •Initwindow ( 400, 300 ); // открыть окно для графики 400 на 300
- •Void main(void)
- •Int g_driver,g_mode,g_error;
- •2.3 Планы лабораторных занятий
- •Планы занятий в рамках самостоятельной работы студентов под руководством преподавателя (срсп).
- •2.5 Планы занятий в рамках самостоятельной работы студентов (срс).
- •2.6 Тестовые задания для самоконтроля с указанием ключей
- •Глоссарий
Void main()
{
Int h; /*дескриптор создаваемого файла*/
char * s="Эта строка будет помещена в файл";
char buf[7]; /*буфер для чтения из файла*/
_fmode=O_BINARY; /*работаем с двоичными файлами*/
if((h=creat("proba.txt",S_IREAD |S_IWRITE))==-1) /*создать файл*/
{
printf("Не удалось открыть файл!\n");
exit(1);
}
write(h,s,strlen(s)); /*записать в файл строку s*/
lseek(h,4,SEEK_SET); /*четвертый байт от начала файла*/
read(h,buf,6); /*читать слово 'строка' (6 байт) из файла*/
buf[6]=0; /*отмечаем конец строки*/
close(h); /*закрыть файл*/
printf("%s\n",buf); /*печать считанной строки*/
}
Наша программа достаточно полно прокоментирована, поэтому мы приводим достаточно краткие пояснения. Программа создает файл прямого доступа и записывает туда последовательность байт (строку). Далее происходит прямое обращение к подстроке этой строки непосредственно в файле. При разборе текста программы обратим читателей на некоторые моменты:
Обработка ошибки создания файла. Действительно, открытие файла может быть не удачным и в хорошая программа должна обрабатывать такие ситуации.
При удачном открытии файла ему отводится дескриптор (уникальное число), по которому затем можно к файлу обращаться.
Наконец не забывайте, что строка только тогда станет строкой, когда в конце стоит код \0.
В заключении нашего рассмотрения файлов отметим, что наше изложение касалось работы с файлами в среде MS DOS. Работа с файлами в ОС Windows несколько отличается от рассмотренного и основывается на использовании специальных функций API (о программировании в Windows см. ниже).
Основная литература: 2[205-208], 3[10 лекция]
Дополнительная литература:1,2,3,5
Контрольные вопросы:
1. Укажите правила открытия файла в языке С.
2. Укажите правила открытия файла в языке С.
3. Основные положения работы с файлами прямого доступа
4.Какик четыре шага необходимы для работв с файлами?
5.Что выполняет данная программа?.
#include<stdio.h>
Void main()
{FILE*fp;
int n,nn,m;
fp=fopen("a.dat","w");
for(n=1;n<11;n++)
fprintf(fp,"%d %d\n",n,n*n);
fclose(fp);
fp=fopen("a.dat","r");
for(n=1;n<11;n++)
{fscanf(fp,"%d %d",&nn,&m);
printf("%d %d\n",m,nn); }
fclose(fp);
getchar();
}
Лекция 14 Работа дисплея в графическом режиме. Функции для подготовки графической системы. Функции для получения изображения
Работа дисплея в графическом режиме
При работе в графическом режиме экран дисплея представляет собой матрицу точек (пикселов - pixel), т.е. матрицу отображаемых точек. При этом число столбцов и строк пикселов (разрешение экрана дисплея) зависит от режима работы видеоадаптера. Можно управлять цветом каждого пиксела, задавая цвета фона, рисунка и заполнения замкнутых областей экрана дисплея.
За начало координат экрана дисплея в графическом режиме принимается верхний левый угол с координатами x=0 и y=0, где x - координата по горизонтали, y - координата по вертикали точки ( пиксела). Во всех примерах программ, приведенных далее по тексту, нулевые координаты присваиваются верхнему левому углу создаваемого графического окна. Содержимое библиотеки графических функций в алгоритмическом языке С подразделяется на немобильную группу функций (функции зависят от типа адаптера) и на мобильную группу функций.
Немобильная группа графических программ представляет собой BGI драйвер (Borland Graphics Interface).
Драйвер - это обработчик прерывания 10h, он должен дополнить системный обработчик до того, как будут использоваться мобильные графические функции. Перед завершением программы таблица векторов прерываний восстанавливается.
Основные функции BGI-драйвера - установка и обновление ряда внешних переменных, которые могут изменяться как функциями системного обработчика прерывания 10h ( например, при переключении видеорежима или при изменении регистров палитры ), так и мобильными функциями библиотеки графики алгоритмического языка Turbo C (TC) или C++.
Для различных типов адаптеров применяются различные драйверы: CGA.BGI - драйвер для CGA и MCGA, EGAVGA.BGI - драйвер для адаптеров EGA,VGA, HERC.BGI - драйвер для монохромных адаптеров Hercules.
Графические функции мобильной группы подразделяются следующим образом:
- функции для подготовки графической системы и перехода в текстовый режим;.
- функции для получения изображений на экране дисплея;.
- функции для установки параметров изображения( вид штриховки, толщина линий и т.д.);
- функции для определения параметров режимов и изображений.
Функции для подготовки графической системы
Перед использованием графических функций необходимо инициализировать систему графики.Графические режимы, поддерживаемые библиотекой графики, задаются символическими константами, описанными в файле <graphics.h> в перечислимом типе graphics_mode.
Инициализация графической системы производится функцией initgraph(), которая загружает графический драйвер и переключает экран дисплея в требуемый графический режим.Прототип функции initgraph:
