- •7. Вычитание в двоичной системе
- •При представлении с фиксированной запятой
- •20. Форматы данных
- •21. Представление числа в форме с плавающей запятой.
- •23. Форматы данных
- •Расширенная форма Бэкуса-Наура
- •25. Технология структурного программирования при разработке серьезных программных комплексов, основана на следующих принципах:
- •Типы интерпретаторов
- •Структура компилятора
- •Синтаксис:
- •38. Типы данных
- •Арифметические операции
- •Логические операции
- •43. С#Операции отношения:
- •Pascal Операции отношения
- •44. C# Операция присваивания
- •45. Стандартные процедуры и функции
- •46. 1) Класс Math:
- •Заголовок программы
- •Раздел меток (label)
- •Раздел констант (const)
- •Раздел типов (type)
- •Раздел переменных (var)
- •Раздел процедур и функций
- •Раздел действий (операторов)
- •Операторы ввода данных
- •Операторы вывода данных
- •54. Оператор case (оператор выбора)
- •55. Оператор if
- •Оператор switch
- •59. Оператор goto
- •Оператор return
- •Оператор throw
- •Исключительные ситуации
- •61. Класс
- •62. Состав классов
- •Модификаторы параметров методов
- •67. Статические конструкторы
- •68. Статические классы
- •Двумерные массивы
- •Создание массивов
- •Копирование массивов
- •Сортировка и поиск
Раздел процедур и функций
Здесь присутствуют заголовки и тела пользовательских процедур и функций.
Раздел действий (операторов)
Эта часть программы начинается с ключевого слова begin и заканчивается словом end, после которого должна стоять точка. Раздел действий есть выполняемая часть программы, состоящая из операторов.
51. Программа на языке C# может состоять из одного или нескольких файлов. Каждый файл может содержать ноль или более пространств имен. Пространство имен может включать такие элементы, как классы, структуры, интерфейсы, перечисления и делегаты, а также другие пространства имен. Ниже приведена скелетная структура программы C#, содержащая все указанные элементы.
52.
Линейные программы
|
Операторы ввода данных
Read (список_переменныx); где список_переменныx – перечень вводимых переменных, разделенных запятыми (объявленных заранее в разделе описания переменных).
При выполнении данного оператора пользователь с клавиатуры должен ввести значения указанных переменных. Значения должны соответствовать типам переменных, разделять их при вводе нужно пробелом или клавишей Enter. После выполнения курсор остается на той же строке.
Readln (список_переменныx);
где список_переменныx – список вводимых переменных, разделенных запятыми (объявленных заранее в разделе описания переменных).
Действие оператора аналогично предыдущему, но после выполнения курсор переводится на новую строку.
Операторы вывода данных
Write ('комментарий',список_переменныx);
где комментарий – необязательная текстовая часть, выводится на экран без изменения,список_переменных - перечень переменных, значения которых выводятся на экран. В качестве элемента списка можно использовать переменную или выражение. Вместо переменной или выражения выводится их значение на момент выполнения оператора вывода. После выполнения курсор остается на той же строке.
Writeln ('комментарий',список_переменныx);
где комментарий – необязательная текстовая часть, выводится на экран без изменения,список_переменных - перечень переменных, значения которых выводятся на экран.
Действие оператора аналогично предыдущему, но после выполнения курсор переводится на новую строку.
53. В классе System.Console также определены следующие СТАТИЧЕСКИЕ (!) функции – члены (вернее, множества СТАТИЧЕСКИХ ПЕРЕГРУЖЕННЫХ функций), обеспечивающие процедуры ввода/вывода:
Write и WriteLine;
Read и ReadLine.
При этом функции-члены класса Console ПО УМОЛЧАНИЮ обеспечивают связь с конкретным потоком. Например, при вызове метода
Console.WriteLine(...); // Список параметров опущен
информация направляется в поток, который представляется определенным в классе статическим свойством Console.Out. Это свойство предоставляет доступ к объекту – представителю класса TextWriter. Таким образом, класс Console также обеспечивает вызов соответствующей функции-члена от имени объекта – представителя класса TextWriter. Непосредственное обращение к члену класса Console (то есть к потоку), отвечающего за текстовый вывод, имеет следующую форму вызова:
Console.Out.WriteLine(...);
Вызов определенного в классе Console метода ReadLine
Console.ReadLine(...);
обеспечивает получение информации через поток, доступ к которому предоставляется статическим свойством Console.In. Непосредственный вызов аналогичной функции от имени члена класса TextReader выглядит следующим образом:
Console.In.ReadLine(...);
Функция – представитель класса Console, отвечающая за непосредственное направление информации в поток вывода сообщений об ошибках, не предусмотрена.
Вывод информации об ошибках может быть реализован путем непосредственного обращения к standard error output stream:
Console.Error.WriteLine(...);
Если вспомнить, что свойство Error возвращает ссылку на объект – представитель класса TextWriter и, так же как и свойство Out, обеспечивает вывод в окно консольного приложения, разделение сообщений, связанных с нормальным ходом выполнения приложения и сообщений об ошибках, становится более чем странным.
Информация, выводимая приложением в "штатном" режиме, и сообщения об ошибках одинаково направляются в окно приложения на экран консоли. Однако в классе Console реализована возможность перенаправления соответствующих потоков. Например, стандартный поток вывода можно перенаправить в файл, а поток сообщений об ошибках оставить без изменений — направленным в окно приложения. Результат перенаправления очевиден.
Процедуры перенаправления потоков осуществляются с помощью методов void SetIn(TextReader in), void SetOut(TextWriter out), void SetErr(TextWriter err) и будут рассмотрены ниже.
