cin >> size_point;
cout << endl << "Инструкция управления кистью:" << endl << endl;
cout << " w - вверх" << endl;
cout << " s - вниз" << endl;
cout << " a - влево" << endl;
cout << " d - вправо" << endl;
cout << " r - поворот" << endl;
cout << "Enter - фиксация точки" << endl;
cout << "Пробел - завершение" << endl << endl;
cout << "Управление осуществляется только на английской раскладке клавиатуры. " << endl;
cout << "Чтобы продолжить нажмите Enter" << endl;
getch();
system("cls");
while(q<1)
{
show.h
point_show(x, y, dir, size_point);
int temp_x = x;
int temp_y = y;
int temp_dir = dir;
ch = getch();
switch (ch)
{
case 100:// d вправо
x++;
break;
case 115:// s вниз
y++;
break;
case 97:// a влево
x--;
break;
case 119://w вверх
y--;
break;
case 114://r поворот
dir = !dir;
break;
case 13://enter установка точки
if (set_point(map, x, y, dir, size_point))
{
}
break;
case 32://пробел выход из цикла
q++;
break;
}
if (!point_in_map(x, y, dir, size_point))
{
x = temp_x;
y = temp_y;
dir = temp_dir;
}
system("cls");
//вывод карты
for (int i=0; i<N; i++)
{
for (int j=0; j<M; j++)
{
if (map[i][j] == 0)
{
cout << '-' ;
}
else
{
cout << map[i][j];
}
}
cout << endl;
}
}
//расположение рисунка
unsigned long int k=0;
int st=0, w=0;
for (int i=M-1; i>=0; i--)
{
for (int j=0; j<N; j++)
{
if (map[j][i] == 1)
{
st= pow(2,j+((M-1)-i)*N);
k=k+st*17;
}
}
}
cout << "\nПо оси ординат рисунок располагается на высоте\n "<< k <<" от начала координат.\n ";
cout << endl;
}
break ;
case 3: return 0 ;
}
}
system("pause");
return 0;
}
Рисунок
1 – Выбор действия
Рисунок
2 – формула Таппера
Рисунок
3 – Инструкция для рисования
Рисунок
4 – Процесс рисования
Рисунок
5 – Вывод координаты рисунка
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
КАФЕДРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ И СЕТЕЙ
|
Описание программы |
|
РЕФЕРАТ ВЫПОЛНИЛА
СТУДЕНТКА ГР. № |
4716 |
|
|
|
С.А. Янышева |
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург
2018
Описание программы
Аннотация
В документе указаны общие сведения о программе. Приведено общее описание функционирования программы. Приведены общие сведения о использованном для разработки языке программирования и библиотеках. Описаны параметры и логика работа программы, даны сведения об исполняемых технических средствах и запуске программы.
4.1 Общие сведения
4.2 Функциональное назначение
4.3 Описание логической структуры
4.4 Спецификация функции
4.5 Используемые технические средства
Вызов и загрузка
4.1 Общие сведения
Программа, написанная на языке C++ и состоит из одного файла .cpp. Игра требует использования клавиатуры. Для функционирования данной программы необходимо ОС Unix–семейства, либо Windows NT–системы с установленным компилятором С++.
4.2 Функциональное назначение
С помощью данной программы пользователь может узнать расположение желаемого рисунка по оси ординат.
Описание логической структуры
Программа, написанна на языке C++. При открытии программы предлагается на выбор два действия. Первое – выводит на экран поле размером 106х17 с формулой. Второе – позволяет самому нарисовать рисунок, управление осуществляется с помощью клавиатуры, а затем выводится координата показывающая расположение рисунка на оси ординат.
Спецификация функции
Описание основных функций:
1. Движение кисти – осуществляется нажатием клавиш d – вправо, s – вниз, a – влево, w – вверх, r – поворот, enter – установка точки (английская раскладка клавиатуры). Вызов функции void gotoxy (). Входные и выходные параметры x, y (расположение кисти на поле).
2. Положение курсора на карте. Вызов функции void point_show(). Входные и выходные параметры x, y, dir, size_point (координаты точки, направление движения, размер кисти).
3. Проверка границ поля – не позволяет кисти уйти за границы рисунка. Вызов функции point_in_map (). Входные и выходные параметры x, y, dir, size_point. (координаты точки, направление движения, размер кисти).
4. Сохранение выбранной (нарисованной) точки. Вызов функции bool set_point (). Входные и выходные параметры map[N][M], x, y, dir, size_point. (поле для рисования (матрица), координаты точки, направление движения, размер кисти).
Для нормального функционирования программы необходимо наличие ПК, на который установлена ОС Unix\Windows – семейств, с компилятором gcc для языка C++ и набора открытых библиотек для конкретной системы.
Вызов и загрузка программы осуществляются в следующей последовательности: компиляции исходных текстов, запуск скомпилированного приложения. Дальнейшие действия определяются соответствующими элементами управления.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
КАФЕДРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ И СЕТЕЙ
|
Описание применения |
|
РЕФЕРАТ ВЫПОЛНИЛА
СТУДЕНТКА ГР. № |
4716 |
|
|
|
С.А. Янышева |
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург
2018
Описание применения
Аннотация
В документе приводятся назначение программы, её основные характеристики и область применения.
Назначение программы
5.2 Условие применения
Описание задачи
Характеристики занимаемой памяти
5.1 Назначение программы
Программа «Формула всего» – это подсчет упрощённой версии самореферентной формулы Таппера (формулы всего).
5.2 Условие применения
Программа написана на языке C++.Для нормального функционирования программы необходимо наличие ПК. Для запуска программы необходимо скомпилировать и запустить исполняемый файл.
5.3 Описание задачи
Реализовать программу, выполняющую подсчет переменной k, где k является координатой заданного узора на оси ординат.
Характеристики занимаемой памяти
1. Объем требуемой памяти: 2,04 Мб;
2. Объем занимаемый исходными кодами: 10 Кб;
3. Содержит: 3 файла; 0 папок.
https://ru.wikipedia.org/wiki/Формула_Таппера
https://code-live.ru/tag/cpp-manual/