Начальный курс информатики. Часть 2. Учебное пособие
.pdf
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
ФГБОУ ВПО
«ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНЖЕНЕРНЫХ ТЕХНОЛОГИЙ»
В.А. ЛОПУШАНСКИЙ, А.С. БОРСЯКОВ,
В.В. ТКАЧ, С.В. МАКЕЕВ, Е.С. БУНИН
НАЧАЛЬНЫЙ КУРС ИНФОРМАТИКИ ЧАСТЬ 2
Утверждено редакционно-издательским советом университета
в качестве учебного пособия
ВОРОНЕЖ
2015
1
УДК 54 (002)
ББК В16Я7
Н36
Научный редактор профессор А.С. БОРСЯКОВ
Р е ц е н з е н т ы :
кафедра физико-математического моделирования и высшей математики Воронежского государственного технического университета;
д-р физ-мат. наук В.И. КУКУЕВ (Воронежский государственный университет)
Печатается по решению редакционно-издательского совета
Воронежского государственного университета инженерных технологий
Начальный курс информатики. В 2 ч. Часть 2. [Текст] : учеб.
Н36 пособие В. А. Лопушанский, А. С. Борсяков, В. В. Ткач [ и др.]. Воронеж. гос. ун-т инж. технол. - Воронеж: ВГУИТ, 2015. - 74 с.
ISBN 978-5-00032-116-4
|
Учебное |
пособие |
разработано |
для |
иностранных |
учащихс |
||
подготовительного |
факультета. |
Оно |
предназначено |
для |
закрепления |
|||
теоретического материала раздела курса «Информатика». |
|
|
|
|||||
Н |
1602040000 -18 |
Без объявл. |
|
|
УДК 54 (002) |
|
|
|
ОК2(03) - 2015 |
|
|
ББК В16Я7 |
|
|
|||
|
|
|
|
|
|
|||
ISBN 978-5-00032-116-4 (ч. 2) |
© |
Лопушанский В. А., |
|
|
||||
|
Борсяков А. С., Ткач В. В., |
|
|
|||||
|
|
|
|
|
|
|||
ISBN 978-5-00032-115-4-1 |
|
Макеев С.В., Бунин Е.С., 2015 |
|
|||||
© |
ФГБОУ ВПО «Воронеж. |
|
|
|||||
|
|
|
|
гос. ун-т инж. технол.», 2015 |
|
|||
Оригинал-макет данного издания является собственностью Воронежского государственного университета инженерных технологий, его репродуцирование (воспроизведение) любым способом без согласия университета запрещается.
2
1.АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ
1.1.Алгоритм и его свойства. Исполнитель
Алгоритм – понятное и точное предписание исполнителю выполнить конечную последовательность команд, приводящую от исходных данных к искомому результату.
Полный набор данных– необходимый и достаточный набор данных для решения поставленной задачи(получения искомого результата).
Исполнитель алгоритма – это объект или субъект, для управления которым составлен алгоритм. Исполнителя характеризует система команд исполнителя(СКИ) и среда его «обитания».
СКИ – это вся совокупность команд, которую может выполнить Исполнитель. Она считается полной, если содержит весь минимально-необходимый набор команд, позволяющий построить любой алгоритм в том классе зад, нач который
ориентирован Исполнитель. |
|
|
|
|
|
|
Среда |
исполнителя – |
обстановка, |
в |
которой |
||
функционирует исполнитель. |
|
|
|
|
|
|
Работа |
Исполнителя |
состоит |
в |
|
последовательном |
|
формальном |
выполнении |
команд |
|
алгоритма, что |
не |
|
предполагает анализа правильности их построения, а также |
||||||
результата выполнения. Отсюда следует вывод о возможности |
||||||
использования |
в качествеИсполнителей |
– автоматических |
|
|||
устройств. В |
частности, таким |
автоматическим исполнителем |
||||
алгоритмов по обработке информации является компьютер. Например, опишем исполнителя РОБОТ. Система команд
исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости может быть такой:
×вверх;
×вниз;
×влево;
×вправо.
3
При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →.
У исполнителя КАЛЬКУЛЯТОР две команды, которым присвоены номера:
1)прибавь 3;
2)умножь на 4.
Выполняя первую из них, КАЛЬКУЛЯТОР прибавляет к |
|
|||||||
числу на экране 3, а выполняя вторую, умножает его на 4. |
|
|
||||||
Свойства алгоритма: понятность, точность, конечность, |
|
|||||||
дискретность. |
|
|
|
|
|
|
|
|
Понятность |
алгоритма |
предполагает |
наличие |
в |
||||
алгоритме только тех команд, которые входят в СКИ. |
|
|
|
|||||
Точность |
алгоритма: всякая |
команда |
должна |
быть |
|
|||
сформулирована так, чтобы определить однозначное действие |
|
|||||||
исполнителя. |
|
|
|
|
|
|
|
|
Конечность: |
исполнение |
алгоритма |
и |
получение |
||||
искомого результата должно завершиться за конечное |
число |
|
||||||
шагов. |
Наличие |
этого свойства предупреждает ситуацию, |
|
|||||
которую |
называют «зацикливанием». Бесконечно |
исполняемый |
|
|||||
алгоритм безрезультатен. |
|
|
|
|
|
|
||
Дискретность: алгоритм представлен в виде отдельно |
|
|||||||
сформулированных команд. |
|
|
|
|
|
|
||
Примем следующие соглашения: если команда входит в |
|
|||||||
СКИ, но в сложившейся ситуации исполнения алгоритма она не |
|
|||||||
может |
быть |
выполнена, то |
это |
соответствует |
отклику |
|
||
Исполнителя «Не |
могу»; если |
Исполнителю предписывается |
|
|||||
алгоритмом выполнение команды не входящей в СКИ или |
|
|||||||
записанную с ошибкой, то его отклик - «Не понимаю». |
|
|
|
|||||
Способы записи алгоритмов
Словесная форма записи алгоритмов. Используются средства обычного языка, но с тщательно отобранным набором слов и фраз, не допускающих повторений, синонимов, двусмысленностей, лишних слов. Допускается использование математических символов. Заголовок алгоритма состоит из слу-
4
жебного слова алгоритм и названия алгоритма, тело алгоритма заключается между служебными словами начало и конец.
Графическая форма изображения алгоритма Схема - это графическое представление алгоритма,
дополненное элементами словесной записи. Каждый пункт алгоритма отображается на схеме некоторой геометрической
фигурой - |
блоком, |
причем различным по типу |
выполняемых |
действий |
блокам |
соответствуют различные |
геометрические |
фигуры, изображаемые в соответствии со стандартом.
Графические символы на схемах соединяются линиями потока информации. Основное направление потока информации идет сверху вниз и слева направо. Вот так выглядят (табл. 1) условные графические обозначения некоторых действий:
|
|
|
|
|
Таблица 1 |
№ |
Название символа |
|
Символ |
Отображаемая функция |
|
символа |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Блок вычислений |
|
|
|
Вычислительное действие или |
|
|
|
|
||
1 |
|
|
|
последовательность |
|
(процесс) |
|
|
|
||
|
|
|
|
вычислительных действий |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Логический блок |
|
|
|
Выбор направления выполнения |
2 |
|
|
|
алгоритма в зависимости от |
|
(решение) |
|
|
|
||
|
|
|
|
некоторых условий |
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
Блоки ввода- |
|
|
|
Общее обозначение ввода или |
вывода |
|
|
|
вывода данных |
|
|
|
|
|
||
|
|
|
|
|
|
4 |
Начало - конец |
|
|
|
Начало или конец программы |
(вход - выход) |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
5
1.2. Способы организации действий Исполнителя
Алгоритмические конструкции Существуют три способа организации действий Исполни-
теля: следование, ветвление, циклы. |
|
|
|
Следование |
- это способ организации действий, при |
||
котором команды следуют одна за другой, последовательно, |
|||
образуя так называемую серию команд. |
|
|
|
Порядок |
выполнения: |
команды |
выполняются |
последовательно; |
каждая следующая |
команда |
выполняется |
только после выполнения предыдущей.
Особенностью выполнения данной конструкции(рис. 1)
является тот факт, что следование команд в серии определяется составителем алгоритма и на этапе выполнения не меняется. Это
означает, что сначала |
выполняется, например, команда 2, а |
||||||
потом команда 3. |
|
|
|
|
|
|
|
Алгоритмическая конструкция - линейная. |
|||||||
|
|
|
|
|
|
|
|
|
Словесная форма |
|
|
Блок-схема |
|||
|
|
|
|
|
|
|
|
|
Команда 1; |
|
|
|
|
|
|
|
|
|
Команда 1 |
|
|
||
|
|
|
|
|
|
|
|
|
Команда 2; |
|
|
|
|
|
|
|
|
|
Команда 2 |
|
|
||
|
|
|
|
|
|
|
|
|
Команда 3; |
|
|
|
|
|
|
|
|
|
Команда 3 |
|
|
||
|
- - - - - - - - |
|
|
|
|
||
|
|
|
|
|
|
||
|
Команда i; |
|
|
|
|
|
|
|
- - - - - - - - |
|
|
Команда i |
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 1. |
Запись |
конструкции |
|
|||
Пример 1. |
Используя |
возможностиИсполнителя |
|||||
«Построитель», записать алгоритм построения окружности, для которой заданный отрезок АВ является диаметром.
6
СКИ Построителя:
1) провести отрезок прямой между двумя данными точками;
2)установить раствор циркуля, равный длине данного отрезка;
3)установить ножку циркуля в данную точку;
4)провести окружность;
5)отметить общие точки двух линий(пересечения или касания).
Решение. Воспользуемся известным из геометрии решением этой задачи. Организация действий исполнителя – следование, используем линейную алгоритмическую конструкцию.
1.Словесная форма описания алгоритма ОКРУЖНОСТЬ.
Начало:
1) установить ножку циркуля в т. А;
2)установить раствор циркуля, равный длине отрезка АВ;
3)провести окружность;
4)установить ножку циркуля в т. В;
5)провести окружность;
6)отметить точки пересечения окружностей: т. С и т. D;
7)провести отрезок ПРЯМОЙ между точками С и D;
8)отметить точку пересечения АВ и CD: т. О;
9)установить раствор циркуля, равный длине отрезка ОВ;
10)провести окружность с центром в т. О;
конец.
2. На рис. 2 дана блок-схема.
Ветвление – это способ организации действий, при котором выполняется та или другая серия команд в зависимости от условия.
Введем понятие «серия команд». |
|
|
|
||
Серия |
команд – последовательность |
действий, |
выпол- |
||
няемая исполнителем как единое целое. |
|
|
|
||
Порядок |
выполнения: на |
первом |
шаге |
|
проверяется |
условие. Если оно истинно, то выполняется серия 1, |
и на этом |
||||
выполнение команды ветвления заканчивается. Если условие ложно, то выполняется серия команд2 и на этом выполнение команды ветвления заканчивается (рис. 3).
7
Начало
Установить ножку циркуля в т. А
Установить раствор циркуля, равный длине отрезка АВ
Провести окружность
Установить ножку циркуля в т. В
Провести окружность
Отметить точки пересечения окружностей: т. С и т. D
Отметить точку пересечения АВ и CD: и т. О
Установить раствор циркуля, равный длине отрезка ОВ
Провести окружность с центром в т. О
Конец
Рис. 2. |
Форма описания алгоритма |
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Словесная форма |
|
|
|
|
|
|
Блок-схема |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
если <условие> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Да |
|
|
|
|
Нет |
|
|
||||
то <серия 1> |
|
|
|
|
|
|
||||||||
иначе<серия 2> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Условие |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Серия 1 |
|
|
|
|
|
Серия 2 |
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 3. Запись полной конструкции
8
Особенностью выполнения команды является то, что из двух предложенных серий команд обязательно будет выполнена только одна: либо первая, либо вторая. Ни при каких условиях не могут быть выполнены обе.
Серия 2 может отсутствовать и тогда конструкция ветвления является сокращенной (рис. 4). В этом случае, если условие окажется ложным, никакие действия не выполняются.
Алгоритмическая конструкция - ветвление.
Словесная форма |
Блок-схема |
|||
|
|
|
|
|
если <условие> |
|
|
|
|
то <серия 1>; |
|
|
|
|
Да |
|
Нет |
|
|
|
|
|
||
|
|
|
|
|
Условие |
Серия 1 |
Рис. 4. Запись сокращенной конструкции
Пример 2. Ориентируясь на Исполнителя-человека, написать алгоритм «Одеться по погоде». Если на улице температура ниже нуля градусов, то необходимо надеть шубу, иначе - куртку.
Решение.
1. Словесная форма описания алгоритма ПОГОДА.
Начало:
1)определить температуру воздуха;
2)если холодно, то надеть шубу, иначе надеть куртку;
конец.
2. Описание алгоритма (рис. 5)
9
Начало
Определить температуру воздуха
|
|
Да |
|
|
|
|
|
|
Нет |
|
|
|
|
|
|
Темп. |
|
|
|
||
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|||||
|
|
|
|
|
|
ниже нуля |
|
|||
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Надеть шубу |
|
|
|
|
|
|
Надеть куртку |
|||
|
|
|
|
|
|
|
|
|
|
|
Конец Рис. 5. Описание алгоритма
Цикл – это способ организации действий, при котором
одна и та |
же серия |
команд выполняется |
неоднократно. |
||
Количество повторений зависит от условия. |
|
|
|||
Порядок |
выполнения: |
на |
первом |
шаге |
проверяется |
условие. Если оно истинно, то выполняется серия команд, составляющая тело цикла и далее опять - проверка условия и т.д. Повторение выполнения тела цикла происходит до тех пор, пока условие истинно. Если условие ложно, то происходит выход из цикла.
Алгоритмическая конструкция – цикл.
Особенности выполнения: серия команд, составляющая тело цикла выполняется как единое целое, от первой команды до последней, и только на следующем шаге проверяется условие входа в цикл. Условие определяет количество повторений. Если оно ложно с самого начала исполнения команды цикла, то количество повторений будет равно0. Условие и серия команд (тело цикла) должны формироваться таким образом, чтобы избежать ситуации зацикливания, бесконечного выполнения тела цикла (рис. 6).
10
