Чрез които нашата програма може да има различно действие, в зависимост от дадено условие



страница4/5
Дата28.04.2023
Размер0.78 Mb.
#117481
ТипПрограма
1   2   3   4   5
Глава 3.1. Прости проверки
Свързани:
Телекомуникации - all lectures, Programirane UPR1, Programirane BIT 1, Programirane BIT0, Spravochnik 2021 22, Глава 2.1. Прости пресмятания с числа, tema 1, tema 2
Упражнения: Прости проверки
За да затвърдим знанията си за условните конструкции if и if-else, ще решим няколко практически задачи.
Задача: бонус точки
Дадено е цяло число – брой точки. Върху него се начисляват бонус точки по правилата, описани по-долу. Да се напише програма, която пресмята бонус точките за това число и общия брой точки с бонусите.

  • Ако числото е до 100 включително, бонус точките са 5.

  • Ако числото е по-голямо от 100, бонус точките са 20% от числото.

  • Ако числото е по-голямо от 1000, бонус точките са 10% от числото.

  • Допълнителни бонус точки (начисляват се отделно от предходните):

    • За четно число -> + 1 т.

    • За число, което завършва на 5 -> + 2 т.

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

Вход

Изход

20

6
26

175

37
212

2703

270.3
2973.3

15875

1589.5
17464.5

Упътване
Основните и допълнителните бонус точки можем да изчислим с поредица от няколко if-else-if-else проверки. Като за основните бонус точки имаме 3 случая (когато въведеното число е до 100, между 100 и 1000 и по-голямо от 1000), а за допълнителните бонус точки - още 2 случая (когато числото е четно и нечетно).

Ето как би могло да изглежда решението на задачата в действие:



Задача: Сумиране на секунди.
Трима спортни състезатели финишират за някакъв брой секунди (между 1 и 50). Да се напише програма, която въвежда времената на състезателите и пресмята сумарното им време във формат "минути:секунди".
Секундите да се изведат с водеща нула (2 -> "02", 7 -> "07", 35 -> "35").


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

Вход

Изход

35
45
44

2:04

22
7
34

1:03

50
50
49

2:29

14
12
10

0:36

Упътване
Първо сумираме трите числа, за да получим общия резултат в секунди.
Понеже 1 минута = 60 секунди, ще трябва да изчислим броя минути и броя секунди в диапазона от 0 до 59:

  • Ако резултатът е между 0 и 59, отпечатваме 0 минути + изчислените секунди.

  • Ако резултатът е между 60 и 119, отпечатваме 1 минута + изчислените секунди минус 60.

  • Ако резултатът е между 120 и 179, отпечатваме 2 минути + изчислените секунди минус 120.

  • Ако секундите са по-малко от 10, извеждаме водеща нула преди тях.




Задача: Конвертор за мерни единици
Да се напише програма, която преобразува разстояние между следните 8 мерни единициm, mm, cm, mi, in, km, ft, yd.
Използвайте съответствията от таблицата по-долу:

Входна единица

Изходна единица

1 meter (m)

1000 millimeters (mm)

1 meter (m)

100 centimeters (cm)

1 meter (m)

0.000621371192 miles (mi)

1 meter (m)

39.3700787 inches (in)

1 meter (m)

0.001 kilometers (km)

1 meter (m)

3.2808399 feet (ft)

1 meter (m)

1.0936133 yards (yd)

Входните данни се състоят от три реда:

  • Първи ред: число за преобразуване.

  • Втори ред: входна мерна единица.

  • Трети ред: изходна мерна единица (за резултата).

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

Вход

Изход

12
km
ft

39370.0788

150
mi
in

9503999.99393599

450
yd
km

0.41147999937455

Упътване
Прочитаме си входните данни, като към прочитането на мерните единици можем да добавим функцията ToLower(), която ще направи всички букви малки. Както виждаме от таблицата в условието, можем да конвертираме само между метри и някаква друга мерна единица. Следователно трябва първо да изчислим числото за преобразуване в метри. Затова трябва да направим набор от проверки, за да определим каква е входната мерна единица, а след това и за изходната мерна единица.


  1. Дебъгване - прости операции с дебъгер

Дебъгване е процесът на „закачане“ към изпълнението на програмата, който ни позволява да проследим поетапно процеса на изпълнение. Можем да следим ред по ред какво се случва с нашата програма, какъв път следва, какви стойности имат дефинираните променливи на всяка стъпка от дебъгването и много други неща, които ни позволяват да откриваме грешки (бъгове).




  1. Дебъгване във Visual Studio

Чрез натискане на бутона [F10], стартираме програмата в debug режим. Преминаваме към следващия ред отново с [F10].

Чрез [F9] създаваме стопери – така наречените breakpoints, до които можем да стигнем директно използвайки [F5] при стартирането на програмата.

Упражнения - Прости проверки


Празно Visual Studio решение (Blank Solution)
Създаваме празно решение (Blank Solution) във Visual Studio, за да организираме по-добре решенията на задачите от упражненията – всяка задача ще бъде в отделен проект и всички проекти ще бъдат в общ solution.
Стартираме Visual Studio. Създаваме нов Blank Solution: [File] -> [New] -> [Project].

Избираме от диалоговия прозорец [Templates] -> [Other Project Types] -> [Visual Studio Solutions] -> [Blank Solution] и даваме подходящо име на проекта, например “Simple-Conditions”:

Имаме създаден празен Visual Studio Solution (без проекти в него):

Задача: Проверка за отлична оценка
Първата задача от упражненията за тази тема е да се напише конзолна програма, която въвежда оценка (десетично число) и отпечатва “Excellent!”, ако оценката е 5.50 или по-висока.
Примерен вход и изход

Вход

Изход

6

Excellent!

5

(няма изход)

5.5

Excellent!

5.49

(няма изход)

Упътване
Създаваме нов проект в съществуващото Visual Studio решение. В Solution Explorer кликваме с десен бутон на мишката върху Solution 'Simple-Conditions'.
Избираме [Add] -> [New Project]:

Ще се отвори диалогов прозорец за избор на тип проект за създаване.
Избираме C# конзолно приложение и задаваме име, например “Excellent-Result”:

Вече имаме solution с едно конзолно приложение в него. Остава да напишем кода за решаване на задачата.
За целта отиваме в тялото на метода Main(string[] args) и пишем следния код:

Стартираме програмата с [Ctrl+F5], за да я тестваме с различни входни стойности:



Задача: Отлична оценка – да или не.
Следващата задача от тази тема е да се напише конзолна програма, която въвежда оценка (десетично число) и отпечатва “Excellent!”, ако оценката е 5.50 или по-висока, или “Not excellent.” в противен случай.
Примерен вход и изход:

Вход

Изход

6

Excellent!

5

Not excellent.

5.5

Excellent!

5.49

Not excellent.

Упътване
Първо създаваме нов C# конзолен проект в решението “Simple-Conditions”.

  • Кликаме с мишката върху решението в Solution Explorer и избираме [Add] -> [New Project].

  • Избираме [Visual C#] -> [Windows] -> [Console Application] и задаваме име “Excellent-or-Not”.

Следва да напишем кода на програмата. Може да си помогнем с примерния код от картинката:

Включваме режим на автоматично превключване към текущия проект като кликнем върху главния Solution с десния бутон на мишката и изберем [Set StartUp Projects…]:

Ще се появи диалогов прозорец, от който трябва да се избере [Startup Project] -> [Current selection]:

След това стартираме програмата, както обикновено с [Ctrl+F5] и я тестваме дали работи коректно:



Задача: Четно или нечетно.
Да се напише програма, която въвежда цяло число и печата дали е четно или нечетно.

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

Вход

Изход

2

even

3

odd

25

odd

1024

even

Упътване
Отново, първо добавяме нов C# конзолен проект в съществуващия solution. В метода static void Main() трябва да напишем, кода на програмата. Проверката дали дадено число е четно, може да се реализира с оператора %, който ще ни върне остатъка при целочислено деление на 2 по следния начин: var isEven = (num % 2 == 0).

Остава да стартираме програмата с [Ctrl+F5] и да я тестваме:




Задача: Намиране на по-голямото число.
Да се напише програма, която въвежда две цели числа и отпечатва по-голямото от двете.

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

Вход

Изход

5
3

5

3
5

5

10
10

10

-5
5

5



Сподели с приятели:
1   2   3   4   5




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

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