Составте програму чтобы на икран выводилась кортинка и состояла из 80 строчек паскаль uses graphabc нужно ипользовать

Составте програму чтобы на икран выводилась кортинка и состояла из 80 строчек паскаль uses graphabc нужно ипользовать
Гость
Ответ(ы) на вопрос:
Гость
В этом разделе сайта progmatem.ru для рисования различных геометрических фигур в Паскале нам нам понадобится среда PascalABC.Net или PascalABC. Будут также привены рабочие программы в средах Turbo Pascal и Free Pascal. Вообще Паскаль хорош тем, что позволяет не только писать простые и/или сложные консольные приложения, но и работать с формами (как в Delphi), а также создавать графические приложения с помощью подключаемого модуля GraphABC (аналог модуля graph в Turbo Pascal, Free Pascal). Ведь для того и создавалась среда PascalABC.Net – как учебное пособие при переходе на Delphi – более совершенную версию Object Pascal. При работе с графическим окном нужно учитывать две особенности. Во-первых, начало координат – точка (0, 0) – находится не где-то посредине окна, а в левом верхнем углу. Вторая особенность связана с первой: положительное направление оси OY показывает не вверх, а вниз (OX направлена вправо). Как мы видим, система координат в графическом окне Pascal отлична от той, к которой мы привыкли в математике – т.н. правой системе координат, в которой ось OX направлена вправо, ось OY – вверх, а начало координат, как правило, всегда стоит где-то посредине окна. И к этой особенности надо привыкать. Система координат в графическом окне Паскаля Но что делать, если требуется нарисовать геометрическую фигуру или график функции в «нормальной», привычной для нас системе координат? Надо выполнить преобразование системы координат таким образом, чтобы точка (0, 0) находилась посредине окна (в любой нужной точке), а ось OY была направлена вверх. Стандартное преобразование в прямоугольной правой системе координат выглядит следующим образом: Стандартное преобразование координат Здесь x0 и y0 – координаты точки, в которую мы хотим перенести начало координат новой системы, x и y – координаты точки в старой системе, x1 и y1 – координаты точки в новой системе. Но поскольку ось OY в графическом окне Паскаля направлена вниз, то для её разворота вверх нужно, естественно, знак координаты y поменять на противоположный (вместо y поставить -y). Таким образом, окончательно получим преобразование координат в графическом окне PascalABC.Net: Преобразование координат в графическом окне Pascal В результате последних преобразований вышеуказанная система координат будет иметь следующий вид: Система координат после преобразования Как мы видим, здесь начало координат перемещено в центр графического окна, а ось OY направлена вверх. В результате этого стали доступны не только положительные координаты, но также отрицательные. Напишем простую программу, демонстрирующую все вышесказанное. Для этого, забегая наперед, укажем три полезные в графическом режиме PascalABC.Net процедуры: TextOut(x,y,s) – Вывод текста в графическое окно. При этом текст (строка s) записывается в прямоугольную область таким образом, что точка с координатами (x, y) находится в левом верхнем углу первой буквы; Line(x1,y1,x2,y2) – Проводит отрезок от точки (x1, y1) до точки (x2, y2); Circle(x,y,r) – Рисует окружность с центром (x, y) и радиусом r. Программа рисует окружность относительно графического окна (x0 = 0, y0 = 0), а через 3 секунды эта окружность появляется относительно нарисованной в центре системы координат. Перепишите эту программу в среду PascalABC.Net и запустите. Вот, собственно, сам код: Код Pascal, PascalABC.Net 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 uses GraphABC; const r = 90; //радиус окружности var x0, y0, x, y: integer; begin { Начало координат: } x0 := WindowWidth div 2; //половина ширины окна y0 := WindowHeight div 2; //половина высоты окна x := 100; y := 100; //координаты центра окружности Line(x0 - 250, y0, x0 + 250, y0); //ось OX Line(x0, y0 - 200, x0, y0 + 200); //ось OY Circle(x, y, r); //окружность с центром (x, y) и радиусом r Circle(x, y, 2); //центр окружности (маленькая окружность) TextOut(x + 5, y, '(100, 100)');//надпись возле центра окружности sleep(3000); //делаем паузу на 3 секунды ClearWindow; //очищаем графическое окно белым цветом Line(x0 - 250, y0, x0 + 250, y0); //ось OX Line(x0, y0 - 200, x0, y0 + 200); //ось OY { Делаем преобразование координат: } x := x0 + x; y := y0 - y; { Рисуем окружность, центр окружности и надпись: } Circle(x, y, r); Circle(x, y, 2); TextOut(x + 5, y, '(100, 100)'); end. Здесь необходимо сделать некоторые пояснения: WindowWidth - ширина графического окна; WindowHeight - высота графического окна (в пикселях); ClearWindow - эта процедура очищает окно белым цветом; sleep(ms) - задержка (пауза) на ms миллисекунд. На следующей странице мы рассмотрим самое элементарное понятие в графике Паскаля – точки и пиксели, а также укажем полезные процедуры для работы с ними.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы