Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metodicheskoe_posobie_VGKS_po_S.docx
Скачиваний:
49
Добавлен:
13.02.2016
Размер:
433.75 Кб
Скачать

Лабораторная работа 2 Операторы управления. Визуальные элементы: маскированное поле и установка цвета

Цель работы.

Изучить формирование программ с операторами управления. Научиться создавать формы с использованием визуального элемента маскированное поле. Научиться изменять цвет визуальных элементов.

План занятия.

Изучить теоретические сведения формирования программы на С#.

По приведенному листингу программы разработать на Visual Studio программу и отладить ее. Составить программу по индивидуальному заданию.

Краткие теоретические сведения.

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

Синтаксис

if( логическое выражение ) опер.1;

else оператор 2;

Конструкция else необязательна.

Примеры:

if(a<1) b=a;

if(a<1) b=a;

else b=2*a;

if(a<1){// фигурные скобки, если больше одного оператора !

b=a;

c=b+a;

}

else{

b=2*a;

c=(b+a)*(2*b+4);

}

В логическом выражении могут использоваться операции отношения и логические операции.

Операции отношения : < > <= >= = = (равно) != (не равно)

Логические операции: && (логическое и), || (логическое или), ! (логическое отрицание)/

Пример:

(a<=1)&&(b>2)

Условная операция является операцией и может использоваться в выражениях:

b>a?b:a; // если окажется b>a, то результат операции равен b, иначе a.

Пример:

y=x+x>1?0:1+Math.Sin(x);

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

switch (выражение целого или строкового типа)

{

case конст.1:

операторы 1

case конст.2:

операторы 2

………..

default:

операторы 0

}

Особенность switch: если в операторе i не указан оператор break, то будут выполняться операторы нижеследующих case:

switch (k)

{

case 1: a = 1;

case 2: a = 2;

default: a = 0;

}

В этом примере, если k = 1, то выполнится последовательность: a = 1; a = 2; a = 0. Очевидно, что данный пример всегда будет определять a = 0;

Приведенный пример будет верным:

switch (k)

{

case 1: a = 1; break;

case 2: a = 2; break;

default: a = 0; break;

}

Однако иногда такая специфика оператора switch позволяет упростить ветвление учитывая, что в case может располагаться только одна константа:

switch (k)

{

case 1:

case 2:

case 3: a = 1; break;

case 4: a = 2; break;

}

В этом примере a будет равно 1 в случае, если k = 1 или k = 2 или k = 3.

Цикл с предусловием while.

Примеры:

while (a< 1) a++;

while (а <1){

а++;

b+=а;

}

Логика работы: оператор за циклом выполняется до тех пор, пока выполняется условие в скобках. Правила формирования условия идентичны оператору if.

Цикл с постусловием do.

do a++while(a <1);

do{

a++;

b+=a;

}

while(a <1);

Этот цикл по смыслу идентичен while, но в данном случае операторы цикла будут всегда выполняться хотя бы один раз, а условие проверяется в конце цикла.

Цикл for.

Синтаксис:

for(начальные значения; условие; модификация) оператор;

Логика работы:

1) Выполняются все выражения в начальных условиях. Здесь выражения могут указываться через знак запятая:

а=1, b=3, ἰ=0;

  1. Проверяется условие. Если оно истинно, то выполняется оператор, иначе делается выход из цикла.

Синтаксис условия полностью соответствует оператору ἰf: а<1;

3) после выполнения оператора выполняются выражения модификация. В этих выражениях должна задаваться такая модификация, чтобы было окончание цикла: i++, j+=2;

4)Делается переход на П.2.

В операторе for можно опускать любую конструкцию в скобках:

for( ; a<1; a++) s+=a; //нет начальных условий

for( i=1; ; i ++) s+=ἰ; // нет условия, т.е. будет бесконечный чикл

for(ἰ=1; ἰ<10; ) s+= ἰ; //нет модификации

for( ; ; ) s+= ἰ; //пустой бесконечный цикл

В любом из циклов while, do, for могут использоваться операторы передачи управления:

contine; // переход на следующую операцию цикла

break; //выход из цикла

Оператор безусловного перехода.

goto a1; //принудительный переход на метку а1

а1: оператор;

Предупреждение: запрещено в программах использоваться этим оператором, кроме особо исключительных случаев!

Порядок выполнения работы

Создайте форму:

Для маскированного поля в соответствующем свойстве установите маску ##.# для запрещения ввода в него других символов кроме цифр.

Реализуйте следующий программный код:

// FORM

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace WindowsFormsApplication1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button2_Click(object sender, EventArgs e)

{

this.Close();

}

private void button1_Click(object sender, EventArgs e)

{

double x, y; string st;

x = Convert.ToDouble(maskedTextBox1.Text);

y = Math.Sin(x);

st = String.Format("{0,4:0.##}",y);

textBox2.Text = st;

}

private void button3_Click(object sender, EventArgs e)

{

ColorDialog Col = new ColorDialog();

if (Col.ShowDialog() == DialogResult.OK)

{

maskedTextBox1.BackColor = Col.Color;

textBox2.ForeColor = Col.Color;

} } }}

Индивидуальные задания.

Составить программы вычисления:

Y=

Содержание отчета.

Представить отлаженную программу по индивидуальному заданию.

Литература.

Павловская Т.А. С#, Программирование на языке высокого уровня. – М., СПб: Питер, 2010, с.69-87

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]