Реферат: Обучающая программа Графика программированию в графическом режиме на языке turbo-pascal 7.x
2 SetColor(4);
Line(X,Y,X+d,Y);
Line(X,Y,X,Y+d);
Arc(X+k,Y+k,0,90,k);
Arc(X+k,Y+k,270,360,k);
3 SetColor(4);
Line(X,Y,X+d,Y);
Line(X,Y,X,Y+d);
Arc(X+k,Y+k,0,180,k);
4 SetColor(4);
Line(X,Y,X-d,Y);
Line(X-d,Y,X-d,Y+d);
Circle(X-d,Y+d+k,k);
*
03НАПИШИТЕ ПРОГРАММУ ,
ОБЕСПЕЧИВАЮЩУЮ ФОРМИРОВАНИЕ НА ЧЕРНОМ ЭКРАНЕ ЭЛЛИПСА СО СЛУЧАЙНЫМ ЦВЕТОМ
ЗАКРАСКИ.
1 Randomize;
SetFillStyle(0,15);
Ellipse(X,Y,0,359,a,b);
FloodFill(X,Y,Random(14);
2 SetFillStyle(0,15);
Ellipse(X,Y,0,359);
FloodFill(X,Y,Random(14);
3 SetFillStyle(0,15);
Randomize(15);
Ellipse(X,Y,0,359,a,b);
FloodFill(X,Y,Random);
4 SetFillStyle(0,15);
Randomize;
Ellipse(X,Y,a,b);
FloodFill(X,Y);
*
04КАК ПРАВИЛЬНО ЗАДАТЬ
УГЛОВЫЕ ПАРАМЕТРЫ ПРОЦЕДУРЫ Arc?
1 В радианах. Их значения
не должны превышать 2пи.
2 В радианах. Их значения
не должны превышать пи.
3 В градусах. Их значения
не должны превышать 360 градусов.
4 В градусах. Их значения
не должны превышать 180 градусов.
*
05В КАКОМ МОДУЛЕ ОПИСАНА
ПРОЦЕДУРА RANDOMIZE?
1 Graph.
2 Crt .
3 Dos.
4 System.
*
06С ПОМОЩЬЮ КАКОЙ ПРОЦЕДУРЫ
МОЖНО НАРИСОВАТЬ НА ЭКРАНЕ ТОЧКУ
ОПРЕДЕЛЕННОГО ЦВЕТА?
1 PutPixel.
2 KeyPressed.
3 GetPixel.
4 Delay.
*
0
ФОРМИРОВАНИЕ ГРАФИЧЕСКИХ
ТЕКСТОВ
В данном разделе мы
рассмотрим возможность графического изобра-
жения текстовых символов,
управление типом шрифта, направлением
вывода, размерами и
пропорциями символов, пространственной привязкой
текстовых строк к положению
курсора и другими возможностями формиро-
вания графических текстов.
* procedure
SetTextStyle(Font,Direction:word;
*
CharSize:CharSizeType);
Устанавливает стиль
стандартного шрифта Font(один растровый -
DefaultFont(0), и четыре
штриховых - TriplexFont(1),SmallFont(2),
SanSerifFont(3),
GothicFont(4)), направление текстовой строки
Direction (HorizDir(0) -
слева направо, VertDir(1) - снизу вверх),
размер символов CharSize
(коэффициент увеличения от 1 до 10).
В случае растрового
шрифта каждый текстовый символ формируется
на основе матрицы 8*8
элементов разложения. Штриховые шрифты опреде-
ляются серией векторов.
Обычно штриховые шрифты хранятся в отдельных
файлах на системном диске и
при обращении к процедуре загружаются в
динамически определяемую
память компьютера автоматически.
"По
умолчанию", т.е. без обращения к данной процедуре
автоматически
устанавливается растровый шрифт, горизонтальный вывод
и единичный размер символов.
На следующем экране Вы
можете наблюдать примеры стандартных
шрифтов. После названия
каждого из них через запятую указан коэффи-
циент увеличения.
#
1
ФОРМИРОВАНИЕ ГРАФИЧЕСКИХ ТЕКСТОВ
#
ФОРМИРОВАНИЕ ГРАФИЧЕСКИХ ТЕКСТОВ
* procedure
SetUserCharSize(MultX,DivX,MultY,DivY:word);
Используется после
установки штрихового шрифта с целью измене-
ния пропорций символов.
Отношение MultX/DivX -коэффициент масштаби-
рования обычной ширины
используемого архивного штрихового шрифта.
2MultY/DivY - коэффициент
масштабирования высоты шрифта.
#
ФОРМИРОВАНИЕ ГРАФИЧЕСКИХ ТЕКСТОВ
* function
TextHeight(TextString:strig):word;
Возвращает высоту
заданной текстовой строки TextString в элемен-
тах изображения(пикселах) с
учетом всех установок, выполненных ранее
процедурами SetTextStyle и
SetUserCharSize .
* function
TextWidth(TextString:string):word;
Возвращает ширину
заданной текстовой строки TextString при тех
же условиях, что и функция
TextHeight.
* procedure
SetTextJustify(Horiz,Vert:word);
Обеспечивает привязку
выводимого графического текста к теку-
щему положению курсора.
Параметры процедуры описаны в модуле Graph
как константы и могут
принимать следующие значения:
Horiz: LeftText =0 - левым
краем строки к курсору
CenterText=1 -
симметрично к курсору
RightText =2 - правым
краем строки к курсору
Vert: BottomText =0 -
строка над курсором
CenterText =1 -
симметрично к курсору
TopText =2 -
строка под курсором
По
"умолчанию" устанавливается параметр привязки выводимого
графического текста
соответствующий обращению SetTextJustify(0,2);.
#
ФОРМИРОВАНИЕ
ГРАФИЧЕСКИХ ТЕКСТОВ
* procedure
OutText(TextString:string);
Выводит на экран
последовательность символов, начиная с текущей
позиции, которая меняется
только если текст выводится горизонтально
с левым выравниванием. Если
текст не помещается в графическое окно,
он либо вообще не
высвечивается ("грубый" шрифт, принятый по умолча-
нию), либо высвечивается
частично("гладкий" шрифт).Текущий цвет
текста задается процедурой
SetColor . параметры шрифта - процедурами
SetTextStyle SetTextJustify.Коэффициенты
увеличения ширины и высоты
штриховых шрифтов можно
задать процедурой SetUserCharSize. Ширину и
высоту строки определяют с
помощью функций TextWidth TextHeight.
* procedure
OutTextXY(X,Y:integer;TextString);
Выводит на экран последовательность
символов начиная с позиции
(X,Y) и возвращает курсор в
положение, предшествующее обращению к
данной процедуре.
* procedure
GetTextSettings(var TextInfo:TextSettingsType);
Возвращает текущий тип
текстового шрифта,его направление, раз-
мер,параметры
горизонтального и вертикального выравнивания, установ-
ленные ранее процедурами
SetTextStyle и SetTextJustify,либо по умол-
чанию при вхождении в
графический режим. Тип TextSettingsType описан
в модуле Graph как запись,
поля которой - Font,Direction:word;
CharSize:CharSizeType;
Horiz,Vert:word; - по смыслу и типу аналогич-
ны одноименныым параметрам
процедур SetTextStyle и SetTextJustify.
ФОРМИРОВАНИЕ ГРАФИЧЕСКИХ ТЕКСТОВ
В языке Turbo-Pascal
предусмотрена возможность использовать
новые штриховые шрифты,не
входящие в систему фирмы Borland Interna-
tional, но совместимых с
этой системой по файловой форме представле-
ния. Для этого необходимо
файлы новых шрифтов, которые должны иметь
расширение .chr,
предварительно загрузить в каталог, содержащий файл
Turbo.exe интегрированной
среды Turbo-Pascal, а в прикладной
программе использовать
функцию InstallUserFont.
* function
InstallUserFont(NewFont:string):integer;
Инсталлирует новый
штриховой шрифт, т.е.вводит во внутреннюю
таблицу шрифтов имя файла
нового шрифта NewFont и возвращает номер
этого шрифта в указанной
таблице для использования в качестве значе-
ния параметра Font
процедуры SetTextStyly.
Внутренняя таблица
может содержать до 10 имен шрифтов, из
которых 4 стандартных в ней
содержатся постоянно. В файловой системе
лабораторных компьютеров
содержатся файлы 4 нестандартных штриховых
шрифтов с именами: Bold.chr,
Goth.chr, Sans.chr,Trip.chr.
Если внутренняя
таблица штриховых шрифтов переполнена, то
функция возвращает значение
0 и, следовательно, устанавливается
стандартный растровый шрифт.
Для сброса внутренней таблицы шрифтов в
исходное положение можно
заново перезапустить операционную систему.
На следующем экране
Вы можете наблюдать примеры четырех нес-
тандартных штриховых
шрифтов, упомянутых в данном разделе.
#
ФОРМИРОВАНИЕ ГРАФИЧЕСКИХ ТЕКСТОВ
3
0
01КАКИЕ ВОЗМОЖНОСТИ ,
СВЯЗАННЫЕ С НАПРАВЛЕНИЕМ ВЫВОДА ТЕКСТОВОЙ
ИНФОРМАЦИИ, ДАЕТ
ГРАФИЧЕСКИЙ РЕЖИМ?
1 Возможен только
горизонтальный вывод.
2 Возможен как
горизонтальный так и вертикальны выводы.
3 Горизонтальный,
вертикальный и вывод по горизонтали.
4 Имеется возможность
горизонтального вывода для всех шрифтов и
для растрового -
вывод по вертикали.
*
02УСТАНАВЛИВАЮТСЯ ЛИ ТИП
СТАНДРАТНОГО ШРИФТА, НАПРАВЛЕНИЕ ТЕКСТОВОЙ
СТРОКИ И РАЗМЕР СИМВОЛОВ
ОДНОЙ ПРОЦЕДУРОЙ?
1 Нет. Эти параметры
устанавливаются разными процедурами:
InstallUserFont; -
стандартный шрифт
TextWidth; - размер
символов
OutText; - направление
вывода
2 Да. Эти параметры
устанавливаются с помощью одной процедуры,
InstalUserFont;
3 Да. Перечисленные
параметры устанавливаются с помощью процедуры
SetTextStyle;
4 Нет. В языке нет
возможности устанавливать шрифт, направление
строке и размер
символов.
*
03МОЖНО ЛИ ИЗМЕНИТЬ
ПРОПОРЦИИ СИМВОЛОВ ЛЮБОГО ШРИФТА И ЕСЛИ МОЖНО, ТО
С ПОМОЩЬЮ КАКОЙ ПОЦЕДУРЫ?
1 Нет. Пропорции
символов предусмотрены шрифтом и изменить их
нельзя .
2 Можно. С помощью
процедуры SetUserCharSize .
3 Можно изменить
пропорции только штрихового шрифта с помощью
процедуры
SetUserCharSize.
4 Можно. С помощью
процедуры SetTexStyle.
*
04ЧЕМ ОТЛИЧАЮТСЯ ПРОЦЕДУРЫ
OutText и OutTextXY?
1 Ничем. Они полностью
аналогичны.
2 Процедуры отличаются
привязкой выводимого текста.
3 Процедуры отличаются
привязкой выводимого текста и положением
курсора после
выполнения процедур.
4 Процедура OutText
осуществляет вывод символьной строки с
текущего положения
курсора, а процедура OutTextXY обеспечивает
привязку графического
текста без его вывода.
*
05СОСТАВИТЬ ПРОГРАММУ ВЫВОДА
СЛОВА "ПРОГРАММА" ПО НИЖНЕЙ КРОМКЕ БЕЛОГО ЭКРАНА РАСТРОВЫМ ШРИФТОМ
ЗЕЛЕНОГО (2) ЦВЕТА РАЗМЕРА 6.
1 SetBkColor(15);
SetColor(2);
SetTextStyle(1,0,6);
OutTextXY(0,GetMaxY,'ПРОГРАММА');
2 SetBkColor(15);
SetColor(2);
SetTextStyle(0,1,6);
OutTextXY(GetMaxX,0,'ПРОГРАММА');
3 SetBkColor(15);
SetColor(2);
SetTextStyle(0,6,1);
OutTextXY(0,GetMaxY,'ПРОГРАММА');
4 SetBkColor(15);
SetColor(2);
SetTextStyle(0,0,6);
OutTextXY(0,GetMaxY,'ПРОГРАММА');
*
06СОСТАВИТЬ ПРОГРАММУ
ГОРИЗОНТАЛЬНОГО ВЫВОДА СЛОВА "КЛАСС" В ВИДЕ
СТРОКИ ДЛИНОЙ 300 ПИКСЕЛОВ
С ИСПОЛЬЗОВАНИЕМ ГОРИЗОНТАЛЬНО
ДЕФОРМИРОВАННОГО
СТАНДАРТНОГО ШТРИХОВОГО ШРИФТА SanserifFont
КРАСНОГО (4) ЦВЕТА РАЗМЕРА
10.
1 SetColor(4);
SetTextStyle(SanSerifFont,HorizDir,10);
K:=TextWidth('КЛАСС');
SetUserCharSize(300,K,1,1);
2 SetColor(4);
SetTextStyle(SanSerifFont,VertDir,10);
K:=TextWidth('КЛАСС');
SetUserCharSize(300,K,1,1);
3 SetColor(4);
SetTextStyle(SanSerifFont,Horizdir,10);
K:=TextHeight('КЛАСС');
SetUserCharSize(1,1,300,K);
4 SetColor(4);
SetTextStyle(HorizDir,SanSerifFont,10);
K:=TextWidth('КЛАСС');
SetUserCharSize(300,K,1,1);
*
07СОСТАВИТЬ ПРОГРАММУ
ВЕРТИКАЛЬНОГО ВЫВОДА СЛОВА "ПАСКАЛЬ" В ВИДЕ
СТОЛБЦА ШИРИНОЙ 80
ПИКСЕЛОВ, ИСПОЛЬЗУЯ ВЕРТИКАЛЬНО-ДЕФОРМИРОВАННЫЙ СТАНДАРТНЫЙ ШТРИХОВОЙ ШРИФТ
SmallFont СИНЕГО(1) ЦВЕТА РАЗМЕРА 5.
1
SetTextStyle(SmallFont,0,5);
SetColor(1);
L:=TextHight('ПАСКАЛЬ');
SetUserCharSize(1,1,80,L);
OutTextXY(10,200,'ПАСКАЛЬ');
2
SetTextStyle(SmallFont,1,5);
SetColor(1);
L:=TextHight('ПАСКАЛЬ');
SetUserCharSize(80,L,1,1);
OutTextXY(10,200,'ПАСКАЛЬ');
3
SetTextStyle(SmallFont,1,5);
SetColor(1);
L:=TextHeight('ПАСКАЛЬ');
SetUserCharSize(1,1,80,L);
OutText('ПАСКАЛЬ');
4
SetTextStyle(1,5,SmallFont);
SetColor(1);
L:=TextHeight('ПАСКАЛЬ');
SetUserCharSize(1,1,80,L);
OutText('ПАСКАЛЬ');
*
08СКОЛЬКО НЕСТАНДАРТНЫХ
ШРИФТОВ МОЖНО ИСПОЛЬЗОВАТЬ ПРИ РАБОТЕ С ГРАФИ ЧЕСКИМИ ТЕКСТАМИ?
1 Сколько угодно.
2 11 шрифтов.
3 Столько, сколько
файлов нестандартных шрифтов содержится в
Вашем компьютере.
4 В Turbo-Pascal не
предусмотрена возможность использования
шрифтов , не входящих
в систему фирмы Borland International.
*
09СКОЛЬКО ИМЕН РАЗЛИЧНЫХ
ШРИФТОВ МОЖЕТ СОДЕРЖАТЬ ВНУТРЕННЯЯ ТАБЛИЦА ШРИФТОВ И СКОЛЬКО ИЗ НИХ
НЕСТАНДАРТНЫХ?
1 Не более 6, из них
нестандартных - не более 2.
2 Не более 10, из них
нестандартных - не более 6.
3 Не более 11, из них
нестандартных - не более 7.
4 Не более 10, из них
нестандартных - не более 4.
*
10КАКАЯ ПРОЦЕДУРА
ИНСТАЛЛИРУЕТ НОВЫЙ ШТРИХОВОЙ ШРИФТ?
1 InstallUserFont;
2 GetTextSettings.
3 SetUserCharSize.
4 SetTextJustify.
*
0
011Ответ неверный. В Turbo-Pascal имеется возможность не только 002
горизонтального , но и
вертикального вывода.
*
2Ответ
правильный. 005
*
3Ответ неверный. В языке
нет возможности вывода графического текста 002
в направлении по
горизонтали.
*
4Ответ неверный.
Ограничений на тип шрифта для осуществления 002
вертикального вывода нет.
*
*
021Ответ неверный.
Перечисленные процедуры выполняют другие функции. 002
*
2Ответ неверный. Процедура
InstallUserFont инсталлирует новый 002
нестандартный шрифт.
*
3Ответ
правильный. 005
*
4Ответ неверный. Такая
возможность есть. 002
*
*
031Ответ неверный. Пропорции
символов увличить можно. 002
*
2Ответ неточный.Процедура
SetUserCharSize изменяет пропорции символов004
после установки
штрихового шрифта процедурой SetTextStyle.
*
3Ответ правильный.
005
*
4Ответ неверный. Процедура
SetTextStyle устанавливает тип шрифта, но 002
не устанавливает
пропорции символов.
*
*
041Ответ неверный. Эти
процедуры отличаются привязкой выводимого текста002
и положением курсора
после их выполнения.
*
2Ответ неполный. Процедуры
отличаются не только привязкой выводимого 004
графического текста, но и
положением курсора после их выполнения
*
3Ответ
правильный. 005
*
4Ответ неверный. Обе
процедуры обеспечивают вывод символьной строки, 002
однако отличаются местом
привязки выводимой строкви и положением
курсора после их
выполнения.
*
*
051Ответ неверный. Чтобы
вывести строку растровым шрифтом следует 002
параметры процедуры
SetTextStyle выбрать иначе.
*
2Ответ неверный. Параметры
процедуры SetTextStyle указывают на то, 002
что строка будет выведена
не по нижней кромке, а вертикально, снизу
вверх. Кроме того
координаты начальной точки вывода в процедуре
OutTextXY соответствуют
правому верхнему углу экрана и значит
надпись не будет
выведена.
*
3Ответ неверный. Неверно
указаны параметры процедуры SetTextStyle 002
Стандартного шрифта с
номером 6 не существует.
*
4Ответ
правильный. 005
*
*
061Ответ
правильный. 005
*
2Ответ неверный. Данный
фрагмент программы будет обеспечивать не 002
горизонтальный, в
вертикальный вывод текста .
*
3Ответ неверный. Данный
фрагмент программы будет обеспечивать не 002
горизонтальную, а
вертикальную деформацию вывдимой строки.
*
4Ответ неверный. Ошибка в
употреблении параметров процедуры 002
SetTextStyle.
*
*
071Ответ неверный. Строка,
выводимая с помощью данного фрагмента прог- 002
раммы будет располагаться
горизонтально, а не вертикально как тре-
бует задание.
*
2Ответ неверный.С помощью
данного фрагмента программы будет проведена002
горизонтальная деформация
относительно первоначальной высоты
символов.
*
3Ответ
правильный. 005
*
4Ответ неверный.
Неправильно указаны значения параметров процедуры 002
SetTextStyle.
*
*
081Ответ неверный.
Использовать можно столько нестандартных шрифтов, 002
сколько файлов с такими
шрифтами содержится в Вашем компьютере.
*
2Ответ неверный.
Использовать можно стольконестандартных шрифтов, 002
сколько файлов с такими
шрифтами содержится в Вашем компьютере.
*
3Ответ
правильный. 005
*
4Ответ неверный . Такая
возможность имеется . 002
*
*
091Ответ неврный. Таблица
может содержать до 10 шрифтов, из них 6 002
нестандартных.
*
2Ответ
правильный. 005
*
3Ответ неверный. Таблица
может содержать до 10 шрифтов, из них 6 002
нестандартных.
*
4Ответ неверный. Таблица
может содержать до 10 шрифтов, из них 6 002
нестандартных.
*
*
101Ответ
правильный. 005
*
2Ответ неверный. Процедура
GetTextSettings возвращает текущий тип 002
текстового шрифта.
*
3Ответ неверный. Процедура
SetUserCharSize используется для изменения002
пропорций символов.
*
4Ответ неверный. Процедура
SetTextJustify обеспечивает привязку 002
выводимого текста к
текущему положению курсора.
*
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
|