Меню

пятница, 24 февраля 2012 г.

Задание на дом во время карантина

Эффективные алгоритмы.
В Паскале отсутствует возможность возведения в степень, не считая квадрата. Поэтому для получения а20 нужно а*а*а*а…*а  19 раз. Но если учесть, что результат умножения можно сохранить в промежуточной переменной, ответ можно найти за 5 действий.
Program prim_1;
Var a,b:real;
Begin
                Write(‘введите  число’);
                Readln(A);
В:=A*А;               {получаем А во 2 }
B:=В*В;               { получаем А в 4 }
В:=A*B;               { получаем А в 5 }
B:=В*В;               { получаем А в 10 }
B:=В*В;               { получаем А в 20 }
Writeln(‘A  в 20 степени=’,В:0:2);  {Вместо указания ширины поля для вывода числа лучше ставить 0, тогда компилятор отведет столько позиций под целую часть, сколько получилось в ответе, а для дробной части я посчитала возможным оставить 2 позиции}
Readln
End.
В фигурные скобки {…} в программе можно заключать комментарий, компилятор пропускает текст, заключенный в такие скобки, а комментарий позволяет вспомнить о чем программа если вы позднее возвращаетесь к ее тексту.

Задание для тренировки.
1.Дано вещественное число А. Не пользуясь никакими арифметическими операциями, кроме умножения, получить:
1)       А4 за две операции;
2)       А6 за три операции;
3)       А7 за четыре операции;
4)       А8 за три операции;
5)       А9 за четыре операции;
6)       А13 за пять операции;
7)       А15 за пять операции;
8)       А19 за пять операции;
9)       А21 за шесть операции;
10)   А28 за шесть операции.

Комментариев нет:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.