Professional Documents
Culture Documents
Звіт До Лабораторної Роботи 2
Звіт До Лабораторної Роботи 2
Кафедра математики та
математичного моделювання
Звіт
Про виконання лабораторної роботи №2
З дисципліни “ООП”
На тему: “Знайомство з додатками Windows Forms
та Windows Presentation Foundation. Реалізація
алгоритмів з використанням операторів if, switch,
for, while, do … while. ”
Виконав:
Студент групи СН-21
Козловський А. І.
Перевірив: Готович В. А.
Тернопіль, 2020 р.
Варіант 11
Тема: Знайомство з додатками Windows Forms та Windows Presentation Foundation.
Реалізація алгоритмів з використанням операторів if, switch, for, while, do … while.
Мета роботи: навчитися створювати додатки Windows Forms та Windows Presentation
Foundation, змінювати параметри вікна, повторити принципи побудови розгалужених
та циклічних алгоритмів.
Завдання:
1. Написати 3 програми (консольну, Windows Forms, WPF) для обрахунку значення
виразу
2. Написати 3 програми (консольну, Windows Forms, WPF) для обчислення коренів
квадратного рівняння.
3. Напишіть 3 програми у вигляді консольних додатків для розв’язання
таких завдань:
Проект «ConsoleApp4»:
Користувач з клавіатури вводить цілі числа (числа вводяться почергово,
користувач вводячи число натискає «Enter»). Послідовність чисел завершується
введенням значення «0». Порахувати кількість парних та непарних чисел, кількість
додатних та від’ємних.
Порядок виконання:
Завдання 1:
1. Складаємо та пишемо текст програм для консолі
2. Створюємо дизайн вікон WinForms та пишемо код
3. Створюємо дизайн вікон WPF та пишемо код
4. Компілюємо та отримуємо результати
Висновок: під час виконання лабораторної роботи я навчився створювати додатки
Windows Forms та Windows Presentation Foundation, змінювати параметри вікна,
повторив принципи побудови розгалужених та циклічних алгоритмів
Коди програм
Програма ConsoleApp1:
using System;
using System.Text;
namespace Lab2_ConsoleApp
{
class Program
{
static void Main(string[] args)
{
Console.OutputEncoding = Encoding.Unicode;
Console.InputEncoding = Encoding.Unicode;
System.Globalization.CultureInfo customCulture =
(System.Globalization.CultureInfo)
System.Threading.Thread.CurrentThread.CurrentCulture.Clone();
customCulture.NumberFormat.NumberDecimalSeparator = ".";
System.Threading.Thread.CurrentThread.CurrentCulture = customCulture;
Console.WriteLine("Лабораторна робота №2.\nВиконав: Козловський А.І.\nВаріант
№11\nЗавдання 1.");
double x, y, z, s;
do
{
Console.Write("Введіть дробове значення x = ");
if (double.TryParse(Console.ReadLine(), out x)) break;
else
{
Console.WriteLine("Значення x введено невірно! Введіть коректне значення.");
}
}
while (true);
do
{
Console.Write("Введіть дробове значення y = ");
if (double.TryParse(Console.ReadLine(), out y)) break;
else
{
Console.WriteLine("Значення y введено невірно! Введіть коректне значення.");
}
} while (true);
do
{
Console.Write("Введіть дробове значення z = ");
if (double.TryParse(Console.ReadLine(), out z)) break;
else
{
Console.WriteLine("Помилка введення значення z. Будь-ласка повторіть введення ще
раз!!!");
}
}
while (true);
s = Math.Pow(y, Math.Pow(Math.Abs(x), 1 / 3) + Math.Pow(Math.Cos(y), 3) + (Math.Abs(x -
y) * (1 + (Math.Pow(Math.Sin(z), 2) / Math.Sqrt(x + y) / (Math.Exp(Math.Abs(x - y)) + (x / 2))))));
Console.WriteLine($"Результат обчислення: s ={s:F3}");
}
}
}
Програма WindowsFormsApp1:
using System;
using System.Windows.Forms;
namespace WinFormsApp1
public Form1()
InitializeComponent();
System.Globalization.CultureInfo customCulture =
(System.Globalization.CultureInfo)
System.Threading.Thread.CurrentThread.CurrentCulture.Clone();
customCulture.NumberFormat.NumberDecimalSeparator = ".";
System.Threading.Thread.CurrentThread.CurrentCulture = customCulture;
double x, y, z, s;
else
else
else
Програма WpfApp:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WpfApp1
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
System.Globalization.CultureInfo customCulture =
(System.Globalization.CultureInfo)
System.Threading.Thread.CurrentThread.CurrentCulture.Clone();
customCulture.NumberFormat.NumberDecimalSeparator = ".";
System.Threading.Thread.CurrentThread.CurrentCulture = customCulture;
}
Програма ConsoleApp_2:
using System;
using System.Text;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
Console.OutputEncoding = Encoding.Unicode;
Console.InputEncoding = Encoding.Unicode;
System.Globalization.CultureInfo customCulture = (System.Globalization.CultureInfo)
System.Threading.Thread.CurrentThread.CurrentCulture.Clone();
customCulture.NumberFormat.NumberDecimalSeparator = ".";
System.Threading.Thread.CurrentThread.CurrentCulture = customCulture;
do
{
Console.Write("Введіть значення b = ");
if (double.TryParse(Console.ReadLine(), out b)) break;
else
{
Console.WriteLine(" Помилка введення значення b. Будь-ласка повторіть введення
ще раз!");
}
}
while (true);
do
{
Console.Write("Введіть значення c = ");
if (double.TryParse(Console.ReadLine(), out c)) break;
else
{
Console.WriteLine(" Помилка введення значення c. Будь-ласка повторіть введення
ще раз!");
}
}
while (true);
D = Math.Pow(b, 2) - 4 * a * c;
if (D > 0)
{
x1 = (-b + Math.Sqrt(D)) / (2 * a);
x2 = (-b - Math.Sqrt(D)) / (2 * a);
if (a == 0)
{
Console.WriteLine("Помилка ділення на нуль!");
}
else
{
Console.WriteLine($"Дискримінант більше нуля: D = {D}\nРівняння має два корені:
x1 = {x1}, x2 = {x2}");
}
}
if (D == 0)
{
x1 = -b / (2 * a);
if (a == 0)
{
Console.WriteLine("Помилка ділення на нуль!");
}
else
{
Console.WriteLine($"Дискримінант дорівнює нулю: D = {D}\nРівняння має один
корінь: x1 = {x1:F0}");
}
}
if (D < 0)
{
Console.WriteLine($"Дискримінант менше нуля: D = {D}\nРівняння не має коренів!");
}
}
}
}
Програма WindowsFormsApp2:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Програма WpfApp2:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WpfApp2
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
System.Globalization.CultureInfo customCulture = (System.Globalization.CultureInfo)
System.Threading.Thread.CurrentThread.CurrentCulture.Clone();
customCulture.NumberFormat.NumberDecimalSeparator = ".";
System.Threading.Thread.CurrentThread.CurrentCulture = customCulture;
}
}
}
}
}
Програма ConsoleApp_2
using System;
using System.Text;
namespace ConsoleApp_2
{
class Program
{
static void Main(string[] args)
{
Console.OutputEncoding = Encoding.Unicode;
Console.InputEncoding = Encoding.Unicode;
System.Globalization.CultureInfo customCulture =
(System.Globalization.CultureInfo)
System.Threading.Thread.CurrentThread.CurrentCulture.Clone();
customCulture.NumberFormat.NumberDecimalSeparator = ".";
System.Threading.Thread.CurrentThread.CurrentCulture = customCulture;
Console.WriteLine("Лабораторна робота №2.\nВиконав: Козловський А.І.\nВаріант
№11\nЗавдання 3.");
double N, res = 0;
do
{
Console.Write("Введіть значення N = ");
if (double.TryParse(Console.ReadLine(), out N)) break;
else
{
Console.WriteLine(" Помилка введення значення N. Будь-ласка, повторіть введення
ще раз!");
}
}
while (true);
Console.WriteLine($"Result = {res}\n");
}
}
}
}
Програма ConsoleApp_3
using System;
using System.Text;
namespace ConsoleApp_3
{
class Program
{
static void Main(string[] args)
{
Console.OutputEncoding = Encoding.Unicode;
Console.InputEncoding = Encoding.Unicode;
System.Globalization.CultureInfo customCulture = (System.Globalization.CultureInfo)
System.Threading.Thread.CurrentThread.CurrentCulture.Clone();
customCulture.NumberFormat.NumberDecimalSeparator = ".";
System.Threading.Thread.CurrentThread.CurrentCulture = customCulture;
Програма ConsoleApp_4
using System;
using System.Text;
namespace ConsoleApp_4
{
class Program
{
static void Main(string[] args)
{
Console.OutputEncoding = Encoding.Unicode;
Console.InputEncoding = Encoding.Unicode;
System.Globalization.CultureInfo customCulture = (System.Globalization.CultureInfo)
System.Threading.Thread.CurrentThread.CurrentCulture.Clone();
customCulture.NumberFormat.NumberDecimalSeparator = ".";
System.Threading.Thread.CurrentThread.CurrentCulture = customCulture;
}
while (!K);
Console.WriteLine($"Парні = {countPar}\n");
Console.WriteLine($"Не парні = {countNePar}\n");
Console.WriteLine($"Додатні = {countPos}\n");
Console.WriteLine($"Від'ємні = {countNeg}\n");
}
}
}