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

ЛР 1 Основы Visual Studio

.pdf
Скачиваний:
14
Добавлен:
06.02.2016
Размер:
816.53 Кб
Скачать

2.3 Помилки у програмах

Помилки у програмі – один з неприємних, але неминучих моментів програмування. Помилки роблять усі – від початківців до досвідчених програмістів. Тому необхідно знати, як правильно знайти помилки й виправити їх.

Всі помилки можна розділити на два типи: помилки розробки й помилки часу виконання. Помилки розробки можна виявити, запустивши компілятор C# натисканням клавіші . Помилки часу виконання з'являються тільки тоді, коли програма почне виконуватися.

До помилок розробки можна віднести наступні:

синтаксичні помилки;

граматичні помилки;

структурні помилки;

логічні помилки.

Синтаксичні помилки – це порушення синтаксису мови. Граматичні помилки виникають в основному через неуважність

програміста.

Структурні помилки – це помилки такого типу, які з'являються в результаті некоректного написання структурних операторів (For без Next, If без Then, Select без Case та ін.). Всі ці помилки виявляються компілятором, що видає відповідне повідомлення.

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

при обчисленні вираження, що містить операцію ділення, у знаменнику значення змінної є таким, що дорівнює нулю, або занадто мале (наприклад 3*10е-2560);

аргумент функції логарифма або кореня квадратного негати-

вний;

при множенні виходить занадто велике число.

Після того, як Ви запустите компілятор, перше, що він зробить – це здійснить пошук помилок у Вашій програмі. При виявленні помилок процес компіляції припиняється, і на екрані з’явиться повідомлення (рис. 2.4), а у нижній частині вікна C# з'являється перелік помилок

21

(рис. 2.5).

Рисунок 2.4 – Повідомлення про помилку

Рисунок 2.5 – Перелік помилок

У цьому вікні розміщено таблицю, яка містить наступні стовпці: Описание – опис помилки, Файл – ім’я файлу, у якому виникла помилка, Строка – номер рядка, я якому є помилка.

Для розшифрування помилки натисніть клавішу . Опис помилки з’явиться у вікні допомоги (рис. 2.6).

Для того, щоб перейти до рядка, у якому є помилка, двічі натисніть ЛКМ на рядку з описом помилки. Налагоджувач автоматично перейде до рядка програми з помилкою.

22

Рисунок 2.6 – Опис помилки у вікні допомоги

2.4 Основи налагодження програм

Якщо у програмі є синтаксична або граматична помилка, компілятор вкаже на неї (див. п.2.3). Але якщо помилка є логічною або виявляється під час виконання програми, для її усунення треба виконати деякі дії.

Перший спосіб, який можна ефективно використовувати для налагодження простих програм – це налагодження у режимі «крок за кроком».

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

У меню Debug передбачені три команди для покрокового налагодження коду:

23

Крок із заходом (натискання F11);

Крок з обходом (натискання F10);

Крок з виходом.

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

При виклику вкладених функцій команда «Крок із заходом» дозволяє потрапити в найглибшу вкладену функцію. При використанні команди «Крок із заходом» у такому виклику, як Func1(Func2()), налагоджувач потрапить у функцію Func2.

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

Якщо додаток виконується, одержати доступ до команд «Крок» не можна. Покрокові команди доступні тільки в режимі переривання або до запуску додатка.

2.4.2 Використання точок зупинення

Точка зупинення повідомляє налагоджувач про те, що додаток повинен бути перерваний (виконання повинне бути тимчасово припинено) у певній точці або при виконанні певної умови. Коли відбувається переривання, говорять, що програма й налагоджувач переходять у режим переривання.

Налагоджувач Visual Studio припускає чотири типи точок зупи-

24

нення:

1.Точка зупинення функції виконує переривання виконання програми в заданому місці заданої функції.

2.Точка зупинення файлу виконує переривання виконання програми в заданому місці заданого файлу.

3.Точка зупинення, для якої задається конкретна адреса в коді, виконує переривання програми, коли її виконання досягає заданої адреси пам'яті.

4.Точка останова за даними викликає переривання програми при зміні значення деякої змінної.

Для забезпечення більшої функціональності й гнучкості, можна змінювати поводження точки останова, додаючи наступні властивості.

Властивість, що визначає, яку кількість разів точка зупинення повинна бути пройдена перед перериванням виконання. (За замовчуванням виконання програми переривається щораз при досягненні точки зупинення).

У вікнах вихідного коду точка останова відображається за допомогою виділення певним кольором тексту, у якому вона розташована, і відображення в лівому полі символу або глифа-малюнка (див.

табл. 2.1).

Таблиця 2.1 – Позначення точок зупинення

Глиф

Стан

Значення

 

 

 

 

 

Нормальна або активна точка зупинення. Ви-

 

Включена

значає місце, у якому виконання програми

 

буде перервано при виконанні параметрів

 

 

 

 

Condition і Hit count

 

 

 

 

 

Точка зупинення, що буде ігноруватися на-

 

Відключена

лагоджувачем. Вона не впливає на виконан-

 

 

ня доти, поки не буде включена знову

 

 

 

 

 

Точка зупинення не може бути задана, тому

 

Помилка

що місце розміщення або умова є неприпус-

 

 

тимими

 

 

 

25

Продовження таблиці 2.1

Глиф

Стан

Значення

 

 

 

 

 

Точка зупинення не може бути задана,

 

 

тому що код у даному місці не заванта-

 

Попередження

жується. Якщо код завантажується надалі

 

 

(наприклад, при завантаженні класу або

 

 

DLL), точка зупинення стає включеною

 

 

 

 

 

Точка зупинення задана в ASP-коді, і від-

 

Відображена

повідна точка зупинення задана в створе-

 

 

ній сторінці html

 

 

 

На рисунку 2.7 у якості приклада подано зовнішній вигляд точки останова у програмі.

Рисунок 2.7 – Приклад точки зупинення

Після того, як програму зупинено на точці зупинення, продовжити її виконання можна як у звичайному режимі, натиснувши F5, так і у режимі «крок за кроком», натиснувши F10 або F11.

ЗАВДАННЯ ДО ЛАБОРАТОРНОЇ РОБОТИ

1.Відкрийте Visual Studio.NET 2008.

2.Створіть новий проект C# типу Console Application. Назвіть проект Lab1_ПІБ, де ПІБ – Ваші ініціали. Збережіть його у СВОЇЙ ПАПЦІ на диску D.

3.Вивчить меню й панелі інструментів Visual Studio.NET 2008, для чого відкрийте та прогляньте усі команди меню та вікна.

УВАГА!!! Не змінюйте налагодження оболонки!

4.У редакторі коду наберіть текст програми, який подано нижче

26

// Проста програма на C# .NET

using

System;

 

using

System.Collections.Generic;

using

System.Linq;

 

using

System.Text;

 

namespace Lab1_PIB

 

{

 

 

class Lab1_PIB

 

{

 

 

 

static void Main(string[] args)

 

{ // Оголошуємо змінні

 

byte a, b;

int c;

 

string s;

float d, e, f;

//Уведення даних із клавіатури

Console.WriteLine("Уведіть a");

a = Convert.ToByte(Console.ReadLine()); Console.WriteLine("Уведіть b");

b = Convert.ToByte(Console.ReadLine());

//Розрахунок

c = a + b;

//Виведення результату обчислень

Console.WriteLine("c = a + b = " + c.ToString());

//Уведення даних із клавіатури

Console.WriteLine("Уведіть d"); d = (float)

Convert.ToDecimal(Console.ReadLine());

Console.WriteLine("Уведіть e");

e=

(float)Convert.ToDecimal(Console.ReadLine());

// Розрахунок

f= d - e;

// Виведення результату обчислень

Console.WriteLine("f = d - e = " + f.ToString()); // Чекаємо на натискання будь-якої клавіші

Console.ReadKey();

}

}

}

5. Запустіть програму на налагодження, натиснувши клавішу F5. Знайдіть помилки, запишіть їх у звіт. Ідентифікуйте помилки, ви-

27

значте причину їх виникнення. Усуньте помилки.

6. Виконайте програму два рази, уводячи тестові значення змінних, які подано у таблиці нижче.

 

 

Значення змінних для розрахунку №

 

 

 

 

 

 

 

 

 

 

 

 

Варіант

 

 

1

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

a

b

 

d

e

a

b

 

d

e

 

 

 

 

 

 

 

 

 

 

 

1

1

22

 

2.54

-4.9

10

250

 

12.4

2.97

 

 

 

 

 

 

 

 

 

 

 

2

2

44

 

9.74

-6.2

12

200

 

19.1

2.07

 

 

 

 

 

 

 

 

 

 

 

3

3

55

 

8.89

-2.3

16

220

 

10.6

1.08

 

 

 

 

 

 

 

 

 

 

 

4

4

66

 

7.51

-1.6

18

210

 

4.55

2.61

 

 

 

 

 

 

 

 

 

 

 

5

5

77

 

6.27

-4.4

22

200

 

22.8

1.68

 

 

 

 

 

 

 

 

 

 

 

6

6

88

 

2.49

-6.9

25

34

 

17.2

0.51

 

 

 

 

 

 

 

 

 

 

 

7

7

11

 

0.71

-9.6

28

26

 

4.68

1.05

 

 

 

 

 

 

 

 

 

 

 

8

8

15

 

8.57

-2.9

31

37

 

15.8

0.33

 

 

 

 

 

 

 

 

 

 

 

9

9

56

 

1.09

-1.9

34

16

 

21.9

1.20

 

 

 

 

 

 

 

 

 

 

 

10

10

67

 

9.70

-2.1

37

45

 

18.6

0.99

 

 

 

 

 

 

 

 

 

 

 

11

11

78

 

2.79

-4.9

40

46

 

2.23

1.69

 

 

 

 

 

 

 

 

 

 

 

12

12

89

 

6.42

-3.4

43

78

 

10.2

1.68

 

 

 

 

 

 

 

 

 

 

 

13

13

99

 

7.87

-7.4

46

87

 

15.8

1.39

 

 

 

 

 

 

 

 

 

 

 

14

14

21

 

5.59

-1.6

49

98

 

16.4

0.02

 

 

 

 

 

 

 

 

 

 

 

15

15

23

 

2.61

-7.2

52

45

 

0.83

2.66

 

 

 

 

 

 

 

 

 

 

 

16

16

45

 

0.49

-1.8

55

65

 

4.89

1.18

 

 

 

 

 

 

 

 

 

 

 

17

17

43

 

0.76

-2.6

58

63

 

6.78

2.84

 

 

 

 

 

 

 

 

 

 

 

18

18

53

 

1.12

-4.6

61

76

 

0.35

2.10

 

 

 

 

 

 

 

 

 

 

 

19

19

69

 

3.04

-2.6

64

87

 

5.05

0.59

 

 

 

 

 

 

 

 

 

 

 

20

20

98

 

6.41

-8.9

67

22

 

8.58

2.38

 

 

 

 

 

 

 

 

 

 

 

21

21

73

 

3.92

-4.9

70

11

 

13.8

1.47

 

 

 

 

 

 

 

 

 

 

 

22

22

42

 

6.27

-9.3

73

33

 

12.1

2.21

 

 

 

 

 

 

 

 

 

 

 

23

23

51

 

7.84

-9.5

76

44

 

14.6

0.63

 

 

 

 

 

 

 

 

 

 

 

24

24

79

 

7.64

-4.1

79

55

 

7.89

1.84

 

 

 

 

 

 

 

 

 

 

 

25

25

40

 

1.37

-8.8

82

66

 

22.8

2.82

 

 

 

 

 

 

 

 

 

 

 

28

ВИМОГИ ДО ЗВІТУ

Звіт оформляється на стандартних аркушах білого паперу формату А4 (210x297 мм). Текст пишеться з однієї сторони аркуша чорнилом синій або чорний кольори або друкується на принтері.

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

дані про студента: прізвище й ініціали, шифр групи;

тему й ціль роботи;

дату виконання роботи;

набір даних, необхідних для виконання роботи: завдання до роботи, код програми, короткі теоретичні відомості про функції й бібліотеки C#.NET, які використовувалися при підготовці звіту.

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

Звіт повинен бути виконаний акуратно. Неакуратно виконані звіти, а також ксерокопії чужих звітів або їхніх фрагментів до захисту не допускаються.

КОНТРОЛЬНІ ПИТАННЯ

1.Для чого призначено оболнку Visual Studio .NET?

2.Як запустити Visual Studio .NET?

3.Які види проектів можна створити за допомогою Visual Stu-

dio .NET?

4.Як створити новий проект? Як зберегти проект на диску?

5.Чому середовище розробки Visual Studio .NET називаються інтегрованим?

6.Які мови програмування дозволяє використовувати Visual Studio .NET?

7.Головне меню. Пункт «Файл». Склад та призначення команд.

8.Головне меню. Пункт «Правка». Склад та призначення ко-

манд.

9.Головне меню. Пункт «Вид». Склад та призначення команд.

29

10.Головне меню. Пункт «Построение». Склад та призначення

команд.

11.Головне меню. Пункт «Сервис». Склад та призначення ко-

манд.

12.Панелі інструментів Visual Studio .NET. Призначення.

13.Панель інструментів Стандартная. Склад команд та їх приз-

начення.

14.Панель інструментів Текстовій редактор. Склад команд та їх призначення.

15.Вікно конструктора форми. Призначення. Складові.

16.Вікно редактора коду. Основні засоби редагування тексту

програми.

17.Вікно управління проектом. Призначення та використання.

18.Що таке Code Insight та як його використовувати?

19.Для чого призначено структуризацію коду та як її викорис-

товувати?

20.Яким чином можна здійснювати переходи у тексті програ-

ми?

21.Які види помилок у програмах Ви знаєте? Коротко опишіть кожен вид.

22.Як виявити помилку у програмі. Як знайти її опис у довідці?

23.Виконання програми у режимі «крок за кроком». Для чого воно потрібно та як їм користатися?

24.Для чого потрібні точки зупинення та як їх використовува-

ти?

СПИСОК РЕКОМЕНДОВАНОЇ ЛІТЕРАТУРИ

1.Ивьен, Билл, Берес, Джейсон. C#.NET. Библия пользователя.: Пер. с англ.. – М.: Издательский дом «Вильямс», 2002. – 1024 с.: ил. – Парал. тит. англ.

2.Гросс, Кристиан C# 2008 : [пер. с англ.] / Кристиан Гросс . ─ СПб. : БХВ-Петербург, 2009 . ─ 551с. : ил. ─ ( Самоучитель ) .

30