Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Інтерфейс програми

Читайте также:
  1. Out3 -програмирование выходаOUT3
  2. Аналіз ефективності впровадження енергозберігаючих заходів за допомогою програми Proform
  3. Б) за допомогою програми Провідник.
  4. Багатовіконний інтерфейс Windows.
  5. Блокова структура програми
  6. Вартість програми: 275 євро діти до 15 років / 320 євро старше 15 років
  7. Визначення кількості основних робітників для виконання виробничої програми.

Відомості з теорії

Функції: програмні блоки призначені для рішення приватних задач.

Результатом роботи (виклику) функції є деяке значення,

що повертається цією функцією.

Розрізняють:

Стандартні (бібліотечні) функції

функції користувача.

Стандартні (бібліотечні) функції

Стандартні функції є методами класів, які об'єднані в групи - простори імен.

Деякі простори імен .NET

System Кореневий простір імен, що містить безліч низькорівневих класів для роботи з простими типами, виконання математичних операцій, збору сміття і тому подібне
System.Collections Контейнерні класи, такі як ArrayList, Queue, Stack, SortedList і т. п.
System.Data System.Data.Common System.Data.OleDb System.Data.SqlClient Класи цих просторів призначені для роботи з базами даних
System.Drawing System.Drawing.Drawing2D System.Drawing.Printing Класи для примітивів графічного інтерфейсу - растрових зображень, шрифтів, значків, підтримки друку
System.IO Класи, що відповідають за операції введення-виводу
System.Net Класи, що відповідають за передачу даних по мережі (запит-відповідь, створення сокетів і т. п.)
System.Security У цьому просторі імен зібрані класи, що використовуються для підвищення безпеки при передачі даних (робота з дозволами, криптографія і т. п.)
System.Threading Це простір імен для класів, які працюють з програмними потоками, такими як Mutex, Thread, Timeout і тому подібне
System.Web Класи, використовувані у веб-пріложеніях
System.Windows.Forms Класи для роботи з елементами інтерфейсу Windows - вікнами, елементами управління і так далі
System.XML Безліч класів для роботи з даними у форматі XML

Доступ до просторів імен в коді додатку

Для оголошення посилання на простір імен використовується оператор using.

Наприклад:

using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;

 

Клас Math

Для роботи з числовими типами в CTS передбачений клас Math, що містить

математичні константи і статичні методи для реалізації тригонометричних,

логарифмічних і інших математичних функцій загального призначення.

У полях E і PI класу зберігаються основні математичні константи - відповідно,

підстава натурального логарифма е = 2,71828183 і число PI = 3,14159265.

Деякі методи класу Math

Метод Опис
double Abs (double d) Повертає модуль аргументу. Є переобтяжені методи для всіх математичних типів
double Acos (double d) Повертає кут в радіанах по його арккосинусу
double Asin (double d) Повертає кут в радіанах по його арксинусу
double Atan (double d) Повертає кут в радіанах по його арктангенсу
BigMul (int x, int y) Повертає додаток двох 32-розрядних чисел
double Ceiling(double d) Повертає найменше ціле число, яке більше або дорівнює аргументу
double Cos(double d) Повертає косинус кута dв радіанах
double Cosh(double d); Повертає гіперболічний косинус кута і в радіанах
int DivRen(int a,b, R) Повертає результат ділення двох цілих чисел і залишок R
double Exp(double d) Повертає Ев ступені d
double Floor(double d) Повертає найбільше ціле, яке менше або дорівнює заданому числу
double lEEERemainder (double a, double b) Повертає залишок від ділення ана b
double Log(double d) Повертає натуральний логарифм числа d. У переобтяженому методі другим параметром передається підстава логарифма
double Log10(double d) Повертає десятковий логарифм числа d
double Max(double a, double b)) Повертає максимальне з двох чисел. Є переобтяжені методи для всіх математичних типів
double Min(double a, double b) Повертає менше з двох чисел. Є переобтяжені методи для всіх математичних типів
double Pow(double a, double b); Повертає результат зведення числа ав ступінь b
double Round(double a) Округляє число адо найближчого цілого. Є переобтяжені методи для всіх математичних типів
Sign(double a) Повертає -1,0 або +1, коли число а,відповідно, менше нуля, дорівнює йому або більше нуля. Є переобтяжені методи для всіх математичних типів
double Sin(double a) Повертає синус кута ав радіанах
double Sinh(double a) Повертає гіперболічний синус кута ав радіанах
double Sqrt (double a) Возвращает корень квадратный из а
double Tan(double a) Возвращает тангенс угла а в радианах
double Tanh(double a) Возвращает гиперболический синус a

Клас Random.

Клас Random - ще один корисний клас, орієнтований на роботу з числами.

Його призначення - генерація послідовності псевдовипадкових цілих або речових

чисел, рівномірно розподілених в деякому діапазоні. Такі послідовності чисел бувають

необхідні при тестових випробуваннях і в деяких методах оптимізації.

Клас використовує деяке початкове число як базове значення, застосовує до нього алгоритм

перемішування розрядів і отримане таким чином число повертає як чергове випадкове число,

при цьому воно одночасно стає базовим для вироблення наступного випадкового числа.

Таким чином, насправді виробляється послідовність псевдовипадкових чисел, оскільки кожне

чергове число повністю визначається початковим значенням і алгоритмом перемішування.

Проте властивості цієї послідовності цілком достатні для більшості практичних застосувань.

Клас має два конструктори: замовчуваний без параметрів і переобтяжений з параметром int.

Перший як початкове значення приймає поточну дату і час, другий - параметр звернення.

Таким чином, перший конструктор створює серії чисел, що не повторюються, а інший може

створювати однакові серії.

Методи класу не є статичними, тому для їх використання обов'язково створюється об'єкт класу.

Ці методи перераховані в таблиці.

Метод Опис
public virtual int Next (); Повертає чергове псевдовипадкове число. У переобтяжених варіантах методу можна указувати максимальне значення чисел, що генеруються, або діапазон їх значень
public virtual void NextBytes (byte[] buffer); Заполняет змінну bufferбайтами з псевдо випадковими значенням
public virtual double NextDouble (); Повертає дійсне псевдовипадкове число в діапазоні від 0,0 до 1,0

 

Функції користувача об'являються й описуються у файлі програми, а також

у модулях користувача й в окремих файлах, що підключаються до програми.

Для використання в програмі функцій користувача їх прототипі необхідно описати

до початку основної функції.

Синтаксис оголошення:

<Тип повертаємого результату> < Ім'я функції >(< Параметри функції

і їхній тип >)

{

< Оператори функції (тіло функції) >

return <результат>;

}

 

Приклад функції користувача:

 

double Power(double x, double a)

{

if (x>0) return exp(a*log(x));

else return -1;

}

Дана функція підносить х до степеня а для будь-яких позитивних х.

Можуть бути використані рекурсівни функції,у яких для одержання

чергового значення використовується попереднє значення цієї ж функції.

Прикладом таких функцій є функція обчислення факториалу:

long int Fact(int N)

{

long int Fct = 1;

if (N>1) Fct = N*Fact(N-1);

return Fct;

}

Приклад використання функції користувача в програмі:

float a,x,y;

long int c;

.......................................

x = 1.234;

a = 0.333;

y = Power(x,a);

c = Fact(4);

........................................

Для повернення результату у функціях можна використовувати посилання на параметри

за допомогою специфікаторів out і ref. Специфікатор ref використовується для параметрів

посилального типу (масиви, рядки, структури).

Приклад:

double MinMaxMidle(double V1, double V1, out double min, out double max)

{

if(V1 < V2) min = V1; else min = V2;

if(V1 > V2) max = V1; else max = V2;

return (V1 + V2) / 2;

}

 

Функції можуть бути перенавантажуваними, тобто мати одне ім'я, але відрізнятися

типом вхідних даних, їх кількістю або типом результату. Довільна кількість вхідних

даних можна задавати у вигляді масиву із специфікатором params.

Приклади:

private int func(int k) // функція з одним параметром

{

return 3 * k;

}

private int func(int k1, int k2) // функція з двома параметромі

 

{

return k1 + k2;

}

private int func(double k) // функція з параметром іншого типу

{

return (int) (3 * k);

}

private int Sum(params int[] arr) // функція з довільним числом параметрів

{

int s = 0;

foreach (int v in arr) s += v;

return s;

}

 

Використання в програмі:

int v = 3,v1 = 5;

double x = 2.5;

Console.WriteLine("V = "+v.ToString()+" F = "+func(v).ToString());

Console.WriteLine("X = " + x.ToString() + " F = " + func(x).ToString());

Console.WriteLine(func(v,v1).ToString());

Console.WriteLine(Sum(1, 2, 3).ToString() + " " + Sum(1, 2, 3, 4).ToString());

 


Дата добавления: 2015-10-31; просмотров: 71 | Нарушение авторских прав


Читайте в этой же книге: Логічний тип даних | Введення/вивід даних | Циклічний оператор із перевіркою умови закінчення |
<== предыдущая страница | следующая страница ==>
ЛР 2. Складні типи даних C# : структури| При склонении существительных женского рода ударение

mybiblioteka.su - 2015-2024 год. (0.016 сек.)