- •Вопросы к экзамену в январе
- •Понятие массива. Описание, ввод, вывод.
- •Понятие линейного списка: формирование, поиск.
- •Понятие линейного списка: вывод, бинарный поиск.
- •Сортировка меторавнениядом «пузырька
- •Сортировка методом простого выбора
- •Понятие строки. Основные операции над строкой.
- •Графический режим в Паскале. Работа монитора в графическом режиме.
- •Цвета в операторах задаются с помощью своих кодов:
- •Основные графические примитивы.
- •Основы графической анимации в Паскале.
- •Текстовые файлы: строение, создание и запись в текстовый файл.
- •11.Текстовые файлы: строение, чтение данных из текстовых файлов.
- •12. Типизированные файлы: строение, создание и запись в типизированный файл.
- •13. Типизированные файлы: строение, чтение данных из типизированных файлов.
- •14. Записи: описание, обращение к полям, ввод и вывод записей.
- •15. Описание модулей. Создание tpu модуля. Разделы interface и implementation.
Цвета в операторах задаются с помощью своих кодов:
0 – черный; 4 – красный; 8 – темно-серый; 12 – ярко-красный; 1 – синий; 5 – пурпурный; 9 – ярко-синий; 13 – ярко-пурпурный; 2 –зеленый; 6 – коричневый; 10 – ярко-зеленый; 14 – желтый; 3 – бирюзовый; 7 – светло-серый; 11 – ярко-бирюзовый; 15 – белый.
Цифровое кодирование цвета соответствует последовательности IRGB для 0-3 битов. Бит 3 – бит интенсивности I, бит 2 – бит красного R, бит 1 – бит зеленого G, бит 0 – бит синего B. Например, 11=8+2+1, т.е. биты 3,1,0 – интенсивный сине-зеленый (бирюзовый). Основные графические операторы для построения изображений: PutPixel (X, Y, цвет) - вывод точки на экран, где X, Y - координаты точки ; Line ( X1, Y1, X2, Y2 ) - проводит линию из точки с координатами (X1, Y1 ) в точку с координатами ( X2, Y2 ); Rectangle (X1, Y1, X2, Y2 ) - прямоугольник со сторонами, параллельными осям координат; (X1, Y1) и (X2, Y2) - координаты, определяющие одну из диагоналей прямоугольника ; Bar ( X1, Y1, X2, Y2 ) - закрашенный прямоугольник (без окантовки); Circle ( X, Y, радиус ) – на экран выводится окружность с центром в точке ( X, Y )(тип integer) ; Arc (X, Y, начальный угол, конечный угол, радиус) - на экран выводится дуга окружности с центром в точке (X, Y ); углы задаются в градусах; дуга рисуется ПРОТИВ часовой стрелки; Ellipse ( X, Y, начальный угол, конечный угол, горизонтальный радиус, вертикальный радиус) - на экран выводится эллиптическая дуга с центром в точке с координатами ( X, Y ) (тип integer); SetFillStyle (заполнение, цвет) – определение вида и цвета заполнения области; FloodFill (x, y, цвет границы) – заливка замкнутой области.
В графическом режиме изображение на экране строится из пикселов. Пиксел имеет координаты (X и Y) и цвет (по умолчанию белый). Координаты отсчитываются с левого верхнего угла, т.е. пиксел, расположенный в верхнем левом углу имеет координаты (0,0). Для того чтобы включить графический режим в Паскале необходимо подключить его в разделе объявления дополнительных модулей (USES). В первом уроке по графическому режиму в Паскаль мы научимся запускать графический режим и выводить на экран точку. Program graphika1;uses crt, graph; var gd, gm:integer; color: byte; begin gd:=detect; initgraph (gd,gm, ‘’); if graphresult<>grok then halt(1); randomize; repeat color:=random(15); putpixel (random (100), random(100), color); delay (10) until keypressed; closegraph end.
Основные графические примитивы.
1.procedure SetPixel(x,y,color: integer); Закрашивает один пиксел с координатами (x,y) цветом color. 2.function GetPixel(x,y): integer; Возвращает текущее значение цвета для пиксела с координатами (x,y). 3.procedure MoveTo(x,y: integer); Передвигает невидимое перо к точке с координатами (x,y); эта функция работает в паре с функцией LineTo(x,y). 4.procedure LineTo(x,y: integer); Рисует отрезок от текущего положения пера до точки (x,y); координаты пера при этом также становятся равными (x,y). 5.procedure Line(x1,y1,x2,y2: integer); Рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2). 6.procedure Circle(x,y,r: integer); Рисует окружность с центром в точке (x,y) и радиусом r. 7.procedure Ellipse(x1,y1,x2,y2: integer); Рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2). 8.procedure Rectangle(x1,y1,x2,y2: integer); Рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2). 9.procedure RoundRect(x1,y1,x2,y2,w,h: integer); Рисует прямоугольник со скругленными краями; (x1,y1) и (x2,y2) задают пару противоположных вершин, а w и h – ширину и высоту эллипса, используемого для скругления краев. 10.procedure Arc(x,y,r,a1,a2: integer); Рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки). 11.procedure Pie(x,y,r,a1,a2: integer); Рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc). 12.procedure Chord(x,y,r,a1,a2: integer); Рисует фигуру, ограниченную дугой окружности и отрезком, соединяющим ее концы (параметры процедуры имеют тот же смысл, что и в процедуре Arc). 13.procedure TextOut(x,y: integer; s: string); Выводит строку s в позицию (x,y) (точка (x,y) задает верхний левый угол прямоугольника, который будет содержать текст из строки s). 14.procedure FloodFill(x,y,color: integer); Заливает область одного цвета цветом color, начиная с точки (x,y). 15.procedure FillRect(x1,y1,x2,y2: integer); Заливает прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2), цветом текущей кисти. 16.procedure Polygon(var a; n: integer); Строит ломаную по n точкам, координаты которых заданы в массиве a элементов типа Point. 17.procedure Polyline(var a; n: integer); Строит замкнутую ломаную по n точкам, координаты которых заданы в массиве a элементов типа Point.