Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по информатике.DOC
Скачиваний:
29
Добавлен:
02.05.2014
Размер:
1.68 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 до +50 0 С ), например: -50. . -20: очень холодно,

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