Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Архітектуру та принципи роботи Web-застосувань на основі Microsoft.NET Framework.





Передмова

 

Метою дисципліни є ознайомлення студентів з основними принципами, методами та можливостями технологій побудови сучасних інформаційних систем. У курсі передбачається вивчення вибраної технології – платформа Microsoft.NET

Учбовий курс присвячений розробці Веб-додатків на платформі.NET Framework, вивчаються технології.NET, ASP.NET, архітектура, конфігурація і розгортання Інтернет систем. ASP.NET є основною і найбільш повної технологією для веб-розробки з усіх, які коли-небудь створювалися для побудови серверних елементів веб-додатків. Вона являє собою повнофункціональну платформу, що дозволяє створювати складні і надзвичайно швидкі веб-додатки.

Після вивчення дисципліни студент має засвоїти базові знання, він повинен:

ЗНАТИ:

Архітектуру та принципи роботи Web-застосувань на основі Microsoft.NET Framework.

- Архітектура платформи Microsoft. NET

- Розробка Web-застосувань ASP.NET з використанням Visual Studio.NET

 

Принципи проектування та розробки WEB-застосувань в Microsoft.NET

- Web программування з використанням технології ASP.NET

- Створення шаблонів та веб-форм сторінок.

- Використання різноманітних елементів управління, що відображають графічних інтерфейс

- Формування бази даних Веб-додатка.

ВМІТИ:

- Використовувати С# в.NET-додатках.

- Застосовувати Visual Studio.NET при створенні WEB–додатків.

- Використовувати технологію WEB–форм.

- Використовувати технологію ADO.NET.

 

Практична частина визначена на вивчення питань створення клієнтських і серверних додатків.NET.

Практична частина курсу передбачає освоєння Visual Studio.NET 2012 при створенні WEB–додатків в межах виконання лабораторних робіт, самостійної роботи, в яких запроваджено проектування та реалізація інформаційної Інтернет-системи з базою даних.

На сьогодні незаперечний той факт, що сучасний рівень WEB технологій дозволяє вважати їх за найбільш перспективних для створення розподілених інформаційних систем. Це можуть бути не тільки відкриті Інтернет системи, але і "закриті" корпоративні автоматизовані системи управління, розподілені на великі території і відстані. Важливою особливістю таких систем є здійснення видаленого доступу до сховищ інформації – баз даних. Об'єднання Інтернет-технологій і технологій СУБД як способу організації доступу до даних має ряд безумовних достоїнств і вимагає не тільки знань цих технологій, але і уміння аналізувати і вибирати оптимальну архітектуру таких інформаційних систем.

Таким чином, дані методичні вказівки до виконання лабораторних робот Частина 1 містять теоретичні відомості, а також методику виконання перших 5 лабораторних робіт з дисципліни, які входять до практичного модулю П1.

Практичний Модуль 1:

Лабораторна робота №1 – Основи роботи у середовищі розробки додатків Microsoft Visual Studio 2012.

Лабораторна робота №2 – Створення WEB-форми у середовищі розробки Visual Studio2012. Робота з массивами, рядками, процедурами і функціям на мові С#

Лабораторна робота №3 – Основи роботи у середовищі Microsoft Visual Studio 2012. Класи, структури та колекції С#.

Лабораторна робота №4 – Основи роботи з базами даних MS SQL Server в Microsoft Visual Studio 2012.

Лабораторна робота №5 – Вивчення серверних WEB-елементів управління

Після вивчення Змістовного модулю – П1 студент повинен вміти: налаштовувати Microsoft Visual Studio 2012 для розробки Web-додатків; використовувати серверні WEB-елементи управління для конструювання дизайну додатку и застосовувати С# для створення обробника подій. Контролюючим заходом передбаченим для цього змістовного модуля є усне опитування.

По кожній лабораторній роботі студент повинен скласти звіт, якій містить в собі:

1. Назву роботи.

2. Мета роботи.

3. Умову завдання згідно варіанта

4.Послідовний алгоритм розв’язання задачі, проілюстрований екранними формами з поясненнями що до виконаних дій.

4. Текст основних програмних модулів.

5. Відповіді на контрольні питання.

Оформлений звіт захищається студентом усно. Студент повинен чітко і грамотно відповідати на контрольні питання, які оголошені наприкінці кожної лабораторної роботи. Виконана та захищена лабораторна робота оцінюється згідно з робочою програмою.

Варіант індивідуального завдання надається викладачем.

 

 

Правила техніки безпеки та охорона праці

 

Лабораторні роботи з дисципліни проводяться у лабораторіях інформатики, які оснащені комп’ютерною технікою з відповідним програмним забезпеченням. Студенти зобов’язані дотримуватися правил техніки безпеки та правил користування обчислювальною технікою в лабораторіях інформатики.

Згідно з «Правилами техніки безпеки в лабораторіях інформатики» студентам забороняється:

– з`являтися та знаходитись приміщенні в нетверезому стані;

– ставити поруч з клавіатурою ємності з рідиною;

– перебувати в приміщенні в верхній одежі та завалювати нею робочі столи та стільці;

– працювати в лабораторії більше 6-ти годин на день (для вагітних жінок – більше 4-х годин);

– за власною ініціативою змінювати закріплені за ними робочі місця та знаходитись в приміщенні під час роботи іншої учбової групи;

– самостійно виконувати вмикання електроживлення лабораторії та заміну складових частин ПК, що вийшли із ладу.

У випадку виявлення несправностей обчислювальної техніки студент повинен сповістити про це викладача чи будь-кого з навчально-допоміжного персоналу лабораторії.


Лабораторна робота №1

Основи роботи у середовищі розробки

Крок 2: Додавання таблиці

Клацніть вікно конструктора Web-форм Конструктор (Design), щоб встановити на нім фокус введення. Потім, вибравши команду Visual Studio.NET Таблица/ Вставить таблицу (Table/InsertTable), додайте до Web-форме HTML-таблицу. Заповните діалогове вікно Вставка таблицы (Insert Table), що з'явилося. Зокрема, встановите Строк (Rows) в 4, Столбцов (Columns) в 2, Задать ширину (Width) в 100 %, Після клацання ОК таблиця з'явиться у вікні дизайнера форм.

 

Крок 3 Додавання тексту

Клацніть осередок в лівому верхньому кутку таблиці. На екрані з'явиться курсор – будь-який введений вами текст буде поміщений в даний елемент таблиці. Введіть «Principal». Потім перейдіть у вікно Properties і зміните властивість text-align осередку на «right», щоб вирівняти текст по правому краю. Аналогічно додайте «Rate (percent)» у осередок наступного рядка і «Term (months)» у осередок під нею. Перетягнете вертикальний роздільник елементів таблиці так, щоб найлівіша колонка таблиці стала достатньо широкою, щоб вміщати введений текст. На рис.1.6 показаний остаточний вид таблиці.

 

Рис.1.5 – Додавання таблиці до Web-форми

 

 

Рис.1.6– Форма LoanCalc після додавання тексту

Крок 7: Редагування HTML

Давайте поліпшимо зовнішній вигляд форми, додавши декілька елементів HTML. Спочатку клацніть кнопку Исходный код (Source) внизу вікна дизайнера, щоб відобразити HTML, що згенерував для форми. Між тегами <body> і <form> додайте уручну оператори:

<h1>Mortgage Payment Calculator</h1> <hr>

Потім прокрутить текст до кінця файлу і між тегами </table> і <asp:Label> додайте операторів:

<bг> <hr> <br> <h3>

Перемісите тег </h3>, вставлений Visual Studio.NET, так щоб він розташовувався після тега <asp:Label>. Тепер клацніть кнопку Конструктор (Design) внизу дизайнера форм, щоб вийти з режиму Source в режим малювання форми. На рис.1.9 показано, як повинна виглядати змінена форма.

 

 

Текст програми LoanCalc

Серед безлічі файлів в каталозі LoanCalc найбільший інтерес для нас представляють WebForml.aspx і WebForml.aspx.cs. Вони містять початковий код LoanCalc. Більшість з цих додаткових файлів в даному прикладі надмірно, але Visual Studio.NET все одно створює їх.

WebForml.aspx не містить програмної коди — тільки HTML. Visual Studio.NET завжди використовує в своїх Web-формах фоновий код, тому весь код на С# знаходиться в WebForml.aspx.cs. Велика частина їх вмісту згенерувала Visual Studio.NET. Оператори, додані вами, показані курсивом.

ASPX-файл визначає призначений для користувача інтерфейс за допомогою HTML і Web-элементов управління, а CS-файл містить обробник події Click від кнопки Compute Payment, а також код, що підключає цей обробник до кнопки. Жоден з файлів не містить нічого такого, чого ви не могли б написати уручну, але абсолютно очевидно, що візуальне створення Web-форм набагато швидше і менше схильне до помилок, чим їх ручне кодування.

 

Контрольні питання:

1. Які засоби управління включені у середовище розробки Visual Studio 2012?

2. Як здійснити налаштування відображення вікон документів усередині інтегрованого середовища розробки?

3. Як створити новий додаток ASP.NET?

4. Призначення та основні функції вікна панелі компонентів Toolbox?

5. Як організован і що містить файл WebForml.aspx?

6. Як організован і що містить файл і WebForml.aspx.cs?

7. Визначьте і перечисліть переваги застосування технології ASP.NET. для розробки Web-додатку.

 

Лабораторна робота №2

Одновимірні масиви

Так для одновимірного масиву синтаксис створення буде таким:

тип[ ] ім’я_масиву = new тип[розмір];

Наприклад, зарезервувати пам'ять під 10 елементів цілого типу можна так:

int[ ] array = new int[10];

Адресація елементів усередині масиву виконується за допомогою цілочисельного індексу, нумерація якого починається з нуля. Вихід індексу за межі меж компілятору не контролюється і виявляється середовищем CLR

Якщо масив оголошується як поле класу, то всі елементи за умовчанням набувають найближчого за типом значення (для числового - нуль, для строкового - порожньо, для булева - false, для посилального - null). Якщо масив оголошується усередині методу як локальна змінна, то його перед використанням потрібно явно ініціалізувати.

Масив в C# – це тип, похідний від класу System.Array, тому всі масиви успадковують від цього класу фіксований набір об'єктних властивостей і методів. Крім того, сам клас Array містить ряд статичних методів (рівня класу), що дозволяють виконувати обробку масивів як об'єктів.

Одне і те ж посилання на масив можна використовувати багато разів при створенні декількох сумісних з її типом масивів. У такому разі адресація колишнього масиву буде загублена. Наприклад:

int[ ] array = new int[10];

............

array = new int[20];

Можна виконувати відразу і оголошення і ініціалізацію масиву, тоді створення масиву і підрахунок його розмірності виконає компілятор за списком ініціалізації. В цьому випадку ключове слово new не потрібне. Наприклад:

int[ ] array = { 1, 2, 3, 4, 5 };

Можна створити масив фіксованої розмірності і відразу його ініціалізувати. Тоді розмір списку ініціалізації повинен строго відповідати замовленій розмірності масиву. Наприклад:

Int[ ] array = new int[5]{ 1, 2, 3, 4, 5 };

Допустимий і такий синтаксис - без вказівки розмірності, але з ініціалізацією:

int[ ] array = new int[]{ 1, 2, 3, 4, 5 };

Можна спочатку створити масив, а потім поелементно привласнити йому значення. І теж потрібно стежити, щоб не вийти за межі встановленої розмірності масиву.

int[ ] array = new int[5];

for (int i = 0; i < array.Length; i++)

array[i]= i;

Елементами масиву можуть бути значення довільного типу, зокрема масиви, класи, структури і інтерфейси. Масиви можуть бути як одновимірними, так і багатовимірними.

Приклад створення масиву, що складається з дванадцяти елементів типу string:

String[ ] st = new string[12];

При створенні масивів необхідно враховувати, що для створення масиву фіксованої довжини, як в попередніх прикладах, необхідно завжди використовувати ключове слово new. Таким чином, наступне визначення масиву неприпустимо і приведе до виникнення помилки ще на етапі компіляції: int[3] a={3,5,6};

Багатовимірні масиви

Окрім простих одновимірних масивів C# підтримує також багатовимірні масиви, які у свою чергу діляться на дві категорії. До першої категорії відносяться масиви, кількість елементів кожного рядка яких складається з однакової кількості елементів. Таким чином, масив можна розглядати як прямокутник, а самі такі масиви називають "прямокутними". До другої категорії відносяться масиви, кількість елементів в рядках у яких не однаково. Такі масиви утворюють прямокутник, у якого одна сторона представляє ламану лінію, тому такі масиви називають "ламаними".

Оголошення і заповнення масиву проводиться стандартним способом: для цього організовується два цикли:

Random rnd=new Random();

int[,] Matrix;

Matrix = new int[5, 4];

for (int i = 0; i < 5; i++)

for (int j=0;j<4;j++)

Matrix[i,j]= rnd.Next(10,99);

При необхідності виведення значень елементів масиву на екран також організовується цикл, що дозволяє послідовно перебирати всі елементи масиву:

for (int i = 0; i < 5; i++)

{

for (int j = 0; j < 4; j++)

{

Response.Write(Matrix[i, j].ToString());

Response.Write(" ");

}

Response.Write("<br/>");

}

"Ламаний" масив може розглядатися як масив, кожен осередок якого є масивом. Як приклад створимо масив із змінною кількістю елементів в рядках:

Random rnd = new Random();

int[][] JMatrix = new int[5][];

for (int i = 0; i < JMatrix.Length; i++)

{

JMatrix[i]= new int[rnd.Next(1,7)];

}

Кількість елементів в рядку визначається випадковим чином у момент формування масиву. Кількість рядків задана жорстко і рівна п'яти. Масив не заповнюється ніякими числами, тому на екран виводитимуться значення, якими заповнюється масив за умовчанням (в даному випадку це нуль). Для виведення інформації на екран необхідно використовувати два цикли, як це показано нижче.

for (int i = 0; i < JMatrix.Length; i++)

{

Response.Write("Кількість елементів в рядку " +

i.ToString() + "=" + JMatrix[i].Length.ToString()+" ");

for (int j = 0; j < JMatrix[i].Length; j++)

{

Response.Write(JMatrix[i][j].ToString() + " ");

}

Response.Write("<br/>");

}

У циклі по j відбувається визначення кількості елементів в рядку за допомогою властивості Length.

Клас Array

Для детальнішого розуміння особливостей використання масивів в C# необхідно розглянути спеціалізований клас, що реалізовує функції масиву. Всі типи даних в C# є класами, для яких як базовий виступає клас Object.

Клас Array - не виключення. Він реалізує всі базові властивості класів і є предком для всіх типів масивів, до яких ми звикли в мові C++ і синтаксис опису яких був приведений вище. Те, що клас Array є нащадком класу Object, дає можливість в класі Array визначати безліч різноманітних операцій, таких як копіювання, пошук, звернення, сортування і т. д. Нижче приведені найцікавіші методи класу Array:

 

BinarySearch() Пошук елементів в одновимірному відсортованому масиві
Sort() Сортування елементів одновимірного масиву
Clear() Очищення елементів масиву в заданому діапазоні індексів
CopyTo() Копіювання елементів початкового масиву в масив призначення
GetLength(), Length Визначення кількості елементів у вказаному вимірюванні масиву
GetLowerBound() Визначення нижньої межі масиву
GetUpperBound() Визначення верхньої межі масиву
GetValue() Повертає значення вказаного індексу для масиву
SetValue() Встановлює значення вказаного індексу для масиву
Reverse() Розставляє елементи одновимірного масиву в зворотному порядку
Rank Визначення кількості вимірювань вказаного масиву

 

Розглянемо приклад використання класу Array. Для цього створимо масив і забезпечимо можливість пошуку в нім елементів.

Оголосимо масив myArray як статичний член класу Page, що складається з шести елементів типу int:

static Array myArray = Array.CreateInstance(typeof(Int32), 6);

Розмістимо на формі елементи TextBox і Button, яким привласнимо імена tb_value і btn_find відповідно.

У обробник процедури натиснення на кнопку введемо наступний код, що заповнює масив випадковими числами, сортує його і здійснюючий пошук введеного в текстове поле елементу. Код процедури натиснення на кнопку приведений нижче.

protected void btn_find_Click(object sender, EventArgs e)

{

Random rnd = new Random();

Response.Write("Початковий масив <br/>");

for (int i = myArray.GetLowerBound(0); i <=

myArray.GetUpperBound(0); i++)

{

myArray.SetValue(rnd.Next(1, 10), i);

Response.Write(myArray.GetValue(i) + "\t");

}

Response.Write("<br/>");

Array.Sort(myArray);

Response.Write("Після сортування:<br/>");

for (int i = myArray.GetLowerBound(0); i <=

myArray.GetUpperBound(0); i++)

{

Response.Write(myArray.GetValue(i) + "\t");

}

object про = Convert.ToInt32(tb_value.Text);

int findIndex = Array.BinarySearch(myArray, про);

if (findIndex<0)

{

Response.Write("<br/>Элемент не знайдений");

}

else

{

Response.Write("<br/>Элемент знайдений у позиції <b>"+findIndex.

ToString()+"</b>");

}

}

Приклад роботи програми в результаті виконання приведеної вище коди представлений на рис.2.1.

 

Рис. 2.1– Результат роботи програми заповнення, сортування і пошуку елементів масиву

 

Як видно, працювати з масивами в C# досить просто, особливо враховуючи досить великі можливості класу Array.

Робота з рядками в C#

По аналогії з масивами всі рядки в C# походять від одного базового класу – System.String, у якому реалізовано достатньо багато різних методів, що здійснюють всілякі операції над рядками. Найцікавіші методи класу String представлені нижче.

Length Дозволяє отримати кількість символів в рядку.
Concat() Дозволяє з'єднати декілька рядків або змінних типу object.
CompareTo() Дозволяє порівняти два рядки. У разі рівності рядків результат виконання функції дорівнює нулю. При позитивному значенні функції більшим є рядок, для якого викликався метод.
Copy() Створює нову копію існуючого рядка.
Format()   Застосовується для форматування рядка з використанням різних примітивів (рядків і числових даних) і підстановлювальних виразів вигляду {0}.
Insert() Дозволяє вставити один рядок всередину існує.
Remove() Replace() Видаляють або замінюють символи в рядку.
ToUpper() ToLower() Перетворять всі символи рядка в рядкові або прописні.
Chars Дозволяє отримати символ, що знаходиться в певній позиції рядка.
Join() Створює рядок, сполучаючи задані рядки і розділяючи їх рядком-роздільником.
Replace() Замінює один символ рядка іншим.
Split() Повертає масив рядків з елементами - підрядками основного рядка, між якими знаходяться символи-роздільники.
Substring() Дозволяє отримати підрядок основного рядка, що починається з певного символу і що маєзадану довжину.
Trim() Видаляє пропуски або набір заданих символів на початку і кінці основного рядка.
ToCharArray() Створює масив символів і поміщає в нього символи початкового рядка.

 

При роботі з рядками в C# необхідно враховувати наступне. Тип String є посилальним типом. Проте, не дивлячись на це, при використанні операцій порівняння відбувається порівняння значень строкових об'єктів, а не адрес цих об'єктів, розміщених в оперативній пам'яті. Крім того, оператор "+" об'єкту string переобтяжений так, що при його використанні використовується метод Concat().

Виконаємо декілька прикладів використання можливостей роботи з рядками.

 

 

ВПРАВА 1

Реалізувати функцію MakeLin, яка будестворювати рядок, який складається з символів, що виходять шляхом нескладних обчислень. Результати обчислень заносяться в масив рядків. Таким чином, масив sArr після завершення циклу містить значення всіх отриманих чисел. Після цього, використовуючи роздільник, передаваний у функцію як аргумент, а також функцію Join, значення всіх осередків масиву sArr об'єднуються в рядок:

protected void Page_Load(object sender, EventArgs e)

{

Response.Write(MakeLine(0, 5 ", "));

Response.Write("</br>");

Response.Write(MakeLine(1, 6 " "));

Response.Write("</br>");

Response.Write(MakeLine(9, 9 ": "));

Response.Write("</br>");

Response.Write(MakeLine(4, 7, "< "));

}

private static string MakeLine(int initVal, int multVal, string sep)

{

string[] sArr = new string[10];

for (int i = initVal; i < initVal+10; i++)

sArr[i-initVal]= String.Format("{0-3}", i * multVal);

return String.Join(sep, sArr);

}

Результат роботи програми представлений на рис.2.2.

 

 

Рис.2.2 – Результат роботи програми з використанням функції Join

 

Досить часто при роботі з рядками виникає необхідність розділити рядок на підрядки, відокремлені один від одного заданими символами-роздільниками.

ВПРАВА 2

 

Створити рядок символів, в якому присутні декілька символів-роздільників. За допомогою функції Split даний рядок розділяється на підряди, які потім виводяться на екран кожен в окремому рядку. Для завдання символів-роздільників використовується масив символів. В даному прикладі також застосовується функція Trim, необхідна в даному випадку для того, щоб переконатися, що заданий рядок не складається з одних лише пропусків.

string words = "рядок, що містить декілька слів, а також

знаків пунктуації: таких як двокрапка і крапка.";

string [] split = words.Split(new Char [] {' ', '',, '.' ':'});

foreach (string s in split)

{

if (s.Trim()!= "")

Response.Write(s+"</br>");

}

Підсумком роботи даної програми буде наступний результат, зображений на рис. 2.3.

 

 

Рис. 2.3 – Результат роботи програми з використанням функції Split

ВПРАВА 3

 

Створіть метод Stepen в якому може передаватися довільна кількість чисел для знаходження суми їх квадратів. Оголошення методу в цьому випадку виглядає таким чином:

public void Stepen(out long r, int а, params int[] b)

{

r = 0;

foreach (int i in b)

r += (long)Math.Pow(i, а);

}

Виклик методу може бути здійснений так:

int[] digits ={1,8,4};

Stepen(out s, 2, digits);

Response.Write(s.ToString());

Для виклику методу необхідно сформувати масив цілих чисел, який потім слід передати як третій аргументу в метод. Результат обчислення суми накопичується в змінній r, а потім передається в змінну s визиваючої програми. Результатом роботи програми буде повернення результату у вигляді числа – 81.

Іноді виникає необхідність не тільки передавати довільну кількість початкових даних для розрахунку, але і отримувати із визиваючої процедури довільну кількість змінних, що містять результати розрахунку.

ВПРАВА 4

 

Створіть процедуру, що дозволяє отримувати масив чисел, підносити кожне з них до певного ступеня, передавати результат розрахунку в визиваючу програму і виводити результат на екран. Процедура в цьому випадку виглядатиме таким чином:

public void Stepen(out long[] r,int а, params int[] b)

{

r=new long[0];

Array.Resize(ref r,b.Length);

int j=0;

foreach (int i in b)

r[j++]= (long)Math.Pow(i, а);

}

Тут необхідно відзначити наступні важливі особливості. По-перше, як параметр, що повертає значення в звизиваючу програму, використан масив чисел типу long.

По-друге, перш ніж стане можливим використовувати цей масив, його розмір необхідно привести у відповідність з розміром масиву b. Для цього можна скористатися методом Resize об'єкту Array. Проте цей метод дозволяє змінювати кількість елементів такого масиву, для якого ця кількість вже визначена, тому перед викликом методу Resize створюється новий масив r, що складається з нуля елементів.

Варто відзначити також те, що перед першим параметром методу Resize знаходиться ключове слово ref, що говорить про те, що даний метод приймає посилання на масив r, – саме тому усередині методу стає можливою зміна параметрів самого масиву, а не його копії. Виклик методу можна здійснити таким чином:

 

Response.Write("Результати обчислення значень масиву:<br/>");

long [] result;

int [] data={2,3,4,5};

Stepen3(out result, 2, data);

foreach (long i in result)

Response.Write(i.ToString()+"<br/>");

Результат роботи програми зображений на малюнку.

 

 

Рис. 2.4 – Результат роботи методу, що підносить до заданого ступеня масив чисел

 

Підсумовуючи все сказане вище щодо методів, необхідно звернути увагу на наступне.

Як відомо, в об'єктно-орієнтованих мовах, таких як С#, основну роль грають посилальні типи, тому коли методу передається об'єкт посилального типу, всі поля цього об'єкту можуть мінятися в методі, тобто програмний код методу може дістати повний доступ до всіх полів об'єкту. Це відбувається не дивлячись на те, що формально об'єкт не є вихідним і не має ключових слів ref і out, тобто використовує семантику виклику за значенням. При такому виклику саме посилання на об'єкт залишається незмінним, але стан об'єкту, значення його полів можуть повністю змінитися. Така ситуація достатньо поширена і є типовою, тому при роботі з посилальними типами даних ключові слова ref і out нечасто з'являються в описі аргументів методу.

 

 

Варіанти завданя 1:

 

Створити в Microsoft Visual Studio 2012 форму, що містить задану кількість полів для введення значень елементів числового або символьного масиву, і кнопку, при натисненні на яку виконується обробка масиву згідно варіанту завдання.

 

1. Задати масив, що складається з 10 чисел. Знайти найменший з позитивних елементів масиву.

2. Задати масив з 10 елементів, що містить назви країн. Підрахувати кількість елементів масиву, що починаються на літеру «А».

3. Задати масив, що складається з 10 цілих чисел. Підрахувати кількість невідє’мних парних елементів масиву.

4. Задати масив, що складається з 10 цілих чисел. Обчислити добуток всіх непарних відє’мних елементів масиву.

5. Задати масив з 10 елементів, що містить чоловічі і жіночі імена. Підрахувати кількість букв в щонайдовшому імені.

6. Задати масив, що складається з 10 чисел. Обчислити суму елементів масиву, які більш заданого числа.

7. Задати масив, що складається з 10 цілих чисел. Обчислити добуток всіх парних елементів масиву, не менших заданого числа.

8. Задати масив з 10 елементів, що містить назви рослин. Підрахувати, скільки разів у всіх елементах масиву зустрічається літера «ь».

9. Задати масив, що складається з 10 чисел. Визначити номер останнього невід’ємного елементу.

10. Задати масив, що складається з 10 цілих чисел. Знайти найменший з парних елементів масиву.

11. Задати масив з 10 елементів, що містить назви міст. Підрахувати кількість елементів масиву, що починаються на приголосну літеру.

12. Задати масив, що складається з 10 чисел. Обчислити суму елементів масиву, що мають парні номери.

13. Задати масив з 10 елементів, що містить назви тварин. Підрахувати середню довжину елементів масиву.

14. Задати масив, що складається з 10 чисел. Підрахувати кількість елементів масиву, менших заданого числа.

15. Задати масив з 10 елементів, що містить назви фруктів. Підрахувати кількість елементів масиву, що не містять літери «ш».

 

 

Варіанти завдання 2:

 

1. Даний рядок, що містить англійський текст. Знайти кількість слів, що починаються з букви «с».

2. Даний рядок. Підрахувати, скільки в ньому букв «а», «е», «я».

3. Даний рядок. Визначити, скільки в ньому символів «,» і пропуск.

3. Даний рядок, що містить текст. Знайти довжину найкоротшого слова і щонайдовшого слова.

4. Даний рядок символів, серед яких є двокрапка (:). Визначити, скільки символів йому передує.

5. Даний рядок, що містить текст, що закінчується крапкою. Вивести на екран слова, що містять менше п'яти букв.

6. Даний рядок. Перетворити його, видаливши кожну букву «и» і повторивши кожну букву «а».

7. Даний рядок. Підрахувати кількість букв «и» в останньому його слові.

8. Даний рядок. Підрахувати, скільки різних букв зустрічається в ньому. Вивести їх на екран.

9. Даний рядок символів, серед яких є та, що відкривається і та дужка, що закривається. Вивести на екран всі символи, розташовані усередині цих дужок.

10. Є рядок, що містить букви латинського алфавіту і цифри. Вивести на екран довжину найбільшої послідовності цифр, що йдуть підряд.

11. Даний рядок. Вказати ті слова, які містять хоч би одну букву «ж».

12. Даний рядок. Знайти ті слова, які починаються і закінчуються однією і тією ж буквою.

13. У рядку замінити всі знаки пропусків двокрапкою (:). Підрахувати кількість замін.

14. Визначити, скільки разів в рядку зустрічається задане слово.

15. У рядку є одна крапка з комою (;). Підрахувати кількість символів до крапки з комою і після неї.

Контрольні питання:

1) Дайте визначення масиву.

2) Як можна виконувати відразу і оголошення і ініціалізацію масиву у програмі?

3) Що таке розмірність масиву, які масиви бувають у С#?

4) Як одержати доступ до певного елемента масиву?

5) Як у програмі організувати введення й вивід масиву?

6) Які основні методи виконує Клас Array?

7) Які операції дозволено над елементами масиву?

8) Від якого базового класу походять всі рядки в C#?

9) Перерахуйте основні методи классу System.String?

10) Поясніть особливості використання классу System. Text. StringBuilder?

11) Дайте визначення процедури і функції

12) Пояснить різницю між процедурами й функціями?

13) Як здійснюється виклик процедури і функції

14) Дайте визначення групам аргументів методів?

15) Коли краще використовувати процедури й коли функції?

 

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

ЗАВДАННЯ 1

Створити базу даних безпосередньо в середовищі Microsoft Visual Studio 2012, використуючи покрокову інструкцію, наведену нижче.

 

Крок 1:

У меню виберіть команду Файл/Создать/ Веб-сайт.(File/New Web Site). У діалоговому вікні, що відкрилося, задайте шаблон: Пустой Веб-сайт ASP.NET, Language: Visual C# і шлях до каталога, де буде збережений ваш проект.

 

Рис. 3.1 – Створення Web-додатоку

Крок 2:

У меню виберіть команду Веб-сайт/Добавить новый элемент (Website/Add New Item) У діалоговому вікні, що відкрилося, виберіть шаблон База данный SQL Server і задайте ім'я майбутньої БД, наприклад Test.mdf. При цьому з'являється нове джерело даних у вікні Server Explorer.

 

Рис. 3.2 – Створення бази даних

Крок 3:

У вікні Обозреватель серверов (Server Explorer) у Test.mdf вибираємо Таблицы (Tables), натискаємо праву кнопку миші і з меню, що з'явилося, вибираємо пункт Добавить новую таблицу (Add New Table). З'являється конструктор таблиць, де задаються імена полів таблиць, типи даних і обмеження цілісності.

Створимо наступні таблиці, що містять інформацію про студентів учбового закладу(Рис. 4.3):

 

Рис.4.3 – Таблиці БД, що містять інформацію про студентів учбового закладу

 

Спочатку виконаємо створення таблиці groups шляхом заповнення стовпців Имя (Column Name), Тип данных (Data Type) і Доступны значения ноль (Allow Nulls) необхідними значеннями імен полів, типів даних і наявності порожніх значень відповідно. Для завдання первинного ключа на рядку, відповідному полю id, клацаємо правою кнопкою миші і вибираємо Set Primary Кеу.

 

 

Рис.3.4 – Таблиця groups БД, що містить інформацію про групи студентів учбового закладу

Для того, щоб значення первинного ключа формувалися автоматично шляхом збільшення попереднього значення на 1, необхідно, знаходячись на рядку, відповідному полю id, розкрити в Свойства (Column Properties) пункт Спецификация идентификатора (Identity specification) і додати властивостям Идентификатор (Is Identity), Начальное значение (Identity Increment) і Шаг приращения(Identity Seed) значення Yes, 1, і 1 відповідно.

 

 

Рис.3.5 – Таблиця groups БД, що містить інформацію про групи студентів учбового закладу

 

Після цього зберегти таблицю groups, для цього необхідно назвати таблицю "groups" шляхом оновлення першого рядка в області скриптів, як показано в наступному прикладі:

 

CREATE TABLE [dbo].[groups]

 

У лівому верхньому кутку конструктора таблиць натисніть кнопку Оновити (Update), як показано на наступному малюнку.

 

 

Рис. 3.6 – Зберегання таблиці groups у БД

 

У діалоговому вікні Предварительный просмотр обновления базы данных натисніть кнопку Оновити базу даних.

Ваші зміни зберігаються у файл локальної бази даних Test.mdf.

 

Аналогічно створюємо таблицю students.(рис.4.7)

 

 

Рис. 3.7 – Зберегання таблиці students у БД

 

 

Крок 4:

Створимо зв'язок між таблицями. Для створення зовнішнього ключа:

- В області контексту конструктора з таблицею students в правій частині сітки відкрийте контекстне меню елемента Зовнішні ключі і виберіть команду Додати новий зовнішній ключ, як показано на наступному малюнку.

 

 

Рис. 3.8 – Створення зовнішнього ключа таблиці students

 

- текстовому полі, що з'явилося, замініть ToTable на groups.

 

 

Рис. 3.9 – Зовнішній ключ таблиці students

 

- В області скриптів поновіть останній рядок у відповідності з наступним прикладом:

CONSTRAINT [FK_students_groups] FOREIGN KEY ([id_group]) REFERENCES [dbo].[groups] ([Id])

 

- У лівому верхньому кутку конструктора таблиць натисніть кнопку Оновити.

- У діалоговому вікні Попередній перегляд оновлення бази даних натисніть кнопку Оновити базу даних.

 

Ваші зміни зберігаються у файл локальної бази даних.

 

Крок 5:

Для заповнення таблиць даними необхідно у вікні Server Explorer клацнути правою кнопкою миші на імені таблиці і з меню, що з'явилося, вибрати пункт Показать таблицу данных (Show Table Data). У вікні, що відкрилося, можна вводити дані в поля таблиці.

 

ЗАВДАННЯ 2

 

Створити додаток для роботи з базою даних у середовищі Visual Studio 2012, використуючи покрокову інструкцію, наведену нижче.

 

Крок 1:

Якщо БД створюється разом із створенням проекту, то даний крок можна пропустити. Інакше у вікні Server Explorer вибираємо елемент Data Connections (підключення до даних), клацаємо правою кнопкою миші і з меню вибираємо пункт Add Connection. У вікні, що з'явилося, вибираємо раніше створену БД за допомогою кнопки Browse, або вписуємо шлях до неї.

 

Крок 2:

Спочатку створимо сторінку для роботи з даними таблиці groups. Для цього відкриваємо Default.aspx у режимі дизайну. Перетягуємо з Server Explorer таблицю groups на форму. При цьому повинні відобразитися 2 елементи: GridView і SqlDataSource. Звернете увагу на маленьку кнопку з направленою управо стрілкою в правому верхньому кутку елементу GridView. Клацання на ній викликає панель редагування, що дозволяє форматувати елемент GridView і задавати деякі його властивості. Активуємо можливість редагування і видалення даних в таблиці, відзначивши пункти Enable Editing і Enable Deleting.

 

Крок 3:

Компілюємо і запускаємо застосування. Воно є повністю працездатним і дозволяє редагувати і видаляти інформацію в таблиці.

 

 

Крок 4:

Додамо на форму елементи управління, які дозволять







Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право...

ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между...

Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем...

Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.