- •Содержание
- •Введение
- •Лабораторная работа № 1. Интерфейс среды программирования Borland Pascal 7.0
- •Установка и запуск системы
- •Интерфейс системы
- •Меню и команды
- •Пункт File:
- •Пункт Edit:
- •Пункт Search
- •Пункт Run
- •Пункт Compile
- •Пункт Debug
- •Пункт Options
- •Пункт Window
- •Пункт Help
- •Создание новой программы
- •Порядок выполнения работы
- •Лабораторная работа № 2. Линейные структуры
- •3. Стандартные арифметические функции:
- •Лабораторная работа № 3. Структуры ветвления
- •Использование средств отладки
- •1. Пошаговое выполнение программы
- •2. Просмотр значений переменных
- •3. Использование точек останова
- •Лабораторная работа № 4. Введение в циклы
- •Лабораторная работа № 5. Циклические структуры
- •Лабораторная работа № 6. Одномерные массивы
- •Лабораторная работа № 7. Многомерные массивы
- •Лабораторная работа № 8. Обработка символьных строк
- •Стандартные функции для обработки строк:
- •Лабораторная работа № 9. Функции и процедуры
- •Список литературы
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.
Задания для самостоятельного выполнения
Написать программу вычисления площади кольца. Программа должна проверять правильность исходных данных. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом):
Вычисление площади кольца. Введите радиус кольца (см) —> 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. Два прямоугольника заданы длинами их сторон. Выяснить можно ли первый прямоугольник целиком поместить во втором. Стороны прямоугольников параллельны.
