Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Задачник-практикум по основам программирования. Учебное пособие по курсу «Информатика»

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

 

Окончание табл.

 

 

Èìÿ

Назначение

 

 

trunc

Целая часть вещественного аргумента

 

 

 

Дополнительные функции

 

 

Èìÿ

Назначение

 

 

frac

Дробная часть аргумента

int

Целая часть аргумента

pi

Число π

random

Получение случайного числа

 

Процедуры ввода / вывода

 

 

Èìÿ

Назначение

 

 

read

Ввод данных

 

 

readln

Ввод данных и пропуск информации до начала

 

следующей строки ввода

write

Вывод данных

writeln

Вывод данных и переход на новую строку вывода

 

Дополнительные процедуры

 

 

Èìÿ

Назначение

 

 

dec

Уменьшение значения переменной

 

 

inc

Увеличение значения переменной

 

 

randomize

Инициализация генератора случайных чисел

 

 

Функция abs

function abs(X: < вещественный или целый тип >): < вещественный или целый тип >;

Возвращает абсолютное значение аргумента. Тип результата совпадает с типом аргумента.

Функция arctan

function arctan (X: real): real;

Вычисляет значение арктангенса аргумента в радианах. Результат (значение угла в радианах) находится в пределах от π/2 до π/2.

171

Функция chr

function chr(X: < целый тип >): char;

X код символа.

Возвращает символ c кодом X.

Если значение X больше 255, то возникает ошибочная ситуация.

Функция cos

function cos (X: real): real;

X угол в радианах.

Вычисляет значение косинуса аргумента.

Функция exp

function exp (X: real): real;

Вычисляет экспоненту значение показательной функции с основанием e.

Функция frac

function frac (X: real): real;

Выделяет дробную часть аргумента.

Функция inc

function inc (X: real): real;

Выделяет целую часть аргумента без преобразования типа.

Функция ln

function ln (X: real): real;

Вычисляет значение натурального логарифма аргумента.

Функция odd

function odd (X: < целый тип >): boolean;

X целое число, проверяемое на нечетность.

Возвращает значение TRUE (ИСТИНА), если X нечетное число, и значение FALSE (ЛОЖЬ), если четное.

Функция ord

function ord(X: < порядковый тип >): < целый тип >;

Возвращает порядковый номер аргумента X в множестве, определяе- мом порядковым типом. Диапазон значений функции изменяется от 0 до

32767.

172

Функция pi

function pi: real;

Возвращает значение числа π = 3.14159265358979...

Функция pred

function pred (X: < порядковый тип >): < порядковый тип >;

Возвращает предыдущее значение (элемент, предшествующий X в списке значений типа).

Если предыдущего значения нет, возникает ошибочная ситуация.

Функция random

function random [(range: < целый тип >)]:

< целый или вещественный тип >;

Генерирует случайное (псевдослучайное) целое число X в пределах

0 X < range.

Если параметр range отсутствует, то возвращается вещественное случайное число X в пределах 0.0 X < 1.0.

Перед обращением к функции random ее следует инициализировать, используя процедуру randomize. Для получения «более случайного» чис- ла следует периодически менять базу генерации, обращаясь к процедуре randomize.

Функция round

function round (X: real): < целый тип >;

Округляет вещественное значение до целого.

Функция sin

function sin (X: real): real;

X угол в радианах.

Вычисляет значение синуса аргумента.

Функция sqr

function sqr(X: < вещественный или целый тип >): < вещественный или целый тип >;

Вычисляет значение квадрата аргумента. Тип результата совпадает с типом аргумента.

173

Функция sqrt

function sqrt (X: real): real;

Вычисляет значение квадратного корня аргумента.

Функция succ

function succ (X: < порядковый тип >): < порядковый тип >;

Возвращает следующее значение (элемент, следующий за X в списке значений типа).

Если следующего значения нет, возникает ошибочная ситуация.

Функция trunc

function trunc (X: real): < целый тип >;

Выделяет целую часть вещественного числа путем отбрасывания дробной части.

Процедура dec

procedure dec (var X[; dx: < целый тип >]);

X переменная порядкового типа.

Уменьшает значение переменной X на величину dx.

Если параметр dx не задан, то переменная X принимает свое пред- шествующее значение.

Если переменная X не может принимать вычисленное значение, то возникает ошибочная ситуация.

Процедура inc

procedure inc (var X[; dx: < целый тип >]);

X переменная порядкового типа.

Увеличивает значение переменной X на величину dx.

Если параметр dx не задан, то переменная X принимает свое следу- ющее значение.

Если переменная X не может принимать вычисленное значение, то возникает ошибочная ситуация.

Процедура randomize

procedure randomize;

Инициализирует встроенный генератор случайных чисел текущим системным временем.

174

Значения случайных чисел можно получить с помощью функции random.

Процедура read

read (V1[, V2,..., Vn])

V1, V2,..., Vn параметры ввода.

Ввод данных (данные вводятся с клавиатуры) в одну или несколько переменных.

Параметрами ввода должны быть переменные символьного, целого или вещественного типа.

Если значение вводится в числовую переменную, то предшествующие числу пробелы и маркеры строк пропускаются.

Возможна ошибочная ситуация (ошибка ввода) в случае неправильного задания вводимого числа.

Процедура readln

readln ([V1, V2,..., Vn])

V1, V2,..., Vn параметры ввода.

Процедура, как и read, используется для ввода (чтения значений), а по- том осуществляет пропуск информации до начала следующей строки ввода.

Процедура write

write (P1[, P2,..., Pn])

P1, P2,..., Pn параметры вывода. Выводит на экран одно или несколько значений.

Параметрами вывода могут быть константы, переменные и выраже-

ния.

Для каждого типа данных существует стандартный формат вывода, зависящий от компилятора. Чтобы изменить стандартный формат необхо- димо использовать форматированный вывод.

Форматы вывода:

Для любых типов: write(P: m), где m ширина поля вывода. Если результат не помещается в указанные позиции, то формат иг-

норируется. Вещественные числа в этом формате выводятся в экспонен- циальной форме.

Для вещественного типа: write(P: m: n), где m ширина поля вывода, n количество цифр в дробной части.

175

Параметр m задает минимальное число символов, необходимых для вывода значения выражения e, представляющего число, символ, булевское значение или строку. Если для представления требуется менее m символов, то добавляются пробелы и выводимая информация выравнивается по пра- вому краю поля. Если параметр m опущен, то подразумевается некоторое зависящее от реализации значение.

Процедура writeln

writeln ([P1, P2,..., Pn]);

Выполняет те же действия, что и процедура write, и осуществляет переход на новую строку вывода.

ПРИЛОЖЕНИЕ Б

Работа с графикой в системе PascalABC

Стандартный модуль GraphABC системы PascalABC содержит типы, константы, переменные, процедуры и функции, позволяющие создавать изображения в специальном в графическом окне [18].

Графическое окно состоит из отдельных «точек» – пикселей. Каждый пиксель имеет две координаты: X и Y. Ось OX направлена слева направо, начиная с 0, а ось OY – сверху вниз, также начиная с 0; т. е. левый верхний пиксель имеет координаты (0,0). Пиксели можно закрасить в различные цвета.

В приложении приведены основные данные о возможностях модуля GraphABC: управление цветом, рисование простейших графических объ- ектов, вывод текста, управление графическим окном. Более подробную информацию можно получить в справке по PascalABC или в [1].

Описания подпрограмм модуля даны в алфавитном порядке: сначала процедуры, потом функции.

Управление цветом

Стандартные цвета задаются константами, приведенными в алфавит-

ном порядке в таблице Б.1.

 

Б.1.

Стандартные цвета модуля GraphABC

 

 

 

 

Èìÿ

 

Öâåò

Интенсивность

 

 

 

 

clAqua

 

Бирюзовый

0, 255, 255

clBlack

 

Черный

0, 0, 0

clBlue

 

Синий

0, 0, 255

clBrown

 

Коричневый

128, 64, 0

clCream

 

Кремовый

255, 251, 240

clDarkGray

 

Темно-серый

64, 64, 64

clFuchsia

 

Сиреневый

255, 0, 255

177

 

 

Окончание табл.

 

 

 

Èìÿ

Öâåò

Интенсивность

 

 

 

clGray

Серый

128, 128, 128

clGreen

Зеленый

0, 128, 0

clLtGray

Светло-серый

192, 192, 192

clLime

Ярко-зеленый

0, 255, 0

clMaroon

Темно-красный

128, 0, 0

clMoneyGreen

Цвет зеленых денег

192, 220, 192

clNavy

Темно-синий

0, 0, 128

clOlive

Оливковый

128, 128, 0

clPurple

Фиолетовый

128, 0, 128

clRed

Красный

255, 0, 0

clSkyBlue

Голубой

166, 202, 240

clTeal

Сине-зеленый

0, 128, 128

clWhite

Белый

255, 255, 255

clYellow

Желтый

255, 255, 0

 

Функции для работы с цветом

 

 

 

Èìÿ

 

Назначение

 

 

 

RGB

 

Код цвета

GetRed

 

Выделение красной составляющей цвета

GetGreen

 

Выделение зеленой составляющей цвета

GetBlue

 

Выделение синей составляющей цвета

GetPixel

 

Текущий цвет пикселя

Функция clRandom

function clRandom: integer;

Возвращает случайный цвет.

Функция GetBlue

function GetBlue(color: integer): integer;

Выделяет синюю составляющую из цвета color ( целое в диапазоне от 0 до 255 ).

178

Функция GetGreen

function GetGreen(color: integer): integer;

Выделяет зеленую составляющую из цвета color (целое в диапазоне от 0 до 255);

Функция GetRed

function GetRed(color: integer): integer;

Выделяет красную составляющую из цвета color (целое в диапазоне от 0 до 255);

Функция GetPixel

function GetPixel(x,y: integer): integer;

Возвращает текущее значение цвета пикселя с координатами (x,y).

Функция RGB

function RGB(r,g,b: integer): integer;

Возвращает код цвета, содержащий красную (Red), зеленую (Green) и синюю (Blue) составляющие с интенсивностями r, g и b соответственно (r, g и b целые в диапазоне от 0 до 255, причем 0 соответствует мини- мальной интенсивности, 255 – максимальной).

Количество возможных цветов равно 2563 =16777216.

Простейшие графические объекты

Простейшие графические объекты называются графическими прими-

тивами.

Процедуры рисования графических примитивов

Èìÿ

Назначение

 

 

SetPixel

Закраска пикселя цветом

Line

Рисование линии

Rectangle

Рисование прямоугольника

Circle

Рисование окружности

Ellipse

Рисование эллипса

179

Процедура Circle

procedure Circle(x,y,r: integer);

Рисует окружность с центром в точке (x,y) и радиусом r.

Процедура Ellipse

procedure Ellipse(x1,y1,x2,y2: integer);

Рисует эллипс, заданный своим описанным прямоугольником с коор- динатами противоположных вершин (x1,y1) и (x2,y2).

Процедура Line

procedure Line(x1,y1,x2,y2: integer);

Рисует отрезок с началом в точке (x1,y1) и концом в точке

(x2,y2).

Процедура Rectangle

procedure Rectangle(x1,y1,x2,y2: integer);

Рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2).

Процедура SetPixel

procedure SetPixel(x,y,color: integer);

Закрашивает один пиксель с координатами (x,y) цветом color.

Рисование графических объектов

Рисование графических объектов осуществляется пером и кистью. Линии, ограничивающие объекты, рисуются пером.

 

Действия с пером

 

 

Èìÿ

Назначение

 

 

PenX

Текущая координата X пера

PenY

Текущая координата Y пера

SetPenColor

Установка цвета пера

PenColor

Текущий цвет пера

MoveTo

Перемещение пера

LineTo

Рисование отрезка от текущего положения пера

180

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]