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

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

>end;

>end.

Обратите внимание, что оператор case заканчивается скобкой end.

Если пользователь введет отметку, не попадающую в диапазон 2-5, то никаких действий выполняться не будет. Можно, конечно, обработать и эту ситуацию. Тогда синтаксис оператора case будет такой:


>Program YourMark2;

> { ваша отметка }

>var n : integer;

>begin

> write('Введите вашу отметку '); readln(n);

>case n of

> 2 : writeln('Плохо');

> 3 : writeln('Удовлетворительно ');

> 4 : writeln('Хорошо');

> 5 : writeln('Отлично')

>else writeln ('Вы ввели недопустимую отметку!')

>end;

>end.


Обратите внимание на отсутствие точки с запятой перед else и двоеточия после else.

Кроме единичных значений переключателя n можно указывать диапазон значений.

>Program YourMark3;

> { ваша отметка }

>var n : integer;

>begin

> write('Введите вашу отметку '); readln(n);

>case n of

> 2..3 : writeln ('Это все очень плохо!');

> 4 : writeln ('Хорошо!');

> 5..6 : writeln ('Так держать!')

>else writeln ('Вы ввели недопустимую отметку!')

>end;

>end.

Обратите внимание на отсутствие точки с запятой перед else и двоеточия после else.

- 21 -


Задание № 6.1. По образцу программ, написанных на предыдущей странице, решите следующую задачу:

Программа вводит число в диапазоне от 1 до 10 и выводит на экран значение числа русскими буквами (один, два, … десять). (2 балла)

Задание № 6.2. Модифицируйте программу таким образом, чтобы она выводила название чисел в диапазоне от 1 до 99 (ну кассовый аппарат же это делает на чеках!).


Подсказка №1. Для выделения числа десятков используйте хорошо знакомую вам операцию «остаток от деления». Т.е., если в переменной n находится введенное число, то получить число десятков очень просто – d:=n mod 10;


Подсказка №2. Надо рассмотреть по сути три диапазона чисел: от 1 до 9, от 10 до 19, и от 20 до 99. (5 баллов)

Задание № 6.3. Ну, если уж сделали предыдущую задачу, то расширьте диапазон чисел до 999. (еще 3 балла)

Задание № 6.4*. Модифицируйте программу 6.3 (даже в сторону упрощения), так чтобы она выводила число в диапазоне от 1 до 999, записанное римскими цифрами. (еще 4 балла)

Запись чисел римскими цифрами:


1 – I

10 – X

100 – C

2 – II

20 – XX

200 – CC

3 – III

30 – XXX

300 – CCC

4 – IV

40 – XL

400 – CD

5 – V

50 – L

500 – D

6 – VI

60 – LX

600 – DC

7 – VII

70 – LXX

700 – DCC

8 – VIII

80 – LXXX

800 – DCCC

9 – IX

90 – XC

900 – CM

Запись остальных чисел происходит просто «склеиванием» записей приведенных чисел.


Например:


23 – XXIII 357 – CCCLVII 888 – DCCCLXXXVIII 901 – CMI 109 – CIX

- 22 -

Тема №7 Операторы цикла While и Repeat … Until


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


Цикл While используется для повторения оператора (группы операторов) произвольное число раз, которое может быть заранее и не известно, причем проверка условия выполнения тела цикла происходит перед выполнением тела цикла.

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

while условие do оператор;

или

while условие do

begin оператор1; оператор2; ....

end;

Суть выполнения оператора заключается в проверке логического условия, если оно оказывается истинным, выполняются операторы тела цикла до тех пор, пока логическое условие не станет ложным. Если условие было ложным перед выполнением цикла, то операторы цикла никогда не выполняются. Если условие остается истинным всегда, то цикл никогда не закончится. Говорят, что программа зацикливается.


Цикл repeatuntil похож на цикл while. Его синтаксис:

repeat оператор1; оператор2; ....

until условие;

Обратите внимание, что, несмотря на несколько операторов в теле цикла, begin и end отсутствуют. Сам оператор представляет собой скобки. Цикл начинается с выполнения операторов, затем проверяется условие, если оно ложно, то цикл повторяется, а если истинно, то завершается. Если условие истинно и перед выполнением цикла, то цикл выполняется один раз. Если условие остается ложным всегда, то программа зацикливается.

Построим таблицу квадратов чисел от 1 до 10 с помощью цикла while и repeatuntil.

>Program SquareW;

>var i : integer;

>begin

> i:=1

>while i<=10 do

>begin

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

> i:=i+1;

>end;

>end.

>Program SquareR;

>var i : integer;

>begin

> i:=1

>repeat

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

> i:=i+1;

>until i>10;

>end.


- 23 -


Рассмотрим следующий пример. Необходимо построить вложенные друг в друга концентрические окружности. Радиус самой большой окружности – 400 пикселей, а радиус каждой вложенной – в два раза меньше предыдущей, т.е. 200, 100, 50, … Радиус последней – 1 пиксель.


Для решения этой задачи разумно использовать цикл while или repeat until, поскольку действительно сразу сложно понять сколько будет окружностей (хотя, конечно, можно сосчитать).


>Program Circles;

>Uses GraphABC;

>var r : integer;

>begin

> SetWindowSize(800,800);

> r:=400;

>repeat

> circle(400,400,r);

> r:=r div 2;

>until r<1;

>end.

>Program Circles;

>Uses GraphABC;

>var r : integer;

>begin

> SetWindowSize(800,800);

> r:=400;

>while (r>=1) do

>begin

>circle(400,400,r);

>r:=r div 2;

>end;

>end.


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


Рекомендуем почитать
Сочинения гр. А. К. Толстого как педагогический материал. Часть 2. Эпические мотивы

«Лирика обладает одним несомненным преимуществом перед другими родами поэзии: она лучше всего освещает нам личный мир поэта, ту сферу, которую выделяет для него в широком Божьем мире его темперамент, обстановка, симпатии, верования; она показывает степень отзывчивости поэта; т.е. его способности переживать разнородные душевные состояния: она часто открывает нам уголки поэтической деятельности, где живут не оформившиеся еще образы, задатки для определенных фигур эпоса и драмы. В эпосе и драме образы становятся разнообразнее и пестрее, но вместе с тем славятся объективнее, особенно в драме…».


Уголовное право. Особенная часть

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


Самоучитель Adobe After Effects 6.0

Обучение созданию профессиональных видеофильмов и обработки их на компьютере представлено в виде 12 уроков. Рассматривается, как с помощью программы Adobe After Effects можно редактировать и рисовать последовательность кадров, добавлять титры и заголовки, применять различные видеоэффекты, редактировать звуковое сопровождение фильма. Описывается процесс настройки прозрачности и наложения слоев видео для последующего экспорта фильма в различных форматах. Показываются способы создания анимации при масштабировании, поворотах и в движении с наложением титров и спецэффектов.


Финансовое право

В учебном пособии в краткой и доступной форме рассмотрены все основные вопросы, предусмотренные государственным образовательным стандартом и учебной программой по дисциплине «Финансовое право».Книга позволит быстро получить основные знания по предмету, а также качественно подготовиться к зачету и экзамену.Рекомендуется студентам, аспирантам и преподавателям по юридическим, экономическим и управленческим специальностям, а также сотрудникам банков.Автор книги, Шевчук Денис Александрович, имеет опыт преподавания различных дисциплин в ведущих ВУЗах Москвы (экономические, юридические, технические, гуманитарные), два высших образования (экономическое и юридическое), более 30 публикаций (статьи и книги), Член Союза Юристов Москвы, Член Союза Журналистов России, Член Союза Журналистов Москвы, Стипендиат Правительства РФ, опыт работы в банках, коммерческих и государственных структурах (в т.ч.


Следственные действия: психология, тактика, технология

Книга посвящена правовым, психологическим и криминалистическим основам следственных действий как процессуальных способов доказывания по уголовным делам. Рассмотрены общая характеристика следственного действия, психологические условия и приёмы повышения их эффективности, даны рекомендации по подготовке и проведению отдельных видов основных следственных действий, регламентируемых ныне действующим УПК РФ.Для работников правоохранительных органов, студентов, аспирантов, докторантов, профессорско-преподавательского состава юридических учебных заведений.


фгос  ответы

Содержащиеся в пособии контрольно-измерительные материалы (КИМы) для 5 класса, аналогичные материалам ЕГЭ, составлены в соответствии с программой общеобразовательных учреждений по русскому языку и учитывают возрастные особенности учащихся. В конце пособия даны ответы на все варианты тестов, предложены диктанты различных типов.Пособие адресовано учителям, ученикам, их родителям и всем, кому необходимо закрепить и систематизировать знания перед ЕГЭ.