Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по программированию.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
618.5 Кб
Скачать

3. Использование точек останова

Пошаговый режим удобен в том случае, если программа небольшая. Для больших программ количество шагов оказывается настолько велико, что практически невозможно проследить пошаговый ход ее выполнения от начала до конца. Но пошаговый режим незаменим при отладке программы, особенно на тех ее участках, где она работает неверно. Поэтому поступают следующим образом. Отлаженные участки выполняются обычным «сквозным» способом, а не отлаженные пошаговым. Для этого на первом операторе интересующего нас не отлаженного участка устанавливается точка останова (команда Debug –> Add breakpoint), после чего программа запускается на выполнение (команда Run -> Run), которое будет происходить в обычном режиме до тех пор, пока не будет достигнут оператор с установленной на нем точкой останова. Выполнение приостанавливается. После этого можно пошагово «пройти» интересующий участок, а затем либо продолжить «сквозное» выполнение (команда Run -> Run), либо прервать программу (команда Run -> Program reset). Точек останова может быть несколько, и программа будет приостанавливаться каждый раз, когда достигнет какой-либо из них.

Задание: проверить работу точек останова на примере:

1. Набрать программу – пример.

2. Установить курсор в строку с оператором if и поставить на нем точку останова (команда Debug -> Add breakpoint).

3. Запустить программу на выполнение (команда Run -> Run). Достигнув оператора if, выполнение программы должно приостановиться.

4. Завершить ее выполнение в пошаговом режиме (команда Run -> Step over).

5. Отменить точку останова (команда Debug –> Breakpoints).

6. Запустить программу (команда Run -> Run) – она выполнится без остановок до конца.

Примеры выполнения задач

Задача 1. Переменные A, B, C имеют положительные значения. Определить можно ли построить треугольник с длинами сторон A, B, C.

Напоминание: треугольник можно построить если сумма длин двух любых его сторон больше длины третьей стороны.

Система тестов:

Значении A

Значение B

Значение C

Результаты

1

1

7

1

Построить нельзя

2

2

0

1

Построить нельзя

3

2

2

2

Построить можно

4

5

3

4

Построить можно

Решение задачи:

Program Treugoln_suchestvuet;

var

a, b, c:real;

begin

Writeln(' Введите стороны треугольника a, b, c');

Readln(a, b, c);

if (a+b>c) and (c+b>a) and (a+c>b) then

writeln(' Построить можно')

else

writeln(' Построить нельзя');

readln;

readln;

end.

Задача 2. Даны координаты точки (x, y). Определить, в какой четверти координатной плоскости находится точка, и напечатать номер четверти.

Система тестов:

Значение x

Значение y

Результаты

1

0

0

Точка в центре

2

2

0

Точка на оси Ox

3

0

2

Точка на оси Oy

4

2

3

Первая

4

-2

2

Вторая

5

-2

-2

Третья

6

3

-1

Четвертая

Решение задачи:

Program Points;

var

x, y: real;

begin

Writeln(' Введите координаты');

Readln(x, y);

if (x=0) and (y=0) then

writeln(' Точка в центре');

if (x<>0) and (y=0) then

writeln(' Точка на оси Ox');

if (x=0) and (y<>0) then

writeln(' Точка на оси Oy');

if (x>0) and(y>0) then

writeln(' Первая');

if (x<0) and(y>0) then

writeln(' Вторая');

if (x<0) and(y<0) then

writeln(' Третья');

if (x>0) and(y<0) then

writeln(' Четвертая');

readln;

end.

Задача 3. Решить квадратное уравнение ах2+Ьх+с=0.

Система тестов:

Проверяемый случай

Коэффициенты

Результаты

а

b

с

1

d>0

1

-5

6

X1 = 3, х2 = 2

2

d=0

1

2

1

Корни равны: x1 = -1, х2= -1

3

d<0

4

2

1

Действительных корней нет

4

а=0, b=0, c=0

0

0

0

Все коэффициенты равны нулю, х – любое число.

5

а=0, b=0, c≠0

0

0

2

Неправильное уравнение

6

а=0, b≠0, c≠0

0

4

1

Линейное уравнение. Один корень: х = -0,25

7

а≠0,b≠0,с=0

4

1

0

X1 = 0, х2 = -0,25

Решение задачи:

Program Kvadratnoe_uravnenie;

Var

a, b, с, d, x1, x2 : Real;

begin

Writeln(' Введите коэффициенты уравнения a, b, c ');

Readln(a,b,c);

if (a=0) and (b=0) and (c=0) then

Writeln(' Bce коэффициенты равны нулю.

x — любое число. ');

if (a=0) and (b<>0) then

Writeln(' Линейное уравнение.

Один корень: х= ' , (-с/b):6:2);

if (a=0) and (b=0) and (c<>0) then

Writeln('Heпpaвильнoe уравнение. ');

if (a<>0) then

begin

D:= b*b - 4*a*c;

if D > 0 then

begin

x1:=(-b+Sqrt(D)) / (2*a);

x2:=(-b- Sqrt(D)) / (2*a);

WriteLn('x1=',x1:6;2 ,' x2=',x2:6:2);

End;

if D = 0 then

Writeln('Kopни равны: x1=x2=', -b/(2*a):6:2);

if D < 0 then

WriteLn(' Дeйcтвитeльныx корней нет. ');

end;

ReadLn;

end.

Задания для самостоятельного выполнения

  1. Написать программу вычисления площади кольца. Программа должна проверять правильность исходных данных. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом):

Вычисление площади кольца. 
Введите радиус кольца (см) —> 3.5
Радиус отверстия (см) —> 7
Ошибка! Радиус отверстия не может быть больше радиуса кольца.

2. Написать программу вычисления стоимости покупки с учетом скидки. Скидка в 10% предоставляется, если сумма покупки больше 1000 руб. Ниже представлен рекомендуемый вид экрана во время работы программы:

Вычисление стоимости покупки с учетом скидки.
Введите сумму покупки и нажмите <Enter> -> 1200
Вам предоставляется скидка 10%
Сумма покупки с учетом скидки: 1080.00 руб.

3. Написать программу вычисления стоимости покупки с учетом скидки. Скидка в 3% предоставляется в том случае, если сумма покупки больше 500 руб., в 5% — если сумма больше 1000 руб.

Рекомендуемый вид экрана во время работы программы:

Вычисление стоимости покупки с учетом скидки.
Введите сумму покупки и нажмите <Enter> -> 640
Вам предоставляется скидка 3%
Сумма покупки с учетом скидки: 620.80 руб.

4 . Определить, являются ли значения целочисленных перемен­ных N и М кратными 3. Если оба значения кратны 3, то вычислить их сумму, в противном случае - разность.

5. Даны целые числа x, y. Если числа не равны, то заменить каждое из них одним и тем же числом, равным большему из исходных, а если равны, то единицей.

6. Выяснить, принадлежит ли точка с координатами (x,y) квадрату со стороной A и с центром в начале координат.

7. Даны два целых числа x и y. Если x четное число и Y не четное число то оба эти числа заменить мх модулями. Если x положительное нечетное число и Y положительное четное число то оба эти числа увеличить на 2. Во всех остальных случаях числа оставить без изменения.

8. Выяснить, принадлежит ли точка с координатами (x,y) области, ограниченной окружностью x +y =10 и параболой y=x .

9. Даны значения a,b и c. Удвоить эти числа, если a>b>c, и заменить их абсолютными значениями, если это не так.

10. Отсортировать значения переменных a,b,c по возрастанию.

11. Даны действительные числа a, b, c и x, y. Выяснить, пройдет ли кирпич с ребрами a,b,c в прямоугольное от­верстие со сторонами x и y.

12. Дано целое трехзначное число. Определить, все ли цифры этого числа различны.

13. Выяснить поместится ли квадрат со стороной А внутрь окружности радиусом R и если он не помещается, то выяснить поместится ли окружность внутрь квадрата.

14. Переменные X,Y,Z имеют положительные значения. Определить можно ли построить треугольник с длинами сторон X,Y,Z. И если можно, токаой он получится: прямоугольный, остроугольный или тупоугольный.

15. Даны числа а1,в1,с1,а2,в2,с2. Напечатать координаты точки пересечения прямых, описываемых уравнениями а1х+в1y=c1 и а2х+в2y=с2, либо сообщить, что эти прямые совпадают, или не пересекаются.

16. Выяснить, принадлежит ли точка с координатами (x,y) области, ограниченной окружностью x^2+y^2=r и параболой y=1/x .

17. Выяснить, принадлежит ли точка с координатами (x,y) области, ограниченной кривой y=sqrt(x) и x=3.

18. Выяснить можно ли построить треугольник из отрезков с длинами a,b,c и если треугольник существует, выяснить является ли он тупоугольным или прямоугольным.

19. Выяснить поместится ли прямоугольник со сторонами А и В внутрь окружности радиусом R и если он не помещается, то выяснить поместится ли окружность внутрь квадрата.

20. Заданы площади круга и квадрата. Определить поместится ли квадрат внутрь круга

21. Определить, есть ли среди цифр заданного четырехзначного числа одинаковые.

22. Выяснить, можно ли построить параллелограмм из отрезков с длинами a,b,c,d.

23. Выбрать наибольшее из трех заданных чисел.

24. Два прямоугольника заданы длинами их сторон. Выяснить можно ли первый прямоугольник целиком поместить во втором. Стороны прямоугольников параллельны.