Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глинський С++.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.26 Mб
Скачать
  1. Команда циклу з післяумовою do-while має вигляд

do <команда 1>;

while (<вираз>);

Дія команди.

  1. Виконується команда 1 і обчислюється значення виразу.

  2. Якщо значення виразу істинне, то див. пункт 1), якщо значення виразу хибне - відбувається перехід до на­ступної після do-while команди.

Команда 1 у циклі do-while, на відміну від циклу while, бу­де виконуватись хоча б один раз завжди.

Приклад 6. Нехай цілі змінні х, у мають значення х = 5, у = 0. У результаті виконання команд do

{

у += х; z = 2 * х; х -= 2;

}

while (х > 1);

змінні х, у, z набудуть таких значень: у = 0 + 5 + 3 =8, z = 6, х = 1.

Задача 6 (про розклад числа на прості множники). Роз­класти на прості множники задане натуральне число. Кіль­кість виведень кожного множника дорівнює його кратності у розкладі.

#include <iostream>

#include <cstdlib>// Для роботы с функцiєю system()

using namespace std;

int main()

{

int i, n;

cout << "Введіть число";

cin >>n;

cout << "\n n = 1";

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

{

if (n % i) continue;

do

{

cout << "*" << i; n /= i;

}

while (!(n % i));

}

system("PAUSE");

return 0;

}

Задача 7 (про максимальне значення функції). Протабулювати функцію у = 2cos х на проміжку [—π; π] з кроком h = π/ 4. Результати обчислень вивести на екран або у файл за вибором виконавця у вигляді таблиці. Визначити найбільше значення функції (max) на цьому проміжку, а також з’ясувати, для якого х (хmах) воно досягається.

Максимальне чи мінімальне значення функції, або зна­чення, які задовольняють деяку умову пошуку, визначають методом сканування (перегляду) всіх значень функції та по­рівняння їх з деяким еталоном.

// Табyлювання функції

#include <iostream> // std::cout, сіn

#include <fstream> //std::ofstream, ifstream

using namespace std;

#include <conio.h>

#include <math.h>

int main() {

ofstream tabfile("tabul.txt", ios::out);

float x = -M_PI,// M_PI стандартна стала pi

h = M_PI_4, y, max, xmax;

max = 2 * cos (x);

xmax = x;

cout.precision(2);

cout << " X Y" << "\n";

tabfile << " X Y" << "\n";

do

{

y = 2 * cos (x) + 1.75;

cout<< x<< "\t" << y << "\n";

tabfile << x <<"\t" << y << "\n";

if (y > max)

{

max = y; xmax = x;

}

x += h;

}

while (x <= M_PI + h / 2);

cout << "\n Max = " << max << "\n";

cout << "xmax = " << xmax << "\n";

tabfile << "\n Max = " << max << "\n";

tabfile << "xmax = " << xmax << "\n";

tabfile.close();

getch();

}

Порівняйте результати, виведені на екран і у файл.

Вправи

  1. Визначте результати виконання таких команд (усно):

а) а = 5; for (і = 1; і <= 2; i++) а = а*і-2; а++; (відповідь: а = 5);

б) а = 1; for (і = 1; і <= 3; і++) {а = а + і; а-= 1;}

в) а = 0; for (і = 1; і <= 4; i++) а += і; а += 2;

г) р = 1; for (b = 8; b >= 5; р += b—); р++;

д) s = 0; for (n = 7; n >= 4; n--) {s += n; S++;}

е) а = 4; for (і=1; і <=2; і++) а=а*і -1; а += 2;

є) а = 1; for (і = 1; і <= 3; i++) {а = а + 2 * і; а -= 2;}

ж) а = -1; for (і = 1; і <= 4; i++) а = 2 * а + і; а += 2,

з) р = 30; for (b = 7; b >= 4; b--) р -= b; р += 5;

і) s = 0; for (n = 6; n >= 3; n--) (s = s + 2 * n; s--;}.

  1. Якого значення набуде змінна після виконання команд:

а) р = 4; while (р<10)р = 2*р + 1;р = р + 1 (відповідь: р = 20);

б) р = 4; while (р < 10) {р = 2 * р + 1; р += 1;}

в) р = 5; while (р > 2) р = (р - 3) * 2; р = р - 3;

г) s=1;do s = 2*s + 2 while (s > 10);

д) s = 4; do s = -3 * (s - 6) while (s < 0);

е) p = 7; while (p >=5) p = (p + 3) / 2; p -= 1;

є) p = 7; while (p >= 5) {p = (p + 3) / 2; p -=1;}.

  1. Для чисел від 1 до 10 обчисліть квадратні корені, кубічні корені та корені четвертого степеня. Результати наведіть у вигляді таблиці.

  2. Виведіть на екран у вигляді таблиці номери і значення перших десяти елементів числової послідовності, загальний елемент якої має та­кий вигляд: 7 - 5sini2.

  3. Серед перших 20 елементів числової послідовності 3 - 3sinі2 ви­ведіть на екран номери і значення лише від’ємних елементів, і = 1, 2, .... 20.

  4. Розгляньте елементи числової послідовності 5 - 3cos2i від 10-го до 20- го і виберіть серед них (виведіть їхні номери на екран) більші, ніж 4.

  5. Модифікуйте програму Табулювання функції і визначте її мінімаль­не значення на заданому проміжку.

  6. Нехай дискретна випадкова величина має розподіл

xk

-2

-1

0

1

2

3

pk

0,20

0,10

0,40

0,15

0,05

0,10

Обчисліть математичне сподівання, дисперсію та середнє квадратич­не відхилення.

  1. Відомо статистичний ряд (вибірка) випадкової величини X

xk

-2

-1

0

1

2

3

pk

10

15

8

6

12

14

Обчисліть середнє вибіркове значення , вибіркову дисперсію та середнє квадратичне відхилення .

  1. Напишіть програму, яка у всю вільну доступну в поточний момент оперативну пам’ять комп’ютера записує деяке число.

  1. Складіть програму, яка виводить на екран усі прості натуральні числа до певного заданого числа п.

  2. Розв’яжіть задачу № 6 з розділу "Задачі" вашого варіанта. Результати програми виведіть на екран і у файл.

  3. Розв’язжіть задачу № 7 з розділу "Задачі" вашого варіанта. Результати виведіть на екран і у файл.

  4. Розв’яжіть задачу № 8 з розділу "Задачі” двома способами: а) ви­користовуючи програму-зразок Сума 1; б) модифікувавши програму, враховуючи зауваження 1. Результати обчислень виведіть на екран і у файл. Порівняйте отримані результати.

  5. Розв’яжіть задачу № 9 вашого варіанта з розділу "Задачі". Ре­зультати обчислень виведіть на екран і у файл у вигляді таблиці пар чисел х, у.