
- •Основы алгоритмизации и объектно-ориентированного программирования
- •Оглавление
- •Предисловие
- •1. Основы языка c#
- •1.1 Переменные. Типы данных
- •1.2 Литералы
- •1.3. Операторы объявления. Инициализация переменных
- •1.4. Математические операторы. Выражения
- •Приведение и преобразование типов в с#
- •1.5. Логические операторы. Выражения
- •1.6. Перечисление
- •1.7. Основные операторы
- •1.8. Ввод-вывод
- •2. Реализация простейших алгоритмов на языке c#.
- •2.1. Организация циклов
- •2.2. Организация разветвлений. Разветвления в цикле
- •2.3. Составление программ для обработки потока данных
- •3. Массивы. Типовые алгоритмы обработки массивов
- •3.1. Одномерные массивы и алгоритмы их обработки
- •Поиск заданного элемента в упорядоченном массиве (бинарный поиск).
- •12. Объединение двух массивов с чередованием элементов
- •Объединение двух упорядоченных массивов в один с сохранением упорядоченности.
- •14. Инвертирование массива
- •15. Циклический сдвиг
- •3.2. Работа с массивами как с объектами
- •3.3. Работа с матрицами
- •Типовые алгоритмы работы с матрицами
- •4. Структуры и классы
- •4.1. Использование структур
- •4.2. Использование Конструктора экземпляра и других методов при работе со структурами
- •4.3. Использование классов
- •5. Методы
- •5.1 Общие положения. Способы передачи параметров
- •5.2. Использование массивов в качестве параметров
- •5.3. Использование делегата для передачи метода в качестве параметра в другой метод
- •Использование массивов в качестве параметров.
- •6. Работа с текстовыми строками
- •Файлы данных (Пространство имен System.Io). Файлы и потоки
- •8. Разработка приложений с графическим интерфейсом пользователя Windows. Экранные формы
- •Работа с элементом управления TextBox.
- •Работа с элементом управления Button
- •Работа с элементом управления RichTextBox
- •Создание объекта Graphics пространства имен System.Drawing для рисования
- •9. Среда разработки
- •9.1. Создание нового проекта
- •9.2. Сохранение проекта
- •9.3. Открытие существующего проекта
- •9.4. Использование интегрированной среды разработки Visual c#
- •Обозреватель решений
- •Компилятор c# для преобразования исходного кода c# в исполняемую программу
- •Ошибки построения
- •Отладчик Visual Studio для тестирования программы
- •Обозреватель объектов для просмотра методов и классов, доступных в библиотеках.
- •Значки обозревателя объектов
- •Приложение 1. Платформа Microsoft .Net Framework
- •Приложение 2.
- •Приложение 3. Региональные стандарты
- •2. Библиотека msdn (по-русски) http://msdn.Microsoft.Com/ru-ru/library/default.Aspx
1.4. Математические операторы. Выражения
В общем случае слева от оператора присваивания (знака =) располагается переменная, справа – выражение, значение которой будет присвоено переменной левой части. (Пока речь будет идти только о числовых переменных и выражениях, значениями которых является числовое значение.) Простейшим выражением является простая переменная или литерал.
Выражение может содержать математические операторы: сложения +, вычитания –, умножения *, деления / и вычисления остатка при целочисленном делении % (операция возведения в степень в языке C# отсутствует) и операнды, над которыми эти операции выполняются. Операндами могут быть литералы, переменные и обращения к методам, результатом которых является одно значение. Если в выражении несколько операторов, то они выполняют действия в соответствии со следующими приоритетами: операторы умножения и деления *, /, % (выполняются по порядку слева направо), операторы сложения и вычитания +, –. Если операндом какой-либо операции является обращение к функции (методу), то сначала выполняется это обращение, чтобы получить в качестве операнда числовое значение. В качестве примера вычислим
y = 6 + Cos(x) + x * x
и выведем результат на экран.
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
double x = 2.3;
double y;
y = 6 + Math.Cos(x) + x * x;
Console.WriteLine(y);
Console.ReadKey();
}
}
}
Порядок вычисления выражения в программе будет следующим:
Вычисляется Cos(x) обращением к методу Cos(x)класса Math. (Обозначим результат через p1).
Вычисляется 6 + p1 (Обозначим результат этой операции через p2).
Вычисляется x * x (Обозначим результат этой операции через p3).
Вычисляется p2 + p3. Результат этой операции помещается в y.
В выражении могут присутствовать операнды разных типов. В приведенном примере первый операнд – литерал целого типа. Остальные операнды – типа double. Тип результата каждой операции зависит от типа операндов, участвующих в операции. Тип результата последней операции определяет тип результата вычисления выражения.
Определение типа результата операции осуществляется в соответствии со следующими правилами:
Если оба операнда целые (типа int), результат будет иметь тот же тип (int). В соответствии с этим при делении целого на целое получается целое число. Остаток от деления теряется.
Если один из операндов вещественный (тип double), то результат будет вещественный (double). Второй операнд при необходимости автоматически преобразуется к типу double.
Замечание. Для часто встречающегося в программах оператора, изменяющего значение переменной типа int на 1 , например,
i = i + 1; или i = i – 1;
можно использовать более короткую запись
i ++; (инкремент) или i ––; (декремент)
(см., например, программы Примеров 2.7, 2.13 и др.).
Другие возможности сокращенной записи операторов здесь не рассматриваются.