Ответы на вопросы к экзамену, страница 6
Описание файла
Документ из архива "Ответы на вопросы к экзамену", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "к экзамену/зачёту", в предмете "информатика" в общих файлах.
Онлайн просмотр документа "Ответы на вопросы к экзамену"
Текст 6 страницы из документа "Ответы на вопросы к экзамену"
Параметр Clip определяет, будет рисунок отсекаться при выходе за границы окна (Clip:= True) или нет (Clip:= False).
После создания окна за точку отсчета принимается верхний левый угол окна, имеющий координаты (0,0)
Очистка окна ClearViewPort.
Атрибуты текущего окна можно получить с помощью процедуры
GetViewSettings(var Vp : ViewPortType).
"Закраска" графического окна – SetFillStyle и SetFillPattern.
Вывод точки
PutPixel(X,Y:integer;Color:word);
где X и Y — экранные координаты расположения точки,
Вывод линии
Line (XI,Y1,Х2,Y2:integer);
где XI, Y1 — координаты начала,
Х2, Y2 — координаты конца линии.
Цвет – SetColor(Color:word),
где Color — Error: Reference source not found
Для черчения линий применяются еще две процедуры:
LineTo(X,Y:integer) строит линию из точки текущего положения указателя в точку с координатами X,Y.
LineRel(dX,dY:integer) проводит линию от точки текущего расположения указателя в точку СРх + dX, СРу + dY, где СРх и СРу —текущие координаты СР(Cursor Point).
Установка стиля – SetLineStyle(LineStyle:word; Pattern:word; Thickness:word).
Параметр LineStyle устанавливает тип строки,
Pattern — образец,
Thickness — толщина линии, определяемая константами, указанными в Error: Reference source not found.
Например: SetLineStyle(DottedLn,0,NormWidth);
44. Модуль Graph.Работа с текстом.
Вывод текста
OutText(Textstring: string)
пример: ОutТехt(‘Вводите данные:’);
OutTextXY(X,Y:integer; TextString:string),
где X, Y — координаты точки начала вывода текста,
TextString — константа или переменная типа string,
пример: OutTextXY(60,100,'Для продолжения нажмите любую клавишу...');
Вывод численных значений
В модуле GRAPH для вывода численных данных нужно сначала преобразовать число в строку с помощью процедуры Str, а затем посредством '+' подключить ее к выводимой OutTextXY строке.
Например:
Мах:=34.56;
Str (Мах:6:2,Smax); {Результат преобразования находится в Smax}
OutTextXY(400,40, ' Максимум = ' + Smax); {+конкатенация}
Установка шрифта.
Установить нужный шрифт можно процедурой
SetTextStyle(Font:word; Direction:word; CharSize:word);
где Font — выбранный шрифт,
Direction — направление (горизонтальное или вертикальное),
CharSize — размер выводимых символов
Выравнивание текста
Выравнивание текста выполняется с помощью процедуры
SetTextJustify(Horiz,Vert:word);
как по вертикали, так и по горизонтали посредством задания параметров Horiz и Vert
45. Модуль Graph.Установка цвета и палитры.
После старта InitGraph вся информация об установленной в зависимости от режима драйвера палитре находится в переменной стандартного типа PaletteType.
Получить информацию о текущей палитре можно с помощью процедуры GetDefaultPalette(var Palette:PaletteType), где Palette — переменная типа PaletteType. Доступ к полям такой же, как и при работе с обычными переменными типа record.
SetColor(Color:word) устанавливает цвет Color, для процедур графического вывода. Пока цвет не определен, для вывода используется цвет с максимальным номер палитры, и фон с минимальным номером. Если Color задает недопустимый номер цвета, текущий цвет остается неизменным.
SetBkColor(Color:word) устанавливает новый цвет фона.
46. Модуль Graph. Построение графических фигур.
Построение прямоугольников
Цвет, стиль и толщина линии для вычерчивания берутся по умолчанию или устанавливаются соответственно процедурами SetColor и SetFillPattern, SetFillStyle (ниже).
Процедура вычерчивания одномерного прямоугольника:
Rectangle(Xl, Y1, Х2, Y2:integer),
где XI, Y1 — координаты левого верхнего угла,
Х2, Y2 — координаты правого нижнего угла прямоугольника. Область внутри прямоугольника не закрашена и совпадает по цвету с фоном.
Построение многоугольников
DrawPoly(NumPointst : word; var PolyPoints)
Параметр PolyPoints является нетипизированным параметром, который содержит координаты каждого пересечения в многоугольнике. Параметр NumPoints задает число координат в PolyPoints. Необходимо помнить, что для вычерчивания замкнутой фигуры с N вершинами нужно передать при обращении к процедуре DrawPoly N+1 координату, где координата вершины с номером n будет равна координате вершины с номером 1. Построение дуг и окружностей
Окружность:
Circle (X, Y, Radius: word);
где X и Y — координаты центра окружности,
Radius — ее радиус.
Пример вывода ярко-зеленой окружности с радиусом 50 пикселей и центром в точке 450,100:
SetColor(LightGreen);
Circle(450,100,50)
Дуга:
Arc (X,Y: integer; StAngle, EndAngle, Radius: word);
где X, Y — центр окружности,
StAngle и EndAngle начальный и конечный yгол в градусах,
Radius — радиус.
Пример:
SetColor(Red);
Arc(450,100,0,90,50);
Эллиптическая дуга:
Ellipse (X,Y:integer; StAngle,EndAngle:word; xR,yR:word);
где X, Y — центр эллипса в дисплейных координатах,
xR и yR — горизонтальная и вертикальная оси.
Фон внутри эллипса совпадает с фоном экрана.
47.Модуль Graph.Работа с фрагментами изображения.
Для определения размера памяти, необходимой для сохранения образа фрагмента служит функция ImageSize (XI, Yl, X2, Y2: Integer):Word, байт.
Сохранение образа фрагмента в памяти выполняется процедурой
GetImage (XI, Yl, X2, Y2: Integer; var BitMap);
Параметры XI, Yl, X2, Y2 определяют прямоугольную область экрана.
Процедура PutImage (X, Y:integer; var bitmap; Oper :word) - выводит из буфера на экран двоичный образ заданной области экрана.
48. Строки: определение, операции со строками, процедуры и функции для обработки строк.
Тип данных STRING (строка) предназначен для обработки строк (цепочек символов).
Обработка строковых данных - необходимый элемент программ, работающих с текстами:
- Программы лингвистического анализа текстов;
- Текстовые редакторы;
- Программы, работающие в диалоговом (интерактивном) режиме;
- Программы, содержащие текстовые пояснения результатов своей работы.
Строка – последовательность символов (от 0 до 255), заключенная в апострофы.
При составлении программ используются строковые константы и строковые переменные.
Строковые константы – элементы данных, значения которых известны заранее, описаны в разделе описания констант и в ходе выполнения программы не изменяются.
Операции со строками
Выражения, в которых операндами служат данные строкового типа - строковые выражения.
Строковые выражения могут состоять из:
- строковых констант;
- строковых переменных;
- знаков операций;
- указателей процедур;
- указателей функций.
Над строковыми данными допустимо выполнять операции сцепления и операции отношения.
Операции сцепления (+) применяются для сцепления нескольких строк в одну результирующую строку, длина которой не должна превышать 250 символов.
Функции для обработки строк
LENGTH (ST) - вычисляет длину в символах строки ST. Результат – целочисленного типа.
Например, при ST, равном ‘длина строки’, выражение LENGTH (ST) дает результат 12.
COPY (ST, POZ, N) – выделяет из строки ST подстроку длиной N символов, начиная с позиции
POZ. POZ, N – целочисленные выражения.
Если POZ > LENGTH (ST), то результатом будет пробел;
Если POZ > 255, возникнет ошибка при выполнении.
Например, при значении ST= ‘ABCDEFG’, выражение COPY (ST,2,3) дает результат ‘BCD’.
CONCAT (STR1, STR2,…, STRN) – выполняет конкатенацию (сцепление) строк STR1,STR2,…,STRN в том порядке, в каком они указаны в списке параметров. Сумма символов всех сцепляемых строк должна быть не более 255.
Например, выражение CONCAT (‘AA’, ’BB’, ’CC’) дает результат ‘AABBCC’.
POS (ST1, ST2) – обнаруживает первое появление в строке ST2 подстроки ST1.
Результат целочисленного типа и равен номеру той позиции, в которой находится первый символ подстроки ST1. Если в ST2 не найдено ST1, то результат равен 0. Например, для значения ST2 ‘ABCDEFGH’ выражение POS (‘DE’,ST2) дает результат, равный 4.
UPCASE (CH) - преобразует строчную букву в прописную. Параметр и результат имеют тип
CHAR. Обрабатывает только буквы латинского алфавита.
Например, для значения CH = ‘f’, выражение UPCASE (CH) дает результат ‘F’.
49.Примеры решения задач обработки строковых данных.
Программа обработки массива строк
program days;
uses CRT;
var
day:array[1..7] of string[10];
i,k:byte;
begin
clrscr;
day[1]:='Sunday';
day[2]:='Monday';
day[3]:='Tuesday';
day[4]:='Wednesday';
day[5]:='Thursday';
day[6]:='Friday';
day[7]:='Saturday';
for i:=1 to 7 do {Цикл для вывода дней недели}
writeln(i,' ',day[i]);
readln;
{Вывод наименования дня недели по номеру}
writeln ('vvedite N dnya');
readln (k);
writeln ('day N ', k, ' ',day[k]);
readln;
end.
Работа с простейшим паролем
Program parol;
uses CRT;
var
name:string[30];
parol:string[6];
begin
clrscr;
writeln('vvedite parol iz 6 simvolov ');
readln(parol);
writeln;
if parol='Pascal' then begin
writeln('Vvedite famil ');
readln(name);
writeln;
writeln(name,', Vam dostup razreshen!');
end
else begin
writeln('Neverniy parol! Dostup zapreshen!');
end;
readln;
end.
50.Записи.
Формат описания типа данных:
TYPE < имя типа > = RECORD
<идентификатор поля> : <тип компонент>;
…
<идентификатор поля> : <тип компонент>;
END;
VAR
<идентификатор,…> : <имя типа>;
Например,
TYPE
STR = RECORD
FAM: STRING [35];
B1, B2, B3, B4, B5: 2..5;
sB: REAL
END;
VAR
ST1, ST2, ST3, ST4: STR;
Запись STR содержит семь компонент: фамилию студента, оценки по пяти предметам, средний балл.
Доступ к полям записи осуществляется через переменные ST1, ST2,ST3 и ST4 типа STR.
Оператор присоединения WITH
Формат оператора присоединения:
WITH < переменная типа запись > DO < оператор >;
FOR I := 1 TO 30 DO
WITH GRUPPA [I] DO
READLN (FAM, B1, B2, B3, B4, B5);
Вложение записей друг в друга:
WITH R1 DO
WITH R2 DO
WITH R3 DO
…
что эквивалентно записи
WITH R1R2R3 DO …
Записи с вариантами
Формат объявления записи с вариантами:
TYPE
ZAP = RECORD
CASE <поле признака >: <имя типа > OF
<константа выбора 1 > : (поле, …: тип);
< константа выбора 2 >: (поле, …: тип);
…
…
END;
Компоненты каждого варианта (идентификаторы полей и их типы) заключаются в круглые скобки
TYPE
Замечания:
- Все имена полей должны отличаться друг от друга, даже если они встречаются в разных вариантах;
- Запись может иметь только одну вариантную часть, причем вариантная часть должна размещаться в конце записи;
- Если поле, соответствующее какой-либо метке, является пустым, то оно записывается так
< метка > : ( ) ;
51.Примеры использования данных типа «запись»
1. Программа для добавления записей в файл данных о дневной температуре воздуха