Презентация C#

Прости пресмятания - Programming Basics - декември 2016

 

Материали от темата

Съдържание на документа

Прости пресмятания

Четене на числа, аритметични операции, печатане на числа

СофтУни

трейнърски екип

Софтуерен университет

http://softuni.bg

Основи на 

програмирането


Съдържание

Четене на числа от конзолата

Променливи и типове данни

Печатане на числа на конзолата

Прости аритметични операции

Събиране, изваждане, умножение, деление, съединяване на низ

Задачи с прости пресмятания с числа

Конвертор от BGN към EUR за Windows

2


Четене на цяло число:



Пример: пресмятане на лице на квадрат със страна а:

3

Четене на числа от конзолата

Console.Write("a = ");              

var a = int.Parse(Console.ReadLine());

var area = a * a;

Console.Write("Square = ");

Console.WriteLine(area);

var num = int.Parse(Console.ReadLine());

Тестване на решението: https://judge.softuni.bg/Contests/Practice/Index/151#0


4

Компютрите са машини, които обработват данни

Данните се записват в компютърната памет в променливи

Променливите имат име, тип и стойност

Дефиниране на променлива и присвояване на стойност:







След обработка данните се записват отново в променливи

Пресмятания в програмирането

var count = 5;

Декларация

Име на променлива

Стойност (от тип число)


5

Променливите съхраняват стойност от даден тип

Число, буква, текст (стринг), дата, цвят, картинка, списък, …

Типове данни – примери:

Тип цяло число: 1, 2, 3, 4, 5, …

Тип дробно число: 0.5, 3.14, -1.5, …

Тип буква от азбуката (символ): 'a', 'b', 'c', …

Тип текст (стринг): "Здрасти", "Hi", "Beer", …

Тип ден от седмицата: понеделник, вторник, …

Типове данни и променливи


Четене на дробно число от конзолата:



Пример: прехвърляне от инчове в сантиметри:

6

Четене на дробно число

Console.Write("Inches = ");              

var inches = double.Parse(Console.ReadLine());

var centimeters = inches * 2.54;

Console.Write("Centimeters = ");

Console.WriteLine(centimeters);

var num = double.Parse(Console.ReadLine());

Тестване на решението: https://judge.softuni.bg/Contests/Practice/Index/151#1


Четене на текст (стринг) от конзолата:



Пример: поздрав по име:



7

Четене и печатане на текст

var str = Console.ReadLine();

Console.Write("Enter your name: ");              

var name = Console.ReadLine();

Console.WriteLine(

   "Hello, {0}!",

   name);

Тестване на решението: https://judge.softuni.bg/Contests/Practice/Index/151#2

Изразът {0} се замества с
първия аргумент (в случая name)


При печат на текст, числа и други данни, можем да ги съединим, използвайки шаблони {0}, {1}, {2}, …

8

Съединяване на текст и числа

var firstName = Console.ReadLine();

var lastName = Console.ReadLine();

var age = int.Parse(Console.ReadLine());

var town = Console.ReadLine();

Console.WriteLine(

  "You are {0} {1}, a {2}-years old person from {3}.",

  firstName, lastName, age, town);

Тестване на решението: https://judge.softuni.bg/Contests/Practice/Index/151#3


Задачи с прости изчисления

Работа на живо в клас (лаб)


10

Събиране на числа (оператор +):





Изваждане на числа (оператор -):

Аритметични операции: + и -

var a = 5;

var b = 7;

var sum = a + b; // 12

var a = int.Parse(Console.ReadLine());

var b = int.Parse(Console.ReadLine());

var result = a - b;

Console.WriteLine(result);


11

Умножение на числа (оператор *):





Деление на числа (оператор /):

Аритметични операции: * и /

var a = 5;

var b = 7;

var product = a * b; // 35

var a = 25;

var i = a / 4;      // 6 – дробната част се отрязва

var f = a / 4.0;    // 6.25 – дробно делене

var error = a / 0;  // Грешка: деление на 0


12

При деление на цели числа резултатът е цяло число:





При деление на дробни числа резултатът е дробно число:

Особености при деление на числа в C#

var a = 25;

Console.WriteLine(a / 4);  // Целочислен резултат: 6

Console.WriteLine(a / 0);  // Грешка: деление на 0

var a = 15;

Console.WriteLine(a / 2.0);  // Дробен резултат: 7.5

Console.WriteLine(a / 0.0);  // Резултат: Infinity

Console.WriteLine(0.0 / 0.0); // Резултат: NaN


13

Съединяване на текст и число

Съединяване на текст и число (оператор +):

var firstName = "Maria";

var lastName = "Ivanova";

var age = 19;

var str = firstName + " " + lastName + " @ " + age;

Console.WriteLine(str);  // Maria Ivanova @ 19

var a = 1.5;

var b = 2.5;

var sum = "The sum is: " + a + b;

Console.WriteLine(sum);  // The sum is 1.52.5


14

В програмирането можем да пресмятаме числени изрази



Изчисляване на лице на трапец

Числени изрази

var expr = (3 + 5) * (4 – 2);

var b1 = double.Parse(Console.ReadLine());

var b2 = double.Parse(Console.ReadLine());

var h = double.Parse(Console.ReadLine());

var area = (b1 + b2) * h / 2.0;

Console.WriteLine("Trapezoid area = " + area);

Тестване на решението: https://judge.softuni.bg/Contests/Practice/Index/151#4


15

Напишете програма, която въвежда радиуса r на кръг и изчислява лицето и периметъра на кръга / окръжността

Лице = π * r * r

Периметър = 2 * π * r



Периметър и лице на кръг – пример

Console.Write("Enter circle radius. r = ");

var r = double.Parse(Console.ReadLine());

Console.WriteLine("Area = " + Math.PI * r * r);

Console.WriteLine("Perimeter = " + 2 * Math.PI * r);

Тестване на решението: https://judge.softuni.bg/Contests/Practice/Index/151#5

π ≈ 3.14159265358979323846…


16

Правоъгълник е зададен с координатите
на два от своите срещуположни ъгъла

Да се пресметнат площта и периметъра му

Лице на правоъгълник в равнината – пример

double x1 = double.Parse(Console.ReadLine());

double y1 = double.Parse(Console.ReadLine());

double x2 = double.Parse(Console.ReadLine());

double y2 = double.Parse(Console.ReadLine());

double width = Math.Max(x1, x2) - Math.Min(x1, x2);

double height = Math.Max(y1, y2) - Math.Min(y1, y2);

Console.WriteLine("Area = {0}", width * height);

Console.WriteLine("Perimeter = {0}", 2 * (width + height));


Лица и периметри на фигури

Работа на живо в клас (лаб)


Графично приложение:
конвертор от BGN към EUR


19

Създаване на нов Windows Forms Application

Конвертор за валути


20

Нареждане на контролите в редактора


21

Настройки на отделните контроли

FormConverter

Text = "BGN to EUR"

Font.Size = 12

MaximizeBox = False

MinimizeBox = False

FormBorderStyle = FixedSingle

numericUpDownAmount

Value = 1

Minimum = 0

Maximum = 10000000

TextAlign = Right

DecimalPlaces = 2

labelResult

AutoSize = False

BackColor = PaleGreen

TextAlign = MiddleCenter

Font.Size = 14

Font.Bold = True


22

Обработка на събития


23

Събития по контролите

private void FormConverter_Load(

  object sender, EventArgs e)

{ ConvertCurrency(); }        

private void numericUpDownAmount_ValueChanged(

  object sender, EventArgs e)

{ ConvertCurrency(); }

private void numericUpDownAmount_KeyUp(

  object sender, KeyEventArgs e)

{ ConvertCurrency(); }


24

Конвертиране от BGN към EUR – логика

private void ConvertCurrency()

{

  var amountBGN = this.numericUpDownAmount.Value;

  var amountEUR = amountBGN * 1.95583m;

  this.labelResult.Text = 

    amountBGN + " BGN = " + 

    Math.Round(amountEUR, 2) + " EUR";

}


Графично приложение:
конвертор от BGN към EUR

Работа на живо в клас (лаб)


26

Въвеждане на текст



Въвеждане на число



Пресмятания с числа: +, -, *, /, ()



Извеждане на текст по шаблон



Какво научихме днес?

var str = Console.ReadLine();

var num = int.Parse(Console.ReadLine());

var sum = 5 + 3;

Console.WriteLine("{0} + {1} = {2}", 3, 5, 3 + 5);


Прости пресмятания

https://softuni.bg/courses/programming-basics/


28

Настоящият курс (слайдове, примери, видео, задачи и др.) се разпространяват под свободен лиценз "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International"









Благодарности: настоящият материал може да съдържа части от следните източници

Книга "Основи на програмирането със C#" от Светлин Наков и колектив с лиценз CC-BY-SA

Лиценз


Безплатни обучения в СофтУни

Фондация "Софтуерен университет" – softuni.org

Софтуерен университет – качествено образование, професия и работа за софтуерни инженери

softuni.bg 

	СофтУни @ Facebook

	facebook.com/SoftwareUniversity

	СофтУни форуми – forum.softuni.bg