Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная_работа_№3

.docx
Скачиваний:
72
Добавлен:
14.02.2015
Размер:
1.04 Mб
Скачать

Объектно-ориентированное программирование

Министерство образования и науки Российской Федерации

Алтайский государственный технический университет

им. И. И. Ползунова

Кафедра «Информационные системы в экономике»

Методическое пособие

к лабораторной работе №3

Лабораторная работа № 3

Операторы ветвления.

Тема: Работа в среде Microsoft Visual Studio 2008. Создание простейших форм. (2 ч.)

Цель работы: Освоить оператор ветвления.

Задание:

  1. Выполнить пример, приведенный в разделе Выполнение работы.

  2. Создать форму для выполнения вычислений, приведенных в индивидуальном задании (см. раздел Варианты заданий).

Требования:

  1. Вычисления должны быть оформлены в виде подпрограмм(ы).

  2. Форма должна включать кнопки «Вычислить», «Выход» и «Сброс» (последняя присва­ивает всем входным переменным нулевые значения).

  3. В форме предусмотреть обработку возможных ошибок (деление на 0, ввод недопусти­мых символов, ввод недопустимых значений).

  4. При нажатии клавиши Enter должен выполняться переход к редактированию следующего поля или на кнопку «Вычислить».

Технические и программные средства: компьютер типа IBM PC: процессор Pentium (частота 2000 МГц и выше), RAM не менее 1024 Мб; ОС Windows2000, XP,VISTA, Windows 7; система программирования (Visual Studio 2008).

Оформление отчета: Отчет должен включать титульный лист и следующие разделы:

1 Постановка задачи

2 Алгоритм программы

(блок-схема подпрограммы, выполняющей вычисления)

3 Текст программы

Список литературы:

  1. Марченко А. Л. C#. Введение в программирование - учебное пособие, МГУ, 2005 (L:\TASKS\BOOKS\C#\).

  2. Герберт Шилдт - C# Учебный Курс - учебное пособие, Санкт-Петербург, 2003(L:\TASKS\BOOKS\C#\).

  3. Информационный портал дистанционного образования каф ИСЭ www.lms.mvtom.ru

  4. ВИДЕО-курс по дисциплине «Объектно-ориентированное программирование»

Выполнение работы:

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 Пример работы приложения

Задание: Написать программу, которая определяет, попадает ли точка с заданными координатами в область, закрашенную на рисунке серым цветом. Результат работы программы вывести в виде текстового сообщения.

Варианты заданий:

9