Информатика в задачах, примерах, алгоритмах
.pdf
7. Циклы
255. Решить уравнение
log23 x − 6 log3 3x + 11 = 0
Ответ: x1 = 3, x2 = 243.
256. Решить уравнение |
|
|
|
|
|
|
|
|
|
4x −2 |
|
|
5 |
x |
|
7 |
|
|
= 1 |
+ 3 |
|
. |
|
4x |
− 3 5x |
|
|||||
|
|
|
4 |
|
|||
Ответ: x1 = –6,212567; x2 = –4,923343. 257. Решить уравнение
|
|
log |
1 |
|
x 2 |
+ |
11 |
|
+ |
1 |
log 1 |
(x +1) |
|
|
|
|
|
||||
= 3 5 |
|
|
|
|
|
|
|
|||
25 5 |
|
|
|
|
|
|
|
. |
||
Ответ: x = 0,31275. 258. Решить уравнение
log3 (2x − 5) + log3 (2x − 7) = 1.
Ответ: x = 3.
259. Решить уравнение

(2x − 3)2 − 
4 − 3x = 5 + x
Ответ: –1,666667. 260. Решить уравнение
22x +3 5x + 2 4x 5x +1 = 0,9.
Ответ: –1.
261. Решить уравнение
|
2 |
|
+ 4 log 4 |
|
x |
= 2 log 0,5 Sin |
π |
|
|
log |
4 |
x |
|
|
|
|
. |
||
|
4 |
||||||||
|
|
|
|
|
4 |
|
|
||
π = 3,141592654
Ответ: x1=0,000976, x2=4. 262. Решить уравнение
x +2
5 1−x = 
125
Ответ: –0,2.
91
Информатика в задачах, примерах, алгоритмах
263. |
Решить уравнение |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
log x 2 8 − log x 6 |
|
27 + log x 4 25 = −2. |
||||||||||||
Ответ: x1,2 = ± 0,523318 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
264. |
Решить уравнение |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
log2 (x + 3)2 |
|
+ log2 |
(x − 1)2 |
= |
2 |
. |
||||||||
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
log5 2 |
|
Ответ: x1 = –4, x2 = 2. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
265. |
Решить уравнение |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x −2 |
|||||
|
6 25x −1 − 10 9 x −1 |
= 135 81 |
|
|
|
− 75 25x −2 . |
|||||||||
|
2 |
|
|||||||||||||
Ответ: 2. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
266. |
Решить уравнение |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
= log8 |
1 |
|
|
|
|
||
|
log |
|
|
|
|
|
|
|
|
|
. |
|
|
||
|
|
|
|
|
|
4 |
|
|
|||||||
|
|
x |
|
5 |
|
5 |
|
|
|
|
|
||||
Ответ: x1 = 0,447214; x2 = 5.
8. Логика
Логика (от греческого logos — слово, понятие, рассуждение, разум) — одна из древнейших наук. Древнегреческий философ Аристотель (384—322 г. до н. э.) впервые систематизировал формы и правила мышления, тем самым заложив основы науки логики. Логика Аристотеля носит название формальной логики.
Основным объектом, с которым работает формальная логика, является логическое выражение — повествовательное предложение, о котором можно сказать, истинно оно или ложно.
Например:
январь в России — зимний месяц (истинно);
5 меньше 2 (ложно).
Задачи формальной логики решаются с помощью таблиц, строки которых соответствуют элементам одного из рассматриваемых в задаче условий, а столбцы — элементам других условий этой же задачи. Пересечение строк и столбцов дает комбинацию высказанных условий и ответ в виде вывода.
92
8. Логика
Пример. Встретились три подруги — Белова, Краснова и Чернова. На одной из них было черное платье, на другой - красное, на третьей — белое. Девочка в белом платье сказала Черновой: “Нам троим надо поменяться платьями, а то цвета наших платьев не соответствуют нашим фамилиям”. Кто в какое платье был одет?
Строим таблицу условия задачи. Цвета платьев не соответствовали фамилиям девочек — ставим минусы на пересечениях соответствующих строк и столбцов.
Девочка в белом платье — не Чернова (не может говорить сама себе) — минус в соответствующее пересечение.
|
|
|
Таблица 1 |
|
|
|
|
|
|
Фамилия |
|
Платье |
|
|
|
|
|
||
белое |
черное |
красное |
||
|
||||
|
|
|
|
|
Белова |
— |
|
|
|
|
|
|
|
|
Чернова |
— |
— |
|
|
|
|
|
|
|
Краснова |
|
|
— |
|
|
|
|
|
Анализируя столбец “Белое”, делаем заключения, что белое платье может быть только на Красновой. Из анализа строки “Чернова” следует, что на Черновой может быть только красное платье. Ставим плюсы в соответствующие графы.
|
|
|
Таблица 2 |
|
|
|
|
|
|
Фамилия |
|
Платье |
|
|
|
|
|
||
белое |
черное |
красное |
||
|
||||
|
|
|
|
|
Белова |
— |
|
|
|
|
|
|
|
|
Чернова |
— |
— |
+ |
|
|
|
|
|
|
Краснова |
+ |
|
— |
|
|
|
|
|
Анализируемые таблицы (таблица 1, таблица 2) имеют замеча- тельное свойство: в одной строке, как и в одном столбце, может быть только один плюс, то есть логическое выражение может быть истинным только в одном случае. Следовательно, красное платье не может быть на Беловой (действительно, по негласному соглашению, на каждой девочке только одно платье), а на Красновой не может быть черное платье. Таким образом получаем таблицу 3.
93
Информатика в задачах, примерах, алгоритмах
|
|
|
Таблица 3 |
|
|
|
|
|
|
Фамилия |
|
Платье |
|
|
|
|
|
||
белое |
черное |
красное |
||
|
||||
|
|
|
|
|
Белова |
— |
|
— |
|
|
|
|
|
|
Чернова |
— |
— |
+ |
|
|
|
|
|
|
Краснова |
+ |
— |
— |
|
|
|
|
|
Согласно этой же логике на Беловой может быть только черное платье. Ставим плюс в соответствующую графу. Получаем итоговую таблицу 4 и ответ: на Беловой — черное платье, на Черновой — красное, на Красновой — белое.
|
|
|
Таблица 4 |
|
|
|
|
|
|
Фамилия |
|
Платье |
|
|
|
|
|
||
белое |
черное |
красное |
||
|
||||
|
|
|
|
|
Белова |
— |
+ |
— |
|
|
|
|
|
|
Чернова |
— |
— |
+ |
|
|
|
|
|
|
Краснова |
+ |
— |
— |
|
|
|
|
|
Задачи
267. Коля, Боря, Вова и Юра заняли первые четыре места в спортивном соревновании. На вопрос, какие места они заняли, они ответили:
a)“Коля не занял ни первое, ни четвертое”;
b)“Боря занял второе место”;
c)“Вова не был последним”.
Какое место занял каждый мальчик?
Ответ: Вова — первое место, Боря — второе, Коля — третье, Юра — четвертое.
268. В кафе встретились три друга — Белов, Чернов и Рыжов. “Замечательно, что у всех у нас разный цвет волос, но ни у кого он не соответствует фамилии”, - заметил черноволосый. “Ты прав”, - сказал Белов. Какого цвета волосы у Рыжова?
Ответ: У Рыжова черные волосы.
94
8. Логика
269. Четыре юных филателиста — Митя, Толя, Саша и Петя — купили почтовые марки. Каждый из них покупал марки только одной страны, причем двое из них купили российские марки, один болгарские, а один — словацкие. Известно, что Митя и Толя купили марки двух разных стран. Марки разных стран купили Митя с Сашей, Петя с Сашей, Петя с Митей и Толя с Сашей. Кроме того известно, что Митя купил не болгарские марки. Какие марки купил каждый из мальчиков?
Ответ: Митя купил словацкие марки, Толя и Петя — российские, а Саша — болгарские марки.
270. Четыре человека взялись выполнять работу маляра, слесаря, кузнеца и штукатура — каждый будет делать что-то одно. Выяснилось, что Антон не будет маляром и не будет слесарем, Алексей не будет кузнецом и не будет маляром, Евгений не будет слесарем и не будет маляром, Дмитрий не будет кузнецом и не будет слесарем. Известно также, что если Антон не будет кузнецом, то Дмитрий не будет маляром. Кто какую работу будет выполнять?
Ответ: Антон — кузнец, Алексей — слесарь, Евгений — штукатур, Дмитрий — маляр.
271. Пятеро девушек поехали в отпуск каждая на своей машине. Все машины были разного цвета. Первой ехала на белой машине американка. За ней на “Тойоте” русская. За француженкой на голубой машине ехал желтый “Ситроен”. Замыкала колонну англи- чанка на фиолетовом “Форде”. “Плимут” был новее “Бьюика”, но менее мощный, поэтому он ехал в середине колонны, а полька восхитительно выглядела в своем брючном костюме. Одна из машин была зеленого цвета. Кто на какой машине ехал — указать цвет и марку.
Ответ: Американка — на белом “Бьюике”, русская на зеленой “Тойоте”, француженка — на голубом “Плимуте”, полька — на желтом “Ситроене”, англичанка на фиолетовом “Форде”.
8.1. Логические операции (булевы операции)
Отцом математической логики по праву считается английский математик XIX в. Джордж Буль (1815—1864гг.). Его именем назван раздел математической логики — булева алгебра. В математиче- ской логике также рассматриваются логические выражения (вы-
95
Информатика в задачах, примерах, алгоритмах
сказывания), но это необязательно высказывания “обычного че- ловеческого языка”. Это уже логическая величина, которая может принимать только два значения: истина èëè ëîæü. Обозначения этих величин: “1" или ”0"; “И” или “Л”; “True” или “False”.
Логические выражения в математической логике оперируют с логическими переменными. Логические переменные имеют в современных языках программирования тип Boolean, что означает — булева(я) или логическая. Логическая переменная в процессе выполнения программы может принимать только два значения — “True” или “False”. Определить логическую переменную можно, присвоив ей значение логического выражения, например: а = 5 < 0 или b = s$ > = q$. После такой записи переменные a и b будут логическими, то есть с ними можно будет осуществлять логические операции.
Логическое выражение — выражение, в котором присутствуют символы сравнения, такие как:
• = (равно)
•<> (не равно)
•< (меньше)
•> (больше)
•<= (меньше или равно)
•>= (больше или равно)
Например: ° a > b
° b < = a + 2–4/c ° 27 <= 8
Здесь a, b и c не являются логическими переменными. Такие
логические выражения называются простыми.
Логические выражения могут быть связаны знаками логиче- ских (булевых) операций. Пусть À è Â — логические высказывания (логические переменные).
|
|
|
|
Обозначение |
|
|
Название |
|
|
|
|
|
|
Булева алгебра |
Словесное |
Языки |
||||
|
||||||
|
программирования |
|||||
|
|
|
|
|
||
|
|
|
|
|
|
|
Отрицание À, |
|
|
|
Неверно, |
|
|
A èëè ←A |
NOT |
|||||
(íå À) |
÷òî À; íå À |
|||||
|
|
|
|
|||
|
|
|
|
|||
Конъюнкция (ло- |
^ èëè & |
A è B; êàê À, òàê |
|
|||
гическое умноже- |
|
|
À & B; |
AND |
||
|
|
è Â; À вместе с Â |
||||
íèå, À “è” Â) |
À ^ Â |
|
||||
|
|
|||||
|
|
|
|
|
|
|
96
8. Логика
|
|
|
|
Обозначение |
|
|
||
Название |
|
|
|
|
|
|
|
|
Булева алгебра |
|
Словесное |
|
Языки |
||||
|
|
|
||||||
|
|
|
программирования |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Дизъюнкция (ло- |
èëè + |
|
|
|
|
|
|
|
гическое сложе- |
À B |
|
À èëè Â |
|
OR |
|||
ние, включающее |
|
|
||||||
À + Â |
|
|
|
|
|
|
||
èëè, À “èëè” Â) |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
||
Исключающее |
À Â |
|
Èëè À, èëè Â; |
|
|
|||
или (строгая дизъ- |
|
À ËÈÁÎ Â; |
|
XOR |
||||
юнкция) |
|
|
|
ëèáî À, ëèáî Â |
|
|||
|
|
|
|
|
||||
|
|
|
À эквивалентно Â; |
|
||||
Эквиваленция |
À ↔ |
 |
À |
тогда |
è |
только |
EQV |
|
À |
 |
тогда, |
когда |
Â; |
||||
|
À |
необходимо |
è |
|
||||
|
|
|
|
|||||
|
|
|
достаточно для Â |
|
||||
|
|
|
|
|
||||
|
|
|
Åñëè À òî Â; Â åñ- |
|
||||
|
|
|
ëè À; Â необходи- |
|
||||
|
À → |
|
ìî äëÿ À; À доста- |
|
||||
Импликация |
 |
точно |
äëÿ |
Â, |
IMP |
|||
|
|
|
À |
только |
тогда, |
|
||
|
|
|
когда Â; Â тогда, |
|
||||
|
|
|
когда À |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Åñëè À è Â — логические переменные, а значение “истинно” обозначить за 1, “ложно” обозначить за 0, то таблица истинности следующая:
A |
B |
AND |
OR |
XOR |
EQV |
IMP |
|
|
|
|
|
|
|
1 |
1 |
1 |
1 |
0 |
1 |
1 |
|
|
|
|
|
|
|
1 |
0 |
0 |
1 |
1 |
0 |
0 |
|
|
|
|
|
|
|
0 |
1 |
0 |
1 |
1 |
0 |
1 |
|
|
|
|
|
|
|
0 |
0 |
0 |
0 |
0 |
1 |
1 |
|
|
|
|
|
|
|
Приоритет выполнения операций: при отсутствии скобок первой всегда выполняется операция отрицания, затем конъюнкция, дизъюнкция, импликация и в последнюю очередь — эквиваленция.
Составным логическим выражением называется логическое выражение, в котором присутствуют знаки логических операций.
97
Информатика в задачах, примерах, алгоритмах
Примеры.
Простое логическое выражение
1.Дан круг с радиусом R и точка с координатами (x, y). Определить, лежит ли точка внутри круга?
QÂasic
CLS |
|
INPUT “введите радиус круга ”; R |
'вводим радиус |
PRINT “Введите координаты точки” |
|
INPUT “x=”; x |
'вводим х |
INPUT “y=”; y |
'вводим у |
L = (x ^ 2 + y ^ 2) ^ (1 / 2) < R |
'простое логическое |
|
'выражение, L-логи- |
|
'ческая переменная |
IF L THEN PRINT “данная точка лежит внутри круга” ELSE PRINT “Нет”
В данном примере составлено простое логическое выражение 
x 2 + y 2 < R, и его значение присвоено логической переменной L.
Если условие выполняется, то L истинно (true), в противном слу- чае — ложно (false).
Составное логическое выражение
2.Даны три числа. Выяснить, существует ли треугольник с такими сторонами?
QÂasic
CLS
PRINT “Введите длины сторон треугольника”
INPUT “x=”; x |
'вводим х |
INPUT “y=”; y |
'вводим у |
INPUT “z=”; z |
'вводим z |
' Проверяем соотношение сторон |
|
L1 = x + y > z |
'простое логическое выражение |
L2 = x + z > y |
'простое логическое выражение |
L3 = y + z > x |
'простое логическое выражение |
L = L1 AND L2 AND L3 'составное логическое выражение
IF L THEN PRINT “такой треугольник существует” ELSE PRINT “Нет”
98
8. Логика
3.Даны три числа. Если среди них есть пара противоположных, то вывести третье число. В противном случае вывести текст — “противоположных чисел нет”.
QÂasic
CLS |
'чистим экран |
PRINT “введите три числа” |
|
INPUT “a=”; a |
|
INPUT “b=”; b |
|
INPUT “c=”; c |
|
L1= a = -b |
'первое логическое выражение |
L2= a = -c |
'второе логическое выражение |
L3= b = -c |
'третье логическое выражение |
LL= L1 OR L2 OR L3 |
'составное логическое выражение |
IF LL THEN |
|
IF L1 THEN PRINT c |
|
IF L2 THEN PRINT b |
|
IF L3 THEN PRINT a |
|
ELSE PRINT “противоположных чисел нет”
END IF
В данном алгоритме используется определение противоположных чисел: это такие числа, которые одинаковы по модулю, но имеют противоположные знаки.
4.Написать программу, которая вводит три числа и выводит их в порядке возрастания.
QÂasic
CLS 'чистим экран
PRINT “введите три числа”
INPUT “a=”; a |
|
INPUT “b=”; b |
|
INPUT “c=”; c |
|
L1= a < b AND b < c |
'a, b, c |
L2= a < c AND c < b |
'a, c, b |
L3= b < a AND a < c |
'b, a, c |
L4= b < c AND c < a |
'b, c, a |
L5= c < a AND a < b |
'c, a, b |
L6= c < b AND b < a |
'c, b, a |
99
Информатика в задачах, примерах, алгоритмах
IF L1 THEN PRINT a, b, c
IF L2 THEN PRINT a, c, b
IF L3 THEN PRINT b, a, c
IF L4 THEN PRINT b, c, a
IF L5 THEN PRINT c, a, b
IF L6 THEN PRINT c, b, a
Данный алгоритм приводится как наиболее простой и понятный. Использовать его для сортировки более, чем трех чисел вряд ли стоит. Более подробно сортировки рассматриваются в п.9 “Циклы и массивы”.
5.Алеша, Боря и Гриша нашли в земле сосуд. Рассматривая удивительную находку, каждый высказал по два предположения:
Алеша: Это сосуд греческий, изготовлен в V веке.
Борис: Это сосуд финикийский и изготовлен в III веке.
Гриша: Это сосуд не греческий и изготовлен в IV веке. Учитель истории сказал ребятам, что каждый из них прав толь-
ко в одном из двух своих предположений. Где и в каком веке изготовлен сосуд?
В высказывании каждого мальчика два простых логических выражения. Введем обозначения:
Lg — сосуд греческий;
Lf — сосуд финикийский;
L3 — сосуд изготовлен в III веке;
L4 — сосуд изготовлен в IV веке;
L5 — сосуд изготовлен в V веке.
Тогда высказывание Алеши можно записать следующим составным выражением:
Lg L5 = 1 — либо сосуд греческий, либо он изготовлен в V веке (по условию задачи, истинно только одно предположение).
Высказывание Бориса можно записать следующим составным выражением:
Lf L3 = 1.
Высказывание Гриши можно записать следующим составным выражением:
←Lg L 4= 1.
100
