- •1. Краткие теоретические сведения
- •1.1. Вычисления в цикле с несколькими одновременно изменяющимися параметрами
- •1.2. Вложенные циклы
- •1.3. Программирование произвольных цвп
- •1.4. Использование циклических алгоритмов в решении содержательных задач
- •2. Задание
- •2.1. Изучить теоретические сведения
- •2.4. Задания для выполнения на занятиях
- •2.4.1. Задание 1. Цвп с одновременно меняющимися параметрами
- •2.4.1.1. Условие задания
- •2.4.1.2. Пример для варианта 30
- •2.4.1.3. Программа
- •2.4.1.4. Тестирование
- •2.4.2. Задание 2. Вложенные цвп
- •2.4.2.1. Условие задания
- •2.4.2.2. Пример для варианта 30
- •2.4.2.3. Программа
- •2.4.2.4. Тестирование
- •2.4.3. Задание 3. Произвольные цвп
- •2.4.3.1. Условие задания
- •2.4.3.2. Пример для варианта 30
- •2.4.3.3. Программа
- •2.5.1.2. Пример для варианта 30
- •2.5.1.3. Программа
- •2.5.1.4. Тестирование
- •2.5.2. Задание 2. Двойной вложенный цикл
- •2.5.2.1. Условие задания
- •2.5.2.2. Пример для варианта 30
- •2.5.2.3. Программа
- •2.5.2.4. Тестирование
- •Вопросы для самоконтроля
- •Литература
- •1. Краткие теоретические сведения 2
- •1.1. Вычисления в цикле с несколькими одновременно изменяющимися параметрами 2
2.5.1.2. Пример для варианта 30
Составить программу для табуляции функции двух переменных f(х,у) вида
,
содержащей вложенные циклы, при х = -2 (1) 2; у = -10 (5) 10 и z = -4 (2) 4.
2.5.1.3. Программа
//Лабораторная работа № 9
//Задание 9-1d
//Вложенный цикл для трех параметров
//Вариант 30
//Автор Петрова Мария гр. ИНФО-101
// 16.04.2012
//= = = = = = = = = = = = == = = = == = = = ==
#include <conio.h> // подключение библиотеки функций ввода-вывода
#include <iostream.h> // подключение библиотеки потокового ввода-вывода
#include <math.h> // подключение библиотеки математических функций
#include <iomanip.h> // подключение библиотеки средств манипулирования потоками
int main ()
{
// Объявление переменных
float x, xn, xk, dx, y, yn, yk, dy, z, zn, zk, dz, bxyz;
// Ввод значений для переменных хn, xk, dx, yn, yk, dy
cout << "Bвeдите хn: " , cin >> xn;
cout << "Введите xk: ", cin >> xk;
cout << "Bвeдите шаг dx: ", cin >> dx;
cout << "Bвeдите yn: " , cin >> yn;
cout << "Введите yk: ", cin >> yk;
cout << "Bвeдите шаг dy: ", cin >> dy;
cout << "Bвeдите zn: " , cin >> zn;
cout << "Введите zk: ", cin >> zk;
cout << "Bвeдите шаг dz ", cin >> dz;
// вывод заголовка и шапки таблицы
cout << " Та6лица значений функции b = f (х,y,z) " << endl
<< " |------------------------------------------------------------------|" << endl
<< " | х | y | z | b = f(х,y,z) |" << endl
<< " |-------------|------------|------------|--------------------------|" << endl;
// Табуляция функции b = f(x,y,z)
for(x=xn;x<=xk;x+=dx)
{
for(y=yn;y<=yk;y+=dy)
{
for(z=zn;z<=zk;z+=dz)
{
if (y ==0) continue;
// Вычисление значения функции fxy
bxyz=(sin(x)+sqrt(fabs(z-y)))/(y+(x-2)+x*x);
// Вывод очередной строки таблицы
// Вывод аргумента x
cout << " I " << "x= "<< setw(3) << x << setw(7) << " I ";
// Вывод аргумента y
cout << "y= "<< setw(4) << y << " I ";
// Вывод аргумента z
cout << "z= "<< setw(4) << z << " I ";
// Вывод значения функции bxyz
cout << " " << setw(4) << "f(x,y,z) = " << setw(10)<<bxyz << " I " << endl;
}//Конец цикла по z
}//Конец цикла по y
}//Конец цикла по x
cout << " |-------------|------------|------------|--------------------------|" << endl;
cout << "Нажмите любую клавишу..." ;
getch();
return 0;
}
2.5.1.4. Тестирование
………………………………………………………………………………………….
2.5.2. Задание 2. Двойной вложенный цикл
2.5.2.1. Условие задания
Вывести на экран таблицу значений функции y(x) для x, изменяющегося от a = 0,1 до b = 1,2 с шагом h = 0,1.
Варианты задания приведены в табл. 9.6. Вариант соответствует номеру в журнале группы.
Таблица 9.6
Индивидуальные варианты задания
№ |
Вид функции |
k |
№ |
Вид функции |
n |
1 |
|
20 |
16 |
|
25 |
2 |
|
15 |
17 |
|
20 |
3 |
|
20 |
18 |
|
15 |
4 |
|
16 |
19 |
|
20 |
5 |
|
20 |
20 |
|
18 |
6 |
|
15 |
21 |
|
20 |
7 |
|
20 |
22 |
|
16 |
8 |
|
12 |
23 |
|
20 |
9 |
|
20 |
24 |
|
14 |
10 |
|
16 |
25 |
|
20 |
11 |
|
20 |
26 |
|
20 |
12 |
|
12 |
27 |
|
18 |
13 |
|
20 |
28 |
|
20 |
14 |
|
16 |
29 |
|
20 |
15 |
|
20 |
30 |
|
18 |
|
|
|
31 |
|
20 |