Writeln('болезнь'); 10: writeln('дети')
else writeln('неудача') end;
writeln('Нажми Enter'); readln;
END.
Здесь функция Random(x) генерирует случайное число, с равномерной плотностью распределения на заданном интервале. Для инициализации распределения в начале программы необходимо вызвать процедуру Randomize.
Практическое задание:
1) Назначить дежурного в классе из списка 10 учеников с вероятностью 1/15, в остальных случаях дежурит учитель.
2) Выбрать место отдыха в отпуске из списка 10 мест, предлагаемых туристическим агентством с вероятностью 1/30 , в остальных случаях вы отдыхаете дома.
3) Вывести на экран сообщение в зависимости от введенного значения оценки ( по десятибалльной системе ), например: 1. . 2: плохо, 3. . 5: удовлетворительно, и т. д. , иначе - неправильный ввод данных.
4) Вывести на экран сообщение в зависимости от введенного значения температуры воздуха ( от -50 до +50 0 С ), например: -50. . -20: очень холодно, -19. . -10: холодно, и т. д. , иначе - неправильный ввод данных.
Контрольные вопросы
1. Как записываются условные операторы в Паскале?
2. Как выглядят вложенные условные операторы?
3. Каково назначение оператора выбора?
4. Что такое селектор?
5. Как работает оператор выбора?
Операторы цикла
Ход работы:
- оператор цикла с параметром;
- записи «цикла пока» и «цикла-до» в Паскале;
- примеры использования циклов в программах.
Циклом называется последовательность действий, выполняемых многократно, каждый раз при новых значениях параметров.
Три различных оператора.
1. Оператор цикла с предусловием (while)
2. Оператор цикла с постусловием (repeat)
3. Оператор цикла с параметром (for)
Оператор for
Оператор for задает определенное число повторений и имеет следующий формат:
for <параметр цикла>:= < N1> to <N2> do <тело цикла>;
For i:= N1 To N2 Do "оператор";
i - параметр цикла,
N1, N2 – нач. и конеч. значения параметра цикла i.
Слово to означает - что параметр цикла меняется от начального до конечного значений в порядке возрастания.
При каждом повторении параметр получает приращение +1.
Чтобы параметр цикла убывал, нужно вместо to в записи оператора подставить слово downto(отвечает приращению -1).
Часть оператора от слова for до слова do называется заголовком цикла.
Тело цикла может быть представлено как простым, так и составным оператором (заключается в слова begin... end).
Оператор тела цикла выполняется до тех пор, пока не будут перебраны все значения параметра цикла.
Два направления изменения параметра цикла:
1. Возрастание
2. Убывание.
Параметр цикла необходимо описать в разделе описаний программы (или текущего блока) - он должен иметь дискретный тип.
Нельзя изменять значения параметра с помощью каких-либо присваиваний в теле цикла. После выполнения цикла параметр цикла становится неопределенным, и его идентификатор можно использовать в других операторах, в том числе - в новых циклах.
Пример действия оператора for:
Вычисление значений функции у = q-w
при определенных значениях X. Считаем, что аргумент X «пробегает» 10 значений, которые расположены в интервале от XI до Х2.
Начальное и конечное значения XI и Х2 задаются пользователем, а промежуточные значения X программа находит по формуле:
Х = XI + (Х2-Х1)*(1-1)/9
где I - параметр цикла.
При 1=1 аргумент Х равен XI,
При 1=10 имеем Х=Х2.
В программе используем встроенные функции Ехр (х) и Abs (x), которые выполняют вычисление экспоненциальной функции и нахождение модуля соответственно.
Программа:
В разделе описания переменных указаны параметр цикла I (тип integer), a также переменные аргумента Х и функции Y, границы интервала XI и Х2 (тип real).
В начале выполнения программы на экране появляется надпись «Значения функции Ехр (-Abs (х) )», а затем в процессе повторений тела цикла выводится столбик значений Y.
Пример №1:ввести с клавиатуры произвольное целое число N . Вычислить сумму всех целых чисел от 1 до N.
Vari, n, s: integer;
Begin
Write(‘N=’); Readin (n); (ввести N)
s:=0; (начальное значение суммы)
for i:=1 to n do s:=s+1; (цикл подсчета суммы)
writeln(‘сумма=’,s)
End.
Пример №2:разработать программу расчета функции
Исходные данные: n – количество слагаемых;
Входные данные: y – значение функции.
Program example;
Uses CRT;
Var n, i, y, SL: integer;
Begin
CLRSCR;
Write (‘введите n=>’);
Readin (n);
y:=0;
for i:=1 to n do
Begin
SL:=sqr(i);
end;
write (‘y:=’,y);
readin;
End.
Пример №3:разработать программу расчета объема
Program 25;
Uses CRT;
Const
Pi=3.14; h=0.05;
Var i: integer;
R, V: real;
Begin
CLRSCR;
V:=0; R:=9.95;
for i:=1 to 12 do
Begin
V:=(V+4*Pi*R*R*R)/3;
R:=R+h;
end;
writeln (‘объем =’, V);
readin;
End.