Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы алгоритмизации и программирования. Часть 1. Конспект лекций.pdf
Скачиваний:
0
Добавлен:
09.08.2026
Размер:
465 Кб
Скачать

Задача-пример. Вычислить сумму цифр введенного числа.

Program Summa;

Uses Digits; {Подключим наш модуль по обработке цифр} var i,k,S,N:word;

begin

Readln(N); S:=0;

k:=NumberOfDigits(N); {получили число цифр введенного числа N}

for i:=0 to k-1 do S:=S+Digit(i,N); {суммируем в цикле k

цифр}

Writeln(S)

end.

Использование модуля GRAPH

Для того чтобы иметь возможность программировать видеоэффекты, следует подключить модуль Graph:

Uses Graph;

В справочной информации, встроенной в среду ТР, очень хорошо показан ход переключения из текстового режима экрана в графический и обратно:

Uses Graph;

var Gd,Gm:integer; begin

Gd:=Detect; {предопределенная переменная из модуля Graph} InitGraph(Gd,Gm,’’); {Пытаемся переключиться в графический

режим}

if GraphResult<>grOk then Halt(1); {Останов, если не получилось} {--------------- Отрисовываем на экране --------------------------}

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

{-----------------------------------------------------------------------------

}

Readln;

{Ждём нажатия клавиши Enter}

CloseGraph

{Возвращаемся в текстовый режим}

end.

 

Координаты экрана начинаются с левого верхнего угла экрана. (рис. 6) С помощью ф ункций GetMaxX и GetMaxY можно получить максимальные значения по х и по у.

29

Рис. 6

Перед тем как рисовать различные геометрические фигуры, нужно задать стиль отрисовки и цвет раскраски (рис. 7) с помощью следующей функции:

SetFillStyle(Style,Color);

Для начала нам хватит стиля сплошной отрисовки SolidFill, а цвет Color может принимать следующие значения: Red, Blue, Yellow, Green, White и другие (см. встроенную справочную информацию). Чтобы отрисовать прямоугольник, раскрашенный желаемым цветом, нужно использовать пару функций:

SetFillStyle(SolidFill,Red);

Bar(x1,y1,x2,y2).

где x1,y1 – координаты начальной точки; x2,y2 – координаты конечной точки.

Рис. 7

30

Для отрисовки линий и точек нужным цветом предварительно устанавливают цвет отрисовки функцией SetColor(Color), а для отр и- совки самой линии можно воспользоваться функцией Line(x1,y1,x2,y2). Имеется также функция по заливке замкнутой области желаемым цветом:

FloodFill(x,y,BorderColor);

где x,y – координаты внутренней точки замкнутой области; BorderColor – цвет границы замкнутого контура.

Задача-пример. Отрисовать звезду желтым цветом.

Рис. 8

Пусть координаты верхней вершины звезды на экране равны x,y (рис. 8). Соединим линиями все вершины звезды (см. рисунок) и зальем каждый получившийся замкнутый контур желтым цветом:

SetColor(Yellow);

Line(x,y,x-3,y+8); Line(x-3,y+8,x+5,y+3); Line(x-5,y+3,x+5,y+3); Line(x-5,y+3,x+3,y+8); Line(x,y,x+3,y+8);

SetFillStyle(SolidFill,Yellow); {Будем закрашивать замкнутые области

 

желтым цветом}

FloodFill(x,y+1,Yellow);

{закрасили верхную область}

FloodFill(x,y+4,Yellow);

{закрасили центральную область}

. . . . . . . . . .

{и т. д.}

 

31

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