Системната, или още компютърната конзола, представлява устройството, чрез което подаваме команди на компютъра в текстов вид и получаваме резултатите от тяхното изпълнение отново като текст



страница11/11
Дата28.04.2023
Размер1.6 Mb.
#117480
1   2   3   4   5   6   7   8   9   10   11
Глава 2.1. Прости пресмятания с числа
Свързани:
Телекомуникации - all lectures, Programirane UPR1, Programirane BIT 1, Programirane BIT0, Spravochnik 2021 22, Глава 3.1. Прости проверки, tema 1, tema 2
Правоъгълник е зададен с координатите на два от своите срещуположни ъгъла (x1, y1) – (x2, y2). Да се пресметнат площта и периметъра му.
Входът се чете от конзолата. Числата x1, y1, x2 и y2 са дадени по едно на ред.
Изходът се извежда на конзолата и трябва да съдържа два реда с по една число на всеки от тях – лицето и периметъра.

Примерен вход и изход

Вход

Изход

60
20
10
50

1500

160


30
40
70
-10

2000

180


600.25
500.75
100.50
-200.5

350449.6875

2402



Задача: Конзолен конвертор - от градуси °C към градуси °F
Напишете програма, която чете градуси по скалата на Целзий (°C) и ги преобразува до градуси по скалата на Фаренхайт (°F).
Потърсете в Интернет подходяща формула, с която да извършите изчисленията. Закръглете резултата до 2 символа след десетичния знак.
Ето няколко примера:

Примерен вход и изход

Вход

Изход

25

77

0

32

-5.5

22.1

32.3

90.14



Задача: Конзолен конвертор - от радиани в градуси.
Напишете програма, която чете ъгъл в радиани (rad) и го преобразува в градуси) (deg). Потърсете в Интернет подходяща формула. Числото π в C# програмите е достъпно чрез Math.PI. Закръглете резултата до най-близкото цяло число използвайки метода Math.Round(…).
Примерен вход и изход

Вход

Изход

3.1416

180

6.2832

360

0.7854

45

0.5236

30



Задача: Конзолен конвертор - USD към BGN
Напишете програма за конвертиране на щатски долари (USD) в български лева (BGN). Закръглете резултата до 2 цифри след десетичния знак. Използвайте фиксиран курс между долар и лев: 1 USD = 1.79549 BGN.
Примерен вход и изход

Вход

Изход

20

35.91 BGN

100

179.55 BGN

12.5

22.44 BGN


Задача: * Конзолен междувалутен конвертор.
Напишете програма за конвертиране на парична сума от една валута в друга. Трябва да се поддържат следните валути: BGN, USD, EUR, GBP. Използвайте следните фиксирани валутни курсове:

Курс

USD

EUR

GBP

1 BGN

1.79549

1.95583

2.53405

Входът e сума за конвертиране, входна валута и изходна валута.
Изходът е едно число – преобразуваната сума по посочените по-горе курсове, закръглен до 2 цифри след десетичната точка.
Примерен вход и изход

Вход

Изход

20
USD
BGN

35.91 BGN

100
BGN
EUR

51.13 EUR

12.35
EUR
GBP

9.53 GBP

150.35
USD
EUR

138.02 EUR



Графични приложения с числови изрази
За да упражним работата с променливи и пресмятания с оператори и числови изрази, ще направим нещо интересно: ще разработим настолно приложение с графичен потребителски интерфейс. В него ще използваме пресмятания с дробни числа.
Графично приложение: конвертор от BGN към EUR
От нас се изисква да създадем графично приложение (GUI application), което пресмята стойността в евро (EUR) на парична сума, зададена в лева (BGN). При промяна на стойността в лева, равностойността в евро трябва да се преизчислява автоматично (използваме курс лева / евро: 1.95583).

Тази задача излиза извън изучавания в книгата материал и има за цел не да ви научи как да програмирате GUI приложения, а да ви запали интереса към разработката на софтуер. Да се залавяме за работа.
Добавяме към текущото Visual Studio решение (solution) още един проект. Този път създаваме Windows Forms приложение със C# с име "BGN-to-EUR-Converter":

Подреждаме следните UI контроли във формата:

  • NumericUpDown с име numericUpDownAmount – ще въвежда сумата за конвертиране

  • Label с име labelResult – ще показва резултата след конвертиране

  • Още два Label компонента, служещи единствено за статично изобразяване на текст

Графичният редактор за потребителски интерфейс може да изглежда по подобен начин:

Задаваме следните настройки на формата и на отделните контроли:

Настройка

Снимка

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



Дефинираме следните обработчици на събития по контролите:

След това хващаме следните събития:



  • FormConverter.Load (като кликнем върху формата 2 пъти с мишката)

  • numericUpDownAmount.ValueChanged (като кликнем върху NumericUpDown контролата 2 пъти)

  • numericUpDownAmount.KeyUp (избираме Events от таблото Properties и кликнем 2 пъти върху KeyUp)

Събитието Form.Load се изпълнява при стартиране на програмата, преди да се появи прозореца на приложението. Събитието NumericUpDown.ValueChanged се изпълнява при промяна на стойността в полето за въвеждане на число. Събитието NumericUpDown.KeyUp се изпълнява след натискане на клавиш в полето за въвеждане на число. При всяко от тези събития ще преизчисляваме резултата.
За хващане на събитие ползваме иконката със събитията (Events) в Properties прозореца във Visual Studio:

Ще използваме следния C# код за обработка на събитията:
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();
}
Всички прихванати събития извикват метода ConvertCurrency(), който конвертира зададената сума от лева в евро и показва резултата в зелената кутийка.

Трябва да напишем кода (програмната логика) за конвертиране от лева към евро:



private void ConvertCurrency()
{
var amountBGN = this.numericUpDownAmount.Value;
var amountEUR = amountBGN * 1.95583m;
this.labelResult.Text =
amountBGN + " BGN = " +
Math.Round(amountEUR, 2) + " EUR";
}

Графично приложение: *** Хвани бутона!
Създайте забавно графично приложение „хвани бутона“: една форма съдържа един бутон. При преместване на курсора на мишката върху бутона той се премества на случайна позиция. Така се създава усещане, че „бутонът бяга от мишката и е трудно да се хване“. При „хващане“ на бутона се извежда съобщение-поздрав.

Упътване: напишете обработчик за събитието Button.MouseEnter и премествайте бутона на случайна позиция. Използвайте генератор за случайни числа Random. Позицията на бутона се задава от свойството Location. За да бъде новата позиция на бутона в рамките на формата, можете да направите изчисления спрямо размера на формата, който е достъпен от свойството ClientSize.
Можете да ползвате следния примерен код:
private void buttonCatchMe_MouseEnter(object sender, EventArgs e)
{
Random rand = new Random();
var maxWidth = this.ClientSize.Width - buttonCatchMe.ClientSize.Width;
var maxHeight = this.ClientSize.Height - buttonCatchMe.ClientSize.Height;
this.buttonCatchMe.Location = new Point(
rand.Next(maxWidth), rand.Next(maxHeight));
}

Сподели с приятели:
1   2   3   4   5   6   7   8   9   10   11




©obuch.info 2024
отнасят до администрацията

    Начална страница