Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник Турбо Паскаль.doc
Скачиваний:
789
Добавлен:
10.04.2015
Размер:
1.84 Mб
Скачать

Var n, X, y: real;

BEGIN

Writeln('Программу разработал Иванов');

Writeln('Возведение положительного числа x степень n');

Writeln(S, ' аргумента х>0'); Readln(x);

Write(S, ' показателя степени n='); Readln(n);

y:=exp(n*ln(x));

Writeln('результат y=', y:-10:6); writeln('Нажмите Enter');

readln; {задержка экрана до нажатия Enter}

END.

Практическое задание N 1. 3

1. Рассчитать площадь треугольника по формуле Герона:

S = (p*(p-a)*(p-b)*(p-c)), где p=(a+b+c)/2 - полупериметр.

a, b, c -стороны треугольника ( исходные данные ).

2. Рассчитать высоты, медианы и биссектрисы треугольника по формулам:

Ha= 2*S/a -высота, опущенная на сторону "a", аналогично для Hb, Hc;

Ma= (2*b2+ 2*c2-a2)/2-медиана, аналогично для Mb, Mc;

Ba= 2* (b*c*p*(p-a) )/(b+c)-биссектриса, аналогично для Bb, Bc;

a, b, c -стороны треугольника ( исходные данные ). S-площадь, p-полупериметр треугольника.

3. Рассчитать радиус окружности, вписанной в треугольник R1= S/p

и описанной вокруг треугольника R2= a*b*c/(4*S), где S-площадь, а p-полупериметр треугольника. a, b, c-стороны треугольника ( исходные данные ).

4. Рассчитать сумму "S" первых N членов арифметической прогрессии A1, A2, . . . , ANпо формуле: S= (A1+ AN)*N/2. A1, AN, N-исходные данные

5. Рассчитать сумму "S" первых N членов ряда геометрической прогрессии B1, B2, . . . , BNпо формуле: S= (B1-BN*Q)/(1-Q).BN =B1 *QN. B1, Q-исходные данные.

Примечание:Программы запрашивают ввод исходных данных с клавиатуры и выводят результаты расчета на экран. Программой контроль данных не производится.

20

1. 7. 2. Оператор выбора

Оператор служит для выбора одного из помеченных вариантов действия (операторов), в зависимости от значения "параметра". Оператор имеет вид:

Case "параметр" Of

"список помеченных операторов"

Else "оператор" End;

Здесь "параметр" -выражение или переменная порядкового типа.

Из "списка помеченных операторов" выполняется оператор с меткой, включающей значение "параметра", иначе оператор после слова Else. Конструкция Else "оператор" может отсутствовать.

Напомним, что "оператор"может иметь вид: Begin "операторы" end;

Пример операторов для определения порядка целого числа N от 0 до 999:

case N of

0..9: Writeln('однозначное');

10..99: writeln('двузначное');

100..999: writeln('трехзначное')

else writeln('Число "N" не входит в указанный диапазон') end;

Приведем пример программы случайного предсказания одного из десяти вариантов ближайшего будущего с вероятностью 1/20, в остальных случаях -вы "неудачник".

PROGRAM FUTURE;

var N: word;

Begin

writeln('ПРЕДСКАЗАНИЕ БУДУЩЕГО');

Randomize; N:=Random(20)+1; { N-случайное число от 1 до 20 }

writeln; write('Вас ожидает _');

case N of

1: writeln('счастье'); 6: writeln('здоровье');

2: writeln('пятерка'); 7: writeln('деньги');

3: writeln('дорога'); 8: writeln('любовь');

4: writeln('двойка'); 9: writeln('встреча');

5: writeln('болезнь'); 10: writeln('дети')

else writeln('неудача') end;

writeln('Нажми Enter'); readln;

END.

Здесь функция Random(x)генерирует случайное число, с равномерной плотностью распределения на заданном интервале. Для инициализации распределения в начале программы необходимо вызвать процедуруRandomize.

21

Практическое задание N 1. 4

1. Назначить дежурного в классе из списка 10 учеников с вероятностью 1/15, в остальных случаях дежурит учитель.

2. Выбрать место отдыха в отпуске из списка 10 мест, предлагаемых туристическим агентством с вероятностью 1/30 , в остальных случаях вы отдыхаете дома.

3. Вывести на экран сообщение в зависимости от введенного значения оценки ( по десятибалльной системе ), например: 1. . 2: плохо, 3. . 5: удовлетворительно, и т. д. , иначе -неправильный ввод данных.

4. Вывести на экран сообщение в зависимости от введенного значения температуры воздуха ( от -50 до +500 С ), например:-50. .-20: очень холодно,

-19. .-10: холодно, и т. д. , иначе-неправильный ввод данных.