Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР9-С++-17-апреля-2012.doc
Скачиваний:
28
Добавлен:
15.09.2019
Размер:
1.15 Mб
Скачать

2.5.2.2. Пример для варианта 30

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

для x, изменяющегося от a = 0,1 до b = 1,2 с шагом h = 0,1 и n =0.

2.5.2.3. Программа

Ниже представлена программа табулирования функции с использованием цикла for:

//Лабораторная работа № 9

//Задание 9-2d

//Вложенный цикл для двух параметров

//Вариант 30

//Автор Петрова Мария гр. ИНФО-101

// 16.04.2012

//= = = = = = = = = = = = == = = = == = = = ==

#include <conio.h> // подключение библиотеки функций ввода-вывода

#include <iostream.h> // подключение библиотеки потокового ввода-вывода

#include <math.h> // подключение библиотеки математических функций

#include <iomanip.h> // подключение библиотеки средств манипулирования потоками

int main ()

{

// Объявление переменных

int k, n;

float x, a, b, h, s, y;

// Ввод значений для переменных хn, xk, dx, yn, yk, dy

cout << "Bвeдите a: " , cin >> a;

cout << "Введите b: ", cin >> b;

cout << "Bвeдите шаг h: ", cin >> h;

cout << "Bвeдите число членов суммы n: " , cin >> n;

// вывод заголовка и шапки таблицы

cout << " Та6лица значений функции y=f(х)" << endl

<< " |--------------------------------|" << endl

<< " | х | y |" << endl

<< " |-------------|------------------|" << endl;

// Табуляция функции y

for(x=a;x<=b+h/2;x+=h)

{

y=0;

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

{

// Вычисление значения функции y для заданного x

y = y + pow(x, 2*k)/(2*k*(2*k - 1));

// Вывод очередной строки таблицы

// Вывод аргумента x

cout << " I " << "x= "<< setw(3) << x << setw(7) << " I ";

// Вывод значения функции y

cout << "y= "<< setw(4) << y << " I " << endl;

}//Конец цикла по k

}//Конец цикла по x

cout << " |-------------|------------------|" << endl;

cout << "Нажмите любую клавишу..." ;

getch();

return 0;

}

2.5.2.4. Тестирование

…………………………………………………………..

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

1. Какой цикл называется вложенным?

2. Какой цикл называется внешним?

3. Какой цикл называется внутренним?

4. Можно ли оператор for записать внутри другого оператора for?

5. Каков максимальный уровень вложенности операторов цикла друг в друга?

6. Какой формат имеет оператор цикла do-while?

7. Какой формат имеет спецификация оператора цикла for?

8. По какой блок-схеме организуются вложенные циклы?

9. Чему равно приращение параметра цикла, если опущена соответствующая конструкция в операторе for?

10. В какой последовательности выполняются спецификации в операто­ре цикла for?

11. Когда и сколько раз вычисляются начальное значение, шаг (при­ращение) и конечное значение параметра цикла for?

12. Какие элементы спецификации оператора цикла for мо­гут быть опущены?

13. Как влияет на выполнение цикла элемент спецификации while(Е)?

14. Каким образом организуются вычисления в цикле с несколькими одновременно изменяющимися параметрами?

15. При программировании каких вычислительных процессов наиболее часто используются вложенные циклические процессы?

16. Каково назначение операторов break и contunuie?

17. От чего зависит число повторений цикла?

18. Можно ли изменить значение управляющей переменной (параметра цикла) внутри цикла (в теле цикла)?

19. Возможна ли передача управления из тела цикла до окончания цикла?

20. Каким образом можно выйти из тела цикла до завершения цикла?

21. Какое значение имеет управляющая переменная (параметр цикла), если цикл завершился естественным образом?

22. Какое значение имеет управляющая переменная (параметр цикла), если выполнение цикла прекратилось с помощью оператора break?

23. Можно ли войти в тело цикла, минуя заголовок цикла?

24. Можно ли передавать управление на операторы, обра­зующие тело цикла, из вне цикла?

25. Могут ли операторы образующие тело цикла изменить начальное значение, приращение и конечное значение параметра цикла в процессе выполнения цикла?

26. Можно ли выйти из цикла до того как будет исчерпан список спе­цификаций оператора цикла?

27. Как можно выйти из цикла до того как будет исчерпан список спе­цификаций оператора цикла?

28. Как осуществляется в языке C++ проверка окончания цикла: до выполнения операторов, составляющих тело цикла, или - после ?

29. Почему выражения, не зависящие от параметра цикла, следует вычислять до входа в цикл?

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

31. Верно ли, что в теле цикла с предусловием должен находиться один оператор?

32. Как сделать, чтобы в теле цикла было несколько операторов?

33. Когда провернется истинность выражения и цикле wh1le?

34. Верно ли, что истинность выражения в цикле с предусловием является усло­вием продолжения цикла?

35. Сколько раз выполнится оператор в теле цикла wh1le, если с самого начала значение выражения равно false?

36. Верно ли, что цикл while используется при вычислении всякого рода сумм и произведений, когда заранее не известно число повторений?

37. Какому условию должны удовлетворять вложенные циклы?

38. Может ли внешний цикл быть циклом for, а внутренний — циклом while?

39. Могут ли внутренний и внешний циклы быть циклами разных видов?

40. Могут ли внутренний и внешний циклы быть циклами одного вида?

41. Может ли вещественная переменная быть параметром цикла for?

42. Можно ли в качестве параметров вложенных циклов for использовать одну и ту же переменную?

43. Какие утверждения являются верными (проиллюстрируйте ответ соответ­ствующими примерами):

a) любой цикл for можно записать при помощи цикла while;

b) любой цикл while можно записать при помощи цикла for;

c) не любой цикл for можно записать при помощи цикла while;

d) не любой цикл while можно записать при помощи цикла for.

44. Сколько операторов можно записать между ключевыми словами do и whilel?

45 Когда проверяется истинность выражения в операторе цикла while?

46. Какой тип имеет выражение в операторе цикла с постусловием?

47. Почему в цикле do оператор тела цикла всегда будет выполнен хотя б один раз?

48. Верно ли, что истинность выражения в цикле while является условием окончания цикла?

49. С помощью каких служебных слов записывается цикл с параметром?

50. Верно ли. что цикл с параметром применяется в тех случаях, когда заранее известно число повторений?

51. Пусть цикл записан в виде:

for (E1; E2; E3)

a) Как называется El?

b) Как называется E2?

c) Как называется E3?

52. Верно ли, что в качестве параметра цикла for используется простая перемен­ная, описанная в текущем блоке?

53. Какой тип должен иметь параметр цикла в цикле for?

54. Какой тип должны иметь начальное и конечное значения в цикле for?

55. Чему равно значение параметра цикла for после завершения цикла?

56. Можно ли войти в тело цикла for, минуя его заголовок?

57. Можно ли войти в тело цикла while, минуя его заголовок?

58. Можно ли войти в тело цикла do… while, минуя его заголовок?

59. Допустим ли выход из тела цикла for?

60. Допустим ли выход из тела цикла while?

61. Допустим ли выход из тела цикла do… while?

62 Какие циклы называются вложенными?

63. Верно ли, что цикл, содержащий в себе другой цикл, называется внешним?

64. Какой цикл называется внутренним?

65. Какому условию должны удовлетворять вложенные циклы?

66. Может ли внешний цикл быть циклом for, а внутренний — циклом while?

67. Могут ли внутренний и внешний циклы быть циклами разных видов?

68, Могут ли внутренний и внешний циклы быть циклами одного вида?

69. Может ли вещественная переменная быть параметром цикла for?

70. Можно ли в качестве параметров вложенных циклов for использовать одну и ту же переменную?

71. Какие утверждения являются верными (проиллюстрируете ответ соответ­ствующими примерами);

а) любой цикл for можно записать при помощи цикла while;

b) любой цикл white можно записать при помощи цикла for;

c) не любой цикл for можно записать при помощи цикла while:

d) не любой цикл while можно записать при помощи цикла for

72. Чем отличаются циклы с предусловием от циклов с постусловием?

73. Опишите последовательность функционирования циклов while и do while. Какой из этих циклов является циклом с предусловием, а какой — с постусловием?

74. Опишите схему работы оператора цикла for. Является ли цикл for циклом с предусловием или циклом с постусловием?

75. Что такое неполный цикл for?

76. Как более прозрачно может быть записан цикл for (; i< 10;)?

77. Сколько раз символ «;» (точка с запятой) должен обязательно содержаться внутри заголовка неполного оператора for? полного?

78. Как будет работать цикл с заголовком for (l = 1; ; l ++)?

79. Цикл for (i=1, i<W. i++); не содержит тела. Будет ли работать такой цикл? Что получится в результате?

80. Какие циклы называются вложенными? Какую глубину вложения циклов допускает язык С?

81. Что такое мерцающий счетчик? Для чего он применяется?