Файл: Практическое задание выполнил студент группы Проверил 2022 год Задание.rtf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 03.02.2024

Просмотров: 21

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


ПРАКТИЧЕСКОЕ ЗАДАНИЕ

Выполнил студент группы
Проверил:
2022 год
Задание

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

Используя произвольные язык программирования и среду разработки создайте программу, которая отображает на экране монитора график кривой или поверхности (в соответствии с вариантом задания) в декартовой и полярной системах координат с центром в центре экрана монитора (окна или иной прямоугольной области экрана). При изменении размеров окна, график и все его атрибуты (координатная сетка, метки на шкале, подписи и т.д.) должны автоматически масштабироваться.

Параметры уравнения кривой или поверхности должны вводиться в специально отведённые ячейки экранной формы программы.














Введение.


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

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

Все современные языки программирования включают в себя поддержку графики.

  1. Анализ математического аппарата


Улитка Паскаля – плоская кривая. Ее можно определить как геометрическое место точек М и М1, расположенных на прямых пучка с центром в точке О, лежащей на данной окружности радиуса R, и находящихся на равном расстоянии а по обе стороны от точки пересечения Р прямых пучка с окружностью – см. рис., – где а < 2R. Улитка Паскаля изображена на нем красной линией.

Уравнение улитки Паскаля в полярных координатах имеет вид:

ρ = 2 Rcosφ + a,

где φ – полярный угол радиуса-вектора текущей точки.
Если а = 2R, то петля улитки Паскаля (сплошная линия внутри данной окружности на рис.) стягивается в точку, и улитка Паскаля вырождается в кардиоиду.

Если a > 2R, улитка Паскаля не имеет общих точек с данной окружностью (см. рис.).

В прямоугольных декартовых координатах улитка Паскаля имеет уравнение (х2 + у2 – 2Rx)2 – a2(x2 + y2) = 0.

Поэтому она является алгебраической кривой четвертого порядка.
Как видно из рисунков, улитка Паскаля симметрична относительно оси абсцисс, начало координат при а > 2R – двойная точка; при а < 2R – узловая точка; при а = 2R – точка возврата I рода.
Площадь S, ограниченную улиткой Паскаля, можно подсчитать по формуле Для построения улитки Паскаля достаточно нарисовать окружность W произвольного радиуса R = a, выбрать на ней некоторую точку А и начать вращать вокруг точки А луч АС. Если по обе стороны от второй точки пересечения луча АС с окружностью на луче АС откладывать отрезки, равные радиусу исходной окружности ( R = a), то получится два набора точек - М и М'. Улитка Паскаля - геометрическое место точек М и М'. Для завершения построения через полученные точки достаточно провести плавную непрерывную линию.


2. Выбор языка программирования


Для реализации программы был выбран язык программирования C# -- объектно-ориентированный язык программирования для платформы .NET. Он разработан в 2000 году Андерсом Хейлсбергом, Скоттом Вилтамутом и Питером Гольде под эгидой Microsoft Research. Основным постулатом С# является высказывание: «всякая сущность есть объект». Язык основан на строгой компонентной архитектуре и реализует передовые механизмы обеспечения безопасности кода.

C# был создан специально для технологии ASP.NET. В то же время на C# полностью написана и сама ASP.NET.

C# -- это полнофункциональный объектно-ориентированный язык, который поддерживает все три «столпа» объектно-ориентированного программирования: инкапсуляцию, наследование и полиморфизм. Он имеет прекрасную поддержку компонентов, надежен и устойчив благодаря использованию «сборки мусора», обработки исключений, безопасности типов.

Язык C# разрабатывался «с нуля» и вобрал в себя много полезных свойств таких языков, как C++, Java, Visual Basic, а также Pascal, Delphi и др. При этом необходимость обратной совместимости с предыдущими версиями отсутствовала, что позволило языку C# избежать многих отрицательных сторон своих предшественников.


Как и Java, C# разрабатывался для Интернет и примерно 75% его синтаксических возможностей аналогичны языку программирования Java, его также называют «очищенной версией Java». 10% подобны языку программирования C++, а 5% -- заимствованы из языка программирования Visual Basic. Объем новых концептуальных идей в языке C# около 10%.

Выделение и объединение лучших идей современных языков программирования делает язык C# не просто суммой их достоинств, а языком программирования нового поколения, поэтому я выбрал именно этот язык для написания программы.

3. ВЫБОР СРЕДЫ РАЗРАБОТКИ

В качестве среды разработке была выбрана Microsoft Visual Studio 2012, он обеспечивает высокое качество кода на протяжении всего цикла жизни ПО, от проектирования до внедрения. Какие бы приложения не разрабатывались: для SharePoint, Интернет, Windows, Windows Phone и других платформ, Visual Studio -- это универсальное всеобъемлющее решение. Сегодня это основное и самое эффективное средство разработки решений для платформы Microsoft.

Visual Studio 2012 олицетворяет собой представление корпорации Майкрософт об интеллектуальных клиентских приложениях и позволяет быстро создавать подключаемые к базам данных приложения, способные обеспечить широчайшие возможности для работы пользователей. С помощью Visual Studio 2012 можно собирать и анализировать информацию проще, чем когда бы то ни было раньше, что способствует принятию эффективных бизнес-решений. С помощью Visual Studio 2012 возможно быстро создавать более безопасные, управляемые и надежные приложения, использующие преимущества Windows Vista™ и системы Microsoft Office 2012.

А такие новинки, как поддержка ASP.NET AJAX и надстройка Silverlight для Visual Studio 2012, помогут создавать целый спектр интерактивных веб-приложений. С выходом Windows Server 2012 и SQL Server 2012 возможности платформы Майкрософт еще больше расширятся.

Visual Studio 2012 продолжает традиции, заложенные предыдущими версиями продукта, и содержит множество новинок, предназначенных как для упрощения создания приложений для различных платформ отдельными, так и для повышения производительности всей проектной команды. Поэтому мною была выбрана именно эта среда разработки.



Блок-схема алгоритма



Рис. 1



Рис. 2



Рис. 3
Тестирование



Рисунок 1. Окно приложения

ЗАКЛЮЧЕНИЕ.
Таким образом входе выполнения практического задания с использованием языка программирования С # и среды разработки Microsoft Visual Studio 2012 была создана программа, которая отображает на экране монитора график кривой или поверхности в декартовой и полярной системах координат с центром в центре экрана монитора.

Таким образом, поставленные на выполнение практического задания цели были выполнены в полном объеме.

Библиографический список.

  1. Гейн А.Г., Житомирский В.Г. Основы информатики и вычислительной техники [Текст]. – М.: Просвещение, 1998. – 254 г.

  2. Гусева А.И. Учимся информатике: задачи и методы их решения [Текст]. – М.: Диалог – МИФИ, 2001.

  3. Дуванов А.A. Азы информатики. Рисуем на компьютере [Текст] // Информатика, №31 (416), 16-22.08.2003

  4. Дуванов А.А. «Незаметки» Сидорова (Цикл статей) [Текст] // Информатика, №№ 6, 7, 8, 9, 10, 11, 13, 15, 16, 17, 18, 19, 20, 2001 г.

  5. Ермолович Е.А., Макарова С.В., Хегай Л.Б. Операционные системы и информационные технологии [Текст]. — Красноярск, 2000.

  6. Информатика 6-7 класс/ Под ред. Н.В. Макаровой [Текст]. – СПб: Питер, 1999. – 304 с.

  7. Информатика 9 класс/ Под ред. Н.В. Макаровой [Текст]. – СПб: Питер, 1999. – 304 с.

  8. Каймин В.А., Щеголев А.Г. Основы информатики вычислительной техники [Текст]. – М.: Просвещение, 1989. – 272 с.

  9. Корриган Д. Компьютерная графика [Текст]. — М.: Энтроп, 1995.

  10. Кузнецов А.А., Апатова Н.В. основы информатики [Текст]. – М.: Дрофа, 1999. – 176 с.

  11. Ляхович В. Ф. Информатика: Пособие для учащихся 10-11 кл. общеобразоват. учреждений [Текст]. – М.: Просвещение, 1998. – 352 с.

  12. Макарова Н.В. и др. Информатика. Практикум по технологии работы на компьютере [Текст]. — М.: Финансы и статистика, 1998.

  13. Медведев Л. Н. Модель колеса [Электронный ресурс]. Режим доступа http://inf.1september.ru/articlef.php?ID=200600510

  14. Попов В.Б. Turbo Pascal для школьников: учебное пособие [Текст]. – М.: ФИНАНСЫ И СТАТИСТИКА, 2002.

  15. Семакин И. Информатика и ИКТ. Базовый курс: Уч. для 9 класса. – 2е изд [Текст]. – М.: Бином. Лаборатория знаний, 2006. - 359 с.

  16. Семенов А. А. Первое знакомство с ООП [Электронный ресурс]. Режим доступа http://inf.1september.ru/1999/art/udin1.htm

  17. Титова О.В. Полярные цветы [Текст]. // Информатика, № 19 2001 г.

  18. Угринович Н.Д. Информатика и информационные технологии. Учебник для 10-11 классов [Текст]. – М.: Бином. Лаборатория знаний, 2003. – 512 с.

  19. Угринович Н.Д. Практикум по информатике и информационным технологиям. Учебное пособие для общеобразовательных учреждений [Текст]. – М.: Лаборатория Базовых Знаний, 2002, 400 с.

  20. Шауцукова Л.З. Информатика [Текст]. – М.: Просвещение, 2003.

  21. Шикин Е.В. Начала компьютерной графики [Текст]. — М.: Диалог-МИФИ, 1994.



Приложение
//---------------------------------------------------------------------------

#include

#pragma hdrstop

#include

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

int x = ClientWidth, y = ClientHeight, i;

Image1->Canvas->TextOut(x/6, 0, "Рисуем график с Pixels");

Image1->Canvas->TextOut(x/6, y/2, "Рисуем график с LineTo");

Image1->Canvas->Pen->Color = clRed;

Image1->Canvas->MoveTo(0, y/2);

Image1->Canvas->LineTo(x/2, y/2);

Image1->Canvas->MoveTo(x/2, 0);

Image1->Canvas->LineTo(x/2, y);

const n = 10;

Image1->Canvas->Pen->Color = clBlack;

for (i = 0; i < 2; i++)

{

Image1->Canvas->MoveTo(n/2, y/2*(.5+i));

Image1->Canvas->LineTo(x/2-n, y/2*(.5+i));

Image1->Canvas->MoveTo((x/2-n)/2, y/2*i+n);

Image1->Canvas->LineTo((x/2-n)/2, y/2*(1+i)-n);

}

double j;

for (j = 0.1; j <= (x/2 - 2*n)/2; j += 0.01)

Image1->Canvas->Pixels[j+(x/2-n)/2][y/4+4*n-2*n*log(j)] = clBlue; // как здесь поменять, чтобы график стал y=exp(-1*pow(x,2))

j = 0.1;

Image1->Canvas->Pen->Color = clGreen;

Image1->Canvas->MoveTo((j+(x/2-n)/2), 3*y/4+4*n-2*n*log(j)); // и здесь!

for (double j = 0.1; j <= (x/2 - 2*n)/2; j += 0.01)

Image1->Canvas->LineTo((j+(x/2-n)/2), 3*y/4+4*n-2*n*log(j));

}

//---------------------------------------------------------------------------