- •Утверждаю
- •Программирование на с#
- •Томск 2012
- •Рецензент доц., канд.Физ.-мат. Наук в.И.Рейзлин
- •Лабораторная работа № 1. Изучение среды разработкиVisualStudio
- •Интегрированная среда разработчика VisualStudio
- •1.2. Настройка формы
- •1.3. Размещение элементов управления на форме
- •1.4. Размещение строки ввода (TextBox)
- •1.5. Размещение надписей (Label)
- •1.6. Написание программы обработки события
- •1.7. Написание программы обработки события нажатия кнопки (Click)
- •1.8. Написание программы обработки события загрузки формы (Load)
- •1.9. Запуск и работа с программой
- •1.10. Динамическое изменение свойств
- •1.11. Выполнение индивидуального задания
- •Индивидуальные задания
- •Лабораторная работа №2. Программирование линейных алгоритмов
- •2.1. Структура приложения
- •2.2. Работа с проектом
- •2.3. Описание данных
- •2.4. Ввод/вывод данных в программу
- •2.5. Арифметические действия и стандартные функции
- •2.6. Пример написания программы
- •2.7. Выполнение индивидуального задания
- •Индивидуальные задания
- •Лабораторная работа №3. Программирование разветвляющихся алгоритмов
- •3.3. Кнопки-переключатели RadioButton
- •3.4. Пример написания программы
- •3.4.1. Создание формы
- •3.4.2. Создание обработчиков событий FormСreate и Botton1Сlick
- •3.5. Выполнение индивидуального задания
- •Лабораторная работа №4 Программирование циклических алгоритмов
- •4.1. Операторы организации циклов
- •4.2. Цикл с предусловием while
- •4.3. Цикл с постусловием do while
- •4.4. Цикл с параметром for
- •4.2. Средства отладки программ
- •4.3. Порядок выполнения задания
- •4.4. Выполнение индивидуального задания
- •Индивидуальные задания
- •Лабораторная работа № 5. Программирование с использованием строк
- •5.1. Тип данных string
- •5.2. Компонент ListBox
- •5.3. Порядок выполнения индивидуального задания
- •5.4. Индивидуальные задания
- •Лабораторная работа № 6. Программирование с использованием одномерных массивов
- •6.1. Работа с массивами
- •6.2. Случайные числа
- •6.3. Порядок выполнения индивидуального задания
- •6.3. Варианты заданий
- •Лабораторная работа 7. Программирование с использованием многомерных массивов
- •7.1. Двухмерные массивы
- •7.2. Элемент управления DataGridView
- •7.3. Порядок выполнения задания
- •7.4. Индивидуальные задания
- •Лабораторная работа 8. Программирование с использованием средств для отображения графической информации
- •8.1. Как строится график с помощью компонента Chart
- •8.2. Пример написания программы
- •8.3. Выполнение индивидуального задания
- •Лабораторная работа 9. Программирование графики
- •9.1. Сообщение wm_paint
- •9.2. Событие Paint
- •9.3. Объект Graphics для рисования
- •9.4. Методы и свойства класса Graphics
- •9.5. Выполнение индивидуального задания
- •Лабораторная работа 10. Простейшая анимация
- •10.1. Работа с таймером
- •10.2. Создание анимации
- •10.3. Выполнение индивидуального задания
- •Лабораторная работа 11. Обработка изображений
- •11.1. Отображение графических файлов
- •11.2. Компоненты OpenFileDialog и SaveFileDialog
- •11.3. Простой графический редактор
- •11.4. Выполнение индивидуального задания
- •Лабораторная работа 12. Методы
- •12.1. Общие понятия
- •12.2. Перегрузка методов
- •12.3. Параметры по умолчанию
- •12.4. Передача параметров по значению и по ссылке
- •12.5. Выполнение индивидуального задания
- •Лабораторная работа 13. Сортировка
- •13.1. Общие понятия
- •13.2. Алгоритмы сортировки. Метод пузырька
- •13.3. Сортировка выбором
- •13.4. Быстрая сортировка
- •13.5. Поиск элемента
- •13.6. Выполнение индивидуального задания
- •ПРиложение 1. Команды основного меню
- •ПРиЛожение 2. Свойства компонентов п2.1. Общие свойства компонентов
- •Свойство Name
- •Свойство Dock
- •Свойство Margin
- •Свойство Color
- •Свойство Cursor
- •Свойство Size
- •Приложение 3. Простые типы данных п3.1.Целые типы
- •П3.2.Логические типы
- •П3.3.Символьный тип
- •П3.4. Перечисляемый тип
- •П3.5. Вещественные типы
- •Пз.6. Тип дата-время
- •Приложение 4. Процедуры и функции для работы со строками
- •Приложение 5. Математические формулы
- •Литература
- •Программирование в среде delphi
4.3. Порядок выполнения задания
Задание:Вычислим и выведем на экран таблицу значений функции y=a•lnx при x, изменяющемся от x0до xkс шагом dx,a- константа.
Панель диалога представлена на рис 4.4.
Рис. 4.4. Окно программы для табулирования функции.
Текст обработчика нажатия кнопки Вычислитьприведен ниже.
private void button1_Click(object sender, EventArgs e)
{
// Считывание начальных данных
double x0 = Convert.ToDouble(textBox1.Text);
double xk = Convert.ToDouble(textBox2.Text);
double dx = Convert.ToDouble(textBox3.Text);
double a = Convert.ToDouble(textBox4.Text);
textBox5.Text = "Работу выполнил ст. Иванов М.А." + Environment.NewLine;
// Цикл для табулирования функции
double x = x0;
while (x<=(xk+dx/2))
{
double y = a*Math.Log(x);
textBox5.Text += "x=" + Convert.ToString(x) +
"; y=" + Convert.ToString(y) + Environment.NewLine;
x = x + dx;
}
После отладки программы составьте тест (X0=2, Xk=4,Dx=0,2), установите точку останова на оператор перед циклом и запустите программу в отладочном режиме (F5). После попадания на точку остановки, нажимая клавишу F10, выполните пошагово программу и проследите, как меняются все переменные в процессе выполнения.
4.4. Выполнение индивидуального задания
По указанию преподавателя выберите нужный вариант задачи из нижеприведенного списка. Откорректируйте панель диалога и текст программы.
Индивидуальные задания
Cоставить программу для табулирования функцииy(x), вывести на экран значенияxиy(x)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
Лабораторная работа № 5. Программирование с использованием строк
Цель лабораторной работы: изучить правила работы с компонентом ListBox. Написать программу для работы со строками.
5.1. Тип данных string
Для хранения строк в языке C# используется типstring. Так, чтобы объявить (и, как правило, сразу инициализировать) строковую переменную, можно написать следующий код:
string a = "Текст";
string b = "строки";
Над строками можно выполнять операцию сложения – в этом случае текст одной строки будет добавлен к тексту другой:
string c = a + " " + b; // Результат: Текст строки
Тип stringна самом деле является псевдонимом для классаString, с помощью которого над строками можно выполнять ряд более сложных операций. Например, методIndexOfможет осуществлять поиск подстроки в строке, а методSubstringвозвращает часть строки указанной длины, начиная с указанной позиции:
string a = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int index = a.IndexOf("OP"); // Результат: 14 (счёт с 0)
string b = a.Substring(3, 5); // Результат: DEFGH
Если требуется добавить в строку специальные символы, это можно сделать с помощьюescape-последовательностей, начинающихся с обратного слэша:
Escape-последовательность |
Действие |
\" |
Кавычка |
\\ |
Обратная косая черта |
\n |
Новая строка |
\r |
Возврат каретки |
\t |
Горизонтальная табуляция |