Введення числових даних
Для введення числових даних можна використати метод ReadLine() для введення рядка символів та подальшого переведення рядкового представлення числа у числове значення відповідного типу. Переведення рядкового представлення числа у число можна використовуючи метод Parse() відповідного цільового типу
<Цільовий тип>.Parse(<Вираз>);
або методи класу Convert
Convert.To<Цільовий тип>(<Вираз>);
Приклади:
З використанням методу Parse | З використанням класу Convert |
int c; Console.Write("c="); c=int.Parse(Console.ReadLine()); | int c; Console.Write("c="); c=Convert.ToInt16(Console.ReadLine()); |
double d; Console.Write("d="); d=double.Parse(Console.ReadLine()); | double d; Console.Write("d="); d=Convert.ToDouble(Console.ReadLine()); |
Реалізація лінійних алгоритмів
Лінійнимназиваєтьсяалгоритм, всі команди якого виконуються послідовно в тому порядку, в якому вони записані. Як правило, реалізація лінійного алгоритму складається із трьох етапів: ввід вихідних (початкових) даних, обчислення значень виразів та вивід результатів.
Приклад. Обчислити площу трикутника, якщо трикутник задано довжинами сторін.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// введення вихідних даних
Console.Write("a=");
double a = double.Parse(Console.ReadLine());
Console.Write("b=");
double b = double.Parse(Console.ReadLine());
Console.Write("c=");
double c = double.Parse(Console.ReadLine());
// реалізація алгоритму розв'язання задачі
double p = (a + b + c) / 2;
double s = Math.Sqrt(p * (p - a) * (p - b) * (p - c));
// вивід результату
Console.WriteLine("s={0}", s);//
Console.ReadKey();//
}
}
}
Результат роботи програми:
a=3
b=4
c=5
s=6
Реалізація алгоритмів із розгалуженням
Розгалуженням називається алгоритмічна конструкція, що дозволяє виконавцеві алгоритму вибирати ту чи іншу послідовність дій залежно від певних умов.
Умовний оператор
Алгоритмічна конструкція вибору з двох альтернатив, дозволяє виконавцеві алгоритму вибирати один із двох варіантів дій залежно від істинності деякої умови. У мові C# така конструкція реалізується умовним оператором (оператором розгалуження). Існують дві форми для даного оператора повна та скорочена.
Повна форма
Програмна структура | Аналог на мові блок-схем | Приклад |
if (<умова>) <оператор1>; else <оператор2>; | if(x>y) max=x; else max=y; |
Скорочена форма
Програмна структура | Аналог на мові блок-схем | Приклад |
if (<умова>) <оператор1>; | if(x!=0) z=1/x; |
Приклад. Визначити чи належить значення дійсної змінної x проміжку [0,1] та вивести відповідне повідомлення.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// введення вихідних даних
Console.Write("x=");
double x = double.Parse(Console.ReadLine());
// реалізація алгоритму розв'язання задачі
if (x >= 0 && x <= 1)
Console.WriteLine("належить");
Else
Console.WriteLine("не належить");
//
Console.ReadKey();
}
}
}
Результат роботи програми:
x=0,3
належить
Гілки деякого розгалуження можуть містити інші розгалуження. У цьому випадку виникає вкладеність умовних операторів.
Приклад. Скласти програму для обчислення значення функції
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// введення вихідних даних
Console.Write("x=");
double x = double.Parse(Console.ReadLine());
// реалізація алгоритму розв'язання задачі
double f;
if (x <= 0)
f = 0;
Else
if (x <= 1)
f = x * x - x;
Else
f = x * x - Math.Sin(Math.PI * x * x);
// вивід результату
Console.WriteLine("f={0}", f);
//
Console.ReadKey();
}
}
}
Результат роботи програми:
x=0,5
f=-0,25
Умовний оператор (?:)
Якщо значення виразу може дорівнювати одному із двох значень в залежності від виконання чи невиконання деякої умови, то можна скористатися умовним оператором (?:).
Загальний вигляд умовного оператора (?:) | Аналог з використанням умовного оператора if |
<змінна>=<умова>?<значення1>:<значення2>; | if (<умова>) <змінна>=<значення1>; else <змінна>=<значення2>; |
Приклад. Знайти максимальне із двох дійсних чисел.
З використанням умовного оператора (?:) | З використанням умовного оператора if |
max = (x>y) ? x : y; | if (x>y) max=x; else max=y; |
Оператор вибору switch
Оператор switch дозволяє передавати керування одному з декількох операторів в залежності від значення виразу, який називають селектором вибору. У якості селектора вибору може бути вираз цілого типу, типу char, переліковного типу або типу string.
Загальне правило запису | Приклад Вводиться оцінка – цифра, вивести оцінку прописом (селектор вибору цілого типу). |
switch (<селектор вибору>) { case <константа1> : <оператор1>; break; case <константа2> : <оператор2>; break; . . . . . . . . . . . . . . . . case <константаN> : <операторN>; break; default : <оператор N+1>; break; } | using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int mark; Console.Write("Mark = "); mark = int.Parse(Console.ReadLine()); switch (mark) { case 2: Console.WriteLine("Незадовільно"); break; case 3: Console.WriteLine("Задовільно."); break; case 4: Console.WriteLine("Добре"); break; case 5: Console.WriteLine("Відмінно"); break; default: Console.WriteLine("Неправильна оцінка."); break; } Console.ReadKey(); } } } |
Якщо для декількох варіантів необхідно виконати одні і ті ж оператори, то ці оператори вказують тільки для одного з варіантів, а для всіх інших не вказуємо ні необхідних операторів, ні операторів break.
Приклад. З клавіатури вводиться оцінка у національній шкалі, необхідно вивести повідомлення про те, чи зараховано студенту залік.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int mark;
Console.Write("Mark = ");
mark = int.Parse(Console.ReadLine());
switch (mark)
{
case 1:
case 2:Console.WriteLine("Незараховано.");
break;
case 3:
case 4:
case 5:Console.WriteLine("Зараховано.");
break;
default: Console.WriteLine("Неправильна оцінка.");
break;
}
Console.ReadKey();
}
}
}
Приклад. З клавіатури вводиться колір помідора, на екран необхідно вивести у якому він стані (росте, дозріває чи можна зірвати). При розв’язанні цього завдання використаємо оператор switch, у якому селектор і константи вибору є величинами типу string.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string color;
Console.Write("Color = ");
color = Console.ReadLine();
Switch (color)
{
case "Green" : Console.WriteLine("Ще росте");
break;
case "Yellow": Console.WriteLine("Дозріває.");
break;
case "Red": Console.WriteLine("Можна зірвати");
break;
default: Console.WriteLine("Помідор-мутант.");
break;
}
Console.ReadKey();
}
}
}
РОЗДІЛ 3
Практична частина
Дата добавления: 2022-02-05; просмотров: 411;