Лабораторная_работа_№3
.docxОбъектно-ориентированное программирование
Министерство образования и науки Российской Федерации
Алтайский государственный технический университет
им. И. И. Ползунова
Кафедра «Информационные системы в экономике»
Методическое пособие
к лабораторной работе №3
Лабораторная работа № 3
Операторы ветвления.
Тема: Работа в среде Microsoft Visual Studio 2008. Создание простейших форм. (2 ч.)
Цель работы: Освоить оператор ветвления.
Задание:
-
Выполнить пример, приведенный в разделе Выполнение работы.
-
Создать форму для выполнения вычислений, приведенных в индивидуальном задании (см. раздел Варианты заданий).
Требования:
-
Вычисления должны быть оформлены в виде подпрограмм(ы).
-
Форма должна включать кнопки «Вычислить», «Выход» и «Сброс» (последняя присваивает всем входным переменным нулевые значения).
-
В форме предусмотреть обработку возможных ошибок (деление на 0, ввод недопустимых символов, ввод недопустимых значений).
-
При нажатии клавиши Enter должен выполняться переход к редактированию следующего поля или на кнопку «Вычислить».
Технические и программные средства: компьютер типа IBM PC: процессор Pentium (частота 2000 МГц и выше), RAM не менее 1024 Мб; ОС Windows2000, XP,VISTA, Windows 7; система программирования (Visual Studio 2008).
Оформление отчета: Отчет должен включать титульный лист и следующие разделы:
1 Постановка задачи
2 Алгоритм программы
(блок-схема подпрограммы, выполняющей вычисления)
3 Текст программы
Список литературы:
-
Марченко А. Л. C#. Введение в программирование - учебное пособие, МГУ, 2005 (L:\TASKS\BOOKS\C#\).
-
Герберт Шилдт - C# Учебный Курс - учебное пособие, Санкт-Петербург, 2003(L:\TASKS\BOOKS\C#\).
-
Информационный портал дистанционного образования каф ИСЭ www.lms.mvtom.ru
-
ВИДЕО-курс по дисциплине «Объектно-ориентированное программирование»
Выполнение работы:
1) Запустите Visual Studio 2008 или Visual Studio 2010 (пример выполнен в Visual Studio 2010)
Рисунок 1 Начальная страница Visual Studio 2010
2) На начальной странице выберите Файл -> Создать проект
Рисунок 2 Создание проекта
3) В появившемся окне выберите тип проекта "Приложение Windows Forms" , в поле "Имя" задайте имя проекта и нажмите ОК.
Рисунок 3 Основные элементы рабочей области
4) Откроется рабочая область
5) Разместим на форме необходимые для выполнения задания элементы:
-
4 textBox для ввода:
-
X координаты
-
Y координаты
-
R - радиуса окружности
-
и 1 textBox для вывода сообщения о попадании
-
-
1 кнопку (button)
-
Рядом с textBox разместим метку (label) для пояснения.
Рисунок 4 Форма
Вот что у нас получилось.
Теперь подпишем форму, метки и кнопку.
Рисунок 5 Подписанная форма
Создаем переменные x, y, r и присваиваем им значения из соответствующих textBox'ов.
Не забываем про конвертирование в дробное число!
Double x = Convert.ToDouble(textBox1.Text),
y = Convert.ToDouble(textBox2.Text), r = Convert.ToDouble(textBox3.Text);
Суть задания сводиться всего к одной, но очень длинной строчке, в которой мы должны с помощью логических условий определить: входит ли точка с заданными координатами в область?
В нашем случаи она выглядит следующим образом:
(((((x >= -r) && (x <= 0)) && ((y >= 0) && (y <= r) && (Math.Sqrt(Math.Pow((x + r), 2) + Math.Pow((y - r), 2)) >= r))) | (((x >= 0) && (x <= r)) && ((y >= -r) && (y <= 0)))) && (Math.Sqrt(Math.Pow((x + r), 2) + Math.Pow((y - r), 2)) >= r));
Если условие выполняется, то выводим соответствующее сообщение, иначе сообщение о промахе.
Сообщения будут выводиться в таком формате:
"Точка (" + x.ToString() + " ; " + y.ToString() +") входит в область"
Выводимый текст: Точка (1 ; 1) входит в область
В итоге у нас должен получиться оператор if...else
if (((((x >= -r) && (x <= 0)) && ((y >= 0) && (y <= r) && (Math.Sqrt(Math.Pow((x + r), 2)
+ Math.Pow((y - r), 2)) >= r))) | (((x >= 0) && (x <= r)) && ((y >= -r) && (y <= 0))))
&& (Math.Sqrt(Math.Pow((x + r), 2) + Math.Pow((y - r), 2)) >= r))
{
textBox4.Text = "Точка (" + x.ToString() + " ; " + y.ToString() +")
входит в область";
}
else textBox4.Text = "Точка (" + x.ToString() + " ; " + y.ToString() + ") не
входит в область";
Исходный код данного приложения:
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Double x = Convert.ToDouble(textBox1.Text), y = Convert.ToDouble(textBox2.Text), r = Convert.ToDouble(textBox3.Text);
if (((((x >= -r) && (x <= 0)) && ((y >= 0) && (y <= r) && (Math.Sqrt(Math.Pow((x + r), 2) + Math.Pow((y - r), 2)) >= r))) | (((x >= 0) && (x <= r)) && ((y >= -r) && (y <= 0)))) && (Math.Sqrt(Math.Pow((x + r), 2) + Math.Pow((y - r), 2)) >= r))
{
textBox4.Text = "Точка (" + x.ToString() + " ; " + y.ToString() +") входит в область";
}
else textBox4.Text = "Точка (" + x.ToString() + " ; " + y.ToString() + ") не входит в область";
}
}
}
Рисунок 6 Пример работы приложения
Задание: Написать программу, которая определяет, попадает ли точка с заданными координатами в область, закрашенную на рисунке серым цветом. Результат работы программы вывести в виде текстового сообщения.
Варианты заданий: