Босова Л. Л.
На этом уроке закрепляется ранее изученный материал. Рассказывается, что такое алгоритм, какие бывают данные и величины. Рассматриваются разновидности типов данных и их основные отличия. Изучается структура алгоритмов, а также такие базовые алгоритмические структуры и способы их записи, как следование, ветвление и цикл.
https://youtube.com/watch?v=OaFxji17nKk%3Frel%3D0
Урок начинается с рассмотрения этапов решения задач. Всего их шесть: постановка задачи, формализация задачи, построение алгоритма, составление программы на языке программирования, отладка и тестирование программы, проведение расчётов и анализ полученных результатов.
Исходя из этапов решения задач, можно сделать вывод, что программист должен уметь строить алгоритмы, знать языки программирования, а также уметь работать в соответствующей системе программирования. В основе всей работы лежит развитое алгоритмическое мышление.
Многие столетия разрабатывались алгоритмы для решения всё новых и новых классов задач, но само понятие алгоритма не имело точного математического определения.
В наше же время алгоритм — это последовательность команд управления каким-либо исполнителем.
Также в уроке рассматриваются величины. Величинами — это различные информационные объекты. К таким объектам относятся числа, символы, коды и так далее. Таким образом, алгоритмы работы с величинами — это алгоритмы, предназначенные для управления компьютером.
Любая величина имеет три основных свойства: имя, значение и тип. Процессор же различает величины по адресу ячеек памяти, в которых они хранятся.
Каждая величина имеет свой тип. К основным типам данных относятся целый, вещественный, логический и символьный типы. Типы данных различаются между собой по трём критериям: множество допустимых значение, множество допустимых операций, форма внутреннего представления.

Помимо всего вышесказанного, в уроке рассматриваются такие базовые структуры, как следование, ветвление и цикл.
Следование — это линейная последовательность действий.
Ветвление — это алгоритмическая альтернатива. Ветвление имеет две формы записи: полную и неполную.

Цикл — это повторение некоторой группы действий по условию. Существуют два типа цикла: цикл с предусловием (цикл-пока), цикл с постусловием (цикл-до).

Помимо базовых структур, в уроке рассматриваются и сложные структуры. Сложный алгоритм состоит из соединённых между собой базовых структур. Между собой эти структуры могут соединяться двумя способами: последовательным и вложенным.
§ 1. Объекты окружающего мира
Плакат «Техника безопасности»
Ссылки на ресурсы ЕК ЦОР
§ 2. Компьютерные объекты
Плакат «Как хранят информацию в компьютере»
§ 3. Отношения объектов и их множеств
Презентация «Отношения объектов и их множеств» (Open Document Format)
§ 4. Разновидности объектов и их классификация
Презентация «Разновидности объектов и их классификация» (Open Document Format)
§ 5. Системы объектов
Презентация «Системы объектов» (Open Document Format)
§ 6. Персональный компьютер как система
Плакат «Компьютер и информация»
§ 7. Как мы познаём окружающий мир
Текст «Славянский цифровой алфавит»
§ 8. Понятие как форма мышления
Презентация «Понятие как форма мышления» (Open Document Format)
§ 9. Информационное моделирование
Презентация «Информационное моделирование» (Open Document Format)
§ 10. Знаковые информационные модели
Презентация «Знаковые информационные модели» (Open Document Format)
§ 11. Табличные информационные модели
Презентация «Табличные информационные модели» (Open Document Format)
§ 12. Графики и диаграммы
Презентация «Графики и диаграммы» (Open Document Format)
§ 13. Схемы
Презентация «Схемы» (Open Document Format)
§ 14. Что такое алгоритм
Текст «О происхождении слова «алгоритм»
§ 15. Исполнители вокруг нас
Плакат «Управление и исполнители»
Свободное программное обеспечение
§ 16. Формы записи алгоритмов
Презентация «Формы записи алгоритмов» (Open Document Format)
§ 17. Типы алгоритмов
Презентация «Типы алгоритмов» (Open Document Format)
§ 18. Управление исполнителем Чертёжник
Презентация «Управление исполнителем чертёжник» (Open Document Format)
Работа 2. Работаем с объектами файловой системы
Работа 3. Повторяем возможности графического редактора – инструмента создания графических объектов
Работа 4. Повторяем возможности текстового процессора – инструмента создания текстовых объектов
Работа 5. Знакомимся с графическими возможностями текстового процессора
Работа 6. Создаём компьютерные документы
Работа 8. Создаём графические модели
Работа 9. Создаём словесные модели
Работа 10. Создаём многоуровневые списки
Работа 11. Создаём табличные модели
Работа 13. Создаём информационные модели – диаграммы и графики
Работа 14. Создаём информационные модели – схемы, графы и деревья
Работа 16. Создаём презентацию с гиперссылками
Работа 17. Создаём циклическую презентацию
В середине двадцатого века, американский учёный
Норберт Винер изучал разные технические и биологические системы. Он заметил,
что, несмотря на все их различия, они работают одинаково. В 1948 году вышла его
книга «Кибернетика, или управление и связь в животном и машине». Дата выхода
этой книги стала днём рождения науки об управлении – кибернетики.
· Что такое
управление?
· Что такое алгоритм
управления и обратная связь?
Посмотрим, как же работают разные системы управления.
Но сначала разберёмся, что же такое управление. Итак, управлением
называется воздействие на объект, с целью заставить его работать определённым
образом. При этом объект, на который оказывается воздействие, называется управляемым
объектом, а объект или система, который оказывает воздействие, называется управляющим
объектом или управляющей системой.

Схема управления
без обратной связи
Так, например, футболист бьёт по мячу,
чтобы он влетел в ворота. В этом случае управляющий объект – это футболист,
а управляемый – мяч. Управляющее воздействие – это удар
футболиста по мячу. Важно, что воздействие должно быть целенаправленным. В
нашем случае цель воздействия – это попадание мяча в ворота.
Управляющим объектом может быть человек,
группа людей, или какое-нибудь устройство, например компьютер. Управляемым
объектом тоже может быть любой предмет, устройство, человек, животное или
группа людей.
Водитель, управляя автомобилем, оказывает
на него различные управляющие воздействия, передавая ему таким образом целые
последовательности команд о том, каким образом тот должен двигаться. Последовательность
команд для управления объектом, которая приводит к поставленной цели,
называется управляющим алгоритмом. Важно, чтобы цель управления
была известна еще до начала управления. Так, водитель должен заранее знать куда
он должен добраться, чтобы
начать управлять автомобилем.
Есть простые алгоритмы
управления, которые состоят всего из одной команды. Например, команда «сидеть» собаке.
А есть более сложные алгоритмы, которые могут содержать ветвления, циклы или
даже рекурсию.
Например, сигнал будильника устанавливается на определённое время. То есть
условием подачи сигнала будет наступление определённого момента времени.
Для того, чтобы управление было эффективным,
управляющая система должна подавать команды для управления, учитывая при этом
свойства управляемого объекта. Например, чтобы передвинуть стул, нужно знать,
где он находится и нет ли каких-нибудь преград для этого перемещения. Для того,
чтобы управляющая система учитывала состояние управляемого объекта, существует обратная
связь. Так называется передача информации от управляемого объекта в
управляющую систему.

Схема управления с
обратной связью
Так, например, футболист знает, где
находится мяч и куда он должен попасть, прежде чем по нему ударить. Водитель
видит показания скорости и другой информации об автомобиле и управляет им так,
как считает нужным.
В наше время роль управляющей системы
часто выполняет компьютер, в программу которого заложена обработка всех
вариантов обратной связи.
Пример сразу нескольких таких процессов
управления – система «Умный дом». В ней компьютер получает сигналы о состоянии
объектов от множества датчиков. И в зависимости от состояния даёт команды
механизмам дома. Например, если сейчас тёмное время суток, а детектор движения
показал в комнате присутствие человека, компьютер даёт команду «включить
освещение». Или в определённое время дня компьютер даёт команду «открыть окна»,
пока температура в помещениях не достигнет определённого уровня. Часто
для того, чтобы облегчить труд человека, используют множество роботов под
управлением компьютеров. Например роботы-сварщики или роботы-упаковщики. Как
правило, они повторяют одну и ту же последовательность действий, то есть управляются
с помощью циклических управляющих алгоритмов.
· Управлением называется
воздействие на объект для того, чтобы заставить его работать определённым
образом.
· Алгоритм
управления
– это последовательность команд управления объектом, приводящая к достижению
заранее поставленной цели.
· Обратная связь – это передача
информации от управляемого объекта управляющей системе.
Презентация «Введение в курс информатики» (Open Document Format)
Глава 1. Информация и информационные процессы
§ 1.1. Информация и её свойства
Презентация «Информация и её свойства» (Open Document Format)
§ 1.2. Информационные процессы
Презентация «Информационные процессы» (Open Document Format)
§ 1.3. Всемирная паутина
Презентация «Всемирная паутина» (Open Document Format)
§ 1.4. Представление информации
Презентация «Представление информации» (Open Document Format)
§ 1.5. Двоичное кодирование
Презентация «Двоичное кодирование» (Open Document Format)
§ 1.6. Измерение информации
Презентация «Измерение информации» (Open Document Format)
Интерактивный тест по теме «Информация и информационные процессы»
Глава 2. Компьютер как универсальное устройство для работы с информацией
§ 2.1. Основные компоненты компьютера и их функции
Презентация «Основные компоненты компьютера и их функции» (Open Document Format)
§ 2.2. Персональный компьютер
Презентация «Персональный компьютер» (Open Document Format)
Ссылки на ресурсы ФЦИОР:
§ 2.3. Программное обеспечение компьютера
Презентация «Программное обеспечение компьютера» (Open Document Format)
§ 2.4. Файлы и файловые структуры
Презентация «Файлы и файловые структуры» (Open Document Format)
§ 2.5. Пользовательский интерфейс
Презентация «Пользовательский интерфейс» (Open Document Format)
Интерактивный тест по теме «Компьютер как универсальное устройство для работы с информацией»
Глава 3. Обработка графической информации
§ 3.1. Формирование изображения на экране монитора
Презентация «Формирование изображения на экране монитора» (Open Document Format)
§ 3.2. Компьютерная графика
Презентация «Компьютерная графика» (Open Document Format)
§ 3.3. Создание графических изображений
Презентация «Создание графических изображений» (Open Document Format)
Задания для практических работ
Интерактивный тест по теме «Обработка графической информации»
Глава 4. Обработка текстовой информации
§ 4.1. Текстовые документы и технологии их создания
Презентация «Текстовые документы и технологии их создания» (Open Document Format)
§ 4.2. Создание текстовых документов на компьютере
Презентация «Создание текстовых документов на компьютере» (Open Document Format)
§ 4.3. Форматирование текста
Презентация «Форматирование текста» (Open Document Format)
§ 4.4. Визуализация информации в текстовых документах
Презентация «Визуализация информации в текстовых документах» (Open Document Format)
§ 4.5. Инструменты распознавания текстов и компьютерного перевода
Презентация «Инструменты распознавания текстов и компьютерного перевода» (Open Document Format)
§ 4.6. Оценка количественных параметров текстовых документов
Презентация «Оценка количественных параметров текстовых документов» (Open Document Format)
Четвёртое поколение ЭВМ.rtf
Интерактивный тест по теме «Обработка текстовой информации»
Глава 5. Мультимедиа
§ 5.1. Технология мультимедиа
Презентация «Технология мультимедиа»
§ 5.2. Компьютерные презентации
Презентация «Компьютерные презентации»
Урок 1. Что изучает информатика. Правила гигиены и техники безопасности при работе на компьютере
Урок 2. Информация, её свойства и классификация
Информация и ее свойства
Урок 4. Информационные процессы
Информационные процессы: сбор и обработка информации
Информационные процессы: хранение и передача информации
Урок 5. Кодирование информации. Двоичный код
Урок 6. Единицы измерения информации
Урок 3. Основные компоненты компьютера и их функции
Урок 7. Программное обеспечение компьютера
Программное обеспечение компьютера. Часть 1
Программное обеспечение компьютера. Часть 2
Урок 8. Файл и файловая система
Урок 9. Основы информационной безопасности и защиты информации
Урок 10. Формирование изображения на экране компьютера
Урок 11. Растровая графика
Урок 12. Векторная графика
Урок 13. Текстовые документы и оценка их количественных параметров
Урок 14. Создание текстовых документов на компьютере
Структурирование и визуализация информации в текстовых документах
Урок 15. Интеллектуальные возможности современных систем обработки текстов
Урок 16. Технология мультимедиа. Создание мультимедийной презентации
Урок 17. Итоговое обобщение и систематизация изученного за год материала
На прошлых уроках мы рассмотрели решение задач с
помощью компьютера и знаем, что одним из этапов решения любой задачи является
создание алгоритма. Мы уже создавали алгоритмы, но все они были достаточно
простыми. Но что делать, если для решения задачи простого алгоритма будет недостаточно?
Ведь более сложный алгоритм трудно придумать сразу.
Есть множество методов конструирования алгоритмов,
сегодня мы рассмотрим метод последовательного конструирования, также
этот способ имеет названия метод пошаговой детализации или метод разработки
сверху-вниз. Особенность данного метода состоит в том, что на первом этапе мы записываем
алгоритм для исполнителя, который всё знает и всё умеет, то есть нам
достаточно определить исходные и результирующие данные и записать алгоритм в
виде единого предписания или команды.
Далее, если исполнитель уже может выполнить данный
алгоритм в рамках его системы команд, то алгоритм задают исполнителю именно в
таком виде. Если же нет – алгоритм разбивают на несколько команд, каждая из
которых проще основного алгоритма. Если какие-то из команд алгоритма выходят
за рамки системы команд исполнителя их тоже разбивают на более простые. Так
происходит до тех пор, пока все команды алгоритма не входят в систему команд
исполнителя.
После этого нам остаётся объединить все команды и
предписания в определённом порядке. Составить из них алгоритм.
Для примера разработаем алгоритм для нахождения
среднего арифметического последовательности чисел. Вспомним, что средним
арифметическим нескольких чисел называется их сумма, поделённая на их
количество.
Данный алгоритм можно разбить на подзадачи, первая из
которых – найти сумму элементов последовательности, а вторая – разделить эту
сумму на количество элементов.
Алгоритм нахождения суммы элементов массива мы уже
знаем и можем записать. Разделить эту сумму на количество элементов тоже не
составляет никакого труда. Нужно лишь объединить алгоритмы решения данных
подзадач.
Рассмотрим ещё один пример нисходящей разработки
алгоритма. Вы уже знакомы с исполнителем «Робот», рабочим полем которого
является поле из клеток, между которыми могут быть стены. У Робота есть 5
основных команд, четыре из которых – команды перемещения: вверх, вниз,
вправо, влево. И ещё есть команда «закрасить», по которой Робот закрашивает
клетку, в которой находится.
Также Роботу можно задать для исполнения разветвляющийся
алгоритм, структура условного оператора при этом будет следующей: сначала
идёт служебное слово «если», затем идёт одно из условий, после которого
идёт слово «то», ниже записывается последовательность команд, если
условие выполняется. Затем записывается слово «иначе» и
последовательность команд для случая, если условие не выполняется. В конце
записывается служебное слово «всё».
Также можно задать и циклически алгоритм. При
его записи сначала идут служебные слова «нц» и «пока», а после
них записывается одно из условий. Ниже записывается последовательность команд,
которая будет повторяться, пока условие выполняется. Заканчивается оператор
цикла служебным словом «кц»
Исполнитель
«Робот» может использовать простые условия:
Из них можно делать составные условия, используя
логические операции «И», «ИЛИ» и «НЕ».
Задача: Робот находится
где-то в середине прямоугольного поля без стен. Необходимо, чтобы он закрасил
все угловые клетки. Клетки можно закрашивать в любом порядке. Мы начнём с левой
верхней и пойдём по часовой стрелке.
Очевидно, что общую
задачу «Закрасить все угловые клетки» можно разбить на более простые
подзадачи:
1. Переместиться
в левую верхнюю клетку.
3. Переместиться
в правую верхнюю клетку.
5. Переместиться
в правую нижнюю клетку.
7. Переместиться
в левую нижнюю клетку.
Обратим внимание что подзадачи по закраске клеток уже
соответствуют системе команд исполнителя «Робот», а значит, дальнейшее их
упрощение не требуется. А подзадачи, связанные с перемещением, ещё нужно
уточнить.
Подзадачу «Переместиться в левую верхнюю клетку»
можно разбить на две подзадачи. « Переместиться в верхний ряд» и «Переместиться
в левый ряд», которые можно перефразировать в соответственно «пока
сверху свободно – вверх» и «пока слева свободно – влево». Это уже
соответствует системе команд Робота. Обратим внимание, что эти две подзадачи
могут быть выполнены в другом порядке, сначала мы можем переместиться в левый
ряд, а затем в верхний. Все равно мы окажемся в левой верхней клетке.
Подзадачу «Переместиться в правую верхнюю клетку»
можно так же разбить на две подзадачи «Переместиться в верхний ряд» и «Переместиться
в правый ряд», но обратим внимание, что перед этим мы закрасили левую
верхнюю клетку, следовательно, Робот уже в верхнем ряду и первую подзадачу
выполнять не нужно. Остаётся лишь подзадача «Переместиться в правый ряд»,
её можно перефразировать «Пока справа свободно – вправо», что
соответствует системе команд исполнителя.
Подзадачу «Переместиться в правую нижнюю клетку»,
можно разбить на подзадачи: «Переместиться в правый ряд» и «Переместится
в нижний ряд». Но так, как до этого мы закрасили правую верхнюю клетку – то
Робот уже в правом ряду, и остаётся только «Переместиться в нижний ряд»,
что можно перефразировать «Пока снизу свободно – вниз», что
соответствует системе команд Робота.
Таким же образом подзадача «Переместиться в левую
нижнюю клетку» преобразуется в команду «Пока слева свободно – влево».

Схема
алгоритма решения задачи
Обратим внимание, что если мы будем закрашивать клетки
в другом порядке, то изменится и порядок решения подзадач. Теперь нам остаётся
лишь собрать последовательность команд воедино, записать алгоритм для Робота и
протестировать его.
Итак, в начале нам нужно записать цикл «пока сверху
свободно», внутри которого будет одна команда – «вверх». Затем цикл
«пока слева свободно», содержащий команду «влево». После данного
цикла нам нужно закрасить клетку. Далее последует цикл «Пока справа
свободно», содержащий команду «вправо», после чего снова закрасим
клетку. Теперь запишем цикл «пока снизу свободно», в котором будет
команда «вниз», и снова закрасим клетку. И наконец, запишем цикл
«пока слева свободно», который будет содержать команду «влево»,
после чего закрасим клетку.
Ожидаемым результатом будут закрашенные угловые клетки.
Запустим программу на выполнение. Убедимся, что фактический результат
соответствует ожидаемому, а значит – задача решена верно.
·
Метод последовательного конструирования алгоритма
состоит в последовательном разбиении задачи на более простые подзадачи, пока
все подзадачи не станут понятны исполнителю.
Видеоматериалы
Программное обеспечение компьютера. Системное ПО
Программное обеспечение компьютера. Системы программирования и прикладное ПО
Общие сведения о системах счисления
Двоичная система счисления. Двоичная арифметика
Восьмеричная система счисления
Шестнадцатеричная система счисления
Элементы алгебры логики
Свойства логических операций
Алгоритмы и исполнители
Способы записи алгоритмов
Алгоритмическая конструкция следование
Алгоритмическая конструкция ветвление. Часть 1.
Алгоритмическая конструкция ветвление. Часть 2.
Алгоритмическая конструкция повторение.
Цикл с заданным условием окончания работы
Моделирование как метод познания
Графические информационные модели
База данных как модель предметной области
Решение задач на компьютере
Одномерные массивы целых чисел. Pascal
Списки с целыми числами. Python
Pascal. Вычисление суммы элементов массива
Python. Вычисление суммы элементов списка
Последовательный поиск в массиве. Pascal
Последовательный поиск в массиве. Python
Сортировка массива. Pascal
Сортировка списка. Python
Запись вспомогательных алгоритмов на языке Pascal
Запись вспомогательных алгоритмов на языке Python
Организация вычислений в электронных таблицах
Средства анализа и визуализации данных
Информационная грамотность и информационная культура
Подходы к измерению информации
Информационные связи в системах различной природы
Представление чисел в позиционных системах счисления
Перевод чисел из одной позиционной системы в другую
Быстрый перевод чисел в компьютерных системах счисления
Представление чисел в компьютере
Кодирование текстовой информации
Кодирование графической информации
Кодирование звуковой информации
Некоторые сведения из теории множеств
Законы алгебры логики
Ввод и редактирование данных в электронных таблицах
Редактирование и форматирование в табличном процессоре
Встроенные функции и их использование
Запись алгоритмов на языках программирования
Структурированные типы данных. Массивы
Структурированные типы данных. Сортировка массивов
Модели и моделирование
Моделирование на графах
Системы управления базами данных
Основы построения компьютерных сетей
Информатика 11 класс. Как устроен Интернет