4. Порядок выполнения работы

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

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

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

1)  Ввод чисел m и n.

2)  Присваивание переменной x1 значения переменной m, а переменной x2 – значения переменной n.

3)  Если значения переменных x1 и x2 равны друг другу, вывод значений m, n и x1, а затем выход из программы, иначе выполнение пунктов 4-5.

4)  Если x1 больше x2, уменьшить значение x1 на значение x2, иначе уменьшить значение x2 на значение x1.

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

4. Найдите в тексте программы оператор int и получите по нему справку. Откройте текстовый редактор Блокнот и скопируйте в его окно содержимое справки с заголовком "Ключевое слово int".

5. Найдите в тексте программы оператор return и получите по нему справку. Скопируйте в окно текстового редактора Блокнот содержимое справки с заголовком "Ключевое слово return".

6. Найдите в тексте программы функцию printf() и получите по ней справку. Скопируйте в окно текстового редактора Блокнот содержимое справки (до пункта More About printf) с заголовком "Функция printf()".

7. Найдите в тексте программы функцию getchar() и получите по ней справку. Скопируйте в окно текстового редактора Блокнот содержимое справки (до пункта More About printf) с заголовком "Функция getchar()".

НЕ нашли? Не то? Что вы ищете?

8. Запустите программу на выполнение (программа содержит ошибку). Найдите строку с ошибкой и исправьте ошибку (xx1 на x1).

9. Повторно запустите программу на выполнение. Введите значения тестовые значения m и n: 42 и 28. Обратите внимание, что программа работает неправильно (наибольшим общим делителем чисел 42 и 28 на самом деле является число 14).

10. Запустите программу в режиме отладки. Установите точку прерывания на десятой строке программы – операторе:

printf("\nProgram start);

11. Задайте переменные x1 и x2 как наблюдаемые и проверьте их значения в точке прерывания.

12. Продолжите выполнения программы по шагам до оператора

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

13. Проверьте значение переменных в этой точке и выясните, почему значение x1 стало неверным (обратите внимание на оператор if в строке 12).

14. Исправьте ошибку в программе и заново запустите программу с теми же тестовыми значениями в режиме отладки с той же точки прерывания с пошаговым выполнением. Убедитесь, что программа выдает правильное значение наибольшего общего делителя.

15. Заново запустите программу на выполнение со следующими двумя числами для своего варианта:и 44;и 24;и 56;и 48;и 36;и 98;и 66;и 144;и 68; и 48; и 42; и 48; и 98; и 64; и 84.

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

17. Напишите программу (имя программы латинскими буквами) в соответствии со своим вариантом, а затем выполните ее отладку и тестирование (задание значений – с помощью операции присваивание, вывод результатов – с помощью функции printf()):

Номер варианта

Исходные данные

Операция

Вывод

Имя

Тип

Значение

1

x1

double

3.5

x равен целой части x1+x2

x1, x2 и x

x2

double

-1.8

x

double

--

2

x1

double

8.4

x равен дробной части x1+x2

x1, x2 и x

x2

double

-1.3

x

double

--

3

i

double

8.7

x равен целой части i*j

i, j и x

j

double

-12

x

double

--

4

u1

double

13.3

u равен дробной части u1*u2

u1, u2 и u

u2

double

-7.8

u

double

--

5

a1

double

-7.8

a равен целой части a1/a2

a1, a2 и a

a2

double

-4.3

a

double

--

6

b1

double

14.6

b равен дробной части b1/b2

b1, b2 и b

b2

double

5.7

b

double

--

7

w1

double

118.6

w= w1 + целая часть w2

w1, w2 и w

w2

double

1.52·102

w

double

--

8

i1

int

15

z=i1/i2 (результат- вещественное число)

i1, i2 и z

i2

int

6

z

double

--

9

d1

double

18.3

d равен остатку от d1/d2

d1, d2 и d

d2

double

4.8

d

double

--

10

y

int

8

y1=y++ +5

y=8

y2=++y +5

y, y1 и y2

y1

int

--

y2

int

--

Номер варианта

Исходные данные

Операция

Вывод

Имя

Тип

Значение

11

t

int

14

t1=t-- +7

t=14

t2=--t +7

t, t1 и t2

t1

int

--

t2

int

--

12

v1

double

14.3

v равно значению первой цифры после десятичной точки в v1/v2

v1, v2, v1/v2 и v

v2

double

3.1

v

int

--

13

s1

double

144.2

s равно значению первой цифры в целой части s1/s2

s1, s2, s1/s2 и s

s2

double

7.3

s

int

--

14

a1

int

1

Условная операция: если x>0, то y=a1, иначе y=a2

x, a1, a2 и y

a2

int

-1

x

int

-3

y

int

--

15

g1

int

0

Условная операция: если g – четное, то z=g1, иначе z=g2

g, g1, g2 и z

g2

int

1

g

int

4

z

int

--

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

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

5. Содержание отчета

В отчете должно быть представлено содержимое созданного вами документа.

6. Вопросы для самоконтроля

20. Какие компоненты включают в себя интегрированная оболочка BorlandC?

21. Назовите окна интегрированной оболочки BorlandC++ и их назначение.

22. Какая операции над текстом исходной программы можно выполнить с помощью команд меню File?

23. С помощью какой команды можно сразу откомпилировать, скомпоновать и выполнить программу в BorlandC++?

24. Какие типы символов определены в C? Какие функции выполняет каждый тип символов?

25. Какие типы констант определены в C?

26. Какие типы целых констант определены в C?

27. Как объявляются переменные в C? Какие функции выполняют квалификаторы при объявлении переменных?

28. Как инициализируются переменные в C?

29. Какие арифметические операции определены в C?

30. Каков приоритет арифметических операций в C и как можно изменить порядок выполнения операций?

31. Какие формы оператора присваивания определены в C?

32. Что такое стандартная библиотека C и как включить разделы этой библиотеки в текст программы?

33. Как можно вывести результаты работы на экран дисплея в C?

34. Для каких целей используются спецификации формата и как они записываются?

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4