Файл: Практическое задание выполнил студент группы Проверил 2022 год Задание.rtf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.02.2024
Просмотров: 22
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
ПРАКТИЧЕСКОЕ ЗАДАНИЕ
Выполнил студент группы
Проверил:
2022 год
Задание
Используя объектно-ориентированную методологию разработки программных продуктов, создайте кроссплатформенное приложение с оконным интерфейсом, реализующее алгоритм в соответствии с вариантом задания.
Используя произвольные язык программирования и среду разработки создайте программу, которая отображает на экране монитора график кривой или поверхности (в соответствии с вариантом задания) в декартовой и полярной системах координат с центром в центре экрана монитора (окна или иной прямоугольной области экрана). При изменении размеров окна, график и все его атрибуты (координатная сетка, метки на шкале, подписи и т.д.) должны автоматически масштабироваться.
Параметры уравнения кривой или поверхности должны вводиться в специально отведённые ячейки экранной формы программы.
Введение.
Представление данных на мониторе компьютера в графическом виде впервые было реализовано в середине 50-х годов для больших ЭВМ, применявшихся в научных и военных исследованиях. С тех пор графический способ отображения данных стал неотъемлемой принадлежностью подавляющего числа компьютерных систем, в особенности персональных.
Существует специальная область информатики, изучающая методы и средства создания и обработки изображений с помощью программно-аппаратных вычислительных комплексов, – компьютерная графика. Она охватывает все виды и формы представления изображений, доступных для восприятия человеком либо на экране монитора, либо в виде копии на внешнем носителе. [21]
Все современные языки программирования включают в себя поддержку графики.
-
Анализ математического аппарата
Улитка Паскаля – плоская кривая. Ее можно определить как геометрическое место точек М и М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 была создана программа, которая отображает на экране монитора график кривой или поверхности в декартовой и полярной системах координат с центром в центре экрана монитора.
Таким образом, поставленные на выполнение практического задания цели были выполнены в полном объеме.
Библиографический список.
-
Гейн А.Г., Житомирский В.Г. Основы информатики и вычислительной техники [Текст]. – М.: Просвещение, 1998. – 254 г. -
Гусева А.И. Учимся информатике: задачи и методы их решения [Текст]. – М.: Диалог – МИФИ, 2001. -
Дуванов А.A. Азы информатики. Рисуем на компьютере [Текст] // Информатика, №31 (416), 16-22.08.2003 -
Дуванов А.А. «Незаметки» Сидорова (Цикл статей) [Текст] // Информатика, №№ 6, 7, 8, 9, 10, 11, 13, 15, 16, 17, 18, 19, 20, 2001 г. -
Ермолович Е.А., Макарова С.В., Хегай Л.Б. Операционные системы и информационные технологии [Текст]. — Красноярск, 2000. -
Информатика 6-7 класс/ Под ред. Н.В. Макаровой [Текст]. – СПб: Питер, 1999. – 304 с. -
Информатика 9 класс/ Под ред. Н.В. Макаровой [Текст]. – СПб: Питер, 1999. – 304 с. -
Каймин В.А., Щеголев А.Г. Основы информатики вычислительной техники [Текст]. – М.: Просвещение, 1989. – 272 с. -
Корриган Д. Компьютерная графика [Текст]. — М.: Энтроп, 1995. -
Кузнецов А.А., Апатова Н.В. основы информатики [Текст]. – М.: Дрофа, 1999. – 176 с. -
Ляхович В. Ф. Информатика: Пособие для учащихся 10-11 кл. общеобразоват. учреждений [Текст]. – М.: Просвещение, 1998. – 352 с. -
Макарова Н.В. и др. Информатика. Практикум по технологии работы на компьютере [Текст]. — М.: Финансы и статистика, 1998. -
Медведев Л. Н. Модель колеса [Электронный ресурс]. Режим доступа http://inf.1september.ru/articlef.php?ID=200600510 -
Попов В.Б. Turbo Pascal для школьников: учебное пособие [Текст]. – М.: ФИНАНСЫ И СТАТИСТИКА, 2002. -
Семакин И. Информатика и ИКТ. Базовый курс: Уч. для 9 класса. – 2е изд [Текст]. – М.: Бином. Лаборатория знаний, 2006. - 359 с. -
Семенов А. А. Первое знакомство с ООП [Электронный ресурс]. Режим доступа http://inf.1september.ru/1999/art/udin1.htm -
Титова О.В. Полярные цветы [Текст]. // Информатика, № 19 2001 г. -
Угринович Н.Д. Информатика и информационные технологии. Учебник для 10-11 классов [Текст]. – М.: Бином. Лаборатория знаний, 2003. – 512 с. -
Угринович Н.Д. Практикум по информатике и информационным технологиям. Учебное пособие для общеобразовательных учреждений [Текст]. – М.: Лаборатория Базовых Знаний, 2002, 400 с. -
Шауцукова Л.З. Информатика [Текст]. – М.: Просвещение, 2003. -
Шикин Е.В. Начала компьютерной графики [Текст]. — М.: Диалог-МИФИ, 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));
}
//---------------------------------------------------------------------------