Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_po_lektsiam_6_9.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
351.23 Кб
Скачать
  1. Вычисление значения многочлена на отрезке по схеме Горнера (л.7) .

Вычисление значения многочлена на отрезке в точках xi Î [х0, хn] представляется в виде вложенных циклов. И внешний цикл (организация движения по отрезку) и внутренний цикл (вычисление значения многочлена в точке) являются циклами с параметром. Их реализация возможна в произвольном виде:

(цикл [for, while, do-while] в цикле [for, while, do-while].

Схема Горнера представляет собой итерационный процесс последовательного вычисления вложенных скобок (от самой внутренней к внешней, т.е. слева направо). Простейшие подсчеты показывают, что такое преобразование позволяет снизить общее количество операций практически в 2 раза.

Например, в случае ах4 + bx3 + cx2 + dx +e = (((ax +b) +c) +d) +e от 7 умножений и 4-х сложений приходим к 4-м умножениям и 4-м сложениям.

Тогда вычисление по схеме Горнера значений на отрезке заданного выше многочлена выглядит так:

const int n=5; //степень многочлена

int main (){

double x_beg, x_end, result=32.0, h;

int koef;

cin >> x_beg >> x_end >> h; //ввод границ отрезка и шага

double x=x_beg;

double b=x_end+h/2;1*

while (x < b) //внешний цикл движения по отрезку

{result = 32.0; //вычисление значения самой внутренней скобки

koef=32;

for (int i= n-1; i >0; i--)//вычисление значения многочлена в точке

{ koef >>= 1; //вычисление очередного коэффициента

result = result * x + koef; //вычисление очередной скобки

} //end цикла вычисления значения многочлена в точке

cout << setw(7) << x << setw(10) << result << endl;

x=x+h; //переход к другой точке отрезка

} //end цикла движения по отрезку

_getch();

return 0;

}

  1. Проверить, является ли заданное число простым. (л.7) Проверка, является ли число простым

int main() {

int n;

cin >> n;

for (int i=2; i <=n/2; i++)

if (n%i== 0)

{cout <<"ne prostoe" << endl; _getch(); exit(1);}

cout << "prostoe" << endl;

_getch();

return 0;

}

__________________________________________________________________________________________________________________________________________________________

  1. Системы счисления. Перевод целых и дробных чисел из одной системы счисления в другую (10->2, 10->16, 2->10, 2->16) (л.8) .

(10 -> 2)

Пример перевода целого числа 19 из десятичной системы счисления в двоичную (последовательным делением на 2):

19

1

-младший разряд

9

1

4

0

2

0

1

- старший разряд

Таким образом, 1910 = 100112

Например: переводим в 2-ичную систему число 0,625 последовательным умножением на основание системы 2:

0,

625

1

250

0

500

1

000

Имеем результат: 0,625 10 = 0,101 2.

(10->16)

Делим на 16 пишем остаток остаток опять на 16 и так пока число не будет меньше 16 оно будет старшим разрядом и по остатку получим 16 число числа больше 9 заменим на a b c d e f

19/16 в остатке 3 = 13

(2->10)(2->16)

Перевод целого двоичного числа в шестнадцатеричную систему проводится путем разбиения числа на тетрады (группы по 4 цифры):

1 1000110110012 = 18D916

Для перевода дробных частей двоичных чисел в восьмеричную или шестнадцатеричную системы аналогичное разбиение (на триады или тетрады) проводится вправо от запятой (с дополнением недостающих последних цифр нулями):

0 ,11000111012 = 0,1100011101002 = 0,61648

0,11000111012 = 0,1100011101002 = 0,С7416

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]