Методическое пособие для учащихся 9-11 классов средних общеобразовательных школ программирование на языке pascal

Вид материалаМетодическое пособие

Содержание


Оператор варианта. (выбора)
М, плотность данного вещества Р
Подобный материал:
1   ...   4   5   6   7   8   9   10   11   ...   14

ОПЕРАТОР ВАРИАНТА. (ВЫБОРА)



Цель работы: отработать практические навыки работы с оператором выбора (варианта).


Краткие теоретические сведения

Условный оператор позволяет осуществить ветвление про­граммы только по двум направлениям, одно из которых соот­ветствует выполнению проверяемого условия, а другое — не­выполнению этого же условия. Если для переменной необ­ходимо осуществить ряд действий, зависящих от других условий, то надо записывать либо вложенные условные опе­раторы, либо несколько таких операторов подряд. Для такой ситуации удобно использовать оператор варианта. Он соответ­ствует структуре, изображенной на рисунке 6.

Данная структура называется также переключателем и вы­полняется следующим образом. Вход в структуру содержит вычисление или ранее полученное значение переменной (ин­декса варианта). Это значение может совпасть с меткой, стоя­щей перед оператором на одной из ветвей переключателя. В таком случае выполняется оператор, помеченный этой мет­кой, и происходит выход из структуры. Оператор бывает простым или составным, ограниченным операторными скоб­ками begin ... end;. Если значение индекса варианта не со­впало ни с одной из меток, то выполняется оператор с номе­ром п + 1 из строки else. Если оператор варианта содержит строку else, то это — полная форма оператора, если такой строки нет, то используется сокращенная форма оператора варианта.

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



Рис. 6. Структура оператора варианта

На языке Паскаль оператор варианта имеет вид:

case индекс варианта of

метка1: оператор 1;

метка2: оператор 2;

. . .

метка n: оператор n;

else оператор n + 1

end;

Пример программы, содержащей оператор вари­анта. Одной из распространенных задач раздела физики «Молекулярно-кинетическая теория» является задача, связанная с расчетом числа молекул в единице объема в теле заданной массы и в теле известного объема. Для такой задачи можно построить программу-решатель.

Дано: молярная масса вещества М, плотность данного вещества Р, масса R или объем данного тела V. Требуется най­ти число молекул К: 1) в единице массы вещества; 2) в теле с заданной массой; 3) в единице объема вещества; 4) в теле с заданным объемом. Для решения задачи воспользуемся формулой:

К= (NA/M)R,

где NA = 6,022 * 10 23 г/моль — число Авогадро.

На основании этой формулы получаем расчетные формулы для программы:

1) К = N A/ М; 2) К= N AR/M; 3) К= NA Р V/ М; 4) К= NA Р/ М.

Программа имеет вид:

program Р20;

const NA = 6.022 E20;

var N: integer; М, R, Р, V, К: real;

begin

writeln (‘зная постоянную Авогадро, плотность Р данного вещества’);

writeln (‘и его молярную массу М, можно найти число мо­лекул в’);

writeln (‘1. в единице массы вещества’);

writeln (‘2. в теле массой R’);

writeln (‘3. в единице объема’);

writeln (‘4. в теле объемом V’);

write (‘введите номер решаемой задачи’);

readln (N);

write (‘введите исходные данные: М = ‘);

readln (М);

case N of

1: К: = NA/M;

2: begin

write (‘R = ‘);

readln (R);

K: = NA -R/M;

end;

3: begin

write (‘плотность вещества Р = ‘);

readln (Р);

write (‘V= ‘);

readln (V);

K: = NA *P-V/M;

end;

4: begin

write (‘плотность вещества Р = ‘);

readln (Р);

К: = NA "P/V end;

end;

write (‘число молекул К = ‘, К’)

end.


Методические указания по работе и задания



Условие задачи

1

Написать программу, которая запрашивает у пользователя номер месяца и выводит соответствующее название времени года (если недопустимое число то « ошибка ввода данных»).

2

Написать программу, которая запрашивает у пользователя номер дня недели и выводит одно из сообщений: «Рабочий день», «Суббота», «Воскресенье».

3

Написать программу, которая после введения с клавиатуры числа в диапазоне от 1 до 999, обозначающего денежную единицу, дописывает слово «рубль» в правильной форме.(12 рублей, 21 рубль …)

4

Написать программу, которая вычисляет дату следующего дня.

5

Найти наибольшее из двух действительных чисел, используя оператор выбора.

6

Написать программу, определяющее животное, соответствующее введенному году по китайскому гороскопу.

7

Преобразуйте символ, если он является строчной русской буквой, в заглавную букву. Предполагается использование альтернативной кодировки ASCII.

8

Написать программу, которая после введения с клавиатуры числа в диапазоне от 1 до 99, обозначающего денежную единицу, дописывает слово «копейка» в правильной форме (5 копеек, 41 копейка …).

9

Написать программу, которая после введения с клавиатуры числа в диапазоне от 1 до 99, обозначающего возраст человека, дописывает слово «год», «года», «лет» соответственно во фразу «Мне … лет» ( 5 лет, 2 года, 41год …).

10

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

11

Написать программу, которая читает натуральное число в десятичном представлении (до 10000), а на выходе выдает это же число на естественном языке (7  семь, 204 двести четыре, 12 двенадцать).

12

Написать программу, позволяющую получить словесное описание школьных оценок (1-плохо, 2-неудовлетворительно, 3-удовлетворительно, 4-хорошо, 5-отлично).

13

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

14

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

15

Написать программу, которая по данному натуральному числу от 1 до 12 (номеру месяца) выдает все приходящиеся на этот месяц праздники (например число1, то: 1января-Новый год, 7 января - Рождество).



Лабораторная работа №8