Перевод числа из десятичной системы счисления в шестнадцатеричную.

Напишем программу, которая вводит с клавиатуры целое число в диапазоне от 0 до 15 и преобразует его к шестнадцатеричной системе счисления. Напомню, что в шестнадцатеричной системе счисления числа в диапазоне от 0 до 9 соответствуют таким же числам в ...

Функции Pred, Succ в Pascal.

В данном уроке мы рассмотрим функции, применяемые к типу CHAR. Функция Pred возвращает в качестве значения предшествующий символ, а функция Succ возвращает последующий символ.

Оператор выбора Case Of в Pascal.

Помимо условного оператора If в языке программирования Pascal существует оператор выбора Case of. Рассмотрим его применение на примере программы, которая выводит на экран то или иное сообщение, в зависимости от введенного числа.

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

Тип данных Boolean.

Тип BOOLEAN (булевский, логический). Логический тип в языке Паскаль задается как перечисляемый тип, содержащий всего два значения, которые имеют идентификаторы FALSE (ложь) и TRUE (истина).

Линейные процессы вычислений.

Простейший алгоритм представляет собой цепочку блоков (операторов) от начального блока до конечного. Каждый блок должен быть выполнен один единственный раз. Это линейный алгоритм. Он отражает ...

Процедура Circle вычерчивает на экране окружность. В качестве параметров этой процедуры используются координаты центра окружности и длина радиуса. Процедура Arc вычерчивает на экране дугу, у которой указываются координаты центра, начальный угол, конечный угол и длину радиуса.

Рисование окружности и дуги с помощью процедур Circle и Arc.




Program Graphika13;
Uses crt, Graph;
var y:integer;
Procedure Graphinterface;
Var  gd, gm, error:Integer;
s:String;
Begin
gd:=detect;
s:=' ';
Initgraph(gd,gm,s);
error:=GraphResult;
if error<>GrOk then
begin
writeln(GraphErrorMsg(Error));
Halt(error)
end
end;
begin
Graphinterface;
setcolor(2);
Circle(300,200,100);
y:=0;
while y<=360 do
begin
arc( 600,200,0,y,100);
y:=y+10;
delay(1000);
end;
readln;
end.



Строка №3. Указываем переменную для хранения значения конечного угла при построении дуги.

В строке №20 записываем процедуру SetColor. Она применима к процедурам Circle и Arc и будет определять цвет окружности и дуги, которые мы зададим в строках №21 и №25.

Строка №21. Процедура Circle рисует окружность на экране. После записи процедуры в круглых скобках указываются параметры процедуры. Первые 2 параметра определяют координаты X и Y для центра окружности (в нашем примере координата X имеет значение 300 пикселей, а координата Y – 200 пикселей). Третий параметр процедуры Circle определяет радиус окружности (в нашем примере радиус имеет значение 100 пикселей). Таким образом, на экран выведется окружность зеленого цвета с центром в точке (300,200) и радиусом 100 пикселей.

Строка №22. Присваиваем переменной «y» начальное значение равное 0, т.е. конечный угол дуги равен 0.

Строка №23. Записываем цикл. Пока «y», т.е. конечный угол меньше либо равен 360 градусов, должно выполняться условие, которое следует за словом Do. За словом Do следуют 3 операции.

Строка №25. Первая операция – это процедура Arc, которая вычерчивает на экране дугу. Данная процедура имеет 5 параметров. Первые 2 параметра (в нашем примере 600,200) определяют координаты центра дуги. Третий параметр определяет начальный угол дуги в градусах (в нашем примере он равен 0). Четвертый параметр определяет конечный угол дуги в градусах (в нашем примере он равен переменной «y»). Пятый параметр определяет радиус дуги (в нашем примере 100 пикселей).

Строка №26. Увеличиваем переменную «y» на 10 градусов. Благодаря тому, что строка №25  и №26 находятся  в цикле, значение конечного угла будет увеличиваться от 0 до 360 с шагом в 10 градусов, причем это увеличение будут идти со скоростью 10 градусов в секунду благодаря процедуре Delay в строке №27.  Таким образом, на экран выведется дуга с центром в точке (600,200) и радиусом 100 пикселей. Начальный угол дуги будет равен 0 градусов. Конечный угол дуги также равен 0 градусов и растет на 10 градусов в секунду.Procedurih Circle i Arc.

Procedurih Circle i Arc..


Дополнение к материалу.

Для процедур Circle и Arc можно установить толщину линии с помощью процедуры SetLineStyle, причем тип линии может принимать значение только solidln (сплошной), т.е. процедура SetLineStyle может иметь параметры либо (0,0,1), либо (0,0,3).


Предыдущая статья : Процедура Bar3D.

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

Следующая статья : Процедуры Ellipse и FillEllipse.


Комментарии  

 
-1 # Вика 16.11.2014 13:32
:cry: У меня не получается нарисовать дугу... Как определить величину углов? :sigh:
 
 
-2 # Настя 16.11.2014 13:42
Хм... Я тоже не понимаю... :sad:
 
 
+2 # Альбина 04.06.2016 16:46
arc(x,y,радиус, начало градусов,конец градусов);
по новому =)
 
 
-1 # EVG 07.10.2021 04:41
Дуга идет из угла StAngle к EndAngle, с радиусом Radius, используя точку с координатами (X, Y), как центр окружности.
Uses Graph;
Var Gd, Gm : Integer;
Radius : Integer;
Begin
Gd:=Detect;
InitGraph(Gd, Gm, 'C:\BP\BGI'); { Путь к BGI драйверам }
If GraphResult grOk Then Halt(1);
For Radius:=1 To 5 Do Arc(100, 100, 0, 90, Radius * 10);
ReadLn;
CloseGraph;
End.
 
   ГлавнаяПаскальГрафика в ПаскальПроцедуры Circle и Arc.