Язык программирования ABC PASCAL - [6]

Шрифт
Интервал

> 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 используется для повторения фрагментов программы заданное число раз.


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

for i:=N1 to N2 do оператор;

или

for i:=N1 to N2 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.


>Program Square;

>var i, j : integer;

>begin

>for i:=1 to 10 do

>begin

> j:=sqr(i);

> writeln(i:4,j:4);

>end;

>end.

или проще:

>Program Square;

> var i: integer;

>begin

>for i:=1 to 10 do

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

>end.



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

- 15 -


Цикл fordownto

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

for i:=N2 to N1 downto оператор;

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


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

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

Program Concentric;


>uses graphABC;

>var i : integer; // для цикла for

>begin

> SetWindowSize (400,400);

> SetBrushStyle (bsClear);

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

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

>for i:=1 to 10 do Circle(200,200,i*20);

>end.


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

>Program Concentric2;

>uses graphABC;

>var i : integer; // для цикла for

>begin

> SetWindowSize (400,400);

> SetPenStyle(psClear);

>for i:=20 downto 1 do

>begin

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

> Circle(200,200,i*10);

>end;

>end.


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

>Program RandomLines;

>uses graphABC;

>var i : integer;

>begin

> SetWindowSize (400,400);

>for i:=1 to 200 do

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

>end.


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

- 16 -

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

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

Их можно разделить на две группы: развилки и циклы.

Развилки Циклы if ... then ... else ... while if ... then repeat ... until case for

Развилки


Оператор if

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

if логическое условие then оператор-1 else оператор-2;


Пример: if x>0 then z:=1 else z:=–1;


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


Пример:


>if x>0 then

>begin

> z:=1;

> x:=2*x;

>end

>else

>begin

> z:=-1;

> x:=-x;

>end;


Обратите внимание, что перед else точка с запятой не ставится. Точка с запятой используется только для разделения операторов друг от друга. Можно было бы и не ставить запятую после операторов x:=2*x и x:=-x, поскольку begin и end не являются операторами, а являются скобками. Паскаль будет интерпретировать[8] точку с запятой перед end, как наличие пустого оператора между ней и end.


Обратите внимание на запись “лесенкой”, она не обязательна, но весьма желательна, поскольку помогает наглядно увидеть алгоритмическую структуру программы. Правило такое: end пишем под begin.


- 17 -

Оператор if (сокращенная форма)

Часто встречается ситуация, когда ветвь else не нужна. В этом случае ее можно опустить.


Рекомендуем почитать
Тесты по биологии. 8 класс

Сборник содержит тестовые задания для проверки знаний по курсу «Биология. Человек и его здоровье», составленные в соответствии с программой для общеобразовательных учебных заведений, и предназначен для работы с учебником Н. И. Сонина, М. Р. Сапина «Биология. Человек. 8 класс», включенным в Федеральный перечень.Пособие включает различные типы тестов для тематической и итоговой проверки, которые позволят учителю сделать опрос более разнообразным по форме.В конце пособия приводятся ответы, что дает читателю возможность проверить себя.Пособие адресовано учителям и репетиторам, а также будет полезно школьникам для самоконтроля при подготовке к урокам, зачетам, контрольным и проверочным работам.


Профессия: официант-бармен

Официант, бармен, сомелье –  это популярные сегодня профессии. Многие выбирают их на всю жизнь, не меньшее число рассматривает работу в баре или ресторане как удобный приработок.Действительно, график работы прекрасно совмещается с графиком учебы и работы на неполный рабочий день. Текучесть кадров в ресторанном бизнесе высокая, и работу найти достаточно просто. Заработок также вполне приличный.Однако где приобрести знания и навыки? Нет ничего дешевле, чем приобрести толковый учебник, каковым и является эта книга.


Концепции современного естествознания

В учебнике, написанном коллективом преподавателей РГПУ им. Герцена под руководством Л. А. Михайлова – декана факультета безопасности жизнедеятельности, лауреата премии Президента РФ, представлены новейшие концепции всех естественных наук: биологии, генетики, физики, химии, математики, информатики, биохимии, геологии, антропологии и других. В книге раскрываются социальные последствия новых научных открытий, даются современные технологии обучения в области концепций современного естествознания.Учебник полностью соответствует Государственному образовательному стандарту и имеет гриф УМО.


Экономика фирмы

Объектом изучения данного курса лекций является фирма как единая система, которая функционирует в условиях рыночной экономики. Рассматриваются организационно-правовые формы фирм, основные условия обеспечения экономической стабильности фирмы, принципы ее управления и организационная структура, порядок обеспечения кадрами, модель функционирования фирмы в рыночной среде. Описана комплексная система обеспечения ресурсами (трудовые ресурсы, основные и оборотные средства), система показателей для оценки эффективности их применения.Этот курс лекций предназначен для студентов, аспирантов и преподавателей экономических факультетов университетов и экономических вузов.


Медицинская статистика

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


Коммерческое право

Конспект лекций, составленный в соответствии с Государственным образовательным стандартом высшего образования, поможет систематизировать полученные ранее знания и успешно сдать экзамен или зачет по дисциплине «Коммерческое право».Издание предназначено для студентов, преподавателей и аспирантов юридических вузов и факультетов.