Міністерство освіти і науки,
Національний університет «Львівська Політехніка»
Кафедра ЕОМ
/
Лабораторна робота №5
з дисципліни «Програмування, частина 1(Основи алгоритмізації та програмування)»
на тему:
«Засоби вiдлагодження iнтегрованого середовища Visual C++ 2013: точки переривання, покрокове виконання. Розв'язування на С задач, в яких використовуються числовi масиви та визначення i виклик функцiй»
Мета роботи: Познайомитися iз основними засобами вiдлагодження iнтегрованого середовища Visual C++ 2013, iз засобами опису функцiй та виклику їх в мовi програмування С.
Хід роботи:
1) Короткий опис засобiв вiдлагодження iнтегрованого середовища Visual C++ 2013, з якими я познайомився у цiй лабораторнiй роботi.
У Visual Studio основними засобами від лагодження є такі:
точки переривання;
покрокове виконання програми;
вiкно спостереження за змiнними класу auto;
вiкно спостереження за локальними змiнними;
вiкно спостереження за змiнними чи виразами (вiкно Watch).
Точка переривання - це мiсце в програмi, в якiй виконання програми буде призупинине. В програмi можна встановити довiльну кiлькiсть точок переривання.
При покроковому виконаннi за одне натискання на вiдповiдну клавiшу покрокового виконання виконується один "крок" програми. "Кроком" вважається один рядок програми, якщо у цьому рядку розмiщається один чи декiлька оператолрiв програми, або декiлька рядкiв, якщо оператор записаний у декiлькох рядках. У вiдлагоджувачi є два режими покрокового виконання: Step into i Step over. Рiзниця мiж ними полягає у способi трасування пiдпрограм. Коли виконується Step into i у поточному рядку зустручається звертання до функцiї, починається трасування операторiв цiєї функцiї, коли виконується Step over трасування операторiв функцiї не здiйснюється, всi її оператори виконуються в поточному кроцi.
Точку переривання можно створити наступним чином:
перемiстити курсор в те мiсце програми, де необхiдно встановити точку переривання ;
натиснути на клавiшу F9.
Для виконання програми в покроковому режимi використовуються клавiшi F10 (Step over) чи F11 (Step into). Якщо пiд час трасування ми потрапили в оператори функцiї, а трасування її операторiв нам не потрiбне, то можна з допомогою клавiш Shift+F11 (Step out) припинити трасування операторiв функцiї таким чином якби це виконувалося трасування в режимi Step over.
2) Індивiдуальнi завдання (Варіант 11).
Індивiдуальне завдання 1.
Задані натуральні числа a, b, c. Отримати S(a) + S(b) + S(c), де S(х) - функція, яка обчислює суму цифр десяткового представлення натурального числа х.
Текст програми:
#include <stdio.h>
#include <iostream>
#include <stdlib.h>
int S(int n)
{
int sum = 0, i = 0, res;
while (n != 0)
{
res = n % 10;
n = n / 10;
sum = sum + res;
}
return sum;
}
void main() {
int a=12, b=13, c=14;
int sum = 0;
sum = S(a) + S(b) + S(c);
printf("Suma = %d\n", sum);
system("pause");
}
/
Рис.1. Результат роботи програми.
Індивiдуальне завдання 2.
Задані дійсні числа x1, x2, . . . , x25. Чи кількість від’ємних членів цієї послідовності більша за кількість додатних, і на скільки?
Текст програми:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void main() {
int A[25], d, v, r=0,k ;
srand(time(NULL));
d = 0;
v = 0;
printf("Vuvodumo masuv:");
for (int i = 0; i < 25; i++){
if (i % 2 == 0){
A[i] = -(rand() % 10);
}
else A[i] = rand() % 10;
printf("\nA[%d] = %d", i+1, A[i]);
}
for (int i = 0; i < 25; i++){
if (A[i] < 0) v++;
else if(A[i] >=0) d++;
}
r = abs(d - v);
if (d < v)
printf("\nDodatnih menhe na %d\n\n", r);
else printf("\nDodatnih bilhe na %d\n\n", r);
system("pause");
}
/
Рис.2. Результат роботи програми.
Висновок: У даній лабораторній роботі я познайомитися з основними засобами вiдлагодження iнтегрованого середовища Visual C++ 2013, з засобами опису функцiй та виклику їх в мовi програмування С.