LibKing » Книги » comp-programming » Александр Цветков - Язык программирования PASCAL

Александр Цветков - Язык программирования PASCAL

Тут можно читать онлайн Александр Цветков - Язык программирования PASCAL - бесплатно полную версию книги (целиком). Жанр: comp-programming. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте LibKing.Ru (ЛибКинг) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
libking
  • Название:
    Язык программирования PASCAL
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    4.44/5. Голосов: 91
  • Избранное:
    Добавить в избранное
  • Ваша оценка:

Александр Цветков - Язык программирования PASCAL краткое содержание

Язык программирования PASCAL - описание и краткое содержание, автор Александр Цветков, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Язык программирования PASCAL - читать онлайн бесплатно полную версию (весь текст целиком)

Язык программирования PASCAL - читать книгу онлайн бесплатно, автор Александр Цветков
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать

* Line(x1, y1, x2, y2) – рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2).

* Circle(x,y,r) – рисует окружность с центром в точке (x,y) и радиусом r.

* Ellipse(x1, y1, x2, y2) – рисует эллипс, заданный своим описанным прямоугольником с координатами противоположных вершин (x1,y1) и (x2,y2).

* Rectangle(x 1,y1,x2,y2) – рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2).

* RoundRect(x 1,y1,x2,y2,w,h) – рисует прямоугольник со скругленными краями; (x1,y1) и (x2,y2) задают пару противоположных вершин, а w и h – ширину и высоту эллипса, используемого для скругления краев.

* Arc(x,y, r, a1,a2) – рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки).

* Pie(x,y,r,a1,a2) – рисует сектор окружности, ограниченный дугой (параметры процедуры имеют тот же смысл, что и в процедуре Arc).

* Chord(x,y, r, a1,a2) – рисует фигуру, ограниченную дугой окружности и отрезком, соединяющим ее концы (параметры процедуры имеют тот же смысл, что и в процедуре Arc).

* FloodFill(x,y,color) – закрашивает область одного цвета, начиная с точки (x,y) цветом color.

Задание:

Напишите программу, использующую не менее трех процедур рисования, которая рисовала бы несложный рисунок (домик, автомобиль, и т.п.)

- 13 -

Пример решения задания

Programavto;

uses graphABC;

vari : integer;

begin

SetWindowSize (800,600);

SetPenStyle (psClear); // верхняя часть автомобиля

setBrushColor (Clgreen);

rectangle (250,250,550,351);

setBrushColor (ClAqua); // окна

rectangle (255,255,395,345);

rectangle (405,255,545,345);

setBrushColor (Clgreen); // корпус

rectangle (50,350,750,500);

setBrushColor (ClYellow); // фары

rectangle (749,375,764,400);

setBrushColor (ClRed);

rectangle (35,375,51,400);

setBrushColor (ClLightGray); // бампер

RoundRect (725,450,775,475,10,10);

RoundRect (25,450,75,475,10,10);

SetPenStyle (psSolid); // двери

Line(250,350,250,425);

Line(250,425,300,500);

Line (400,250,400,500);

Line (550,350,550,425);

Line (550,425,500,500);

setBrushColor (ClBlack); // колеса

Circle (200,500,50);

setBrushColor (ClLightGray);

Circle (200,500,25);

setBrushColor (ClBlack);

Circle (600,500,50);

setBrushColor (ClLightGray);

Circle (600,500,25);

end.

14 Тема 4 Цикл for Цикл forиспользуется для повторения фрагментов - фото 11

- 14 -

Тема №4 Цикл for

Цикл forиспользуется для повторения фрагментов программы заданное число раз.

Синтаксис оператора:

fori:=N1 toN2 doоператор;

или

fori:=N1 toN2 do

begin

оператор1;

оператор2;

....

end;

Составной оператор – это группа операторов, заключенная в операторные скобки begin... end.

Здесь

i – индекс цикла (обязательно переменная целочисленного типа),

N 1 – целочисленное выражение, определяющее нижнюю границу индекса цикла,

N2 – целочисленное выражение, определяющее верхнюю границу индекса цикла, N2 должно быть больше или равно N 1, для того чтобы цикл выполнился хоть один раз.

Алгоритм выполнения оператора такой:

1. Индексу цикла присваивается значение выражения N 1.

2. Проверяется условие i<=N2. Если условие истинно, то переход к п. 3, иначе к п.6.

3. Выполняются операторы тела цикла.

4. Значение индекса цикла увеличивается на единицу (автоматически!).

5. Переход к п. 2.

6. Конец цикла.

Пример: Построить таблицу квадратов чисел от 1 до 10.

ProgramSquare;

vari, j : integer;

begin

fori:=1 to10 do

begin

j:=sqr(i);

writeln(i:4,j:4);

end;

end.

или проще:

Program Square;

var i: integer;

begin

fori:=1 to10 do

writeln(i:4,sqr(i):4);

end.

Обратите внимание на указание формата вывода целого числа в операторе writeln.Число после двоеточия указывает на количество символов, отводимых для представления целого числа. Если число занимает меньшее количество цифр, то при выводе оно слева дополняется необходимым числом пробелов.

- 15 -

Цикл fordownto

Иногда возникает желание выполнить цикл forнаоборот, так чтобы индекс цикла не возрастал, а убывал. Эту возможность реализует следующая конструкция:

fori:=N2 toN1 downtoоператор;

Здесь подразумевается, что N2 должно быть больше или равно N 1.

Использование цикла forдля построения изображений

Использование цикла forвесьма эффективно при построении изображений. Например, следующая программа строит набор концентрических окружностей.

ProgramConcentric;

uses graphABC;

vari : integer; // для цикла for

begin

SetWindowSize (400,400);

SetBrushStyle (bsClear);

// строятся 10 окружностей с

// радиусами 20, 40, ... 200

fori:=1 to10 doCircle(200,200,i*20);

end.

Вот более сложный пример разберитесь с ним сами Ответьте на вопрос Почему - фото 12

Вот более сложный пример, разберитесь с ним сами. Ответьте на вопрос: «Почему используется цикл не forto, а fordownto

ProgramConcentric2;

uses graphABC;

vari : integer; // для цикла for

begin

SetWindowSize (400,400);

SetPenStyle(psClear);

fori:=20 downto1 do

begin

SetBrushColor (RGB(10*i,0,0));

Circle(200,200,i*10);

end;

end.

Интересных эффектов можно добиться используя так называемый генератор - фото 13

Интересных эффектов можно добиться, используя так называемый «генератор случайных чисел». Встроенная функция random (N) возвращает случайное число в диапазоне от 0 до N– 1. Посмотрите, как эта возможность применяется в следующей программе.

ProgramRandomLines;

uses graphABC;

vari : integer;

begin

SetWindowSize (400,400);

fori:=1 to200 do

Line(Random(400),Random(400),Random(400),Random(400));

end.

Задание 5 Дополните вашу графическую программу узором получаемым с помощью - фото 14

Задание №5. Дополните вашу графическую программу узором, получаемым с помощью цикла for.

- 16 -

Тема №5 Оператор if

В языке Pascal существуют операторы, позволяющие изменить линейный ход программы.

Читать дальше
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать


Александр Цветков читать все книги автора по порядку

Александр Цветков - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Язык программирования PASCAL отзывы


Отзывы читателей о книге Язык программирования PASCAL, автор: Александр Цветков. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
Большинство книг на сайте опубликовано легально на правах партнёрской программы ЛитРес. Если Ваша книга была опубликована с нарушениями авторских прав, пожалуйста, направьте Вашу жалобу на PGEgaHJlZj0ibWFpbHRvOmFidXNlQGxpYmtpbmcucnUiIHJlbD0ibm9mb2xsb3ciPmFidXNlQGxpYmtpbmcucnU8L2E+ или заполните форму обратной связи.
img img img img img