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





В.А. Новиков Объектно-ориентированное программирование в с#

Лабораторный практикум

для студентов специальности 1-45 01 03 –

Сети телекоммуникаций

Минск ● вгкс

2014

УДК 681.3.06

ББК 32.973–01

П49

Рекомендовано к изданию

Кафедрой программного обеспечения

сетей телекоммуникаций

27 марта 2013, протокол №9

Рецензент

кандидат технических наук, доцент кафедры экономической информатики БГАТУ В.С. Ионин

Новиков В.А.

П49 Объектно-ориентированное программирование в C#: лабораторный практикум для специальности 1-45 01 03 – сети телекоммуникаций/

В. А. Новиков. – Минск: УО ВГКС, 2014. – 76 с.

ISBN 978-585-497-135-3.

В лабораторном практикуме изучаются основы С# в среде Visual Studio. Материал пособия излагается по мере усложнения элементов и возможностей языка и разбит на лабораторные работы. Каждая лабораторная работа содержит теоретическую и практическую части. Материал сопровождается пояснительными примерами, по которым можно судить об особенностях языка C#. Пособие предусматривает закрепление знаний и навыков путем разработки собственных программных кодов по индивидуальным заданиям.

УДК 681.3.06

ББК 32.973–01

© УО ВГКС, 2014

Лабораторная работа 1 Константы, переменные, выражения. Визуальные элементы: кнопка и текстовое поле

Цель работы.

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

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

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

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

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

Структура программы на С#.

using System; // подключение библиотеки .dll и пространства имен

namespace ConsolApplication1 // пространство имен

{

class Class1 // собственный класс

{

static void Main() // процедура класса

{

Текст процедры

}

}

}

Соглашения об именах и идентификаторах

1 Включаются только буквы, знак подчеркивания и цифры. В С# допускаются и буквы национальных алфавитов, т. е. кириллица и греческие буквы. Пользоваться национальными алфавитами не рекомендуется.

2 Первым символом должна быть только буква.

3 Малые и большие буквы различимы.

Имена могут быть:

1 Идентификаторами, т. е. именами пользователя, где это допускается по синтаксису;

2 ключевыми словами; недопустимо ключевые слова использовать в качестве идентификаторов.

Выражения.

Как и в математике выражение – это присваивание какой-то переменной результата вычислений. Выражение определяются знаком = и должно заканчиваться знаком ;.

а=1; // переменной а присваивается число 1

b=2+3; // переменной b присваивается сумма числел 2 и 3

Операции выражений: + (сложение); – (вычитание); / (деление); * (умножение); % (остаток от деления целого на целое).

Степени в С # нет.

Пример: а=2*3+4;

В С# допустима конструкция a=b=4, так как знак = считается равноправной арифметической операцией.

В выражение могут включаться функции: Sin , Cos, Exp, Log, Log10, Tan, Abs, Sqrt, Sinh, Cosh, Tanh, Sign (знак числа), Ceiling (округление до большого целого), Floor (округление до меньшего целого), Round ( округление по правилам математики), Pow(x,y) (x в степени y).

При обращении к стандартной функции необходимо обязательно через точку указывать объект Math.

Пример:

A=Math.Sin(2)*(4+5*6)+Math.Exp(4);

Порядок действий в выражении изменяется круглыми скобками.

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

а=4;

b=a*(4+a);

c=(a+b)*(a-b*b);

Все переменные, участвующие в выражении в С# обязательно должны быть выше объявлены в явном виде. В процессе объявления переменной отводится память и определяется ее тип. Объявления делаются в виде:

double a,b,c; // здесь double – зарезервированный тип переменной

Типами могут быть:

float – дробное число с 7 точными знаками;

double – дробное число с 15 точными знаками;

decimal – дробное без степени с 28 точными знаками;

int ( ±2*109 ; длина 4 байта );

long ( ±9*1018 длина 8 байт);

uint 0÷4*109;

ulong 0÷18*1018;

short ±32767 длина 2 байта;

ushort 0÷65535;

byte 0÷255;

sbyte ±127;

char – одиночный символ;

string – строка;

bool – логическая переменная со значениями false или true.

В процессе объявления переменной ей можно присваивать начальное значение:

int a=3; или int a=1; int b=3*a;

Комментарии:

В любом месте программы можно вставлять комментарии:

// комментарий до конца строки

/* многострочный

комментарий */

Пример:

int a=3; // определяем цену товара

Соглашение об идентификаторах.

Пространство имён, классы и методы всегда записываются с большой буквы.

Поля, константы и внутренние переменные всегда записываются с малой буквы.

Константы.

Целые +5 -5

Дробные 1.5 1.5е+3 1.5Е-3 е или Е большое; . (точка) – разделитель целой и дробной частей

Умолчание:

Для целых чисел минимально int и далее если целое длинное по long.

Для вещественных – умолчание double.

Если умолчание нужно изменить для экономии памяти, то за числом ставится суффикс:

L или l – long;

U или u – беззнаковое целое;

F или f;

D или d;

M или m – decimal.

Пример +2.5f

Строковые константы.

“константа – любой текст в том числе и на RU”

Именованные константы.

const int b =1; // в дальнейшем индикатору b нельзя присваивать значения

Цель создания именованной константы: экономия оперативной памяти и удобство чтения кода программы

Инкрементная и декрементная операции.

а++ ++а это прибавление к а единицы;

а– – – –а это вычитание из а единицы.

Пример:

  1. a=3;

b= a++*4; // в результате: b=12; a=4

  1. a=3

b=++a*4; // в результате: b=16; a=4

Совмещение операций со знаком =.

Любую допустимую операцию в С# можно совмещать со знаком = по примеру

а * = 2; – идентично а = а*2;

а + = (b+4)/3; – a = a +(b+4)/3;

Генератор случайных чисел Random.

Инициализация:

Random a=new Random(); // Здесь в качестве стартовой точки задаётся текущее время на

//момент генерации. При повторном запуске программы

//сгенерированное число будет другим.

Random a=new Random(5); // В этом случае при очередной генерации всегда стартовое число будет 5, т. е. при повторных выполнениях программы сгенерированное число будет одинаковым.

Методы:

a.Next() → возвращает число во всем диапазоне int;

a.Next(max) → возвращает число в диапазоне (0; max);

a.Next(min, max) →(min; max);

a.NextDouble() → диапазон двойной точности от 0 до 1;

a.NextBytes() → диапазон (0; 255).

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

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

Стандартный листинг класса Program:

// PROGRAM

using System;

using System.Collections.Generic;

using System.Linq;

using System.Windows.Forms;

namespace WindowsFormsApplication1

{

static class Program

{

/// <summary>

/// Главная точка входа для приложения.

/// </summary>

[STAThread]

static void Main()

{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new Form1());

}

}}

Листинг класса Form:

// 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(textBox1.Text);

y = Math.Sin(x);

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

textBox2.Text = st;

}}}

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

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

Проверьте:

при Х=1.5 значение Y=6.932295

Проверьте:

при Х=1.5 значение Y=-8.06649E-02

Проверьте:

при Х=1.5 и Z=2.0 значение Y=1.008976

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

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

Литература.

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

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