- •Решение прикладных задач в среде c#
- •Введение
- •1. Введение в visual studio.Net. Структура .Net-приложений. Метод main(). Создание проектов с помощью vs.Net
- •Задание 1
- •Операции ввода/вывода. Формат вывода
- •Задание 2
- •Пространство имён system. Класс math. Преобразование типов данных
- •Задание 3.1
- •Задание 3.2
- •4. Операторы языка программирования с#.
- •4.1. Операторы языка программирования с#
- •If (логическое выражение)
- •2. If (выражение)
- •4.2. Операции отношения и условные логические операции
- •Операции отношения в c#
- •Условные логические операции
- •Задания 4
- •Организация циклов
- •Задание 5.2
- •Обработка одномерных массивов
- •6.1. Массивы
- •6.2. Одномерные массивы
- •Класс System.Array и оператор foreach
- •Основные элементы класса Array
- •Задание 6
- •Обработка двумерных массивов
- •7.1. Описания двумерного массива
- •7.2. Обработка исключительных ситуаций
- •Задание 7
- •Запись исходных данных в файл и чтение данных из файла. Цифровая фильтрация. Идентификация объекта управления
- •8.1. Данные для моделирования системы. Понятие файла данных
- •8.2. Объект FileStream для работы с файлами
- •8.3. Запись данных в файл. Класс StreamWriter
- •8.4. Чтение файла. Класс StreamReader
- •8.5. Цифровая фильтрация
- •8.6. Идентификация объекта управления
- •8.7. Определение постоянной времени объекта управления
- •Задание 8.1
- •Задание 8.2
- •Рекомендации
- •Задание 8.3
- •Строки типа string
- •Основные элементы класса System.String
- •Задание 9
Задание 8.2
1. Составить программу сглаживания входного массива выхода объекта управления, используя файл данных, полученный в задании 8.1.
Для всех вариантов:
=0,5kМ; XB =1,5kМ; XН=0; Tk=1, причем значения величин условные.
2. Вывести сглаженный массива .
Рекомендации
1. В процедуре цифровой фильтрации сигнала необходимо вычислить коэффициент усиления модели объекта kМ, а затем и XВ, который зависит от kМ.
2. Для облегчения анализа и получения более структурированной программы целесообразно ввести 3 локальные логические переменные z1, z2, z3:
z1 = ;
z2 = z1;
z3 = z1,
где с – счетчик ненулевых значений.
3. Логические переменные по П.2 вычисляются и анализируются в цикле оператора for, начиная с i = 1.
4. Анализ следует производить, начиная с состояния счетчика ошибок Error. Количество ошибок исходных данных не должно превышать 3. Если счетчик ошибок равен 3, то на экран должно выводиться сообщение: «Сбой исходных данных» и осуществляется остановка программы.
5. Далее надо анализировать z1: если z1 ложно, то в счетчик Error добавляется «1», а берется равным предыдущему значению, после чего анализ переходит к следующему циклу. Еслиz1 истина, то осуществляется переход к анализу логической переменной z2.
6. Если z2 истина, то в счетчик нулевых интервалов n1 добавляется «1», а берется равным, в противном случае счетчик ненулевых значений увеличивается на «1», а значениеберется равным.
7. И наконец, последний анализ: если z3 истина, то можно находить сглаженное значение по формуле (8.2).
8. В этой же процедуре можно вычислить время запаздывания объекта: .
Задание 8.3
1. Составить программу для определения коэффициента объекта управления kм, времени запаздывания τм и постоянной времени объекта Тм. исходя из исходного массива аk . сглаженный массива
2. Записать в файл результаты вычислений.
СТРОКИ. ОБРАБОТКА СТРОК
9.1. Символы и строки
Обработка текстовой информации является, вероятно, одной из самых распространенных задач в современном программировании, и С# предоставляет для ее решения широкий набор средств: отдельные символы, массивы символов, изменяемые и неизменяемые строки и регулярные выражения.
9.2. Символы
Символьный тип char предназначен для хранения символов в кодировке Unicode. Символьный тип относится к встроенным типам данных С# и соответствует стандартному классу Char библиотеки .NET из пространства имен System. В этом классе определены статические методы, позволяющие задать вид и категорию символа, а также преобразовать символ в верхний или нижний регистр и в число. Основные методы приведены в таблице 9.1:
Таблица 9.1
Основные методы System. Char
Метод |
Описание |
GetNumericValue |
Возвращает числовое значение символа, если он является цифрой, и -1 в противном случае |
GetUnicodeCategory |
Возвращает категорию Unicode-символа1 |
IsControl |
Возвращает true, если символ является управляющим |
IsDigit |
Возвращает true, если символ является десятичной цифрой |
IsLetter |
Возвращает true, если символ является буквой |
IsLetterOrDigit |
Возвращает true, если символ является буквой или цифрой |
IsLower |
Возвращает true, если символ задан в нижнем регистре |
IsNumber |
Возвращает true, если символ является числом (десятичным или шестнадцатеричным) |
IsPunctuation |
Возвращает true, если символ является знаком препинания |
IsSeparator |
Возвращает true, если символ является разделителем |
IsUpper |
Возвращает true, если символ записан в верхнем регистре |
IsWhiteSpace |
Возвращает true, если символ является пробельным (пробел, перевод строки и возврат каретки) |
Продолжение таблицы 9.1
Метод |
Описание |
Parse |
Преобразует строку в символ (строка должна состоять из одного символа) |
ToLower |
Преобразует символ в нижний регистр |
Tollpper |
Преобразует символ в верхний регистр |
MaxValue, MinValue |
Возвращают символы с максимальным и минимальным кодами (эти символы не имеют видимого представления) |