- •Содержание
- •Глава 1. Основные принципы разработки алгоритмов и программ 8
- •Глава 2. Знакомство с технологией .Nет 30
- •Глава 3. Установка visual studio. Консольные приложения 42
- •Глава 4. Введение в язык c# 52
- •Глава 5. Операции и выражения. Программы линейной структуры 67
- •Глава 6. Программирование ветвящихся процессов 85
- •Глава 7. Программирование циклических процессов 92
- •Предисловие
- •Введение
- •Глава 1. Основные принципы разработки алгоритмов и программ
- •1.1 Этапы решения задач на эвм
- •1.1.1 Постановка задачи
- •1.1.2 Формализация или математическая постановка задачи
- •1.1.3 Выбор или разработка метода решения
- •1.1.4 Разработка алгоритма
- •1.1.5 Программирование
- •1.1.6 Отладка
- •1.1.7 Вычисление и обработка результатов
- •1.2 Формы записи алгоритмов
- •1.2.1 Словесное описание
- •1.2.2 Запись алгоритма с помощью схем
- •1.2.3 Псевдокоды
- •1.2.4 Способ записи на языке программирования
- •1.3 Свойства, которыми должны обладать алгоритмы
- •1.4 Характеристики качества программного продукта
- •1.5 Технология программирования хороших программ
- •1.5.1 Способы проектирования алгоритмов и программ
- •1.5.2 Основные идеи структурного программирования
- •При разработке алгоритма нужно руководствоваться следующими рекомендациями:
- •1.5.3 Дополнительные рекомендации
- •1.6 Контрольные вопросы
- •Глава 2. Знакомство с технологией .Nет
- •2. 1 Причины появления новой платформы и нового языка
- •2.2 Платформа .Nет Framework
- •2.3 Интегрированная среда разработки Visual Studio
- •2.3.1Общеязыковая среда выполнения clr
- •2.3.2 Новации Visual Studio 2010
- •2.4 Основные понятия объектно-ориентированной технологии
- •2.4.1 Инкапсуляция
- •2.4.2 Полиморфизм
- •2.4.3 Наследование
- •2.4.4 Классы
- •Контрольные вопросы
- •Глава 3. Установка visual studio. Консольные приложения
- •3.1 Установка Visual Studio
- •3.2 Разработка приложений
- •3.2.1 Консольные приложения
- •3.2.1.1 Создание проекта. Основные окна среды
- •Контрольные вопросы
- •Глава 4. Введение в язык c#
- •4.1 Историческая справка
- •4.2 Основы языка с#
- •4.2.1 Алфавит языка
- •4.2.2 Лексемы языка, директивы препроцессора и комментарии
- •4.3 Типы данных
- •4.3.1 Классификация типов данных
- •4.3.2 Встроенные типы данных
- •4.3.2.1 Целые типы
- •4.3.2.2 Вещественные типы
- •4.3.2.3 Логический тип
- •4.3.2.4 Символьный тип
- •4.3.2.5 Финансовый тип
- •4.3.3 Литералы
- •4.4 Переменные
- •4.4.1 Объявления переменных
- •4.4.2 Инициализация переменных
- •4.4.3 Область видимости переменных
- •4.5 Именованные константы
- •Контрольные вопросы
- •Глава 5. Операции и выражения. Программы линейной структуры
- •5.1 Выражения
- •5.1.1 Операции
- •5.1.1.1 Арифметические операции
- •5.1.1.2 Операции отношения, сдвига с#
- •5.1.1.3 Поразрядные и логические операции с#
- •5.1.1.4 Операции присваивания
- •5.1.1.5 Условная операция
- •5.2 Преобразование и приведение типов
- •5.2.1 Присвоение переменной одного типа значения другого типа
- •5.2.2 Явное преобразование типа
- •5.2.3 Преобразование типов в выражениях
- •5.3 Класс Math
- •Математические функции можно использовать только с величинами числовых типов. Углы тригонометрических функций должны быть представлены в радианах.
- •5.4 Линейные алгоритмы и программы
- •5.4.1 Простейшие способы вывода
- •5.4.2 Простейшие способы ввода с клавиатуры
- •5.5 Примеры
- •Контрольные вопросы
- •Варианты заданий для самостоятельной работы
- •Глава 6. Программирование ветвящихся процессов
- •6.1 Условные операторы
- •6.2 Алгоритмы и программы разветвленной структуры
- •Контрольные вопросы
- •Варианты заданий для самостоятельной работы
- •Глава 7. Программирование циклических процессов
- •7.1 Понятие цикла
- •7.2 Операторы управления
- •7.2.1 Оператор goto
- •7.2.2 Специальные операторы управления
- •7.2.3 Операторы циклов
- •7.3 Программирование вычислительных процессов усложненной структуры
- •7.3.1 Итерационные циклы
- •7.3.2 Вложенные циклы
- •Контрольные вопросы
- •Варианты заданий для самостоятельной работы
5.3 Класс Math
Первые шаги на пути постижения основ программирования обычно осуществляются путем решения вначале очень простых, а затем более сложных математических задач. Известно, что при решении многих из них требуется вычисление математических функций.
В C# математические функции реализованы в классе Math, определенном в классе имен System, где их можно использовать в выражениях без предварительного описания. В C# количество математических функций по сравнению со стандартом языка увеличено, и с помощью методов класса Math можно получить значения широкого круга функций, перечень и характеристика которых приведены в таблице 5.6.
Таблица 5.6 Основные поля и статические методы класса Math
Имя |
Описание |
Результат |
Примечания |
Abs |
Модуль |
Перегружен |
|x| записывается как Abs(х) |
Acos |
Арккосинус |
double |
Аcos(double х) |
Аsin |
Арксинус |
double |
Asin(double х) |
Аtan |
Арктангенс |
double |
Atan(double х) |
Atan2
|
Арктангенс
|
double
|
Atan2(double х, double у) - угол, тангенс которого есть результат деления у на х |
BigMul |
Произведение |
long |
BigMul (int х, int у) |
Ceiling |
Округление до большего целого |
double |
Ceiling(double х) |
Cos |
Косинус |
double |
Cos (double х) |
Cosh |
Гиперболический косинус |
double |
Cosh (double х) |
DivRem |
Деление и остаток |
Перегружен |
DivRem(х, у, rem) |
E
|
База натурального логарифма (число е) |
double
|
2,71828182845905
|
Ехр |
Экспонента |
double |
ех записывается как Ехр(х) |
Floor |
Округление до меньшего целого |
double |
Floor(double х) |
IEEERemainder |
Остаток от деления |
double |
IEEERemainder(double х,double у) |
Log |
Натуральный логарифм |
double |
logех записывается как Log(х) |
Log10 |
Десятичный логарифм |
double |
log10 х записывается как Log10(х) |
Мах |
Максимум из двух чисел |
Перегружен |
Мах(х,у) |
Min |
Минимум из двух чисел |
Перегружен |
Min(х,у) |
PI |
Значение числа пи |
double |
3,14159265358979 |
Pow |
Возведение в степень |
double |
ху записывается как Pow (x,y) |
Round |
Округление
|
Перегружен
|
Round (3.1) даст в результате 3, Round (3.8) даст в результате 4 |
Sign |
Знак числа |
int |
Аргументы перегружены |
Sin |
Синус |
double |
Sin(double х) |
Sinh |
Гиперболический синус |
double |
Sinh(double х) |
Sqrt |
Квадратный корень |
double |
√х записывается как Sqrt(x) |
Tan |
Тангенс |
double |
Tan(double х) |
Tanh |
Гиперболический тангенс |
double |
Tanh(double х) |