Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб_2_метод_указания.doc
Скачиваний:
2
Добавлен:
09.11.2018
Размер:
412.67 Кб
Скачать

Подсчет количества цифр в числе n

//найти количество и сумму цифр числа

int main()

{

int N=123456;

int sum=0, k=0;

while (N>0)

{sum += N%10;

N /=10;

k++;

}

cout << k << " " << sum << endl; //6 21

_getch();

return 0;

}

Вычисление значений функции на отрезке

Составим программу для вычисления и вывода на печать таблицы значений функции у = а*х2 при а =17.7, х изменяется от x0 = 5.5 до xn = 35.0 с шагом h = 0.5 с помощью цикла while.

int main ()

{double a=17.7, x0=5.5, xn=35.0, x, y, h=0.5;

const double X_end = xn+h/2 ; //35.0+h/2, чтобы попала точка 35.0

x= x0;

while (x < X_end)

{ y = a*x*x;

printf ("x=%7.2lf y=%10.2lf\n", x, y);

x+=h;

_getch(); //для задержки результатов вывода на экране

}

return 0;

}

Вычисление на отрезке значений функции с условием и оформление результатов

Составим программу для вычисления и вывода на печать таблицы значений функции с условием у(х), если х изменяется от x0 = 2.0 до xn = 5.0 с шагом h=0.5 с помощью цикла while.

int main()

{

double x0=2.0, xn=5.0, x, y, h=0.5;

const double X_end = xn+h/2 ; //5.0 +h/2, чтобы попала точка 5.0

//////////////////////////////////////////////////////////////////////

printf("\nwhile:\n");

printf ("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",

218,196,196,196,196,194,196,196,196,196,196,196,196,196,196,191);

printf ("%c x %c y %c\n",179, 179, 179);

x=x0;

while (x < X_end)

{ if (x<=3.5) y=cos(x);

else y=sin(x);

printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",

195,196,196,196,196,197,196,196,196,196,196,196,196,196,196,180);

printf("%c%4.2lf%c%9.5lf%c\n", 179, x, 179, y, 179);

x+=h;

}

printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",

192,196,196,196,196,193,196,196,196,196,196,196,196,196,196, 217);

_getch();

return 0;

}

Результаты работы программы:

while:

┌────┬─────────┐

│ x │ y │

├────┼─────────┤

│2.00│ -0.41615│

├────┼─────────┤

│2.50│ -0.80114│

├────┼─────────┤

│3.00│ -0.98999│

├────┼─────────┤

│3.50│ -0.93646│

├────┼─────────┤

│4.00│ -0.75680│

├────┼─────────┤

│4.50│ -0.97753│

├────┼─────────┤

│5.00│ -0.95892│

└────┴─────────┘

Вычисление на отрезке значений функции с условием и оформление результатов в виде таблицы (в стиле С++)

Составим программу для вычисления и вывода на печать таблицы значений функции с условием у(х), если х изменяется от x0=2.0 до xn=5.0 с шагом h=0.5 с помощью цикла while.

#include <iomanip>

#include <math.h>

int main()

{

double x0=2.0, xn=5.0, x, y, h=0.5;

const double X_end = xn+h/2 ; //5.0+h/2, чтобы попала точка 5.0

char c,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10;

c=char(196); c1=char(218); c2=char(194); c3=char(191);

c4=char(179); c5=char(195); c6=char(197); c7=char(180);

c8=char(192); c9=char(217); c10=char(193);

cout<<c1<<c<<c<<c<<c<<c<<c2<<c<<c<<c<<c<<c<<c<<c<<c<<c<<c<<c<<c3<<'\n';

cout<<c4<<" x " << c4 << " y " << c4 << '\n';

int i=0;

x=x0+i*0.5;

while (x < X_end)

{

if (x<=3.5)

{double r=cos(x);

y=r*r;

} //end_if

else

{

y=sin(x)*log(x);

} //end_else

cout <<setiosflags(ios::fixed)<<setprecision(2); cout<<c5<<c<<c<<c<<c<<c<<c6<<c<<c<<c<<c<<c<<c<<c<<c<<c<<c<<c<<c7<<'\n';

cout<<c4<<setw(5) << x;

cout <<setiosflags(ios::fixed)<<setprecision(6) ;

cout<<c4<<setw(11) << y<<c4<<"\n";

i++; //эти два оператора можно заменить на x+=0.5;

x=x0+i*0.5;

} //end_while

cout<<c8<<c<<c<<c<<c<<c<<c10<<c<<c<<c<<c<<c<<c<<c<<c<<c<<c<<c<<c9<<'\n';

_getch();

return 0;

}

Результаты работы программы:

┌─────┬───────────┐

│ x │ y │

├─────┼───────────┤

│ 2.00│ -0.416147│

├─────┼───────────┤

│ 2.50│ -0.801144│

├─────┼───────────┤

│ 3.00│ -0.989992│

├─────┼───────────┤

│ 3.50│ -0.936457│

├─────┼───────────┤

│ 4.00│ -0.756802│

├─────┼───────────┤

│ 4.50│ -0.977530│

├─────┼───────────┤

│ 5.00│ -0.958924│

└─────┴───────────┘