Порядок виконання роботи

1. Скопіюйте в свою папку програму LAB10.C з папки C Examples в папці Рабочая папка.

2. Запустіть Dev-C++ для програми LAB10.C.

Програма визначає найбільшого загального дільника для натуральних(цілих) чисел m і n з використанням наступного алгоритму:

Введення чисел m і n.

Привласнення змінної x1 значення змінної m, а змінної x2 - значення змінної n.

Якщо значення змінних x1 і x2 дорівнюють один одному, виведення значень m, n і x1, а потім вихід з програми, інакше виконання пунктів 4-5.

Якщо x1 більше x2, зменшити значення x1 на значення x2, інакше зменшити значення x2 на значення x1.

Перехід до пункту 3.

3. Знайдіть в тексті програми оператор int і отримаєте по ньому довідку. Відкрийте текстовий редактор Блокнот і скопіюйте в його вікно вміст довідки із заголовком "Ключевое слово int".

4. Знайдіть в тексті програми оператор return і отримаєте по ньому довідку. Скопіюйте у вікно текстового редактора Блокнот вміст довідки із заголовком "Ключевое слово return".

5. Знайдіть в тексті програми функцію printf()і отримаєте по ній довідку. Скопіюйте у вікно текстового редактора Блокнот вміст довідки (до пункту More About printf) з заголовком "Функция printf()".

6. Знайдіть в тексті програми функцію getchar()і отримаєте по ній довідку. Скопіюйте у вікно текстового редактора Блокнот вміст довідки (до пункту More About printf) з заголовком "Функция getchar()".

7. Запустіть програму на виконання(програма містить помилку). Знайдіть рядок з помилкою і виправіть помилку.

8. Повторно запустите програму на виконання. Введіть значення тестових значень m и n: 42 и 28. Зверніть увагу, що програма працює неправильно (найбільшим загальним дільником чисел 42 і 28 на насправді являється число 14).

9. Запустіть програму в режимі отладки. Встановіть точку переривання на десятому рядку програми - операторові:

printf("nProgram start);

10. Задайте змінні x1 и x2 як спостережувані і перевірте їх значення в точці переривання.

11. Продовжте виконання програми по кроках до оператора

printf ("nThe greatest common divisor %d and %d: %dn",m,n,x1);

12. Перевірте значення змінних в цій точці і з'ясуйте, чому значення x1 стало невірним (зверніть увагу на оператор if в рядку 12).

13. Виправіть помилку в програмі і наново запустіть програму з тими ж тестовими значеннями в режимі отладки з тієї ж точки переривання з покроковим виконанням. Переконайтеся, що програма видає правильне значення найбільшого загального дільника.

14. Заново запустіть програму на виконання з наступними двома числами для свого варіанту: 1) 121 и 44; 2) 108 и 24; 3) 144 и 56; 4) 136 и 48; 5) 192 и 36; 6) 168 и 98; 7) 176 и 66; 8) 78 и 144; 9) 374 и 68; 10) 372 и 48; 11) 98 и 42; 12) 256 и 48; 13) 714 и 98; 14) 248 и 64; 15) 372 и 84.

15. Покажіть викладачеві програму і результати її роботи і скопіюйте текст програми і результат роботи програми у вікно текстового редактора Блокнот із заголовками "Текст программы LAB10.C" і "Результат работы программы LAB10.C".

16. Напишіть програму(ім'я програми латинськими буквами) відповідно до свого варіанту, а потім виконайте її отладку і тестування (завдання значень - за допомогою операції привласнення, виведення результатів - за допомогою функції printf()):

 

Номер варіанту Початкові дані Операція Вивід
Ім’я Тип Значення
x1 double 3.5 x дорівнює цілій частині x1+x2 x1, x2 и x
x2 double -1.8
x double --
x1 double 8.4 x дорівнює дробовій частині x1+x2 x1, x2 и x
x2 double -1.3
x double --
i double 8.7 x дорівнює цілій частини i*j i, j и x
j double -12
x double --
u1 double 13.3 u дорівнює дробовій частині u1*u2 u1, u2 и u
u2 double -7.8
u double --
a1 double -7.8 a дорівнює цілій частини a1/a2 a1, a2 и a
a2 double -4.3
a double --
b1 double 14.6 b дорівнює дробовій частині b1/b2 b1, b2 и b
b2 double 5.7
b double --
w1 double 118.6 w= w1 + ціла частина w2 w1, w2 и w
w2 double 1.52·102
w double --
i1 int z=i1/i2 (результат - дійсне число) i1, i2 и z
i2 int
z double --
d1 double 18.3 d дорівнює остатку от d1/d2 d1, d2 и d
d2 double 4.8
d double --
y int y1=y++ +5 y=8 y2=++y +5 y, y1 и y2
y1 int --
y2 int --
t int t1=t-- +7 t=14 t2=--t +7 t, t1 и t2
t1 int --
t2 int --
v1 double 14.3 v дорівнює значенню першої цифри після десятичної точки в v1/v2 v1, v2, v1/v2 и v
v2 double 3.1
v int --
s1 double 144.2 s дорівнює значенню першої цифри в цілій частині s1/s2 s1, s2, s1/s2 и s
s2 double 7.3
s int --
a1 int Умовна операція: якщо x>0, то y=a1, інакше y=a2 x, a1, a2 и y
a2 int -1
x int -3
y int --
g1 int Умовна операція: якщо g – парне, то z=g1, інакше z=g2 g, g1, g2 и z
g2 int
g int
z int --

 

17. Покажіть викладачеві програму і результати її роботи і скопіюйте текст програми і результат роботи програми у вікно текстового редактора Блокнот з заголовками "Текст програми ім'я-програми " і "Результат роботи програми ім'я-програми "

18. Скопіюйте отриманий у вікні текстового редактора Блокнот документ на флэш-карту.