- •Решение прикладных задач в среде 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 |
Возвращают символы с максимальным и минимальным кодами (эти символы не имеют видимого представления) |
