Что такое следование в информатике
2) Логическое сложение или дизъюнкция:
Таблица истинности для дизъюнкции
| A | B | F |
| 1 | 1 | 1 |
| 1 | 0 | 1 |
| 0 | 1 | 1 |
| 0 | 0 | 0 |
3) Логическое отрицание или инверсия:
Таблица истинности для инверсии
| A | ¬ А |
| 1 | 0 |
| 0 | 1 |
4) Логическое следование или импликация:
«A → B» истинно, если из А может следовать B.
Обозначение: F = A → B.
Таблица истинности для импликации
| A | B | F |
| 1 | 1 | 1 |
| 1 | 0 | 0 |
| 0 | 1 | 1 |
| 0 | 0 | 1 |
5) Логическая равнозначность или эквивалентность:
Основные логические операции
Логические операции в создании компьютерных программ — действия, которые производятся над входными данными. Такие функции производятся над сигналами булевского типа, то есть над примитивными выражениями, имеющими только два возможных значения: истина или ложь.
Виды операций
В программировании выделяют следующие виды функций:
Логическое умножение (конъюнкция)
Конъюнкция — это действие, в результате которого каждым двум входным данным соответствует одно новое высказывание. Истинное значение на выходе получается, когда оба входных значения истинны.
Осторожно! Если преподаватель обнаружит плагиат в работе, не избежать крупных проблем (вплоть до отчисления). Если нет возможности написать самому, закажите тут.
Таблица истинности для логического умножения выглядит так:
A, B — исходные данные;
A и B — значение, приобретаемое в результате реализации конъюнкции.
Из таблицы следуют свойства логического умножения:
Логическое сложение (дизъюнкция)
Дизъюнкция — это булева функция, в итоге которой выходные данные будут ложными только при ложности всех исходных выражений.
Таблица истинности логического сложения:
A, B — входная информация;
A или B — значение, приобретаемое в результате выполнения дизъюнкции.
Для дизъюнкции справедливы следующие утверждения:
Логическое отрицание (инверсия)
Инверсия — выражение, ставящее в соответствие одному значению противоположное.
Условное обозначение логического отрицания: с помощью частицы «не», символов ¯, \(\neg.\)
Таблица истинности инверсии:
A — исходные данные;
не A — значение, приобретаемое в результате логического отрицания.
Логическое следование (импликация)
Импликация — это булева операция, ложная лишь тогда, когда первая исходная переменная является истиной, а вторая — ложью.
Следование записывается с помощью знака \(\rightarrow.\)
Таблица истинности для импликации:
A — входная информация, означающая условие;
B — входная информация, означающая следствие;
A → B — значение, приобретаемое в результате импликации.
По своему употреблению данная связка схожа со значением союзов «если. то. ».
Логическая равнозначность (эквивалентность)
Эквивалентность — выражение, являющееся истинным лишь в случае равенства двух входных элементов.
Таблица истинности для равнозначности:
Стрелка Пирса
Стрелка Пирса — двухместное логическое действие со следующей последовательностью: сначала над исходными показаниями производится дизъюнкция, затем происходит отрицание полученного результата.
Данная манипуляция является отрицание логического сложения. Свое название рассматриваемая функция получила от своего автора — американского ученого Чарльза Пирса.
Таблица истинности для этой операции следующая:
Особенность стрелки Пирса заключается в ее возможности строить другие булевы функции.
Пример
Штрих Шеффера
Штрих Шеффера — это действие, приводящее к ложному итогу лишь при истинности обоих исходных данных. По порядку выполнения операций эта функция эквивалентна отрицанию конъюнкции.
Символ Шеффера назван по фамилии своего создателя — американского логика Генри Шеффера — и обозначается посредством знака \(\vert.\)
Таблица истинности для данной функции:
С помощью штриха Шеффера можно воспроизвести другие логические манипуляции.
Пример
Порядок выполнения операций
В составном логическом выражении действия выполняются в такой последовательности:
Для построения нужного порядка, как и в математических выражениях, используют скобки.
Ключевые слова:
• следование
• ветвление
• повторение
• линейные алгоритмы
• разветвляющиеся алгоритмы
• циклические алгоритмы
Человеку в жизни приходится решать множество различных задач. Решение каждой из них описывается своим алгоритмом, и разнообразие этих алгоритмов очень велико. Вместе с тем для записи любого алгоритма достаточно трёх основных алгоритмических конструкций (структур): следования, ветвления, повторения. Это положение выдвинул и доказал Э. Дейкстра в 70-х гг. прошлого века.
2.4.1. Следование

Графическое представление алгоритмической конструкции «следование» приведено на рис. 2.8.
Рис. 2.8. Алгоритмическая конструкция «следование»
Пример 1. Линейный алгоритм приготовления отвара шиповника.
Обратите внимание, что многие из предписаний этого алгоритма могут потребовать детализации — представления в виде некоторой совокупности более мелких предписаний.
Пример 2. У исполнителя Робот есть четыре команды перемещения ( вверх, вниз, влево и вправо ), при выполнении каждой из них Робот перемещается на одну клетку в соответствующем направлении. По команде закрасить Робот закрашивает клетку, в которой он находится. Запишем линейный алгоритм, исполняя который Робот нарисует на клетчатом поле следующий узор и вернётся в исходное положение, обозначенное звёздочкой:
Пример 3. Дан фрагмент линейного алгоритма:
Выясним, какое значение получит переменная s после выполнения этого фрагмента алгоритма. Для этого составим таблицу значений переменных, задействованных в алгоритме:
Составленная нами таблица значений переменных моделирует работу исполнителя этого алгоритма.
Пример 4. Некоторый исполнитель может выполнять над целыми числами кроме операций сложения, вычитания, умножения и деления ещё две операции: с помощью операции div вычисляется целое частное, с помощью операции mod — остаток.
Например: 5 div 2 = 2; 5 mod 2 = 1; 2 div 5 = 0; 2 mod 5 = 2.
Покажем, как с помощью этих операций можно реализовать алгоритм работы кассира, выдающего покупателю сдачу (s) наименьшим количеством банкнот по 500 (k500), 100 (k100), 50 (k50) и 10 (k10) рублей.
Исполните алгоритм для s = 745 и s = 1864. Составьте соответствующие таблицы значений переменных.
Ознакомьтесь с имеющимся в Единой коллекции цифровых образовательных ресурсов модулем для коллективной работы «Линейные алгоритмы» (217039). Совместно с друзьями постарайтесь составить алгоритмы для имеющихся в модуле задач. Пройдите тестирование.
2.4.2. Ветвление

Блок-схема ветвления представлена на рис. 2.9. Каждая ветвь может быть любой степени сложности (рис. 2.9, а), а может вообще не содержать предписаний (рис. 2.9, б).
Рис. 2.9. Структура «ветвление»: а — полная форма ветвления; б — неполная форма ветвления
На алгоритмическом языке команда ветвления записывается так:
Для записи условий, в зависимости от результатов проверки которых выбирается та или иная последовательность действий, используются операции сравнения:
А В — А больше В;
А>=В — А больше или равно В;
А<>B — А не равно В.
Здесь буквы А и В можно заменять на любые переменные, числа и арифметические выражения. Приведённые операции сравнения допускаются и для символьных переменных.
Пример 7. Алгоритм вычисления функции f(x) = |x| для произвольного числа х.
Обратите внимание на второй блок этой блок-схемы. В нём представлены имена и типы величин (данных), обрабатываемых в алгоритме.
Условия, состоящие из одной операции сравнения, называются простыми. В качестве условий при организации ветвлений можно использовать и составные условия. Составные условия получаются из простых с помощью логических связок and (и), or (или), not (не): and означает одновременное выполнение всех условий, or — выполнение хотя бы одного условия, a not означает отрицание условия, записанного за словом not.
Пример 8. Алгоритм определения принадлежности точки х отрезку [а, b]. Если точка х принадлежит данному отрезку, то выводится ответ ДА, в противном случае — НЕТ.

Пример 9. Алгоритм, в котором переменной У присваивается значение большей из трёх величин А, В и С.
Пусть А = 10, В = 30 и С = 20. Тогда процесс выполнения алгоритма можно представить в следующей таблице:
Пример 10. Алгоритм решения линейного уравнения ax + b = 0.
Пример 11. Исполнитель Робот может выполнять ту или иную последовательность действий в зависимости от выполнения следующих простых условий:
Также Робот может действовать в зависимости от выполнения составных условий.
Подумайте, в какую клетку переместится Робот из клетки, обозначенной звёздочкой, при выполнении следующего фрагмента алгоритма.

Ознакомьтесь с размещённым в Единой коллекции цифровых образовательных ресурсов модулем для коллективной работы «Алгоритмы с ветвящейся структурой» (217044). Совместно с друзьями постарайтесь составить алгоритмы для имеющихся в модуле задач. Пройдите тестирование.
2.4.3. Повторение

В зависимости от способа организации повторений различают три типа циклов:
1) цикл с заданным условием продолжения работы;
2) цикл с заданным условием окончания работы;
3) цикл с заданным числом повторений.
Цикл с заданным условием продолжения работы (цикл-ПОКА, цикл с предусловием). Логика работы этой конструкции описывается схемой, показанной на рис. 2.10.
Рис. 2.10. Цикл с предусловием
На алгоритмическом языке эта конструкция записывается так:
Выполняется цикл-ПОКА следующим образом: 1) проверяется условие (вычисляется значение логического выражения); 2) если условие удовлетворяется (Да), то выполняется тело цикла и снова осуществляется переход к проверке условия; если же условие не удовлетворяется, то выполнение цикла заканчивается. Возможны случаи, когда тело цикла не будет выполнено ни разу.
Пример 12. Алгоритм, по которому из всех имеющихся кирпичей отбираются целые кирпичи и складываются в машину.
Пример 13. Правее Робота (клетка со звёздочкой) расположен коридор неизвестной длины. Необходимо, чтобы Робот закрасил все клетки этого коридора.
Пока будет выполняться условие справа свободно, Роботу следует выполнять команды:
Соответствующий алгоритм для Робота будет иметь вид:
нц пока справа свободно
вправо
закрась
кц
Пример 14. Требуется, не пользуясь операцией деления, получить частное q и остаток r от деления натурального числа х на натуральное число у.
Представим операцию деления как последовательные вычитания делителя из делимого. Причём вычитать будем до тех пор, пока результат вычитания не станет меньше вычитаемого (делителя). В этом случае количество вычитаний будет равно частному от деления q, а последняя разность — остатку от деления r.
Исполним этот алгоритм для х = 23 и у = 5.
Ознакомьтесь с размещённым в Единой коллекции цифровых образовательных ресурсов модулем для коллективной работы «Циклические алгоритмы с предусловием» (217033). Совместно с друзьями постарайтесь составить алгоритмы для имеющихся в модуле задач. Пройдите тестирование.
Цикл с заданным условием окончания работы (цикл-ДО, цикл с постусловием). Логика работы этой конструкции описывается схемой, показанной на рис. 2.11.
Рис. 2.11. Цикл с постусловием
На алгоритмическом языке эта конструкция записывается так:
нц
кц при
Выполняется цикл-ДО следующим образом: 1) выполняется тело цикла; 2) проверяется условие (вычисляется значение логического выражения); если условие не удовлетворяется («Нет»), то снова выполняется тело цикла и осуществляется переход к проверке условия; если же условие удовлетворяется, то выполнение цикла заканчивается. В любом случае тело цикла будет выполнено хотя бы один раз.
Пример 15. Алгоритм по выучиванию наизусть четверостишия, алг четверостишие нач нц прочитать четверостишие по книге 1 раз рассказать четверостишие кц при не сделал ошибку кои
Пример 16. Вычислим значение переменной b согласно следующему алгоритму:
Составим таблицу значений переменных, задействованных в алгоритме:
Пример 17. Спортсмен приступает к тренировкам по следующему графику: в первый день он должен пробежать 10 км; каждый следующий день следует увеличивать дистанцию на 10% от нормы предыдущего дня. Как только дневная норма достигнет или превысит 25 км, необходимо прекратить её увеличение и далее пробегать ежедневно ровно 25 км. Начиная с какого дня спортсмен будет пробегать 25 км?
Пусть х — количество километров, которое спортсмен пробежит в некоторый i-й день. Тогда в следующий (i + 1)-й день он пробежит х + 0,1x: километров (0,1x — это 10% от х).
Ознакомьтесь с размещённым в Единой коллекции цифровых образовательных ресурсов модулем для коллективной работы «Циклические алгоритмы с постусловием» (217037). Совместно с друзьями постарайтесь составить алгоритмы для имеющихся в модуле задач. Пройдите тестирование.
Цикл с заданным числом повторений (цикл-ДЛЯ, цикл с параметром). Логика работы этой конструкции описывается схемой, показанной на рис. 2.12.
Рис. 2.12. Цикл с параметром
На алгоритмическом языке эта конструкция записывается так:
нц для i от i1 до i2 шаг R
кц
В цикле-ДЛЯ всегда есть параметр цикла — величина целого типа, изменяющаяся в ходе выполнения цикла от своего начального значения i1 до конечного значения i2 с шагом R.
Выполняется цикл-ДЛЯ следующим образом: 1) параметру цикла присваивается начальное значение; 2) параметр цикла сравнивается с конечным значением; если параметр цикла не превышает конечное значение, то выполняется тело цикла, увеличивается значение параметра цикла на шаг и снова осуществляется проверка параметра цикла; если же параметр цикла превышает конечное значение, то выполнение цикла заканчивается.
Если величина шага в цикле с параметром равна единице, то шаг не указывают. Мы ограничимся рассмотрением именно таких циклов.
В отличие от двух предыдущих конструкций (цикл-ПОКА, цикл-ДО) цикл-ДЛЯ имеет строго фиксированное число повторений, что позволяет избежать зацикливания, т. е. ситуации, когда тело цикла выполняется бесконечно.
Пример 18. Алгоритм переправы через реку воинского отряда из пяти человек. Солдаты могут воспользоваться помощью двух мальчиков — хозяев небольшой лодки, в которой может переправиться или один солдат, или два мальчика.
Пример 19. Составим алгоритм вычисления степени с натуральным показателем п для любого вещественного числа а.
При составлении алгоритма воспользуемся единой формулой, в которой число умножений равно показателю степени:
Исполним этот алгоритм для a = 4 и n = 3.
Пример 20. Для исполнителя Робот цикл с известным числом повторений реализуется с помощью следующей конструкции:
нц pas
кц
Так, если правее Робота не встретится препятствий, то, выполнив приведённый ниже алгоритм, он переместится на пять клеток вправо и закрасит эти клетки:
Ознакомьтесь с размещённым в Единой коллекции цифровых образовательных ресурсов модулем для коллективной работы «Циклические алгоритмы с параметром» (217024). Совместно с друзьями постарайтесь составить алгоритмы для имеющихся в модуле задач. Пройдите тестирование.
САМОЕ ГЛАВНОЕ
Для записи любого алгоритма достаточно трёх основных алгоритмических конструкций (структур): следования, ветвления, повторения.
Следование — алгоритмическая конструкция, отображающая естественный, последовательный порядок действий. Алгоритмы, в которых используется только структура «следование», называются линейными.
Ветвление — алгоритмическая конструкция, в которой в зависимости от результата проверки условия («да» или «нет») предусмотрен выбор одной из двух последовательностей действий (ветвей). Алгоритмы, в основе которых лежит структура «ветвление», называют разветвляющимися.
Повторение — алгоритмическая конструкция, представляющая собой последовательность действий, выполняемых многократно. Алгоритмы, содержащие конструкцию «повторение», называют циклическими или циклами. Последовательность действий, многократно повторяющаяся в процессе выполнения цикла, называется телом цикла. В зависимости от способа организации повторений различают три типа циклов:
1) цикл с заданным условием продолжения работы;
2) цикл с заданным условием окончания работы;
3) цикл с заданным числом повторений.
Вопросы и задания
1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Используйте эти материалы при подготовке ответов на вопросы и выполнении заданий.
2. Какие алгоритмы называются линейными?
3. Приведите пример линейного алгоритма:
а) из повседневной жизни;
б) из литературного произведения;
в) из любой предметной области, изучаемой в школе.
4. Запишите линейный алгоритм, исполняя который Робот нарисует на клетчатом поле следующий узор и вернётся в исходное положение:
5. По алгоритму восстановите формулу.
6. Какое значение получит переменная у после выполнения алгоритма?
Восстановите формулу вычисления у для произвольного значения X.
7. Для заданного количества суток (tƒh) требуется определить количество часов (h), минут (m) и секунд (с).
8. Известно, что 1 миля = 7 вёрст, 1 верста = 500 саженей, 1 сажень = 3 аршина, 1 аршин = 28 дюймов, 1 дюйм = 25,4 мм. Пользуясь этой информацией, составьте линейный алгоритм перевода расстояния X миль в километры.
9. Исходное данное — целое трёхзначное число х. Выполните для х = 125 следующий алгоритм.
а:=х div 100
b:=x mod 100 div 10
с: =х mod 10
s:=a+b+c
Какой смысл имеет результат s этого алгоритма?
10. Определите значение целочисленных переменных x и y после выполнения алгоритма.
11. Какие алгоритмы называют разветвляющимися?
12. Приведите пример разветвляющегося алгоритма:
а) из повседневной жизни;
б) из литературного произведения;
в) из любой предметной области, изучаемой в школе.
13. Дополните алгоритм из примера 9 так, чтобы с его помощью можно было найти наибольшую из четырёх величин А, В, С и D.
14. Составьте алгоритм, с помощью которого можно определить, существует ли треугольник с длинами сторон а, b, с.
15. Составьте алгоритм, с помощью которого можно определить, является ли треугольник с заданными длинами сторон а, b, с равносторонним.
16. Составьте алгоритм возведения чётного числа в квадрат, а нечётного — в куб.
17. Какая задача решается с помощью следующего алгоритма?
18. Составьте блок-схему алгоритма определения количества чётных чисел среди заданных целых чисел А, Б и С.
19. Составьте блок-схему алгоритма определения принадлежности точки X отрезку [А, B] (пример 8) с использованием комбинации из двух ветвлений.
20. Составьте блок-схему алгоритма правописания приставок, оканчивающихся на букву «з».
21. Известно, что 31 января 2011 года было понедельником. Какие значения должны быть присвоены литерной переменной у в алгоритме, определяющем день недели для произвольного числа (chislo) января 2011 года?
22. Даны две точки на плоскости. Определите, какая из них находится ближе к началу координат.
23. Определите, есть ли среди цифр заданного целого трёхзначного числа одинаковые.
24. Приведите пример циклического алгоритма:
а) из повседневной жизни;
б) из литературного произведения;
в) из любой предметной области, изучаемой в школе.
25. Напишите алгоритм, под управлением которого Робот обойдёт прямоугольную область, обнесённую стеной, по периметру и закрасит угловые клетки. Размеры области неизвестны.
26. Запас рыбы в пруду оценён в А тонн. Ежегодный прирост рыбы составляет 15%. Ежегодный план отлова — В тонн. Наименьший запас рыбы составляет С тонн. (Запас ниже С тонн уже не восстанавливается.) Составьте блок-схему алгоритма для подсчёта количества лет, в течение которых можно выдерживать заданный план.
28. Составьте алгоритм для определения количества цифр в записи произвольного натурального числа.
29. Сумма 10 000 рублей положена в сберегательный банк, при этом прирост составляет 5% годовых. Составьте алгоритм, определяющий, через какой промежуток времени первоначальная сумма увеличится в два раза.
30. Одноклеточная амёба каждые три часа делится на 2 клетки. Составьте алгоритм вычисления времени, через которое будет X амёб.
31. Определите значения переменных n и m после выполнения алгоритма.
32. Составьте алгоритм нахождения произведения z двух натуральных чисел х и у без использования операции умножения.
33. Население города Н увеличивается на 5% ежегодно. В текущем году оно составляет 40 000 человек. Составьте блок-схему алгоритма вычисления предполагаемой численности населения города через 3 года. Составьте таблицу значений переменных, задействованных в алгоритме.
34. Каждая бактерия делится на две в течение 1 минуты. В начальный момент имеется одна бактерия. Составьте блок-схему алгоритма вычисления количества бактерий через 10 минут. Исполните алгоритм, фиксируя каждый его шаг в таблице значений переменных.
Электронное приложение к уроку
![]() | ![]() | ![]() |
| Файлы | Материалы урока | Ресурсы ЭОР |
Cкачать материалы урока










































