13422

Визуализация линейных изображений

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа №2 Тема Визуализация линейных изображений. Задание Начертить узор образованный 50 вложенными квадратами. Стороны первого квадрата параллельны осям координат экрана. Вершины каждого последующего квадрата – это точки на сторон...

Русский

2013-05-11

47.5 KB

10 чел.

Лабораторная работа №2

  1.  Тема

Визуализация линейных изображений.

  1.  Задание

Начертить узор, образованный 50 вложенными  квадратами. Стороны первого квадрата параллельны осям координат экрана. Вершины каждого последующего квадрата – это точки на сторонах предыдущего квадрата, делящие эти стороны в отношении  Р = 0,08.

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

Прямая линия, проходящая через две точки с координатами (x1 ,y1)  и (x2,y2), может быть описана параметрическими уравнениями:

x = x1 + ( x2 –x1) P,

y = y1 + ( y2 y1) P.

 При   0 < P < 1 точка   (x, y) лежит внутри отрезка и делит его в отношении

 P / (1-P).

Алгоритм решения задачи:

Шаг 0. Начало.

Шаг 1. Задать координаты исходного квадрата.

Шаг 2.  Повторить 50 (в условии 50 вложенных квадратов) раз такие действия:

        Шаг 2.1. Нарисовать очередной квадрат.

        Шаг 2.2. По формулам x = x1 + ( x2 –x1) P,

     y = y1 + ( y2 – y1) P  определить координаты следующего вложенного квадрата.

C# Циклы

Оператор if может иметь конструкцию:

long x = 10;

if (x is byte) {Console.WriteLine("x имеет тип byte"); }

else if (x is short) {Console.WriteLine("x имеет тип short");  }

else if (x is long) {Console.WriteLine("x имеет тип long"); }

else {Console.WriteLine("x имеет не определённый тип или object"); }

Цикл же позволяет многократно повторять одну и ту же последовательность команд (тело цикла) и прирывать действие цикла при выполнении некоторого условия.

Например, в случае если необходимо проводить итерации по элементам массива то часто используют цикл for (о нём ниже).

Пример цикла for:

for (int i = 0; i < 10; i++)   

{

Console.Write("Введите слово: ");

string s = Console.ReadLine();

if (s == "end")  { break; }

Console.WriteLine("Вы ввели: " + s); 

}

Цикл while выполняет оператор или блок операторов, пока определенное выражение не примет значение false.

n = 0;

while (n < 6)

{

Console.WriteLine("Значение n = {0}", n);

n++;

}

Цикл do .. while выполнит блок операторов как минимум один раз, а затем повторит выполнение цикла до тех пор, пока условное выражение не возвратит значение false.

n = 12;

do {

Console.WriteLine("Значение n = {0}", n);

n++;

} while (n < 6);

В данном примере тело цикла выполнится - но только один раз.

Цикл foreach позволяет производить итерацию по каждому объекту в контейнерном классе, поддерживающем интерфейс IEnumerable. К контейнерным классам относятся массивы, классы коллекций (System.Collection) и определенные пользователем классы коллекций. 

Пример цикла foreach:

int[]  Ints = { 1, 2, 3 };

foreach (int temp in Ints)

{

Console.WriteLine(temp);  

}

Объекты в цикле foreach доступны только для чтения! Значение объекта в коллекции изменять нельзя! (следующий код вызовет ошибку):

temp++; // объекты в цикле foreach только для чтения!

Оператор goto позволяет передать управление строке программы, отмеченной меткой.

goto myLabel;

Console.WriteLine("Эта строка не будет выполнена");

myLabel:

Console.WriteLine("Выполнение будет продолжено от сюда");

Нельзя передать управление в блок кода, например в цикл for, нельзя передать управление за пределы класса и нельзя выйти из блока finaly.

Оператор break можно использовать для выхода из цикла for, foreach, while, do..while.

Оператор continue прерывает только текущую итерацию, т.е. выполнение будет продолжено со следующей итерации цикла, а не выйдет из цикла.

Рисование линии

Graphics.DrawLine - метод (Pen, Int32, Int32, Int32, Int32)

Проводит линию, соединяющую две точки, задаваемые парами координат.

C#

public void DrawLine(

Pen pen,

 int x1,

 int y1,

 int x2,

 int y2

)

Данный метод проводит линию на экране, соединяющую две точки, которые определяются параметрами x1, y1, x2 и y2.

4. Порядок выполнения лабораторной работы:

        1.Закодировать предложенный алгоритм.

        2. Написать программу.               

        3. Результаты работы программы показать на экране монитора.

        4. Оформить отчет, включающий: титульный лист, задание, код программы с комментариями, результаты та выводы по работе.

        5. Продемонстрировать рабочую программу на компьютере.  


 

А также другие работы, которые могут Вас заинтересовать

78461. Кровохарканье и легочные кровотечения. Дифференциальный диагноз. Тактика ведения больных с кровохарканьем и легочным кровотечением 84.5 KB
  Кровохарканье появление в мокроте крови в виде прожилок или равномерной примеси яркокрасного цвета. Отхаркивание большого количества крови и наличие примеси крови в каждом плевке мокроты свидетельствуют о легочном кровотечении. Кровохарканье и легочное кровотечение могут быть обусловлены: аррозией сосудов опухоли каверны бронхоэктазы; разрывом сосудистой стенки артериовенозные аневризмы телеангиэктазии легочная форма болезни ОслераРандю; излиянием крови в альвеолы из бронхиальных артерий инфаркт легкого; диапедезным...
78462. Синдром легочно-сердечной недостаточности (ЛСН, «легочное сердце»). Тромбоэмболия легочных артерий (ТЭЛА) 85.5 KB
  Классификация: Острое лёгочное сердце клинический симптомокомплекс возникающий прежде всего вследствие развития тромбоэмболии лёгочной артерии а также при ряде заболеваний сердечнососудистой и дыхательной систем. Основные причины: массивная тромбоэмболия в системе лёгочной артерии; клапанный пневмоторакс; тяжёлый затяжной приступ бронхиальной астмы; распространённая острая пневмония.; 3Васкулярные болезни первичная лёгочная гипертензия тромбоэмболия в системе лёгочной артерии васкулиты аллергический облитерирующий...
78463. Синдром дыхательной недостаточности. Основные причины ДН, клинические и функциональные критерии. Классификации различных видов ДН 128.5 KB
  Дыхательная недостаточность ДН – тяжелое нарушение обмена дыхательных газов или состояние характеризующееся ограничением способности легких обеспечивать нормальный газовый состав артериальной крови. Факторы снижающие вентиляторное обеспечение: Нарушение механики дыхания обструкция ВП: Бронхиальная астма ХОБЛ; Деформация грудной клетки: Кифосколиоз травмы грудной клетки; Уменьшение объема легких: Пневмония интерстициальные поражения легких большой плевральный выпот; Нарушение функции диафрагмальных нервов: Синдром...
78464. Рестриктивный тип дыхательной недостаточности. Клинические и функциональные признаки, характерные для ДН рестриктивного типа 70 KB
  Рестриктивный тип ДН – вариант вентиляционной (гиперкапнической) ДН, характеризующийся снижением способности легких, грудной клетки или плевры к расправлению во время вдоха.
78465. Обструктивный тип дыхательной недостаточности. Клинические и функциональные признаки, характерные для ДН обструктивного типа 85 KB
  Встречается при: Хронический бронхит; Бронхиальная астма; Эмфизема; ХОБЛ; Синдром бронхиальной обструкции; Стенозы трахеи и крупных бронхов; Бронхоэктатическая болезнь; Причины сужения просвета бронхов: бронхоспазм; аллергический отёк; воспалительный отёк; инфильтрация слизистой оболочки бронхов; закупорка бронхов мокротой; склероз бронхиальных стенок; деструкция каркаса бронхиальных стенок; Патогенез: Сужение просвета бронхов является причиной роста сопротивления потоку воздуха в бронхах что в свою очередь приводит к снижению...
78466. Дыхательная недостаточность по смешанному типу. Клинические и функциональные признаки, характерные для ДН смешанного типа 86.5 KB
  Пневмосклероз различной этиологии; Обструктивный тип ДН: Хронический бронхит; Бронхиальная астма; Эмфизема; ХОБЛ; Синдром бронхиальной обструкции; Стенозы трахеи и крупных бронхов; Бронхоэктатическая болезнь; Развивается при длительном течении сердечнолегочных заболеваний; Диагностика: признаки ДН клиника; исследование ФВД характеризуется снижением практически всех показателей...
78467. Тяжелое течение острой дыхательной недостаточности: астматический статус. Принципы диагностики и лечения 98.5 KB
  Возросшее сопротивление воздухоносных путей преодолевается за счет больших колебаний внутриплеврального давления чрезмерно низкого на вдохе и очень высокого на выдохе что приводит к резкому увеличению работы быстрому утомлению и снижению функции дыхательной мускулатуры; Клиника: I стадия относительной компенсации: выраженный приступ удушья не купирующийся ранее эффективными ЛС; мучительный приступообразный кашель без мокроты; вынужденное положение больного; диффузный цианоз; потливость; возбуждение больного; перкуторно:...
78468. Тяжелое течение острой дыхательной недостаточности: острый респираторный дистресс-синдром взрослых (ОРДСВ). Причины ОРДСВ 124 KB
  Острый респираторный дистресссиндром ОРДС – особая форма дыхательной недостаточности возникающая при острых повреждениях легких различной этиологии и характеризуется образованием в обоих легких диффузных легочных инфильтратов резким нарушением растяжимости легочной ткани развитием некардиогенного отека легких и выраженной гипоксемии резистентности к кислородотерапии.; При остром повреждении легкого происходит воспаление = Скопление активированных лейкоцитов и тромбоцитов = Протеолитические ферменты Простагландины Активные...
78469. Тяжелое течение острой дыхательной недостаточности: кардиогенный отек легких. Патогенетические и клинико-функциональные различия кардиогенного и некардиогенного отека легких 82.5 KB
  Патогенетические и клинико-функциональные различия кардиогенного и некардиогенного отека легких. Причины кардиогенного отека легких. Отек легких это острое состояние в основе которого лежит патологическое накопление внесосудистой жидкости в легочной ткани и альвеолах приводящее к снижению функциональных способностей легких.