Константы в Pascal.

Иногда, бывает так, что у нас в программе встречаются величины, которые не меняются в процессе выполнения программы (т.е. фактически они противоположность переменных). Такие величины называются константами. Константы указываются в специальном ...

Логические и символьные константы.

В данном уроке будет рассмотрено применение логических и символных констант. Логическая константа может принимать только 2 значения, либо True, либо False. В качестве значения символьной константы могут использоваться любые символы, которые есть в ...

Abs, Sqr в Pascal.

Abs - функция языка Паскаль, которая вычисляет модуль числа.
Sqr - функция языка Паcкаль, которая возводит число в квадрат.

Циклы и массивы

Рекурсивные вычислительные процессы.

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

Структурное программирование

Самое главное в программировании - это научиться писать четкие, логические и структурированные программы.

• Используйте осмысленные имена для переменных, процедур и функций.

• Используйте отступы ...

Если в текстовом режиме работы Pascal минимальной единицей экрана является символ, то в графическом режимепиксел. Пиксел имеет координаты (X и Y) и цвет (по умолчанию белый). Координаты отсчитываются с левого верхнего угла, т.е. пиксел, расположенный в верхнем левом углу имеет координаты (0,0).
Для того чтобы включить графический режим в Паскале, необходимо подключить его в разделе объявления модулей (USES). В этом уроке мы научимся запускать графический режим и выводить на экран точку.

Запуск графического режима в Паскаль. Вывод точки на экран.




Program graphika1;
uses crt, graph;
var gd, gm:integer;
color: byte;
begin
clrscr;
gd:=detect;
initgraph (gd,gm, ‘’);
if graphresult<>grok then
halt(1);
randomize;
repeat
color:=random(15);
putpixel (random (100), random(100), color);
delay (10)
until keypressed;
closegraph
end.



В строке №2 объявляем модули CRT и GRAPH. Без этих модулей графический режим работать не будет.

В строке №3 объявляются переменные «gd» и «gm». Дело в том, что для работы графического режима в Паскаль необходимо указывать тип видеоадаптера, установленного на компьютере, а также режим работы для этого видеоадаптера (разрешение экрана). Первая переменная «gd» определяет тип драйвера адаптера, вторая – режим работы адаптера.

Cтрока №7. Если Вы не знаете о том, какой тип видеоадаптера установлен на вашем компьютере, то для переменной «gd» указывается значение «detect». Благодаря этому Паскаль определит драйвер адаптера автоматически. Для переменной «gm», которая отвечает за режим работы адаптера, мы не будем указывать значение. Поэтому режим работы адаптера будет выбираться с самым высоким разрешением (по умолчанию).

В строке №8 записывается процедура Initgraph. Эта процедура инициализирует (запускает) графический режим. В круглых скобках через запятую записываются переменные «gd» и «gm». Также здесь в кавычках необходимо указать путь к программе – драйверу с расширением bgi. По умолчанию, после установки Паскаль на компьютер эта программа – драйвер находится в директории fpc/units/i386-win32/graph. Для того чтобы не указывать путь к программе – драйверу (как в нашем примере) необходимо в директории fpc/units/i386-win32/graph скопировать 2 файла: graph.o и graph.ppu, и вставить  их в директорию fpc/bin/i386-win32. Таким образом, эти файлы, отвечающие за графический режим, теперь находятся в текущей директории. И нам не нужно указывать к ним путь, достаточно поставить кавычки.

Строка №9 и №10 говорит о том, что если инициализация не была успешной, то программа остановится.
В строке №17 задаем процедуру, которая закрывает графический режим и делает экран снова текстовым.
Запомните эти строки (№2,3,7,8,9,10,17). Их можно использовать в качестве шаблона при написании программ, которые требуют запуска графического режима.

В строке №4 мы объявляем переменную color. В неё мы будем записывать значения для цвета пикселей. Всего в Паскале есть 15 различных цветов. Они обозначаются целыми числами от 0 до 15. Поэтому для переменной color мы указываем тип данных byte (целый тип 0…255).

Строка №11. Процедура Randomize инициализирует датчик случайных чисел.

В строке №12 начинается цикл, который повторяется до тех пор, пока мы не нажмем на какую-нибудь клавишу (строка №16) (until keypressed означает: до тех пор, пока не будет нажата клавиша). Цикл будет действовать на 3 оператора, которые находятся в строках №13 - №15.

В строке №13 мы присваиваем переменной color случайное число от 1 до 15, с помощью функции Random.

В строке №14 вызываем процедуру Putpixel. Эта процедура создает точку на экране в графическом режиме (Putpixel от англ. – поставить пиксел). В круглых скобках указываются координаты этой точки и ее цвет. В нашем примере координаты имеют значение (random (100), random(100)). Т.е. координаты будут генерироваться случайно. Цвет имеет значение «color». Он также генерируется случайно (строка №13). Как видите переменную «color» для определения цвета можно было не создавать. Достаточно было в строке №14 вместо «color» записать «random(15)». Таким образом, у нас получается, что процедура putpixel будет выводить на экран точку со случайными координатами и цветом.

В строке №15 вызывается процедура Daley. Прoцедура Daley используется для задержки действий в цикле. В круглых скобках указывается время задержки. Daley(1000) означает задержку в одну секунду. Таким образом, получается что точки (пикселы) будут выводится на экран с задержкой в 0,01 с.

grafika putpixelПосле запуска программы откроется консольное окно программы Pascal, в котором ничего не будет, а через несколько секунд откроется 2-ое окно – графическое, где можно будет увидеть результаты работы программы.

grafika putpixel..

grafika putpixel.

 Закрыть графическое окно можно, нажав на крестик в правом верхнем углу графического экрана, либо нажав на любую клавишу в текстовом режиме.


Предыдущая статья : Типизированные файлы в Паскаль.

Оглавление : Уроки Паскаль. Графика.

Следующая статья : Включение графического режима.


Комментарии  

 
+9 # Вадим 01.06.2012 09:21
Термин "графика" первоначально употреблялся лишь применительно к письму и каллиграфии. Новое значение он получил в конце XIX - начале XX вв. в связи с бурным развитием промышленной полиграфии и распространение м каллиграфически чёткого, контрастного линейного рисунка, наиболее удобного для фотомеханическо го воспроизведения в книге и журнале.
 
 
0 # аноним 21.11.2012 10:51
:-* да ладно
 
 
+2 # bro 19.11.2012 17:47
Почему пишет
File not found(graph.tpu )
 
 
+1 # Потому что 28.11.2014 15:11
Потому что у тебя нет библиотеки граф на компьютере
 
 
0 # Элик 20.11.2012 08:09
# bro 19.11.2012 17:47
Почему пишет
File not found(graph.tpu )


у меня тоже так же пишет
 
 
+2 # Элик 20.11.2012 08:29
Модуль Graph.tpu по умолчанию в Турбо Паскале лежит в папке Units, оттуда его нужно скопировать в папку с программами. Кроме этого лучше туда же скопировать модуль EGAVGA.BGI из папки BGI.
Если другой Паскаль, то пишите какой.
 
 
-4 # Бритая баба 14.01.2013 07:02
Усатый мужик ты моришь :D
 
 
-3 # Alessan 18.01.2013 01:08
Все работает , спасибо . Лично как по мне понятно и информативно
P.S. До того как включить сам порылся в программе , покрутил цвета и делей :) Довольно забавно:)
 
 
-3 # Костян 02.02.2013 12:42
А еще еще звук добавил в делай на 1 сек поставил) Получается каждая точка звуком сопровождается)
Классно вышло)
Хотел сделать подсчет точек, но не вышло)
 
 
-3 # Семён 05.02.2013 19:29
Ну прям прикольное изображение получилось :-)
 
 
-3 # Василь 10.02.2013 16:13
хорошо все описано и понятно! автору большой респект !
 
 
-5 # Evgeniya 26.02.2013 11:43
ничего не понятно, жесть. И зачем это надо?
 
 
-3 # Антон 25.03.2013 11:22
В паскале 16 цветов
 
 
-4 # Вад 28.03.2013 08:14
:D Вообщето 15 цветов 16 это чёрный, а чёрный находиться под номером 0 это значит что после 15 цвета начинают повторяться. Я с таким же успехом могу сказать что в паскале 30 цветов
 
 
-2 # Нусипова Гаухар 15.02.2014 13:23
у меня там где putpixel спрашивает запятую после color
 
 
-5 # Нусипова Гаухар 15.02.2014 13:26
кто нибудь есть :sad:
 
 
-4 # жжжж 30.10.2014 20:14
:sad: :cry:
 
 
-1 # Gunel 04.02.2016 13:56
normalno :roll:
 
 
0 # сирож 14.02.2016 14:24
y=〖sin〗^3 (x^2+a)^2-√(x/b)


z=x^2/a+cos〖(x+b)〗^2
A=1.1 b=0.004 x=0.2
помогите составить.
 
 
+1 # бродяга 16.05.2016 07:10
:oops: :-x
 
   ГлавнаяПаскальГрафика в ПаскальВывод текста на экран в графическом режиме.