SlideShare a Scribd company logo
Основи C#
Зміст
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.

Що таке код програми?
Виконання програми
Середовища розробки
Перша програма
Базовий синтаксис
Типи даних
Змінні
Decimal
Рядки
Масиви
Цикли

12.
13.
14.
15.

Логічні операції
Умовні оператори
Параметри функцій
Як не потрібно писати код
функція

Що таке код програми?
Виконання програми
Код програми на NET
орієнтованій мові

NET компілятор

Збірка *.dll або *.exe
(код MSIL, метадані і маніфест)

Завантаження класів

JIT - компіляція

Керований код, специфічний
для платформи Net
Виконання програмних
компонентів

Середовище виконання NET
програм (CLR)

Бібліотека базових
класів і ін.
Виконання програми
NET компілятор – компілює вихідний код в MSIL (Microsoft Intermediate
Language), також її називають CIL (Common Intermediate Language).
Збірка – двійковий файл, що підтримує версії , самоописує себе і
обслуговується оточенням CLR (Common Language Runtime). Окрім власне
коду MSIL в збірці міститься різноманітна службова інформація,
наприклад: інформація про зовнішні збірки (залежності), структура
включених в неї типів і т. п.
JIT компілятор – виконує перетворення коду MSIL в машинні команди по
мірі виклику підпрограм (фрагментами). На виході утворюється так
званий керований код, який потім виконується в середовищі CLR.
Керований тому, що містить метадані, які дозволяють CLR виконувати
перевірку безпеки, контроль прав, контроль версій, збір мусору і т. п.
Середовища розробки
•
•
•
•
•
•

Visual Studio
Eclipse
NetBeans IDE
MonoDevelop
Delphi
Notepad :)
Перша програма
Hello world!
Синтаксис
Типи даних
Основні типи даних:
- void
- intlongshort
- floatdouble
- decimal
- bool
- stringchar
- object
Типи даних
Тип

Діапазон значень

Розмір (точність)

short

-32768 до 32767

знакове 16-біт ціле

int

-2147483648 до 2147483647

знакове 32-біт ціле

long

-9223372036854775808 до 9223372036854775807

знакове 64-біт ціле

float

-3.4 × 1038 до +3.4 × 1038

32-біт (точність 7 знаків)

double

±5.0 × 10−324 до ±1.7 × 10308

64-біт точність 15-16 знаків

decimal

(-7,9 x 1028 до 7,9 x 1028) / (100–28)

128-біт (точність 28-29
значущих знаків)

char

від U+0000 до U+FFFF

16-біт символ Юнікода

string

залежить від вільної пам'яті
Задача з тестів
Скільки раз виконається наступний цикл:
for (float f = 0f; f != 1; f += 0.1f)
{
Console.WriteLine(f);
}
for (float i = 0f; Math.Abs(i - 1) > 0.001f; i += 0.1f)
{
Console.WriteLine(i);
}
Змінні
Змінна – об’єкт програми, область пам’яті у якій ми можемо збегірати,
змінювати та отримувати дані з різних частин програми

• Оголошення простих типів

• Константи

• Створення об’єктів
Decimal
Decimal – числові дані з фіксованою точністю і масштабом.
• Більш висока точність десяткової частини, але менший діапазон
значень ніж у double
• Відсутні помилки заокруглення, що присутні в double і float
• Відсутня апаратна підтримка на рівні процесора, тому арифметичні
операції з decimal приблизно у 10 разів повільніші ніж з double і float
Слід використовувати у фінансових програмах.
Рядки
Рядок – це об’єкт типу string, який представляє довільний рядок тексту.
•
•
•
•
•
•

Рядок є reference типом
Це immutable (незмінний) тип
Може містити значення null
Рядок перевизначає оператор рівності ==
Intern pool (одинакові рядки зберігаються лише раз)
Стандартні і дослівні літерали
Рядки
• Чому погано писати

• Використовуйте
Масиви
Масив – сукупність елементів одного типу даних, впорядкованих за індексами.

• Оголошення

• Доступ до елементу
Цикли
Цикл – це повторення виконання однієї і тієї ж частини коду декілька раз
(доки дійсна умова)

- for (var i; i<count; i++)
- while (i > count)
- do…while (i > count)
- foreach (var i in items)
Логічні операції
!
Бінарні ||
&& <
Тринарні ? :
Унарні

> >= <= == !=
Задача з тестів
17 xor 3
10001 xor 11
1 0 0 0 1
0 0 0 1 1
1 0 0 1 0
(1 × 24) + (0 × 23) + (0 × 22) + (1 × 21) + (0 × 20)

16 + 0 + 0 + 2 + 0 = 18
Пріоритет операцій
Категорія

Оператори

Unary

+ - ! ~ ++x --x (T)x

Multiplicative

*/%

Additive

+-

Shift

<< >>

Relational and type testing

< > <= >= is as

Equality

== !=

Logical AND

&

Logical XOR

^

Logical OR

|

Conditional AND

&&

Conditional OR

||

Conditional

?:

Assignment

= *= /= %= += -= <<= >>= &= ^= |=
Задача з тестів
2 and 3 and 4 and 5 or 6 and 7
010 and 011 and 100 and 101 or 110 and 111
010 and 011 = 010
010 and 100 = 000
000 and 101 = 000
110 and 111 = 110
000 or 110 = 110 (6)
Умовні оператори
Умовні оператори – це оператори які дозволяють виконувати або не виконувати
певний функціонал в залежності від того чи справидиться умова виконання чи ні.
Параметри функцій
Parameter default values.

Params – навіщо це.
Ref – передача параметрів у функцію завжди по посиланню.
Out – вихідний параметр функції.
Як не потрібно писати

More Related Content

What's hot

SQL Grouping, Joins
SQL Grouping, JoinsSQL Grouping, Joins
SQL Grouping, Joins
eleksdev
 
Lecture 07 swift
Lecture 07 swiftLecture 07 swift
Lecture 07 swift
Maksym Davydov
 
Lecture 13 Local Optimization on Mobile Devices
Lecture 13 Local Optimization on Mobile DevicesLecture 13 Local Optimization on Mobile Devices
Lecture 13 Local Optimization on Mobile Devices
Maksym Davydov
 
Clean code (UA)
Clean code (UA)Clean code (UA)
Clean code (UA)
Oleksandr Pavlyshak
 
Advanced c sharp part 3
Advanced c sharp part 3Advanced c sharp part 3
Advanced c sharp part 3
eleksdev
 
лекції 4 7
лекції 4 7лекції 4 7
лекції 4 7
cit-cit
 
DAL
DALDAL
Play Mongodb
Play MongodbPlay Mongodb
Play Mongodb
Infinity
 
Основи алгоритмізації та програмування. Лекція 1
Основи алгоритмізації та програмування. Лекція 1Основи алгоритмізації та програмування. Лекція 1
Основи алгоритмізації та програмування. Лекція 1Dmitry Chabanenko
 
Phpunit модульне тестування
Phpunit модульне тестуванняPhpunit модульне тестування
Phpunit модульне тестування
Vladimir Maslechkin
 
алфавіт мови програмування Pascal 14
алфавіт мови програмування Pascal 14алфавіт мови програмування Pascal 14
алфавіт мови програмування Pascal 14zero1996
 
System programing module 2. Threads
System programing module 2. ThreadsSystem programing module 2. Threads
System programing module 2. Threads
Andrii Hladkyi
 
01 Incapsulation
01 Incapsulation01 Incapsulation
01 Incapsulationolegapster
 
JavaScript. Lectures. part 1. basis
JavaScript. Lectures. part 1. basisJavaScript. Lectures. part 1. basis
JavaScript. Lectures. part 1. basis
Олег Вілігурський
 
sql introduction
sql introductionsql introduction
sql introduction
eleksdev
 
+4 faylovi operaciji_u_s2000
+4 faylovi operaciji_u_s2000+4 faylovi operaciji_u_s2000
+4 faylovi operaciji_u_s2000
Ольга Рыбак
 

What's hot (20)

SQL Grouping, Joins
SQL Grouping, JoinsSQL Grouping, Joins
SQL Grouping, Joins
 
Lecture 07 swift
Lecture 07 swiftLecture 07 swift
Lecture 07 swift
 
Lecture 13 Local Optimization on Mobile Devices
Lecture 13 Local Optimization on Mobile DevicesLecture 13 Local Optimization on Mobile Devices
Lecture 13 Local Optimization on Mobile Devices
 
07 Containers
07 Containers07 Containers
07 Containers
 
Clean code (UA)
Clean code (UA)Clean code (UA)
Clean code (UA)
 
Advanced c sharp part 3
Advanced c sharp part 3Advanced c sharp part 3
Advanced c sharp part 3
 
лекції 4 7
лекції 4 7лекції 4 7
лекції 4 7
 
DAL
DALDAL
DAL
 
Play Mongodb
Play MongodbPlay Mongodb
Play Mongodb
 
Основи алгоритмізації та програмування. Лекція 1
Основи алгоритмізації та програмування. Лекція 1Основи алгоритмізації та програмування. Лекція 1
Основи алгоритмізації та програмування. Лекція 1
 
Phpunit модульне тестування
Phpunit модульне тестуванняPhpunit модульне тестування
Phpunit модульне тестування
 
алфавіт мови програмування Pascal 14
алфавіт мови програмування Pascal 14алфавіт мови програмування Pascal 14
алфавіт мови програмування Pascal 14
 
System programing module 2. Threads
System programing module 2. ThreadsSystem programing module 2. Threads
System programing module 2. Threads
 
01 Incapsulation
01 Incapsulation01 Incapsulation
01 Incapsulation
 
Design patterns part 1
Design patterns part 1Design patterns part 1
Design patterns part 1
 
JavaScript. Lectures. part 1. basis
JavaScript. Lectures. part 1. basisJavaScript. Lectures. part 1. basis
JavaScript. Lectures. part 1. basis
 
Design patterns part 2
Design patterns part 2Design patterns part 2
Design patterns part 2
 
Pascal (динамічні структури даних)
Pascal (динамічні структури даних)Pascal (динамічні структури даних)
Pascal (динамічні структури даних)
 
sql introduction
sql introductionsql introduction
sql introduction
 
+4 faylovi operaciji_u_s2000
+4 faylovi operaciji_u_s2000+4 faylovi operaciji_u_s2000
+4 faylovi operaciji_u_s2000
 

Viewers also liked

05 UI & UX
05 UI & UX05 UI & UX
05 UI & UXeleksdev
 
05 Database
05 Database05 Database
05 Databaseeleksdev
 
04 Windows forms
04 Windows forms04 Windows forms
04 Windows formseleksdev
 
07 Database Access
07 Database Access07 Database Access
07 Database Accesseleksdev
 
11 web services
11 web services11 web services
11 web serviceseleksdev
 
12 Architecture
12 Architecture12 Architecture
12 Architectureeleksdev
 
10 asp.net
10 asp.net 10 asp.net
10 asp.net eleksdev
 
13 testing
13 testing13 testing
13 testingeleksdev
 
14 Patterns pt2
14 Patterns pt214 Patterns pt2
14 Patterns pt2eleksdev
 
08 Exceptions and AOP
08  Exceptions and AOP08  Exceptions and AOP
08 Exceptions and AOPeleksdev
 
03 standard class library
03 standard class library03 standard class library
03 standard class libraryeleksdev
 
Uml
UmlUml
C++ Basics
C++ BasicsC++ Basics
C++ Basics
eleksdev
 
N tier
N tierN tier
N tier
eleksdev
 
NoSQL basics
NoSQL basicsNoSQL basics
NoSQL basics
eleksdev
 
cpp-2013 #2 Organizing your code
cpp-2013 #2 Organizing your codecpp-2013 #2 Organizing your code
cpp-2013 #2 Organizing your codeAmazon Web Services
 
Web service lecture
Web service lectureWeb service lecture
Web service lecture
eleksdev
 

Viewers also liked (20)

05 UI & UX
05 UI & UX05 UI & UX
05 UI & UX
 
02 OOP
02 OOP02 OOP
02 OOP
 
05 Database
05 Database05 Database
05 Database
 
04 Windows forms
04 Windows forms04 Windows forms
04 Windows forms
 
07 Database Access
07 Database Access07 Database Access
07 Database Access
 
11 web services
11 web services11 web services
11 web services
 
12 Architecture
12 Architecture12 Architecture
12 Architecture
 
10 asp.net
10 asp.net 10 asp.net
10 asp.net
 
13 testing
13 testing13 testing
13 testing
 
14 Patterns pt2
14 Patterns pt214 Patterns pt2
14 Patterns pt2
 
cpp-2013 #19 Concurrency
cpp-2013 #19 Concurrencycpp-2013 #19 Concurrency
cpp-2013 #19 Concurrency
 
08 Exceptions and AOP
08  Exceptions and AOP08  Exceptions and AOP
08 Exceptions and AOP
 
03 standard class library
03 standard class library03 standard class library
03 standard class library
 
Uml
UmlUml
Uml
 
C++ Basics
C++ BasicsC++ Basics
C++ Basics
 
N tier
N tierN tier
N tier
 
NoSQL basics
NoSQL basicsNoSQL basics
NoSQL basics
 
cpp-2013 #6 OOP Part 2
cpp-2013 #6 OOP Part 2cpp-2013 #6 OOP Part 2
cpp-2013 #6 OOP Part 2
 
cpp-2013 #2 Organizing your code
cpp-2013 #2 Organizing your codecpp-2013 #2 Organizing your code
cpp-2013 #2 Organizing your code
 
Web service lecture
Web service lectureWeb service lecture
Web service lecture
 

Similar to 01 c# basics

Основи мови Ci
Основи мови CiОснови мови Ci
Основи мови Ci
Escuela
 
Osnovni ko hctpykcii movi
Osnovni ko hctpykcii moviOsnovni ko hctpykcii movi
Osnovni ko hctpykcii movi
metallurg056
 
Python
PythonPython
Python
svit123lana
 
Модулі Python
Модулі PythonМодулі Python
V24 com to_net
V24 com to_netV24 com to_net
V24 com to_net
Ringonoki
 
опорні схеми
опорні схемиопорні схеми
опорні схеми
Irina Tabanets
 
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листку
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листкуінформатика алгор та прогр по підручнику верлань 2 стор на 1 листку
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листку
Школа №7 Миргород
 
Win api module_1.1
Win api module_1.1Win api module_1.1
Win api module_1.1
Andrii Hladkyi
 
Тема 1. Теоретичні основи інформатики
Тема 1. Теоретичні основи інформатикиТема 1. Теоретичні основи інформатики
Тема 1. Теоретичні основи інформатики
galanet82
 
Less37
Less37Less37
02 Arithmetic Data Types
02 Arithmetic Data Types02 Arithmetic Data Types
02 Arithmetic Data Typesolegapster
 
+6 for
+6 for+6 for
Less36
Less36Less36
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
Fwdays
 

Similar to 01 c# basics (20)

Основи мови Ci
Основи мови CiОснови мови Ci
Основи мови Ci
 
1
11
1
 
Osnovni ko hctpykcii movi
Osnovni ko hctpykcii moviOsnovni ko hctpykcii movi
Osnovni ko hctpykcii movi
 
Python
PythonPython
Python
 
Модулі Python
Модулі PythonМодулі Python
Модулі Python
 
V24 com to_net
V24 com to_netV24 com to_net
V24 com to_net
 
опорні схеми
опорні схемиопорні схеми
опорні схеми
 
5971 789623
5971 7896235971 789623
5971 789623
 
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листку
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листкуінформатика алгор та прогр по підручнику верлань 2 стор на 1 листку
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листку
 
Win api module_1.1
Win api module_1.1Win api module_1.1
Win api module_1.1
 
Тема 1. Теоретичні основи інформатики
Тема 1. Теоретичні основи інформатикиТема 1. Теоретичні основи інформатики
Тема 1. Теоретичні основи інформатики
 
8 15
8 158 15
8 15
 
05 Arrays
05 Arrays05 Arrays
05 Arrays
 
Less37
Less37Less37
Less37
 
#1 C# basics
#1 C# basics#1 C# basics
#1 C# basics
 
02 Arithmetic Data Types
02 Arithmetic Data Types02 Arithmetic Data Types
02 Arithmetic Data Types
 
+6 for
+6 for+6 for
+6 for
 
Povtor 7 8kl
Povtor 7 8klPovtor 7 8kl
Povtor 7 8kl
 
Less36
Less36Less36
Less36
 
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
 

More from eleksdev

Lecture android best practices
Lecture   android best practicesLecture   android best practices
Lecture android best practices
eleksdev
 
Communication in android
Communication in androidCommunication in android
Communication in android
eleksdev
 
Hello android world
Hello android worldHello android world
Hello android world
eleksdev
 
Angular. presentation
Angular. presentationAngular. presentation
Angular. presentation
eleksdev
 
Android location and sensors API
Android location and sensors APIAndroid location and sensors API
Android location and sensors API
eleksdev
 
Lecture java basics
Lecture   java basicsLecture   java basics
Lecture java basics
eleksdev
 
Frontend basics
Frontend basicsFrontend basics
Frontend basics
eleksdev
 
Advanced styles
Advanced stylesAdvanced styles
Advanced styles
eleksdev
 
Css animation, html5 api
Css animation, html5 apiCss animation, html5 api
Css animation, html5 api
eleksdev
 
Improving rpc bkp
Improving rpc bkpImproving rpc bkp
Improving rpc bkp
eleksdev
 
G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2
eleksdev
 
G rpc lection1
G rpc lection1G rpc lection1
G rpc lection1
eleksdev
 
Windows service
Windows serviceWindows service
Windows service
eleksdev
 
Rpc
RpcRpc
Aspnet core
Aspnet coreAspnet core
Aspnet core
eleksdev
 
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
eleksdev
 
SDLC. QA Role
SDLC. QA RoleSDLC. QA Role
SDLC. QA Role
eleksdev
 
SDLC. UX Role
SDLC. UX RoleSDLC. UX Role
SDLC. UX Role
eleksdev
 
SDLC. PM Role
SDLC. PM RoleSDLC. PM Role
SDLC. PM Role
eleksdev
 
SDLC. BA Role
SDLC. BA RoleSDLC. BA Role
SDLC. BA Role
eleksdev
 

More from eleksdev (20)

Lecture android best practices
Lecture   android best practicesLecture   android best practices
Lecture android best practices
 
Communication in android
Communication in androidCommunication in android
Communication in android
 
Hello android world
Hello android worldHello android world
Hello android world
 
Angular. presentation
Angular. presentationAngular. presentation
Angular. presentation
 
Android location and sensors API
Android location and sensors APIAndroid location and sensors API
Android location and sensors API
 
Lecture java basics
Lecture   java basicsLecture   java basics
Lecture java basics
 
Frontend basics
Frontend basicsFrontend basics
Frontend basics
 
Advanced styles
Advanced stylesAdvanced styles
Advanced styles
 
Css animation, html5 api
Css animation, html5 apiCss animation, html5 api
Css animation, html5 api
 
Improving rpc bkp
Improving rpc bkpImproving rpc bkp
Improving rpc bkp
 
G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2G rpc lection1_theory_bkp2
G rpc lection1_theory_bkp2
 
G rpc lection1
G rpc lection1G rpc lection1
G rpc lection1
 
Windows service
Windows serviceWindows service
Windows service
 
Rpc
RpcRpc
Rpc
 
Aspnet core
Aspnet coreAspnet core
Aspnet core
 
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
 
SDLC. QA Role
SDLC. QA RoleSDLC. QA Role
SDLC. QA Role
 
SDLC. UX Role
SDLC. UX RoleSDLC. UX Role
SDLC. UX Role
 
SDLC. PM Role
SDLC. PM RoleSDLC. PM Role
SDLC. PM Role
 
SDLC. BA Role
SDLC. BA RoleSDLC. BA Role
SDLC. BA Role
 

Recently uploaded

29.05.2024.docx29.05.2024.docx29.05.2024.docx
29.05.2024.docx29.05.2024.docx29.05.2024.docx29.05.2024.docx29.05.2024.docx29.05.2024.docx
29.05.2024.docx29.05.2024.docx29.05.2024.docx
Репетитор Історія України
 
Важливість впровадження стандарту ISO/IEC 17025:2019 у процес державних випро...
Важливість впровадження стандарту ISO/IEC 17025:2019 у процес державних випро...Важливість впровадження стандарту ISO/IEC 17025:2019 у процес державних випро...
Важливість впровадження стандарту ISO/IEC 17025:2019 у процес державних випро...
tetiana1958
 
Підсумки, перспективи роботи профспільнот педагогів ЗДО (2).pdf
Підсумки, перспективи роботи профспільнот педагогів ЗДО (2).pdfПідсумки, перспективи роботи профспільнот педагогів ЗДО (2).pdf
Підсумки, перспективи роботи профспільнот педагогів ЗДО (2).pdf
ssuser7541ef1
 
LOBANOVA_Tetiana_PORTFOLIO_Librarian.pdf
LOBANOVA_Tetiana_PORTFOLIO_Librarian.pdfLOBANOVA_Tetiana_PORTFOLIO_Librarian.pdf
LOBANOVA_Tetiana_PORTFOLIO_Librarian.pdf
Olga Kudriavtseva
 
POPOVICH_Nina_PORTFOLIO_librarianCRE.pdf
POPOVICH_Nina_PORTFOLIO_librarianCRE.pdfPOPOVICH_Nina_PORTFOLIO_librarianCRE.pdf
POPOVICH_Nina_PORTFOLIO_librarianCRE.pdf
Olga Kudriavtseva
 
Віртуальна виставка «Допомога НАТО Україні»
Віртуальна виставка «Допомога НАТО Україні»Віртуальна виставка «Допомога НАТО Україні»
Віртуальна виставка «Допомога НАТО Україні»
Vinnytsia Regional Universal Scientific Library named after Valentin Otamanovsky
 
Главлит_2_0_Книжкова_цензура_в_Росії.pdf
Главлит_2_0_Книжкова_цензура_в_Росії.pdfГлавлит_2_0_Книжкова_цензура_в_Росії.pdf
Главлит_2_0_Книжкова_цензура_в_Росії.pdf
olaola5673
 
Основи_історичної_просвіти_—_для_перекладу.pdf
Основи_історичної_просвіти_—_для_перекладу.pdfОснови_історичної_просвіти_—_для_перекладу.pdf
Основи_історичної_просвіти_—_для_перекладу.pdf
olaola5673
 
KUDRIAVTSEVA_Olha_PORTFOLIO_librarian.pdf
KUDRIAVTSEVA_Olha_PORTFOLIO_librarian.pdfKUDRIAVTSEVA_Olha_PORTFOLIO_librarian.pdf
KUDRIAVTSEVA_Olha_PORTFOLIO_librarian.pdf
Olga Kudriavtseva
 
«Слова і кулі». Письменники, що захищають Україну. Єлизавета Жарікова
«Слова і кулі». Письменники, що захищають Україну. Єлизавета Жарікова«Слова і кулі». Письменники, що захищають Україну. Єлизавета Жарікова
«Слова і кулі». Письменники, що захищають Україну. Єлизавета Жарікова
estet13
 

Recently uploaded (10)

29.05.2024.docx29.05.2024.docx29.05.2024.docx
29.05.2024.docx29.05.2024.docx29.05.2024.docx29.05.2024.docx29.05.2024.docx29.05.2024.docx
29.05.2024.docx29.05.2024.docx29.05.2024.docx
 
Важливість впровадження стандарту ISO/IEC 17025:2019 у процес державних випро...
Важливість впровадження стандарту ISO/IEC 17025:2019 у процес державних випро...Важливість впровадження стандарту ISO/IEC 17025:2019 у процес державних випро...
Важливість впровадження стандарту ISO/IEC 17025:2019 у процес державних випро...
 
Підсумки, перспективи роботи профспільнот педагогів ЗДО (2).pdf
Підсумки, перспективи роботи профспільнот педагогів ЗДО (2).pdfПідсумки, перспективи роботи профспільнот педагогів ЗДО (2).pdf
Підсумки, перспективи роботи профспільнот педагогів ЗДО (2).pdf
 
LOBANOVA_Tetiana_PORTFOLIO_Librarian.pdf
LOBANOVA_Tetiana_PORTFOLIO_Librarian.pdfLOBANOVA_Tetiana_PORTFOLIO_Librarian.pdf
LOBANOVA_Tetiana_PORTFOLIO_Librarian.pdf
 
POPOVICH_Nina_PORTFOLIO_librarianCRE.pdf
POPOVICH_Nina_PORTFOLIO_librarianCRE.pdfPOPOVICH_Nina_PORTFOLIO_librarianCRE.pdf
POPOVICH_Nina_PORTFOLIO_librarianCRE.pdf
 
Віртуальна виставка «Допомога НАТО Україні»
Віртуальна виставка «Допомога НАТО Україні»Віртуальна виставка «Допомога НАТО Україні»
Віртуальна виставка «Допомога НАТО Україні»
 
Главлит_2_0_Книжкова_цензура_в_Росії.pdf
Главлит_2_0_Книжкова_цензура_в_Росії.pdfГлавлит_2_0_Книжкова_цензура_в_Росії.pdf
Главлит_2_0_Книжкова_цензура_в_Росії.pdf
 
Основи_історичної_просвіти_—_для_перекладу.pdf
Основи_історичної_просвіти_—_для_перекладу.pdfОснови_історичної_просвіти_—_для_перекладу.pdf
Основи_історичної_просвіти_—_для_перекладу.pdf
 
KUDRIAVTSEVA_Olha_PORTFOLIO_librarian.pdf
KUDRIAVTSEVA_Olha_PORTFOLIO_librarian.pdfKUDRIAVTSEVA_Olha_PORTFOLIO_librarian.pdf
KUDRIAVTSEVA_Olha_PORTFOLIO_librarian.pdf
 
«Слова і кулі». Письменники, що захищають Україну. Єлизавета Жарікова
«Слова і кулі». Письменники, що захищають Україну. Єлизавета Жарікова«Слова і кулі». Письменники, що захищають Україну. Єлизавета Жарікова
«Слова і кулі». Письменники, що захищають Україну. Єлизавета Жарікова
 

01 c# basics

  • 2. Зміст 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Що таке код програми? Виконання програми Середовища розробки Перша програма Базовий синтаксис Типи даних Змінні Decimal Рядки Масиви Цикли 12. 13. 14. 15. Логічні операції Умовні оператори Параметри функцій Як не потрібно писати код
  • 4. Виконання програми Код програми на NET орієнтованій мові NET компілятор Збірка *.dll або *.exe (код MSIL, метадані і маніфест) Завантаження класів JIT - компіляція Керований код, специфічний для платформи Net Виконання програмних компонентів Середовище виконання NET програм (CLR) Бібліотека базових класів і ін.
  • 5. Виконання програми NET компілятор – компілює вихідний код в MSIL (Microsoft Intermediate Language), також її називають CIL (Common Intermediate Language). Збірка – двійковий файл, що підтримує версії , самоописує себе і обслуговується оточенням CLR (Common Language Runtime). Окрім власне коду MSIL в збірці міститься різноманітна службова інформація, наприклад: інформація про зовнішні збірки (залежності), структура включених в неї типів і т. п. JIT компілятор – виконує перетворення коду MSIL в машинні команди по мірі виклику підпрограм (фрагментами). На виході утворюється так званий керований код, який потім виконується в середовищі CLR. Керований тому, що містить метадані, які дозволяють CLR виконувати перевірку безпеки, контроль прав, контроль версій, збір мусору і т. п.
  • 9. Типи даних Основні типи даних: - void - intlongshort - floatdouble - decimal - bool - stringchar - object
  • 10. Типи даних Тип Діапазон значень Розмір (точність) short -32768 до 32767 знакове 16-біт ціле int -2147483648 до 2147483647 знакове 32-біт ціле long -9223372036854775808 до 9223372036854775807 знакове 64-біт ціле float -3.4 × 1038 до +3.4 × 1038 32-біт (точність 7 знаків) double ±5.0 × 10−324 до ±1.7 × 10308 64-біт точність 15-16 знаків decimal (-7,9 x 1028 до 7,9 x 1028) / (100–28) 128-біт (точність 28-29 значущих знаків) char від U+0000 до U+FFFF 16-біт символ Юнікода string залежить від вільної пам'яті
  • 11. Задача з тестів Скільки раз виконається наступний цикл: for (float f = 0f; f != 1; f += 0.1f) { Console.WriteLine(f); } for (float i = 0f; Math.Abs(i - 1) > 0.001f; i += 0.1f) { Console.WriteLine(i); }
  • 12. Змінні Змінна – об’єкт програми, область пам’яті у якій ми можемо збегірати, змінювати та отримувати дані з різних частин програми • Оголошення простих типів • Константи • Створення об’єктів
  • 13. Decimal Decimal – числові дані з фіксованою точністю і масштабом. • Більш висока точність десяткової частини, але менший діапазон значень ніж у double • Відсутні помилки заокруглення, що присутні в double і float • Відсутня апаратна підтримка на рівні процесора, тому арифметичні операції з decimal приблизно у 10 разів повільніші ніж з double і float Слід використовувати у фінансових програмах.
  • 14. Рядки Рядок – це об’єкт типу string, який представляє довільний рядок тексту. • • • • • • Рядок є reference типом Це immutable (незмінний) тип Може містити значення null Рядок перевизначає оператор рівності == Intern pool (одинакові рядки зберігаються лише раз) Стандартні і дослівні літерали
  • 15. Рядки • Чому погано писати • Використовуйте
  • 16. Масиви Масив – сукупність елементів одного типу даних, впорядкованих за індексами. • Оголошення • Доступ до елементу
  • 17. Цикли Цикл – це повторення виконання однієї і тієї ж частини коду декілька раз (доки дійсна умова) - for (var i; i<count; i++) - while (i > count) - do…while (i > count) - foreach (var i in items)
  • 18. Логічні операції ! Бінарні || && < Тринарні ? : Унарні > >= <= == !=
  • 19. Задача з тестів 17 xor 3 10001 xor 11 1 0 0 0 1 0 0 0 1 1 1 0 0 1 0 (1 × 24) + (0 × 23) + (0 × 22) + (1 × 21) + (0 × 20) 16 + 0 + 0 + 2 + 0 = 18
  • 20. Пріоритет операцій Категорія Оператори Unary + - ! ~ ++x --x (T)x Multiplicative */% Additive +- Shift << >> Relational and type testing < > <= >= is as Equality == != Logical AND & Logical XOR ^ Logical OR | Conditional AND && Conditional OR || Conditional ?: Assignment = *= /= %= += -= <<= >>= &= ^= |=
  • 21. Задача з тестів 2 and 3 and 4 and 5 or 6 and 7 010 and 011 and 100 and 101 or 110 and 111 010 and 011 = 010 010 and 100 = 000 000 and 101 = 000 110 and 111 = 110 000 or 110 = 110 (6)
  • 22. Умовні оператори Умовні оператори – це оператори які дозволяють виконувати або не виконувати певний функціонал в залежності від того чи справидиться умова виконання чи ні.
  • 23. Параметри функцій Parameter default values. Params – навіщо це. Ref – передача параметрів у функцію завжди по посиланню. Out – вихідний параметр функції.