Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Комментарии, анализ и разбор программы.




5.1. Программа начинается с заголовка: program domik;.
Заголовок можно опускать. Однако, лучше всего все же его иметь, так как он позволяет идентифицировать Вашу работу, и Вы сможете лучше разобраться в своем архиве программ: в том, что есть что и для чего, спустя некоторое время.

5.2. Вслед за заголовком идет строка используемых в Вашей программе библиотек Паскаля: uses crt, graph;. В этой строке Вы можете увидеть такие библиотеки, как: DOS, CRT, GRAPH. Избыток, конечно, не помешает, если Вы укажите сразу все три перечисленные мною названия библиотек. В этом нет особого вреда. Хотя правильнее будет, если Вы будете знать состав каждой библиотеки и ограничитесь ссылками только на те из них, которые действительно используются Вами в Вашей программе. Однако, можно особо не утруждать себя и всегда писать в этой строке: uses dos, crt, graph;.
Для использования графических возможностей Турбо Паскаля необходимо всегда в блоке описания uses подключить графический модуль Graph. Модуль содержит набор графических функций и процедур языка Паскаль.

5.3. Далее в программе Вы видите раздел переменных:
var
mode,mode2:integer;
x,x2,y,y2,n:word;

Начинается этот раздел со служебного слова var. Переменные величины mode,mode2:integer; используются при обращении к процедуре initgraph(mode,mode2,'');. Обращение к этой процедуре в рассматриваемой Вами программе имеет следующий вид:

mode:=detect;
initgraph(mode,mode2,''); {включение графического режима}

Сравните с приведенным чуть ниже стандартным обращением к процедуре initgraph, которое обычно дается на уроке ученикам или студентам на лекции: InitGraph(gd,gm:integer;Path:string); {инициализация графики,

где
gd - графический драйвер,
gm - графический режим,
Path - путь размещения файла egavga.bgi с расширением.bgi.}

Таким образом, Вы видите, что переменная mode, приведенная выше в разделе переменных, используется в рассматриваемой Вами программе для определения графического драйвера. Переменная mode2 используется в программе на Паскале для определения графического режима. Пробел ' ' в качестве пути размещения файла egavga.bgi с расширением.bgi говорит, что файл egavga.bgi для правильной работы программы home.pas должен быть помещен в ту же директорию, что и файл turbo.exe - файл компилятора Turbo Pascal'я.

Переменные величины x,x2,y,y2,n:word; используются в программе следующим образом: x и y отводятся для определения размера экрана; x2 и y2 - для определения середины экрана. Величина n испльзуется как параметр цикла для организации правильной работы цикла.

Вы можете сами убедиться в правильности моих выводов из следующего фрагмента программы:

begin
mode:=detect;
initgraph(mode,mode2,''); {включение графического режима}

x2:=getmaxX div 2; {половина размера экрана}
y2:=getmaxY div 2;
x:=getmaxX; {размер всего экана}
y:=getmaxY;

Что касается переменной n, то внимательно просканировав весь исходный текст программы home.pas, Вы можете найти в конце программы команду цикла, использущую переменную величину n:

for n:=1 to 300 do begin {выводит появление звезд}
putpixel(random(x),random(150),14);
delay(30);
end;

5.4. Рассмотрите теперь очередной фрагмент программы. Надо сказать, что автор программы хорошо ее оформил, не поленился дать необходимые комментарии, хотя они очень краткие, но довольно понятные. Поэтому учитесь у этого автора как сопровождать свою программу пояснениями. Без пояснений есть реальная возможность забыть свою программу через некоторое время и смотреть на нее, как на нечто Вам чуждое. Такова особенность психики человека: он забывает то, что становится не столь для него важным. Поэтому комментарии и пояснения смогут Вам очень пригодится. Да и разбирать чужую программу с комментариями всегда проще и легче.

setbkcolor(9); {дорога 50}
setcolor(8);
line(0,y-50,x,y-50);
setfillstyle(1,6);
floodfill(5,y-40,8); {выс.дороги Y=(y-50)}


Воспользуемся файлом ПОМОЩИ (Turbo.tph, имеет объем: 933384 байт) в Паскале. Этот прием особенно эфективен, если файл Turbo.tph в Вашей Turbo Pascal-системе руссифицирован. Найдите слово, соответствующее оператору, который Вас интересует, например, это может быть setbkcolor. Читайте все, что здесь сказано об этой команде (процедуре). Информация очень емкая и достаточная, но краткая:

Процедура setbkcolor(9) устанавливает текущий цвет фона, используя цветовую палитру.
Обращение к процедуре имеет вид: SetBkColor(ColorNum: Word);
Режим: Real, Protected.

Номера цветов фона ColorNum находятся в диапазоне от 0 до 15 в зависимости от текущего графического драйвера и текущего графического режима. SetBkColor(N) устанавливает всегда новый цвет фона, используя цвет с номером N в палитре. Если Ваш вызов этой процедуры имеет вид: SetBkColor(0), то устанавливается черный цвет фона. Ограничения: для использования этой процедуры всегда нужно быть в режиме графики. Иначе эта процедура не будет работать!

Процедура SetColor(N) устанавливает текущий цвет рисунка, то есть цвет линии. Как и в предыдущем случае, обязательно используется палитра. Объявление: Procedure SetColor(Color: word);
Режим: Real, Protected.

Цвет линии для рисования может быть задан натуральным числом от 0 до 15 для стандартных драйверов (в зависимости от текущего драйвера и текущего графического режима). Ограничения те же самые: нужно предварительно войти в графический режим.

Приняты следующие коды (номера) цветов цветовой шкалы:

Цвет Код цвета Цвет Код цвета
Black - черный   DarkGray - темно-серый  
Blue - синий   LightBlue - ярко-голубой  
Green - зеленый   LightGreen - ярко-зеленый  
Cyan - бирюзовый   LightCyan - ярко-бирюзовый  
Red - красный   LightRed - ярко-красный  
Magenta - малиновый   LightMagenta - ярко-малиновый  
Brown - коричневый   Yellow - желтый  
LightGray - светло-серый   Белый  

 

Таблица приведена из книги Попов В.Г. Turbo Pascal для школьников. Версия 7.0: Учебное пособие. - 2-е издание, стереотипное. - М.: Финансы и статистика, 1998. 464 с.: ил. (стр. 382).

Оператор Line(x1,y1,x2,y2:integer); рисует линию, проходящую через две точки с заданными координатами (x1,y1) и (x2,y2) } установленным ранее цветом.

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...