Моделирование обучающей программы по математике "Декартовая система координат"

Создание программы для обучения пользователя пониманию и нахождению координат точки на координатной плоскости. Обоснование этапов обработки информации, общая концепция программы "Декартовая система координат", определение ее состава и структуры.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 20.10.2022
Размер файла 1,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство образования и науки республики казахстан

Усть-Каменогорский высший политехнический колледж

курсовой проект

Тема Моделирование обучающей программы по математике

«Декартовая система координат»

Студент Чувилин Никита Вячеславович

Руководитель Даниярова А.Г.

г.Усть-Каменогорск 2021 год

Оглавление

Введение

1. Аналитическая часть

1.1 Описание и постановка задачи

1.2 Теоретические сведения

1.3 Обоснование этапов обработки информации, общая концепция программы, её состав и структура

2. Технологическая часть

2.1 Системные требования

2.2 Описание пользовательского интерфейса

2.3 Перечень и описание входных данных

2.4 Руководство к эксплуотации

2.5 Результаты тестирования программы

Заключение

Список используемой литературы

Приложение А

Введение

Целью курсовой работы является использование на практике преобретенных знаний о языке С++, полученных в процессе обучения. В данной курсовой работе главное внимание уделяется работе с графикой и функциями.

В настоящее время создано огромное количество языков программирования. С++ является ондним из самых популярных языков программирования на ряду с такими языками как Python, Java и JavaScript.

C++ - компилируемый, типизированный язык программирования общего назначения, на котором можно создавать программы любого уровня сложности. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также игр. Синтаксис C++ унаследован от языка C. Одним из принципов разработки было сохранение совместимости с C

1. Аналитическая часть

1.1 Описание и постановка задачи

программа декартовый система координата

Для курсовой работы требуется создать программу для обучения пользователя понимания и нахождения координат точки на координатной плоскости. Перед пользователем будет стоять задача - найти и написать координаты точек, которые будут появляться на экране. Для нахожднения координат человек мыслеено должен опустить от точки перпендикуляр на каждую ось и посчитать количество единичных отрезков от нулевой отметки до опущенного перпендикуляра. По мере нахождения координат точке на экране будет вырисоваться картинка сложеная из линий проведенным по точка.

Важным элементом программы является графическое меню состоящее из трех пунктов: «Новая игра» «Помощь» и «Выход». Перемещение между пунктами меню происходит при помощи нажатий на клавиатуре клавиш «W» и «S».

1.2 Теоретические сведения

Прямоугольная система координат -- это система координат, которую изобрел математик Рене Декарт, ее еще называют «декартова система координат». Система координат представляет собой два взаимно перпендикулярных луча с началом отсчета в точке их пересечения.

Координаты -- это совокупность чисел, которые определяют положение какого-либо объекта на прямой, плоскости, поверхности или в пространстве.

Координатные оси -- это прямые, образующие систему координат. Ось абсцисс Ox -- горизонтальная ось. Ось ординат Oy -- вертикальная ось.

Координатыне оси перескают друг друга под рямым улом. Точка их пересечения имеет координаты (0,0) и назвается началом координат.

Чтобы узнать координаты точки на плоскости, нужно опустить от точки перпендикуляр на каждую ось и посчитать количество единичных отрезков от нулевой отметки до опущенного перпендикуляра (См. Рис.1.1). Координаты точки на плоскости записывают в скобках, первая по оси Ох, вторая по оси Оу.

Координатные оси разбивают плоскость на четыре квадранта (См. Рис. 1.2). На нём же указана расстановка знаков координат точек в зависимости от их расположения в том или ином квадранте.

Рисунок 1.1 Координатная плоскость

Рисунок 1.2 Квадранты координатной плоскости

1.3 Обоснование этапов обработки информации, общая концепция программы, её состав и структура

Разработка данной курсовой работы состоит из следующих этапов:

· Проработка и уточнение теоретического задания;

· Составление алгоритма;

· Разработка структуры программы;

· Разработка текста программы;

· Отладка и тестирование программы;

· Оформление пояснительной записки.

Программа содержит 13 функций, в том числе функция main.

В основной функции содержится инициализация размеров графического окна, установка языка в консоли на русский, инцализация случайных чисел, вызов функции «viborMenu» и закрытие графического окна по завершению функции.

- функция «backgrnd» - Рисует на экране задний фон для большинства окон. В дальнейших функциях эта функция вызывается самой первой.

- функция «Menu» - Рисует на экране текст главного меню и подсказки.

- функция «viborMenu» - Содержит в себе рисование ползунков выбора меню и алгоритм считывания нажатий на определенном пункте.

- функция «help» - вызывает вспомогательную функцию «helpText» и считывает нажатие на клавиши в пункте меню «Помощь».

- функция «helpText» - Рисует на экране текст пункта «Помощь».

- функция «kordToch» - Рисует координатную плоскость.

- функция «kordTochAlg» - Содержит в себе алгоритм самой игры.

На рисунке 1 показана структура программы.

Рисунок 1 Структура программы

2. Технологическая часть

2.1 Системные требования

Для выполнения корректной работы этого программного продукта необходимы следующие минимальные системные требования:

- Операционная система Windows 98/XP/NT/Vista/Seven

- ОЗУ 256 Mb

- Процессор Pentium 4 2.0 Gg

- Видеокарта GForce FX 5200 128 Mb

- Клавиатура

- Мышь

2.2 Описание пользовательского интерфейса

Для удобства работы пользователя с данной программой разработана система меню, состоящая из следующих пунктов (рисунок 2):

· Новая игра

· Помощь

· Выход

Рисунок 2 Главное меню

Перемещение по пунктам меню осуществляется нажатиями клавиш W и S. Для выбора нужного пункта необходимо переместить указатели в виде линий на нужный пункт и нажать Enter.

Описание пунктов меню:

Первый пункт «Начать игру» запускает основную игру.

Второй пункт «Правила» описывает как производится управление в игре и основную ее суть.

Третий пункт «Выход» закрывает графическое окно.

2.3 Перечень и описание входных данных

ch - Переменная для хранения значения нажатых клавиш.

x,y,x1,y1 - Переменные для хранения координат точек.

x1front, y1front - Массивы для хранения координт точек на координатной плоскости относительно самой координатной плоскости.

x1back, y1back - Массивы для хранения координат точек на плоскости относительно размера графического окна.

2.4 Руководство к эксплуотации

Для использования программы необходимо скачать папку с программой и открыть файл под названием «Main.exe».

После запуска перед вами появится главное меню (см. рис. 2). При выборе пункта меню «Новая игра» на экран выйдет координатная плоскость на которой расположена точка (см.рис.3). Ваша задача найти и написать в консоль координаты этой точки. После ввода координат точки появляется вторая точка в другом месте. Так же между новой и предыдущей точкой появляется линия (см.рис.4). По мере нахождения координат будет появляться рисунок. После успешного нахождения координат всех точек появится выбор «Выйти в меню» или «Начать новую игру».

Рисунок 3 Игра

Рисунок 4 Первая введенная точка

2.5 Результаты тестирования программы

При тестировании данного программного продукта каких-либо отклонений от поставленной цели не наблюдалось. В целом программа готова к эксплуатации. В результате тестирования в программе не было выявлено никаких ошибок. Программа работает нормально и без сбоев.

Заключение

Данный курсовой проект представляет собой обучающую игру, в которую может играть любой пользователь. Программа сстрого оформлена. Меню игры позволяет пользователю с легкостью совершать необходимые действия.

Были проведены большие работы в сфере объектно-ориентированного программирования, что, в свою очередь, предоставило нам возможность совершенствования тех профессиональных навыков, которые потребуются в дальнейшем при создании других более сложных программ.

Представленная пояснительная записка показывает принцип работы программы. Полностью раскрывает методы работы с ней. Представляет всю необходимую информацию о курсовом проекте и непосредственно самой программе.

Список используемой литературы

1. Ильин В.А., Позняк Э.Г. Основы математического анализа. Часть I. Учебник для физических специальностей и др. Изд. 4. М.: Наука. Главная редакция физ-мат литературы. 1982, 616 с.

2. Пискунов Н.С. Дифференциальное и интегральное исчисление. М.: Наука, 1978-1980, т.т.1, 2

3. Ильин В. А., Поздняк Э. Г. Основы математического анализа. М.: Дрофа, 2001.

4. Численные методы интегрирования и решения дифференциальных уравнений Новопоселенких Виталий, МОУ «Лицей №1» г. Перми, 11 кл Анферов Сергей Дмитриевич, преподаватель информатики МОУ «Лицей №1» г. Перми.

5. Теория и технология программирования Основы программирования на языках C и C++. Основы численного интегрирования Глухих Михаил Игоревич, к.т.н., доц.

Приложение А

#include <conio.h>

#include <iostream>

#include <graphics.h>

#include <clocale>

#include <time.h>

#include <cstdlib> // для exit(0)

using namespace std;

bool onMenu=1;

//////////////////////////////////////

void backgrnd();

void helpText();

void povtoriRis();

void menu();

void kordToch();

void kordTochAlg();

void kordTochResult();

void help();

void preGameTxt();

void preGame();

void err();

void viborMenu();

//////////////////////////////////////

int main()

{

/////////////////////////////////////

initwindow(800,600);

setlocale (LC_CTYPE, "Russian");

srand(time(NULL));

////////////////////////////////////

viborMenu();

closegraph();

}

void menu()

{

setbkcolor(BLACK);

clearviewport();

backgrnd(); // Вызов функции рисования заднего фона

setcolor(WHITE);

settextstyle(3,0,9);

outtextxy(200,50,"МЕНЮ");

settextstyle(3,0,5);

outtextxy(200,200,"Начать игру");

outtextxy(225,300,"Правила");

outtextxy(240,400,"Выход");

settextstyle(3,0,3);

outtextxy(10,500,"W-Вверх, S-Вниз, Enter-Выбор");

}

void viborMenu()

{

clearviewport();

menu();

int ch;

int x,y;

x=110; y=225;

setcolor(4);

setlinestyle(1,0,9);

line(x,y+=50,x+50,y+=50);

line(x+400,y,x+460,y);

while(true)

{

ch=getch();

if (ch==115 && y<400)

{

clearviewport();

menu();

setlinestyle(1,0,9);

setcolor(4);

line(x,y+=50,x+60,y+=50);

line(x+400,y,x+460,y);

}

if (ch==119 && y>250)

{

clearviewport();

menu();

setlinestyle(1,0,9);

setcolor(4);

line(x,y-=50,x+60,y-=50);

line(x+400,y,x+460,y);

}

if (ch==13 && y==225)

kordTochAlg();

if (ch==13 && y==325)

help();

if(ch==13 && y==425)

{

closegraph();

exit(0);

}

if (ch==97 || ch==100)

err();

}

}

void help()

{

int ch;

clearviewport();

backgrnd();

helpText();

while(true)

{

ch=getch();

if(ch==27)

{

viborMenu();

}

}

}

void backgrnd()

{

int y=0;

while (y<500)

{

setcolor(7);

setlinestyle(0,0,3);

line(0,y,800,y);

y+=50;

}

setcolor(2);

setlinestyle(0,0,3);

while(y>=500 && y<=600)

{

line(0,y,800,y);

y+=25;

}

setcolor(15);

}

void helpText()

{

settextstyle(3,0,9);

outtextxy(30,25,"ПРАВИЛА");

/////Координаты точек/////

settextstyle(3,0,3);

outtextxy(100,150,"Коодинаты точек");

settextstyle(3,0,1);

outtextxy(20,195,"На координатной плоскости будет распоожена точка.");

outtextxy(15,220,"Нужно правильно написать координаты этой точки. Чтобы узнать координаты точки на плоскости, ");

outtextxy(15,245,"нужно опустить от точки перпендикуляр на каждую ось и посчитать количество единичных отрезков");

outtextxy(15,270,"от нулевой отметки до опущенного перпендикуляра.");

outtextxy(15,295,"Координаты вводятся в консоль по типу X Y через пробел.");

outtextxy(15,320,"В итоге должен получиться рисунок из линий проведенным по точкам.");

/////Назад/////

settextstyle(3,0,4);

outtextxy(540,550,"ESC - Назад");

}

void kordToch() //Координаты точек

{

int x=0,y=100;

setbkcolor(WHITE);

clearviewport();

settextstyle(3,0,6);

setcolor(BLACK);

outtextxy(50,10,"Введите координаты точки");

settextstyle(3,0,1);

outtextxy(50,70,"Вводите координаты в консоль. Координаты вводятся в виде X Y через пробел");

setcolor(LIGHTGRAY);

setlinestyle(0,0,1);

while (x<=800)

{

line(x,100,x,600);

line(0,y,800,y);

x+=25;

y+=25;

delay(30);

}

setcolor(BLACK);

setlinestyle(0,0,2);

line(400,100,400,600);

line(0,350,800,350);

x=0; y=100;

while (x<=800)

{

line(x,340,x,360);

line(390,y,410,y);

x+=25; y+=25;

settextstyle(3,0,1);

setcolor(BLACK);

outtextxy(370,390,"-2");

outtextxy(445,365,"2");

outtextxy(375,290,"2");

outtextxy(340,365,"-2");

outtextxy(386,354,"0");

}

}

void kordTochAlg()

{

int xvved,yvved,pravOtvet=1;

int x1back[]={600, 500, 525, 475, 450, 300, 325, 275, 200, 225, 225, 250, 250, 275, 300, 325,350,375,400,425,450,450,475,475,500,525,600 };

int y1back[]={375, 400, 425, 425, 400, 400, 425, 425, 300, 300, 250, 275, 225, 250, 200, 250,200,250,200,250,225,275,250,300,275,325,375 };

int x1front[]={8, 4, 5, 3, 2, -4, -3, -5, -8, -7, -7, -6, -6, -5, -4, -3, -2, -1, 0, 1, 2, 2, 3, 3, 4, 5, 8};

int y1front[]={-1, -2, -3, -3, -2, -2, -3, -3, 2, 2, 4, 3, 5, 4, 6, 4, 6, 4, 6, 4, 5, 3, 4, 2, 3, 1, -1};

setcolor(RED);

clearviewport();

kordToch();

setlinestyle(0,0,3);

while (pravOtvet<=27)

{

circle(x1back[pravOtvet-1],y1back[pravOtvet-1],7);

cin>>xvved;

if (xvved==100)

viborMenu();

cin>>yvved;

if (xvved==x1front[pravOtvet-1] && yvved==y1front[pravOtvet-1])

{

line(x1back[pravOtvet-1],y1back[pravOtvet-1],x1back[pravOtvet],y1back[pravOtvet]);

pravOtvet++;

system("cls");

}

else

{

cout<<"Не правильно! Введите координаты еще раз"<<endl;

}

}

clearviewport();

settextstyle(3,0,5);

setcolor(RED);

outtextxy(220,100,"Все правильно!");

setcolor(GREEN);

outtextxy(20,400,"Новая игра - Enter");

setcolor(RED);

outtextxy(530,400,"Выход - Esc");

int ch=getch();

if (ch==13)

kordTochAlg();

if (ch==27)

viborMenu();

clearviewport();

}

////////Не важно////////

void err()

{

int x,y;

while (true)

{

x=rand()%700;

y=rand()%580;

settextstyle(1,0,3);

setcolor(RED);

outtextxy(x,y,"ERROR");

delay(15);

}

}

Размещено на Allbest.ru


Подобные документы

  • Система линейных алгебраических уравнений. Декартова прямоугольная система координат на плоскости. Дифференциальные уравнения и их приложения в математике, механике. Основные понятия теории вероятностей. Представление информации и кодирование информации.

    курс лекций [3,9 M], добавлен 16.06.2015

  • Постановка задачи и ее математическая модель. Блок-схема алгоритма обработки массивов координат точек. Тестирование алгоритма сортировки. Используемые глобальные и локальные переменные. Листинг программы на языке Си. Анализ результатов. Пример работы.

    курсовая работа [1,8 M], добавлен 08.11.2012

  • Механические системы и анимационное моделирование. Некоторые задачи моделирования механических систем (на примере движение тела с переменной массой). Создание анимационно-обучающей программы механической системы, текст программы и описание ее установки.

    дипломная работа [522,2 K], добавлен 30.08.2010

  • Обзор стрелковых тренажеров, их достоинств и недостатков. Выбор веб-камеры, разработка общего алгоритма программы. Реализация спускового крючка. Создание пристрелки для настройки тренажера. Линейная аппроксимация, нахождение координат точки прицеливания.

    дипломная работа [3,4 M], добавлен 26.12.2014

  • Исследование точности оценки координат и параметров движения источника излучения по результатам угломерных измерений в различных режимах и конфигурации измерительной системы. Разработка соответствующей программы, ее листинг, алгоритм и этапы реализации.

    курсовая работа [311,5 K], добавлен 13.05.2014

  • Разработка программы для вычисления размеров между ключевыми точками на лице человека при работе с фотографией с целью определения расы, пола, возраста, состояния здоровья. Математические алгоритмы для обработки координат точек. Экспорт и импорт значений.

    курсовая работа [1,5 M], добавлен 16.02.2013

  • Характеристика программы для реализации проектов, созданных в формате трехмерного моделирования. Классификация кривых 2-го порядка. Построение окружности, эллипса, гиперболы и параболы в системе координат с помощью программного обеспечения 3D MAX.

    контрольная работа [667,7 K], добавлен 18.01.2014

  • Создание класса прямоугольников со сторонами, параллельными осям координат. Основные требования к программе. Описание классов и диаграмма их взаимодействия. Интерфейс пользователя и руководство по эксплуатации программы. Блок-схемы разработанных методов.

    курсовая работа [622,8 K], добавлен 18.03.2011

  • Определение необходимых модулей программы, структуры файла базы данных. Описание разработки программы, отладка и тестирование. Разработка приложения Organizer.exe, меню и руководство пользователя. Алгоритм обработки событий главного меню (расписания).

    курсовая работа [901,8 K], добавлен 11.02.2014

  • Система программирования Delphi, ее характеристика. Основные требования к обучающей программе. Составление блок-схемы алгоритма программы "Математика. 1 класс". Виды задач для решения в обучающей программе. Описание работы системы, инструкция к ней.

    курсовая работа [2,0 M], добавлен 17.06.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.