Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lab_5_Informatika

.pdf
Скачиваний:
6
Добавлен:
29.03.2015
Размер:
321.53 Кб
Скачать

21

переменной d, соответствующей количеству дней, присваивается значение

31.

2)Если значение выражения m совпало со значением одной из констант 4, 6, 9 и т.д. (соответствующих апрелю, июню, сентябрю и т.д.), то переменной d присваивается значение 30.

3)Если значение выражения m совпало со значением константы 2

(соответствующей февралю), то переменной d присваивается значение в соответствии с рассуждениями о високосном годе, описанными выше. С

помощью операции mod проверяется значение остатка от деления года на 4,

100, 400. Если год делится без остатка на 4 (но при этом остаток от деления на 100 отличен от нуля), либо год делится без остатка на 400, то год считается високосным и переменной d присваивается значение 29. В

противном случае год не високосный и переменной d присваивается значение 28.

4) Если совпадения значения выражения m ни с одним из значений констант не произошло, выполняется оператор, расположенный после ключевого слова else. Т.е. если пользователь ввел номер не существующего месяца, то переменной d присваивается значение 0.

Для вывода количества дней в месяце используется стандартная процедура writeln. Также с помощью оператора if проверяется, не равно ли значение переменной d нулю. В зависимости от результата проверки либо выводится количество дней в месяце, либо, если такого месяца нет в году, соответствующее сообщение.

С помощью стандартной процедуры readln пользователю предлагается завершить выполнение программы, нажав клавишу «Enter».

Рассмотрим особенности выполнения программы для различных значений года и месяца, вводимых пользователем.

22

Пусть пользователь ввел значения переменных y=1998, m=5. В мае любого года 31 день, поэтому такое количество дней и было выведено на экране (рис. 10).

Рис. 10. Пользователь ввел значения y=1998, m=5

Пусть пользователь ввел значения переменных y=2000, m=9. В

сентябре любого года 30 дней, поэтому такое количество дней и было выведено на экране (рис. 11).

Рис. 11. Пользователь ввел значения y=2000, m=9

Пусть пользователь ввел значения переменных y=2007, m=2. В

феврале 2007 года 28 дней, т.к. год не високосный (не делится без остатка на

4). Такое количество дней и было выведено на экране (рис. 12).

Рис. 12. Пользователь ввел значения y=2007, m=2

Пусть пользователь ввел значения переменных y=2012, m=2. В

феврале 2012 года 29 дней, т.к. год високосный (делится без остатка на 4 и

не делится без остатка на 100). Такое количество дней и было выведено на экране (рис. 13).

Рис. 13. Пользователь ввел значения y=2012, m=2

Вопросы для самоконтроля

1) Что называется базовыми конструкциями структурного программирования? Каково предназначение каждой из этих конструкций?

23

2)Что является целью использования базовых конструкций структурного программирования?

3)В чем заключается основное отличие между операторами if и

case?

4) Дана последовательность операторов программы, записанной на языке Турбо-Паскаль:

x:=5;

y:=3;

if (a>=15) and (a<27)

then

x:=x+y

else

y:=y-x;

Переменные x, y, a имеют тип integer.

Какое значение примут переменные x и y после выполнения данной последовательности операторов для случаев, если переменная a примет значения: a=20; a=27; a=30?

5) Дана последовательность операторов программы, записанной на языке Турбо-Паскаль:

x:=0;

y:=4;

if (y<3) or (x>=1)

then

x:=y

else

y:=x;

x:=x+2;

Переменные x и y имеют тип integer.

Какое значение примут переменные x и y после выполнения данной

последовательности операторов?

24

6) Дана последовательность операторов программы, записанной на языке Турбо-Паскаль:

x:=1;

y:=2;

if sqr(x+y)>10 then

begin y:=x-1; x:=x*5;

end else

begin y:=y+3; x:=x-y+4;

end;

Переменные x и y имеют тип integer.

Какое значение примут переменные x и y после выполнения данной последовательности операторов?

7) Дана последовательность операторов программы, записанной на языке Турбо-Паскаль:

x:=0;

y:=0;

if not(a=9) then

if odd(d) then

x:=sqr(y-3)

else y:=5*x-8;

Переменные x, y, a, d имеют тип integer.

25

Какое значение примут переменные x и y после выполнения данной последовательности операторов для случаев, когда переменные a и d

примут значения:

а) a=9 и d=7;

б) a=0 и d=5;

в) a=8 и d=4?

8) Дана последовательность операторов программы, записанной на языке Турбо-Паскаль:

x:=1;

y:=3; case j of

1 : x:=y-5;

2 : y:=x+1;

3 : x:=2*y;

4 : y:=x*3; end;

Переменные j, x, y имеют тип integer.

Какое значение примут переменные x и y после выполнения данной последовательности операторов для случаев, когда переменная j примет значения:

а) j=3;

б) j=1;

в) j=4;

г) j=2?

9) Дана последовательность операторов программы, записанной на языке Турбо-Паскаль:

x:=0;

y:=1;

case i+j of

1 : x:=x-11;

26

2..4 : y:=(x+y)*2;

5,6: begin

y:=round(x/2);

x:=trunc(y/5);

end;

else x:=y+1;

end;

Переменные j, x, y имеют тип integer.

Какие значения примут переменные x и y после выполнения данной последовательности операторов для случаев, когда переменные i и j

принимают значения:

а) i=1 и j=2;

б) i=1 и j=0;

в) i=5 и j=1;

г) i=2 и j=6?

Список литературы

1) Программирование на языке высокого уровня Паскаль. Лекция 2:

Управляющие операторы языка. [Электронный ресурс] – Режим доступа: http://www.intuit.ru/studies/courses/628/484/lecture/6260. (Дата обращения: 22.08.2013).

2) Семакин И.Г., Шестаков А.П. Лекции по программированию:

Учебное пособие. Изд. 2-е, доп. – Пермь: Изд-во Перм. ун-та, 1998. – 279 с. 3) Культин Н.Б. Основы программирования в Delphi 7. – СПб.: БХВ-

Петербург, 2003. – 608 с.: ил.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]