русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Условный оператор if


Дата добавления: 2013-12-23; просмотров: 1165; Нарушение авторских прав


Задания

  1. Укажите последовательность выполнения операций в данном выражении:

(x*x+Math.Sin(x+1))/x-2.

  1. Запишите заданное математическое выражение по правилам языка С#:

Результат вычисления выражения характеризуется значением и типом. Например, если а и b - переменные целого типа и описаны так:

int а = 2, b = 5;

то выражение а + b имеет значение 7 и тип int.

В выражение могут входить операнды различных типов. Если операнды имеют одинаковый тип, то результат операции будет иметь тот же тип. Если операнды разного типа, то перед вычислениями выполняются преобразования более коротких типов в более длинные для сохранения значимости и точности. Иерархия типов данных приведена в следующей схеме:

 

Преобразование типов в выражениях происходит неявно (без участия программистов) следующим образом: Если одни из операндов имеет тип, изображенный на более низком уровне, чем другой, то он приводится к типу второго операнда при наличии пути между ними. Если пути нет, то возникает ошибка компиляции (чтобы ее избежать, необходимо воспользоваться операцией явного преобразования). Если путей преобразования несколько, то выбирается наиболее короткий, не содержащий пунктирных линий.

3.3 Перечень операций

Операции языка С# приведены в порядке убывания приоритетов. Операции с разными приоритетами разделены чертой.

Операция Описание
. Доступ к элементу
x() Вызов метода или делегата
x[] Доступ к элементу
x++ Постфиксный инкремент
x-- Постфиксный декремент
new Выделение памяти
typeof Получение типа
checked Проверяемый код
unchecked Непроверяемый код
+ Унарный плюс
- Арифметическое отрицание
! Логическое отрицание
~ Поразрядное отрицание
++x Префиксный инкремент
--x Префиксный декремент
(тип) x Преобразование типа
* Умножение
/ Деление
% Остаток от деления
<< Сдвиг влево
>> Сдвиг вправо
< Меньше
> Больше
<= Меньше или равно
>= Больше или равно
is Проверка принадлежности типу
as Приведение типа
== Равно
!= Не равно
& Поразрядное И
^ Поразрядное исключающее ИЛИ
| Поразрядное ИЛИ
&& Логическое И
|| Логическое ИЛИ
? : Условная операция
= Простое присваивание
*= Умножение с присваиванием
/= Деление с присваиванием
%= Остаток от деления с присваиванием
+= Сложение с присваиванием
-= Вычитание с присваиванием
<<= Сдвиг влево с присваиванием
>>= Сдвиг вправо с присваиванием
&= Поразрядное И с присваиванием
^= Поразрядное исключающее ИЛИ с присваиванием
|= Поразрядное ИЛИ с присваиванием

 



3.4 Математические функции языка С#

С# содержит большое количество встроенных математических функций, которые реализованы в классе Math пространства имен System.

Рассмотрим краткое описание некоторых математических функций, подробнее с ними можно познакомиться в справочной систем VS или технической документации. Особое внимание следует обратить на типы операндов и результатов, т.к. каждая функция может имееть несколько перегруженных версий.

Замечание. Использование нескольких функций с одним и тем же именем, но с различными типами параметров, называется перегрузкой функции. Например, функция Math.Abs(), вычисляющая модуль числа, имеет 7 перегруженных версий: double Math.Abs (double x), float Math.Abs (float x), int Math.Abs(int x), и т.д.

Название Описание
1. Math.Abs(<выражение>) Модуль
2. Math.Ceiling(<выражение>) Округление для большего целого
3. Math.Cos(<выражение>) Косинус
4. Math.Е Число е
5. Math.Exp(<выражение>) Экспонента
6. Math.Floor(<выражение>) Округление до меньшего целого
7. Math.Log(<выражение>) Натуральный логарифм
8. Math.Log10(<выражение>) Десятичный логарифм
9. Math.Max(<выражение1>, <выражение2>) Максимум из двух значений
10. Math.Min(<выражение1>, <выражение2>) Минимум из двух значений
11. Math.PI Число
12. Math.Pow(<выражение1>, <выражение2>) Возведение в степень
13. Math.Round(<выражение>) Простое округление
14. Math.Sign(<выражение>) Знак числа
15. Math.Sin(<выражение>) Синус
16. Math.Sqrt(<выражение>) Квадратный корень
17. Math.Тan(<выражение>) Тангенс

 

 


Лекция 4. Операторы языка C#

Программа на языке С# состоит из последовательности операторов, каждый из которых определяет законченное описание некоторого действия и заканчивается точкой с запятой. Все операторы можно разделить на 4 группы: операторы следования, операторы ветвления, операторы цикла и операторы передачи управления.

4.1 Операторы следования

Операторы следования выполняются компилятором в естественном порядке: начиная с первого до последнего. К операторам следования относятся: выражение и составной оператор.

Любое выражение, завершающееся точкой с запятой, рассматривается как оператор, выполнение которого заключается в вычислении значения выражения или выполнении законченного действия, например, вызова метода. Например:

++i; //оператор инкрементаx+=y; //оператор сложение с присваиваниемConsole.WriteLine(x); //вызов методаx=Math.Pow(a,b)+a*b; //вычисление сложного выражения

Частным случаем оператора выражения является пустой оператор ; Он используется тогда, когда по синтаксису оператор требуется, а по смыслу - нет. В этом случае лишний символ ; является пустым оператором и вполне допустим, хотя и не всегда безопасен. Например, случайный символ ; после условия оператора while или if может совершенно поменять работу этого оператора.

Составной оператор или блок представляет собой последовательность операторов, заключенных в фигурные скобки {}. Блок обладает собственной областью видимости: объявленные внутри блока имена доступны только внутри данного блока или блоков, вложенных в него. Составные операторы применяются в случае, когда правила языка предусматривают наличие только одного оператора, а логика программы требует нескольких операторов. Например, тело цикла while должно состоять только из одного оператора. Если заключить несколько операторов в фигурные скобки, то получится блок, который будет рассматриваться компилятором как единый оператор.

4.2 Операторы ветвления

Операторы ветвления позволяют изменить порядок выполнения операторов в программе. К операторам ветвления относятся условный оператор if и оператор выбора switch.

Условный оператор if используется для разветвления процесса обработки данных на два направления. Он может иметь одну из форм: сокращенную или полную.

Форма сокращенного оператора if:

if (B) S;

где В - логическое или арифметическое выражение, истинность которого проверяется; S - оператор: простой или составной.

При выполнении сокращенной формы оператора if сначала вычисляется выражение B, затем проводится анализ его результата: если B истинно, то выполняется оператор S; если B ложно, то оператор S пропускается. Таким образом, с помощью сокращенной формы оператора if можно либо выполнить оператор S, либо пропустить его.

Форма полного оператора if:

if (B) S1; else S2;

где B - логическое или арифметическое выражение, истинность которого проверяется; S1, S2- оператор: простой или составной.

При выполнении полной формы оператора if сначала вычисляется выражение B, затем анализируется его результат: если B истинно, то выполняется оператор S1, а оператор S2 пропускается; если B ложно, то выполняется оператор S2, а S1 - пропускается. Таким образом, с помощью полной формы оператора if можно выбрать одно из двух альтернативных действий процесса обработки данных.

Рассмотрим несколько примеров записи условного оператора if:

if (a > 0) x=y; // Сокращенная форма c простым оператором if (++i) {x=y; y=2*z;} // Сокращенная форма c составным операторомif (a > 0 || b<0) x=y; else x=z; // Полная форма с простым операторомif (i+j-1) { x= 0; y= 1;} else {x=1; y:=0;} // Полная форма с составными операторами

Рассмотрим пример использования условного оператора.

static void Main(){ Console.Write("x= "); float x = float.Parse(Console.ReadLine()); Console.Write("y="); float y = float.Parse(Console.ReadLine()); if (x < y ) Console.WriteLine("min= "+x); else Console.WriteLine("min= "+y);}

Результат работы программы:

x y min0 0 01 -1 -1-2 2 -2

Задание. Измените программу так, чтобы вычислялось наибольшее значение из х и у.

Операторы S1 и S2 могут также являться операторами if. Такие операторы называют вложенными. При этом ключевое слово else связывается с ближайшим предыдущим словом if, которое еще не связано ни с одним else. Рассмотрим пример программы, использующей вложенные условные операторы.

Пример: Дана мишень.

Подсчитать количество очков после выстрела по данной мишени.

static void Main(){ int Ball=0; Console.Write("x= "); float x = float.Parse(Console.ReadLine()); Console.Write("y= "); float y = float.Parse(Console.ReadLine()); if (x * x + y * y <=1) Ball = 10; //окружность с радиусом 1 else if (x * x + y * y <= 4) Ball = 5; //окружность с радиусом 2 Console.WriteLine("Ball= "+ Ball);}

Результат работы программы:

x y Ball0 0 101 -1 5-2 2 0

Задание.Измените программу так, чтобы подсчитывалось количество очков для мишени вида



<== предыдущая лекция | следующая лекция ==>
Замечание. | Цикл с предусловием while


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.