Язык программирования 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.
| или проще:
|
Обратите внимание на указание формата вывода целого числа в операторе writeln.Число после двоеточия указывает на количество символов, отводимых для представления целого числа. Если число занимает меньшее количество цифр, то при выводе оно слева дополняется необходимым числом пробелов.
- 15 -
Цикл for … downto
Иногда возникает желание выполнить цикл 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.
Вот более сложный пример, разберитесь с ним сами. Ответьте на вопрос: «Почему используется цикл не for … to, а for … downto?»
>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 -
Часто встречается ситуация, когда ветвь else не нужна. В этом случае ее можно опустить.
Легендарный питерский шахматист Генрих Чепукайтис, «заслуженный рецидивист блица», многократный чемпион Ленинграда-Петербурга и Москвы по молниеносной игре, вставал в турнирной таблице подчас выше М. Таля, В. Корчного и Т. Петросяна.Будучи одним из сильнейших блицоров мира, Генрих Михайлович свою главную идею в шахматах выразил одной фразой: «Хорошо играть совсем не обязательно, надо, чтобы партнер играл плохо!».Вы узнаете, что надо делать на висячих флажках, как сбить соперника с толку, загнать его в цейтнот и заставить ошибаться.Предваряет повествование замечательный очерк гроссмейстера и литератора Г. Сосонко «Чип», полная версия которого публикуется впервые.Новое издание книги существенно переработано и дополнено.Особенно эта книга будет интересна желающим усилить свою игру в «пятиминутках».
В книге кратко изложены ответы на основные вопросы темы «Уголовное право. Особенная часть». Издание поможет систематизировать знания, полученные на лекциях и семинарах, подготовиться к сдаче экзамена или зачета.Пособие адресовано студентам высших и средних образовательных учреждений, а также всем интересующимся данной тематикой.
В книге кратко изложены ответы на основные вопросы темы «Уголовно-исполнительное право». Издание поможет систематизировать знания, полученные на лекциях и семинарах, подготовиться к сдаче экзамена или зачета.Пособие адресовано студентам высших и средних образовательных учреждений, а также всем интересующимся данной тематикой.
В учебном пособии в краткой и доступной форме рассмотрены все основные вопросы, предусмотренные государственным образовательным стандартом и учебной программой по дисциплине «Финансовое право».Книга позволит быстро получить основные знания по предмету, а также качественно подготовиться к зачету и экзамену.Рекомендуется студентам, аспирантам и преподавателям по юридическим, экономическим и управленческим специальностям, а также сотрудникам банков.Автор книги, Шевчук Денис Александрович, имеет опыт преподавания различных дисциплин в ведущих ВУЗах Москвы (экономические, юридические, технические, гуманитарные), два высших образования (экономическое и юридическое), более 30 публикаций (статьи и книги), Член Союза Юристов Москвы, Член Союза Журналистов России, Член Союза Журналистов Москвы, Стипендиат Правительства РФ, опыт работы в банках, коммерческих и государственных структурах (в т.ч.
Содержащиеся в пособии контрольно-измерительные материалы (КИМы) для 5 класса, аналогичные материалам ЕГЭ, составлены в соответствии с программой общеобразовательных учреждений по русскому языку и учитывают возрастные особенности учащихся. В конце пособия даны ответы на все варианты тестов, предложены диктанты различных типов.Пособие адресовано учителям, ученикам, их родителям и всем, кому необходимо закрепить и систематизировать знания перед ЕГЭ.
Цель предлагаемого пособия – систематизировать и обогатить представления о природе, структуре и особенностях художественной литературы как вида искусства, помочь совершенствованию читательского мастерства. Книга снабжена кратким словарем основных литературоведческих понятий и терминов (составлен при участии доцента О.В. Быстровой).Для студентов филологических факультетов, учителей, преподавателей литературы высших и средних учебных заведений.