Лекция: Пример 2.1 выполнения задания

 

Найти коэффициенты k0, k1, k2, k3 представления числа Х (0≤X≤80) в троичной системе счисления:

 

X =k3⋅33+k2⋅32+k1⋅3+k0 (2.1)

 

используя операции получения частного целочисленного деления (/) и остатка

 

(%). Для контроля результатов выполнить вычисление Х непосредственно по формуле (2.1) для найденных коэффициентов, а также после преобразования выражения в форму-ле (2.1) по схеме Горнера. Вывести все результаты вычислений в наглядной форме с по-ясняющими текстами. Проверить работу программы на значениях

 

X=(0; 1; 2; 10; 27; 48; 80).

 

Программа

 

#include <stdafx.h>

 

int _tmain(int argc, _TCHAR* argv[])

 

{

 

unsigned int X, k0, k1, k2, k3, X1, X2;

 

//Ввод исходных данных printf(«input X: „); scanf(“%u»,&X);

 

«Практикум по программированию на языке C в среде VS C++»


 

//Вычисление коэффициентов разложения

 

k0=X%3; X=X/3; //k0:=остаток от деления X на 3;

 

k1=X%3; X=X/3; //k1:=остаток от деления X/3 на 3;

 

k2=X%3; //k2:=остаток от деления X/9 на 3;

 

k3=X/3; //k3:=X/27;

 

//Вывод вычисленных коэффициентов разложения //числа Х по степеням 3 с поясняющими текстами printf("\nk3=%u k2=%u k1=%u

 

k0=%u",k3,k2,k1,k0);

 

// Проверки результатов вычислений

 

// 1.

 

//Вычисление непосредственно по формуле (2.1)

 

X1=k3*27+k2*9+k1*3+k0;

 

//и вывод результата printf("\nX1 = %u",X1);

 

// 2.

 

//Вычисление по формуле (2.1), //преобразованной по схеме Горнера

X2=((k3*3+k2)*3+k1)*3+k0;

 

//и вывод результата printf("\nX2 = %u\n",X2); return 0;

 

}

 

Протокол ввода-вывода этой программы для числа 77 будет следующим: input X: 77

 

k3=2 k2=2 k1=1 k0=2 X1 = 77

 

 

X2 = 77

 

еще рефераты
Еще работы по информатике