Александр Цветков - Язык программирования PASCAL
- Название:Язык программирования PASCAL
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Александр Цветков - Язык программирования PASCAL краткое содержание
Язык программирования PASCAL - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:

Довольно часто возникает ситуация, при которой в теле одного цикла встречается другой оператор цикла. Такие циклы называют вложенными циклами. Приведем простой пример.
Выведем на экран таблицу умножения целых чисел от 1 до 10.

Здесь внутри тела внешнего цикла по переменной i, находится вложенный цикл по переменной j, который выводит в операторе write (не writeln!) произведение i*j, выделяя 4 позиции для результата. Далее идет оператор writeln, который переводит курсор на новую строку. Внешний цикл повторяет 10 раз эту операцию, формируя, таким образом, 10 строк таблицы, которая приведена справа.
- 20 -
Тема №6. Оператор case
Оператор case
Оператор caseиспользуется для создания развилки на более чем 2 ветви. Понять его работу поможет следующий пример.
ProgramYourMark;
{ ваша отметка }
varn : integer;
begin
write ('Введите вашу отметку '); readln (n);
casen of
2 : writeln('Плохо');
3 : writeln('Удовлетворительно ');
4 : writeln('Хорошо');
5 : writeln('Отлично');
end;
end.
Обратите внимание, что оператор caseзаканчивается скобкой end.
Если пользователь введет отметку, не попадающую в диапазон 2-5, то никаких действий выполняться не будет. Можно, конечно, обработать и эту ситуацию. Тогда синтаксис оператора caseбудет такой:
ProgramYourMark2;
{ ваша отметка }
varn : integer;
begin
write('Введите вашу отметку '); readln(n);
casen of
2 : writeln('Плохо');
3 : writeln('Удовлетворительно ');
4 : writeln('Хорошо');
5 : writeln('Отлично')
elsewriteln ('Вы ввели недопустимую отметку!')
end;
end.
Обратите внимание на отсутствие точки с запятой перед elseи двоеточия после else.
Кроме единичных значений переключателя n можно указывать диапазон значений.
ProgramYourMark3;
{ ваша отметка }
varn : integer;
begin
write('Введите вашу отметку '); readln(n);
casen of
2..3 : writeln ('Это все очень плохо!');
4 : writeln ('Хорошо!');
5..6 : writeln ('Так держать!')
elsewriteln ('Вы ввели недопустимую отметку!')
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;
Суть выполнения оператора заключается в проверке логического условия, если оно оказывается истинным, выполняются операторы тела цикла до тех пор, пока логическое условие не станет ложным. Если условие было ложным перед выполнением цикла, то операторы цикла никогда не выполняются. Если условие остается истинным всегда, то цикл никогда не закончится. Говорят, что программа зацикливается.
Цикл repeat… untilпохож на цикл while. Его синтаксис:
repeatоператор1; оператор2; ....
untilусловие;
Обратите внимание, что, несмотря на несколько операторов в теле цикла, beginи endотсутствуют. Сам оператор представляет собой скобки. Цикл начинается с выполнения операторов, затем проверяется условие, если оно ложно, то цикл повторяется, а если истинно, то завершается. Если условие истинно и перед выполнением цикла, то цикл выполняется один раз. Если условие остается ложным всегда, то программа зацикливается.
Построим таблицу квадратов чисел от 1 до 10 с помощью цикла whileи repeat… until.
|
|
Интервал:
Закладка: