Практическая работа № 38.
1. Краткие теоретические сведения.
Условия в алгоритмах могут быть простыми и составными. С простыми условиями мы уже встречались. Составные условия составляются из нескольких простых в одно условие и соединяются между собой связками: "и"(логическое умножение &), "или"(логическое сложение Ú), "не"(логическое отрицание). Например,
1. (a>5) и (b<12)
2. (a=3) или (b=3)
3. (есть билеты в кассе?) и (показывают интересный фильм?)
Если простые условия соединены связкой "и", то составное условие считается верным, если истинно каждое из простых условий.
Если простые условия соединены связкой "или", то составное условие считается верным, если истинно хотя бы одно из простых условий.
Составное условие не А истинно, если условие А ложно и наоборот.
Составное условие (a>5) и (b<12) верное (истина) для а=6 и b=10. Это условие ложь для а=6 и b=13.
Составное условие (a=3) и (b=3) верное (истина) для а=6 и b=3 и ложь для а=6 и b=13.
Логические операции в Бейсике изображаются служебными словами AND (и); OR (или) NOT(не). Применение составных условий делает программу более компактной, рационализирует сам процесс ее составления.
Пример 1. Даны три числа a, b, c. Составим алгоритм, позволяющий в случае, если существует треугольник со сторонами a, b, c, определить его площадь.
Решение. Как известно из геометрии,
треугольник со сторонами a, b, c существует в случае, если выполняются
неравенства треугольника: a + b > c, a + c > b, b + c > a. Площадь
треугольника по трем сторонам можно вычислить, используя формулу Герона:
алг Площадь треугольника вещ a, b, c, S
нач
ввод a, b, c
если a + b > c and a + c > b and b + c > a
то
;
вывод S
иначе вывод "таких треугольников не бывает"
все если
кон
10 REM Площадь треугольника
![]() |
30 IF A+B>C AND B+C>A AND A+C>B THEN GOTO 50
40 PRINT “Таких треугольников не бывает”: GOTO 80
50 P=(A+B+C)/2
60 S=SQR(P*(P-A)*(P-B)*(P-C))
70 PRINT “S=’;S
80 END
Пример 2 . Составить
блок-схему и программу для вычисления
значений функции с учетом того, что на
ноль делить нельзя.
![]() |
20 INPUT “X=”;X
30 IF X-3=0 OR 2*X-1 =0 THEN PRINT “Деление на 0”: GOTO 60
40 Y= (3*X)/(X-3)+(X+2)/(2*X-1)
50 PRINT “X=”;X,”Y=”;Y
60 END
Пример 2. Составить блок-схему и программу для вывода на экран таблицы значений функции y=six x для хÎ[0°;90°] с шагом 15°.
FOR Х=0 TO 90 STEP 15
Y= SIN(X*3.1415926/180)
PRINT “X=”;X,”Y=”;Y
NEXT X
END
2. Задания.
1. Внимательно изучите теоретический материал.
2. Запустите программу c:\QBasic\qbasic.exe.
3. Наберите программу, приведенную в примере 1. Выполните расчет для указанных в таблице 1 значений данных. По результатам выполнения программы заполните таблицу 1: Таблица 1.
|
a |
b |
c |
Результат |
а |
3 |
5 |
4 |
|
б |
2,5 |
3,7 |
6,3 |
|
в |
7,4 |
2,9 |
4,6 |
|
Сохраните созданный файл под именем pr38_1.bas в папку своей группы.
4. Исполните программу, приведенную в примере 2 для: а) х=0,5; б) х=3; в) х=3,5.
Результаты запишите в таблицу. Сохраните созданный файл под именем pr38_2.bas в папку своей группы.
5. Составьте блок-схему алгоритма и напишите программу для решения задачи:
Определить к какому из координатных углов плоскости принадлежит точка с координатами х, у. Используйте условия:
x>0 & y>0, точка принадлежит первому углу;
x<0 & y>0, точка принадлежит второму углу;
x<0 & y<0, точка принадлежит третьему углу;
x>0 & y<0, точка принадлежит третьему углу;
в остальных случаях точка лежит на одной из осей или совпадает с началом осей координат.
Исполните программу для :
а) х=2,4 у=-4,5 в) х=-2,1 у=1,5
б) х=4 у=2,3 г) х=-1,1 у=-3,5
Результат работы оформите в виде таблицы.
Вопросы:
1. При каких значениях х логические выражения будут истинны:
а) x<7 & x>2 б) x>3 Ú x<1 в) х=2 Ú х=3 Ú 214
2. Какие способы записи оператора IF…THEN…ELSE вы знаете?
3. Как изменить программу из пример 1, чтобы использовались только простые условия.
3. Оформление отчета:
1. Переписать виды составных условий, условия их истинности, пример программы и блок-схему из методического пособия в тетрадь.
2. Выполнить п.п. 2-5 задания.
3. Результаты вычислений задания п.5 оформить в виде таблицы.
4. Сохранить программу п.5 задания в каталоге своей группы под именем pr38_2.bas.
5. Дать ответы на вопросы задания и объяснить их.
4. Контрольные вопросы.
1. В чем преимущество использования составных условий в командах ветвления?
2. Какие способы ввода данных вы можете назвать?
3. Какие типы ветвления вы знаете?
4. При решении каких задач возникает необходимость использования команд ветвления?.
© ООО «Знанио»
С вами с 2009 года.