Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика ответы на вопросы..docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
520.48 Кб
Скачать

Раздел процедур и функций

Здесь присутствуют заголовки и тела пользовательских процедур и функций.

Раздел действий (операторов)

Эта часть программы начинается с ключевого слова 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) и будут рассмотрены ниже.