Программирование на С#

Конструкции языка и типы данных, среда разработки Visual Studio. Программы линейного алгоритма. Создание объектов в программном коде. Построения графиков с помощью элемента управления Сhart. Работа со строками, массивами и методами, обработка изображений.

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

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

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

Площадь N-угольника может быть вычислена как сумма площадей треугольников, из которых N-угольник составлен. Для нахождения площади треугольника используем векторное произведение. Длина векторного произведения векторов, как известно, равна удвоенной площади треугольника, построенного на этих векторах. Пусть вершины треугольника расположены в точках A=(x1, y1), B=(x2, y2), C=(x3, y3). Совместим начало координат с первой точкой. Векторное произведение равно

[AB Ч AC]=,

следовательно, площадь треугольника равна

SABC=1/2 ((x2 - x1) (y3 - y2) - (y2 - y1)(x3 - x2)).

Значение величины SABC может быть как положительным, так и отрицательным числом, так как оно зависит от взаимной ориентации векторов AB и AC, поэтому говорят, что площадь ориентированная.

Рис. 16.4

Для нахождения площади N-угольника последний требуется разбить на треугольники и найти сумму ориентированных площадей этих треугольников. Разбиение N-угольника на треугольники можно провести так: зафиксировать одну из вершин N-угольника, например, первую A1=(x1, y1) и рассматривать все треугольники A1Ai Ai+1, i=2, 3,…, N-1.

Заметим, что аналогичным способом можно находить площадь произвольного многоугольника.

Рис. 16.5

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

Задание 3. Реализуйте задачу «Заяц»

Задача 4 «Тигр в загоне». Недалеко от города Х находится заповедник, в котором обитают уссурийские тигры. Работники заповедника очень переживают, когда тигр покидает охраняемую зону. Программа охраны уссурийских тигров предусматривает снабжение каждого тигра ошейником с радиомаяком. Сигнал от тигриного радиомаяка поступает в центр охраны и позволяет определить местоположения тигра. Территория заповедника представляет собой произвольный многоугольник.

Исходные данные: N - количество вершин многоугольника, задающего заповедник, (xi, yi) - координаты его вершин, i=1,2, …, N. (X, Y) - координаты точки, в которой находится тигр.

Требуется определить, находится ли тигр на территории заповедника, или надо срочно снаряжать спасательную экспедицию.

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

Рис. 16.6

Идея метода заключается в том, чтобы определить сумму углов, под которыми стороны многоугольника видны из проверяемой точки. Если точка лежит внутри многоугольника, то суммарный угол равен 2р (точка Р на рисунке), если же точка лежит вне многоугольника, то сумма углов не равна 2р (точка Q).

Таким образом, для решения надо перебрать в цикле последовательно все вершины многоугольника и найти сумму углов между векторами PAi и PAi+1, i=1,2, …, N. Не забудьте добавить угол между векторами PAN и PA1. Для определения величины угла между векторами нам потребуется формула скалярного произведения.

Так как стороны многоугольника должны рассматриваться последовательно, в порядке обхода вершин, то при нахождении суммарного угла следует учитывать взаимное расположение векторов. Угол, под которым сторона видна из исследуемой точки, может быть как положительным, так и отрицательным. Для определения знака угла воспользуемся векторным произведением. Знак векторного произведения и определит знак конкретного угла в общей сумме.

Задание 4. Реализуйте задачу «Тигр в загоне»

Задача 5 «Пересечение отрезков». Дано n отрезков. Реализовать программу, находящую все их пересечения между собой. Отобразить решение графически.

На плоскости заданы два отрезка a и b, a - точками A1(A1x,A1y) и A2(A2x,A2y), а b - точками B1(B1x,B1y) и B2(B2x,B2y). Найти и напечатать возможную точку их пересечения C(Cx,Cy). Рассмотрим первый отрезок a. Уравнение прямой, на которой он лежит можно записать так:

xa = A1x + ta (A2x - A1x)

ya = A1y + ta (A2y - A1y)

Здесь, A1x,A1y,A2x,A2y - константы, xa,ya - точки принадлежащие отрезку, при ta изменяющемся от 0 до 1. Аналогично для отрезка b:

xb = B1x + tb (B2x - B1x)

yb = B1y + tb (B2y - B1y)

Таким образом, приравнивая соответствующие координаты, получаем задачу нахождения параметров ta,tb, при которых бы выполнялись равенства:

A1x + ta (A2x - A1x) = B1x + tb (B2x - B1x)

A1y + ta (A2y - A1y) = B1y + tb (B2y - B1y)

После разрешения системы относительно ta,tb получаем:

ta (A1x - A2x) + tb (B2x - B1x) = A1x - B1x

ta (A1y - A2y) + tb (B2y - B1y) = A1y - B1y

А это есть система из двух линейных уравнений относительно ta,tb.

Известно, что система:

a1 x + b1 y = c1

a2 x + b2 y = c2

имеет следующее решение:

x = dx/d

y = dy/d,

где d - определитель матрицы,

d = a1b2 - a2b1,

dx = c1b2 - c2b1,

dy = a1c2 - a2c1.

В нашей системе относительно ta,tb:

a1 = A1x - A2x

b1 = B2x - B1x

c1 = A1x - B1x

a2 = A1y - A2y

b2 = B2y - B1y

c2 = A1y - B1y

откуда легко находится d,dx,dy. Если d отличен от нуля, то система имеет единственное решение. Правда, следует помнить, что искомые ta,tb - параметрически задают отрезки только если они лежат в диапазоне [0,1], в противном случае точка пересечения прямых, на которых лежат отрезки, находится вне этих самых отрезков.

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

Решение ряда задач повышенной сложности опирается на методы рассмотренные в комбинаторике, а именно на возможность генерации: сочетаний, перестановок, размещений и перечислений элементов.

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

Для числа 3, количество перестановок будет равно 3! = 3 * 2 * 1 = 6. Для четырех: 4! = 4 * 3 * 2 * 1 = 24.

Часто для генерации перестановок используется алгоритм Дейкстры для получения всех перестановок по алфавиту. Разберем этот алгоритм.

Пусть у нас есть первая перестановка (например, 1234). Для нахождения следующей перестановки выполняем три шага.

1. Двигаясь с предпоследнего элемента перестановки, ищем элемент a[i], удовлетворяющий неравенству a[i] < a[i + 1]. Для перестановки 1234, это число 3, т. к. (3 < 4).

2. Меняем местами элемент a[i] с наименьшим элементом, который:

а) находится праве a[i].

б) является больше чем a[i].

В нашем случае меняем 3 и 4.

3. Все элементы стоящие за a[i] сортируем. В нашем случае нужно отсортировать число 4, но это единственный элемент, следовательно так его и оставляем.

В результате выполнения этих трех шагов получаем следующую по алфавиту перестановку 1243.

Выполнять эти шаги нужно циклически до тех пор, пока в перестановке не будет находится искомый в первом шаге элемент a[i], т. е. пока перестановка не станет отсортированной по убыванию: 4321.

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

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

Задание 7. Имеются цифры от 1 до 9 расположенные по возрастанию (убыванию). Требуется расставить между ними произвольное количество знаков <<плюс>> и <<минус>>, чтобы получилось выражение со значением 100. Например

123+4-5+67-89 = 100

9-8+76-5+4+3+21 = 100

Найти все возможные варианты таких выражений.

Задача 8. Дан двумерный массив, заполненный нулями и единицами. Найти прямоугольник, наибольшей площади, заполненный единицами.

Площадь прямоугольников изменяется от максимальной (весь массив) до минимальной (прямоугольник, состоящий из одной 1). Каждый прямоугольник конкретной площади может быть построен множеством способов. Для площади S допустимый прямоугольник это такой, произведение сторон которого, равно S. Мы должны для каждого значения площади перебрать все допустимые способы построения прямоугольников. Каждый прямоугольник конкретной площади и формы может располагаться в массиве различным образом. Точнее сказать, его левая верхняя вершина может находиться в разных точках массива. Следовательно, для прямоугольника определённой площади и формы мы должны перебрать все возможные расположения.

Рис. 16.6

Может показаться, что программа для большого массива будет работать слишком долго, но есть серьёзные возможности для её ускорения. А именно:

Если площадь перебирать от максимальной к минимальной, то первый найденный прямоугольник и будет искомым.

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

Учёт этих утверждений ведёт к очень серьёзному ускорению программы.

Задание 9. «Вирус» Колония клеток представляет собой квадратную матрицу порядка N (N < 500). В колонию проникает M (M < 11) вирусов, которые поражают клетки с координатами (X1, Y1), ... (Xm, Ym). За одну единицу времени вирус проникает в клетки, соседние с зараженными (соседними считаются клетки, имеющие общую сторону). Требуется написать программу, которая определит время заражения всей колонии. Графически показать процесс заражения.

Задание 10. «Сундук Билли Бонса» Билли Бонс положил в сундук некоторое количество золотых монет. На второй год он вынул из сундука сколько-то монет. Начиная с третьего года, он добавлял столько монет, сколько было в сундуке два года назад.

Требуется написать программу, определяющую количество монет в сундуке в первый и во второй года, если в X-м году там оказалось ровно Y монет. (3<=X<=20) и Y (1<=Y<=32767).

Пояснение: если в первый год положить 5 монет, а во второй год вынуть 3 монеты, то начиная с первого года в сундуке будет 5, 2, 7, 9, 16, 25, ... монет.

Литература

1. Есипов А.С., Паньгина Н.Н., Громада М.И. Информатика. Сборник задач и решений для общеобразовательных учебных заведений. СПб.: Наука и техника, 2001. 368 с.

2. Окулов С.М. Программирование в алгоритмах. М.: Бином. Лаборатория знаний, 2004. 341 с.

3. Юркин А.Г. Задачник по программированию. СПб.: Питер, 2002. 192 с.

4. Эндрю Троелсен. Язык программирования C# 5.0 и платформа .NET 4.5. М.: Вильямс. 2013 г. 1312 с.

5. Албахари, Дж. С# 3.0. Справочник: Пер. с англ./ Дж. Албахари, Б. Албахари. - 3-е изд. - Спб.: БХВ-Петербург, 2009. - 944 с.: ил.

6. Биллиг В. Основы программирования на C# // Интуит [2013]. Дата обновления: 22.11.2005.

7. Павлоская Т. Программирование на языке высокого уровня C# // Интуит [2013]. Дата обновления: 15.09.2010.

8. Вихтенко Э. М. Геометрические задачи в олимпиадах по программированию. Изд-во МИФ-2 №2. 2005 г.

9. Липский В. Комбинаторика для программистов. - М.: Мир, 1988. -200 с.

Приложение 1. Свойства элементов управления

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

Свойства

Пояснения

Name

Возвращает или задает имя элемента управления. Значение этого свойства используется в программе для обращения к объекту по его имени.

Size

Возвращает или задает размер элемента управления. Это свойство позволяет одновременно установить высоту и ширину (в точках) вместо того, чтобы устанавливать по отдельности свойства Height и Width.

Height

Возвращает или задает высоту элемента управления.

Width

Возвращает или задает ширину элемента управления.

Location

Возвращает или задает координаты левого верхнего угла элемента управления относительно левого верхнего угла контейнера.

Dock

Используется для определения способа автоматического изменения размеров элемента управления при изменении размеров родительского элемента управления. Например, задание для свойства Dock значения DockStyle.Left приводит к выравниванию самого элемента управления по левому краю его родительского элемента управления и к изменению размеров при изменении размеров родительского элемента управления. Внимание: свойства Anchor и Dock являются взаимоисключающими. Одновременно может быть задано только одно из них, которое и получает преимущество.

Anchor

Возвращает или задает границы контейнера, с которым связан элемент управления, и определяет способ изменения размеров элемента управления при изменении размеров его родительского элемента. Элемент управления можно привязать к одной или нескольким границам контейнера. Например, если имеется объект Form с объектом Button, для свойства Anchor которого заданы значения Top и Bottom, то объект Button растягивается, чтобы сохранить закрепленное расстояние до верхней и нижней границ объекта Form при увеличении значения свойства Height объекта Form. Внимание: Свойства Anchor и Dock являются взаимоисключающими. Одновременно может быть задано только одно из них, которое и получает преимущество.

Margin

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

BackColor

Возвращает или задает цвет фона для элемента управления. Свойство BackColor является внешним свойством.

ForeColor

Получает или задает основной цвет элемента управления. Свойство ForeColor является внешним свойством.

Font

Возвращает или задает шрифт текста, отображаемого элементом управления. Нельзя поменять отдельные элементы свойства Font - можно только создать новый объект Font с требуемыми параметрами и назначить его свойству Font. Свойство Font является внешним свойством. Внешнее свойство - это свойство элемента управления, которое (если оно не задано) получается из родительского элемента управления.

Text

Получает или задает текст, сопоставленный с этим элементом управления. Свойство Text элемента управления по-разному используется каждым производным классом. Например, свойство Text объекта Form отображается в заголовке окна в верхней части формы, содержит небольшое количество символов и, как правило, отображает имя приложения или документа. Однако свойство Text объекта RichTextBox может быть большим и включать в себя многочисленные невидимые символы, применяемые для форматирования текста. Например, отображаемый в объекте RichTextBox текст можно отформатировать, настроив свойства Font либо добавив символы пробелов или табуляции для выравнивания текста.

TextAlign

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

Enabled

Возвращает или задает значение, показывающее, сможет ли элемент управления отвечать на действия пользователя. Значение true, если элемент управления может отвечать на действия пользователя; в противном случае - значение false. Значением по умолчанию является true. С помощью свойства Enabled можно включать или отключать элементы управления во время выполнения. Например, можно отключить элементы управления, не применяемые при данном состоянии приложения. Можно также отключить элемент управления, чтобы ограничить его использование. Например, возможно отключить кнопку, чтобы пользователь не смог ее нажать. Если элемент управления отключен, его невозможно выделить.

Visible

Получает или задает значение, указывающее, отображаются ли элемент управления и все его дочерние элементы управления. Значение true, если элемент управления и все его дочерние элементы управления отображаются; в противном случае - значение false. Значение по умолчанию - true. Обратите внимание, что даже если для Visible задано значение true, элемент управления может быть невидимым для пользователя, если он находится позади других элементов управления.

Items

С помощью этого свойства можно получить ссылку на список элементов, хранящихся в настоящее время в элементе управления (например, ListBox). С помощью этой ссылки можно добавлять и удалять элементы, а также определять число элементов в коллекции.

Приложение 2. События элементов управления

Событие

Пояснения

Load

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

Resize

Происходит при изменении размеров элемента управления (например, формы).

Move

Происходит при перемещении элемента управления.

Click

Происходит при щелчке элемента управления. Событие Click передает объект EventArgs его обработчику событий, указывая только, что щелчок был выполнен. Если необходимы более точные сведения о мыши (кнопка, количество щелчков, вращение колесика или положение), следует использовать событие MouseClick. Однако событие MouseClick не возникает, если щелчок был выполнен не с помощью мыши, а например, при нажатии клавиши Enter.

Double Click

Происходит, когда элемент управления дважды щелкается. Двойной щелчок определяется параметрами мыши в операционной системе пользователя. Пользователь может задать время между нажатиями кнопки мыши, которые будут считаться двойным щелчком, а не двумя отдельными щелчками. Событие Click вызывается каждый раз, когда элемент управления дважды щелкается. Например, при наличии обработчиков для событий Click и DoubleClick объекта Form события Click и DoubleClick вызываются, когда форма дважды щелкается и оба метода вызываются. Если элемент управления дважды щелкается и этот элемент управления не поддерживает событие DoubleClick, событие Click может быть вызвано дважды.

Mouse Click

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

· Событие MouseDown.

· Событие Click.

· Событие MouseClick.

· Событие MouseUp.

Mouse Double Click

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

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

· Событие MouseDown.

· Событие Click.

· Событие MouseClick.

· Событие MouseUp.

· Событие MouseDown.

· Событие DoubleClick.

· Событие MouseDoubleClick.

· Событие MouseUp.

Mouse Down

Происходит при нажатии кнопки мыши, если указатель мыши находится на элементе управления.

Mouse Up

Происходит при отпускании кнопки мыши, когда указатель мыши находится на элементе управления.

Mouse Move

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

Mouse Leave

Происходит, когда указатель мыши покидает элемент управления.

Key Press

Происходит при нажатии клавиши, если элемент управления имеет фокус. Событие KeyPress вызывается только нажатием клавиш с символами. Остальные клавиши вызывают события KeyDown и KeyUp. Свойство KeyChar используется для выбора образцов нажатий клавиш во время выполнения и для использования или изменения подмножества стандартных нажатий клавиш. Чтобы обрабатывать события клавиатуры только на уровне формы без предоставления другим элементам управления возможности получать события клавиатуры, необходимо задать для свойства KeyPressEventArgs.Handled в методе обработки события KeyPress формы значение true.

События нажатия клавиши происходят в следующем порядке.

1. KeyDown

2. KeyPress

3. KeyUp

Key Down

Происходит при нажатии клавиши, если элемент управления имеет фокус. Чтобы обрабатывать события клавиатуры только на уровне формы без предоставления другим элементам управления возможности получать события клавиатуры, необходимо задать для свойства KeyPressEventArgs.Handled в методе обработки события KeyPress формы значение true. Некоторые клавиши, такие как Tab, Enter, Escape и клавиши со стрелками, автоматически обрабатываются элементами управления.

KeyUp

Происходит, когда отпускается клавиша, если элемент управления имеет фокус.

Enter

Происходит при входе в элемент управления (при получении фокуса).

Когда выполняется изменение фокуса с помощью клавиатуры (Tab, Shift+Tab и т. д.), события фокуса происходят в следующем порядке:

· Enter

· GotFocus

· Leave

· Validating

· Validated

· LostFocus

При изменении фокуса с помощью мыши или посредством вызова метода Focus события фокуса возникают в следующем порядке.

1. Enter

2. GotFocus

3. LostFocus

4. Leave

5. Validating

6. Validated

События Enter и Leave подавляются классом Form. В классе Form им эквивалентны события Activated и Deactivate.

Не пытайтесь задать фокус из обработчиков событий Enter, GotFocus, Leave, LostFocus, Validating или Validated. Это может привести к тому, что приложение перестанут отвечать.

Leave

Происходит, когда фокус ввода покидает элемент управления. События Enter и Leave подавляются классом Form. В классе Form им эквивалентны события Activated и Deactivate.

Text Changed

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

Paint

Происходит при перерисовке элемента управления.

Приложение 3. Методы для работы со строками

Метод или свойство

Пояснения

Compare()

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

Concat()

Соединяет в одну строку две и более строки. При этом разделители не добавляются.

Copy()

CopyTo()

Методы Copy и CopyTo служат для копирования строки или подстроки в другую строку или в массив типа Char.

Format()

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

Join()

Конкатенация (соединение) массива строк в единую строку. При конкатенации между элементами массива вставляются разделители. Операция, заданная методом Join, является обратной к операции, заданной методом Split.

Length

Свойство, которое возвращает количество символов в строке.

EndsWith()

Проверяет, заканчивается ли строка определённой последовательностью символов.

Insert()

Вставляет новую строку в уже существующую.

LastIndexOf()

Возвращает индекс последнего вхождения элемента в строку.

PadLeft()

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

PadRight()

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

Remove()

Удаляет заданное число символов из строки.

Replace()

Заменяет подстроку в заданной позиции на новую подстроку.

Split()

Возвращает подстроку, отделённую от основного массива определённым символом. На вход методу Split передается один или несколько символов, интерпретируемых как разделители. Объект string, вызвавший метод, разделяется на подстроки, ограниченные этими разделителями. Из этих подстрок создается массив, возвращаемый в качестве результата метода. Другая реализация позволяет ограничить число элементов возвращаемого массива.

StartsWith()

Определяет, начинается ли строка с определённой последовательности символов.

Substring()

Извлекает подстроку из строки.

ToCharArray()

Копирует символы из строки в массив символов.

ToLower()

Преобразует символы в строке к нижнему регистру.

ToUpper()

Преобразует символы в строке к верхнему регистру.

Trim()

Удаляет все вхождения определённых символов в начале и в конце строки.

TrimEnd()

Удаляет все вхождения определённых символов в конце строки.

TrimStart()

Удаляет все вхождения определённых символов в начале строки.

Приложение 4. Методы для работы с массивами

Метод или свойство

Пояснения

Concat()

Объединяет две последовательности.

Contains()

Определяет, содержится ли указанный элемент в массиве.

CopyTo()

Копирует все элементы текущего массива в заданный массив.

GetLength()

Получает 32-разрядное целое число, представляющее количество элементов в заданном измерении массива. Примером метода GetLength может служить метод GetLength(0), который возвращает число элементов в первом измерении массива (например, количество строк в двухмерном массиве).

Intersect()

Находит пересечение множеств, представленных двумя массивами.

Length

Свойство, которое возвращает целое число, представляющее общее число элементов во всех измерениях массива.

Max()

Возвращает максимальное значение, содержащееся в массиве.

Min()

Возвращает минимальное значение, содержащееся в массиве.

Reverse()

Изменяет порядок элементов массива на противоположный.

Sum()

Вычисляет сумму последовательности числовых значений.

Учебное издание

ДЕМИН Антон Юрьевич

ДОРОФЕЕВ Вадим Анатольевич

ПРОГРАММИРОВАНИЕ НА С#

Учебное пособие

Рецензенты

Р.В. Мещеряков, доктор технических наук, доцент кафедры «Комплексной информационной безопасности электронно-вычислительных систем», ТУСУР

О.И. Голубева, кандидат технических наук, доцент каф. «Программирования», ФПМК, ТГУ

Компьютерная вёрстка И.О. Фамилия

Дизайн обложки И.О. Фамилия

Зарегистрировано в Издательстве ТПУ

Размещено на корпоративном портале ТПУ в полном соответствии с качеством предоставленного оригинал-макета

Национальный исследовательский Томский политехнический университет

Система менеджмента качества

Издательства Томского политехнического университета сертифицирована

NATIONAL QUALITY ASSURANCE по стандарту BS EN ISO 9001:2008

. 634050, г. Томск, пр. Ленина, 30

Тел./факс: 8(3822)56-35-35, www.tpu.ru

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

...

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

  • Ознакомление с языком программирование PHP. Операторы управления и передачи данных, конструкции разветвления и повторения. Создание функции в PHP. Работа с числами, строками и датой/временем в PHP. Работа с массивами данных. Работа с файловой системой.

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

  • Объектно-ориентированная технология создания программ. Среда разработки Visual Studio.NET. Особенности среды Microsoft Visual Studio 2010. Приложения C# для расчетов по формулам, консольный ввод-вывод. Форматирование значений данных. Программы с циклами.

    методичка [2,1 M], добавлен 11.09.2014

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

    контрольная работа [52,9 K], добавлен 03.10.2010

  • Изучение алгоритмов, написание программ на языке C#. Работа с массивами, строками, перечислениями, структурами, интерфейсами. Разработка и функциональность Windows-приложения. Создание и подключение баз данных в среде программирования Visual Studio 2019.

    отчет по практике [6,7 M], добавлен 18.10.2020

  • Основы языка программирвоания C++. Элементы управления в Microsoft Visual C++. Алгоритмические конструкции языка программирования Visual C++ и базовые элементы управления. Глобальные константы и переменные. Управление программой с помощью клавиатуры.

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

  • Разработка игры "Угадай персонажа", ее суть и содержание. Запоминание новых персонажей и вопросов, коррекция базы данных. Использование языка программирования С++ и среды разработки Microsoft Visual Studio 2010. Алгоритмы и методы, структура программы.

    курсовая работа [571,9 K], добавлен 14.07.2012

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

    курсовая работа [782,3 K], добавлен 06.02.2016

  • Рассмотрение основ работы в Microsoft Visual Studio 2010 с языком программирования С#. Реализация программы обработки данных авиапассажиров. Выбор метода ввода данных из текстового файла. Создание фильтра для обработки списка по определенным критериям.

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

  • Виды и принципы компьютерного моделирования. Среда моделирования Microsoft Robotic Studio. Моделирование пространства и объектов рабочей области с помощью визуальной среды Visual Simulation Environment. Создание программы управления мобильным роботом.

    дипломная работа [5,0 M], добавлен 15.06.2014

  • Изучение методов разработки приложений в среде визуального программирования Visual Studio. Создание программы, реализующей заказ железнодорожных билетов. Язык SQL-запросов в системе управления базами данных MS Access. Тестирование созданной программы.

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

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

    презентация [192,3 K], добавлен 13.06.2014

  • Принципы визуального программирования. Создание программы, генерирующей звук через определенные промежутки времени. Visual Basic как средство разработки прототипов программы, для разработки приложений баз данных и компонентного способа создания программ.

    лабораторная работа [1,1 M], добавлен 10.12.2014

  • Основы работы с языком программирования Visual Basic 6.0, разработка и обработка созданных баз данных. Создание экранной формы и запросов по таблице VIP. Алгоритм совместного запроса по таблицам VIP и PROD. Методика разработки пользовательского меню.

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

  • Проведение сравнительного анализа языков программирования. Создание алгоритма и специфика составления математической модели программы "Механические часы, показывающие текущее время" в среде Microsoft Visual Studio 2010, на базе языка программирования С++.

    курсовая работа [408,9 K], добавлен 11.03.2013

  • Встроенные типы данных, основные конструкции, структуры и применение языка Javа. Введение в интегрированную среду разработки Eclipse. Листинг программы, иллюстрирующей работу с одномерными массивами (создание массива). Спецификация класса Figure.

    методичка [1,4 M], добавлен 30.06.2009

  • Microsoft Visual C++ и среда программирования Microsoft Developer Studio 6.0. Решение интеллектуальной задачи на компьютере. Построение алгоритма кодирования на Visual C++. Алгоритм решения задачи. Описание программы "Sort". Инструкции пользователя.

    курсовая работа [46,0 K], добавлен 27.11.2007

  • Изучение принципов построения линейных алгоритмов и простых расчетных программ на языке программирования C. Разработка программы расчета математических выражений на основе вводимых данных. Создание консольных приложений в среде Microsoft Visual Studio.

    лабораторная работа [254,4 K], добавлен 23.11.2014

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

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

  • Создание программы, реализующей игру "Линии". Среда разработки программы, описание ее общего вида. Основные алгоритмы программы. Реализация программы в среде разработки Microsoft Visual Studio 2008 на языке объектно-ориентированного программирования С++.

    курсовая работа [639,0 K], добавлен 16.03.2012

  • Работа с элементом управления в VB.net. Работа с файлами, организация последовательного доступа с помощью объектов Streareader и Streamwriter. Последовательный доступ с помощью класса File, программирование задач с использованием циклов с параметром.

    лабораторная работа [644,8 K], добавлен 27.12.2013

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