2. Определите значение переменной А после выполнения фрагмента алгоритма. Постройте таблицу пошагового выполнения алгоритма по образцу. Укажите вид цикла, который используется во фрагменте алгоритма.
//На VS 2010 решается так, в других средах разработки может нужно к заголовкам добавить .h или убрать подключение пространства имен STD :(Console application)
void Print(int m, int ** matr) // Функция печати матрицы на экран { for(int i = 0; i< m; i++) { for(int j = 0; j<m; j++) { cout.width(4); cout<<matr[i][j]; } cout<<endl; } }
void search_and_print(int X, int **M) //Функция поиска элементов с их сортировкой и выводом на экран { int razmer = ((X*X) - X)/2; int *mas = new int [razmer]; int Y = X - 1; float srednee = 0; int index = 0; for (int j = 0; j<Y;j++) { for(int i = 0; i<(X-1);i++ ) { mas[index] = M[i][j]; index++; } Y--; } for(int i = 0; i<(razmer-1); i++) //Сортировка методом выбора. X-1 раз ищем наименьший элемент. { //Принимаем за наименьший первый элемент из расматриваемых: int min = i; //Поиск минимального элемента из неупорядоченных: for(int j = i+1;j<razmer;j++) { //Если нашли меньший элемент, запминаем его номер: if(mas[j]<mas[min]) min = j; } //Обмен элементов: int a = mas[i]; mas[i] = mas[min]; mas[min] = a; } cout<<"\nUporyado4enniy massiv:\n"; //Вывод и суммирование элементов отсортированного массива для среднего for(int i = 0;i<razmer;i++) { cout<<mas[i]<<ends; srednee += mas[i]; } //Поиск арифметичесгоко реднего} srednee = srednee/razmer; cout<<"\nSrednee: "<<srednee; delete [] mas; } void main() {
srand ((unsigned)time(NULL)); int X; cout<<"Vveditrazmer matritsi po gorizontaly i po vertikaly:\n"; cin>>X; int** Matr; Matr = new int* [X]; //Безопасный задания динамического { Matr[i] = new int[X]; // двумерного массива. for(int j =0; j<X; j++) //Заполняем матрицу { Matr[i][j] = rand()%10-5;} //Числами от -5 до 5 } cout<<"Ishodnaya matritsa:\n"; Print(X,Matr); search_and_print(X,Matr); _getch(); delete [] Matr; }
Итак создай табличку с заголовками что-то типа "Необходимая сумма через 3 года", "Процентная ставка за год", "количество лет, требуемое для достижение указанной суммы" и "средства, необходимые для вложения"
Если такие ячейки создавать подряд, то пусть первая будет в a1, вторая в b1 и т.д.
Отворматируй весь столбец A в денежный с долларамми США (выдели стобец нажав на название столбюца "A", правой кнопкой мыши щелкни по выделенному стобцу(вызови контекстное меню) и выбери там "Формат ячеек", во вкладке число выбери "Денежный" и в Обозначении выбери "$ Английский (США)" ), столбец B в "Процентный" (делается так же только выберается не денежный а процентный), столбец C сделай числовым и уменьши кол-во знаков после запятой до 0(все там же), D должен быть опять-таки денежным в долларах США.
После этого напиши простой пример - в b2 занеси 3 (%), в с2 - 1 (год), в D2 - 1000 ($). Попробуй постоить формулу для вычисления первого столбца. Она будет естественной равна =D2+(D2*B2)*C2. Соотевественно она и будет использоваться в ячейке a2. После этого выделяем на ячейку А2(с формулой), после этого для офиса 2007 надо зайти во вкладку "данные", в комбо-боксе "Работа с данными" выбрать "Анализ "что-если", и в меню выбрать "Подбор параметров". В 2003 кажется это делается в меню "Сервис/подбор параметров" Появится окошко, изображенное на рисунке 1. В верней части(верхнем поле, верхнем текстбоксе) расположена ячейка, в которой будет храниться результат(ее менять не надо, ибо с нее же и берется формула для подбора аргументов) В сренем поле находится то значение, до каторого нужно подогнать формулу, в нашем случае 50000 - вводим данное значение в поле. В нижнее поле нужно ввести те ячейки, которые будут подгоняться под значение. В нашем случае это D2. Для выбора именно этой ячейки кликнем на иконку рядом с полем и выделим ячейку D2, потом еще раз кликнем на иконку в изменившемся окошкке и оно вернется к первоначальному виду с уже введенной информацией. Жмем ОК и автоподбор пошел. При обнаружении решения эксель выдаст сообщение об этом событии окошком, изображенном на втором рисунке. Нажми ок - и все!
Если не понятно - скинул еще и EXEL-евский документ. В нем в начале - два примера, в конце - просчитанный вариант под твои параметры.
//На VS 2010 решается так, в других средах разработки может нужно к заголовкам добавить .h или убрать подключение пространства имен STD :(Console application)
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
using namespace std;
void Print(int m, int ** matr) // Функция печати матрицы на экран
{
for(int i = 0; i< m; i++)
{
for(int j = 0; j<m; j++)
{
cout.width(4);
cout<<matr[i][j];
}
cout<<endl;
}
}
void search_and_print(int X, int **M) //Функция поиска элементов с их сортировкой и выводом на экран
{
int razmer = ((X*X) - X)/2;
int *mas = new int [razmer];
int Y = X - 1;
float srednee = 0;
int index = 0;
for (int j = 0; j<Y;j++)
{
for(int i = 0; i<(X-1);i++ )
{
mas[index] = M[i][j];
index++;
}
Y--;
}
for(int i = 0; i<(razmer-1); i++) //Сортировка методом выбора. X-1 раз ищем наименьший элемент.
{
//Принимаем за наименьший первый элемент из расматриваемых:
int min = i;
//Поиск минимального элемента из неупорядоченных:
for(int j = i+1;j<razmer;j++)
{
//Если нашли меньший элемент, запминаем его номер:
if(mas[j]<mas[min]) min = j;
}
//Обмен элементов:
int a = mas[i];
mas[i] = mas[min];
mas[min] = a;
}
cout<<"\nUporyado4enniy massiv:\n";
//Вывод и суммирование элементов отсортированного массива для среднего
for(int i = 0;i<razmer;i++)
{
cout<<mas[i]<<ends;
srednee += mas[i];
}
//Поиск арифметичесгоко реднего}
srednee = srednee/razmer;
cout<<"\nSrednee: "<<srednee;
delete [] mas;
}
void main()
{
srand ((unsigned)time(NULL));
int X;
cout<<"Vveditrazmer matritsi po gorizontaly i po vertikaly:\n";
cin>>X;
int** Matr;
Matr = new int* [X]; //Безопасный задания динамического
{
Matr[i] = new int[X]; // двумерного массива.
for(int j =0; j<X; j++) //Заполняем матрицу
{ Matr[i][j] = rand()%10-5;} //Числами от -5 до 5
}
cout<<"Ishodnaya matritsa:\n";
Print(X,Matr);
search_and_print(X,Matr);
_getch();
delete [] Matr;
}
Итак создай табличку с заголовками что-то типа "Необходимая сумма через 3 года", "Процентная ставка за год", "количество лет, требуемое для достижение указанной суммы" и "средства, необходимые для вложения"
Если такие ячейки создавать подряд, то пусть первая будет в a1, вторая в b1 и т.д.
Отворматируй весь столбец A в денежный с долларамми США (выдели стобец нажав на название столбюца "A", правой кнопкой мыши щелкни по выделенному стобцу(вызови контекстное меню) и выбери там "Формат ячеек", во вкладке число выбери "Денежный" и в Обозначении выбери "$ Английский (США)" ), столбец B в "Процентный" (делается так же только выберается не денежный а процентный), столбец C сделай числовым и уменьши кол-во знаков после запятой до 0(все там же), D должен быть опять-таки денежным в долларах США.
После этого напиши простой пример - в b2 занеси 3 (%), в с2 - 1 (год), в D2 - 1000 ($). Попробуй постоить формулу для вычисления первого столбца. Она будет естественной равна =D2+(D2*B2)*C2. Соотевественно она и будет использоваться в ячейке a2.
После этого выделяем на ячейку А2(с формулой), после этого для офиса 2007 надо зайти во вкладку "данные", в комбо-боксе "Работа с данными" выбрать "Анализ "что-если", и в меню выбрать "Подбор параметров". В 2003 кажется это делается в меню "Сервис/подбор параметров"
Появится окошко, изображенное на рисунке 1.
В верней части(верхнем поле, верхнем текстбоксе) расположена ячейка, в которой будет храниться результат(ее менять не надо, ибо с нее же и берется формула для подбора аргументов)
В сренем поле находится то значение, до каторого нужно подогнать формулу, в нашем случае 50000 - вводим данное значение в поле.
В нижнее поле нужно ввести те ячейки, которые будут подгоняться под значение. В нашем случае это D2. Для выбора именно этой ячейки кликнем на иконку рядом с полем и выделим ячейку D2, потом еще раз кликнем на иконку в изменившемся окошкке и оно вернется к первоначальному виду с уже введенной информацией. Жмем ОК и автоподбор пошел. При обнаружении решения эксель выдаст сообщение об этом событии окошком, изображенном на втором рисунке. Нажми ок - и все!
Если не понятно - скинул еще и EXEL-евский документ. В нем в начале - два примера, в конце - просчитанный вариант под твои параметры.